1. 30 Jul, 2014 40 commits
    • inline.adb, [...]: Minor reformatting. · facfa165
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* inline.adb, a-coorse.adb, a-coorse.ads, a-cohase.adb, a-cohase.ads,
      	a-tasatt.adb: Minor reformatting.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb: Minor reformatting.
      
      From-SVN: r213278
      Robert Dewar committed
    • [multiple changes] · 29ad9ea5
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-coorse.adb, a-coorse.ads (Generic_Keys): Add a
      	Reference_Control_Type to generic package, to keep additional
      	information for Reference_Types that manipulate keys. Add Adjust and
      	Finalize procedures for this type.
      	(Finalize): When finalizing a reference_preserving_key, verify
      	that the key of the new value is equivalent to the key of the
      	original element, raise Program_Error otherwise.
      	(Insert): Detect tampering.
      	(Reference_Preserving_Key): Build proper Reference_Control_Type,
      	and update Busy and Lock bits to detect tampering.
      	* a-cohase.ads: Keep with-clause private.
      
      2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands
      	of an equality are of an Unchecked_Union type and lack inferable
      	discriminants.
      
      From-SVN: r213277
      Arnaud Charlet committed
    • [multiple changes] · 995683a6
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* g-exctra.adb, g-exctra.ads, s-exctra.adb, s-exctra.ads, Makefile.rtl,
      	g-trasym.adb, g-trasym.ads, s-trasym.adb, s-trasym.ads: Move
      	GNAT.Traceback.Symbolic and GNAT.Exception_Traces into the System
      	hierarchy (System.Traceback.Symbolic and System.Exception_Traces), so
      	we can call them from the runtimes. Leave renamings in place under GNAT.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Check_And_Build_Body_To_Inline): Include code for
      	inlining in GNATprove mode.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-cohase.adb, a-cohase.ads (Generic_Keys): Add a
      	Reference_Control_Type to generic package, to keep additional
      	information for Reference_Types that manipulate keys. Add Adjust and
      	Finalize procedures for this type.
      	(Delete_Node): New procedure called when finalizing a
      	Reference_Control_Type, to remove a node whose element has been
      	improperly updated through a Reference.
      	(Insert): Detect tampering.
      	(Reference_Preserving_Key): Build proper Reference_Control_Type,
      	and update Busy and Lock bits to detect tampering.
      
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* exp_intr.ads: Minor comment fix.
      
      From-SVN: r213276
      Arnaud Charlet committed
    • [multiple changes] · 793c5f05
      2014-07-30  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_prag.adb, a-tags.ads: Minor typo fixes.
      
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* a-excach.adb, a-excach-cert.adb, a-except-2005.ads,
      	a-except.ads, g-traceb.adb, memtrack.adb,
      	s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
      	Cleanup: Make the three versions of System.Traceback.Call_Chain
      	have the same interface. Use an array for the Traceback parameter
      	instead of an Address.	This will enable reduction in code
      	duplication.
      
      2014-07-30  Pat Rogers  <rogers@adacore.com>
      
      	* gnat_ugn.texi: Corrected minor textual error in description
      	of switch -gnatwl.
      
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* Makefile.rtl: Sort file names.
      
      2014-07-30  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-tasatt.adb: Complete previous change: kill spurious warning
      	on e.g. sparc, and make sure we only use the fast path when the
      	alignment is compatible.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark new Spec_Id as
      	coming from source.
      
      From-SVN: r213275
      Arnaud Charlet committed
    • inline.adb (Build_Body_To_Inline): Issue more precise messages for declarations… · 1eb31e60
      inline.adb (Build_Body_To_Inline): Issue more precise messages for declarations that prevent inlining.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Build_Body_To_Inline): Issue more precise messages
      	for declarations that prevent inlining.
      	(Cannot_Inline): Change usual start of message to refer to contextual
      	analysis in GNATprove mode.
      	* sem_res.adb (Resolve_Call): Change usual start of message to
      	refer to contextual analysis in GNATprove mode, when inlining
      	not possible.
      
      From-SVN: r213273
      Yannick Moy committed
    • [multiple changes] · eb1ee757
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb, sem_ch6.adb: Minor code reorganization.
      	* inline.adb: Minor reformatting.
      
      2014-07-30  Javier Miranda  <miranda@adacore.com>
      
      	* a-tags.ads: Add comments.
      
      From-SVN: r213272
      Arnaud Charlet committed
    • [multiple changes] · 2178830b
      2014-07-30  Pat Rogers  <rogers@adacore.com>
      
      	* gnat_rm.texi: Minor word error.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_prag.adb (Expand_Old): Insert declarationss of temporaries
      	created to capture the value of the prefix of 'Old at the
      	beginning of the current declarative part, to prevent data flow
      	anomalies in the postcondition procedure that will follow.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* debug.adb: Retire debug flag -gnatdQ.
      	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check SPARK_Mode
      	on decl, not on body.  Ignore predicate functions.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove use of
      	debug flag -gnatdQ.  Correctly analyze SPARK_Mode on decl and
      	body when generating a decl for a body on which SPARK_Mode aspect
      	is given.
      	* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Reorder tests for
      	attaching pragma to entity, to account for declaration not coming
      	from source.
      	* sem_res.adb (Resolve_Call): Issue warning and flag subprogram
      	as not always inlined in GNATprove mode, when called in an
      	assertion context.
      
      From-SVN: r213271
      Arnaud Charlet committed
    • [multiple changes] · d3e16619
      2014-07-30  Vincent Celier  <celier@adacore.com>
      
      	* debug.adb: Minor comment update.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* s-tasuti.adb, s-tassta.adb: Minor reformatting.
      	* sprint.adb (Sprint_Node): Handle N_Contract case.
      	* exp_prag.adb: Minor reformatting.
      	* freeze.adb (Freeze_Entity): Check useless postcondition for
      	No_Return subprogram.
      	* sem_prag.adb: Minor reformatting.
      
      2014-07-30  Javier Miranda  <miranda@adacore.com>
      
      	* a-tags.ads: Complete comments about performance.
      
      2014-07-30  Fedor Rybin  <frybin@adacore.com>
      
      	* gnat_ugn.texi: Adding description for --exit-status option to
      	gnattest section.  Fixing index entry of --passed-tests option
      	in gnattest section.
      
      2014-07-30  Javier Miranda  <miranda@adacore.com>
      
      	* Makefile.rtl, gnat_rm.texi, i-cpp.adb, i-cpp.ads, impunit.adb,
      	rtsfind.ads: Remove references to package Interfaces.CPP since this
      	package is no longer needed.
      
      From-SVN: r213270
      Arnaud Charlet committed
    • s-taasde.adb (Timer_Queue): Don't use a build-in-place function call to initialize the Timer_Queue. · fccaf220
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* s-taasde.adb (Timer_Queue): Don't use a
      	build-in-place function call to initialize the Timer_Queue.
      	* s-traent.adb, s-traent.ads, s-traent-vms.adb, s-traent-vms.ads:
      	Turn off polling in these units, because otherwise we get
      	elaboration circularities with Ada.Exceptions when the -gnatP
      	switch is used.
      	* s-tassta.adb (Create_Task): Make sure independent tasks
      	are created with Parent = Environment_Task. This was not true,
      	for example, in s-interr.adb, when Interrupt_Manager does "new
      	Server_Task"; the Server_Task had Parent = Interrupt_Manager,
      	which is wrong because the master is determined by the access
      	type, which is at library level.
      	* s-tasuti.adb (Make_Independent): Avoid setting Parent; it is
      	now set correctly by Create_Task.
      	(Make_Passive): Remove the workaround for the race condition in
      	Make_Independent.
      	* frontend.adb (Frontend): Revert to previous method of detecting
      	temporary configuration pragma files, recognizing such files by
      	".tmp" in the name. This is more general than detecting pragmas
      	Source_File_Name_Project, because it allows any tool to use
      	this naming convention, no matter the content of the file.
      	* gnat_ugn.texi: Document this naming convention.
      
      From-SVN: r213269
      Bob Duff committed
    • exp_ch7.adb, [...]: Minor reformatting. · 3aac5551
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb, s-tataat.adb, s-tataat.ads, s-parame-vms-alpha.ads,
      	inline.adb, s-parame-hpux.ads, exp_smem.adb, s-tasini.adb,
      	s-tasini.ads, s-parame-vms-ia64.ads, s-parame.ads, s-taskin.ads,
      	s-parame-vxworks.ads, a-tasatt.adb, a-tasatt.ads: Minor reformatting.
      	* a-suenco.adb (Convert): Handle overlong encodings in UTF8-UTF8
      	conversion.
      
      From-SVN: r213268
      Robert Dewar committed
    • sem_ch5.adb: Improve error recovery. · 274d2584
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: Improve error recovery.
      	* inline.adb (Build_Body_To_Inline): Set Full_Analysis to false
      	before analyzing the body, so that in GNATprove mode there is
      	no light expansion. Whatever expansion is required by SPARK will
      	be performed when analysing the inlined code.
      
      From-SVN: r213267
      Ed Schonberg committed
    • [multiple changes] · 2afa8fdd
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Loop_Statement): If loop has a label,
      	verify that it is not hidden by an inner implicit declaration.
      
      From-SVN: r213266
      Arnaud Charlet committed
    • [multiple changes] · 8071b771
      2014-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects.
      	* sem_ch8.adb (Push_Scope): Initialize Locked_Shared_Objects.
      	* exp_smem.adb (Add_Shared_Var_Lock_Procs): Handle the case where
      	the call returns an unconstrained type: in this case there is
      	already a transient scope, and we should not establish a new one.
      	* exp_ch7.adb (Insert_Actions_In_Scope_Around): New formal Clean. If
      	True, also insert cleanup actions in the tree.
      	(Wrap_Transient_Declaration): Call Insert_Actions_In_Scope_Around
      	with Clean set True.
      
      2014-07-30  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-taskin.ads (Direct_Index, Direct_Index_Range,
      	Direct_Attribute_Element, Direct_Attribute_Array,
      	Direct_Index_Vector, Direct_Attributes, Is_Defined,
      	Indirect_Attributes): Removed.	(Atomic_Address,
      	Attribute_Array, Attributes): New.
      	* s-tasini.ads, s-tasini.adb (Proc_T, Initialize_Attributes,
      	Finalize_Attributes_Link, Initialize_Attributes_Link): Removed.
      	(Finalize_Attributes): Reimplement.
      	* s-tassta.adb (Create_Task): Remove call to
      	Initialize_Attributes_Link (Free_Task, Vulnerable_Free_Task):
      	Replace Finalize_Attributes_Link by Finalize_Attributes.
      	* a-tasatt.ads, a-tasatt.adb, s-tataat.ads, s-tataat.adb:
      	Reimplement from scratch, using a simpler and more efficient
      	implementation.
      	* s-tporft.adb (Register_Foreign_Thread): Remove now obsolete comment.
      	* s-parame.ads, s-parame-hpux.ads,
      	* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads,
      	* s-parame-vxworks.ads (Max_Attribute_Count): New, replace
      	Default_Attribute_Count.
      
      From-SVN: r213265
      Arnaud Charlet committed
    • [multiple changes] · 4bd4bb7f
      2014-07-30  Olivier Hainque  <hainque@adacore.com>
      
      	* vxworks-ppc-link.spec: New file. Extra link
      	instructions for ppc-vxworks.
      	* vxworks-crtbe-link.spec: Likewise, for ZCX related support.
      	* system-vxworks-ppc.ads: Adjust linker options to use spec files.
      	* system-vxworks-arm.ads: Likewise.
      	* gcc-interface/Makefile.in: Enable .spec files.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb: Minor comment reformatting.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Is_Junk_Name): Removed.
      	* sem_warn.adb (Has_Junk_Name): New function
      	(Check_References): Use Has_Junk_Name to delete junk warnings
      	(Check_Unset_Reference): ditto.
      	(Warn_On_Unreferenced_Entity): ditto.
      	(Warn_On_Useless_Assignment): ditto.
      	* sem_ch3.adb, lib-xref-spark_specific.adb, s-taprop-vxworks.adb,
      	exp_ch7.adb, s-asthan-vms-alpha.adb, sem_ch10.adb, osint-c.adb,
      	prj.adb, g-comlin.adb, makeutl.adb, s-tasdeb.adb, exp_intr.adb,
      	s-asthan-vms-ia64.adb, prj-env.adb: Ditto.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Insert_Valid_Check): Do not check for the packed
      	array type of a prefix that is an access type.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute
      	Unconstrained_Array even if prefix is not frozen yet, as can
      	occur with a private subtype used as a generic actual.
      
      2014-07-30  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_attr.adb: Minor reformatting.
      
      2014-07-30  Pat Rogers  <rogers@adacore.com>
      
      	* gnat_rm.texi: Corrected minor wording error in description
      	of No_Exception_Registration.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove
      	mode. Realphabetize two subprograms.
      	* inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode.
      	(Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id.
      	(Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove
      	mode.
      	(Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use
      	Is_Inline in GNATprove mode.
      	(Analyze_Subprogram_Specification):
      	Set Is_Inlined_Always at subprogram entity creation.
      	* sem_res.adb (Resolve_Call): Do not deal with inlining during
      	pre-analysis.  Issue warning on call to possibly inlined
      	subprogram when body not seen.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref.adb (Generate_Reference): Add special
      	case for compiler-generated formals in GNATprove mode.
      
      From-SVN: r213264
      Arnaud Charlet committed
    • Clean up. · e687b3f5
      From-SVN: r213263
      Arnaud Charlet committed
    • [gcc/] · 6a7d8936
      	* graphite-isl-ast-to-gimple.c:
      	(gcc_expression_from_isl_ast_expr_id): Add calling of fold_convert.
      	(gcc_expression_from_isl_expression): Pass type to
      	gcc_expression_from_isl_ast_expr_id.
      
      From-SVN: r213262
      Roman Gareev committed
    • [multiple changes] · 480156b2
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb: Add comments.
      
      2014-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* s-os_lib.ads (GM_Time_Of): Clarify documentation.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sem_aggr.adb, sem_res.adb: Minor reformatting.
      
      2014-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
      	Bit_Order): Set Reverse_Bit_Order on the base type of the
      	specified first subtype.
      
      From-SVN: r213261
      Arnaud Charlet committed
    • [multiple changes] · 36428cc4
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.adb (Expand_Inlined_Call): Use a renaming declaration
      	to capture the value of actuals of a limited type rather than
      	an object declaration, to prevent spurious errors when analyzing
      	the inlined body.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Type_Conversion): Treat an inlined body
      	as an instance, and inhibit semantic checks on already analyzed
      	code to prevent spurious errors.
      
      2014-07-30  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-exctra.ads ("="): New function, to restore compatibility.
      
      2014-07-30  Pascal Obry  <obry@adacore.com>
      
      	* adaint.c (__gnat_to_os_time): Set isdst to -1 for the mktime
      	routine to use the OS dst setting.
      
      2014-07-30  Pat Rogers  <rogers@adacore.com>
      
      	* gnat_ugn.texi: Minor correction to description of -gnatw.K.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Wrong_Type): Disable some checks equally within
      	instances and within inlined bodies, to suppress spurious type
      	errors on already analyzed code.
      	* sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Expression
      	is legal in an inlined body, juts as it is in an instance body.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Unchecked_Conversion): Within an inlined
      	body the operand of an unchecked conversion may be a literal, in
      	which case its type is the target type of the conversion. This
      	is in contrast to conversions in other contexts, where the
      	operand cannot be a literal and must be resolvable independent
      	of the context.
      
      From-SVN: r213260
      Arnaud Charlet committed
    • Minor reformatting. · 7c02f27b
      From-SVN: r213259
      Arnaud Charlet committed
    • decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a… · e8fa3dcd
      decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a reference for a renaming of scalar...
      
      2014-07-30  Pierre-Marie Derodat  <derodat@adacore.com>
              
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a
      	mere scalar constant instead of a reference for a renaming of
      	scalar literal.
      	* gcc-interface/utils.c (renaming_from_generic_instantiation_p): New.
      	* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): New.
      
      From-SVN: r213258
      Pierre-Marie de Rodat committed
    • [multiple changes] · 7b2888e6
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* s-tasuti.adb, s-tasuti.ads, einfo.ads, sem_prag.adb, s-taasde.adb,
      	g-socthi-vms.adb, s-taprop-mingw.adb, s-interr.adb, s-interr-hwint.adb,
      	g-decstr.adb, s-tasdeb-vms.adb, g-expect-vms.adb, makeutl.adb,
      	s-interr-vms.adb, g-socthi.adb, exp_aggr.adb, s-tasdeb.adb,
      	g-awk.adb, gnatls.adb, s-taspri-posix.ads, g-catiio.adb,
      	s-interr-sigaction.adb, s-os_lib.adb, s-fileio.adb: Minor reformatting
      	& code reorganization.
      
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* s-tassta.adb, sem_util.ads: Minor reformatting.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb (Build_Body_To_Inline): Detect when
      	subprogram has multiple returns, or not a single last return
      	statement, in GNATprove mode.
      	(Cannot_Inline): Simplify logic to handle case of GNATprove
      	inlining first.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: Stubs are not subject to inlining.
      
      From-SVN: r213257
      Arnaud Charlet committed
    • [multiple changes] · b0c5fdda
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* s-tasuti.ads, s-tasuti.adb (Make_Independent): Change this
      	from a procedure to a function, so that it can more easily be
      	called before the "begin" of a task.
      	* s-taasde.ads (Delay_Block): Make this type immutably limited,
      	so we can use a build-in-place function call to initialize
      	Timer_Queue in the body.
      	* a-rttiev.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb,
      	* s-interr.adb, s-interr-hwint.adb, s-interr-sigaction.adb,
      	* s-interr-vms.adb, s-taasde.adb: Each independent task now calls
      	Make_Independent before reaching its "begin", to avoid race
      	conditions. This causes the activating task to wait until after
      	Make_Independent is complete before proceeding.  In addition,
      	we initialize data structures used by independent tasks before
      	activating those tasks, to avoid possible use of uninitialized data.
      	* s-interr.ads, s-intman.ads, s-taspri-posix.ads, s-tasdeb.ads:
      	Minor comment fixes.
      
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* a-exctra.ads, s-traent-vms.ads, s-traent.ads (Tracebacks_Array): Move
      	the declaration of Tracebacks_Array from Ada.Exceptions.Traceback to
      	System.Traceback_Entries (s-traent.ads and s-traent-vms.ads).  Add
      	subtypes renaming Tracebacks_Array in Ada.Exceptions.Traceback.
      	* g-debpoo.adb: Refer to Tracebacks_Array in its new home.
      
      2014-07-30  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-tasatt.adb: Remove old comments.
      
      From-SVN: r213256
      Arnaud Charlet committed
    • einfo.ads (Is_Inlined): Document new use in GNATprove mode. · 52c1498c
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* einfo.ads (Is_Inlined): Document new use in GNATprove mode.
      	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add comments
      	to explain rationale for inlining or not in GNATprove mode.
      	(Expand_Inlined_Call): In GNATprove mode, set Is_Inlined flag
      	to False when inlining is not possible.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Is_Inlined
      	flag to indicate that subprogram is fully inlined. To be reversed
      	if inlining problem is found.
      	* sem_res.adb (Resolve_Call): Set Is_Inlined flag to False when
      	call in potentially unevaluated context.
      
      From-SVN: r213255
      Yannick Moy committed
    • [multiple changes] · e5c4e2bc
      2014-07-30  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tarest.adb, s-tarest.ads: Fix comments.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb, checks.adb, sem_util.adb, sem_util.ads, sem_attr.adb:
      	Change No_Scalar_Parts predicate to Scalar_Part_Present and
      	invert sense of test. This avoids the "not No_xxx" situation
      	which is always ugly.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.adb (Expand_Inlined_Call): When generating code for
      	an internal subprogram the expansion uses the location of the
      	call, so that gdb can skip over it. In GNATprove mode we want to
      	preserve slocs of original subprogram when expanding an inlined
      	call, to obtain better warnings, even though subprogram appears
      	not to come from source if it is the inlining of a subprogram
      	body without a previous spec.
      
      2014-07-30  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
      	types with atomic components.
      
      2014-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* Make-generated.in: Remove now unnecessary targets after s-oscons
      	reorg.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* sem_res.adb (Resolve_Call): Use ultimate alias
      	of callee when available.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): To check whether
      	an expression function is a completion, use the specification of
      	the previous declaration, not its entity, which may be internally
      	generated in an inlined context.
      
      From-SVN: r213254
      Arnaud Charlet committed
    • lto-streamer.h (lto_write_data): New function. · f6bcdb5e
      2014-07-30  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.h (lto_write_data): New function.
      	* langhooks.c (lhd_append_data): Do not free block.
      	* lto-section-out.c (lto_write_data): New function writing
      	raw data to the current section.
      	(lto_write_stream): Adjust for langhook semantic change.
      	(lto_destroy_simple_output_block): Write header directly.
      	* lto-opts.c (lto_write_options): Write options directly.
      	* lto-streamer-out.c (produce_asm): Write heaeder directly.
      	(lto_output_toplevel_asms): Likewise.
      	(copy_function_or_variable): Copy data directly.
      	(write_global_references): Output index table directly.
      	(lto_output_decl_state_refs): Likewise.
      	(write_symbol): Write data directly.
      	(produce_symtab): Adjust.
      	(produce_asm_for_decls): Output header and refs directly.
      
      	lto/
      	* lto-object.c (lto_obj_append_data): Do not free block.
      
      From-SVN: r213253
      Richard Biener committed
    • [multiple changes] · 93a87598
      2014-07-30  Doug Rupp  <rupp@adacore.com>
      
      	* adaint.c (__gnat_tmp_name) [__ANDROID__]: Default to putting
      	temp files in /cache directory unless overridden by TMPDIR.
      
      2014-07-30  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tassta.adb, s-tarest.adb (Initialize, Create_Task,
      	Create_Restricted_Task): Remove redundant check. Number_Of_CPUs returns
      	type CPU, so it can never be greater than CPU_Range'Last.
      
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* s-taskin.ads: Minor comment fix.
      
      2014-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb: Remove now useless WITH, USE, and USE TYPE
      	clauses.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* debug.adb: Free debug flag dQ used for frontend inlining in
      	GNATprove mode..
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove test of
      	debug flag..
      
      2014-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* Make-generated.in: Remove generation of s-oscons.ads, only
      	generate the xoscons utility, in runtime-agnostic rules.
      	* gcc-interface/Makefile.in: Clean up rules. Remove VMS parts,
      	no longer supported.
      
      From-SVN: r213250
      Arnaud Charlet committed
    • [multiple changes] · 1399d355
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): New
      	parameter Chain to be used in the allocator case.
      	(Make_Build_In_Place_Call_In_Allocator): If the allocated object
      	has tasks, wrap the code in a block that will activate them,
      	including the usual finalization code to kill them off in case
      	of exception or abort.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* treepr.adb, treepr.ads; Reorganize documentation for new pp routines
      	Remove renamings (don't work for gdb).
      	(par): New synonym for p (avoid gdb ambiguities).
      	* inline.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
      
      From-SVN: r213249
      Arnaud Charlet committed
    • exp_ch9.ads, [...]: Minor comment fixes. · 6be44a9a
      2014-07-30  Bob Duff  <duff@adacore.com>
      
      	* exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment
      	fixes.
      	* treepr.ads, treepr.adb (ppp): Make this debugging routine
      	accept any type covered by Union_Id.
      
      From-SVN: r213248
      Bob Duff committed
    • [multiple changes] · ac072cb2
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch4.adb (Analyze_If_Expression): Resolve condition before
      	analyzing branches.
      	* sem_eval.adb (Out_Of_Range): Check for statically unevaluated
      	expression case.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect, predicate cases): Diagnose use
      	of predicate aspect on entity other than a type.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Body_Has_Contract): New predicate to determine
      	when a subprogram body without a previous spec cannot be inlined
      	in GNATprove mode, because it includes aspects or pragmas that
      	generate a SPARK contract clause.
      	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): A subprogram
      	instance cannot be inlined.
      
      From-SVN: r213247
      Arnaud Charlet committed
    • [multiple changes] · cc6f5d75
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* debug.adb: Document that d7 suppresses compilation time output.
      	* errout.adb (Write_Header): Include compilation time in
      	header output.
      	* exp_intr.adb (Expand_Intrinsic_Call): Add
      	Compilation_Date/Compilation_Time (Expand_Source_Info): Expand
      	Compilation_Date/Compilation_Time.
      	* g-souinf.ads (Compilation_Date): New function
      	(Compilation_Time): New function.
      	* gnat1drv.adb (Gnat1drv): Set Opt.Compilation_Time.
      	* gnat_rm.texi (Compilation_Date): New function
      	(Compilation_Time): New function.
      	* opt.ads (Compilation_Time): New variable.
      	* s-os_lib.ads, s-os_lib.adb (Current_Time_String): New function.
      	* sem_intr.adb (Compilation_Date): New function.
      	(Compilation_Time): New function.
      	* snames.ads-tmpl (Name_Compilation_Date): New entry.
      	(Name_Compilation_Time): New entry.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* inline.adb: Add comment.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch4.adb (Is_Parameterless_Attribute): 'Result is a
      	parameterless attribute, and a postondition can mention an
      	indexed component or a slice whose prefix is an attribute
      	reference F'Result.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sprint.adb (Sprint_Node_Actual, case Object_Declaration):
      	Avoid bomb when printing package Standard.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_elab.adb (Check_Internal_Call_Continue): If an elaboration
      	entity is created at this point, ensure that the name of the
      	flag is unique, because the subprogram may be overloaded and
      	other homonyms may also have elaboration flags created on the fly.
      
      2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_attr.adb (Analyze_Array_Component_Update): New routine.
      	(Analyze_Attribute): Major cleanup of attribute
      	'Update. The logic is now split into two distinct routines
      	depending on the type of the prefix. The use of <> is now illegal
      	in attribute 'Update.
      	(Analyze_Record_Component_Update): New routine.
      	(Check_Component_Reference): Removed.
      	(Resolve_Attribute): Remove the return statement and ??? comment
      	following the processing for attribute 'Update. As a result,
      	the attribute now freezes its prefix.
      
      2014-07-30  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch4.adb (Apply_Accessibility_Check): Do
      	not call Base_Address() in VM targets.
      
      From-SVN: r213246
      Arnaud Charlet committed
    • gnat1drv.adb (Adjust_Global_Switches): Set Ineffective_Inline_Warnings to True in GNATprove mode. · 43478196
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Set
      	Ineffective_Inline_Warnings to True in GNATprove mode.
      	* inline.adb (Cannot_Inline): Prepare new semantics for GNATprove
      	mode of inlining.
      	* opt.ads (Ineffective_Inline_Warnings): Add comment that
      	describes use in GNATprove mode.
      	* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Ignore
      	pragma when applied to the special body created for inlining.
      
      From-SVN: r213245
      Yannick Moy committed
    • inline.adb, [...]: Minor reformatting. · 662c2ad4
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb:
      	Minor reformatting.
      
      From-SVN: r213244
      Robert Dewar committed
    • [multiple changes] · 4e6768ab
      2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.ads Add a comment explaining why SPARK 2014 aspects are
      	not delayed. Update the delay status of most SPARK 2014 aspects.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Update all calls
      	to Decorate_Aspect_And_Pragma and Insert_Delayed_Pragma to refert
      	to Decorate and Insert_Pragma. Add various comments concerning
      	the delay status of several SPARK 2014 aspects. The insertion
      	of Refined_State now uses routine Insert_After_SPARK_Mode.
      	(Decorate): New routine.
      	(Decorate_Aspect_And_Pragma): Removed.
      	(Insert_Delayed_Pragma): Removed.
      	(Insert_Pragma): New routine.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.adb (Expand_Inlined_Call): In GNATprove mode, emit
      	only a warning, not an error on an attempt to inline a recursive
      	subprogram.
      
      From-SVN: r213243
      Arnaud Charlet committed
    • [multiple changes] · b6c8e5be
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* g-forstr.adb: Minor code reorganization (use J rather than I
      	as a variable name).
      	* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_ch13.adb,
      	g-forstr.ads: Minor reformatting.
      
      2014-07-30  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sprint.adb (Set_Debug_Sloc): Also reset the end location if
      	we are debugging the generated code.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* sinput.ads, sinput.adb (Comes_From_Inlined_Body): New function that
      	returns True for source pointer for an inlined body.
      
      2014-07-30  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch4.adb (Apply_Accessibility_Check): Add
      	missing calls to Base_Address().
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Hanalyze_Subprogram_Body_Helper): In GNATprove
      	mode, subprogram bodies without a previous declaration are also
      	candidates for front-end inlining.
      
      From-SVN: r213242
      Arnaud Charlet committed
    • [multiple changes] · 2f6f8285
      2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.ads Aspects Async_Readers, Async_Writers,
      	Effective_Reads and Effective_Writes do not need to be delayed.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Propagate the
      	optional Boolean expression when generating the corresponding
      	pragma for an external property aspect.
      	* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Remove
      	local constant Obj. Add local constant Obj_Id. Reimplement the
      	check which ensures that the related variable is in fact volatile.
      	(Analyze_Pragma): Reimplement the analysis of external property pragmas.
      	* sem_util.adb (Is_Enabled): New routine.
      	(Variable_Has_Enabled_Property): Reimplement the detection of
      	an enabled external property.
      
      2014-07-30  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* gnat_ugn.texi, vms_data.ads: gnatstub: describe generating subunits
      	for body stubs.
      
      2014-07-30  Pascal Obry  <obry@adacore.com>
      
      	* g-forstr.adb, g-forstr.ads: New.
      	* gnat_rm.texi, impunit.adb Makefile.rtl: Add new unit
      	GNAT.Formatted_String.
      
      From-SVN: r213241
      Arnaud Charlet committed
    • [multiple changes] · ac43e11e
      2014-07-30  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate.
      	(Expand_Array_Aggregate): Also enable in-place expansion for
      	code generated by the compiler.  For an object declaration,
      	set the kind of the object in addition to its type.  If an
      	in-place assignment is to be generated and it can be directly
      	done by the back-end, do not expand the aggregate.
      	* fe.h (Is_Others_Aggregate): Declare.
      	* gcc-interface/trans.c
      	(gnat_to_gnu) <N_Assignment_Statement>: Add support for an
      	aggregate with a single Others choice on the RHS by means of
      	__builtin_memset.  Tidy up.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat_rm.texi: minor reformatting.
      
      2014-07-30  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline
      	in SPARK_Mode Off.
      
      From-SVN: r213240
      Arnaud Charlet committed
    • [multiple changes] · eb16ddf8
      2014-07-30  Vincent Celier  <celier@adacore.com>
      
      	* prj-strt.adb: Minor comment update.
      
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document additional implementation-defined use
      	of Constrained.
      
      From-SVN: r213239
      Arnaud Charlet committed
    • prj-proc.adb, [...]: Update comments. · 66288b9c
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* prj-proc.adb, prj-strt.adb: Update comments.
      
      From-SVN: r213238
      Robert Dewar committed
    • [multiple changes] · 12e4e81e
      2014-07-30  Gary Dismukes  <dismukes@adacore.com>
      
      	* sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting.
      
      2014-07-30  Vincent Celier  <celier@adacore.com>
      
      	* prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean
      	parameter No_Extending, defaulted to False. When No_Extending
      	is True, do not look for an extending project.
      	(Expression): For a variable reference that is not for the current
      	project, get its Id calling Imported_Or_Extended_Project_From
      	with No_Extending set to True.
      	* prj-strt.adb (Parse_Variable_Reference): If a referenced
      	variable is not found in the current project, check if it is
      	defined in one of the projects it extends.
      
      From-SVN: r213237
      Arnaud Charlet committed
    • [multiple changes] · 79185f5f
      2014-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for
      	some additional cases of internally generated routines.
      
      2014-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS,
      	if the compilation unit is a subunit, extend optional processing
      	to all subunits of the current one. This allows gnatstub to
      	supress generation of spurious bodies.
      
      From-SVN: r213236
      Arnaud Charlet committed