2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb: Minor reformatting.

2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_dim.adb (Process_Minus, Process_Divide): Label dimension
	expression with standard operator and type, for pretty-printing
	use.

2013-10-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Document --pp-new and --pp-old switches.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag 159 is now known as From_Limited_With. Replace
	all references to attribute From_With_Type with From_Limited_With.
	(From_With_Type): Renamed to From_Limited_With.
	(Set_From_With_Type): Renamd to Set_From_Limited_With.
	* einfo.ads: Remove attribute From_With_Type and occurrences in
	nodes.	Add attribute From_Limited_With along with occurrences
	in nodes.
	(From_With_Type): Renamed to From_Limited_With along with pragma Inline.
	(Set_From_With_Type): Renamed to
	Set_From_Limited_With along with pragma Inline.
	* sem_ch7.adb, sem_ch8.adb, sem_ch12.adb, sem_ch13.adb, sem_disp.adb,
	sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
	exp_attr.adb, exp_disp.adb, freeze.adb, itypes.adb, layout.adb,
	lib-writ.adb, rtsfind.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
	sem_ch4.adb: Replace all references to attribute From_With_Type
	with From_Limited_With.
	* sem_ch6.adb: Replace all references to attribute From_With_Type
	with From_Limited_With.
	(Designates_From_With_Type): Renamed to Designates_From_Limited_With.
	(Process_Formals): Update the call to Designates_From_With_Type.
	* sem_ch10.adb: Replace all references to attribute From_With_Type
	with From_Limited_With.
	(Build_Limited_Views): Reimplemented.
	* gcc-interface/decl.c Replace all references to attribute
	From_With_Type with From_Limited_With.
	(finalize_from_with_types): Renamed to finalize_from_limited_with.
	* gcc-interface/gigi.h (finalize_from_with_types): Renamed to
	finalize_from_limited_with.
	* gcc-interface/trans.c: Replace all references to attribute
	From_With_Type with From_Limited_With.
	(Compilation_Unit_to_gnu): Update the call to finalize_from_with_types.

2013-10-17  Pascal Obry  <obry@adacore.com>

	* projects.texi: Update VCS_Kind documentation.

2013-10-17  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb, a-cobove.adb (Insert, Insert_Space):
	Inspect value range before converting type.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Flag the use of pragma Refined_Pre as
	illegal.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203756 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* g-cppexc.adb, g-cppexc.ads: New files.
	* gcc-interface/Makefile.in: Add g-cppexc when building zcx runtimes.



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

	* sem_ch12.adb (Validated_Access_Subprogram_Instance): According
	to AI05-288, actuals for access_to_subprograms must be subtype
	conformant with the generic formal.  Previous to AI05-288
	only mode conformance was required, but the AI is a binding
	interpretation that applies to previous versions of the language,

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor text correction.
	* ug_words: Add entry for -gnateu /IGNORE_UNRECOGNIZED.
	* vms_data.ads: Add /IGNORE_UNRECOGNIZED for -gnateu.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* impunit.adb (Non_Imp_File_Names_95): Add g-cppexc.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Constituent): Move the check
	concerning option Part_Of to routine Check_Matching_Constituent.
	(Check_Matching_Constituent): Verify that an abstract state
	that acts as a constituent has the prope Part_Op option in
	its aspect/pragma Abstract_State.  Account for the case when a
	constituent comes from a private child or private sibling.
	* sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine.



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

	* sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
	Refined_Pre as not supported.
	* sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.



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

	* sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make
	predicate compatible with Ada 2012 definition
	(Is_Limited_View): New name for previous version of
	Is_Immutably_Limited_Type.  Predicate is true for an untagged
	record type with a limited component.
	* exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb,
	sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb,
	sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View
	* freeze.adb Use Is_Immutably_Limited_Type to check the legality
	of references to the current instance, Is_Limited_View otherwise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203762 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_util.adb (Get_Current_Value_Condition,
	Set_Current_Value_Condition): Handle the case of expressions
	with actions * exp_util.adb (Insert_Actions): Handle the case
	of an expression with actions whose Actions list is empty.
	* exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An
	expression with actions that has no Actions and whose Expression
	is side effect free is itself side effect free.
	* exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on
	temporary 'R' (Def_Id), which is in general an access to Exp_Type, not
	an Exp_Type.
	* sem_res.adb (Resolve): For an expression with
	actions, resolve the expression early.	* sem_res.adb
	(Resolve_Expression_With_Actions): Rewrite an expression with
	actions whose value is compile time known and which has no
	actions into just its expression, so that its constant value is
	available downstream.
	* sem_res.adb (Resolve_Short_Circuit):
	Wrap the left operand in an expression with actions to contain
	any required finalization actions.
	* exp_ch4.adb (Expand_Expression_With_Actions): For an
	expression with actions returning a Boolean expression, ensure
	any finalization action is kept within the Actions list.
	* sem_warn.adb (Check_References, Check_Unset_Reference): add
	missing circuitry to handle expressions with actions.
	* checks.adb (Ensure_Valid): For an expression with actions,
	insert the validity check on the Expression.
	* sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression
	with actions that has a non-empty Actions list is not static. An
	expression with actions that has an empty Actions list has the
	static ranges of its Expression.
	* sem_util.adb (Has_No_Obvious_Side_Effects): An expression with
	actions with an empty Actions list has no obvious side effects
	if its Expression itsekf has no obvious side effects.



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

	* exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util.
	* sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null
	item list as being analyzed.
	(Analyze_Global_List): Mark a
	null global list and multiple global items as being analyzed.
	(Analyze_Input_Item): Check the unit that defines the input
	variable or state, not the reference to it.
	* sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure
	that the input has an entity.



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

	* aspects.adb, aspects.ads, sem_prag.ads: Remove all entries
	for Refined_Pre from the various tables.
	* par-prag.adb: Remove the entry for Refined_Pre from the list
	of pragmas not needing special processing by the parser.
	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Remove the processing for aspect Refined_Pre.
	(Check_Aspect_At_Freeze_Point): Remove the entry for aspect
	Refined_Pre.
	* sem_prag.adb (Analyze_Pragma): Refined_Pre is no longer a
	valid assertion kind. Remove the analysis of pragma Refined_Pre.
	(Analyze_Refined_Pragma): Update the comment on usage.
	(Find_Related_Subprogram_Or_Body): Update the comment on
	usage. Pragma Refined_Pre is no longer processed by this routine.
	(Is_Valid_Assertion_Kind): Refined_Pre is no longer a valid
	assertion kind.
	* snames.ads-tmpl: Remove predefined name Refined_Pre. Remove
	the pragma id for Refined_Pre.



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

	* sem_prag.adb (Is_Matching_Input): Account
	for the case where a state with a null refinement appears as
	the last input of a refinement clause.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_aux.ads, sem_aux.adb: Minor reformatting.



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

	* sem_prag.adb (Record_Possible_Body_Reference): Fix test for
	being in body.
	(Add_Constituent): Merged into Check_Refined_Global_Item.
	(Check_Matching_Constituent): A constituent that has the proper Part_Of
	option and comes from a private child or a sibling is now collected.
	(Check_Matching_Modes): Merged into Check_Refined_Global_Item.
	(Check_Refined_Global_Item): Code cleanup.
	(Collect_Constituent): New routine.
	(Inconsistent_Mode_Error): Moved out from Check_Matching_Modes.

