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.
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.
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
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.
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.
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
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.
* 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.
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).
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.
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.
Diego Novillo [Thu, 1 Dec 2011 21:04:21 +0000 (16:04 -0500)]
Revert
2011-11-29 Diego Novillo <dnovillo@google.com>
* gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
Update field call_stmt_cannot_inline_p from call
graph edge, if needed.
* gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
Jakub Jelinek [Thu, 1 Dec 2011 19:12:54 +0000 (20:12 +0100)]
re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
* tree-ssa-dce.c (remove_dead_stmt): Add a debug stmt when removing
as unnecessary a store to a variable with gimple reg type.
* tree-ssa-live.c (remove_unused_locals): Clear TREE_ADDRESSABLE bit
on local unreferenced variables.
* cfgexpand.c (expand_gimple_basic_block): Don't emit DEBUG_INSNs
for !target_for_debug_bind variables.
Patrick Marlier [Thu, 1 Dec 2011 17:46:32 +0000 (17:46 +0000)]
re PR middle-end/51273 (ICE: vector VEC(inline_summary_t,base) index domain error, in inline_summary at ipa-inline.h:193 with -O -fgnu-tm, transaction_safe and overloaded contructor)
PR middle-end/51273
* cgraph.h (cgraph_call_node_duplication_hooks): Declare.
* cgraph.c (cgraph_call_node_duplication_hooks): Make global.
* cgraphunit.c (cgraph_copy_node_for_versioning): Call it.
Joern Rennecke [Thu, 1 Dec 2011 14:25:24 +0000 (14:25 +0000)]
re PR tree-optimization/50802 (FAIL: gcc.c-torture/execute/arith-rand-ll.c execution at -O2 and -Os)
PR tree-optimization/50802
* tree-vrp.c (simplify_conversion_using_ranges): Rewrite test
considering what happens to ranges during sign changes and/or
intermediate narrowing conversions.
Janne Blomqvist [Thu, 1 Dec 2011 14:12:37 +0000 (16:12 +0200)]
PR 25708 Avoid seeking when parsing strings and when peeking.
2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/25708
* module.c (parse_string): Read string into resizable array
instead of parsing twice and seeking.
(peek_atom): New implementation avoiding seeks.
(require_atom): Save and set column and line explicitly for error
handling.
Jason Merrill [Thu, 1 Dec 2011 05:40:54 +0000 (00:40 -0500)]
re PR c++/51009 (ICE in verify_gimple_stmt)
PR c++/51009
* name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p.
* decl.c (build_aggr_init_full_exprs): Just assert that it's true.
(check_initializer): Here too.
Swap the action and jmpbuf arguments to GTM_longjmp
On several ABIs, the first register parameter is the same as
the return value register. Moving the action parameter first
avoids the need for register shuffling on these targets.
* libitm_i.h (GTM_longjmp): Swap first and second arguments.
* beginend.c (_ITM_abortTransaction): Update to match.
(GTM::gtm_thread::restart): Likewise.
* config/alpha/sjlj.S (GTM_longjmp): Likewise.
* config/x86/sjlj.S (GTM_longjmp): Likewise.
Jakub Jelinek [Wed, 30 Nov 2011 21:59:04 +0000 (22:59 +0100)]
re PR middle-end/51089 (internal compiler error: verify_flow_info failed)
PR middle-end/51089
* tree-eh.c (cleanup_empty_eh_merge_phis): Add check to
avoid creating duplicate edges here.
(cleanup_empty_eh_unsplit): And remove it in the caller.
* config/sparc/sparc-opts.h (enum sparc_memory_model_type): New.
* config/sparc/sparc.opt (mmemory-model=): New option.
* doc/invoke.texi (Sparc Options): Document it.
* config/sparc/sparc.c (sparc_option_override): Provide default
for sparc_memory_model.
(sparc_emit_membar_for_model): Omit barrier combinations that are
implied by the memory model.
* config/sparc/constraints.md ("w"): New.
* config/sparc/predicates.md (mem_noofs_operand): New.
* config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Make static.
Generate the boolean result of the atomic_compare_exchange.
(sparc_expand_compare_and_swap): New.
* config/sparc/sync.md (atomic_compare_and_swap<I>): New.
(atomic_compare_and_swap<I48MODE>_1): Rename from
*sync_compare_and_swap<I48MODE>, use mem_noofs_operand.
(*atomic_compare_and_swapdi_v8plus): Rename from
*sync_compare_and_swapdi_v8plus, use mem_noofs_operand.
(sync_compare_and_swap<I12MODE>): Remove.
(sync_compare_and_swap<I48MODE>): Remove.
Alan Modra [Wed, 30 Nov 2011 04:44:13 +0000 (15:14 +1030)]
re PR libgomp/51298 (libgomp team_barrier locking failures)
PR libgomp/51298
* config/linux/bar.h: Use atomic rather than sync builtins.
* config/linux/bar.c: Likewise. Add missing acquire
synchronisation on generation field.
* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
double unlock.
Jakub Jelinek [Tue, 29 Nov 2011 21:03:09 +0000 (22:03 +0100)]
re PR tree-optimization/51247 (ICE in set_value_range, at tree-vrp.c:417)
PR tree-optimization/51247
* tree-vrp.c (extract_range_from_assert): For signed 1-bit precision
types instead of adding 1 subtract -1 and instead of subtracting 1
add -1 to avoid overflows.
Andrew MacLeod [Tue, 29 Nov 2011 19:42:44 +0000 (19:42 +0000)]
re PR target/50123 (cmpxchg generated for atomic and with zero/or with -1)
2011-11-29 Andrew MacLeod <amacleod@redhat.com>
PR target/50123
* optabs.c (maybe_optimize_fetch_op): New. Look for more optimal
instructions for a FECTH_OP or OP_FECTH sequence.
(expand_atomic_fetch_op): Call maybe_optimize_fetch_op.
* testsuite/gcc.dg/atomic-op-optimize.c: New. Test for optimizations.