2013-04-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57026
	* tree-vrp.c (simplify_conversion_using_ranges): Do not propagate
	from SSA names occuring in abnormal PHI nodes.

	* gcc.dg/torture/pr57026.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198175 138bc75d-0d04-0410-961f-82ee72b054a4
* coretypes.h (gimple_stmt_iterator): Add struct to make
compatible with C.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198176 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Dependency_Clause): Update all calls to
	Analyze_Input_Output.
	(Analyze_Input_List): Update all calls to Analyze_Input_Output.
	(Analyze_Input_Output): Add formal parameter Self_Ref along with
	comment on its usage. Update all calls to Analyze_Input_Output.
	(Analyze_Pragma): Add new local variable Self_Ref to capture
	the presence of a self-referential dependency clause. Update
	all calls to Analyze_Input_Output.
	(Check_Mode): Add formal parameter Self_Ref along with comment on its
	usage. Verify the legality of a self-referential output.

2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb: Add predicate checks on by-copy parameter.

2013-04-23  Vincent Celier  <celier@adacore.com>

	* a-envvar.adb, a-envvar.ads (Value): New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198177 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Fix_Error): Rewrite to do more accurate job
	of getting proper name in the case where pragma comes from
	aspect.
	* sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting.

2013-04-23  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Process_PPCs): Do not filter postconditions based on
	applicable policy.

2013-04-23  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_Aux_Decls): Minor code reorganization.

2013-04-23  Doug Rupp  <rupp@adacore.com>

	* init.c: Move facility macros outside IN_RTS.

2013-04-23  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Freeze_Entity): For the case of a bit-packed
	array time that is known at compile time to have more that
	Integer'Last+1 elements, issue an error, since such arrays are
	not supported.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198178 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
	* exp_util.adb (Expand_Subtype_From_Expr): If the expression
	is a source entity and the declaration is for an aliased
	unconstrained array, create a new subtype so that the flag
	Is_Constr_Subt_For_UN_Aliased does not pollute other entities.

2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Move tables Base_Aspect and Inherited_Aspect
	from the spec to the body.
	(Find_Aspect): Update the call to Get_Aspect_Id.
	(Get_Aspect_Id): New version that takes an aspect specification.
	* aspects.ads: Reorganize all aspect related tables.
	(Get_Aspect_Id): New version that takes an aspect specification.
	* par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
	the call to Get_Aspect_Id.
	* sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
	call to Get_Aspect_Id.	(Analyze_Aspect_Specifications): Update
	the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198179 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor
	reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198180 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function
	(can apply to any scope entity).
	* sem_res.adb (Resolve_Call):  If the call is within another
	expression function it does not constitute a freeze point.

2013-04-23  Yannick Moy  <moy@adacore.com>

	* exp_ch6.adb (Expand_Actuals): Test that Subp
	is overloadable before testing if it's an inherited operation.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198181 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor
	reformatting.

2013-04-23  Pascal Obry  <obry@adacore.com>

	* xoscons.adb: Remove unused use clause, minor code clean-up.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198182 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* xoscons.adb: Minor reformatting.

2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Mode): Ensure that a
	self-referential output appears in both input and output lists of
	the subprogram as categorized by aspect Global.
	(Check_Usage): Rename formal parameters to better illustrate their
	function. Update all uses of the said formals.

2013-04-23  Thomas Quinot  <quinot@adacore.com>

	* exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New
	parameter Append_NUL to make NUL-termination optional.
	* exp_dist.adb: Consistently use the above throughout instead of
	Get_Library_Unit_Name_String.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198183 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Significant
	rewrite to make sure Is_Ignore is properly captured when aspect
	is declared.
	* sem_ch6.adb: Minor reformatting.
	* sem_prag.adb (Analyze_Pragma): Do not test policy at time of
	pragma for the case of a pragma coming from an aspect (already
	tested when we analyzed the aspect).