2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Check_Current_Instance, Process): Add RM reference
	and mention immutably limited types, when the current instance
	is illegal in Ada 2012.

2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_Unused_Withs): If the main unit is a
	subunit, apply the check to the units mentioned in its context
	only. This provides additional warnings on with_clauses that
	are superfluous.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Emit an
	error message concerning state refinement when the spec defines at
	least one non-null abstract state and the body's SPARK mode is On.
	(Requires_State_Refinement): New routine.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch7.ads: Comment fixes.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch7.adb (Analyze_Package_Specification): Remove circuit
	for ensuring that a package spec requires a body for some other
	reason than that it contains the declaration of an abstract state.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* exp_ch11.adb (Expand_N_Raise_Expression): Fix call of
	Possible_Local_Raise.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Unchecked
	conversion of Or_Rhs to Etype of New_Rhs is required only when
	the latter is the result of a byte swap operation.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb (Build_To_Any_Function): For a type with opaque
	representation that is not transmitted as an unconstrained value,
	use 'Write, not 'Output, to generate the opaque representation.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Short_Circuit): Only
	generate expression-with-action when full expansion is set.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* debug.adb Remove obsolete comment.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
	Avoid late insertion when expanding an expression with action
	nested within a transient block; Do not inconditionally generate
	a finalization call if the generated object is from a specific
	branch of a conditional expression.

2013-10-17  Pascal Obry  <obry@adacore.com>

	* g-arrspl.adb: Ensure Finalize call is idempotent.
	* g-arrspl.adb (Finalize): Makes the call idempotent.



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

	* sem_res.adb (Resolve_Short_Circuit): Only
	generate expression-with-action when full expansion is set.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* debug.adb Remove obsolete comment.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
	Avoid late insertion when expanding an expression with action
	nested within a transient block; Do not inconditionally generate
	a finalization call if the generated object is from a specific
	branch of a conditional expression.

2013-10-17  Pascal Obry  <obry@adacore.com>

	* g-arrspl.adb: Ensure Finalize call is idempotent.
	* g-arrspl.adb (Finalize): Makes the call idempotent.



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

	* sem_prag.adb (Check_Dependency_Clause):
	Recognize the scenario where successful clause matching has
	depleted the available refinement items and the clause to match
	technically refines to null => null.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
	External_Name instead of Link_Name for the RTTI declaration.



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