2014-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, exp_ch7.ads, sinfo.ads: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check_Choice_Set): If the case expression is the
	expression in a predicate, do not recheck coverage against itself,
	to prevent spurious errors.
	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Indicate that
	expression comes from an aspect specification, to prevent spurious
	errors when expression is a case expression in a predicate.

2014-07-17  Pascal Obry  <obry@adacore.com>

	* adaint.c, adaint.h (__gnat_set_executable): Add mode parameter.
	* s-os_lib.ads, s-os_lib.adb (Set_Executable): Add Mode parameter.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* gnatchop.adb, make.adb, gnatbind.adb, clean.adb, gprep.adb,
	gnatxref.adb, gnatls.adb, gnatfind.adb, gnatname.adb: Do not output
	the usage for an erroneous invocation of a gnat tool.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212716 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-17  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads: Minor comment update.

2014-07-17  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c: Add ATTRIBUTE_UNUSED to avoid warnings.  Fix some
	indentation.
	* socket.c: Remove #warning to avoid warning.
	* expect.c: Indent some preprocessor directives to clarify
	nested if.  Do not use wait.h on PikeOS.  Add ATTRIBUTE_UNUSED
	to remove warnings.
	* env.c: Fix indentation.  Port to PikeOS.
	* gsocket.h: Port to PikeOS.  Remove #warning.
	* terminals.c: Port to PikeOS.	Fix indentation of the stubs.
	Add ATTRIBUTE_UNUSED to stubs arguments.  Fix return statement
	of stubbed __gnat_setup_parent_communication.
	* adaint.c: Port to PikeOS.  Reindent some preprocessor
	directives to clarify nested if.  Fix indentation.  Add missing
	ATTRIBUTE_UNUSED.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb: Minor reformatting.



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

	* exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped):
	Start examining the tree at the node passed to
	Establish_Transient_Scope (not its parent).
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
	The access type for the variable storing the reference to
	the call must be declared and frozen prior to establishing a
	transient scope.
	* exp_ch9.adb: Minor reformatting.



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

	* sem.ads (Scope_Stack_Entry): Reorganize storage of action lists;
	introduce a new list (cleanup actions) for each (transient) scope.
	* sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for
	N_Block_Statement
	* exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram.
	* exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common
	processing for Store_xxx_Actions_In_Scope.
	(Build_Cleanup_Statements): Allow for a list of additional
	cleanup statements to be passed by the caller.
	(Expand_Cleanup_Actions): Take custom cleanup actions associated
	with an N_Block_Statement into account.
	(Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry
	reorganization (refactoring only, no behaviour change).
	(Make_Transient_Block): Add assertion to ensure that the current
	scope is indeed a block (namely, the entity for the transient
	block being constructed syntactically, which has already been
	established as a scope).  If cleanup actions are present in the
	transient scope, transfer them now to the transient block.
	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the
	called function while it is still present as the name in a call
	in the tree. This may not be the case later on if the call is
	rewritten into a transient block.
	* exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions
	inserted after calling a protected operation on a shared passive
	protected must be performed in a block finalizer, not just
	inserted in the tree, so that they are executed even in case of
	a normal (RETURN) or abnormal (exception) transfer of control
	outside of the current scope.
	* exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation
	* sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for
	Scope_Stack_Entry reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD
	call for types that do not have an explicit attribute definition
	clause for External_Tag, as their default tag may clash with an
	explicit tag defined for some other type.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Controlled_Function_Call): Recognize a
	controlled function call with multiple actual parameters that
	appears in Object.Operation form.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove
	entity flag.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	External_Tag): No need to set entity flag.
	* sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause):
	Reimplement correctly in terms of Has_Rep_Item.



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

	* sem_aux.ads: Minor comment addition.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): If the call is already
	a rewriting of an operator node, there are no actuals to be
	propagated from original node to rewritten node when in ASIS mode.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract,
	Analyze_Subprogram_Contract): Add new local variable Mode. Save
	and restore the SPARK mode of the related construct in a
	stack-like fashion.
	* sem_ch7.adb (Analyze_Package_Body_Contract,
	Analyze_Package_Contract): Add new local variable Mode. Save and
	restore the SPARK mode of the related construct in a stack-like fashion.
	* sem_util.adb Remove with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.
	* sem_util.ads Add with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Transient objects
	within an expression with actions cannot be considered aliased.



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

	* gnat_rm.texi: Minor comment updates.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Make_Explicit_Dereference): If the expression
	being dereferenced is a generalized indexing, reset the overloaded
	flag on the generalized indexing call, consistent with the
	resetting of the flag on the original indexed component.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document advise not to mix -gnatV? and
	optimization.



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

	* back_end.adb: Minor reformatting and comment additions.
	* checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New
	function.
	* exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed.
	(Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed.
	* gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed.
	* gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check.
	* snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check.
	* types.ads (Duplicated_Tag_Checks_Suppressed): New check.



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

	* debug.adb: Remove -gnatdQ.
	* exp_disp.adb: Remove -gnatdQ.
	* a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads,
	a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads,
	rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads,
	a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads,
	sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads,
	a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit.



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

	* sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads,
	einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb,
	repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb,
	sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb,
	treepr.adb, lib-xref.adb: Remove the word kludge from ada sources.



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

	* gnat_rm.texi: Improve documentation of Unrestricted_Access.
	* sinfo.ads: Document restriction on aggregates (must expand to
	assignments if one or more assignments needs expansion, e.g. for
	controlled types).
	* sem_ch13.adb: All warning messages regarding bit order should
	be info: messages.
	* gnat_ugn.texi: Minor correction of missing @ on @code

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer.
	* s-rident.ads (Partition_Boolean_Restrictions): Add
	No_Long_Long_Integer.
	* sem_ch3.adb (Modular_Type_Declaration): Size must be <=
	Long_Integer'Size if restriction No_Long_Long_Integer is active.
	(Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer
	as the implicit base type for a signed integer type declaration
	if restriction No_Long_Long_Integer is active.
	* sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for
	No_Long_Long_Integer.



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

	* gnat_rm.texi: Document new restriction No_Long_Long_Integers.
	* exp_ch4.adb (Make_Array_Comparison_Op): Add note that we
	could do this by actually expanding a real generic.
	* a-tags.ads: Add comments about performance.
	* sprint.adb (Sprint_Node_Actual, case N_Object_Declaration):
	Print Etype of defining identifier, rather than the object
	definition. More information.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb: Minor documentation clarification.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Revert previous change.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* g-comlin.adb (Try_Help): New procedure.
	(Getopt): Use new procedure Try_Help.
	* g-comlin.ads (Try_Help): New procedure.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Minor update.



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

	* g-comlin.ads, g-comlin.adb: Minor clean up.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Update gnatpp doc.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212729 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-17  Vincent Celier  <celier@adacore.com>

	* gnatbind.adb: Change in message "try ... for more information".

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Code clean up.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Relocate local variables to
	the relevant code section. Add new local constant Obj_Id. When
	a limited controlled object is initialized by a function call,
	the build-in-place object access function call acts as the last
	initialization statement.
	* exp_util.adb (Is_Object_Access_BIP_Func_Call): New routine.
	(Is_Secondary_Stack_BIP_Func_Call): Code reformatting.
	* exp_util.ads (Is_Object_Access_BIP_Func_Call): New routine.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Generic_Renaming): For generic subprograms,
	propagate intrinsic flag to renamed entity, to allow e.g. renaming
	of Unchecked_Conversion.
	* sem_ch3.adb (Analyze_Declarations): Do not analyze contracts
	if the declaration has errors.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* a-rbtgbk.adb: a-rbtgbk.adb (Generic_Insert_Post): Check whether
	container is busy before checking whether capacity allows for
	a further insertion. Insertion in a busy container that is full
	raises Program_Error rather than Capacity_Error. Previous to that
	patch which exception was raised varied among container types.



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

	* sprint.adb (Write_Itype): Print proper header for string
	literal subtype.

2014-07-17  Steve Baird  <baird@adacore.com>

	* sinfo.ads, sem_scil.ads: Improve comments, minor reformatting.



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

	* aspects.ads, aspects.adb: Add entries for aspect Annotate.
	* gnat_rm.texi: Document Entity argument for pragma Annotate and
	Annotate aspect.
	* sem_ch13.adb (Analyze_Aspect_Specification): Add processing
	for Annotate aspect.
	* sem_prag.adb (Analyze_Pragma, case Annotate): Allow optional
	Entity argument at end.
	* sinfo.ads (N_Aspect_Specification): Add note on Annotate aspect.

2014-07-17  Tristan Gingold  <gingold@adacore.com>

	* s-imguns.ads: Fix minor typo.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* sprint.adb: Minor reformatting.



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

	* s-imguns.ads: Minor reformatting.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Finalization_Master): Move all local
	variables to the proper code section. When looking for an existing
	finalization master, inspect the ultimate ancestor type of the
	full view.
	* sem_util.ads, sem_util.adb (Root_Type_Of_Full_View): New routine.



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

	* exp_ch9.adb (Buid_Protected_Subprogram_Call): Preserve type
	of function call for later use when shared passive objects
	are involved.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch13.adb (Get_Aspect_Specifications):
	Catch a case where the argument of SPARK aspect Refined_State
	is not properly parenthesized.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Expand_Ctrl_Function_Call): Do not extend
	the lifetime of a reference to an Ada 2012 container element.
	(Is_Element_Reference): New routine.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* ali.ads: Minor comment fix.
	* lib-writ.adb: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Proper_Body): When analyzing a subunit
	in ASIS mode, load another subunit only if it a subunit of the
	current one, not a sibling that has been reached through the
	analysis of an ancestor. This allows the construction of the
	ASIS tree for the subunit even when sibling subunits have errors.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Remove the guard which
	prevents the analysis of various contracts when the associated
	construct is erroneous.
	* sem_util.adb (Save_SPARK_Mode_And_Set): Do not query the
	SPARK_Pragma of an illegal or a partially decorated construct.



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

	* bindgen.adb (Gen_Elab_Calls): Skip reference to elab
	entity if none exists (Gen_Elab_Calls): Complain if clash with
	No_Multiple_Elaboration.
	* s-rident.ads, restrict.ads: Add restriction No_Multiple_Elaboration.
	* sem_util.adb (Build_Elaboration_Entity): Skip building entity
	if not needed.
	* gnat_rm.texi: Document restriction No_Multiple_Elaboration.
	* sem_ch4.adb: Minor comment updates.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212735 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Improve documentation of Unrestricted_Access.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Build_Invariant_Procedure): Add variable Nam
	(Add_Invariants): Set Nam to Name_Type_Invariant if from aspect.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Create_Packed_Array_Type.Install_PAT): For a
	non-bit-packed array, propagate Reverse_Storage_Order to the
	packed array type.

2014-07-17  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Fix comment.
	* exp_pakd.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212736 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-17  Gary Dismukes  <dismukes@adacore.com>

	* exp_disp.adb: Minor reformatting.
	* exp_disp.adb: Minor code reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Do not
	require an explicit SSO attribute definition clause on a composite type
	just because one of its components has one.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Rewrite
	attribute out of existence if the enclosing pragma is ignored.
	* sem_util.adb: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Handle properly an
	array aggregate expanded into assignments when it appears as a
	local declaration in an inlined body.

2014-07-17  Doug Rupp  <rupp@adacore.com>

	* init.c [__ANDROID__]: Modify for ZCX.
	* exp_aggr.adb: Minor reformatting
	* sigtramp-armvxw.c, sigtramp-ppcvxw.c: Update comments.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* a-strunb-shared.ads, a-stwiun-shared.ads, a-stzunb-shared.ads,
	exp_ch7.adb, g-pehage.ads, g-socket.ads, gnat_ugn.texi, gnat_ugx.texi,
	scng.adb: Remove incorrect usage "allow to" and "allows to".

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_dist.adb: Minor reformatting.



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