Daily bump.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213232 138bc75d-0d04-0410-961f-82ee72b054a4
Fix changelog from previous commit.


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



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



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



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

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



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



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



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



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



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



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

	* inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb:
	Minor reformatting.



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



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



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



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



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



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



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