Commit Graph

117281 Commits

Author SHA1 Message Date
Jason Merrill fdaf2f48c0 re PR c++/53599 (gcc-4.7.1_rc20120606 segfaults compiling boost.karma)
PR c++/53599
	* name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class.
	* semantics.c (finish_cond): Build a COMPOUND_EXPR.
	* pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle.
	[DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef.
	Don't return the decl.

From-SVN: r188473
2012-06-12 14:32:04 -04:00
Jason Merrill 0089c3bb1e utf8
From-SVN: r188472
2012-06-12 14:31:54 -04:00
Oleg Endo 0ff6761375 re PR target/53511 (SH Target: Add support for fma patterns)
PR target/53511
	* gcc.target/sh/pr51340-1.c: Delete obsolete test case.
	* gcc.target/sh/pr51340-2.c: Likewise.
	* gcc.target/sh/pr51340-3.c: Likewise.

From-SVN: r188471
2012-06-12 18:25:40 +00:00
Richard Henderson 126294f40c sync.md (atomic_load, [...]): Use INT1 mode iterator instead of INT.
* config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
        iterator instead of INT.

From-SVN: r188463
2012-06-12 08:38:21 -07:00
Olivier Hainque f75912e013 Move Ada specific ChangeLog entry to Ada specific ChangeLog file.
From-SVN: r188461
2012-06-12 15:09:11 +00:00
Bill Schmidt 372a6eb8d9 opts.c: Add -fhoist-adjacent-loads to -O2 and above.
2012-06-12  Bill Schmidt  <wschmidt@linux.ibm.com>

	* opts.c: Add -fhoist-adjacent-loads to -O2 and above.
	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Add argument to forward
	declaration.
	(hoist_adjacent_loads, gate_hoist_loads): New forward declarations.
	(tree_ssa_phiopt): Call gate_hoist_loads.
	(tree_ssa_cs_elim): Add parm to tree_ssa_phiopt_worker call.
	(tree_ssa_phiopt_worker): Add do_hoist_loads to formal arg list; call
	hoist_adjacent_loads.
	(local_mem_dependence): New function.
	(hoist_adjacent_loads): Likewise.
	(gate_hoist_loads): Likewise.
	* common.opt (fhoist-adjacent-loads): New switch.
	* Makefile.in (tree-ssa-phiopt.o): Added dependencies.

From-SVN: r188457
2012-06-12 13:38:16 +00:00
Arnaud Charlet 02e4edeaf4 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

        * gcc-interface/Make-lang.in: Update dependencies.
	* sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
	sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
	Minor reformatting.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
	implements AI05-0296, because the actual may be overloaded.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
	to be applied once the actual subprogram is properly resolved.

From-SVN: r188456
2012-06-12 15:16:38 +02:00
Arnaud Charlet b98e296954 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.

2012-06-12  Vincent Pucci  <pucci@adacore.com>

	* checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
	* einfo.adb (Universal_Aliasing): Apply to the implementation
	base type instead of the base type.
	(Get_Rep_Item_For_Entity):
	Return a pragma if the pragma node is not present in the Rep
	Item chain of the parent.
	(Kill_Tag_Checks): Removed (unused flag).
	(Set_Kill_Tag_Checks): Removed.
	(Get_First_Rep_Item): New routine.
	(Get_Rep_Pragma_For_Entity): New routine.
	(Has_Rep_Item): New routine.
	(Has_Rep_Pragma_For_Entity): New routine.
	(Present_In_Rep_Item): New routine.
	* einfo.ads (Kill_Tag_Checks): Removed.
	(Set_Kill_Tag_Checks): Removed.
	(Get_First_Rep_Item): New routine.
	(Get_Rep_Pragma_For_Entity): New routine.
	(Has_Rep_Item): New routine.
	(Has_Rep_Pragma_For_Entity): New routine.
	(Present_In_Rep_Item): New routine.
	* exp_attr.adb, sem_attr.adb: Attribute_CPU,
	Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
	case added.
	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
	attribute Storage_Size, insert the new assignement statement
	after the Size variable declaration.
	* exp_ch3.adb (Build_Init_Statements): Fill the CPU,
	Dispatching_Domain, Priority and Size components with the Rep
	Item expression (if any).
	* exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
	_Priority, _Domain fields are always present in the
	corresponding record type.
	(Find_Task_Or_Protected_Pragma): Removed.
	(Get_Relative_Deadline_Pragma): New routine.
	(Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
	(Make_Task_Create_Call): Check CPU, Size or
	Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
	* freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
	and Uninstall_Discriminants_And_Pop_Scope calls added.
	(Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
	* sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
	for private derived types.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
	and reordering. Delay analysis for all aspects (except some
	peculiar cases).
	(Analyze_Attribute_Definition_Clause):
	Attribute_CPU, Attribute_Dispatching_Domain,
	Interrupt_Priority and Attribute_Priority cases added.
	(Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
	and Uninstall_Discriminants_And_Pop_Scope calls added.
	(Check_Aspect_At_Freeze_Point): Reordering and clean-up.
	(Duplicate_Clause): Issue an explicit error msg when the current
	clause duplicates an aspect specification, an attribute definition
	clause or a pragma.
	(Evaluate_Aspects_At_Freeze_Point): New routine.
	* sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
	* sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
	(Push_Scope_And_Install_Discriminants): New routine.
	(Uninstall_Discriminants): New routine.
	(Uninstall_Discriminants_And_Pop_Scope): New routine.
	* sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
	msg when the current pragma duplicates an aspect specification,
	an attribute definition clause or a pragma.
	(Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
	Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
	* sem_util.adb (Compile_Time_Constraint_Error): Don't complain
	about the type if the corresponding concurrent type doesn't come
	from source.
	* sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
	(Has_Pragma_Dispatching_Domain): Removed.
	(Has_Pragma_Priority): Removed.
	(Has_Task_Info_Pragma): Removed.
	(Has_Task_Name_Pragma): Removed.
	(Set_Has_Pragma_CPU): Removed.
	(Set_Has_Pragma_Dispatching_Domain): Removed.
	(Set_Has_Pragma_Priority): Removed.
	(Set_Has_Task_Info_Pragma): Removed.
	(Set_Has_Task_Name_Pragma): Removed.
	* snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
	Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
	(Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
	Name_Interrupt_Priority added.
	* snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
	and Name_Interrupt_Priority moved to the list of
	Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
	Attribute_Interrupt_Priority added.  Pragma_Dispatching_Domain,
	Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
	the Pragma_Name list.

From-SVN: r188455
2012-06-12 15:01:22 +02:00
Arnaud Charlet fc7d1319f5 [multiple changes]
2012-06-12  Arnaud Charlet  <charlet@adacore.com>

	* xref_lib.adb (Get_Full_Type): Add support for 'G'.

2012-06-12  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.

2012-06-12  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Update doc on gnattest.

2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Add comments.

From-SVN: r188453
2012-06-12 14:32:29 +02:00
Robert Dewar 2137e8a657 switch-c.adb, [...]: Minor reformatting.
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.

From-SVN: r188452
2012-06-12 14:19:14 +02:00
Arnaud Charlet 4c7be31052 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Minor reformatting.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* opt.ads (Inline_Level): New variable.
	* gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
	level if it has not been set by the user.
	* switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
	and set Inline_Level accordingly.
	* inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
	(Must_Inline): Return Inline_Level_T instead of Boolean to indicate
	whether the package of the inlined subprogram must be compiled.
	If Inline_Level is set to 1, only compile packages of subprograms
	directly called from the main unit.
	* usage.adb (Usage): Adjust line for -gnatn switch.
	* gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.

From-SVN: r188451
2012-06-12 14:11:50 +02:00
Ed Schonberg 33738c606d sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply AI05-296 if the actual is overloaded.
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
	AI05-296 if the actual is overloaded. In this case The rule must
	be applied after resolution, in Analyze_Subprogram_Renaming.

From-SVN: r188450
2012-06-12 14:07:11 +02:00
Arnaud Charlet e98668b178 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* stringt.adb: Minor reformatting.

2012-06-12  Robert Dewar  <dewar@adacore.com>

	* ali-util.adb, stringt.ads: Minor reformatting.

2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Handle the case where
	the original context has been wrapped in a block to avoid
	interference between exception handlers and At_End handlers.
	(Wrap_HSS_In_Block): Mark the block which contains the original
	statements of the context as being a finalization wrapper.
	* sinfo.adb (Is_Finalization_Wrapper): New routine.
	(Set_Is_Finalization_Wrapper): New routine.

	* sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
	to block statemnts.
	(Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
	(Set_Is_Finalization_Wrapper): New routine with corresponding pragma
	Inline.

2012-06-12  Steve Baird  <baird@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): No longer need to set
	Exception_Extra_Info in CodePeer_Mode.

From-SVN: r188449
2012-06-12 13:59:32 +02:00
Michael Matz 175a7536b1 alias.c (nonoverlapping_component_refs_p): Take two rtx arguments.
* alias.c (nonoverlapping_component_refs_p): Take two rtx arguments.
	(nonoverlapping_memrefs_p): Don't call it here ...
	(true_dependence_1): ... but here.

testsuite/
	* gcc.dg/torture/alias-1.c: New test.

From-SVN: r188448
2012-06-12 11:52:41 +00:00
Arnaud Charlet d3b00ce368 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
	sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
	sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
	sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
	reorganization.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* s-tasini.ads: Minor fix in comment.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Freeze_Record_Type): Warn on record with
	Scalar_Storage_Order if there is no placed component.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Minor comment fix.

2012-06-12  Vincent Celier  <celier@adacore.com>

	* ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
	mode, use Stringt Mark and Release to avoid growing the Stringt
	internal tables uselessly.
	* stringt.adb (Strings_Last): New global variable
	(String_Chars_Last): New global variable.
	(Mark, Release): New procedures.
	* stringt.ads (Mark, Release) New procedures.

From-SVN: r188445
2012-06-12 13:09:10 +02:00
Arnaud Charlet 9b168a8bd3 [multiple changes]
2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Transient_Objects): Renamed constant
	Requires_Hooking to Must_Hook and replace all occurrences of the name.
	(Requires_Hooking): New routine. Detect all contexts that require
	transient variable export to the outer finalizer due to a potential
	exception.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads: Minor correction in comment.

From-SVN: r188444
2012-06-12 13:02:08 +02:00
Arnaud Charlet 7c4d75bfb5 [multiple changes]
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Small adjustment.

2012-06-12  Vincent Celier  <celier@adacore.com>

	* vms_cmds.ads (Command_Type): New enumeration value Test
	* vms_conv.adb (Initialize): Add component at index Test in
	Command_List
	* vms_data.ads (Test_Switches): New global variable for the
	switches of gnattest, currently empty.

From-SVN: r188443
2012-06-12 12:36:09 +02:00
Ed Schonberg 967e927f1b sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete type is tagged, so is a subtype of it.
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
	type is tagged, so is a subtype of it.
	* sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
	concerning freeze rules in the presence of formal incomplete
	types: a formal abstract subprogram cannot have an incomplete
	controlling type, and the profile of the actual subprogram does
	not freeze if it includes an incomplete untagged type.

From-SVN: r188442
2012-06-12 12:34:33 +02:00
Arnaud Charlet 02f5883431 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* a-direct.adb: Minor reformatting.

2012-06-12  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add missing documentation for -gnatw.v and
	-gnatw.V.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
	sem_ch13.adb: Minor rewording of error messages for unchecked unions.

From-SVN: r188441
2012-06-12 12:33:06 +02:00
Arnaud Charlet 05a0a2ead1 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* lib-xref.ads: Minor reformatting.

2012-06-12  Pascal Obry  <obry@adacore.com>

	* a-direct.adb (Delete_File): Delete symbolic links silently
	instead of raising the Name_Error exception when the symbolic
	link is pointing to a non existent file.

From-SVN: r188440
2012-06-12 12:16:11 +02:00
Arnaud Charlet 93901a431f [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.

2012-06-12  Javier Miranda  <miranda@adacore.com>

	* lib-xref.ads Adding missing documentation.

From-SVN: r188439
2012-06-12 12:14:44 +02:00
Arnaud Charlet 3235dc87bf [multiple changes]
2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Create_Finalizer): Add the
	exception reraise mechanism at the very end of the finalizer
	statements. This placement ensures that all objects are finalized,
	the secondary stack mark released and aborts undeferred before
	propagating an exception.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
	wrapper package. remove from visibility the original subprogram
	instance.

2012-06-12  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Process_Convention): Generate reference to entity
	exported to foreign language. Needed for GPS navigation.
	* xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
	* lib-xref (Output_References): Output exported entities.

2012-06-12  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb: Add install package and corresponding attributes.
	* snames.ads-tmpl (Name_Active): New constant.
	(Name_Exec_Subdir): Likewise.
	(Name_Install): Likewise.
	(Name_Lib_Subdir): Likewise.
	(Name_Project_Subdir): Likewise.
	(Name_Sources_Subdir): Likewise.

2012-06-12  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion):
	Suppress spurious warning on recursion after "raise with ...".

From-SVN: r188438
2012-06-12 12:12:40 +02:00
Thomas Quinot 83bb90af7a sem_prag.adb (Analyze_Pragma, [...]): Do not crash on illegal unchecked union that is a null record.
2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
	not crash on illegal unchecked union that is a null record.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
	treat implicit dereferences with a constrained unchecked union
	nominal subtype as having inferable discriminants.

From-SVN: r188437
2012-06-12 12:07:29 +02:00
Arnaud Charlet 586ecbf363 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor reformatting.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Couple of minor corrections.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb (Check_Variant): An empty component list is not
	illegal in an unchecked union variant.

From-SVN: r188436
2012-06-12 12:05:20 +02:00
Arnaud Charlet 70f4ad204d [multiple changes]
2012-06-12  Gary Dismukes  <dismukes@adacore.com>

	* projects.texi: Remove comments.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
	synonym of -gnateS.
	(gnat_post_options): Disable gimple-based SCO generator.
	* gnat_ugn.texi: Document that -gnateS is an obsolete synonym
	of -fdump-scos.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Different_Generic_Profile): new predicate for
	Find_Corresponding_Spec, to handle a rare case of accidental
	overloading in an instance, when the profile of a subprogram body
	that depends on a formal type becomes compatible with that of
	a homonym whose profile in the generic mentions the actual type.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* gnat1drv.adb: Minor reformatting.

From-SVN: r188435
2012-06-12 12:03:26 +02:00
Arnaud Charlet 15a5de9966 [multiple changes]
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Build_Explicit_Dereference): If the expression
	is an entity, ensure that the type of the expression is the same
	as that of the entity.

