2014-11-20  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb,
	sem_ch6.adb: Minor reformatting.

2014-11-20  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit
	conversion to force the displacement of the pointer to the object
	to reference the secondary dispatch table.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217829 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/63966
	* lex.c [__i386__ || __x86_64__]: Include system <cpuid.h> for
	GCC_VERSION < 5000.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217830 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Analyze_Inlined_Bodies): Iterate between loading
	of the inlined bodies and instantiation of the generic bodies
	until no more bodies need to be loaded.

2014-11-20  Vincent Celier  <celier@adacore.com>

	* prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name:
	Update_Ignore_Missing_With becomes Set_Ignore_Missing_With.



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

	* adaint.c (remove_handle): New local routine without a lock.
	(win32_wait): fix the critical section to properly protect needed
	code, use new remove_handle.
	(__gnat_win32_remove_handle): refactor code with remove_handle.



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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217833 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of
	tests in a condition so Following_Address_Clause is invoked
	only if need be.
	* exp_util.ads (Following_Address_Clause): Add small note.



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

	* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
	back the resolved operands to the original call node, taking
	into account that the original call may have named associations.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* inline.adb (Has_Some_Contract): Change the
	guard to test the Ekind of the entity rather than the Analyzed
	flag. This handles partially analyzed contexts.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Object_Renaming): In Ada 83 mode, do
	not reject the renaming of a function result if the renaming
	does not come for source.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* exp_util.ads: Minor addition of ??? clause.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Variable): For an Ada 2012 implicit
	dereference introduced for an indexing opertion, check that the
	type of the corresponding access discriminant is not an access
	to constant.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Find_Corresponding_Spec): Inherit
	the ghostness of the matching spec, the same way convention
	is inherited.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217835 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-20  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Analyze_Function_Return): For functions returning
	an access to an interface add an implicit conversion to the target
	type to force the displacement of the pointer to the object to
	reference the secondary dispatch table.
	(Check_Anonymous_Return): Skip internally built functions which handle
	the case of null access when locating the master of a task.
	* sem_res.adb (Valid_Conversion): Return true for internally
	generated conversions of access to interface types added to force
	the displacement of the pointer to reference the corresponding
	dispatch table.

2014-11-20  Pascal Obry  <obry@adacore.com>

	* adaint.c (add_handle): realloc with a size of +100.



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

	* initialize.c (ProcListCS): New extern variable (critical section).
	(ProcListEvt): New extern variable (handle).
	(__gnat_initialize)[Win32]: Initialize the ProcListCS critical
	section object and the ProcListEvt event.
	* final.c (__gnat_finalize)[Win32]: Properly finalize the
	ProcListCS critical section and the ProcListEvt event.
	* adaint.c (ProcListEvt): New Win32 event handle.
	(EnterCS): New routine to enter the critical section when dealing with
	child processes chain list.
	(LeaveCS): As above to exit from the critical section.
	(SignalListChanged): Routine to signal that the chain process list has
	been updated.
	(add_handle): Use EnterCS/LeaveCS, also call SignalListChanged when the
	handle has been added.
	(__gnat_win32_remove_handle): Use EnterCS/LeaveCS,
	also call SignalListChanged if the handle has been found and removed.
	(remove_handle): Routine removed, implementation merged with the above.
	(win32_wait): Use EnterCS/LeaveCS for the critical section. Properly
	copy the PID list locally to ensure that even if the list is updated
	the local copy remains valid. Add into the hl (handle list) the
	ProcListEvt handle. This handle is used to signal that a change has
	been made into the process chain list. This is to ensure that a waiting
	call can be resumed to take into account new processes. We also make
	sure that if the handle was not found into the list we start over
	the wait call. Indeed another concurrent call to win32_wait()
	could already have handled this process.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): The legality rule concerning
	the use of class-wide actuals for a non-controlling formal are
	not rechecked in an instance.

2014-11-20  Pascal Obry  <obry@adacore.com>

	* g-dirope.ads: Minor typo fix.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference,
	Expand_Update_Attribute): Preserve the tag of a prefix by offering
	a specific view of the class-wide version of the prefix.



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

	* sem_prag.adb (Analyze_Pragma, case Implemented): In ASIS
	(compile-only) mode, use original type declaration to determine
	whether protected type implements an interface.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* a-cfdlli.adb, a-cfdlli.ads, a-cfinve.adb, a-cfinve.ads,
	* a-cofove.adb, a-cofove.ads: Mark spec as SPARK_Mode, and private
	part/body as SPARK_Mode Off.
	* a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads,
	* a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads: Use
	aspect instead of pragma for uniformity.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Is_EVF_Expression): Include
	attributes 'Loop_Entry, 'Old and 'Update to the logic.

2014-11-20  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): Don't
	call Left_Opnd in the case of unary operators, because they only
	have Right.



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