2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Entity): Remove the check concerning volatile
	types in SPARK as it is poorly placed and poorly formulated. The
	check was flagging ALL volatile entities as illegal in SPARK.
	* sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile
	types as illegal in SPARK.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211615 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Geert Bosch  <bosch@adacore.com>

	* gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi,
	s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads,
	s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent.

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211616 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit):
	Removed.
	* opt.ads (Compiler_Unit): New flag.
	* par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit
	for null statement sequence (not allowed in compiler unit).
	* par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during
	parsing.
	* restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new
	calling sequence.
	* sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for
	Check_Compiler_Unit.
	* sem_ch6.adb (Analyze_Extended_Return_Statement): Call
	Check_Compiler_Unit (this construct is not allowed in compiler
	units).
	* sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]):
	Set Opt.Compiler_Unit.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211617 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* layout.adb (Layout_Type): Anonymous access types designating
	unconstrained arrays are always thin pointers.
	* sem_ch3.adb (Replace_Type): Anonymous access types designating
	unconstrained arrays are always thin pointers.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call
	to resolve the prefix of an attribute that is an entity name
	and may be a parameterless call.  Minor code reorganization.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211618 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Document debug flag -gnatd.1.
	* layout.adb (Layout_Type): Size change for anonymous access
	types under -gnatd.1.
	* sem_ch3.adb (Replace_Type): Size change for anonymous access
	types under -gnatd.1.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211619 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Minor fixes.
	* gnat_ugn.texi: Added a missing "@itemize".

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Remove -gnatd.1 flag documentation.
	* layout.adb (Layout_Type): Remove special handling of size
	for anonymous access type.
	* sem_ch3.adb (Replace_Type): Remove special handling of size
	for anonymous access type.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211620 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb (Get_Argument): fix expansion
	of command line arguments (e.g. "*.adb") when using a custom
	parser. The parser was not passed to the recursive call, and
	thus we were trying to do the expansion on the default command
	line parser.

2014-06-13  Thomas Quinot  <quinot@adacore.com>

	* exp_ch9.adb: Minor reformatting.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Old):
	To determine whether the attribute should be expanded, examine
	whether the enclosing postcondition pragma is to be checked,
	rather than using the internal flag Assertions_Enabled.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211621 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor
	reformatting.
	* sem_attr.adb: Minor code reformatting and simplification.
	* checks.adb: Fix minor typo.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211622 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Eric Botcazou  <ebotcazou@adacore.com>

	* checks.adb (Apply_Address_Clause_Check): Only issue the new
	warning if the propagation warning is issued.

2014-06-13  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb: Minor reformatting.

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
	Handle float range check case (Expand_N_Attribute_Reference,
	case Succ): Handle float range check case.
	* sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float
	range check case.

2014-06-13  Vincent Celier  <celier@adacore.com>

	* makeutl.ads (Compute_Builder_Switches): Change name of
	parameter Root_Environment to Env.
	* prj-conf.adb (Check_Switches): Call Locate_Runtime with the
	Env parameter of procedure Get_Or_Create_Configuration_File.
	(Locate_Runtime): Call Find_Rts_In_Path with the Project_Path
	of new parameter Env.
	* prj-conf.ads (Locate_Runtime): New parameter Env of type
	Prj.Tree.Environment.

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor comment clarification for Check_Float_Overflow.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211623 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change
	reason to Overflow.

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* makeutl.adb: Minor reformatting.