2012-06-12  Pat Rogers  <rogers@adacore.com>

	* projects.texi: Corrected instances of the word "build" that
	should be "built" instead. Other similar changes and minor
	punctuation changes.

From-SVN: r188434
2012-06-12 11:56:58 +02:00
Arnaud Charlet 9d6e41574c [multiple changes]
2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Is_Atomic_Object): Return true for an atomic
	component as well as a prefix which is an atomic component.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
	patch. The processing of interfacing aspects now generates a
	proper Ada 2005 pragma.
	* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
	Pragma_Import): revert previous patch.	The processing of
	interfacing aspects now generates a proper Ada 2005 pragma.
	* sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
	pragam for aspects Convention, Import and Export. Scan list
	of aspects to collect link name and external name if present,
	and verify that a complete pragma can be generated.

From-SVN: r188430
2012-06-12 11:01:03 +02:00
Richard Guenther f68396a1e0 emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code.
2012-06-12  Richard Guenther  <rguenther@suse.de>

	* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code.
	* alias.c (ao_ref_from_mem): MEM_EXPR is conservative, MEM_OFFSET
	and MEM_SIZE only refines it.  Reflect that and be less conservative
	if either of the latter is not known.

From-SVN: r188429
2012-06-12 08:43:55 +00:00
Jakub Jelinek 891ca07d49 re PR rtl-optimization/53589 (ICE in maybe_record_trace_start with asm goto)
PR rtl-optimization/53589
	* cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
	discovery even when e->dest != target.  If any LABEL_REF points
	to e->dest label, redirect it to target's label.

	* gcc.dg/torture/pr53589.c: New test.

