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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213253 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213254 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213255 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213256 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213257 138bc75d-0d04-0410-961f-82ee72b054a4
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.



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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213259 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213260 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213261 138bc75d-0d04-0410-961f-82ee72b054a4
[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.


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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213263 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213264 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213265 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213266 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213267 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213268 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213269 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213270 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213271 138bc75d-0d04-0410-961f-82ee72b054a4
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.



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