Jan Hubicka [Thu, 13 May 2010 17:49:49 +0000 (19:49 +0200)]
* decl.c (cp_finish_decl): Do not worry about used attribute.
From-SVN: r159372
Jan Hubicka [Thu, 13 May 2010 17:47:48 +0000 (19:47 +0200)]
varpool.c (decide_is_variable_needed): Drop code checking TREE_SYMBOL_REFERENCED.
* varpool.c (decide_is_variable_needed): Drop code checking
TREE_SYMBOL_REFERENCED.
From-SVN: r159371
Jan Hubicka [Thu, 13 May 2010 17:46:21 +0000 (19:46 +0200)]
final.c (output_addr_const): Do not call mark_decl_referenced.
* 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
Anatoly Sokolov [Thu, 13 May 2010 16:29:00 +0000 (20:29 +0400)]
* targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
From-SVN: r159369
Jeff Law [Thu, 13 May 2010 14:46:29 +0000 (08:46 -0600)]
ira-conflicts.c (print_allocno_conflicts): New function broken out from...
* ira-conflicts.c (print_allocno_conflicts): New function broken out
from...
(print_conflicts): Call print_allocno_conflicts.
From-SVN: r159368
Jakub Jelinek [Thu, 13 May 2010 14:24:36 +0000 (16:24 +0200)]
re PR middle-end/44104 (New test failures)
PR debug/44104
* dwarf2out.c (modified_type_die): Don't dereference mod_type_die
if it is NULL.
From-SVN: r159367
Daniel Franke [Thu, 13 May 2010 14:08:05 +0000 (10:08 -0400)]
re PR fortran/35779 (error pointer wrong in PARAMETER)
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
Kai Tietz [Thu, 13 May 2010 12:36:59 +0000 (12:36 +0000)]
config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or 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
Martin Jambor [Thu, 13 May 2010 12:19:02 +0000 (14:19 +0200)]
gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to 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
Jakub Jelinek [Thu, 13 May 2010 12:02:50 +0000 (14:02 +0200)]
re PR fortran/44036 (I can't declare an external function in an OMP shared 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
Andreas Schwab [Thu, 13 May 2010 11:39:28 +0000 (11:39 +0000)]
* config/rs6000/rs6000-protos.h
(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
Eric Botcazou [Thu, 13 May 2010 11:29:29 +0000 (11:29 +0000)]
Fix formatting nits
From-SVN: r159358
Jakub Jelinek [Thu, 13 May 2010 10:40:51 +0000 (12:40 +0200)]
re PR debug/43983 (var-tracking needlessly throws away location info for 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
Andreas Schwab [Thu, 13 May 2010 09:59:29 +0000 (09:59 +0000)]
tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
* tracebak.c (__gnat_backtrace): Mark top_stack with
ATTRIBUTE_UNUSED.
From-SVN: r159356
Jan Hubicka [Thu, 13 May 2010 06:13:46 +0000 (08:13 +0200)]
cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
* 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
Jason Merrill [Thu, 13 May 2010 05:05:21 +0000 (01:05 -0400)]
typeck.c (build_array_ref): Take complain parm.
* 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
Jason Merrill [Thu, 13 May 2010 05:04:46 +0000 (01:04 -0400)]
re PR bootstrap/44048 (building without C++ enabled fails)
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
Jason Merrill [Thu, 13 May 2010 05:04:14 +0000 (01:04 -0400)]
cp-tree.h (UNKNOWN_TYPE): Remove.
* 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
GCC Administrator [Thu, 13 May 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159348
Uros Bizjak [Wed, 12 May 2010 22:45:35 +0000 (00:45 +0200)]
leak_test.c (main): Declare as int.
* tests/leak_test.c (main): Declare as int. Return 0.
* tests/thread_leak_test.c (main): Ditto.
* tests/trace_test.c (main): Ditto.
From-SVN: r159344
Jan Hubicka [Wed, 12 May 2010 21:32:59 +0000 (23:32 +0200)]
cgraphbuild.c (build_cgraph_edges, [...]): Build indrect edges too.
* 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
Sriraman Tallam [Wed, 12 May 2010 21:15:19 +0000 (21:15 +0000)]
implicit-zee.c: New file.
* 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
Kazu Hirata [Wed, 12 May 2010 19:51:37 +0000 (19:51 +0000)]
c-common.c (sync_resolve_params): Remove write-only variable.
* c-common.c (sync_resolve_params): Remove write-only variable.
Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r159340
Anatoly Sokolov [Wed, 12 May 2010 19:08:31 +0000 (23:08 +0400)]
target.h (struct gcc_target): Add mode_dependent_address_p field.
* 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
Sriraman Tallam [Wed, 12 May 2010 18:48:15 +0000 (18:48 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r159338
Jason Merrill [Wed, 12 May 2010 17:34:55 +0000 (13:34 -0400)]
re PR c++/20669 (Template candidates not listed in error message.)
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
Jason Merrill [Wed, 12 May 2010 17:34:38 +0000 (13:34 -0400)]
cp-tree.h (LOOKUP_LIST_ONLY): New.
* 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
Jason Merrill [Wed, 12 May 2010 17:34:28 +0000 (13:34 -0400)]
call.c (add_candidates): Distinguish between type(x) and x.operator type().
* 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
Jason Merrill [Wed, 12 May 2010 17:34:15 +0000 (13:34 -0400)]
call.c (add_candidates): Add first_arg and return_type parms.
* 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
Kazu Hirata [Wed, 12 May 2010 15:53:39 +0000 (15:53 +0000)]
tree-mudflap.c (build_function_type_0, [...]): Remove.
* 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
Kazu Hirata [Wed, 12 May 2010 15:33:10 +0000 (15:33 +0000)]
coverage.c (build_fn_info_value): Call build_constructor instead of 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
Nathan Froyd [Wed, 12 May 2010 15:29:51 +0000 (15:29 +0000)]
tree.c (build_constructor): Compute TREE_CONSTANT for the resultant constructor.
* 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
Jan Hubicka [Wed, 12 May 2010 13:49:34 +0000 (15:49 +0200)]
cgraph.h (struct varpool_node): Add aux.
* 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
H.J. Lu [Wed, 12 May 2010 12:48:02 +0000 (12:48 +0000)]
Support AVX for cmpss/cmpsd.
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
Jakub Jelinek [Wed, 12 May 2010 12:11:00 +0000 (14:11 +0200)]
re PR middle-end/44085 (OpenMP - untied task accesses threadprivate - 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
Jakub Jelinek [Wed, 12 May 2010 12:08:34 +0000 (14:08 +0200)]
re PR debug/42278 (incorrect dwarf data gcc-4.4.2)
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
Iain Sandoe [Wed, 12 May 2010 11:57:43 +0000 (11:57 +0000)]
Add this change, missed from the previous commit (but already in the Changelog).
From-SVN: r159314
Eric Botcazou [Wed, 12 May 2010 11:27:24 +0000 (11:27 +0000)]
decl.c (gnat_to_gnu_entity): Tidy up code, improve comments and fix 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
Iain Sandoe [Wed, 12 May 2010 11:16:33 +0000 (11:16 +0000)]
Add TLS checks to ObjC
* 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
Maxim Kuvyrkov [Wed, 12 May 2010 11:05:19 +0000 (11:05 +0000)]
targhooks.c (default_stack_protect_guard): Avoid sharing RTL for __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
Eric Botcazou [Wed, 12 May 2010 10:59:38 +0000 (10:59 +0000)]
utils.c (update_pointer_to): Return early if the old pointer already points 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
Jan Hubicka [Wed, 12 May 2010 10:05:16 +0000 (12:05 +0200)]
* lto.c (materialize_cgraph): Revert my previous patch.
From-SVN: r159305
GCC Administrator [Wed, 12 May 2010 00:17:18 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159300
Paolo Carlini [Tue, 11 May 2010 20:53:36 +0000 (20:53 +0000)]
re PR c++/34272 (ICE with invalid template specialization)
/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
Jakub Jelinek [Tue, 11 May 2010 19:54:51 +0000 (21:54 +0200)]
c-opts.c (c_common_parse_file): If start_end_main_source_file, don't call 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
Kai Tietz [Tue, 11 May 2010 18:42:04 +0000 (18:42 +0000)]
lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to IMAGE_FILE_MACHINE_AMD64.
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
IMAGE_FILE_MACHINE_AMD64.
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
From-SVN: r159290
Jakub Jelinek [Tue, 11 May 2010 18:17:43 +0000 (20:17 +0200)]
re PR middle-end/44071 (ICE with asm goto and __builtin_unreachable())
PR middle-end/44071
* cfglayout.c (fixup_reorder_chain): Allow asm goto to have
no fallthru edge.
* cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
optimizing away empty bb with no successors, move over its
footer chain to fallthru predecessor.
* cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
(rtl_split_edge): For asm goto call patch_jump_insn even if
splitting fallthru edge.
* c-c++-common/asmgoto-4.c: New test.
* gcc.target/i386/pr44071.c: New test.
From-SVN: r159288
Jakub Jelinek [Tue, 11 May 2010 18:14:19 +0000 (20:14 +0200)]
re PR c++/44059 (Static initializers executed more than once when using unique global symbols)
PR c++/44059
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
* dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
on DW.ref.* decls.
From-SVN: r159287
Jakub Jelinek [Tue, 11 May 2010 18:12:28 +0000 (20:12 +0200)]
re PR c++/44062 ((void)var; doesn't prevent 'set but not used' warning)
PR c++/44062
* c-parser.c (c_parser_expression): Mark LHS of a comma
expression as read if it is a decl, handled component or
COMPOUND_EXPR with that on the RHS.
* c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
if it is a decl or handled component.
* semantics.c (finish_expr_stmt): Don't call mark_exp_read here...
* cvt.c (convert_to_void): ... but here. If expr is a COMPOUND_EXPR,
look at its second operand.
* c-c++-common/Wunused-var-7.c: New test.
* g++.dg/warn/Wunused-var-9.C: New test.
From-SVN: r159286
Daniel Franke [Tue, 11 May 2010 16:45:17 +0000 (12:45 -0400)]
re PR fortran/43711 (Unformitive error message for two NOWAIT in OpenMP directive)
gcc/fortran/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/43711
* openmp.c (gfc_match_omp_taskwait): Report unexpected characters
after OMP statement.
(gfc_match_omp_critical): Likewise.
(gfc_match_omp_flush): Likewise.
(gfc_match_omp_workshare): Likewise.
(gfc_match_omp_master): Likewise.
(gfc_match_omp_ordered): Likewise.
(gfc_match_omp_atomic): Likewise.
(gfc_match_omp_barrier): Likewise.
(gfc_match_omp_end_nowait): Likewise.
gcc/testsuite/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/43711
* gfortran.dg/gomp/pr43711.f90: New.
From-SVN: r159282
Jan Hubicka [Tue, 11 May 2010 16:27:31 +0000 (18:27 +0200)]
lto.c (lto_fixup_decls): Remove global var decls freeing here.
* lto.c (lto_fixup_decls): Remove global var decls freeing here.
(materialize_cgraph): Add it here.
From-SVN: r159281
Jan Hubicka [Tue, 11 May 2010 15:52:36 +0000 (17:52 +0200)]
lto-symtab.c (lto_symtab_free): New function.
* lto-symtab.c (lto_symtab_free): New function.
* lto-streamer.h (lto_symtab_free): Declare.
* lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
that if function is needed it is reachable.
(lto_output_node): See if it the function is reachable or referenced.
(output_cgraph): Update call of lto_output_node.
* lto-streamer.h (reachable_from_other_partition_p): Declare.
* lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
vector.
* lto.c (lto_1_to_1_map): Remove some no longer needed checks.
(lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
use reachable_from_other_partition_p and
referenced_from_other_partition_p test.
From-SVN: r159280
Jan Hubicka [Tue, 11 May 2010 15:44:26 +0000 (17:44 +0200)]
crtstuff.c (__JCR_LIST__, [...]): Mark as used.
* crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
Mark as used.
From-SVN: r159279
Daniel Franke [Tue, 11 May 2010 15:43:16 +0000 (11:43 -0400)]
re PR fortran/31820 (Warning if case label value exceeds maximum value for type)
gcc/fortran/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31820
* resolve.c (validate_case_label_expr): Removed FIXME.
(resolve_select): Raise default warning on case labels out of range
of the case expression.
gcc/testsuite/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31820
* gfortran.dg/select_5.f90: Updated.
From-SVN: r159278
Jan Hubicka [Tue, 11 May 2010 15:15:48 +0000 (17:15 +0200)]
re PR tree-optimization/44063 (build broken for libgcc cris-elf, ICE in cgraph_estimate_size_after_inlining, at ipa-inline)
PR tree-optimize/44063
* ipa-inline.c (cgraph_edge_badness): Move always inlines to top of queue.
(cgraph_decide_inlining_of_small_function): Skip check when disrgarding
limits.
(estimate_function_body_sizes): Compute sizes even when disregarding.
* gcc.c-torture/compile/pr44063.c: New testcase.
From-SVN: r159273
Kai Tietz [Tue, 11 May 2010 15:06:38 +0000 (15:06 +0000)]
collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
From-SVN: r159272
Kai Tietz [Tue, 11 May 2010 15:05:36 +0000 (15:05 +0000)]
lto-coff.c (validate_file): Add x64-coff support.
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* lto-coff.c (validate_file): Add x64-coff support.
* lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
(COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
* lto-lang.c (lto_build_c_type_nodes): Add check for
'long long unsigned int' for x64-windows.
(lto_init): Likewise.
From-SVN: r159271
Silvius Rus [Tue, 11 May 2010 10:23:20 +0000 (10:23 +0000)]
re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11 Silvius Rus <silvius.rus@gmail.com>
PR libstdc++/43259
* include/profile/impl/profiler_algos.h: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
* include/profile/impl/profiler_trace.h
(__mutex_t, __lock, __unlock): Remove.
(__lock_object_table, __lock_stack_table): Remove. Replace uses with
calls to __gnu_cxx::__mutex::lock.
(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
with calls to __gnu_cxx::__mutex::unlock.
(__warn, __cost_factor_writer, __cost_factor_setter): Add.
* testsuite/ext/profile/profiler_algos.cc: New.
From-SVN: r159269
Silvius Rus [Tue, 11 May 2010 10:22:18 +0000 (10:22 +0000)]
re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11 Silvius Rus <silvius.rus@gmail.com>
PR libstdc++/43259
* include/profile/impl/profiler_algos.h: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
* include/profile/impl/profiler_trace.h
(__mutex_t, __lock, __unlock): Remove.
(__lock_object_table, __lock_stack_table): Remove. Replace uses with
calls to __gnu_cxx::__mutex::lock.
(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
with calls to __gnu_cxx::__mutex::unlock.
(__warn, __cost_factor_writer, __cost_factor_setter): Add.
* testsuite/ext/profile/profiler_algos.cc: New.
From-SVN: r159268
Jan Hubicka [Tue, 11 May 2010 10:17:42 +0000 (12:17 +0200)]
lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes into every boundary.
* lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
into every boundary.
From-SVN: r159267
Jan Hubicka [Tue, 11 May 2010 08:27:29 +0000 (10:27 +0200)]
* matrix-reorg.c (matrix_reorg): Rebuild edges.
From-SVN: r159263
Jan Hubicka [Tue, 11 May 2010 08:24:08 +0000 (10:24 +0200)]
lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in heap.
* lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
heap.
From-SVN: r159262
Jan Hubicka [Tue, 11 May 2010 08:20:44 +0000 (10:20 +0200)]
lto-streamer.c (lto_streamer_cache_add_to_node_array, [...]): Put nodes into heap.
* lto-streamer.c (lto_streamer_cache_add_to_node_array,
lto_streamer_cache_delete): Put nodes into heap.
(struct lto_streamer_cache_d): Nodes vector is in heap.
From-SVN: r159261
Jan Hubicka [Tue, 11 May 2010 08:19:28 +0000 (10:19 +0200)]
cgraph.c (cgraph_mark_reachable_node): Accept references to optimized out extern inlines.
* cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
out extern inlines.
From-SVN: r159260
Jan Hubicka [Tue, 11 May 2010 08:14:50 +0000 (10:14 +0200)]
cgraphbuild.c (cgraph_rebuild_references): New.
* cgraphbuild.c (cgraph_rebuild_references): New.
(cgraph_mark_reachable_node): Accept references to optimized out
extern inlines.
* cgraph.h (cgraph_rebuild_references): Declare.
* tree-inline.c (tree_function_versioning): Use it.
* ipa-struct-reorg.c (do_reorg_for_func): Likewise.
From-SVN: r159259
Jan Hubicka [Tue, 11 May 2010 08:12:07 +0000 (10:12 +0200)]
cgraph.c: Include ipa-utils.h
* cgraph.c: Include ipa-utils.h
(cgraph_create_virtual_clone): Update references.
* Makefile.in (cgraph.o): Add dependency at ipa-utils.h
From-SVN: r159258
Christian Borntraeger [Tue, 11 May 2010 07:29:59 +0000 (07:29 +0000)]
tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset prefetch_before to PREFETCH_ALL if to accesses "meet" beyond cache size.
2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
cache size.
From-SVN: r159257
Christian Borntraeger [Tue, 11 May 2010 07:28:42 +0000 (07:28 +0000)]
tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
* tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
From-SVN: r159256
Jakub Jelinek [Tue, 11 May 2010 06:50:24 +0000 (08:50 +0200)]
gcc.c (execute): For -### don't quote arguments that contain just alphanumerics and _/-.
* gcc.c (execute): For -### don't quote arguments that
contain just alphanumerics and _/-. characters.
* doc/invoke.texi: Document that change for -###.
From-SVN: r159255
Jakub Jelinek [Tue, 11 May 2010 06:48:15 +0000 (08:48 +0200)]
re PR debug/44023 (-fcompare-debug failure (length) for alphaev67 target (bootstrap failure))
PR debug/44023
* df-problems.c (struct dead_debug): Add to_rescan field.
(dead_debug_init): Clear to_rescan field.
(dead_debug_finish): Rescan all debug insns in to_rescan
bitmap and free the bitmap.
(dead_debug_insert_before): Instead of rescanning debug insns
immediately queue their rescanning until dead_debug_finish.
(df_note_bb_compute): After dead_debug_add do continue instead
of break.
* gcc.dg/pr44023.c: New test.
From-SVN: r159254
GCC Administrator [Tue, 11 May 2010 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159251
Eric Botcazou [Mon, 10 May 2010 21:52:45 +0000 (21:52 +0000)]
exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables built for interfaces.
* exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
built for interfaces.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
imported_p instead of Is_Imported when considering constants.
Do not promote alignment of exported objects.
<E_Record_Subtype>: Strip all suffixes for dispatch table entities.
From-SVN: r159247
Jason Merrill [Mon, 10 May 2010 21:20:47 +0000 (17:20 -0400)]
re PR c++/44017 (ICE with template hierarchy)
PR c++/44017
* semantics.c (baselink_for_fns): Revert earlier change.
From-SVN: r159246
Jason Merrill [Mon, 10 May 2010 18:37:56 +0000 (14:37 -0400)]
re PR c++/44045 (initialization of array of shared_ptr's with initializer list causes compiler segfault)
PR c++/44045
* typeck.c (cp_build_modify_expr): Complain about assignment to
array from init list.
From-SVN: r159243
Fabien ChĂȘne [Mon, 10 May 2010 18:37:45 +0000 (18:37 +0000)]
re PR c++/43719 (uninitialized const member incorrectly accepted, using an array)
PR c++/43719
* decl.c (check_initializer): strip array type before checking for
uninitialized const or ref members.
From-SVN: r159242
Jakub Jelinek [Mon, 10 May 2010 18:28:03 +0000 (20:28 +0200)]
re PR debug/44028 (-fcompare-debug failure (length) with -O3 -fsched-pressure -fschedule-insns)
PR debug/44028
* haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
clear also INSN_REG_USE_LIST.
* gcc.dg/pr44028.c: New test.
From-SVN: r159240
Rainer Orth [Mon, 10 May 2010 18:26:12 +0000 (18:26 +0000)]
* config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
From-SVN: r159239
Daniel Franke [Mon, 10 May 2010 17:10:53 +0000 (13:10 -0400)]
re PR fortran/27866 (Warn when casting, e.g. assigning a double precision to a real)
gcc/fortran/:
2010-05-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/27866
PR fortran/35003
PR fortran/42809
* intrinsic.c (gfc_convert_type_warn): Be more discriminative
about conversion warnings.
gcc/testsuite/:
2010-05-08 Daniel Franke <franke.daniel@gmail.com>
PR fortran/27866
PR fortran/35003
PR fortran/42809
* gfortran.dg/array_constructor_type_17.f03: Updated match string.
* gfortran.dg/warn_conversion.f90: New.
From-SVN: r159238
Jan Hubicka [Mon, 10 May 2010 16:26:26 +0000 (18:26 +0200)]
* lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change.
From-SVN: r159234
Jan Hubicka [Mon, 10 May 2010 16:13:52 +0000 (18:13 +0200)]
passes.c (ipa_write_summaries_1, [...]): Allocate encoders.
* passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate
encoders.
* lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
* lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
(lto_streamer_cache_create): Init alloc pool.
(lto_streamer_cache_delete): Free alloc pool.
* lto-streamer.h: Include alloc pool.
(lto_streamer_cache_d): Use alloc pool.
* lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
From-SVN: r159230
Jan Hubicka [Mon, 10 May 2010 16:00:40 +0000 (18:00 +0200)]
Makefile.in (cgraphbuild.o): Add dependency on except.h.
* Makefile.in (cgraphbuild.o): Add dependency on except.h.
* cgraphbuild.c: Include except.h
(record_type_list, record_eh_tables): New function.
(build_cgraph_edges, rebuild_cgraph_edges): Use it.
From-SVN: r159229
Jan Hubicka [Mon, 10 May 2010 15:53:04 +0000 (17:53 +0200)]
crtstuff.c (force_to_data, [...]): Attribute as used rather than unused.
* crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
__frame_dummy_init_array_entry, force_to_data): Attribute as used
rather than unused.
From-SVN: r159228
Uros Bizjak [Mon, 10 May 2010 15:23:29 +0000 (17:23 +0200)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r159227
Michael Matz [Mon, 10 May 2010 14:31:37 +0000 (14:31 +0000)]
tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
* tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
(can_reassociate_p): Use FLOAT_TYPE_P.
* tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
(vect_force_simple_reduction): ... this.
* tree-parloops.c (gather_scalar_reductions): Use
vect_force_simple_reduction.
* tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
vect_is_simple_reduction, add modify argument, if true rewrite
"a-b" into "a+(-b)".
(vect_is_simple_reduction, vect_force_simple_reduction): New
functions.
(vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
testsuite/
* gcc.dg/vect/fast-math-vect-reduc-8.c: New test.
From-SVN: r159226
H.J. Lu [Mon, 10 May 2010 14:02:43 +0000 (07:02 -0700)]
Nullify regno_allocno_map of the removed allocno.
gcc/
2010-05-10 H.J. Lu<hongjiu.lu@intel.com>
Vladimir Makarov<vmakarov@redhat.com>
PR rtl-optimization/44012
* ira-build.c (remove_unnecessary_allocnos): Nullify
regno_allocno_map of the removed allocno.
gcc/testsuite/
2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/44012
* gcc.dg/pr44012.c: New.
From-SVN: r159223
Rainer Orth [Mon, 10 May 2010 13:45:23 +0000 (13:45 +0000)]
lto.exp (lto_prune_vis_warns): Renamed to lto_prune_warns.
* lib/lto.exp (lto_prune_vis_warns): Renamed to lto_prune_warns.
Log text on entry and exit.
Prune Sun ld warnings for common symbols with differing sizes.
(lto-link-and-maybe-run): Change caller.
From-SVN: r159222
Rainer Orth [Mon, 10 May 2010 13:36:36 +0000 (13:36 +0000)]
configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors to /dev/null.
* configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
to /dev/null.
* configure: Regenerate.
From-SVN: r159220
Rainer Orth [Mon, 10 May 2010 13:01:58 +0000 (13:01 +0000)]
sol2.c (solaris_assemble_visibility): Declare decl, vis unused.
* config/sol2.c (solaris_assemble_visibility): Declare decl, vis
unused.
Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
* configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
support in Sun ld.
* configure: Regenerate.
From-SVN: r159218
Janus Weil [Mon, 10 May 2010 12:54:25 +0000 (14:54 +0200)]
re PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
2010-05-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* match.c (gfc_match_select_type): Move error message to
resolve_select_type.
* resolve.c (resolve_select_type): Error message moved here from
gfc_match_select_type. Correctly set type of temporary.
2010-05-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* gfortran.dg/class_7.f03: Modified.
* gfortran.dg/select_type_1.f03: Modified.
* gfortran.dg/select_type_12.f03: New.
From-SVN: r159217
Richard Guenther [Mon, 10 May 2010 11:28:38 +0000 (11:28 +0000)]
lto-symtab.c (lto_symtab_entry_marked_p): Make entry marked if the entry identifier is marked.
2010-05-10 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_entry_marked_p): Make entry
marked if the entry identifier is marked.
From-SVN: r159216
Richard Guenther [Mon, 10 May 2010 09:43:17 +0000 (09:43 +0000)]
c-common.c (struct c_common_attributes): Add fnspec attribute.
2010-05-10 Richard Guenther <rguenther@suse.de>
* c-common.c (struct c_common_attributes): Add fnspec attribute.
(handle_fnspec_attribute): New function.
* gimple.h (gimple_call_return_flags): Declare.
(gimple_call_arg_flags): Likewise.
* gimple.c (gimple_call_arg_flags): New function.
(gimple_call_return_flags): Likewise.
* tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
New argument flags.
(ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
return value flags.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
* tree-ssa-structalias.c (make_constraint_from_heapvar): Split
main work to ...
(make_heapvar_for): ... this new function.
(handle_rhs_call): Handle fnspec attribute argument specifiers.
(handle_lhs_call): Likewise.
(find_func_aliases): Adjust.
fortran/
* trans-decl.c (gfc_build_library_function_decl): Split out
worker to ...
(build_library_function_decl_1): ... this new function.
Set a fnspec attribute if a specification was provided.
(gfc_build_library_function_decl_with_spec): New function.
(gfc_build_intrinsic_function_decls): Annotate internal_pack
and internal_unpack.
From-SVN: r159215
Richard Guenther [Mon, 10 May 2010 08:55:32 +0000 (08:55 +0000)]
re PR tree-optimization/44050 (Wrong code is produced with -fipa-pta -fno-tree-pta)
2010-05-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44050
* tree-inline.c (tree_function_versioning): Clone the ipa-pta
flag.
* gcc.dg/torture/pr44050.c: New testcase.
From-SVN: r159214
Wei Guozhi [Mon, 10 May 2010 07:26:04 +0000 (07:26 +0000)]
thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
* config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
* gcc.target/arm/pr42879.c: New testcase.
From-SVN: r159212
GCC Administrator [Mon, 10 May 2010 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159211
Joseph Myers [Sun, 9 May 2010 21:01:38 +0000 (22:01 +0100)]
re PR testsuite/44051 (FAIL: gcc.dg/anon-struct-9.c (test for excess errors))
PR c/44051
* gcc.dg/anon-struct-9.c: Avoid generating identifier i386.
From-SVN: r159207
Joseph Myers [Sun, 9 May 2010 20:39:39 +0000 (21:39 +0100)]
re PR c/10676 (Using unnamed fields in initializers)
PR c/10676
* c-typeck.c (lookup_field): Take a type directly. Update
recursive calls.
(build_component_ref): Update call to lookup_field.
(set_init_label): Use lookup_field to find initialized field.
Handle returned list of fields like a sequence of designators.
testsuite:
* gcc.dg/anon-struct-10.c: New test.
From-SVN: r159206
Richard Guenther [Sun, 9 May 2010 18:17:33 +0000 (18:17 +0000)]
re PR c/44024 (missed optimization)
2010-05-09 Richard Guenther <rguenther@suse.de>
PR middle-end/44024
* fold-const.c (tree_single_nonzero_warnv_p): Properly
handle &FUNCTION_DECL.
* gcc.dg/pr44024.c: New testcase.
From-SVN: r159205
Joseph Myers [Sun, 9 May 2010 16:19:28 +0000 (17:19 +0100)]
re PR c/4784 (Anonymous structs issues)
PR c/4784
* c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
structures and unions recursively.
(detect_field_duplicates): Move duplicate detection with a hash to
detect_field_duplicates_hash. Always use a hash if anonymous
structures or unions are present.
* doc/extend.texi (Unnamed Fields): Document that duplicate fields
give errors.
testsuite:
* gcc.dg/anon-struct-9.c: New test.
From-SVN: r159204
H.J. Lu [Sun, 9 May 2010 14:49:53 +0000 (14:49 +0000)]
Properly detect Atom, Core 2 and Core i7.
2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
PR target/44046
* config/i386/driver-i386.c (host_detect_local_cpu): Properly
detect Atom, Core 2 and Core i7.
From-SVN: r159202
Richard Guenther [Sun, 9 May 2010 14:14:27 +0000 (14:14 +0000)]
gcc.c (store_arg): Handle temporary file deletion for joined arguments.
2010-05-09 Richard Guenther <rguenther@suse.de>
* gcc.c (store_arg): Handle temporary file deletion for
joined arguments.
From-SVN: r159201