From-SVN: r188428
2012-06-12 09:52:47 +02:00
Oleg Endo ed6a1ff987 re PR rtl-optimization/50749 (Auto-inc-dec does not find subsequent contiguous mem accesses)
PR target/50749
	* gcc.target/sh/pr50749-sf-postinc-2.c: New.
	* gcc.target/sh/pr50749-sf-postinc-4.c: New.
	* gcc.target/sh/pr50749-qihisi-postinc-2.c: New.
	* gcc.target/sh/pr50749-qihisi-postinc-4.c: New.
	* gcc.target/sh/pr50749-sf-predec-2.c: New.
	* gcc.target/sh/pr50749-sf-predec-4.c: New.
	* gcc.target/sh/pr50749-qihisi-predec-1.c: New.
	* gcc.target/sh/pr50749-qihisi-predec-3.c: New.
	* gcc.target/sh/pr50749-sf-postinc-1.c: New.
	* gcc.target/sh/pr50749-sf-postinc-3.c: New.
	* gcc.target/sh/pr50749-qihisi-postinc-1.c: New.
	* gcc.target/sh/pr50749-qihisi-postinc-3.c: New.
	* gcc.target/sh/pr50749-sf-predec-1.c: New.
	* gcc.target/sh/pr50749-sf-predec-3.c: New.
	* gcc.target/sh/pr50749-qihisi-predec-2.c: New.
	* gcc.target/sh/pr50749-qihisi-predec-4.c: New.

