Commit Graph

113707 Commits

Author SHA1 Message Date
Enkovich Ilya
696095350b re PR target/51287 (252.eon compfail with -march=atom)
PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

From-SVN: r181713
2011-11-25 09:46:27 +00:00
Andrew MacLeod
c466c4ff90 re PR c/51256 (ICE with invalid parameter for __atomic builtin)
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

	PR c/51256
	* c-common.c (get_atomic_generic_size): Check for various error 
	conditions
	(resolve_overloaded_atomic_exchange, 
	resolve_overloaded_atomic_compare_exchange, 
	resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
	error_mark_node for error conditions.
	* gcc.dg/atomic-pr51256.c: New.  Test error conditions.

From-SVN: r181709
2011-11-25 03:00:38 +00:00
Paolo Carlini
c138ee6de2 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
2011-11-25 01:00:44 +00:00
GCC Administrator
28a4bba202 Daily bump.
From-SVN: r181706
2011-11-25 00:18:59 +00:00
Andrew MacLeod
744accb21b 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
2011-11-24 23:14:31 +00:00
H.J. Lu
bee51209f6 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
2011-11-24 14:11:12 -08:00
Georg-Johann Lay
f456d73721 avr.md (*rotlhi2.15): Set length to 4.
* config/avr/avr.md (*rotlhi2.15): Set length to 4.

From-SVN: r181700
2011-11-24 21:12:00 +00:00
Tobias Burnus
3d2cea8c44 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
2011-11-24 18:57:41 +01:00
Rainer Orth
603518caa7 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
2011-11-24 16:34:09 +00:00
Rainer Orth
bf75cdbe7b Fix bootstrap error in s-taprop-tru64.adb
* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.

From-SVN: r181696
2011-11-24 16:27:31 +00:00
Jakub Jelinek
49ec778e04 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
2011-11-24 16:23:18 +01:00
Razya Ladelsky
fea99a375a 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
2011-11-24 14:07:36 +00:00
Paolo Carlini
36b0e7519f 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
2011-11-24 10:20:43 +00:00
Jakub Jelinek
282d42f2cb 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
2011-11-24 08:18:16 +01:00
Alan Modra
1d551e4dc3 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
2011-11-24 13:15:21 +10:30
GCC Administrator
58494d501e Daily bump.
From-SVN: r181683
2011-11-24 00:18:23 +00:00
François Dumont
da29608a7a 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
2011-11-23 20:30:18 +00:00
Jakub Jelinek
2ff12653cd 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
2011-11-23 21:29:08 +01:00
Vladimir Makarov
ffe8727f47 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
2011-11-23 18:51:17 +00:00
Jeffrey A Law
810fb8f1d6 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
2011-11-23 10:37:01 -07:00
Arnaud Charlet
d0dcb2b1b9 [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
2011-11-23 15:05:26 +01:00
Thomas Quinot
db3dd8af71 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
2011-11-23 14:53:11 +01:00
Arnaud Charlet
ef9924527b [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
2011-11-23 14:51:23 +01:00
Matthew Heaney
595a055f98 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
2011-11-23 14:36:40 +01:00
Arnaud Charlet
b38c20a636 [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
2011-11-23 14:32:44 +01:00
Thomas Quinot
24fee494c5 g-htable.ads: Remove old comments.
2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* g-htable.ads: Remove old comments.

From-SVN: r181665
2011-11-23 14:22:51 +01:00
Chung-Lin Tang
b1ab2759ab 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
2011-11-23 13:22:30 +00:00
Thomas Quinot
bc6e33a387 exp_imgv.adb: Minor reformatting.
2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* exp_imgv.adb: Minor reformatting.

From-SVN: r181663
2011-11-23 14:19:56 +01:00
Arnaud Charlet
2d6b25ed11 Remove hard coded clock id.
From-SVN: r181662
2011-11-23 12:33:23 +01:00
Arnaud Charlet
5e44449e47 Update dependencies.
From-SVN: r181661
2011-11-23 12:25:39 +01:00
Arnaud Charlet
c269a1f5c9 [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
2011-11-23 12:24:48 +01:00
Arnaud Charlet
f947ee3467 [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
2011-11-23 12:04:39 +01:00
Robert Dewar
fb2bd3a70d 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
2011-11-23 12:02:03 +01:00
Arnaud Charlet
a1092b4889 [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
2011-11-23 12:00:29 +01:00
Arnaud Charlet
3d0c15cf4f [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
2011-11-23 11:58:14 +01:00
Arnaud Charlet
95160516ff [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
2011-11-23 11:54:21 +01:00
Iain Sandoe
bd8aaa863d Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
libitm:

	* Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
	* Makefile.in: Regenerate.

From-SVN: r181654
2011-11-23 09:46:59 +00:00
Dodji Seketeli
82daaf6d55 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
2011-11-23 09:23:59 +01:00
GCC Administrator
b64cd62a6e Daily bump.
From-SVN: r181648
2011-11-23 00:17:50 +00:00
Richard Henderson
28875d673a 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
2011-11-22 15:13:48 -08:00
Richard Henderson
127e44c868 ia64: Use define_c_enum for unspec constants.
* config/ia64/ia64.md: Use define_e_enum for UNSPEC_*
        and UNSPECV_* constants.

From-SVN: r181642
2011-11-22 14:55:58 -08:00
Tom de Vries
7f557df2a7 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
2011-11-22 20:55:10 +00:00
Tom de Vries
2db036a74e 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
2011-11-22 20:55:01 +00:00
Paolo Carlini
8733916b60 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
2011-11-22 20:48:33 +00:00
Jeff Law
68cf80fa0b contrib.texi: Add entry for David Binderman.
* doc/contrib.texi: Add entry for David Binderman.

From-SVN: r181634
2011-11-22 13:32:19 -07:00
Ian Lance Taylor
48e7d50e9f runtime: New lock/note implementation.
From-SVN: r181633
2011-11-22 20:24:44 +00:00
Andreas Krebbel
2195c9beb6 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
2011-11-22 19:52:34 +00:00
Aldy Hernandez
57ac2606c4 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
2011-11-22 18:37:16 +00:00
Ian Lance Taylor
73cd7644a7 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
2011-11-22 17:25:51 +00:00
Jakub Jelinek
32ef15bd33 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
2011-11-22 17:57:33 +01:00