aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-05-14trans.c (trans_code): Set backend locus early.Jakub Jelinek5-3/+15
* trans.c (trans_code): Set backend locus early. * trans-decl.c (gfc_get_fake_result_decl): Use source location of the function instead of current input_location. * gfortran.dg/gomp/pr44036-1.f90: Adjust. From-SVN: r159388
2010-05-14Fix long linesEric Botcazou1-9/+13
From-SVN: r159386
2010-05-14call.c (build_new_method_call): Change warning text.Jonathan Wakely3-3/+8
2010-05-14 Jonathan Wakely <jwakely.gcc@gmail.com> * call.c (build_new_method_call): Change warning text. * typeck2.c (build_functional_cast): Change error text. From-SVN: r159385
2010-05-14re PR c++/30566 (-Wshadow warns about clashes between nested function ↵Shujing Zhao6-22/+129
parameters in C++) gcc/cp/ 2010-05-14 Shujing Zhao <pearly.zhao@oracle.com> PR c++/30566 * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about shadowing the outer parameter or variables by the declaration of nested function in nested structure or class. Warn the shadowing by the declaration of nested lambda expression. gcc/testsuite/ 2010-05-14 Shujing Zhao <pearly.zhao@oracle.com> PR c++/30566 * testsuite/g++.dg/warn/Wshadow-4.C: Adjust. * testsuite/g++.dg/warn/Wshadow-5.C: New test. * testsuite/g++.dg/warn/Wshadow-6.C: New test. From-SVN: r159383
2010-05-14re PR target/44075 (__builtin_eh_return miscompiled)Alan Modra2-2/+21
PR target/44075 * config/rs6000/rs6000.c (struct machine_function): Reorder fields for better packing. Add lr_save_state. (rs6000_ra_ever_killed): Return lr_save_state if set. (rs6000_emit_eh_reg_restore): Set lr_save_state. From-SVN: r159382
2010-05-14Daily bump.GCC Administrator1-1/+1
From-SVN: r159381
2010-05-13typeck.c (cp_build_array_ref): Factor out from...Jason Merrill6-11/+30
* typeck.c (cp_build_array_ref): Factor out from... (build_array_ref): ...here. Drop complain parm. (build_new_op): Adjust. * class.c (build_vtbl_ref_1): Adjust. * decl2.c (grok_array_decl): Adjust. * cp-tree.h: Adjust prototypes. From-SVN: r159377
2010-05-13* decl.c (cp_finish_decl): Do not worry about used attribute.Jan Hubicka2-4/+4
From-SVN: r159372
2010-05-13varpool.c (decide_is_variable_needed): Drop code checking ↵Jan Hubicka2-7/+5
TREE_SYMBOL_REFERENCED. * varpool.c (decide_is_variable_needed): Drop code checking TREE_SYMBOL_REFERENCED. From-SVN: r159371
2010-05-13final.c (output_addr_const): Do not call mark_decl_referenced.Jan Hubicka3-11/+9
* final.c (output_addr_const): Do not call mark_decl_referenced. * cgraphunit.c (process_function_and_variable_attributes): Use mark_needed_node dirrectly. (assemble_thunk): Do not call mark_decl_referenced. From-SVN: r159370
2010-05-13* targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.Anatoly Sokolov2-1/+5
From-SVN: r159369
2010-05-13ira-conflicts.c (print_allocno_conflicts): New function broken out from...Jeff Law2-50/+60
* ira-conflicts.c (print_allocno_conflicts): New function broken out from... (print_conflicts): Call print_allocno_conflicts. From-SVN: r159368
2010-05-13re PR middle-end/44104 (New test failures)Jakub Jelinek2-1/+7
PR debug/44104 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die if it is NULL. From-SVN: r159367
2010-05-13re PR fortran/35779 (error pointer wrong in PARAMETER)Daniel Franke9-22/+42
gcc/fortran/: 2010-05-13 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag. Updated all usages. * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere. * array.c (match_array_list): Pass on gfc_init_expr_flag when matching iterators. gcc/testsuite/: 2010-05-13 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * gfortran.dg/initialization_25.f90: New. From-SVN: r159366
2010-05-13config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or ↵Kai Tietz4-2/+24
t-mingw-w32 for multilib configuration. 2010-05-13 Kai Tietz <kai.tietz@onevision.com> * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or t-mingw-w32 for multilib configuration. * config/i386/t-mingw-w32: New. * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib. From-SVN: r159364
2010-05-13gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to ↵Martin Jambor7-52/+317
gimple-fold.c). 2010-05-13 Martin Jambor <mjambor@suse.cz> * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to gimple-fold.c). * gimple-fold.c (get_base_binfo_for_type): New function. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_known_binfo): Likewise. (gimple_fold_obj_type_ref): Likewise. (fold_gimple_call): Simplify condition for folding virtual calls and call gimple_fold_obj_type_ref. * gimple.h (gimple_get_relevant_ref_binfo): Declare. (gimple_fold_obj_type_ref_known_binfo): Likewise. * testsuite/g++.dg/otr-fold-1.C: New test. * testsuite/g++.dg/otr-fold-2.C: New test. From-SVN: r159362
2010-05-13re PR fortran/44036 (I can't declare an external function in an OMP shared ↵Jakub Jelinek7-2/+84
statement.) PR fortran/44036 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause variable lists. * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize by reference dummy procedures or non-dummy procedure pointers. (gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures. * gfortran.dg/gomp/pr44036-1.f90: New test. * gfortran.dg/gomp/pr44036-2.f90: New test. * gfortran.dg/gomp/pr44036-3.f90: New test. From-SVN: r159361
2010-05-13* config/rs6000/rs6000-protos.hAndreas Schwab3-9/+17
(rs6000_mode_dependent_address_ptr): Change argument to const_rtx. * config/rs6000/rs6000.c (rs6000_mode_dependent_address) (rs6000_debug_mode_dependent_address) (rs6000_mode_dependent_address_ptr): Likewise. From-SVN: r159359
2010-05-13Fix formatting nitsEric Botcazou1-3/+2
From-SVN: r159358
2010-05-13re PR debug/43983 (var-tracking needlessly throws away location info for ↵Jakub Jelinek7-50/+532
SRAed vars) PR debug/43983 * var-tracking.c (track_expr_p): Allow tracking of variables optimized by SRA. * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H). * tree-sra.c (create_access_replacement): Call unshare_expr before passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it. * dwarf2out.c: Include tree-flow.h. (struct var_loc_node): Rename var_loc_note field to loc, add comment. (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): Handle DW_OP_bit_piece. (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node, construct_piece_list, adjust_piece_list): New functions. (add_var_loc_to_decl): Handle SRA optimized variables. Adjust for var_loc_note to loc field renaming. (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl in VAR_LOCATION note. (new_loc_descr_op_bit_piece): New function. (dw_sra_loc_expr): New function. (dw_loc_list): Use it. Don't handle the last range after the loop, handle it inside of the loop. Adjust for var_loc_note to loc field renaming. (add_location_or_const_value_attribute): Only special case single entry loc lists if loc is NOTE_P. Adjust for var_loc_note to loc field renaming. (dwarf2out_var_location): Don't set newloc->var_loc_note and newloc->next here. * gcc.dg/guality/sra-1.c: New test. From-SVN: r159357
2010-05-13tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.Andreas Schwab2-2/+7
* tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED. From-SVN: r159356
2010-05-13cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.Jan Hubicka9-5/+68
* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag. * cgraph.h (cgraph_only_called_directly_p, cgraph_can_remove_if_no_direct_calls_p): test address_taken flag. (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function. * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken. (assemble * ipa.c (cgraph_remove_unreachable_nodes): Use cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags. * tree-inline.c (copy_bb): Check address_taken flag. * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and externally_visible flag. * tree-ssa/unreachable.c: New test. From-SVN: r159354
2010-05-13typeck.c (build_array_ref): Take complain parm.Jason Merrill8-16/+46
* typeck.c (build_array_ref): Take complain parm. * cp-tree.h: Add it to prototype. * call.c (build_new_op): Pass it. * class.c (build_vtbl_ref): Pass it. * decl2.c (grok_array_decl): Pass it. From-SVN: r159351
2010-05-13re PR bootstrap/44048 (building without C++ enabled fails)Jason Merrill16-54/+85
PR bootstrap/44048 PR target/44099 gcc/cp: * cp-tree.def (NULLPTR_TYPE): Remove. * cp-tree.h (NULLPTR_TYPE_P): New. (SCALAR_TYPE_P): Use it. (nullptr_type_node): New. (cp_tree_index): Add CPTI_NULLPTR_TYPE. * decl.c (cxx_init_decl_processing): Call record_builtin_type on nullptr_type_node. * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE. * cxx-pretty-print.c (pp_cxx_constant): Likewise. * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise. * mangle.c (write_type): Likewise. * name-lookup.c (arg_assoc_type): Likewise. * typeck.c (build_reinterpret_cast_1): Likewise. * rtti.c (typeinfo_in_lib_p): Likewise. (emit_support_tinfos): Remove local nullptr_type_node. gcc: * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling. * sdbout.c (plain_type_1): Likewise. * dwarf2out.c (is_base_type): Likewise. (gen_type_die_with_usage): Likewise. Generate DW_TAG_unspecified_type for any LANG_TYPE. From-SVN: r159350
2010-05-13cp-tree.h (UNKNOWN_TYPE): Remove.Jason Merrill9-14/+28
* cp-tree.h (UNKNOWN_TYPE): Remove. * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead. * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise. * typeck2.c (cxx_incomplete_type_diagnostic): Likewise. * class.c (instantiate_type): Check unknown_type_node rather than UNKNOWN_TYPE. * name-lookup.c (maybe_push_decl): Likewise. * rtti.c (get_tinfo_decl_dynamic): Likewise. (get_typeid): Likewise. * semantics.c (finish_offsetof): Likewise. From-SVN: r159349
2010-05-13Daily bump.GCC Administrator1-1/+1
From-SVN: r159348
2010-05-12cgraphbuild.c (build_cgraph_edges, [...]): Build indrect edges too.Jan Hubicka7-480/+185
* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build indrect edges too. * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument. (cgraph_clone_edge): Update. (cgraph_node_remove_callees): Remove indirect calls too. * cgraph.h (cgraph_indirect_call_info): Add ecf_flags. (cgraph_create_indirect_edge): Update prototype. * ipa-reference.c (has_proper_scope_for_analysis): Rename to is_proper_for_analysis. (add_new_function, visited_nodes, function_insertion_hook_holder, get_local_reference_vars_info, mark_address_taken, mark_address, mark_load, mark_store, check_asm_memory_clobber, check_call, scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove. (ipa_init): Do not initialize visited_nodes; function_insertion_hook_holder. (analyze_variable): Rewrite. (analyze_function): Rewrite. (copy_local_bitmap): Remove. (duplicate_node_dat): Do not duplicate local info. (generate_summary): Simplify to only walk cgraph. (write_node_summary_p, ipa_reference_write_summary, ipa_reference_read_summary): Remove. (propagate): Do not remove function insertion; generate summary. (pass_ipa_reference): NULLify summary handling fields. * lto-cgraph.c (lto_output_edge): Output ecf_flags. (input_edge): Input ecf_flags. * ipa-prop.c (ipa_note_parm_call): Expect edge to be around. (update_indirect_edges_after_inlining): Ignore edges with unknown param. From-SVN: r159343
2010-05-12implicit-zee.c: New file.Sriraman Tallam10-1/+1049
* implicit-zee.c: New file. * tree-pass.h (pass_implicit_zee): Declare. * passes.c (init_optimization_passes): Add zee pass. * common.opt (fzee): New flag. * timevar.def (TV_ZEE): Define. * config/i386/i386.c (optimization_options): Turn on ZEE for level 2 and beyond. * Makefile.in (implicit-zee.o): Add new build file. * gcc.target/i386/zee.c: New file. From-SVN: r159342
2010-05-12c-common.c (sync_resolve_params): Remove write-only variable.Kazu Hirata2-3/+5
* c-common.c (sync_resolve_params): Remove write-only variable. Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com> From-SVN: r159340
2010-05-12target.h (struct gcc_target): Add mode_dependent_address_p field.Anatoly Sokolov8-9/+67
* target.h (struct gcc_target): Add mode_dependent_address_p field. * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New. (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P. * targhooks.c (default_mode_dependent_address_p): New function. * targhooks.h (default_mode_dependent_address_p): Declare function. * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New. (GO_IF_MODE_DEPENDENT_ADDRESS): Update. * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p target hook. Change return type to bool. * recog.h: (mode_dependent_address_p): Change return type to bool. From-SVN: r159339
2010-05-12re PR c++/20669 (Template candidates not listed in error message.)Jason Merrill66-84/+169
PR c++/20669 * call.c (add_template_candidate_real): If deduction fails, still add the template as a non-viable candidate. (equal_functions): Handle template candidates. (print_z_candidate): Likewise. (print_z_candidates): Likewise. (build_new_function_call): Likewise. From-SVN: r159335
2010-05-12cp-tree.h (LOOKUP_LIST_ONLY): New.Jason Merrill5-24/+102
* cp-tree.h (LOOKUP_LIST_ONLY): New. * call.c (add_candidates): Enforce it. (build_new_method_call): Try non-list ctor if no viable list ctor. (build_user_type_conversion_1): Likewise. From-SVN: r159334
2010-05-12call.c (add_candidates): Distinguish between type(x) and x.operator type().Jason Merrill6-4/+35
* call.c (add_candidates): Distinguish between type(x) and x.operator type(). (convert_class_to_reference): Set LOOKUP_NO_CONVERSION. (build_new_method_call): Give better error for conversion op. From-SVN: r159333
2010-05-12call.c (add_candidates): Add first_arg and return_type parms.Jason Merrill4-215/+160
* call.c (add_candidates): Add first_arg and return_type parms. Add special constructor/conversion op handling. (convert_class_to_reference): Use it. (build_user_type_conversion_1): Likewise. (build_op_call): Likewise. (build_new_method_call): Likewise. (build_new_op): Adjust. (perform_overload_resolution): Adjust. From-SVN: r159332
2010-05-12tree-mudflap.c (build_function_type_0, [...]): Remove.Kazu Hirata2-28/+13
* tree-mudflap.c (build_function_type_0, build_function_type_1, build_function_type_2, build_function_type_3): Remove. (mudflap_init): Use build_function_type_list. Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com> From-SVN: r159328
2010-05-12coverage.c (build_fn_info_value): Call build_constructor instead of ↵Kazu Hirata2-69/+57
build_constructor_from_list. * coverage.c (build_fn_info_value): Call build_constructor instead of build_constructor_from_list. (build_ctr_info_value): Likewise. (build_gcov_info): Likewise. Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com> From-SVN: r159326
2010-05-12tree.c (build_constructor): Compute TREE_CONSTANT for the resultant constructor.Nathan Froyd2-17/+25
* tree.c (build_constructor): Compute TREE_CONSTANT for the resultant constructor. (build_constructor_single): Don't set TREE_CONSTANT. (build_constructor_from_list): Don't compute TREE_CONSTANT. From-SVN: r159325
2010-05-12cgraph.h (struct varpool_node): Add aux.Jan Hubicka9-62/+181
* cgraph.h (struct varpool_node): Add aux. * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes. * varpool.c (varpool_remove_node): Do not remove initializer. (varpool_reset_queue): Export. (varpool_finalize_decl): Volatile vars are forced to be output. * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of replaced decl. * ipa.c (enqueue_cgraph_node, enqueue_varpool_node, process_references, varpool_can_remove_if_no_refs): New functions. (cgraph_remove_unreachable_nodes): Handle variables too. From-SVN: r159321
2010-05-12Support AVX for cmpss/cmpsd.H.J. Lu9-0/+187
gcc/ 2010-05-12 H.J. Lu <hongjiu.lu@intel.com> PR target/44088 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New. gcc/testsuite/ 2010-05-12 H.J. Lu <hongjiu.lu@intel.com> PR target/44088 * gcc.target/i386/avx-cmpsd-1.c: New. * gcc.target/i386/avx-cmpsd-2.c: Likewise. * gcc.target/i386/avx-cmpss-1.c: Likewise. * gcc.target/i386/avx-cmpss-2.c: Likewise. * gcc.target/i386/sse-cmpss-1.c: Likewise. * gcc.target/i386/sse2-cmpsd-1.c: Likewise. From-SVN: r159319
2010-05-12re PR middle-end/44085 (OpenMP - untied task accesses threadprivate - ↵Jakub Jelinek5-8/+109
non-conforming but no msg) PR middle-end/44085 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK, change value of ORT_TASK. (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK. (omp_notice_threadprivate_variable): New function. (omp_notice_variable): Call it for threadprivate variables. If enclosing ctx is a task, print enclosing task rather than enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK. (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK if task has untied clause. * gcc.dg/gomp/pr44085.c: New test. * gfortran.dg/gomp/pr44085.f90: New test. From-SVN: r159316
2010-05-12re PR debug/42278 (incorrect dwarf data gcc-4.4.2)Jakub Jelinek2-8/+29
PR debug/42278 * dwarf2out.c (base_type_die): Don't add name attribute here. (modified_type_die): Instead of sizetype use its underlying original type. If a DW_TAG_base_type doesn't have name added, add __unknown__. (dwarf2out_imported_module_or_decl_1): Don't call base_type_die, always call force_type_die instead. From-SVN: r159315
2010-05-12Add this change, missed from the previous commit (but already in the Changelog).Iain Sandoe1-0/+2
From-SVN: r159314
2010-05-12decl.c (gnat_to_gnu_entity): Tidy up code, improve comments and fix ↵Eric Botcazou2-110/+104
formatting nits. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up code, improve comments and fix formatting nits. From-SVN: r159312
2010-05-12Add TLS checks to ObjCIain Sandoe18-4/+300
* objc-obj-c++-shared/Object1.m: New. * objc.dg/torture: New directory. * objc.dg/torture/tls: Ditto. * objc.dg/tls: Ditto. * objc.dg/torture/tls/trivial.m: New test. * objc.dg/torture/tls/thr-init-2.m: New test. * objc.dg/torture/tls/thr-init-3.m: New test. * objc.dg/torture/tls/thr-init.m: New test. * objc.dg/torture/tls/diag-1.m: New test. * objc.dg/torture/tls/tls.exp: New. * objc.dg/torture/trivial.m: New test. * objc.dg/torture/dg-torture.exp: New. * objc.dg/tls/diag-3.m: New test. * objc.dg/tls/diag-4.m: New test. * objc.dg/tls/diag-5.m: New test. * objc.dg/tls/init-1.m: New test. * objc.dg/tls/init-2.m: New test. * objc.dg/tls/tls.exp: New. * objc.dg/tls/diag-2.m: New test. * lib/objc.exp: Respond to dg-additional-files. From-SVN: r159311
2010-05-12targhooks.c (default_stack_protect_guard): Avoid sharing RTL for ↵Maxim Kuvyrkov4-0/+32
__stack_chk_guard. * targhooks.c (default_stack_protect_guard): Avoid sharing RTL for __stack_chk_guard. * gcc.target/m68k/20100512-1.c: New. From-SVN: r159310
2010-05-12utils.c (update_pointer_to): Return early if the old pointer already points ↵Eric Botcazou7-45/+141
to the new type. * gcc-interface/utils.c (update_pointer_to): Return early if the old pointer already points to the new type. Chain the old pointer and its variants at the end of new pointer's chain after updating them. From-SVN: r159309
2010-05-12* lto.c (materialize_cgraph): Revert my previous patch.Jan Hubicka2-3/+4
From-SVN: r159305
2010-05-12Daily bump.GCC Administrator1-1/+1
From-SVN: r159300
2010-05-11re PR c++/34272 (ICE with invalid template specialization)Paolo Carlini8-6/+66
/cp 2010-05-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/34272 PR c++/43630 PR c++/34491 * pt.c (process_partial_specialization): Return error_mark_node in case of unused template parameters in partial specialization. /testsuite 2010-05-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/34272 PR c++/43630 PR c++/34491 * g++.dg/template/crash97.C: New. * g++.dg/template/crash98.C: Likewise. * g++.dg/template/crash99.C: Likewise. * g++.dg/cpp0x/pr31439.C: Adjust. * g++.dg/template/crash95.C: Likewise. From-SVN: r159295
2010-05-11c-opts.c (c_common_parse_file): If start_end_main_source_file, don't call ↵Jakub Jelinek2-5/+20
start_source_file debug hook here... * c-opts.c (c_common_parse_file): If start_end_main_source_file, don't call start_source_file debug hook here... (finish_options): ... but here, after outputting predefined and command line defines and undefs. From-SVN: r159293