From-SVN: r188426
2012-06-12 07:09:52 +00:00
Chung-Lin Tang 2b8088e7c8 sh.c (output_stack_adjust): Remove !epilogue_p condition for generating REG_FRAME_RELATED_EXPR note.
2012-06-12  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/sh/sh.c (output_stack_adjust): Remove !epilogue_p
	condition for generating REG_FRAME_RELATED_EXPR note.
	(pop): Add code for generating REG_CFA_RESTORE,
	REG_CFA_ADJUST_CFA notes. Set RTX_FRAME_RELATED_P to 1.
	(sh_expand_epilogue): Use frame_insn() for FP to SP move.
	Set 'frame_p' of calls to output_stack_adjust() to 'true'.

From-SVN: r188424
2012-06-12 06:11:09 +00:00
Sriraman Tallam 91fe5efbd2 libgcc-bsd.ver: Version symbol __cpu_indicator_init.
2012-06-11  Sriraman Tallam  <tmsriram@google.com>

	* config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init.
	* config/i386/libgcc-sol2.ver: Ditto.
	* config/i386/libgcc-glibc.ver: Ditto.

	* gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
	(check_intel_cpu_model): New function.
	(check_amd_cpu_model): New function.
	(check_features): New function.
	(__get_cpuid_output): New function.
	(check_detailed): New function.
	(fn1): Rename to quick_check.
	(main): Update to call quick_check and call check_detailed.