2014-06-13  Gail Schenker  <schenker@adacore.com>

	* debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and
	associated flag (d.z), no longer needed.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): For Import and
	Export aspects, do not check whether a corresponding Convention
	aspect has been specified. Convention is optional in Ada2012,
	and defaults to Convention_Ada.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211624 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Rewrite to propagate the VN result into all uses where
	possible and to remove stmts becoming dead because of that.
	(eliminate): Generalize stmt removal handling, remove in
	reverse dominator order to support proper debug stmt
	generation.  Update stmts before removing stmts.
	* tree-ssa-propagate.c (propagate_tree_value): Remove
	bogus assert.

	* c-c++-common/pr46562-2.c: Adjust.
	* g++.dg/tree-ssa/pr8781.C: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-39.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211625 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* errout.adb (SPARK_Msg_N): New routine.
	(SPARK_Msg_NE): New routine.
	* errout.ads Add a section on SPARK-related error routines.
	(SPARK_Msg_N): New routine.
	(SPARK_Msg_NE): New routine.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that
	pragma Abstract_State is always inserted after SPARK_Mode.
	(Insert_After_SPARK_Mode): New routine.
	* sem_prag.adb (Analyze_Abstract_State,
	Analyze_Constituent, Analyze_External_Property,
	Analyze_External_Property_In_Decl_Part, Analyze_Global_Item,
	Analyze_Global_List, Analyze_Initialization_Item,
	Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item,
	Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of,
	Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part,
	Analyze_Refined_Global_In_Decl_Part,
	Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause,
	Check_Aspect_Specification_Order, Check_Constituent_Usage,
	Check_Declaration_Order, Check_Dependency_Clause,
	Check_Duplicate_Mode, Check_Duplicate_Option,
	Check_Duplicate_Property, Check_External_Properties,
	Check_External_Property, Check_Function_Return,
	Check_Matching_Constituent, Check_Matching_State,
	Check_Mode_Restriction_In_Enclosing_Context,
	Check_Mode_Restriction_In_Function, Check_Refined_Global_Item,
	Check_State_And_Constituent_Use, Create_Or_Modify_Clause,
	Has_Extra_Parentheses, Inconsistent_Mode_Error,
	Match_Error, Propagate_Part_Of, Report_Extra_Clauses,
	Report_Extra_Constituents_In_List, Report_Extra_Inputs,
	Report_Unrefined_States, Report_Unused_Constituents,
	Report_Unused_States, Role_Error, Usage_Error):
	Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls
	to report semantic errors only when SPARK_Mode is on.
	(Analyze_Depends_In_Decl_Part): Do not check the syntax of
	pragma Depends explicitly, this is now done by the analysis.
	(Analyze_Global_In_Decl_List): Do not check the syntax of
	pragma Global explicitly, this is now done by the analysis.
	(Analyze_Initializes_In_Decl_Part): Do not check the syntax of
	pragma Initializes explicitly, this is now done by the analysis.
	(Analyze_Part_Of): Do not check the syntax of the encapsulating
	state, this is now done by the analysis.
	(Analyze_Pragma): Do
	not check the syntax of a state declaration, this is now done
	by the analysis.
	(Analyze_Refined_Depends_In_Decl_Part): Do not
	check the syntax of pragma Refined_Depends explicitly, this is now
	done by the analysis.
	(Analyze_Refined_Global_In_Decl_Part): Do
	not check the syntax of pragma Refined_Global explicitly, this is
	now done by the analysis.
	(Analyze_Refined_State_In_Decl_Part):
	Do not check the syntax of pragma Refined_State explicitly, this
	is now done by the analysis.
	(Check_Dependence_List_Syntax): Removed.
	(Check_Global_List_Syntax): Removed.
	(Check_Initialization_List_Syntax): Removed.
	(Check_Item_Syntax): Removed.
	(Check_Missing_Part_Of): Do not consider items from an instance.
	(Check_Refinement_List_Syntax): Removed.
	(Check_State_Declaration_Syntax): Removed.
	(Collect_Global_List): Do not raise Program_Error when the input is
	malformed.
	(Process_Global_List): Do not raise Program_Error when the input
	is malformed.
	* sem_ch13.adb: Minor reformatting.
2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Name): Diagnose a private type completion
	that is an interface definition with an interface list.
	(Process_Full_View): Move error message on missmatched interfaces
	between views to the declaration of full view, for clarity.
	* sem_ch9.adb (Check_Interfaces): Move error message to full view,
	for clarity.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211626 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add local
	variable Missing_Parentheses. Emit an error when a state
	declaration with options appears without parentheses. Add a
	guard to prevent a bogus error when a state declaration may be
	interpreted as an option if a previous declaration with options
	was not parenthesized.

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Validate_Alignment_Check_Warnings: New procedure
	(Apply_Address_Clause_Check): Make Aligment_Warnings table entry.
	* checks.ads (Alignment_Warnings_Record): New type.
	(Alignment_Warnings): New table
	(Validate_Alignment_Check_Warnings): New procedure.
	* errout.adb (Delete_Warning_And_Continuations): New procedure
	(Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle
	Warnings_Treated_As_Errors (Finalize): Minor reformatting
	* errout.ads (Warning_Msg): New variable
	(Delete_Warning_And_Continuations): New procedure
	* erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count.
	* gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* a-coinho.adb, a-coinho.ads: Add Reference machinery.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211627 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor
	reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211628 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-13  Yannick Moy  <moy@adacore.com>

	* exp_attr.adb Typo in comment.
	* gnat1drv.adb (Adjust_Global_Switches): Force float overflow
	checking in GNATprove_Mode.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* a-coinho-shared.adb, a-coinho-shared.ads: Update shared version.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211629 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch, microblaze]: Add optimized lshrsi3

When barrel shifter is not present, the immediate value
is greater than #5 and optimization is -OS, the
compiler will generate shift operation using loop.

Changelog

2013-11-26  David Holsgrove <david.holsgrove@xilinx.com>

 * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn

ChangeLog/testsuite

2014-02-12  David Holsgrove <david.holsgrove@xilinx.com>

 * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.

Signed-off-by:Nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Add INIT_PRIORITY support

Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros.

These macros allows users to control the order of initialization
of objects defined at namespace scope with the init_priority
attribute by specifying a relative priority, a constant integral
expression currently bounded between 101 and 65535 inclusive.

Lower numbers indicate a higher priority.

Changelog

2013-11-26  Nagaraju Mekala <nagaraju.mekala@xilinx.com>

 * gcc/config/microblaze/microblaze.c: Add microblaze_asm_constructor,
   microblaze_asm_destructor. Define TARGET_ASM_CONSTRUCTOR and
   TARGET_ASM_DESTRUCTOR.

Signed-off-by:nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Add supervisory call support

A function can be executed in supervisory mode when a function
is declared with svc_handler attribute.

If a function with svc_handler is called, the processor switches
to supervisory mode and executes. After executing the function
it returns to normal mode.

Same feature can also be invoked with svc_table_handler attribute
but this attribute will accept a service ID, to be used for
calling the function.

Signed-off-by:nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Increase max alignment to please the testsuite

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
[Patch, microblaze]: Disable fivopts by default

Turn off ivopts by default. Interferes with cse.

Changelog

2013-03-18  Edgar E. Iglesias <edgar.iglesias@xilinx.com>

 * gcc/common/config/microblaze/microblaze-common.c
   (microblaze_option_optimization_table): Disable fivopts by default.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>