Richard Guenther [Tue, 6 Dec 2011 13:45:19 +0000 (13:45 +0000)]
re PR tree-optimization/49997 (ICE in inline_small_functions with -fnon-call-exceptions)
2011-12-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49997
* gcc.dg/torture/pr49997.c: New testcase.
From-SVN: r182049
Richard Guenther [Tue, 6 Dec 2011 13:26:09 +0000 (13:26 +0000)]
re PR lto/50601 (New LTO failures)
2011-12-06 Richard Guenther <rguenther@suse.de>
PR middle-end/50601
* varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
quirk adjustjment ...
* passes.c (rest_of_decl_compilation): ... here.
From-SVN: r182048
Richard Guenther [Tue, 6 Dec 2011 12:17:31 +0000 (12:17 +0000)]
re PR middle-end/51436 (ICE(segfault) in gimplify_and_update_call_from_tree gimple-fold.c:603)
2011-12-06 Richard Guenther <rguenther@suse.de>
PR middle-end/51436
* gimple-fold.c (gimplify_and_update_call_from_tree): Guard
vdef check for the fact we do not have virtual operands when
not optimizing.
* g++.dg/torture/pr51436.C: New testcase.
From-SVN: r182045
Richard Guenther [Tue, 6 Dec 2011 11:41:00 +0000 (11:41 +0000)]
re PR tree-optimization/51245 (ICE in vn_reference_insert_pieces, at tree-ssa-sccvn.c:1983)
2011-12-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51245
* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
New function.
(vn_reference_lookup_3): Use it. Properly valueize all refs
we create.
* gcc.dg/torture/pr51245.c: New testcase.
From-SVN: r182044
Dodji Seketeli [Tue, 6 Dec 2011 10:06:49 +0000 (10:06 +0000)]
PR c++/51427 - Better diagnostic when union/struct tags conflicts
gcc/cp/
PR c++/51427
* parser.c (cp_parser_check_class_key): Add note about earlier
declaration.
gcc/testsuite/
PR c++/51427
* g++.dg/diagnostic/wrong-tag-1.C
From-SVN: r182043
Iain Sandoe [Tue, 6 Dec 2011 09:52:11 +0000 (09:52 +0000)]
rs6000.c (darwin_rs6000_override_options): Initialize rs6000_current_abi.
gcc:
* config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
rs6000_current_abi.
From-SVN: r182042
Richard Guenther [Tue, 6 Dec 2011 09:02:17 +0000 (09:02 +0000)]
re PR tree-optimization/51363 (ICE: in gimple_rhs_has_side_effects, at gimple.c:2530 with -O -fno-tree-ccp)
2011-12-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51363
* gimple.c (gimple_rhs_has_side_effects): Remove.
* gimple.h (gimple_rhs_has_side_effects): Likewise.
* tree-ssa-dom.c (optimize_stmt): Simplify conditional.
From-SVN: r182041
Alan Modra [Tue, 6 Dec 2011 03:41:44 +0000 (14:11 +1030)]
re PR target/50906 (e500 exception unwinding under "-Os" causes SIGSEGV)
PR target/50906
* config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
Do not mark r11 setup as frame-related. Pass correct offset to
rs6000_emit_savres_rtx. Correct out-of-line rs6000_frame_related
arguments. Correct sp_offset. Remove "offset" fudge from
in-line rs6000_frame_related call. Rename misleading variable.
Fix comments and whitespace. Tidy some expressions.
(rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
to r11 in out-of-line case. Correct sp_offset. Pass correct
offset to rs6000_emit_savres_rtx. Rename misleading variable.
Fix comments and whitespace. Tidy some expressions.
(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
adjustment when !saving_GPRs_inline. Correct register mode
used in address calcs.
(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
!restoring_GPRs_inline.
From-SVN: r182039
Ramana Radhakrishnan [Tue, 6 Dec 2011 01:03:04 +0000 (01:03 +0000)]
Fix formatting character for vmov.f64 case.
From-SVN: r182038
GCC Administrator [Tue, 6 Dec 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182037
Ramana Radhakrishnan [Mon, 5 Dec 2011 23:56:25 +0000 (23:56 +0000)]
Fix earlier Changelog entry to match the
commit.
From-SVN: r182033
Paolo Carlini [Mon, 5 Dec 2011 23:16:16 +0000 (23:16 +0000)]
initializer_list: Do not declare anything if __GXX_EXPERIMENTAL_CXX0X__ is not defined.
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
* libsupc++/initializer_list: Do not declare anything if
__GXX_EXPERIMENTAL_CXX0X__ is not defined.
From-SVN: r182031
Fabien Chêne [Mon, 5 Dec 2011 22:07:06 +0000 (23:07 +0100)]
Fix cp/ChangeLog
From-SVN: r182030
Fabien Chêne [Mon, 5 Dec 2011 22:04:40 +0000 (23:04 +0100)]
re PR c++/51319 (Eigen3 enums not accepted)
gcc/testsuite/ChangeLog
2011-12-05 Fabien Chene <fabien@gcc.gnu.org>
PR c++/51319
* g++.dg/lookup/using50.C: New.
* g++.dg/lookup/using51.C: New.
gcc/cp/ChangeLog
2011-12-05 Fabien Chene <fabien@gcc.gnu.org>
PR c++/51319
* semantics.c (finish_id_expression): Strip using declarations
early in the function.
From-SVN: r182029
Jakub Jelinek [Mon, 5 Dec 2011 20:56:14 +0000 (21:56 +0100)]
re PR tree-optimization/51396 (ICE: verify_flow_info failed: BB 4 can not throw but has an EH edge with -O2 -fnon-call-exceptions -mfma4)
PR tree-optimization/51396
* tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize
if MUL_RESULT has zero uses.
* g++.dg/opt/pr51396.C: New test.
From-SVN: r182028
Jakub Jelinek [Mon, 5 Dec 2011 20:51:07 +0000 (21:51 +0100)]
re PR debug/51410 (duplicate variable DIE)
PR debug/51410
* c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
for debug info if scope is file_scope.
* gcc.dg/debug/dwarf2/pr51410.c: New test.
From-SVN: r182027
Jakub Jelinek [Mon, 5 Dec 2011 20:49:38 +0000 (21:49 +0100)]
re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for)
PR c/51339
* c-decl.c (c_finish_incomplete_decl, finish_decl): Call
relayout_decl instead of layout_decl.
* gcc.dg/gomp/pr51339.c: New test.
From-SVN: r182026
Paolo Carlini [Mon, 5 Dec 2011 20:44:50 +0000 (20:44 +0000)]
re PR c++/51399 ([c++0x] [4.7 Regression] ICE with invalid initializer list)
/cp
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51399
* init.c (perform_member_init): Early return if init is error_mark_node.
/testsuite
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51399
* g++.dg/cpp0x/initlist62.C: New.
From-SVN: r182025
Thomas Koenig [Mon, 5 Dec 2011 20:11:44 +0000 (20:11 +0000)]
re PR fortran/51338 (seg fault in gfc_dep_compare_expr with -O2)
2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/51338
* dependency.c (are_identical_variables): Handle case where
end fields of substring references are NULL.
2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/51338
* gfortran.dg/assumed_charlen_substring_1.f90: New test.
From-SVN: r182024
Richard Sandiford [Mon, 5 Dec 2011 19:32:16 +0000 (19:32 +0000)]
resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue.
gcc/
* resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK
if there is in epilogue.
From-SVN: r182023
Richard Sandiford [Mon, 5 Dec 2011 19:24:53 +0000 (19:24 +0000)]
optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target to emit_library_call_value.
gcc/
* optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target
to emit_library_call_value.
(expand_atomic_compare_and_swap): Likewise.
From-SVN: r182021
Richard Sandiford [Mon, 5 Dec 2011 19:24:30 +0000 (19:24 +0000)]
pr46338.C: Add dg-require-profiling.
gcc/testsuite/
* g++.dg/debug/pr46338.C: Add dg-require-profiling.
* g++.dg/torture/pr39732.C: Likewise.
* g++.dg/torture/pr40642.C: Likewise.
* gcc.c-torture/compile/pr44686.c: Likewise.
* gcc.dg/
20050309-1.c: Likewise.
* gcc.dg/
20050330-2.c: Likewise.
* gcc.dg/
20051201-1.c: Likewise.
* gcc.dg/gomp/pr27573.c: Likewise.
* gcc.dg/pr46255.c: Likewise.
* gcc.dg/profile-dir-1.c: Likewise.
* gcc.dg/profile-dir-2.c: Likewise.
* gcc.dg/profile-dir-3.c: Likewise.
* gcc.dg/profile-generate-1.c: Likewise.
* gfortran.dg/gomp/pr27573.f90: Likewise.
* gcc.dg/profile-generate-3.c: Be specific about the type of
profiling required.
From-SVN: r182020
Paolo Carlini [Mon, 5 Dec 2011 18:21:18 +0000 (18:21 +0000)]
re PR c++/51414 (Broken diagnostic with invalid use of __underlying_type)
/cp
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51414
* semantics.c (finish_underlying_type): Use %qT, not %qE for the
error message.
/testsuite
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51414
* g++.dg/ext/underlying_type11.C: New.
From-SVN: r182017
Uros Bizjak [Mon, 5 Dec 2011 17:59:32 +0000 (18:59 +0100)]
re PR testsuite/51128 (New LTO failures)
PR testsuite/51128
* gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed.
* gcc.dg/torture/pr39074.c: Ditto.
* gcc.dg/torture/pr39074-2.c: Ditto.
* gcc.dg/torture/pr42898.c: Ditto.
* gcc.dg/torture/pr42898-2.c: Ditto.
* gcc.dg/torture/pr45704.c: Ditto.
* gcc.dg/torture/pr50472.c: Ditto.
* gcc.dg/torture/pta-callused-1.c: Ditto.
* gcc.dg/torture/pta-ptrarith-1.c: Ditto.
* gcc.dg/torture/pta-ptrarith-2.c: Ditto.
* gcc.dg/torture/pta-ptrarith-3.c: Ditto.
* gcc.dg/torture/pta-escape-1.c: Ditto.
* gcc.dg/torture/ipa-pta-1.c: Ditto.
* gcc.dg/torture/ssa-pta-fn-1.c: Ditto.
From-SVN: r182016
Vladimir Makarov [Mon, 5 Dec 2011 17:02:54 +0000 (17:02 +0000)]
re PR other/50775 (Register allocator sets up frame and frame pointer with low register pressure)
2011-12-05 Vladimir Makarov <vmakarov@redhat.com>
PR other/50775
* ira-int.h (struct ira_object): Remove add_data.
(OBJECT_ADD_DATA): Remove.
* ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA
initialization.
* ira-color.c (object_hard_regs_t, object_hard_regs): Rename to
allocno_hard_regs_t, allocno_hard_regs.
(object_hard_regs_node_t, object_hard_regs_node): Rename to
allocno_hard_regs_node_t and allocno_hard_regs_node.
(struct allocno_color_data): Add new member last_process. Move
profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start
from object_color_data.
(object_color_data_t, object_color_data, OBJECT_COLOR_DATA):
Remove.
(curr_allocno_process): New static variable.
(object_hard_regs_eq, object_hard_regs_htab): Rename to
allocno_hard_regs_eq and allocno_hard_regs_htab.
(init_object_hard_regs, finish_object_hard_regs): Rename to
init_allocno_hard_regs and finish_allocno_hard_regs.
(object_hard_regs_compare, object_hard_regs_node_t): Rename to
allocno_hard_regs_compare and allocno_hard_regs_node_t.
(create_new_object_hard_regs_node): Rename to
create_new_allocno_hard_regs_node.
(add_new_object_hard_regs_node_to_forest): Rename to
add_new_allocno_hard_regs_node_to_forest.
(add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
Rename to add_allocno_hard_regs_to_forest and collect_allocno_hard_regs_cover.
(setup_object_hard_regs_nodes_parent): Rename to setup_allocno_hard_regs_nodes_parent.
(remove_unused_object_hard_regs_nodes): Rename to remove_unused_allocno_hard_regs_nodes.
(enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num):
Rename to enumerate_allocno_hard_regs_nodes and allocno_hard_regs_nodes_num.
(object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to
allocno_hard_regs_nodes and allocno_hard_regs_subnode_t.
(object_hard_regs_subnode, object_hard_regs_subnodes): Rename to
allocno_hard_regs_subnode and allocno_hard_regs_subnodes.
(object_hard_regs_subnode_index): Rename to allocno_hard_regs_subnode_index.
(setup_object_hard_regs_subnode_index): Rename to
setup_allocno_hard_regs_subnode_index.
(get_object_hard_regs_subnodes_num): Rename to get_allocno_hard_regs_subnodes_num.
(form_object_hard_regs_nodes_forest): Rename to form_allocno_hard_regs_nodes_forest.
(finish_object_hard_regs_nodes_tree): Rename to form_allocno_hard_regs_nodes_forest
(finish_object_hard_regs_nodes_forest): Rename to
finish_allocno_hard_regs_nodes_forest.
(setup_left_conflict_sizes_p): Use allocno data instead of object
ones. Process conflict allocnos once.
(update_left_conflict_sizes_p): Use allocno data instead of object
ones. Change prototype signature.
(empty_profitable_hard_regs): Use allocno data instead of object
ones.
(setup_profitable_hard_regs): Ditto.
(get_conflict_profitable_regs): Rename to
get_conflict_and_start_profitable_regs. Use allocno data for
profitable regs calculation.
(check_hard_reg_p): Change prototype signature. Check profitable
regs for allocno not the objects.
(assign_hard_reg): Process conflict allocnos only once for
updating conflict costs.
(setup_allocno_available_regs_num): Use allocno data instead of
object ones. Modify debug output.
(color_pass): Remove initialization and finalization of object
color data.
From-SVN: r182015
Kazu Hirata [Mon, 5 Dec 2011 16:11:35 +0000 (16:11 +0000)]
re PR target/51408 (Miscompilation in arm.md:*minmax_arithsi)
gcc/
PR target/51408
* config/arm/arm.md (*minmax_arithsi): Always require the else
clause in the MINUS case.
gcc/testsuite/
PR target/51408
* gcc.dg/pr51408.c: New.
From-SVN: r182014
Jason Merrill [Mon, 5 Dec 2011 15:49:34 +0000 (10:49 -0500)]
* init.c (expand_default_init): Unshare args in ctor delegation.
From-SVN: r182013
Ville Voutilainen [Mon, 5 Dec 2011 15:49:25 +0000 (17:49 +0200)]
Implement C++11 delegating constructors.
* cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS.
* error.c (maybe_warn_cpp0x): Adjust.
* parser.c (cp_parser_mem_initializer_list): Use it. Diagnose
multiple initializers if a delegating initializer is present.
* call.c (build_special_member_call): Convert an assert into an if.
* init.c (perform_target_ctor): New.
(emit_mem_initializers): Use it.
(expand_member_init, expand_default_init): Adjust.
Co-Authored-By: Pedro Lamarão <pedro.lamarao@gmail.com>
From-SVN: r182012
Paolo Carlini [Mon, 5 Dec 2011 15:46:30 +0000 (15:46 +0000)]
re PR c++/51404 ([c++0x] [4.7 Regression] ICE with invalid use of auto)
/cp
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51404
* typeck2.c (build_functional_cast): Early return error_mark_node
for invalid uses of 'auto'.
* parser.c (cp_parser_direct_declarator): When
cp_parser_constant_expression returns error do not produce further
diagnostic for the bound.
/testsuite
2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51404
* g++.dg/cpp0x/auto28.C: New.
From-SVN: r182011
Richard Guenther [Mon, 5 Dec 2011 14:36:44 +0000 (14:36 +0000)]
re PR tree-optimization/50904 (pessimization when -fno-protect-parens is enabled by -Ofast)
2011-12-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50904
* tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
(MEM_ANALYZABLE): New.
(memory_references): Remove clobbered_vops and vop_ref_map
members, add all_refs_stored_in_loop member.
(memref_free): Adjust.
(mem_ref_alloc): Likewise.
(gather_mem_refs_stmt): Do not record clobbers, instead
record refs for unanalyzable stmts.
(gather_mem_refs_in_loops): Do not propagate clobbers.
(struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
record_vop_access, get_vop_accesses, get_vop_stores,
add_vop_ref_mapping): Remove.
(create_vop_ref_mapping_loop): Adjust to simply record all
stores.
(analyze_memory_references): Adjust.
(refs_independent_p): Check for not analyzable refs.
(can_sm_ref_p): Likewise.
(ref_indep_loop_p_1): Simplify.
(tree_ssa_lim_finalize): Adjust.
* tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
rather than magic constants. Assign zero cost to PAREN_EXPR
and SSA_NAME copies. Assign cost proportional to the vector
size for vector constructors.
From-SVN: r182010
Richard Guenther [Mon, 5 Dec 2011 14:31:44 +0000 (14:31 +0000)]
tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
2011-12-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
* tree-ssa-alias.c (ao_ref_init): Initialize it.
(ao_ref_init_from_ptr_and_size): Likewise.
(refs_may_alias_p_1): Two volatile accesses conflict.
(ref_maybe_used_by_call_p_1): Likewise.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize
volatile_p field.
From-SVN: r182009
Matthew Gretton-Dann [Mon, 5 Dec 2011 12:02:22 +0000 (12:02 +0000)]
* gcc/testsuite/gcc.dg/torture/vec-cvt-1.c (FLTTEST): Call rand instead of random.
From-SVN: r182008
Richard Guenther [Mon, 5 Dec 2011 11:05:24 +0000 (11:05 +0000)]
tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA names.
2011-12-05 Richard Guenther <rguenther@suse.de>
* tree-ssa.c (verify_ssa): Verify SSA names in the loop
over all SSA names. Remove SSA operand checking, call
verify_ssa_operands.
* tree-ssa-operands.h (verify_ssa_operands): Declare.
* tree-ssa-operands.c (verify_ssa_operands): New function.
From-SVN: r182007
Arnaud Charlet [Mon, 5 Dec 2011 10:44:58 +0000 (11:44 +0100)]
[multiple changes]
2011-12-05 Bob Duff <duff@adacore.com>
* sem_ch4.adb: Minor comment fix.
2011-12-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation for -gnatw.e.
2011-12-05 Bob Duff <duff@adacore.com>
* treepr.adb (pn): Print something useful for
Elmt_Ids. Add Write_Eol to 'when others' case, so the output
will be seen immediately in gdb.
2011-12-05 Ed Schonberg <schonberg@adacore.com>
* lib-writ.adb (Output_Main_Program_Line): A generic subprogram
is never a main program.
2011-12-05 Thomas Quinot <quinot@adacore.com>
* par_sco.adb: Various minor adjustments to dominance markers
generation.
2011-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): If the function is
a completion, generate a body reference for its defining entity,
before rewriting the node as a body.
* sem_util.adb (Defining_Entity): Add entry for expression
function.
From-SVN: r182006
Ramana Radhakrishnan [Mon, 5 Dec 2011 10:42:53 +0000 (10:42 +0000)]
Use vcvt from fixed to floating point where applicable.
2011-12-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
* config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
* config/arm/constraints.md ("Dt"): New constraint.
* config/arm/predicates.md (const_double_vcvt_power_of_two_reciprocal):
New.
* config/arm/vfp.md (*arm_combine_vcvt_f32_s32): New.
(*arm_combine_vcvt_f32_u32): New.
From-SVN: r182005
Arnaud Charlet [Mon, 5 Dec 2011 10:31:58 +0000 (11:31 +0100)]
[multiple changes]
2011-12-05 Bob Duff <duff@adacore.com>
* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
to the Comes_From_Source check, to deal properly with the case
of indirect inheritance of "=".
2011-12-05 Thomas Quinot <quinot@adacore.com>
PR ada/51307
* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
not a macro.
2011-12-05 Thomas Quinot <quinot@adacore.com>
* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
information in SCOs.
From-SVN: r182004
Dodji Seketeli [Mon, 5 Dec 2011 09:20:59 +0000 (09:20 +0000)]
Add 'inline' to prototype of tokens_buff_remove_last_token
libcpp/
* macro.c (tokens_buff_remove_last_token)
(tokens_buff_put_token_to): Add an 'inline' function specifier to
the prototype.
From-SVN: r182002
Richard Guenther [Mon, 5 Dec 2011 08:51:53 +0000 (08:51 +0000)]
cgraph.c (cgraph_create_edge_1): Initialize call_stmt_cannot_inline_p from the stmt if possible.
2011-12-05 Richard Guenther <rguenther@suse.de>
* cgraph.c (cgraph_create_edge_1): Initialize
call_stmt_cannot_inline_p from the stmt if possible.
(cgraph_make_edge_direct): Likewise.
* gimple-streamer-in.c (input_gimple_stmt): Do not
call gimple_call_set_cannot_inline.
* gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift
values.
(gimple_call_set_cannot_inline): Remove.
(gimple_call_cannot_inline_p): Likewise.
* ipa-inline-analysis.c (initialize_inline_failed): Look
at the edge call_stmt_cannot_inline_p flag.
* ipa-inline.c (can_inline_edge_p): Likewise.
(early_inliner): Only update the edge flag.
* ipa-prop.c (update_indirect_edges_after_inlining): Likewise.
(ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline.
* cgraphunit.c (assemble_thunk): Likewise.
* gimple-fold.c (gimple_fold_call): Likewise.
* tree.h (CALL_CANNOT_INLINE_P): Remove.
* tree-mudflap.c (mf_xform_statements): Do not modify alloca calls.
* builtins.c (expand_builtin_alloca): With -fmudflap do not expand
alloca calls inline.
* cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P.
* gimple.c (gimple_build_call_from_tree): Do not read
CALL_CANNOT_INLINE_P.
* gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P.
From-SVN: r182001
Jakub Jelinek [Mon, 5 Dec 2011 08:15:23 +0000 (09:15 +0100)]
re PR middle-end/51323 (g++ confuses this with function argument in optimized call)
PR middle-end/51323
PR middle-end/50074
* calls.c (internal_arg_pointer_exp_state): New variable.
(internal_arg_pointer_based_exp_1,
internal_arg_pointer_exp_scan): New functions.
(internal_arg_pointer_based_exp): New function.
(mem_overlaps_already_clobbered_arg_p): Use it.
(expand_call): Free internal_arg_pointer_exp_state.cache vector
and clear internal_arg_pointer_exp_state.scan_start.
* gcc.c-torture/execute/pr51323.c: New test.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r182000
GCC Administrator [Mon, 5 Dec 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181999
Kaz Kojima [Sun, 4 Dec 2011 23:05:23 +0000 (23:05 +0000)]
linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
* config/sh/linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
* config/sh/sync.md: New file.
* config/sh/sh.md: Include sync.md.
* config/sh/sh.opt (msoft-atomic): New option.
* doc/invoke.texi (SH Options): Document it.
From-SVN: r181995
Nathan Sidwell [Sun, 4 Dec 2011 18:27:19 +0000 (18:27 +0000)]
gcov-io.h (struct gcov_info): Replace trailing array with pointer to array.
* gcov-io.h (struct gcov_info): Replace trailing array with
pointer to array.
* profile.c (branch_prob): Only call renamed
coverage_begin_function once.
* coverage.h (coverage_begin_output): Rename to ...
(coverage_begin_function): ... here.
* coverage.c (struct function_list): Rename to ...
(struct coverage_data): ... this. Update all uses.
(gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New
globals.
(bbg_file_opened, bbg_function_announced): Remove.
(get_coverage_counts): Adjust message.
(coverage_begin_ouput): Rename to ...
(coverage_begin_function): ... here. Move file opening to
coverage_init. Adjust for being called only once.
(coverage_end_function): Remove bbg file and inhibit further
output here on error.
(build_info_type): Adjust for change to pointer to array.
(build_info): Receive array of function pointers and adjust.
(create_coverage): Break into ...
(coverage_obj_init, coverage_obj_fn, coverage_obj_finish):
... these, and adjust.
(coverage_init): Open the notes file here. Tidy.
(coverage_finish): Call coverage_obj_init etc.
From-SVN: r181994
Jonathan Wakely [Sun, 4 Dec 2011 16:53:17 +0000 (16:53 +0000)]
type_traits: Doxygen improvements.
* include/std/type_traits: Doxygen improvements.
* include/bits/move.h: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr2/type_traits: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers
* testsuite/20_util/forward/c_neg.cc: Likewise.
* testsuite/20_util/forward/f_neg.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r181993
Tobias Burnus [Sun, 4 Dec 2011 16:33:15 +0000 (17:33 +0100)]
re PR fortran/51383 ([OOP] arrays of extended types break when associated)
2011-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/51383
* resolve.c (find_array_spec): Use ref->u.c.component
directly without starting from ts.u.derived.
2011-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/51383
* gfortran.dg/associate_10.f90: New.
From-SVN: r181992
Iain Sandoe [Sun, 4 Dec 2011 15:46:28 +0000 (15:46 +0000)]
t-darwin64 (LIB2ADD): Add fp and gp save routines.
libgcc:
* config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines.
From-SVN: r181991
Ira Rosen [Sun, 4 Dec 2011 14:52:01 +0000 (14:52 +0000)]
re PR middle-end/51285 (internal compiler error: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c)
PR middle-end/51285
* tree-vect-loop.c (vect_create_epilog_for_reduction): Create
exit phi nodes for outer loop in case of double reduction.
From-SVN: r181990
Markus Trippelsdorf [Sun, 4 Dec 2011 13:21:53 +0000 (13:21 +0000)]
stl_heap.h (pop_heap): Check for non-empty range in overload taking a predicate.
* include/bits/stl_heap.h (pop_heap): Check for non-empty range in
overload taking a predicate.
* testsuite/25_algorithms/pop_heap/empty2_neg.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r181987
Uros Bizjak [Sun, 4 Dec 2011 12:47:25 +0000 (13:47 +0100)]
re PR target/51393 (Wrong parameter type for _mm256_insert_epi64 in avxintrin.h)
PR target/51393
* config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
parameter as long long.
testsuite/ChangeLog:
2011-12-04 Uros Bizjak <ubizjak@gmail.com>
Jérémie Detrey <Jeremie.Detrey@loria.fr>
PR target/51393
* gcc.target/i386/pr51393.c: New test.
From-SVN: r181986
Richard Sandiford [Sun, 4 Dec 2011 11:15:26 +0000 (11:15 +0000)]
re PR middle-end/51351 (undefined reference to __sync_fetch_and_ior_4)
gcc/
PR middle-end/51351
* optabs.c (init_sync_libfuncs): Use "or" rather than "ior"
in the external names.
From-SVN: r181985
Dominique d'Humieres [Sun, 4 Dec 2011 07:34:25 +0000 (08:34 +0100)]
re PR testsuite/51349 (FAIL: obj-c++.dg/naming-[34].mm)
2011-12-03 Dominique d'Humieres <dominiq@lps.ens.fr>
PR obj-c++/51349
* obj-c++.dg/naming-3.mm: Adjust for changing error messages.
* obj-c++.dg/naming-4.mm: Likewise.
From-SVN: r181984
Mike Stump [Sun, 4 Dec 2011 07:32:31 +0000 (07:32 +0000)]
Fix typo.
From-SVN: r181983
Jack Howarth [Sun, 4 Dec 2011 07:09:56 +0000 (07:09 +0000)]
darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Pass -no_pie for non-PIC code when targeting 10.7 or later.
2011-12-03 Jack Howarth <howarth@bromo.med.uc.edu>
* config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC):
Pass -no_pie for non-PIC code when targeting 10.7 or later.
From-SVN: r181982
Jack Howarth [Sun, 4 Dec 2011 06:56:53 +0000 (06:56 +0000)]
darwin-segaddr.c: Use -no-pie.
2011-12-03 Jack Howarth <howarth@bromo.med.uc.edu>
* gcc.dg/darwin-segaddr.c: Use -no-pie.
From-SVN: r181981
Paolo Carlini [Sun, 4 Dec 2011 01:40:36 +0000 (01:40 +0000)]
re PR c++/51313 ([C++0x] ICE: tree check: expected class 'constant', have 'unary' (nop_expr) in null_ptr_cst_p, at cp/call.c:556)
/cp
2011-12-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51313
* call.c (null_ptr_cst_p): STRIP_NOPS in c++11 mode too.
/testsuite
2011-12-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51313
* g++.dg/cpp0x/pr51313.C: New.
From-SVN: r181980
GCC Administrator [Sun, 4 Dec 2011 00:18:14 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181979
Tobias Burnus [Sat, 3 Dec 2011 18:30:36 +0000 (19:30 +0100)]
re PR fortran/48887 ([OOP] SELECT TYPE: Associate name shall not be a pointer/allocatable)
2011-12-03 Tobias Burnus <burnus@net-b.de>
PR fortran/48887
* match.c (select_type_set_tmp): Don't set allocatable/pointer
attribute.
* class.c (gfc_build_class_symbol): Handle
attr.select_type_temporary.
2011-12-03 Tobias Burnus <burnus@net-b.de>
PR fortran/48887
* gfortran.dg/select_type_24.f90: New.
* gfortran.dg/select_type_23.f03: Add dg-error.
* gfortran.dg/class_45a.f03: Add missing TARGET attribute.
From-SVN: r181975
Iain Sandoe [Sat, 3 Dec 2011 18:03:45 +0000 (18:03 +0000)]
darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when Darwin >= 10.
gcc:
* config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
Darwin >= 10.
(DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
(DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
From-SVN: r181974
Matthias Klose [Sat, 3 Dec 2011 16:51:54 +0000 (16:51 +0000)]
expr.c (SPECIAL_WIDE): Fix typo in message.
2011-12-03 Matthias Klose <doko@ubuntu.com>
* expr.c (SPECIAL_WIDE): Fix typo in message.
From-SVN: r181973
Jakub Jelinek [Sat, 3 Dec 2011 16:41:23 +0000 (17:41 +0100)]
fold-const.c (fold_unary_loc): Fold VEC_UNPACK_LO_EXPR...
* fold-const.c (fold_unary_loc): Fold VEC_UNPACK_LO_EXPR,
VEC_UNPACK_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and
VEC_UNPACK_FLOAT_HI_EXPR with VECTOR_CST argument.
(fold_binary_loc): Fold VEC_PACK_TRUNC_EXPR,
VEC_PACK_FIX_TRUNC_EXPR, VEC_WIDEN_MULT_LO_EXPR
and VEC_WIDEN_MULT_HI_EXPR with VECTOR_CST arguments.
* gcc.dg/vect/vect-122.c: New test.
From-SVN: r181972
Jakub Jelinek [Sat, 3 Dec 2011 16:39:56 +0000 (17:39 +0100)]
re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
* tree-ssa.c (target_for_debug_bind): Also allow is_gimple_reg_type
vars that aren't referenced.
(tree-ssa-live.c (remove_unused_locals): Don't clear TREE_ADDRESSABLE
of unreferenced local vars.
* cfgexpand.c (expand_debug_expr): For DEBUG_IMPLICIT_PTR allow also
TREE_ADDRESSABLE vars that satisfy target_for_debug_bind.
From-SVN: r181971
Jonathan Wakely [Sat, 3 Dec 2011 15:35:35 +0000 (15:35 +0000)]
macros.h (__glibcxx_check_non_empty_range): Define.
* include/debug/macros.h (__glibcxx_check_non_empty_range): Define.
* include/debug/debug.h (__glibcxx_requires_non_empty_range): Define.
* include/debug/formatter.h (__msg_non_empty_range): Add.
* src/debug.cc: Message text for __msg_non_empty_range.
* include/bits/stl_heap.h (pop_heap): Check for non-empty range.
* testsuite/25_algorithms/pop_heap/empty_neg.cc: New.
From-SVN: r181970
Jonathan Wakely [Sat, 3 Dec 2011 12:29:11 +0000 (12:29 +0000)]
* doc/xml/manual/utilities.xml: Remove outdated text.
From-SVN: r181968
Tobias Burnus [Sat, 3 Dec 2011 11:30:18 +0000 (12:30 +0100)]
[multiple changes]
2011-12-03 Tobias Burnus <burnus@net-b.de>
PR fortran/50684
* check.c (variable_check): Fix intent(in) check.
2011-12-03 Tobias Burnus <burnus@net-b.de>
PR fortran/50684
* gfortran.dg/move_alloc_8.f90: New.
From-SVN: r181967
Tobias Burnus [Sat, 3 Dec 2011 11:03:30 +0000 (12:03 +0100)]
check.c (gfc_check_move_alloc): Allow nonpolymorphic FROM with polymorphic TO.
2011-12-03 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_move_alloc): Allow nonpolymorphic
FROM with polymorphic TO.
* trans-intrinsic.c (conv_intrinsic_move_alloc): Handle
nonpolymorphic FROM with polymorphic TO.
2011-12-03 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/select_type_23.f03: Revert Rev. 181801,
i.e. remove the dg-error line.
* gfortran.dg/move_alloc_5.f90: Ditto and change back
to dg-do run.
* gfortran.dg/move_alloc_9.f90: New.
* gfortran.dg/move_alloc_10.f90: New
From-SVN: r181966
Anatoly Sokolov [Sat, 3 Dec 2011 09:03:13 +0000 (13:03 +0400)]
arm.h (LIBCALL_VALUE, [...]): Remove.
* config/arm/arm.h (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove.
* config/arm/arm-protos.h (aapcs_libcall_value): Remove.
* config/arm/arm.c (TARGET_FUNCTION_VALUE_REGNO_P): Define.
(arm_libcall_value_1, arm_function_value_regno_p): New function.
(arm_function_value, arm_libcall_value): Use arm_libcall_value_1.
(aapcs_libcall_value): Make static.
(arm_libcall_value): Add static qualifier.
From-SVN: r181965
Ian Lance Taylor [Sat, 3 Dec 2011 02:17:34 +0000 (02:17 +0000)]
libgo: Update to weekly.2011-11-02.
From-SVN: r181964
GCC Administrator [Sat, 3 Dec 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181959
Ian Lance Taylor [Sat, 3 Dec 2011 00:16:12 +0000 (00:16 +0000)]
libgo: Generate dependencies automatically.
From-SVN: r181955
Jakub Jelinek [Fri, 2 Dec 2011 21:57:15 +0000 (22:57 +0100)]
re PR target/51387 (Test vect.exp/vect-116.c fails on execution when compiled with -mavx2 on sde.)
PR target/51387
* config/i386/sse.md (mul<mode>3 with VI1_AVX2 iterator): For
V32QImode use { 0,2,..,14,32,34,..,46,16,18,..,30,48,50,..,62 }
permutation instead of extract even permutation.
From-SVN: r181951
Nathan Sidwell [Fri, 2 Dec 2011 20:32:40 +0000 (20:32 +0000)]
gcov.c (struct arc_info): Add is_throw field.
* gcov.c (struct arc_info): Add is_throw field.
(struct (block_info): Add exceptional field, reduce flags size to
account for it.
(struct function_info): Add has_catch field.
(struct line_info): Add unexceptional field.
(process_file): Call find_exception_blocks if necessary.
(read_graph_file): Adjust. Note if an exceptional edge is seen.
(find_exception_blocks): New.
(add_line_counts): Set line's unexceptional flag if not
exceptional.
(output_branch_count): Note exceptional arcs, lines and blocks.
* gcov-dump.c (tag_arcs): Decode arc flags.
* doc/gcov.texi: Document '=====' lines.
testsuite/
* lib/gcov.exp (verify-lines): Allow = as a count char.
* g++.dg/gcov/gcov-13.C: New.
From-SVN: r181949
Michael Zolotukhin [Fri, 2 Dec 2011 19:49:10 +0000 (19:49 +0000)]
Increase array sizes in vect-tests to enable 256-bit vectorization
2011-12-02 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-24.c: Ditto.
* gcc.dg/vect/slp-3.c: Likewise and fix scans.
* gcc.dg/vect/slp-34.c: Ditto.
* gcc.dg/vect/slp-4.c: Ditto.
* gcc.dg/vect/slp-cond-2.c: Ditto.
* gcc.dg/vect/slp-multitypes-11.c: Ditto.
* gcc.dg/vect/vect-1.c: Ditto.
* gcc.dg/vect/vect-10.c: Ditto.
* gcc.dg/vect/vect-105.c: Ditto.
* gcc.dg/vect/vect-112.c: Ditto.
* gcc.dg/vect/vect-15.c: Ditto.
* gcc.dg/vect/vect-2.c: Ditto.
* gcc.dg/vect/vect-31.c: Ditto.
* gcc.dg/vect/vect-32.c: Ditto.
* gcc.dg/vect/vect-33.c: Ditto.
* gcc.dg/vect/vect-34.c: Ditto.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-36.c: Ditto.
* gcc.dg/vect/vect-6.c: Ditto.
* gcc.dg/vect/vect-73.c: Ditto.
* gcc.dg/vect/vect-74.c: Ditto.
* gcc.dg/vect/vect-75.c: Ditto.
* gcc.dg/vect/vect-76.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.
* gcc.dg/vect/vect-85.c: Ditto.
* gcc.dg/vect/vect-89.c: Ditto.
* gcc.dg/vect/vect-97.c: Ditto.
* gcc.dg/vect/vect-98.c: Ditto.
* gcc.dg/vect/vect-all.c: Ditto.
* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
* gcc.dg/vect/vect-iv-8.c: Ditto.
* gcc.dg/vect/vect-iv-8a.c: Ditto.
* gcc.dg/vect/vect-outer-1.c: Ditto.
* gcc.dg/vect/vect-outer-1a.c: Ditto.
* gcc.dg/vect/vect-outer-1b.c: Ditto.
* gcc.dg/vect/vect-outer-2.c: Ditto.
* gcc.dg/vect/vect-outer-2a.c: Ditto.
* gcc.dg/vect/vect-outer-2c.c: Ditto.
* gcc.dg/vect/vect-outer-3.c: Ditto.
* gcc.dg/vect/vect-outer-3a.c: Ditto.
* gcc.dg/vect/vect-outer-4a.c: Ditto.
* gcc.dg/vect/vect-outer-4b.c: Ditto.
* gcc.dg/vect/vect-outer-4c.c: Ditto.
* gcc.dg/vect/vect-outer-4d.c: Ditto.
* gcc.dg/vect/vect-outer-4m.c: Ditto.
* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
* gcc.dg/vect/vect-outer-fir.c: Ditto.
* gcc.dg/vect/vect-over-widen-1.c: Ditto.
* gcc.dg/vect/vect-over-widen-2.c: Ditto.
* gcc.dg/vect/vect-over-widen-3.c: Ditto.
* gcc.dg/vect/vect-over-widen-4.c: Ditto.
* gcc.dg/vect/vect-reduc-1char.c: Ditto.
* gcc.dg/vect/vect-reduc-2char.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
From-SVN: r181939
Ian Lance Taylor [Fri, 2 Dec 2011 19:34:41 +0000 (19:34 +0000)]
libgo: Update to weekly.2011-11-01.
From-SVN: r181938
Ian Lance Taylor [Fri, 2 Dec 2011 19:27:25 +0000 (19:27 +0000)]
merge.sh: Add files, add revision option, handle middle dot.
From-SVN: r181937
Georg-Johann Lay [Fri, 2 Dec 2011 18:45:07 +0000 (18:45 +0000)]
vector-subscript-1.c (main): Fix __builtin_memcpy arguments to honor sizeof(a).
* gcc.c-torture/execute/vector-subscript-1.c (main): Fix
__builtin_memcpy arguments to honor sizeof(a).
From-SVN: r181933
Anatoly Sokolov [Fri, 2 Dec 2011 17:44:28 +0000 (21:44 +0400)]
ia64.h (PRINT_OPERAND, [...]): Remove macros.
* config/ia64/ia64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macros.
* config/ia64/ia64-protos.h (ia64_print_operand,
ia64_print_operand_address): Remove.
* config/ia64/ia64.c (TARGET_PRINT_OPERAND,
TARGET_PRINT_OPERAND_ADDRESS, TARGET_PRINT_OPERAND_PUNCT_VALID_P):
Define.
(ia64_print_operand_punct_valid_p): New function.
(ia64_print_operand, ia64_print_operand_address): Make static.
From-SVN: r181932
Paolo Carlini [Fri, 2 Dec 2011 17:23:08 +0000 (17:23 +0000)]
iomanip (put_money): Fix thinko, use __err local, like in, eg, basic_ostream::_M_insert.
2011-12-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/iomanip (put_money): Fix thinko, use __err local,
like in, eg, basic_ostream::_M_insert.
From-SVN: r181931
Michael Meissner [Fri, 2 Dec 2011 17:18:51 +0000 (17:18 +0000)]
re PR target/51390 (Builtin changes on November 29th, broke recip-5.c)
PR 51390
From-SVN: r181930
Joseph Myers [Fri, 2 Dec 2011 16:54:27 +0000 (16:54 +0000)]
Revert:
2008-09-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/37451
* loop-doloop.c (doloop_modify): New argument zero_extend_p and
zero extend count after the correction to it is done.
(doloop_optimize): Update call to doloop_modify, don't zero extend
count before call.
2008-11-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/37782
* loop-doloop.c (doloop_modify): Add from_mode argument that says what
mode count is in.
(doloop_optimize): Update call to doloop_modify.
testsuite:
* gcc.c-torture/execute/doloop-1.c,
gcc.c-torture/execute/doloop-2.c: New tests.
From-SVN: r181929
Eric Botcazou [Fri, 2 Dec 2011 16:00:28 +0000 (16:00 +0000)]
Makefile.in (INCLUDES): Remove $(srcdir)/config.
2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
(INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
which allows the file to be installed in adainclude.
* gcc-interface/Make-lang.in: Update dependencies.
Co-Authored-By: Thomas Quinot <quinot@adacore.com>
From-SVN: r181928
Richard Guenther [Fri, 2 Dec 2011 15:49:37 +0000 (15:49 +0000)]
re PR lto/47259 (LTO and global register variable)
2011-12-02 Richard Guenther <rguenther@suse.de>
PR lto/47259
* ipa.c (varpool_externally_visible_p): Register variables
are always externally visible.
From-SVN: r181927
Arnaud Charlet [Fri, 2 Dec 2011 15:41:17 +0000 (16:41 +0100)]
[multiple changes]
2011-12-02 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Constrain_Access): Undo previous
patch for this routine. Required since the RM rule 3.7.1(7/3)
applies to all access types.
2011-12-02 Bob Duff <duff@adacore.com>
* sem_ch6.adb: Minor comment fix.
From-SVN: r181926
Joel Sherrill [Fri, 2 Dec 2011 15:17:14 +0000 (15:17 +0000)]
s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable for consistency with other ports.
2011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
* s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
for consistency with other ports.
* s-osinte-rtems.adb: Add body for dummy implementation of
pthread_rwlockattr_setkind_np().
* s-osinte-rtems.ads: Add missing clock and rwlock bindings.
* terminals.c: Add __rtems__ conditionals to account for differences
in termios implementation.
From-SVN: r181924
Robert Dewar [Fri, 2 Dec 2011 15:14:29 +0000 (15:14 +0000)]
sem_ch3.adb, [...]: Minor reformatting.
2011-12-02 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
a-cbmutr.ads: Minor reformatting.
From-SVN: r181922
Sameera Deshpande [Fri, 2 Dec 2011 15:08:22 +0000 (20:38 +0530)]
gimple-pretty-print.c (dump_gimple_call): Dereference fn only if non-NULL.
* gimple-pretty-print.c (dump_gimple_call): Dereference fn only if
non-NULL.
From-SVN: r181920
Arnaud Charlet [Fri, 2 Dec 2011 15:00:35 +0000 (16:00 +0100)]
[multiple changes]
2011-12-02 Hristian Kirtchev <kirtchev@adacore.com>
* exp_dbug.adb: Comment reformatting.
(Get_External_Name): Use Reset_Buffers to reset the contents of
Name_Buffer and Homonym_Numbers.
(Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
Homonym_Numbers before creating a new qualified name for a particular
entity.
(Reset_Buffers): New routine.
2011-12-02 Matthew Heaney <heaney@adacore.com>
* a-cbmutr.ads (No_Node): Moved declaration from body to spec
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
from Root_Iterator.
(Child_Iterator): Derives from Root_Iterator.
(Finalize): Implemented as an override operation for Root_Iterator.
(First): Return value depends on Subtree component.
(Last): Component was renamed from Parent to Subtree.
(Next): Checks parameter value, and uses simplified loop.
(Iterate): Forwards to Iterate_Subtree.
(Iterate_Children): Component was renamed from Parent to Subtree.
(Iterate_Subtree): Checks parameter value
2011-12-02 Robert Dewar <dewar@adacore.com>
* usage.adb: Add lines for -gnatw.n and -gnatw.N
(atomic sync info msgs).
2011-12-02 Steve Baird <baird@adacore.com>
* sem_ch3.adb (Check_Completion): An Ada 2012
generic formal type doesn't require a completion.
2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
packed array type if it is to be set on the array type used to
represent it.
2011-12-02 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Eliminate confusing use of type name.
From-SVN: r181919
Thomas Quinot [Fri, 2 Dec 2011 14:56:34 +0000 (14:56 +0000)]
sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram body that acts as spec...
2011-12-02 Thomas Quinot <quinot@adacore.com>
* sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
body that acts as spec, do not create a shallow copy of the context
clause for the synthetized spec (instead, use the same list as
in the body).
From-SVN: r181918
Arnaud Charlet [Fri, 2 Dec 2011 14:54:08 +0000 (15:54 +0100)]
[multiple changes]
2011-12-02 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Clarify usage of -p binder switch.
2011-12-02 Javier Miranda <miranda@adacore.com>
* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
(Effectively_Has_Constrained_Partial_View): Moved to sem_aux
(In_Generic_Body): Moved to sem_aux.
(Unit_Declaration_Node): Moved to sem_aux.
* einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
documentation.
* exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
exp_ch13.adb: Add with-clause on Sem_Aux.
From-SVN: r181917
Yannick Moy [Fri, 2 Dec 2011 14:50:16 +0000 (14:50 +0000)]
sem_util.adb (Unique_Name): Reach through Unique_Entity to get the name of the entity.
2011-12-02 Yannick Moy <moy@adacore.com>
* sem_util.adb (Unique_Name): Reach through Unique_Entity to
get the name of the entity.
(Unique_Entity): Correct case for subprogram stubs.
2011-12-02 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Check_Initialization): Do not emit warning on
initialization of limited type object in Alfa mode.
From-SVN: r181916
Robert Dewar [Fri, 2 Dec 2011 14:48:00 +0000 (14:48 +0000)]
sinfo.ads: Minor reformatting.
2011-12-02 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Minor reformatting.
* gnat_ugn.texi: Fix confusion in use of term "type name".
From-SVN: r181915
Arnaud Charlet [Fri, 2 Dec 2011 14:45:58 +0000 (15:45 +0100)]
[multiple changes]
2011-12-02 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Minor change in error message.
2011-12-02 Robert Dewar <dewar@adacore.com>
* sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
reformatting.
2011-12-02 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
static check of the rule of general access types whose designated
type has discriminants.
* sem_util.ads, sem_util.adb
(Effectively_Has_Constrained_Partial_View): New subprogram.
(In_Generic_Body): New subprogram.
* einfo.ads (Has_Constrained_Partial_View): Adding documentation.
* sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
subprogram In_Generic_Body.
* exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
sem_ch4.adb: In addition, this patch replaces the occurrences of
Has_Constrained_Partial_View by
Effectively_Has_Constrained_Partial_View.
2011-12-02 Matthew Heaney <heaney@adacore.com>
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
Position component.
(Finalize): Remove unnecessary access check.
(First): Forward to First_Child.
(Last): Forward to Last_Child.
(Iterate): Check preconditions for parent node parameter.
(Next): Forward to Next_Sibling.
(Previous): Forward to Previous_Sibling.
From-SVN: r181914
Robert Dewar [Fri, 2 Dec 2011 14:38:54 +0000 (14:38 +0000)]
a-coinve.adb, [...]: Minor reformatting.
2011-12-02 Robert Dewar <dewar@adacore.com>
* a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
a-coormu.adb, a-convec.adb: Minor reformatting.
From-SVN: r181913
Arnaud Charlet [Fri, 2 Dec 2011 14:36:31 +0000 (15:36 +0100)]
[multiple changes]
2011-12-02 Matthew Heaney <heaney@adacore.com>
* a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
* a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
Iterator type.
(Finalize): Decrement busy counter.
(First, Last): Cursor return value depends on iterator node value.
(Iterate): Use start position as iterator node value.
(Next, Previous): Forward to corresponding cursor-based operation.
2011-12-02 Robert Dewar <dewar@adacore.com>
* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
a-ciorma.adb, a-cobove.adb: Minor reformatting.
From-SVN: r181912
Martin Jambor [Fri, 2 Dec 2011 12:53:03 +0000 (13:53 +0100)]
re PR tree-optimization/50622 (ICE: verify_gimple failed for std::complex<double>)
2011-12-02 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/50622
* tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
if both lacc and racc are grp_partial_lhs.
* testsuite/g++.dg/tree-ssa/pr50622.C: New test.
From-SVN: r181908
Alan Modra [Fri, 2 Dec 2011 10:54:02 +0000 (21:24 +1030)]
affinity.c: Use atomic rather than sync builtin.
* config/linux/affinity.c: Use atomic rather than sync builtin.
* config/linux/lock.c: Likewise.
* config/linux/ptrlock.h: Likewise.
* config/linux/ptrlock.c: Likewise.
* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
* config/linux/futex.h (atomic_write_barrier): Delete unused function.
* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
From-SVN: r181906
Jason Merrill [Fri, 2 Dec 2011 02:57:40 +0000 (21:57 -0500)]
call.c (build_new_method_call_1): Handle aggregate initialization.
* call.c (build_new_method_call_1): Handle aggregate initialization.
* tree.c (stabilize_init): Handle CONSTRUCTOR.
From-SVN: r181902
GCC Administrator [Fri, 2 Dec 2011 00:18:49 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181901
Ian Lance Taylor [Thu, 1 Dec 2011 23:50:48 +0000 (23:50 +0000)]
runtime: Remove temporary runtime_cond_wait function.
From-SVN: r181897
Kaz Kojima [Thu, 1 Dec 2011 23:01:58 +0000 (23:01 +0000)]
re PR target/50814 (SH Target: SHAD / SHLD instructions not used on SH2A)
PR target/50814.
* config/sh/sh.c (expand_ashiftrt): Handle TARGET_SH2A same as
TARGET_SH3.
(shl_sext_kind): Likewise.
* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Likewise.
* config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a):
Remove.
(ashlsi3_std): Handle TARGET_SH2A same as TARGET_SH3.
(ashlsi3): Likewise.
(ashrsi3_d): Likewise.
(lshrsi3_d): Likewise.
(lshrsi3): Likewise.
From-SVN: r181896
Paolo Carlini [Thu, 1 Dec 2011 22:13:19 +0000 (22:13 +0000)]
re PR c++/51326 (ICE with invalid override)
/cp
2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51326
* call.c (build_user_type_conversion_1): Early return NULL if
expr is NULL_TREE.
/testsuite
2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51326
* g++.dg/inherit/crash3.C: New.
From-SVN: r181895
Diego Novillo [Thu, 1 Dec 2011 21:05:10 +0000 (16:05 -0500)]
re PR bootstrap/51346 (LTO bootstrap failed with bootstrap-profiled)
PR bootstrap/51346
* ipa-inline.c (can_inline_edge_p): If the edge E has a
statement, use the statement's inline indicator instead
of E's.
Remove consistency check.
From-SVN: r181894