From-SVN: r188417
2012-06-12 02:55:20 +00:00
Richard Henderson 3db91d7e0b alpha.c (HWI_HEX2): Add missing shift.
* config/alpha/alpha.c (HWI_HEX2): Add missing shift.
        * vmsdbgout.c (VMS_EPOCH_OFFSET): Add LL suffix.

From-SVN: r188413
2012-06-11 18:00:39 -07:00
GCC Administrator fce7766425 Daily bump.
From-SVN: r188409
2012-06-12 00:19:26 +00:00
Richard Henderson 4522854abf * config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
From-SVN: r188405
2012-06-11 16:03:14 -07:00
Hans-Peter Nilsson f938987f60 tm.texi.in (Addressing Modes): Mention that this hook needs to be defined for native TLS.
* doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
	Mention that this hook needs to be defined for native TLS.
	* doc/tm.texi: Regenerate.

From-SVN: r188404
2012-06-11 22:46:45 +00:00
Mike Stump ede6c7341c emit-rtl.c (init_emit_once): Iterate through the MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and...
* emit-rtl.c (init_emit_once): Iterate through the
	MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and
	MAX_MODE_PARTIAL_INT, as GET_MODE_WIDER_MODE doesn't step through
	all the MIN_MODE_PARTIAL_INT modes anymore.

From-SVN: r188402
2012-06-11 21:46:55 +00:00
Maxim Kuvyrkov 8b007d75c3 * gcc/config/mips/mips-tables.opt (xlp): Fix merge typo.
From-SVN: r188401
2012-06-11 21:42:02 +00:00
Roland McGrath 67a218c536 gthr-posix.h [...] (__gthread_active_p): If __GLIBC__ is defined, refer to __pthread_key_create instead of pthread_cancel.
* gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):
	If __GLIBC__ is defined, refer to __pthread_key_create instead of
	pthread_cancel.

From-SVN: r188400
2012-06-11 14:15:38 -07:00
Richard Henderson d3843c6726 * lib/target-supports.exp
(check_effective_target_sync_long_long_runtime): Use
        check_effective_target_lp64 instead of
        check_effective_target_powerpc64 for powerpc targets.

