Commit Graph

131524 Commits

Author SHA1 Message Date
Arnaud Charlet c98b825308 [multiple changes]
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch3.ads: Minor code reorganization.

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

	* clean.adb (Clean_Project): Properly check for directory
	existence before trying to enter it.

From-SVN: r213284
2014-07-30 16:26:55 +02:00
Robert Dewar 2e471ec764 sem_ch3.ads, [...]: Minor reformatting.
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.ads, prj.ads, prj-nmsc.adb: Minor reformatting.

From-SVN: r213283
2014-07-30 16:25:36 +02:00
Arnaud Charlet 43174f1527 [multiple changes]
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* par-ch5.adb (P_Sequence_Of_Statements): Properly handle
	missing semicolon after name.

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

	* prj.ads (Gprinstall_Flags): New constant.
	* prj-nmsc.adb (Check_Library_Attributes): Do not fails for
	missing library dir if Directories_Must_Exist_In_Projects
	is false.

From-SVN: r213282
2014-07-30 16:23:54 +02:00
Bob Duff 734e72dde6 a-except-2005.adb, [...]: Remove obsolete comments.
2014-07-30  Bob Duff  <duff@adacore.com>

	* a-except-2005.adb, a-except.adb: Remove obsolete comments.
	* s-traceb.ads: Updagte comments.

From-SVN: r213281
2014-07-30 16:22:38 +02:00
Robert Dewar d6e8719dd8 checks.adb, [...]: Minor reformatting.
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* checks.adb, a-cihase.adb, a-cihase.ads, a-chtgop.adb, a-chtgop.ads,
	a-except.adb, a-except-2005.adb, a-cborse.adb, a-cborse.ads,
	a-exexda.adb, a-elchha.adb, exp_aggr.adb, a-cohase.adb: Minor
	reformatting.

From-SVN: r213280
2014-07-30 16:21:09 +02:00
Arnaud Charlet 6b6bce610b [multiple changes]
2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* a-chtgop.ads, a-chtgop.adb (Delete_Node_At_Index): New
	subprogram, used by all versions of hashed sets, to delete a node
	whose element has been improperly updated through a Reference_
	Preserving key.
	* a-cohase.adb: Remove Delete_Node, use new common procedure
	Delete_Node_At_Index.
	* a-cihase.ads: Add Reference_Control_Type to package Generic_Keys.
	* a-cihase.adb: Add Adjust and Finalize routines for
	Reference_Control_Type.
	(Reference_Preserving_Key): Build aggregate for
	Reference_Control_Type

2014-07-30  Yannick Moy  <moy@adacore.com>

	* checks.adb, checks.ads (Determine_Range_R): New procedure to
	determine the possible range of a floating-point expression.

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

	* a-cborse.ads: Add Reference_Control_Type to package Generic_Keys.
	* a-cborse.adb: Add Adjust and Finalize routines for
	Reference_Control_Type.
	(Reference_Preserving_Key): Build aggregate for
	Reference_Control_Type.
	(Delete): Check for tampering, and raise Program_Error (not
	Constraint_Error) when attempting to delete an element not in
	the set.
	(Insert): Ditto.

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

	* a-elchha.adb, a-except-2005.adb, a-except.adb, a-exexda.adb,
	* a-exextr.adb, a-exstat.adb, exp_intr.ads, s-tassta.adb:
	Exception_Information is used to produce useful debugging
	information for the programmer. However, it was also used to
	implement the stream attributes for type Exception_Occurrence. The
	latter requires a stable and portable interface, which meant
	that we couldn't include a symbolic traceback. A separate set of
	routines was used to provide symbolic tracebacks under program
	control (i.e. not automatically). The goal of this ticket is
	to provide such automatic tracebacks, so the change here is to
	split the two functionalities: Exception_Information gives the
	maximally useful information for debugging (i.e. it now includes
	a symbolic traceback when a decorator is set, and it can be
	improved freely in the future without disturbing streaming).
	Untailored_Exception_Information always uses hexadecimal addresses
	in the traceback, has a stable and portable output, and is now
	used for streaming.

2014-07-30  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Add missing test
	on the target of the assignment to find out whether it
	can be directly done by the back-end.
	* exp_util.adb (Is_Possibly_Unaligned_Slice): Remove obscure test.