2013-04-23  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Parse_Project_And_Apply_Config): New
	Boolean parameter Implicit_Project, defaulted to False. Call
	Prj.Part.Parse with Implicit_Project.
	* prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
	parameter Implicit_Project, defaulted to False.
	* prj-part.adb (Parse_Single_Project): New Boolean parameter
	Implicit_Project, defaulted to False. When Implicit_Project is
	True, change the Directory of the project node to the Current_Dir.
	* prj-part.ads (Parse): New Boolean parameter, defaulted to False

2013-04-23  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198184 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Vincent Celier  <celier@adacore.com>

	* prj-part.ads, prj-conf.ads: Minor comment updates.

2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* einfo.adb (Predicate_Function): For a private type, retrieve
	predicate function from full view.
	* aspects.adb (Find_Aspect): Ditto.
	* exp_ch6.adb (Expand_Actuals): If the formal is class-wide and
	the actual is a definite type, apply predicate check after call.
	* sem_res.adb: Do not apply a predicate check before the call to
	a generated Init_Proc.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198185 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor
	reformatting and code clean up.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198186 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): Check for Assert rather
	than Assertion.
	* sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec
	(Effective_Name): New function (Analyze_Pragma, case Check):
	Disallow [Statement_]Assertions (Check_Kind): Implement
	Statement_Assertions (Check_Applicable_Policy): Use Effective_Name
	(Is_Valid_Assertion_Kind): Allow Statement_Assertions.
	* sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body
	(Effective_Name): New function.
	* sem_res.adb: Minor reformatting.
	* snames.ads-tmpl (Name_Statement_Assertions): New entry.
	* gnat_rm.texi: Add documentation of new assertion kind
	Statement_Assertions.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198187 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View):
	Rename subprogram as Object_Type_Has_Constrained_Partial_View, better
	description of purpose.
	* checks.adb (Apply_Discriminant_Check): Use above renaming.
	* sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View
	of the base type, rather than using the Object_Type predicate.
	* sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming.
	* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto.
	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto.
	* exp_ch4.adb (Expand_N_Allocator): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198188 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Yannick Moy  <moy@adacore.com>

	* exp_ch5.adb: Minor typo.

2013-04-23  Thomas Quinot  <quinot@adacore.com>

	* gnat_ugn.texi: Fix typo.

2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads: Minor documentation clarification.

2013-04-23  Bob Duff  <duff@adacore.com>

	* types.ads: Fix incorrect comment.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198189 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/sjlj.S: New file.
	* config/s390/target.h: New file.
	* configure.tgt: Set options for S/390.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198190 138bc75d-0d04-0410-961f-82ee72b054a4
	gcc/
	* config/aarch64/aarch64.md (*mov<mode>_aarch64): Add simd attribute.

	testsuite/
	* gcc.target/aarch64/scalar-mov.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198191 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Richard Biener  <rguenther@suse.de>

	PR middle-end/57036
	* tree-inline.c (copy_edges_for_bb): Add can_make_abnormal_goto
	parameter, only add abnormal goto edges from the copied body
	if the call could perform abnormal gotos.
	(copy_cfg_body): Adjust.

	* gcc.dg/torture/pr57036-1.c: New testcase.
	* gcc.dg/torture/pr57036-2.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198192 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with
	initialize_scalars, disable predicate checks on the generated
	assignment to an out scalar parameter.

2013-04-23  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): Remove error
	check for "constrained in partial view" constraints entirely.

2013-04-23  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, sem_prag.ads: Minor reformatting.
	* errout.ads: Comment update.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198194 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-23  Yannick Moy  <moy@adacore.com>

	* err_vars.ads (Error_Msg_Qual_Level): Set variable to zero
	at declaration.
	* opt.ads (Multiple_Unit_Index): Set variable to zero at declaration.
	* sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration.
	* set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration.
	* stylesw.adb (Save_Style_Check_Options): Protect testing the
	value of Style_Check_Comments_Spacing by a previous test that
	Style_Check_Comments is True.

2013-04-23  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb, sem_prag.ads (Effective_Name): Rename to
	Original_Name, and move declaration to package body as this
	subprogram is not used from outside. Also clarify documentation.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198195 138bc75d-0d04-0410-961f-82ee72b054a4