Commit Graph

113695 Commits

Author SHA1 Message Date
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
Dodji Seketeli
3945f48ca7 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
2011-11-22 17:41:10 +01:00
Diego Novillo
8dcf72a862 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
2011-11-22 11:13:00 -05:00
Jason Merrill
8a262bafd1 fix linenos
From-SVN: r181624
2011-11-22 10:53:28 -05:00
Jason Merrill
0f5b622c11 remove mention of EH_FILTER_MUST_NOT_THROW
From-SVN: r181623
2011-11-22 10:53:18 -05:00
Paolo Carlini
51e355aaab 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
2011-11-22 15:04:27 +00:00
Michael Matz
56cb44d47d 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
2011-11-22 14:55:58 +00:00
Iain Sandoe
8cf36bb3b8 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
2011-11-22 14:49:11 +00:00
Jakub Jelinek
8fb013576c 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
2011-11-22 15:22:56 +01:00
Iain Sandoe
e2362f5de0 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
2011-11-22 13:51:07 +00:00
Michael Matz
018076e705 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
2011-11-22 13:32:15 +00:00
Matthew Gretton-Dann
64b5ddd7f0 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
2011-11-22 11:04:46 +00:00
Iain Sandoe
50b0b78a75 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
2011-11-22 10:19:19 +00:00