From-SVN: r213279
2014-07-30 16:19:54 +02:00
Robert Dewar facfa16502 inline.adb, [...]: Minor reformatting.
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
2014-07-30 16:15:28 +02:00
Arnaud Charlet 29ad9ea529 [multiple changes]
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
2014-07-30 16:14:11 +02:00
Arnaud Charlet 995683a614 [multiple changes]
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
2014-07-30 16:12:37 +02:00
Arnaud Charlet 793c5f0592 [multiple changes]
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
2014-07-30 16:00:58 +02:00
Yannick Moy 1eb31e605f 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
2014-07-30 15:58:00 +02:00
Arnaud Charlet eb1ee7570a [multiple changes]
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
2014-07-30 15:57:16 +02:00
Arnaud Charlet 2178830b04 [multiple changes]
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
2014-07-30 15:54:18 +02:00
Arnaud Charlet d3e16619ae [multiple changes]
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
2014-07-30 15:53:11 +02:00
Bob Duff fccaf220f3 s-taasde.adb (Timer_Queue): Don't use a build-in-place function call to initialize the Timer_Queue.
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
2014-07-30 15:50:25 +02:00
Robert Dewar 3aac555130 exp_ch7.adb, [...]: Minor reformatting.
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
2014-07-30 15:48:04 +02:00
Ed Schonberg 274d2584e5 sem_ch5.adb: Improve error recovery.
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
2014-07-30 15:46:35 +02:00
Arnaud Charlet 2afa8fdd1b [multiple changes]
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
2014-07-30 15:45:14 +02:00
Arnaud Charlet 8071b77126 [multiple changes]
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
2014-07-30 15:43:32 +02:00
Arnaud Charlet 4bd4bb7f0c [multiple changes]
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
2014-07-30 15:40:41 +02:00
Arnaud Charlet e687b3f535 Clean up.
From-SVN: r213263
2014-07-30 15:29:43 +02:00
Roman Gareev 6a7d8936f3 [gcc/]
* 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
2014-07-30 13:18:16 +00:00
Arnaud Charlet 480156b2a3 [multiple changes]
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
2014-07-30 14:58:03 +02:00
Arnaud Charlet 36428cc491 [multiple changes]
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
2014-07-30 14:56:13 +02:00
Arnaud Charlet 7c02f27b32 Minor reformatting.
From-SVN: r213259
2014-07-30 14:54:19 +02:00
Pierre-Marie de Rodat e8fa3dcdd5 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
2014-07-30 14:52:44 +02:00
Arnaud Charlet 7b2888e62c [multiple changes]
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
2014-07-30 14:50:43 +02:00
Arnaud Charlet b0c5fdda66 [multiple changes]
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
2014-07-30 14:46:03 +02:00
Yannick Moy 52c1498c86 einfo.ads (Is_Inlined): Document new use in GNATprove mode.
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
2014-07-30 14:41:59 +02:00
Arnaud Charlet e5c4e2bc5b [multiple changes]
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
2014-07-30 14:34:21 +02:00
Richard Biener f6bcdb5e05 lto-streamer.h (lto_write_data): New function.
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
2014-07-30 12:14:58 +00:00
Arnaud Charlet 93a87598b9 [multiple changes]
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
2014-07-30 13:01:18 +02:00
Arnaud Charlet 1399d355cb [multiple changes]
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
2014-07-30 12:50:23 +02:00
Bob Duff 6be44a9ab0 exp_ch9.ads, [...]: Minor comment fixes.
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
2014-07-30 12:48:49 +02:00
Arnaud Charlet ac072cb2f4 [multiple changes]
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
2014-07-30 12:47:17 +02:00
Arnaud Charlet cc6f5d75ed [multiple changes]
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
2014-07-30 12:45:42 +02:00
Yannick Moy 43478196de gnat1drv.adb (Adjust_Global_Switches): Set Ineffective_Inline_Warnings to True in GNATprove mode.
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
2014-07-30 12:42:06 +02:00
Robert Dewar 662c2ad475 inline.adb, [...]: Minor reformatting.
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
2014-07-30 12:41:12 +02:00
Arnaud Charlet 4e6768ab35 [multiple changes]
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
2014-07-30 12:39:31 +02:00
Arnaud Charlet b6c8e5bee7 [multiple changes]
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
2014-07-30 12:37:41 +02:00
Arnaud Charlet 2f6f828536 [multiple changes]
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
2014-07-30 12:29:48 +02:00
Arnaud Charlet ac43e11e23 [multiple changes]
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
2014-07-30 12:23:17 +02:00
Arnaud Charlet eb16ddf8ed [multiple changes]
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
2014-07-30 12:04:05 +02:00
Robert Dewar 66288b9c11 prj-proc.adb, [...]: Update comments.
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* prj-proc.adb, prj-strt.adb: Update comments.

From-SVN: r213238
2014-07-30 12:03:14 +02:00
Arnaud Charlet 12e4e81ea5 [multiple changes]
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
2014-07-30 12:02:20 +02:00
Arnaud Charlet 79185f5fb0 [multiple changes]
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
2014-07-30 12:00:47 +02:00
Hristian Kirtchev ec62224622 a-cbmutr.adb (Insert_Child): Use local variable First to keep track of the initial element's index within...
2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-cbmutr.adb (Insert_Child): Use local variable First to keep
	track of the initial element's index within the tree.

From-SVN: r213235
2014-07-30 11:59:29 +02:00
Jan Hubicka 4716657837 Fix changelog from previous commit.
From-SVN: r213234
2014-07-30 07:55:49 +00:00
Jan Hubicka a0fd33735a devirt-34.C: New testcase.
* g++.dg/ipa/devirt-34.C: New testcase.
	* ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets
	to speculative_targets
	(get_class_context): Fix handling of contextes without outer type;
	avoid matching non-polymorphic types in LTO.
	(possible_polymorphic_call_targets): Trun nonconstruction_targetsp
	parameter to speculative_targetsp; handle speculation.
	(dump_possible_polymorphic_call_targets): Update dumping.

From-SVN: r213232
2014-07-30 07:48:13 +00:00
GCC Administrator bb3ec3881e Daily bump.
From-SVN: r213230
2014-07-30 00:16:39 +00:00