From-SVN: r188399
2012-06-11 13:48:30 -07:00
Roland McGrath a04739cb17 Roland McGrath <mcgrathr@google.com>
* dwarf2out.c (const_ok_for_output_1): Detect a TLS UNSPEC using
	SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P, in case it's
	not a VAR_DECL.  Also don't limit it to UNSPECs with exactly one
	operand.

From-SVN: r188398
2012-06-11 13:42:20 -07:00
Oleg Endo f9f472bd6a Fix ChangeLog formatting.
From-SVN: r188397
2012-06-11 19:33:14 +00:00
Oleg Endo 159b4b2f03 re PR target/53511 (SH Target: Add support for fma patterns)
PR target/53511
	* config/sh/sh.md (fmasf4): New expander.
	(*macsf3): Rename to fmasf4_i.  Adapt to fma pattern.
	(mac_media): Rename to fmasf4_media.  Adapt to fma pattern.
	* config/sh/sh.opt (mfused-madd): Remove.
	* config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
	(builtin_description bdesc): Remove __builtin_sh_media_FMAC_S.
	* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
	as extra options.
	* doc/invoke.texi (SH Options): Update mfused-madd and mno-fused-madd
	descriptions.

	PR target/53511
	* gcc.target/sh/pr53511-1.c: New.

From-SVN: r188396
2012-06-11 19:24:20 +00:00
Richard Henderson bf27c43e07 * dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.
From-SVN: r188391
2012-06-11 11:04:25 -07:00
Olivier Hainque f35aed4938 Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
* Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
       (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
       GNATLIBCFLAGS_FOR_C passed to gnatlib.
       (gnatlib-shared-win32): Likewise.
       (gnatlib-shared-darwin): Likewise.
       (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to 
       gnatlib-shared-win32.

       libada/
       * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG).

From-SVN: r188390
2012-06-11 15:24:12 +00:00
Richard Biener 35981f1f3f Fixup ChangeLog
From-SVN: r188388
2012-06-11 14:22:01 +00:00
Richard Guenther e3b127e818 re PR debug/53470 (ICE when linking with -g in splice_child_die, at dwarf2out.c:4264)
2012-06-11  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53470
	* tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
	replace it with the first non-BLOCK context.

	* g++.dg/lto/pr53470_0.C: New testcase.
	* gcc.dg/lto/pr53470_0.c: Likewise.

From-SVN: r188387
2012-06-11 14:14:09 +00:00
Richard Guenther 5a20ffcb3a re PR c++/53605 (Compiler ICEs in size_binop_loc)
2012-06-11  Richard Guenther  <rguenther@suse.de>

	PR c++/53616
	* mangle.c (write_array_type): Use double-ints for array domain
	arithmetic.

	* g++.dg/ext/pr53605.C: New testcase.

From-SVN: r188386
2012-06-11 13:58:29 +00:00
Richard Guenther a95b3cc734 alias.c (aliases_everything_p): Remove.
2012-06-11  Richard Guenther  <rguenther@suse.de>

	* alias.c (aliases_everything_p): Remove.
	(DIFFERENT_ALIAS_SETS_P): Likewise.
	(true_dependence_1): Use mems_in_disjoint_alias_sets_p directly.
	Do not use aliases_everything_p or special-case ANDs.  Do not
	special-case BLKmode moves.
	(may_alias_p): Likewise.  Handle BLKmode similar like everywhere
	- for SCATCH only.

From-SVN: r188384
2012-06-11 10:04:23 +00:00
Eric Botcazou f54ee9801d decl.c (gnat_to_gnu_entity): Convert GNU_SIZE to units before invoking allocatable_size_p on it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
	to units before invoking allocatable_size_p on it.
	Remove orphaned comment.  Do not use ssize_int.
	<E_Record_Subtype>: Traverse list in original order.  Minor tweak.
	(allocatable_size_p): Adjust and simplify.
	(build_subst_list): Use consistent terminology throughout.
	(build_variant_list): Likewise.  Traverse list in original order.
	(create_field_decl_from): Likewise.
	(copy_and_substitute_in_size): Likewise.
	(create_variant_part_from): Add comment about field list order.
	* gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
	* gcc-interface/utils2.c (build_allocator): Likewise.

From-SVN: r188382
2012-06-11 09:14:20 +00:00