Paolo Carlini [Fri, 25 Nov 2011 01:00:44 +0000 (01:00 +0000)]
re PR c++/51227 ([c++0x] ICE with invalid parameter in lambda expression)
/cp
2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51227
* pt.c (instantiate_class_template_1): If lambda_function (type)
is NULL_TREE do not instantiate_decl.
/testsuite
2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51227
* g++.dg/cpp0x/lambda/lambda-ice5.C: New.
From-SVN: r181707
GCC Administrator [Fri, 25 Nov 2011 00:18:59 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181706
Andrew MacLeod [Thu, 24 Nov 2011 23:14:31 +0000 (23:14 +0000)]
optab.c (maybe_emit_atomic_exchange): New.
2011-11-24 Andrew MacLeod <amacleod@redhat.com>
* optab.c (maybe_emit_atomic_exchange): New. Try to emit an
atomic_exchange pattern.
(maybe_emit_sync_lock_test_and_set): New. Try to emit an exchange
using __sync_lock_test_and_set.
(maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
exchange using a compare_and_swap loop.
(expand_sync_lock_test_and_set): New. Expand sync_lock_test_and_set.
(expand_atomic_test_and_set): New. Expand test_and_set operation.
(expand_atomic_exchange): Use new maybe_emit_* functions.
(expand_atomic_store): Use new maybe_emit_* functions.
* builtins.c (expand_builtin_sync_lock_test_and_set): Call
expand_sync_lock_test_and_set routine.
(expand_builtin_atomic_exchange): Remove parameter from call.
(expand_builtin_atomic_clear): Use atomic_clear pattern if present.
(expand_builtin_atomic_test_and_set): Add target and simply call
expand_atomic_test_and_set.
(expand_builtin): Add target to expand_builtin_atomic_test_and_set.
* expr.h (expand_atomic_exchange): Add parameter.
(expand_sync_lock_test_and_set): New prototype.
(expand_atomic_test_and_set, expand_atomic_clear): New prototypes.
From-SVN: r181702
H.J. Lu [Thu, 24 Nov 2011 22:11:12 +0000 (22:11 +0000)]
Revert revision 181357.
gcc/
2011-11-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/51134
* config/i386/i386.h (processor_costs): Revert revision 181357.
* config/i386/i386.c (cost models): Likewise.
(core_cost): Likewise.
(promote_duplicated_reg): Likewise.
(promote_duplicated_reg_to_size): Likewise.
(processor_target): Likewise.
(expand_set_or_movmem_via_loop_with_iter): Likewise.
(expand_set_or_movmem_via_loop): Likewise.
(emit_strset): Likewise.
(expand_movmem_epilogue): Likewise.
(expand_setmem_epilogue): Likewise.
(expand_movmem_prologue): Likewise.
(expand_setmem_prologue): Likewise.
(expand_constant_movmem_prologue): Likewise.
(expand_constant_setmem_prologue): Likewise.
(decide_alg): Likewise.
(decide_alignment): Likewise.
(ix86_expand_movmem): Likewise.
(ix86_expand_setmem): Likewise.
(ix86_slow_unaligned_access): Likewise.
* config/i386/i386.md (strset): Likewise.
* config/i386/sse.md (vec_dupv4si): Likewise.
(vec_dupv2di): Likewise.
gcc/testsuite/
2011-11-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/51134
* gcc.target/i386/sw-1.c: Revert revision 181357.
From-SVN: r181701
Georg-Johann Lay [Thu, 24 Nov 2011 21:12:00 +0000 (21:12 +0000)]
avr.md (*rotlhi2.15): Set length to 4.
* config/avr/avr.md (*rotlhi2.15): Set length to 4.
From-SVN: r181700
Tobias Burnus [Thu, 24 Nov 2011 17:57:41 +0000 (18:57 +0100)]
re PR fortran/51218 (Potential optimization bug due to implicit_pure?)
2011-11-24 Tobias Burnus <burnus@net-b.de>
PR fortran/51218
* resolve.c (pure_subroutine): If called subroutine is
impure, unset implicit_pure.
(resolve_function): Move impure check to simplify code.
2011-11-24 Tobias Burnus <burnus@net-b.de>
PR fortran/51218
* gfortran.dg/implicit_pure_1.f90: New.
From-SVN: r181698
Rainer Orth [Thu, 24 Nov 2011 16:34:09 +0000 (16:34 +0000)]
Fix several atomic tests on 32-bit x86 (PR testsuite/51258)
PR testsuite/51258
* gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
* gcc.dg/atomic-exchange-5.c: Likewise.
* gcc.dg/atomic-load-5.c: Likewise.
* gcc.dg/atomic-op-5.c: Likewise.
* gcc.dg/atomic-store-5.c: Likewise.
* gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.
From-SVN: r181697
Rainer Orth [Thu, 24 Nov 2011 16:27:31 +0000 (16:27 +0000)]
Fix bootstrap error in s-taprop-tru64.adb
* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
From-SVN: r181696
Jakub Jelinek [Thu, 24 Nov 2011 15:23:18 +0000 (16:23 +0100)]
re PR rtl-optimization/50290 (ICE: in distribute_notes, at combine.c:13282 with -O2 -fwhole-program -fno-tree-loop-optimize -fno-tree-vrp -funroll-loops)
PR rtl-optimization/50290
* gcc.dg/pr50290.c: New test.
From-SVN: r181694
Razya Ladelsky [Thu, 24 Nov 2011 14:07:36 +0000 (14:07 +0000)]
tree-data-ref.c (initialize_data_dependence_relation): Update
* tree-data-ref.c (initialize_data_dependence_relation): Update
* comment for the
self dependence case.
(compute_self_dependence): Remove.
* tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to
compute_self_dependenc.
From-SVN: r181691
Paolo Carlini [Thu, 24 Nov 2011 10:20:43 +0000 (10:20 +0000)]
re PR c++/51290 (Bogus warning: zero as null pointer constant with static_cast)
/cp
2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51290
* class.c (build_base_path): For the null pointer check use
nullptr_node instead of integer_zero_node.
/testsuite
2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51290
* g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.
From-SVN: r181690
Jakub Jelinek [Thu, 24 Nov 2011 07:18:16 +0000 (08:18 +0100)]
re PR bootstrap/50888 (Bootstrap failure in libjava against latest git glibc)
PR bootstrap/50888
* prims.cc: Don't include ctype.h.
(c_isspace): Define.
(next_property_key, next_property_value): Use it instead
of isspace.
From-SVN: r181685
Alan Modra [Thu, 24 Nov 2011 02:45:21 +0000 (13:15 +1030)]
c-decl.c (warn_if_shadowing): Don't warn if shadowed identifier is from system header.
* c-decl.c (warn_if_shadowing): Don't warn if shadowed
identifier is from system header.
From-SVN: r181684
GCC Administrator [Thu, 24 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181683
François Dumont [Wed, 23 Nov 2011 20:30:18 +0000 (20:30 +0000)]
re PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearly empty)
2011-11-23 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/41975
* include/bits/hashtable.h (_Hashtable<>): Major data model
modification to limit performance impact of empty buckets in
erase(iterator) implementation.
* include/bits/hashtable_policy.h (_Hashtable_iterator,
_Hashtable_const_iterator): Remove not used anymore.
* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
_M_grow_factor, just use natural evolution of prime numbers. Add
_M_prev_size to know when the number of buckets can be reduced.
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>), unordered_map.h (__unordered_map<>,
__unordered_multimap<>): Change default value of cache hash code
template parameter, false for integral types with noexcept hash
functor, true otherwise.
* include/debug/unordered_map, unordered_set: Adapt transformation
from iterator/const_iterator to respectively
local_iterator/const_local_iterator.
* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
* testsuite/23_containers/unordered_multiset/erase/1.cc,
24061-multiset.cc: Add checks on the number of bucket elements.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
multiset_single.cc, multiset_single_move.cc: Likewise.
From-SVN: r181677
Jakub Jelinek [Wed, 23 Nov 2011 20:29:08 +0000 (21:29 +0100)]
re PR target/51261 (-fcompare-debug with memset())
PR target/51261
* config/i386/i386.c (decide_alg): Initialize *dynamic_check
even if !optimize.
* gcc.dg/pr51261.c: New test.
From-SVN: r181676
Vladimir Makarov [Wed, 23 Nov 2011 18:51:17 +0000 (18:51 +0000)]
re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
2011-11-23 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/48455
* doc/invoke.texi (-fira-region): Document default values.
* flags-types.h (enum ira_region): Add new value
IRA_REGION_AUTODETECT.
* common.opt (fira-region): Set up initial value to
IRA_REGION_AUTODETECT.
* toplev.c (process_options): Set up flag_ira_region depending on
-O options.
* ira.c (ira.c): Remove optimize guard for ira_build.
From-SVN: r181675
Jeffrey A Law [Wed, 23 Nov 2011 17:37:01 +0000 (17:37 +0000)]
lang.c (java_init_options_struct): Disable optimizations which assume a NULL pointer dereference will cause a fault.
* lang.c (java_init_options_struct): Disable optimizations
which assume a NULL pointer dereference will cause a fault.
From-SVN: r181674
Arnaud Charlet [Wed, 23 Nov 2011 14:05:26 +0000 (15:05 +0100)]
[multiple changes]
2011-11-23 Thomas Quinot <quinot@adacore.com>
* thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
only on platforms where this is required, as determined by
s-oscons.h.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb: No check on entry index if error on index.
2011-11-23 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
return statements nested inside an extended_return_statement.
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
From-SVN: r181670
Thomas Quinot [Wed, 23 Nov 2011 13:53:11 +0000 (14:53 +0100)]
mlib-tgt-specific-vxworks.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* mlib-tgt-specific-vxworks.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.
From-SVN: r181669
Arnaud Charlet [Wed, 23 Nov 2011 13:51:23 +0000 (14:51 +0100)]
[multiple changes]
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_All_Ent): An incomplete type is not
frozen by a subprogram body that does not come from source.
2011-11-23 Pascal Obry <obry@adacore.com>
* s-oscons-tmplt.c: Add PTY_Library constant. It contains
the library for pseudo terminal support.
* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
pragma.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb: No check on entry family index if generic.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
System.OS_Constants from shared spec of
System.Tasking.Primitive_Operations to the specific body variants
that really require this dependency.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
If the declaration has aspects, analyze them so they can be
properly rejected.
2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
Add with and use clause for Ada.Finalization. Type
Iterator and Child_Iterator are now derived from Limited_Controlled.
(Finalize): New routine.
(Iterate): Add a renaming of counter Busy and
increment it. Update the return aggregate.
(Iterate_Children): Add a renaming of
counter Busy and increment it. Update the return aggregate.
(Iterate_Subtree): Add a renaming of counter Busy and increment
it. Update the return aggregate.
* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
type.
* a-cihama.ads: Type Map_Access is now a general access type.
* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
associated with the tree.
* a-cohama.ads: Type Map_Access is now a general access type.
* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
access type.
* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
to wrap the loop as this is done at an earlier step, during
analysis. The declarations of the iterator and the cursor use
the usual Insert_Action mechanism when added into the tree.
* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
Loop_Statement and replace all respective uses by N. Add local
constant Loc. Preanalyze the loop iterator to discover whether
it is a container iterator and if it is, wrap the loop in a
block. This ensures that any controlled temporaries produced
by the iteration scheme share the same lifetime of the loop.
(Is_Container_Iterator): New routine.
(Is_Wrapped_In_Block): New routine.
(Pre_Analyze_Range): Move spec and body to the library level.
2011-11-23 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
that controls casing of type and subtype names.
2011-11-23 Yannick Moy <moy@adacore.com>
* sem_ch3.adb: Minor addition of comments.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* prj-part.adb (Extension_Withs): New global variable,
contains the head of the list of WITH clauses from the EXTENDS
ALL projects for which virtual packages are being created.
(Look_For_Virtual_Projects_For): When recursing through
an EXTENDS ALL, add the WITH clauses of the extending
project to Extension_Withs. When adding a project to the
Virtual_Hash, record the associated Extension_Withs list.
(Create_Virtual_Extending_Project): Add a copy of the appropriate
Extension_Withs to the virtual project.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* mlib-tgt-specific-vxworks.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.
From-SVN: r181668
Matthew Heaney [Wed, 23 Nov 2011 13:36:40 +0000 (13:36 +0000)]
a-cdlili.adb, [...] (Iterator): Declared Iterator type as limited (First...
2011-11-23 Matthew Heaney <heaney@adacore.com>
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
Iterator type as limited (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.
From-SVN: r181667
Arnaud Charlet [Wed, 23 Nov 2011 13:32:44 +0000 (14:32 +0100)]
[multiple changes]
2011-11-23 Matthew Heaney <heaney@adacore.com>
* a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
Renamed from Ordered_Set_Iterator_Interfaces.
* a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
Iterator type as limited (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.
* a-cohase.ads, a-cohase.adb: Implemented forward iterator.
* a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
node component (First, Next): Forward call to corresponding
cursor-based operation (Iterate): Representation of iterator no
longer has node component
2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
* exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
dereference has a proper type before the side effect removal
mechanism kicks in.
* sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
where the base type of the subtype is a private itype created
to act as the partial view of a constrained record type. This
scenario manifests with equivalent class-wide types for records
with unknown discriminants.
2011-11-23 Jerome Guitton <guitton@adacore.com>
* s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
reformatting/reorganization.
From-SVN: r181666
Thomas Quinot [Wed, 23 Nov 2011 13:22:51 +0000 (13:22 +0000)]
g-htable.ads: Remove old comments.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* g-htable.ads: Remove old comments.
From-SVN: r181665
Chung-Lin Tang [Wed, 23 Nov 2011 13:22:30 +0000 (13:22 +0000)]
re PR rtl-optimization/50496 (ICE in redirect_jump, at jump.c:1497)
2011-11-23 Chung-Lin Tang <cltang@codesourcery.com>
PR rtl-optimization/50496
* jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX
only after epilogue is created. Add comments.
From-SVN: r181664
Thomas Quinot [Wed, 23 Nov 2011 13:19:56 +0000 (13:19 +0000)]
exp_imgv.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* exp_imgv.adb: Minor reformatting.
From-SVN: r181663
Arnaud Charlet [Wed, 23 Nov 2011 11:33:23 +0000 (12:33 +0100)]
Remove hard coded clock id.
From-SVN: r181662
Arnaud Charlet [Wed, 23 Nov 2011 11:25:39 +0000 (12:25 +0100)]
Update dependencies.
From-SVN: r181661
Arnaud Charlet [Wed, 23 Nov 2011 11:24:48 +0000 (12:24 +0100)]
[multiple changes]
2011-11-23 Robert Dewar <dewar@adacore.com>
* sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
family bounds out of range.
2011-11-23 Matthew Heaney <heaney@adacore.com>
* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
type as limited, and remove node component.
(First, Next): Forward call to corresponding cursor-based operation.
(Iterate): Representation of iterator no longer has node component.
2011-11-23 Yannick Moy <moy@adacore.com>
* exp_util.adb: Revert previous change to remove side-effects in Alfa
mode, which is not the correct thing to do for renamings.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
s-taprop-posix.adb: Remove hard-coded clock ids;
instead, generate them in System.OS_Constants.
(System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
id of the clock providing Ada.Real_Time.Monotonic_Clock.
* thread.c: New file.
(__gnat_pthread_condattr_setup): New function. For platforms where
CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
variable attribute.
2011-11-23 Yannick Moy <moy@adacore.com>
* sem_ch3.adb: Restore the use of Expander_Active instead of
Full_Expander_Active, so that the evaluation is forced in Alfa
mode too. Otherwise, we end up with an unexpected insertion in a
place where it is not supposed to happen, on default parameters
of a call.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
for Pretty_Print, for use from within gdb.
From-SVN: r181660
Arnaud Charlet [Wed, 23 Nov 2011 11:04:39 +0000 (12:04 +0100)]
[multiple changes]
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
and the cursor declarations in a block, so that the loop variable
is local to the construct.
2011-11-23 Matthew Heaney <heaney@adacore.com>
* a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
type Reversible_Iterator'Class.
* a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
Declare type as limited.
(First, Last): Return value depends on iterator's start node value.
(Next, Previous): Call corresponding Cursor-based operation.
(Iterate): Indicate whether complete or partial iteration
From-SVN: r181659
Robert Dewar [Wed, 23 Nov 2011 11:02:03 +0000 (11:02 +0000)]
errout.adb: Minor reformattin (Finalize): Take templates into account for warning suppression.
2011-11-23 Robert Dewar <dewar@adacore.com>
* errout.adb: Minor reformattin (Finalize): Take templates into
account for warning suppression.
* errout.ads (Set_Specific_Warning_Off): Add Used parameter.
* erroutc.adb: Minor reformatting (Finalize): Take generic
templates into account for warning suppress.
* erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
* sem_prag.adb: Minor reformatting (Analyze_Pragma,
case Warnings): Provide Used parameter in call to
Set_Specific_Warnings_Off (to deal with generic template case).
From-SVN: r181658
Arnaud Charlet [Wed, 23 Nov 2011 11:00:29 +0000 (12:00 +0100)]
[multiple changes]
2011-11-23 Pascal Obry <obry@adacore.com>
* sem_prag.adb (Process_Convention): Better error message for
stdcall convention on dispatching calls.
2011-11-23 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb, sem_ch13.adb: Minor reformatting.
2011-11-23 Javier Miranda <miranda@adacore.com>
* exp_ch6.adb (Expand_Simple_Function_Return): Add missing
implicit type conversion when the returned object is allocated
in the secondary stack and the type of the returned object is
an interface. Done to force generation of displacement of the
"this" pointer.
From-SVN: r181657
Arnaud Charlet [Wed, 23 Nov 2011 10:58:14 +0000 (11:58 +0100)]
[multiple changes]
2011-11-23 Pascal Obry <obry@adacore.com>
* impunit.adb: Add g-exptty and g-tty units.
2011-11-23 Robert Dewar <dewar@adacore.com>
* exp_imgv.adb: Minor code reorganization (use Make_Temporary).
From-SVN: r181656
Arnaud Charlet [Wed, 23 Nov 2011 10:54:21 +0000 (11:54 +0100)]
[multiple changes]
2011-11-23 Robert Dewar <dewar@adacore.com>
* exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
reformatting.
2011-11-23 Yannick Moy <moy@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
line of precondition/ postcondition/invariant.
2011-11-23 Pascal Obry <obry@adacore.com>
* g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
terminals.c: New files.
Makefile.rtl: Add these new files.
* gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
* gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r181655
Iain Sandoe [Wed, 23 Nov 2011 09:46:59 +0000 (09:46 +0000)]
Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
libitm:
* Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
* Makefile.in: Regenerate.
From-SVN: r181654
Dodji Seketeli [Wed, 23 Nov 2011 08:23:59 +0000 (08:23 +0000)]
PR c++/51145 - Alias template in elaborated-type-specifier accepted
gcc/cp/
PR c++/51145
* decl.c (check_elaborated_type_specifier): Gracefully handle
error_mark_node. Accept bound template template parameters.
Update diagnostics for alias template specializations. Update
comment.
* parser.c (cp_parser_elaborated_type_specifier): Use
check_elaborated_type_specifier for simple-template-ids as well.
gcc/testsuite/
PR c++/51145
* g++.dg/cpp0x/alias-decl-14.C: New test.
* g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
passing before.
* g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
change.
* g++.dg/ext/attrib27.C: Adjust for diagnostic change.
* g++.dg/lookup/struct1.C: Likewise.
* g++.dg/parse/elab1.C: Likewise.
* g++.dg/parse/elab2.C: Likewise.
* g++.dg/parse/int-as-enum1.C: Likewise.
* g++.dg/parse/typedef1.C: Likewise.
* g++.dg/parse/typedef3.C: Likewise.
* g++.dg/parse/typedef4.C: Likewise.
* g++.dg/parse/typedef5.C: Likewise.
* g++.dg/template/crash26.C: Likewise.
* g++.dg/template/nontype4.C: Likewise.
* g++.old-deja/g++.benjamin/typedef01.C: Likewise.
* g++.old-deja/g++.brendan/line1.C: Likewise.
* g++.old-deja/g++.other/elab1.C: Likewise.
* g++.old-deja/g++.other/syntax4.C: Likewise.
From-SVN: r181653
GCC Administrator [Wed, 23 Nov 2011 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r181648
Richard Henderson [Tue, 22 Nov 2011 23:13:48 +0000 (15:13 -0800)]
ia64: Update to atomic optabs
* config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter.
Generate the barrier required for the memory model.
(rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL.
* config/ia64/ia64-protos.h: Update.
* config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New.
(UNSPEC_CMPXCHG_REL): New.
* config/ia64/sync.md (mem_thread_fence): New.
(atomic_load<IMODE>, atomic_store<IMODE>): New.
(atomic_compare_and_swap<IMODE>): New.
(cmpxchg_acq_<I124MODE>, cmpxchg_acq_di): New.
(atomic_exchange<IMODE>): New.
(xchg_acq_<IMODE>): Rename from sync_lock_test_and_set<IMODE>.
(atomic_<FETCHOP><IMODE>, atomic_nand<IMODE>): New.
(atomic_fetch_<FETCHOP><IMODE>, atomic_fetch_nand<IMODE>): New.
(atomic_<FETCHOP>_fetch<IMODE>, atomic_nand_fetch<IMODE>): New.
(fetchadd_rel_<I48MODE>): New.
(sync_<FETCHOP><IMODE>, sync_nand<IMODE>): Remove.
(sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): Remove.
(sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): Remove.
(sync_compare_and_swap<IMODE>): Remove.
(sync_lock_release<IMODE>): Remove.
From-SVN: r181643
Richard Henderson [Tue, 22 Nov 2011 22:55:58 +0000 (14:55 -0800)]
ia64: Use define_c_enum for unspec constants.
* config/ia64/ia64.md: Use define_e_enum for UNSPEC_*
and UNSPECV_* constants.
From-SVN: r181642
Tom de Vries [Tue, 22 Nov 2011 20:55:10 +0000 (20:55 +0000)]
re PR rtl-optimization/50764 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243 with -O2 -fsched2-use-superblocks -ftree-tail-merge)
2011-11-22 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/50764
* gcc.dg/pr50764.c: New test.
From-SVN: r181640
Tom de Vries [Tue, 22 Nov 2011 20:55:01 +0000 (20:55 +0000)]
re PR rtl-optimization/50764 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243 with -O2 -fsched2-use-superblocks -ftree-tail-merge)
2011-11-22 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/50764
* sched-deps.c (sched_analyze_insn): Make sure frame-related insns are
not moved past preceding jump.
From-SVN: r181639
Paolo Carlini [Tue, 22 Nov 2011 20:48:33 +0000 (20:48 +0000)]
re PR c++/51265 (ICE in finish_decltype_type, at cp/semantics.c:5244)
/cp
2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51265
* semantics.c (finish_decltype_type): Handle PTRMEM_CST.
/testsuite
2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51265
* g++.dg/cpp0x/decltype36.C: New.
From-SVN: r181638
Jeff Law [Tue, 22 Nov 2011 20:32:19 +0000 (13:32 -0700)]
contrib.texi: Add entry for David Binderman.
* doc/contrib.texi: Add entry for David Binderman.
From-SVN: r181634
Ian Lance Taylor [Tue, 22 Nov 2011 20:24:44 +0000 (20:24 +0000)]
runtime: New lock/note implementation.
From-SVN: r181633
Andreas Krebbel [Tue, 22 Nov 2011 19:52:34 +0000 (19:52 +0000)]
postreload.c (reload_combine): Mark reg_state as invalid at volatile insns if there has been a use already.
2011-11-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* postreload.c (reload_combine): Mark reg_state as invalid at
volatile insns if there has been a use already.
From-SVN: r181631
Aldy Hernandez [Tue, 22 Nov 2011 18:37:16 +0000 (18:37 +0000)]
opts.c (finish_options): Do not fail for -fgnu-tm.
* opts.c (finish_options): Do not fail for -fgnu-tm.
* gimple-streamer-out.c (output_gimple_stmt): Handle GIMPLE_TRANSACTION.
* gimple-streamer-in.c (input_gimple_stmt): Same.
* lto-cgraph.c (input_overwrite_node): Read tm_clone bit.
(lto_output_node): Write tm_clone bit.
lto/
* lto-lang.c (lto_attribute_table): Handle transaction_pure.
(handle_transaction_pure_attribute): New.
From-SVN: r181629
Ian Lance Taylor [Tue, 22 Nov 2011 17:25:51 +0000 (17:25 +0000)]
install.texi (Configuration): Correct doc of --enable-build-poststage1-with-cxx: it is not experimental.
* doc/install.texi (Configuration): Correct doc of
--enable-build-poststage1-with-cxx: it is not experimental.
From-SVN: r181628
Jakub Jelinek [Tue, 22 Nov 2011 16:57:33 +0000 (17:57 +0100)]
re PR tree-optimization/51074 (No constant folding performed for VEC_PERM_EXPR, VEC_INTERLEAVE*EXPR, VEC_EXTRACT*EXPR)
PR tree-optimization/51074
* fold-const.c (fold_binary_loc): Fix up VEC_INTERLEAVE_*_EXPR
handling for BYTES_BIG_ENDIAN.
* optabs.c (can_vec_perm_for_code_p): Likewise.
* gcc.dg/vect/pr51074.c: New test.
From-SVN: r181627
Dodji Seketeli [Tue, 22 Nov 2011 16:41:10 +0000 (16:41 +0000)]
PR c++/51143 - Alias template allows class definition
gcc/cp
PR c++/51143
* parser.c (cp_parser_alias_declaration): Don't allow type
definition in templates.
gcc/testsuite
PR c++/51143
* g++.dg/cpp0x/alias-decl-16.C: New test.
From-SVN: r181626
Diego Novillo [Tue, 22 Nov 2011 16:13:00 +0000 (11:13 -0500)]
line-map.h (linemap_dump): Declare.
* include/line-map.h (linemap_dump): Declare.
(line_table_dump): Declare.
* line-map.c (linemap_dump): New.
(line_table_dump): New.
From-SVN: r181625
Jason Merrill [Tue, 22 Nov 2011 15:53:28 +0000 (10:53 -0500)]
fix linenos
From-SVN: r181624
Jason Merrill [Tue, 22 Nov 2011 15:53:18 +0000 (10:53 -0500)]
remove mention of EH_FILTER_MUST_NOT_THROW
From-SVN: r181623
Paolo Carlini [Tue, 22 Nov 2011 15:04:27 +0000 (15:04 +0000)]
re PR c++/51196 (FAIL: g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C)
2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51196
* typeck.c (cp_build_binary_op, [case EQ_EXPR]): For targets having
TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_delta, do here
the -Wzero-as-null-pointer-constant warning for pmf == 0.
From-SVN: r181620
Michael Matz [Tue, 22 Nov 2011 14:55:58 +0000 (14:55 +0000)]
re PR other/51125 (FAIL: g++.dg/tm/pr45940-3.C)
PR other/51125
* trans-mem.c (expand_block_tm): Ignore clobbers.
From-SVN: r181619
Iain Sandoe [Tue, 22 Nov 2011 14:49:11 +0000 (14:49 +0000)]
weakref.m4: New file.
config:
* weakref.m4: New file.
libitm:
* configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
* alloc_cpp.cc: Generate dummy functions if we don't
HAVE_ELF_STYLE_WEAKREF.
* eh_cpp.cc: Likewise.
* configure: Regenerate.
* aclocal.m4: Likewise.
* config.h.in: Likewise.
* Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r181618
Jakub Jelinek [Tue, 22 Nov 2011 14:22:56 +0000 (15:22 +0100)]
re PR rtl-optimization/50765 (ICE: in expand_insn, at optabs.c:7681 with -ftree-vectorize -fno-tree-dce)
PR tree-optimization/50765
* gcc.dg/pr50765.c: New test.
From-SVN: r181617
Iain Sandoe [Tue, 22 Nov 2011 13:51:07 +0000 (13:51 +0000)]
darwin.h (ENDFILE_SPEC): New.
gcc:
* config/darwin.h (ENDFILE_SPEC): New.
(DARWIN_CRT1_SPEC): Add crttms.o.
(STARTFILE_SPEC): Likewise for dynamic libs and bundles.
* config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.
libgcc:
* config/darwin-crt-tm.c: New file.
* config.host (darwin): Build crttms.o crttme.o to provide
startup and shutdown for tm clones.
* config/t-darwin (crttms.o): New build rule.
(crttme.o): Likewise.
From-SVN: r181616
Michael Matz [Tue, 22 Nov 2011 13:32:15 +0000 (13:32 +0000)]
re PR c++/51264 (O0 Bootstrap failure: control reaches end of non-void function)
PR c++/51264
* tree.c (iterative_hash_expr): Remove break after return.
From-SVN: r181615
Matthew Gretton-Dann [Tue, 22 Nov 2011 11:04:46 +0000 (11:04 +0000)]
For Matthew Gretton-Dann
2011-11-22 Matthew Gretton-Dann<matthew.gretton-dann@arm.com>
* gcc.dg/vshift-1.c (main): Call rand instead of random.
* gcc.dg/vshift-3.c (main): Likewise.
From-SVN: r181614
Iain Sandoe [Tue, 22 Nov 2011 10:19:19 +0000 (10:19 +0000)]
target.def (tm_clone_table_section): New hook.
gcc:
* target.def (tm_clone_table_section): New hook.
* doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
* doc/tm.texi: Regenerate.
* varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section.
* output.h (default_clone_table_section): New prototype.
* config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New.
* config/darwin-protos.h (darwin_tm_clone_table_section): New prototype.
* config/darwin.c (darwin_tm_clone_table_section): New.
gcc/testsuite:
* gcc.dg/tm/
20100615.c: Adjust for Darwin tm_clone_table section name.
From-SVN: r181613
Iain Sandoe [Tue, 22 Nov 2011 09:57:19 +0000 (09:57 +0000)]
sjlj.S (CONCAT1, [...]): Respond to __USER_LABEL_PREFIX__ for targets that use it.
libitm:
* config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
__USER_LABEL_PREFIX__ for targets that use it.
TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
(_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
in portability to non-elf targets.
(GTM_longjmp): LIkewise.
* libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
where required.
From-SVN: r181612
Iain Sandoe [Tue, 22 Nov 2011 09:49:32 +0000 (09:49 +0000)]
memcpy-1.c: Allow for MAP_ANON spelling.
libitm:
* testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
* testsuite/libitm.c/memset-1.c: Likewise.
From-SVN: r181611
Iain Sandoe [Tue, 22 Nov 2011 08:50:40 +0000 (08:50 +0000)]
gcov-16.c: Adjust scan-assembler for Darwin.
gcc/testsuite:
* gcc.misc-tests/gcov-16.c: Adjust scan-assembler for Darwin.
* gcc.misc-tests/gcov-17.c: Likewise.
* g++.dg/gcov/gcov-8.C: Likewise.
* g++.dg/gcov/gcov-9.C: Likewise.
From-SVN: r181610
Hans-Peter Nilsson [Tue, 22 Nov 2011 03:01:02 +0000 (03:01 +0000)]
Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al.
* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
et al.
From-SVN: r181608
Jonathan Wakely [Tue, 22 Nov 2011 00:40:47 +0000 (00:40 +0000)]
functional (is_placeholder, [...]): Add partial specializations for cv-qualified types.
* include/std/functional (is_placeholder, is_bind_expression): Add
partial specializations for cv-qualified types.
* include/tr1/functional (is_placeholder, is_bind_expression): Add
partial specializations for std::bind and std::placeholders and for
cv-qualified types.
* testsuite/20_util/bind/cv_quals_3.cc: New.
* testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
* testsuite/tr1/3_function_objects/bind/mixed.cc: New.
From-SVN: r181607
GCC Administrator [Tue, 22 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181606
Torvald Riegel [Mon, 21 Nov 2011 22:29:31 +0000 (22:29 +0000)]
PR47747: Fix error messages for calls to unsafe virtual functions.
gcc/
* trans-mem.c (diagnose_tm_1): Print an expression instead of a
declaration in error messages for indirect calls.
testsuite/
g++.dg/tm/pr47747.C: New test.
From-SVN: r181602
Torvald Riegel [Mon, 21 Nov 2011 22:29:13 +0000 (22:29 +0000)]
Fix instantiation of transaction expressions.
gcc/cp/
* pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.
gcc/testsuite/
* g++.dg/tm/template-2.C: New test.
From-SVN: r181601
Richard Henderson [Mon, 21 Nov 2011 22:10:06 +0000 (14:10 -0800)]
Fix crtstuff merge error with transactional-memory branch.
* crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
(__TMC_LIST__, __TMC_END__): New.
(__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
(__do_global_dtors): Likewise.
(frame_dummy): Call _ITM_registerTMCloneTable.
(__do_global_ctors_1): Likewise.
From-SVN: r181600
David S. Miller [Mon, 21 Nov 2011 21:50:58 +0000 (21:50 +0000)]
Correct sparc's REGMODE_NATURAL_SIZE and MODES_TIEABLE_P wrt. vector modes.
* config/sparc/sparc.c (sparc_regmode_natural_size): New function
implementing REGMODE_NATURAL_SIZE taking into consideration vector
modes.
(sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P.
* config/sparc/sparc-protos.h (sparc_regmode_natural_size,
sparc_modes_tieable_p): Declare.
* gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE,
MODES_TIEABLE_P): Use new helper functions.
From-SVN: r181599
David S. Miller [Mon, 21 Nov 2011 21:50:41 +0000 (21:50 +0000)]
Revert regression causing changes to store_bit_field_1.
Revert
2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR middle-end/50325
* expmed.c (store_bit_field_1): Use extract_bit_field on big
endian targets if the source cannot be exactly covered by word
mode chunks.
From-SVN: r181598
Jakub Jelinek [Mon, 21 Nov 2011 21:07:19 +0000 (22:07 +0100)]
re PR debug/50827 (ICE: RTL check: expected elt 0 type 'e' or 'u', have '0' (rtx entry_value) in loc_cmp, at var-tracking.c:3011)
PR debug/50827
* var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP
macro instead of XEXP.
* gcc.dg/pr50827.c: New test.
From-SVN: r181597
Eric Botcazou [Mon, 21 Nov 2011 19:50:11 +0000 (20:50 +0100)]
* MAINTAINERS: Add self as co-maintainer of the Ada front end.
From-SVN: r181596
Ed Smith-Rowland [Mon, 21 Nov 2011 19:27:30 +0000 (19:27 +0000)]
re PR c++/50958 ([C++0x] raw literal operator provides incorrect string for integer literal '0')
PR c++/50958
gcc/cp/
* parser.c (lookup_literal_operator): New.
(cp_parser_userdef_char_literal): Use it.
(cp_parser_userdef_numeric_literal): Use it.
(cp_parser_userdef_string_literal): Use lookup_name.
libcpp/
* expr.c (cpp_userdef_char_remove_type): Fix typo.
From-SVN: r181595
Jason Merrill [Mon, 21 Nov 2011 19:27:17 +0000 (14:27 -0500)]
tweak comment in perform_member_init
From-SVN: r181594
Andreas Tobler [Mon, 21 Nov 2011 19:22:35 +0000 (20:22 +0100)]
Additional fixes for FreeBSD-10 build:
/: * libtool.m4: Additional FreeBSD 10 fixes.
boehm-gc/: * configure: Regenerate.
gcc/: * configure: Regenerate.
libffi/: * configure: Regenerate.
libgfortran/: * configure: Regenerate.
libgomp/: * configure: Regenerate.
libitm/: * configure: Regenerate.
libjava/: * configure.ac: Fix some more FreeBSD 10 issues..
* configure: Regenerate.
libjava/libltdl/: * acinclude.m4: Additional FreeBSD 10 fixes.
* configure: Regenerate.
libmudflap/: * configure: Regenerate.
libobjc/: * configure: Regenerate.
libquadmath/: * configure: Regenerate.
libssp/: * configure: Regenerate.
libstdc++-v3/: * configure: Regenerate.
lto-plugin/: * configure: Regenerate.
zlib/: * configure: Regenerate.
From-SVN: r181593
Georg-Johann Lay [Mon, 21 Nov 2011 19:17:52 +0000 (19:17 +0000)]
avr.c (output_reload_in_const): Loading a byte with 0 must not affect cc0.
* config/avr/avr.c (output_reload_in_const): Loading a byte with 0
must not affect cc0.
* config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any
register does not change cc0. Same for any constant to ld-register.
From-SVN: r181592
Uros Bizjak [Mon, 21 Nov 2011 18:18:28 +0000 (19:18 +0100)]
mmx.md (unspec): Move from config/i386/i386.md (unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
* config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
UNSPEC_PFRCPIT1, UNSPEC_PFRCPIT2, UNSPEC_PFRSQRT, UNSPEC_PFRSQIT1>:
Move from config/i386/i386.md
(unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
* config/i386/sse.md (unspec) <UNSPEC_MOVNT,UNSPEC_MOVU, UNSPEC_LDDQU,
UNSPEC_PSHUFB, UNSPEC_PSIGN, UNSPEC_PALIGNR, UNSPEC_EXTRQI,
UNSPEC_EXTRQ, UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_PCMPESTR, UNSPEC_PCMPISTR,
UNSPEC_FMADDSUB, UNSPEC_XOP_UNSIGNED_CMP, UNSPEC_XOP_TRUEFALSE,
UNSPEC_XOP_PERMUTE, UNSPEC_FRCZ, UNSPEC_AESENC, UNSPEC_AESENCLAST,
UNSPEC_AESDEC, UNSPEC_AESDECLAST, UNSPEC_AESIMC,
UNSPEC_AESKEYGENASSIST, UNSPEC_PCLMUL, UNSPEC_PCMP, UNSPEC_VPERMIL,
UNSPEC_VPERMIL2, UNSPEC_VPERMIL2F128, UNSPEC_CAST, UNSPEC_VTESTP,
UNSPEC_VCVTPH2PS, UNSPEC_VCVTPS2PH, UNSPEC_VPERMSI, UNSPEC_VPERMDF,
UNSPEC_VPERMSF, UNSPEC_VPERMTI, UNSPEC_GATHER, UNSPEC_VSIBADDR>: Ditto.
(unspecv) <UNSPECV_LDMXCSR, UNSPECV_STMXCSR, UNSPECV_CLFLUSH,
UNSPECV_MONITOR, UNSPECV_MWAIT, UNSPECV_VZEROALL, UNSPECV_VZEROUPPER>:
Ditto.
* config/i386/sync.md (unspec) <UNSPEC_LFENCE, UNSPEC_SFENCE,
UNSPEC_MFENCE, UNSPEC_MOVA>: Ditto.
(unspecv) <UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2, UNSPECV_CMPXCHG_3,
UNSPECV_CMPXCHG_4, UNSPECV_XCHG, UNSPECV_LOCK>: Ditto.
(sse2_lfence): Move from config/i386/sse.md.
(*sse2_lfence): Ditto.
(sse_sfence): Ditto.
(*sse_sfence): Ditto.
(sse2_mfence): Ditto.
(mfence_sse2): Ditto. Rename from *sse2_mfence. Enable also
for TARGET_64BIT.
(mem_thread_fence): Use mfence_sse2.
From-SVN: r181590
Rainer Orth [Mon, 21 Nov 2011 17:03:50 +0000 (17:03 +0000)]
Support sun symbol versioning in libitm
libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
(LIBITM_ENABLE_SYMVERS): Handle sun style.
* Makefile.am: Handle sun style versioning.
(libitm_la_LINK): Add $(libitm_la_LDFLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.
contrib:
* make_sunver.pl: Convert '?' in glob patterns to '.'.
From-SVN: r181588
Rainer Orth [Mon, 21 Nov 2011 16:13:13 +0000 (16:13 +0000)]
Fix LIB2ADD overrides in libgcc
* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
* config/i386/t-darwin64: Remove.
* config/sh/t-netbsd (LIB2ADD): Remove.
From-SVN: r181587
Joern Rennecke [Mon, 21 Nov 2011 15:13:34 +0000 (15:13 +0000)]
MAINTAINERS: Move myself from Write After Approval to CPU Port Maintainers section...
* MAINTAINERS: Move myself from Write After Approval to CPU Port
Maintainers section, as Epiphany maintainer.
From-SVN: r181584
Rainer Orth [Mon, 21 Nov 2011 15:08:03 +0000 (15:08 +0000)]
Fix ultrasparc_vis[23]_hw tests
* lib/target-supports.exp
(check_effective_target_ultrasparc_vis2_hw): Call check_runtime
with ultrasparc_vis2_hw.
(check_effective_target_ultrasparc_vis3_hw): Call check_runtime
with ultrasparc_vis3_hw.
From-SVN: r181582
Arnaud Charlet [Mon, 21 Nov 2011 14:45:41 +0000 (15:45 +0100)]
[multiple changes]
2011-11-21 Robert Dewar <dewar@adacore.com>
* exp_imgv.adb (Expand_Width_Attribute): Handle case of
Discard_Names.
* sem_attr.adb (Eval_Attribute, case Width): Ditto.
2011-11-21 Thomas Quinot <quinot@adacore.com>
* sinfo.ads: Minor reformatting.
2011-11-21 Yannick Moy <moy@adacore.com>
* exp_util.adb: Minor reformatting. Update comments.
From-SVN: r181581
Robert Dewar [Mon, 21 Nov 2011 14:43:38 +0000 (14:43 +0000)]
exp_prag.adb, [...]: Minor reformatting.
2011-11-21 Robert Dewar <dewar@adacore.com>
* exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
sem_ch6.adb: Minor reformatting.
From-SVN: r181580
Rainer Orth [Mon, 21 Nov 2011 14:28:49 +0000 (14:28 +0000)]
Adapt c-c++-common/tm/malloc.c for Solaris headers with C++
* c-c++-common/tm/malloc.c: Scan tree dumps for std::malloc if
*-*-solaris2* && c++.
From-SVN: r181579
Arnaud Charlet [Mon, 21 Nov 2011 13:31:33 +0000 (14:31 +0100)]
[multiple changes]
2011-11-21 Arnaud Charlet <charlet@adacore.com>
* s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
Unrestricted_Access to deal with fact that we properly detect the
error if Access is used.
* gcc-interface/Make-lang.in: Update dependencies.
2011-11-21 Yannick Moy <moy@adacore.com>
* exp_prag.adb (Expand_Pragma_Check): Place error on first character
of expression.
* sem_res.adb (Resolve_Short_Circuit): Place error on first
character of expression.
2011-11-21 Yannick Moy <moy@adacore.com>
* exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case
Max_Size_In_Storage_Elements): Account for the size of the
hidden list header which precedes controlled objects allocated
on the heap.
* rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
tables.
* sinfo.adb (Header_Size_Added): New routine.
(Set_Header_Size_Added): New routine.
* sinfo.ads: Add flag Controlled_Header_Added along with
associated comment.
(Header_Size_Added): New inlined routine.
(Set_Header_Size_Added): New inlined routine.
* s-stposu.adb (Allocate_Any_Controlled): Use
Header_Size_With_Padding to calculate the proper
size of the header.
(Deallocate_Any_Controlled): Use
Header_Size_With_Padding to calculate the proper size
of the header. (Header_Size_With_Padding): New routine.
(Nearest_Multiple_Rounded_Up): Removed along with its uses.
* s-stposu.ads (Header_Size_With_Padding): New routine.
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* aspects.adb: Aspect specifications are allowed on renaming
declarations
* par-ch6.adb (P_Subprogram): Parse aspect specifications in a
subprogram renaming declaration
From-SVN: r181576
Arnaud Charlet [Mon, 21 Nov 2011 13:23:52 +0000 (14:23 +0100)]
[multiple changes]
2011-11-21 Tristan Gingold <gingold@adacore.com>
* env.c: Remove unused declaration.
2011-11-21 Pascal Obry <obry@adacore.com>
* s-os_lib.ads: Minor style fix.
2011-11-21 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
identical, do nothing on Windows XP.
2011-11-21 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
Use Full_Expander_Active instead of Expander_Active to control
the forced evaluation of expressions for the sake of generating
checks.
2011-11-21 Thomas Quinot <quinot@adacore.com>
* init.c: On FreeBSD, stack checking failures may raise SIGBUS.
2011-11-21 Tristan Gingold <gingold@adacore.com>
* sysdep.c (mode_read_text, mode_write_text, mode_append_text,
mode_read_binary, mode_write_binary, mode_append_binary,
mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
mode_read_binary_plus, mode_write_binary_plus,
mode_append_binary_plus): Remove unused declarations.
2011-11-21 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Minor rewording.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* exp_imgv.adb (Expand_Width_Attribute): Emit
an error message rather than a warning when pragma Discard_Names
prevents the computation of 'Width. Do not emit an error through
the use of RE_Null.
2011-11-21 Javier Miranda <miranda@adacore.com>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
implicit type conversion when the type of the allocator is an
interface. Done to force generation of displacement of the "this"
pointer when required.
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
functions, and is set when the expression is a completion of a
previous declaration.
* sem_ch6.adb (Analyze_Expression_Function): To determine properly
whether an expression function completes a previous declaration,
use Find_Corresponding_Spec, as when analyzing a subprogram body.
2011-11-21 Steve Baird <baird@adacore.com>
* sem_util.adb (Deepest_Type_Access_Level): Improve comment.
(Type_Access_Level): Improve comment.
From-SVN: r181575
Eric Botcazou [Mon, 21 Nov 2011 12:24:34 +0000 (12:24 +0000)]
Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by means of -iquote unconditionally.
* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
means of -iquote unconditionally.
From-SVN: r181573
Arnaud Charlet [Mon, 21 Nov 2011 12:05:56 +0000 (13:05 +0100)]
[multiple changes]
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
reformatting.
2011-11-21 Arnaud Charlet <charlet@adacore.com>
* s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
From-SVN: r181572
Steve Baird [Mon, 21 Nov 2011 12:02:41 +0000 (12:02 +0000)]
sem_util.ads: Update comment describing function Deepest_Access_Level.
2011-11-21 Steve Baird <baird@adacore.com>
* sem_util.ads: Update comment describing function
Deepest_Access_Level.
* sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
generic formal type.
(Type_Access_Level): Return library level
for a generic formal type.
* sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
calls with calls to Deepest_Type_Access_Level.
* sem_ch3.adb (Analyze_Component_Declaration): replace a
Type_Access_Level call with a call to Deepest_Type_Access_Level.
* sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
Replace three Type_Access_Level calls with calls to
Deepest_Type_Access_Level.
(Resolve_Allocator): Replace a Type_Access_Level call with a call to
Deepest_Type_Access_Level.
(Valid_Conversion.Valid_Array_Conversion): Replace a
Type_Access_Level call with a call to Deepest_Type_Access_Level.
From-SVN: r181570
Robert Dewar [Mon, 21 Nov 2011 12:01:11 +0000 (12:01 +0000)]
sem_ch3.adb, [...]: Minor reformatting.
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
From-SVN: r181569
Arnaud Charlet [Mon, 21 Nov 2011 11:59:08 +0000 (12:59 +0100)]
[multiple changes]
2011-11-21 Robert Dewar <dewar@adacore.com>
* sinput.ads: Minor comment fix.
2011-11-21 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
Last_Bit, Position): Handle 2005 case.
2011-11-21 Robert Dewar <dewar@adacore.com>
* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
(Increment): Same fix.
* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
volatile if the B component is volatile. This affects the check
for passing such a by reference volatile actual to a non-volatile
formal (which should be illegal)
2011-11-21 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
size and alignment for foreign convention enumeration types.
* layout.adb (Set_Elem_Alignment): Redo setting of alignment
when size is set.
2011-11-21 Yannick Moy <moy@adacore.com>
* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
Apply_Discriminant_Check, Apply_Divide_Check,
Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
Selected_Range_Checks): Replace reference to Expander_Active
with reference to Full_Expander_Active, so that expansion of
checks is not performed in Alfa mode
2011-11-21 Tristan Gingold <gingold@adacore.com>
* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
fact that we properly detect the error if Access is used.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* exp_imgv.adb: Add with and use clause for Errout.
(Expand_Width_Attribute): Emit a warning when in
configurable run-time mode to provide a better diagnostic message.
2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
* s-finmas.adb (Finalize): Add comment concerning double finalization.
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): If the access definition
is itself the return type of an access to function definition
which is ultimately the return type of an access to subprogram
declaration, its scope is the enclosing scope of the ultimate
access to subprogram.
2011-11-21 Steve Baird <baird@adacore.com>
* sem_res.adb (Valid_Conversion): If a conversion was legal
in the body of a generic, then the corresponding conversion is
legal in the expanded body of an instance of the generic.
From-SVN: r181568
Robert Dewar [Mon, 21 Nov 2011 11:51:15 +0000 (11:51 +0000)]
sem_ch3.adb: Minor reformatting.
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting.
2011-11-21 Robert Dewar <dewar@adacore.com>
* s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
line terminator.
* sinput.ads: Add section on Handling of Source Line Terminators.
* types.ads (Line_Terminator): Adjust comments.
From-SVN: r181567
Robert Dewar [Mon, 21 Nov 2011 11:45:44 +0000 (11:45 +0000)]
frontend.adb (Frontend): Capture restrictions from config files
2011-11-21 Robert Dewar <dewar@adacore.com>
* frontend.adb (Frontend): Capture restrictions from config files
* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
information
* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
references. This was noticed during debugging, but it is not
known if it causes real bugs.
* restrict.ads, restrict.adb: New routines to save/set/restore
non-partition-wide restrictions.
* s-rident.ads: Comment changes for new handling of
No_Elaboration_Code
* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
attempt to save/restore non-partition-wide restrictions (now
this work is all done in Sem).
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Special handling for restriction No_Elaboration_Code.
2011-11-21 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document new handling of restrictions pragmas.
From-SVN: r181566
Arnaud Charlet [Mon, 21 Nov 2011 11:40:32 +0000 (12:40 +0100)]
[multiple changes]
2011-11-21 Pascal Obry <obry@adacore.com>
* s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
attribute as not needed.
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2011-11-21 Pascal Obry <obry@adacore.com>
* gnat_rm.texi: Document restriction for stdcall convention on
dispatching calls.
From-SVN: r181565
Pascal Obry [Mon, 21 Nov 2011 11:38:35 +0000 (11:38 +0000)]
sem_prag.adb (Process_Convention): A dispatching call cannot have a stdcall calling convention.
2011-11-21 Pascal Obry <obry@adacore.com>
* sem_prag.adb (Process_Convention): A dispatching call cannot
have a stdcall calling convention.
2011-11-21 Pascal Obry <obry@adacore.com>
* s-taprop-linux.adb (Initialize_Lock): Do not allocate a
mutex attribute as not needed.
(Initialize_TCB): Likewise.
(Initialize): Likewise.
From-SVN: r181564
Arnaud Charlet [Mon, 21 Nov 2011 11:35:55 +0000 (12:35 +0100)]
sem_ch6.adb (Is_Public_Subprogram_For): New procedure
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
(Process_PPCs): Invariants only apply to public subprograms.
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
2011-11-21 Robert Dewar <dewar@adacore.com>
* a-finali.ads: Use pragma Pure_12 for this unit
* aspects.adb: Add aspect Pure_12
* aspects.ads: Add aspect Pure_12
* opt.ads: Add note on Pure_12
* par-prag.adb: Add dummy entry for Pure_12
* sem_prag.adb: Implement Pure_12 pragma
* snames.ads-tmpl: Add Entry for Pure_12
2011-11-21 Sergey Rybin <rybin@adacore.com frybin>
* vms_data.ads: Add qualifiers for new gnatpp options
'--call_threshold' and '--par_threshold".
* gnat_ugn.texi: Add description for new gnatpp options
'--call_threshold' and '--par_threshold".
2011-11-21 Robert Dewar <dewar@adacore.com>
* lib.ads: Minor reformatting.
2011-11-21 Robert Dewar <dewar@adacore.com>
* lib-load.ads: Add comment.
From-SVN: r181563
Arnaud Charlet [Mon, 21 Nov 2011 11:28:32 +0000 (12:28 +0100)]
sem_elab.adb: Minor reformatting
2011-11-21 Gary Dismukes <dismukes@adacore.com>
* sem_elab.adb: Minor reformatting
From-SVN: r181562
Arnaud Charlet [Mon, 21 Nov 2011 11:26:14 +0000 (12:26 +0100)]
[multiple changes]
2011-11-21 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb: Minor reformatting.
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Check_Formal_Package_Instance): If a formal
subprogram of the formal package is covered by an others
association with a box initialization, no check is needed
against the actual in the instantiation of the formal package.
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
elab warning from within precondition/postcondition etc.
From-SVN: r181561
Arnaud Charlet [Mon, 21 Nov 2011 11:22:47 +0000 (12:22 +0100)]
[multiple changes]
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
with out parameters may generate assignments to force constraint
checks. These checks must be properly placed in the code after the
declaration or statement that contains the call.
2011-11-21 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Adding info on current gnattest limitations an
support of -X option.
2011-11-21 Robert Dewar <dewar@adacore.com>
* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
From-SVN: r181559