diff gcc/ada/ChangeLog @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
line wrap: on
line diff
--- a/gcc/ada/ChangeLog	Fri Oct 27 22:46:09 2017 +0900
+++ b/gcc/ada/ChangeLog	Thu Oct 25 07:37:49 2018 +0900
@@ -1,10915 +1,4763 @@
-2017-10-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in: Remove bogus settings for VxWorks.
-
-2017-10-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (pad_type_hash): Use hashval_t for hash value.
-	(convert): Do not use an unchecked conversion for converting from a
-	type to another type padding it.
-
-2017-10-20  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-osinte__linux.ads (Relative_Timed_Wait): Add variable
-	needed for using monotonic clock.
-	* libgnarl/s-taprop__linux.adb: Revert previous monotonic clock
-	changes.
-	* libgnarl/s-taprop__linux.adb, s-taprop__posix.adb: Unify and factor
-	out monotonic clock related functions body.
-	(Timed_Sleep, Timed_Delay, Montonic_Clock, RT_Resolution,
-	Compute_Deadline): Move to...
-	* libgnarl/s-tpopmo.adb: ... here. New separate package body.
-
-2017-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Is_Controlling_Limited_Procedure): Handle properly the
-	case where the controlling formal is an anonymous access to interface
-	type.
-	* exp_ch9.adb (Extract_Dispatching_Call): If controlling actual is an
-	access type, handle properly the the constructed dereference that
-	designates the object used in the rewritten synchronized call.
-	(Parameter_Block_Pack): If the type of the actual is by-copy, its
-	generated declaration in the parameter block does not need an
-	initialization even if the type is a null-excluding access type,
-	because it will be initialized with the value of the actual later on.
-	(Parameter_Block_Pack): Do not add controlling actual to parameter
-	block when its type is by-copy.
-
-2017-10-20  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Update_Use_Clause_Chain): Add sanity check to verify
-	scope stack traversal into the context clause.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* sinfo.ads: Fix a comment typo.
-
-2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-flto): Add
-	warning against usage in conjunction with -gnatn.
-	(-fdump-xref): Delete entry.
-	* doc/gnat_ugn/gnat_utility_programs.rst (--ext): Remove mention of
-	-fdump-xref switch.
-	* gnat_ugn.texi: Regenerate.
-
-2017-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_type.adb, exp_util.adb, sem_util.adb, sem_dim.adb, sem_elab.adb:
-	Minor reformatting.
-
-2017-10-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Binary_Op): Accept with a warning to
-	compare a dimensioned expression with a literal.
-	(Dim_Warning_For_Numeric_Literal): Do not issue a warning for the
-	special value zero.
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Update description of
-	dimensionality system in GNAT.
-	* gnat_ugn.texi: Regenerate.
-
-2017-10-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function.Freeze_Expr_Types): Remove
-	inadequate silencing of errors.
-	* sem_util.adb (Check_Part_Of_Reference): Do not issue an error when
-	checking the subprogram body generated from an expression function,
-	when this is done as part of the preanalysis done on expression
-	functions, as the subprogram body may not yet be attached in the AST.
-	The error if any will be issued later during the analysis of the body.
-	(Is_Aliased_View): Trivial rewrite with Is_Formal_Object.
-
-2017-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch8.adb (Update_Chain_In_Scope): Add missing [-gnatwu] marker for
-	warning on ineffective use clause.
-
-2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch11.ads (Warn_If_No_Local_Raise): Declare.
-	* exp_ch11.adb (Expand_Exception_Handlers): Use Warn_If_No_Local_Raise
-	to issue the warning on the absence of local raise.
-	(Possible_Local_Raise): Do not issue the warning for Call_Markers.
-	(Warn_If_No_Local_Raise): New procedure to issue the warning on the
-	absence of local raise.
-	* sem_elab.adb: Add with and use clauses for Exp_Ch11.
-	(Record_Elaboration_Scenario): Call Possible_Local_Raise in the cases
-	where a scenario could give rise to raising Program_Error.
-	* sem_elab.adb: Typo fixes.
-	* fe.h (Warn_If_No_Local_Raise): Declare.
-	* gcc-interface/gigi.h (get_exception_label): Change return type.
-	* gcc-interface/trans.c (gnu_constraint_error_label_stack): Change to
-	simple vector of Entity_Id.
-	(gnu_storage_error_label_stack): Likewise.
-	(gnu_program_error_label_stack): Likewise.
-	(gigi): Adjust to above changes.
-	(Raise_Error_to_gnu): Likewise.
-	(gnat_to_gnu) <N_Goto_Statement>: Set TREE_USED on the label.
-	(N_Push_Constraint_Error_Label): Push the label onto the stack.
-	(N_Push_Storage_Error_Label): Likewise.
-	(N_Push_Program_Error_Label): Likewise.
-	(N_Pop_Constraint_Error_Label): Pop the label from the stack and issue
-	a warning on the absence of local raise.
-	(N_Pop_Storage_Error_Label): Likewise.
-	(N_Pop_Program_Error_Label): Likewise.
-	(push_exception_label_stack): Delete.
-	(get_exception_label): Change return type to Entity_Id and adjust.
-	* gcc-interface/utils2.c (build_goto_raise): Change type of first
-	parameter to Entity_Id and adjust.  Set TREE_USED on the label.
-	(build_call_raise): Adjust calls to get_exception_label and also
-	build_goto_raise.
-	(build_call_raise_column): Likewise.
-	(build_call_raise_range): Likewise.
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-gnatw.x):
-	Document actual default behavior.
-
-2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
-
-	* einfo.ads: Minor consistent punctuation in comment.  All numbered
-	items in the comment of Is_Internal are now terminated with a period.
-
-2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
-
-	* exp_util.adb (Build_Temporary): Mark created temporary entity as
-	internal.
-
-2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_type.adb (In_Generic_Actual): Simplified.
-
-2017-10-20  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Package_Instance): Add sanity check to
-	verify a renaming exists for a generic formal before comparing it to
-	the actual as defaulted formals will not have a renamed_object.
-
-2017-10-20  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Replace_Returns): Fix wrong management of
-	N_Block_Statement nodes.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* exp_aggr.adb (Initialize_Array_Component): Avoid adjusting a
-	component of an array aggregate if it is initialized by a
-	build-in-place function call.
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Use -gnatd.9 to disable
-	bip for nonlimited types.
-	* debug.adb: Document -gnatd.9.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch12.adb: Remove redundant setting of Parent.
-
-2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch4.adb (Find_Concatenation_Types): Filter out operators if one
-	of the operands is a string literal.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* einfo.ads: Comment fix.
-
-2017-10-20  Clement Fumex  <fumex@adacore.com>
-
-	* switch-c.adb: Remove -gnatwm from the switches triggered by -gnateC.
-
-2017-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Extract_Power): Accept dimension values that are not
-	non-negative integers when the dimensioned base type is an Integer
-	type.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* sinfo.ads, sinfo.adb (Alloc_For_BIP_Return): New flag to indicate
-	that an allocator came from a b-i-p return statement.
-	* exp_ch4.adb (Expand_Allocator_Expression): Avoid adjusting the return
-	object of a nonlimited build-in-place function call.
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Set the
-	Alloc_For_BIP_Return flag on generated allocators.
-	* sem_ch5.adb (Analyze_Assignment): Move Assert to where it can't fail.
-	If the N_Assignment_Statement has been transformed into something else,
-	then Should_Transform_BIP_Assignment won't work.
-	* exp_ch3.adb (Expand_N_Object_Declaration): A previous revision said,
-	"Remove Adjust if we're building the return object of an extended
-	return statement in place." Back out that part of the change, because
-	the Alloc_For_BIP_Return flag is now used for that.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Fix silly bug -- "Typ"
-	should be "T".  Handle case of a subtype of a class-wide type.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_util.adb: (Process_Statements_For_Controlled_Objects): Clarify
-	which node kinds can legitimately be ignored, and raise Program_Error
-	for others.
-
-2017-10-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Compilation_Unit): Handle the case of a subprogram
-	instantiation that acts as a compilation unit.
-	(Find_Code_Unit): Reimplemented.
-	(Find_Top_Unit): Reimplemented.
-	(Find_Unit_Entity): New routine.
-	(Process_Instantiation_SPARK): Correct the elaboration requirement a
-	package instantiation imposes on a unit.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Enable build-in-place
-	for a narrow set of controlled types.
-
-2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sinput.ads (Line_Start): Add pragma Inline.
-	* widechar.ads (Is_Start_Of_Wide_Char): Likewise.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Disable
-	Make_Build_In_Place_Call_... for F(...)'Old, where F(...) is a
-	build-in-place function call so that the temp is declared in the right
-	place.
-
-2017-10-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_tree_size): Move around.
-
-	* gcc-interface/utils.c (max_size): Deal with SSA names.
-
-2017-10-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/misc.c (gnat_tree_size): New function.
-	(LANG_HOOKS_TREE_SIZE): Redefine.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (In_Preelaborated_Context): A generic package subject to
-	Remote_Call_Interface is not a suitable preelaboratd context when the
-	call appears in the package body.
-
-2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.ads (Set_Elem_Alignment): Add Align parameter defaulted to 0.
-	* layout.adb (Set_Elem_Alignment): Likewise.  Use M name as maximum
-	alignment for consistency.  If Align is non-zero, use the minimum of
-	Align and M for the alignment.
-	* cstand.adb (Build_Float_Type): Use Set_Elem_Alignment instead of
-	setting the alignment directly.
-
-2017-10-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Check): Defer evaluation of the
-	optional string in an Assert pragma until the expansion of the pragma
-	has rewritten it as a conditional statement, so that the string
-	argument is only evaluaed if the assertion fails. This is mandated by
-	RM 11.4.2.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Switch -gnatd.v and associated flag are now used to
-	enforce the SPARK rules for elaboration in SPARK code.
-	* sem_elab.adb: Describe switch -gnatd.v.
-	(Process_Call): Verify the SPARK rules only when -gnatd.v is in effect.
-	(Process_Instantiation): Verify the SPARK rules only when -gnatd.v is
-	in effect.
-	(Process_Variable_Assignment): Clarify why variable assignments are
-	processed reglardless of whether -gnatd.v is in effect.
-	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
-	sections on elaboration code and compilation switches.
-	* gnat_ugn.texi: Regenerate.
-
-2017-10-14  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, freeze.adb, sem_aggr.adb, sem_util.ads, sem_util.adb,
-	sem_warn.adb: Minor reformattings.
-
-2017-10-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* doc/gnat_rm/implementation_defined_aspects.rst: Add documentation
-	for reverse iteration over formal containers.
+2018-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (unchecked_convert): Use local variables for
+	the biased and reverse SSO attributes of both types.
+	Further extend the processing of integral types in the presence of
+	reverse SSO to all scalar types.
+
+2018-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Inspection_Point>: Use
+	a simple memory constraint in all cases.
+
+	* gcc-interface/lang-specs.h: Bump copyright year.
+
+2018-10-17  David Malcolm  <dmalcolm@redhat.com>
+
+	* gcc-interface/Make-lang.in (selftest-ada): New.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch3.adb (Is_Null_Statement_List): New predicate.
+	(Build_Array_Init_Proc): Use it to find out whether the
+	initialization procedure Is_Null_Init_Proc; if so, set
+	Warnings_Off on the parameter.
+	(Build_Init_Procedure): Likewise.
+	(Init_Formals): Use an in/out first parameter only for
+	unconstrained arrays and for records either containing or built
+	for proteced types or task types; use an out parameter in all
+	the other cases.
+	* fe.h (Is_Init_Proc): Declare.
+	* gcc-interface/decl.c (type_requires_init_of_formal): Do not
+	return true for a discriminant in an unchecked union.
+	(gnat_to_gnu_param): Do not create a PARM_DECL for the Out
+	parameter of an initialization procedure.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: If
+	this is not a definition, retrieve the expression in all cases
+	even if we are just annotating types.
+	* gcc-interface/trans.c (gnat_to_gnu): Also translate Size
+	attribute for constrained types in this mode.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* adaint.c (__gnat_get_executable_suffix_ptr): Add new line.
+	(__gnat_locate_exec): Check that HOST_EXECUTABLE_SUFFIX is not
+	empty before doing a string search for it.
+	* socket.c (ATTRIBUTE_UNUSED): Define.
+	(__gnat_disable_sigpipe): Add ATTRIBUTE_UNUSED on parameter.
+	* terminals.c (ATTRIBUTE_UNUSED): Move around.
+	(__gnat_setup_child_communication): Add ATTRIBUTE_UNUSED on
+	parameter.
+	(__gnat_send_header): Add ATTRIBUTE_UNUSED on parameters.
+
+2018-10-09  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Rewrite
+	pragmas as null statements in GNATprove mode.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch6.adb (Add_Call_By_Copy_Code): Initialize the temporary
+	made for an Out parameter if the formal type has discriminants.
+
+2018-10-09  Maroua Maalej  <maalej@adacore.com>
+
+	* sem_spark.adb (Check_Declaration): fix bug related to non
+	access object permissions.
+
+2018-10-09  Doug Rupp  <rupp@adacore.com>
+
+	* libgnat/a-ncelfu.ads: Fix name in header to match package.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Set
+	Warnings_Off on the B out parameter.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads: Small comment fix.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Has_Referencer): Add comment for the
+	N_Freeze_Entity case.  Do not rely on
+	Has_Referencer_Of_Non_Subprograms to clear the Is_Public flag on
+	subprogram entities.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (In_Synchronized_Call): Handle properly private
+	types whose full views are synchronized types, in order to
+	recognize generated subprograms whose bodies must be considered
+	reachable even if no direct calls to them are visible in the
+	source.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_Modular_Op): When expanding an operation
+	on nonbinary modular types, convert the opersnds to an integer
+	type that is large enough to hold the modulus of the type, which
+	may be larger than Integer'Last.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprogram):  When an uplevel reference
+	is to an unconstrained formal, the 'Access reference that is
+	created to initialize the corresponding component of the
+	activation record must be wrapped in an unchecked conversion to
+	the generated type of the component. Otherwise, spurious suvtype
+	conformance errors will be generated when the code is within an
+	instantiation and the type of the formal is a formal type of the
+	enclosing generic. Note that during unnesting there is no simple
+	way to determine that the code appears within an instance
+	because ther is no scope stack.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (type_requires_init_of_formal): New
+	predicate.
+	(gnat_to_gnu_param): Use it to determine whether a PARM_DECL
+	must be created for an Out parameter passed by copy.
+
+2018-10-09  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnat/a-coboho.ads (Storage_Element): Fix a typo.
+
+2018-10-09  Claire Dross  <dross@adacore.com>
+
+	* libgnat/a-cfinve.ads: Remove default value for
+	Max_Size_In_Storage_Elements as it was not supported in SPARK.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Add_Call_By_Copy_Node,
+	Add_Simple_Call_By_Copy_Node, Expand_Call_Helper): Reset
+	Is_True_Constant on entities used as Out or In_Out parameters in
+	calls.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprogram): Do not load System to obtain
+	the Address entity unless an activation record is being built.
+	Removes useless with_clauses for System when nested subprograms
+	do not have uplevel references, and therefore do not need
+	activation records.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Fully_Conformant_Expressions): Handle properly
+	the conformance check on an aspect expression that includes a
+	call to an instance of Unchecked_Conversion, or more generally a
+	call to an intrinsic operation.
+
+2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb: Remove with/use clause for Stand.
+	(List_Mechanisms): List the mechanism of functions only.
+
+2018-10-09  Bob Duff  <duff@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Correct spelling of
+	--eol switch.  Document the language-version switches.  Update
+	description for --no-exception.
+
+2018-10-09  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* libgnat/s-os_lib.ads (Normalize_Pathname): Fix incorrect
+	comment.
+
+2018-10-09  Arnaud Charlet  <charlet@adacore.com>
+
+	* vxlink.adb: Remove pragma Annotate, no longer needed.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Type_Conversion_Checks): Use GNATprove_Mode
+	rather than SPARK_mode in order to preserve the Do_Range_Check
+	flag for verification purposes.
+
+2018-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Expand_Array_Aggregate): If it is not possible
+	to build in place an aggregate with component associations, set
+	the Warnings_Off flag on the generated temporary, to prevent
+	spurious warnings from the backend when compiling with the
+	-Wuninitialized gcc flag.
+
+2018-09-30  Alexandre Oliva <oliva@adacore.com>
+
+	* gcc-interface/lang-specs.h (default_compilers): When given
+	fcompare-debug-second, adjust auxbase like cc1, and pass
+	gnatd_A.
+	* gcc-interface/misc.c (flag_compare_debug): Remove variable.
+	(gnat_post_options): Do not set it.
+	* lib-writ.adb (flag_compare_debug): Remove import.
+	(Write_ALI): Do not test it.
+
+2018-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+            Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/decl.c (is_cplusplus_method): Do not require C++
+	convention on Interfaces.
+	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Try to create a
+	bona-fide thunk and hand it over to the middle-end.
+	(get_controlling_type): New function.
+	(use_alias_for_thunk_p): Likewise.
+	(thunk_labelno): New static variable.
+	(make_covariant_thunk): New function.
+	(maybe_make_gnu_thunk): Likewise.
+	* gcc-interface/utils.c (finish_subprog_decl): Set DECL_CONTEXT of the
+	result DECL here instead of...
+	(end_subprog_body): ...here.
+
+2018-09-27  Martin Sebor  <msebor@redhat.com>
+
+	* gcc-interface/utils.c (make_packable_type): Introduce a temporary
+	to avoid -Wnonnull.
+	(unchecked_convert): Same.
+
+2018-09-26  Elisa Barboni  <barboni@adacore.com>
+
+	* sem_prag.adb (Check_Refined_Global_Item): Improve error
+	message.
+
+2018-09-26  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a
+	representation item that is an N_Aspect_Definition, retrieve the
+	entity it applies to using the Entity attribute.
+
+2018-09-26  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Analyze_Subprogram_Renaming): Add extra condition
+	to check for unmarked subprogram references coming from
+	renamings.
+
+2018-09-26  Arnaud Charlet  <charlet@adacore.com>
+
+	* back_end.adb (Scan_Compiler_Arguments): Store -G xxx switches.
+
+2018-09-26  Yannick Moy  <moy@adacore.com>
+
+	* errout.ads: Update comment for insertion character '?'.
+	* inline.adb: Use simple insertion character '?' for GNATprove
+	info messages.
+	* sem_res.adb (Resolve_Call): Issue an info message on inlining
+	in GNATprove mode.
+
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Type_Conversion_Checks): Do not generate a
+	range check on the expression of the conversion if it involves a
+	fixed-point type, as such conversions are handled specially
+	during expansion.
+	* exp_ch4.adb (Expand_N_Type_Conversion): In a conversion from
+	Fixed to Integer, use the base type of the expression to ensure
+	that the caller will generate the proper constraint check when
+	needed.
+
+2018-09-26  Maroua Maalej  <maalej@adacore.com>
+
+	* sem_spark.adb (Check_Loop_Statement): Fix a bug related to
+	loop exit environment.
+	(Check_Statement): fixing a bug when comparing the source and
+	target in an assignment statement.
+
+2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Instantiate_Package_Body): Capture and restore
+	the full compilation context.
+	(Instantiate_Subprogram_Body): Capture and restore the full
+	compilation context.
+
+2018-09-26  Yannick Moy  <moy@adacore.com>
+
+	* debug.adb: Add use for -gnatd_f switch.
+	* inline.adb (Cannot_Inline): Only issue info message for
+	failure to inline in GNATprove mode when switch -gnatd_f is
+	used.
+
+2018-09-26  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Expand_Interface_Conversion): No displacement of
+	the pointer needed when the type of the operand is an interface
+	type that maches the target type and we are compiling under
+	configurable runtime. Adding also documentation explaining why
+	this cannot be done when compiling with the full runtime.
+	* exp_intr.adb: Update comment.
+
+2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch5.adb (Wrap_Loop_Statement): Annotate as No_Return.
+
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Make_Predicate_Call): Use OK_Convert_To when
+	applying a predicate check to prevent spurious errors when
+	private ancestors are involved.
+
+2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Allocator): Ensure that the use of the
+	secondary stack does not clash with restriction
+	No_Secondary_Stack.
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Ensure that
+	the use of the secondary stack does not clash with restriction
+	No_Secondary_Stack.
+	* sem_ch5.adb (Analyze_Loop_Statement): Wrap the loop in a block
+	prior to analysis in order to either provide a local scope for
+	an iterator, or ensure that the secondary stack is properly
+	managed.
+	(Check_Call): Account for the case where the tree may be
+	unanalyzed or contain prior errors.
+	(Has_Call_Using_Secondary_Stack): Renamed to Has_Sec_Stack_Call.
+	Update all uses of the subprogram.
+	(Prepare_Loop_Statement): New routine.
+
+2018-09-26  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Actuals): If the formal is a class-wide
+	type conversion then do not skip resolving and expanding the
+	conversion; required to displace the pointer to the object and
+	reference the dispatch table associated with the target
+	interface type.
+
+2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* libgnat/g-dynhta.adb (Prepend_Or_Replace): Update the number
+	of key-value pairs in the hash table only when adding a brand
+	new pair.
+
+2018-09-26  Sergey Rybin  <rybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Add note about
+	processing of aggregate projects in gnatmetric and gnatstub.
+
+2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb, exp_unst.adb, exp_util.adb, gnat1drv.adb,
+	opt.ads, par-prag.adb, sem_ch3.adb, sem_ch5.adb, sem_prag.adb,
+	sinfo.ads, snames.ads-tmpl: Minor reformatting.
+
+2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* gcc-interface/Make-lang.in: Add unit GNAT.Sets to the list of
+	front end sources.
+	* impunit.adb: Add unit GNAT.Sets to the list of predefined
+	units.
+	* Makefile.rtl: Add unit GNAT.Sets to the list of non-tasking
+	units.
+	* libgnat/g-sets.adb: New unit.
+	* libgnat/g-sets.ads: New unit.
+	* libgnat/g-dynhta.adb (Minimum_Size): Decrease to 8 in order to
+	allow for small sets.  Update all occurrences of Table_Locked to
+	Iterated.
+	(Ensure_Unlocked): Query the number of iterators.
+	(Find_Node): Use the supplied equality.
+	(Is_Empty): New routine.
+	(Lock): Update the number of iterators.
+	(Prepend_Or_Replace): Use the supplied equality.
+	(Size): Update the return type.
+	(Unlock): Update the number of iterators.
+	* libgnat/g-dynhta.ads: Update all occurrences of Table_Locked
+	to Iterated.  Rename formal subprogram Equivalent_Keys to "=".
+	(Bucket_Range_Type, Pair_Count_Type): Remove types.
+	(Not_Created, Table_Locked, Iterator_Exhausted): Remove
+	exceptions.
+	(Hash_Table): Update to store the number of iterators rather
+	than locks.
+	(Is_Empty): New routine.
+	(Size): Update the return type.
+	* libgnat/g-lists.adb: Update all occurrences of List_Locked to
+	Iterated.
+	(Ensure_Unlocked): Query the number of iterators.
+	(Length): Remove.
+	(Lock): Update the number of iterators.
+	(Size): New routine.
+	(Unlock): Update the number of iterators.
+	* libgnat/g-lists.ads: Update all occurrences of List_Locked to
+	Iterated.
+	(Element_Count_Type): Remove type.
+	(Not_Created, Table_Locked, Iterator_Exhausted): Remove
+	exceptions.
+	(Linked_List): Update type to store the number of iterators
+	rather than locks.
+	(Length): Remove.
+	(Size): New routine.
+	* libgnat/gnat.ads (Bucket_Range_Type): New type.
+	(Iterated, Iterator_Exhausted, and Not_Created): New exceptions.
+
+2018-09-26  Javier Miranda  <miranda@adacore.com>
+
+	* checks.adb (Install_Null_Excluding_Check): Do not add
+	null-excluding checks when the tree may not be fully decorated.
+	This patch cascade errors.
+
+2018-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Remove test for
+	Comes_From_Source, which prevented implicit conversions from
+	being applied to anonymous access-to-subprogram formals in
+	constant declartions that arise from instance associations for
+	generic formal objects.  Add RM and AARM references to comment.
+
+2018-09-26  Olivier Hainque  <hainque@adacore.com>
+
+	* opt.ads (OpenAcc_Enabled): New flag. False by default. True
+	when OpenACC pragmas are requested to be honored, when -fopenacc
+	is found on the command line.
+	* back_end.adb (Scan_Compiler_Arguments): Set OpenACC_Enabled if
+	-fopenacc is seen on the command line.
+	* sinfo.adb, sinfo.ads (Is_OpenAcc_Environment): New
+	flag/predicate on Loop statements which embed an Acc_Kernels,
+	Acc_Parallel or Acc_Data pragma.
+	(Is_OpenAcc_Loop): New flag/predicate on Loop statements which
+	embed an Acc_Loop pragma.
+	(Set_Is_OpenAcc_Environment, Set_Is_OpenAcc_Loop): Setters for
+	the new flags.
+	* par-prag.adb (Prag): Handle Acc_Data, Acc_Loop, Acc_Parallel
+	and Acc_Kernels pragmas.  Nothing to do here, all handled by
+	sem_prag.
+	* sem_prag.adb (Acc_First, Acc_Next,
+	Validate_Acc_Condition_Clause, Validate_Acc_Data_Clause,
+	Validate_Acc_Int_Expr_Clause, Validate_Acc_Int_Expr_List_Clause,
+	Validate_Acc_Loop_Collapse, Validate_Acc_Loop_Gang,
+	Validate_Acc_Loop_Vector, Validate_Acc_Loop_Worker,
+	Validate_Acc_Name_Reduction, Validate_Acc_Size_Expressions): New
+	helper for Analyze_Pragma, to handle OpenACC pragmas.
+	(Analyze_Pragma): Handle Acc_Data, Acc_Loop, Acc_Parallel and
+	Acc_Kernels pragmas.
+	* sem_ch5.adb (Disable_Constant): Unset Is_True_Constant on
+	variable entity, action for ...
+	(Disable_Constants): Helper for Analyze_Loop_Statement, to ...
+	(Analyze_Loop_Statement): Disable True_Constant on variables
+	referenced within an OpenACC environment.
+	* snames.ads-tmpl: Declare Name_Ids for the OpenACC directives
+	and clauses we can handle. Remove an exraneous whitespace before
+	columns, preventing line length overflow in the generated spec
+	with Ids now reaching beyond 999.
+	* doc/gnat_rm/implementation_defined_pragmas.rst: Document
+	pragma Acc_Parallel, Acc_Loop, Acc_Kernels and Acc_Data.
 	* gnat_rm.texi: Regenerate.
 
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Ensure_Dynamic_Prior_Elaboration): Renamed to
-	Ensure_Prior_Elaboration_Dynamic for consistency reasons.
-	(Ensure_Static_Prior_Elaboration): Renamed to
-	Ensure_Prior_Elaboration_Static for consistency reasons.
-	(Info_Variable_Reference): Renamed to Info_Variable_Read in order to
-	reflect its new purpose.
-	(Is_Initialized): New routine.
-	(Is_Suitable_Variable_Reference): Renamed to Is_Suitable_Variable_Read
-	in order to reflect its new purpose.
-	(Is_Variable_Read): New routine.
-	(Output_Variable_Reference): Renamed to Output_Variable_Read in order
-	to reflect its new purpose.
-	(Process_Variable_Assignment): This routine now acts as a top level
-	dispatcher for variable assignments.
-	(Process_Variable_Assignment_Ada): New routine.
-	(Process_Variable_Assignment_SPARK): New routine.
-	(Process_Variable_Reference): Renamed to Process_Variable_Read in order
-	to reflects its new purpose. A reference to a variable is now suitable
-	for ABE processing only when it is a read. The logic in the routine now
-	reflects the latest SPARK elaboration rules.
-
-2017-10-14  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Modify condition that
-	triggers marking on formal subprograms.
-
-2017-10-14  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Ensure_Valid): Do not skip adding the validity check on
-	renamings of objects that come from the sources.
-
-2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* cstand.adb (Build_Float_Type): Move down Siz parameter, add Align
-	parameter and set the alignment of the type to Align.
-	(Copy_Float_Type): Adjust call to Build_Float_Type.
-	(Register_Float_Type): Add pragma Unreferenced for Precision.  Adjust
-	call to Build_Float_Type and do not set RM_Size and Alignment.
-
-2017-10-14  Patrick Bernardi  <bernardi@adacore.com>
-
-	* Makefile.rtl (GNATRTL_NONTASKING_OBJ): Add s-soliin to
-	GNATRTL_NONTASKING_OBJ.
-
-2017-10-14  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Include code for
-	enabling b-i-p for nonlimited controlled types (but disabled).
-
-2017-10-14  Justin Squirek  <squirek@adacore.com>
-
-	* sem_elab.adb (Is_Suitable_Variable_Assignment): Replace call to
-	Has_Warnings_Off with Warnings_Off.
-
-2017-10-14  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sinfo.ads (Generic_Parent): Remove wrong (possibly obsolete) comment.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
-	enclosing package at the end of the visible declarations.
-	* sem_prag.adb (Analyze_Initialization_Item): Suppress the analysis of
-	an initialization item which is undefined due to some illegality.
-
-2017-10-14  Patrick Bernardi  <bernardi@adacore.com>
-
-	* ali.adb: Add new ALI line 'T' to read the number of tasks contain
-	within each unit that require a default-sized primary and secondary
-	stack to be generated by the binder.
-	(Scan_ALI): Scan new 'T' lines.
-	* ali.ads: Add Primary_Stack_Count and Sec_Stack_Count to Unit_Record.
-	* bindgen.adb (Gen_Output_File): Count the number of default-sized
-	stacks within the closure that are to be created by the binder.
-	(Gen_Adainit, Gen_Output_File_Ada): Generate default-sized secondary
-	stacks and record these in System.Secodnary_Stack.
-	(Resolve_Binder_Options): Check if System.Secondary_Stack is in the
-	closure of the program being bound.
-	* bindusg.adb (Display): Add "-Q" switch. Remove rouge "--RTS" comment.
-	* exp_ch3.adb (Count_Default_Sized_Task_Stacks): New routine.
-	(Expand_N_Object_Declaration): Count the number of default-sized stacks
-	used by task objects contained within the object whose declaration is
-	being expanded.  Only performed when either the restrictions
-	No_Implicit_Heap_Allocations or No_Implicit_Task_Allocations are in
-	effect.
-	* exp_ch9.adb (Create_Secondary_Stack_For_Task): New routine.
-	(Expand_N_Task_Type_Declaration): Create a secondary stack as part of
-	the expansion of a task type if the size of the stack is known at
-	run-time and the restrictions No_Implicit_Heap_Allocations or
-	No_Implicit_Task_Allocations are in effect.
-	(Make_Task_Create_Call): If using a restricted profile provide
-	secondary stack parameter: either the statically created stack or null.
-	* lib-load.adb (Create_Dummy_Package_Unit, Load_Unit,
-	Load_Main_Source): Include Primary_Stack_Count and Sec_Stack_Count in
-	Unit_Record initialization expressions.
-	* lib-writ.adb (Add_Preprocessing_Dependency,
-	Ensure_System_Dependency): Include Primary_Stack_Count and
-	Sec_Stack_Count in Unit_Record initialization expression.
-	(Write_ALI): Write T lines.
-	(Write_Unit_Information): Do not output 'T' lines if there are no
-	stacks for the binder to generate.
-	* lib-writ.ads: Updated library information documentation to include
-	new T line entry.
-	* lib.adb (Increment_Primary_Stack_Count): New routine.
-	(Increment_Sec_Stack_Count): New routine.
-	(Primary_Stack_Count): New routine.
-	(Sec_Stack_Count): New routine.
-	* lib.ads: Add Primary_Stack_Count and Sec_Stack_Count components to
-	Unit_Record and updated documentation.
-	(Increment_Primary_Stack_Count): New routine along with pragma Inline.
-	(Increment_Sec_Stack_Count): New routine along with pragma Inline.
-	(Primary_Stack_Count): New routine along with pragma Inline.
-	(Sec_Stack_Count): New routine along with pragma Inline.
-	* opt.ads: New constant No_Stack_Size.	Flag Default_Stack_Size
-	redefined.  New flag Default_Sec_Stack_Size and
-	Quantity_Of_Default_Size_Sec_Stacks.
-	* rtfinal.c Fixed erroneous comment.
-	* rtsfind.ads: Moved RE_Default_Secondary_Stack_Size from
-	System.Secondary_Stack to System.Parameters.  Add RE_SS_Stack.
-	* sem_util.adb (Number_Of_Elements_In_Array): New routine.
-	* sem_util.ads (Number_Of_Elements_In_Array): New routine.
-	* switch-b.adb (Scan_Binder_Switches): Scan "-Q" switch.
-	* libgnarl/s-solita.adb (Get_Sec_Stack_Addr): Removed routine.
-	(Set_Sec_Stack_Addr): Removed routine.
-	(Get_Sec_Stack): New routine.
-	(Set_Sec_Stack): New routine.
-	(Init_Tasking_Soft_Links): Update System.Soft_Links reference to
-	reflect new procedure and global names.
-	* libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
-	libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__solaris.adb,
-	libgnarl/s-taprop__vxworks.adb (Register_Foreign_Thread): Update
-	parameter profile to allow the secondary stack size to be specified.
-	* libgnarl/s-tarest.adb (Create_Restricted_Task): Update the parameter
-	profile to include Sec_Stack_Address.  Update Tasking.Initialize_ATCB
-	call to remove Secondary_Stack_Size reference.  Add secondary stack
-	address and size to SSL.Create_TSD call.
-	(Task_Wrapper): Remove secondary stack creation.
-	* libgnarl/s-tarest.ads (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Update parameter profile to include
-	Sec_Stack_Address and clarify the Size parameter.
-	* libgnarl/s-taskin.adb (Initialize_ATCB): Remove Secondary_Stack_Size
-	from profile and body.
-	(Initialize): Remove Secondary_Stack_Size from Initialize_ATCB call.
-	* libgnarl/s-taskin.ads: Removed component Secondary_Stack_Size from
-	Common_ATCB.
-	(Initialize_ATCB): Update the parameter profile to remove
-	Secondary_Stack_Size.
-	* libgnarl/s-tassta.adb (Create_Task): Updated parameter profile and
-	call to Initialize_ATCB.  Add secondary stack address and size to
-	SSL.Create_TSD call, and catch any storage exception from the call.
-	(Finalize_Global_Tasks): Update System.Soft_Links references to reflect
-	new subprogram and component names.
-	(Task_Wrapper): Remove secondary stack creation.
-	(Vulnerable_Complete_Master): Update to reflect TSD changes.
-	* libgnarl/s-tassta.ads: Reformat comments.
-	(Create_Task): Update parameter profile.
-	* libgnarl/s-tporft.adb (Register_Foreign_Thread): Update parameter
-	profile to include secondary stack size. Remove secondary size
-	parameter from Initialize_ATCB call and add it to Create_TSD call.
-	* libgnat/s-parame.adb, libgnat/s-parame__rtems.adb,
-	libgnat/s-parame__vxworks.adb (Default_Sec_Stack_Size): New routine.
-	* libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
-	libgnat/s-parame__hpux.ads, libgnat/s-parame__vxworks.ads: Remove type
-	Percentage.  Remove constants Dynamic, Sec_Stack_Percentage and
-	Sec_Stack_Dynamic.  Add constant Runtime_Default_Sec_Stack_Size and
-	Sec_Stack_Dynamic.
-	(Default_Sec_Stack_Size): New routine.
-	* libgnat/s-secsta.adb, libgnat/s-secsta.ads: New implementation. Is
-	now Preelaborate.
-	* libgnat/s-soflin.adb: Removed unused with-clauses.  With
-	System.Soft_Links.Initialize to initialize non-tasking TSD.
-	(Create_TSD): Update parameter profile. Initialize the TSD and
-	unconditionally call SS_Init.
-	(Destroy_TSD): Update SST.SS_Free call.
-	(Get_Sec_Stack_Addr_NT, Get_Sec_Stack_Addr_Soft, Set_Sec_Stack_Addr_NT,
-	Set_Sec_Stack_Addr_Soft): Remove routines.
-	(Get_Sec_Stack_NT, Get_Sec_Stack_Soft, Set_Sec_Stack_NT,
-	Set_Sec_Stack_Soft): Add routines.
-	(NT_TSD): Move to private part of package specification.
-	* libgnat/s-soflin.ads: New types Get_Stack_Call and Set_Stack_Call
-	with suppressed access checks.  Renamed *_Sec_Stack_Addr_* routines and
-	objects to *_Sec_Stack_*.  TSD: removed warning suppression and
-	component intialization. Changed Sec_Stack_Addr to Sec_Stack_Ptr.
-	(Create_TSD): Update parameter profile.
-	(NT_TSD): Move to private section from body.
-	* libgnat/s-soliin.adb, libgnat/s-soliin.ads: New files.
-	* libgnat/s-thread.ads (Thread_Body_Enter): Update parameter profile.
-	* libgnat/s-thread__ae653.adb (Get_Sec_Stack_Addr, Set_Sec_Stack_Addr):
-	Remove routine.
-	(Get_Sec_Stack, Set_Sec_Stack): Add routine.
-	(Thread_Body_Enter): Update parameter profile and body to adapt to new
-	System.Secondary_Stack.
-	(Init_RTS): Update body for new System.Soft_Links names.
-	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
-	s-soliin.o.
-
-2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/decl.c (annotate_value): Use wi::to_wide when
-	operating on trees as wide_ints.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_unit.adb (Find_Enclosing_Scope): Do not treat a block statement
-	as a scoping construct when it is byproduct of exception handling.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads: Update table Is_Syntactic_Field to reflect the nature of
-	semantic field Target of node N_Call_Marker.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Allocator): Reject properly an allocator that
-	attempts to copy a limited value, when the allocator is the expression
-	in an expression function.
-
-2017-10-09  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/share/conf.py: Tell the style checker that this is a Python
-	fragment, and therefore that pyflakes should not be run to validate
-	this file.
-
-2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads (Is_Boolean_Type): Add pragma Inline.
-	(Is_Entity_Name): Likewise.
-	(Is_String_Type): Likewise.
-	* sem_type.adb (Full_View_Covers): Do not test Is_Private_Type here
-	and remove useless comparisons on the base types.
-	(Covers): Use simple tests for Standard_Void_Type.  Move up cheap tests
-	on T2.  Always test Is_Private_Type before Full_View_Covers.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch4.adb: Minor refactoring.
-
-2017-10-09  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Replace_Components): Browse the list of discriminants,
-	not components.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Static_Elaboration_Checks): Elaboration requirements
-	are verified only in the static model.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification,
-	Check_Reverse_Iteration): Check that the domain of iteration supports
-	reverse iteration when it is a formal container.  This requires the
-	presence of a Previous primitive in the Iterable aspect.
-	* sem_ch13.adb (Resolve_Iterable_Operation): Verify legality of
-	primitives Last and Previous to support reverse iteration over formal
-	containers.
-	(Validate_Iterable_Aspect): Add check for reverse iteration operations.
-	* exp_ch5.adb (Build_Formal_Container_Iteration): Add proper expansion
-	for reverse iteration using primitives Last and Previous in generated
-	loop.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Subprogram_Name): If this is a child unit, use the name
-	of the Defining_Program_Unit_Name, which is an identifier, in order to
-	construct the string for the fully qualified name.
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb: Rename Uses_Unseen_Priv into
-	Contains_Lib_Incomplete_Type.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, sem_spark.adb, adabkend.adb, exp_ch5.adb, frontend.adb,
-	sem_ch12.adb, fmap.adb, exp_ch6.adb, exp_spark.adb, lib-load.adb,
-	exp_ch9.adb, osint.adb, exp_disp.adb, sem_ch8.adb, sem_ch8.ads,
-	prepcomp.adb, gnat1drv.adb, atree.adb, sinput-l.adb, targparm.adb,
-	sem_ch10.adb, par-ch8.adb: Minor reformatting.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Is_Suitable_Access): This scenario is now only relevant
-	in the static model.
-	(Is_Suitable_Variable_Assignment): This scenario is now only relevant
-	in the static model.
-	(Is_Suitable_Variable_Reference): This scenario is now only relevant in
-	the static model.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): In ASIS mode, resolve aspect
-	expressions when the enclosing scope is a subprogram body and the next
-	declaration is a body that freezes entities previously declared in the
-	scope.
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Analyze_Use_Package): Remove checking of mixture between
-	ghost packages and living packages in use clauses.
-	(Use_One_Type, Note_Redundant_Use): Correct warning messages
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* osint.ads: Document new parameter FD for Read_Source_File.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Make_Predicate_Call): If the type of the expression to
-	which the predicate check applies is tagged, convert the expression to
-	that type. This is in most cases a no-op, but is relevant if the
-	expression is clas-swide, because the predicate function being invoked
-	is not a primitive of the type and cannot take a class-wide actual.
-
-2017-10-09  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_disp.adb: Minor reformatting.
-
-2017-10-09  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix typo.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Install_ABE_Check): Do not generate an ABE check for
-	GNATprove.
-	(Install_ABE_Failure): Do not generate an ABE failure for GNATprove.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Return
-	immediately if the call has already been processed (by a previous call
-	to Make_Build_In_Place_Call_In_Anonymous_Context).
-	* sem_elab.adb: Minor typo fixes.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Replace_Type_Ref): In the expression for a dynamic
-	predicate, do not replace an identifier that matches the type if the
-	identifier is a selector in a selected component, because this
-	indicates a reference to some homograph of the type itself, and  not to
-	the current occurence in the predicate.
-
-2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* repinfo.adb (List_Record_Layout): Tweak formatting.
-	(Write_Val): Remove superfluous spaces in back-end layout mode.
-
-2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_res.adb (Property_Error): Remove.
-	(Resolve_Actuals): check for SPARK RM 7.1.3(10) rewritten to match the
-	current wording of the rule.
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Add check for ghost packages
-	before analyzing a given scope due to an expression function.
-	(Uses_Unseen_Lib_Unit_Priv): Rename to Uses_Unseen_Priv.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
-	Defining_Identifier (Obj_Decl) in two places, because it might have
-	changed.
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Deal with cases
-	involving 'Input on (not visibly) derived types.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* atree.adb: Add new soft link Rewriting_Proc.
-	(Rewrite): Invoke the subprogram attached to the rewriting soft link.
-	(Set_Rewriting_Proc): New routine.
-	* attree.ads: Add new access-to-subprogram type Rewrite_Proc.
-	(Set_Rewriting_Proc): New routine.
-	* checks.adb (Install_Primitive_Elaboration_Check): Use 'E' character
-	for *E*laboration flag to maintain consistency with other elaboration
-	flag generating subprograms.
-	* debug.adb: Document the new usage of flag -gnatdL.
-	* einfo.adb: Node19 is now used as Receiving_Entry.  Node39 is now used
-	as Protected_Subprogram.  Flag148 is now used as
-	Is_Elaboration_Checks_OK_Id.  Flag302 is now used as
-	Is_Initial_Condition_Procedure.
-	(Is_Elaboration_Checks_OK_Id): New routine.
-	(Is_Initial_Condition_Procedure): New routine.
-	(Protected_Subprogram): New routine.
-	(Receiving_Entry): New routine.
-	(SPARK_Pragma): Update assertion.
-	(SPARK_Pragma_Inherited): Update assertion.
-	(Suppress_Elaboration_Warnings): Removed.
-	(Set_Is_Elaboration_Checks_OK_Id): New routine.
-	(Set_Is_Initial_Condition_Procedure): New routine.
-	(Set_Protected_Subprogram): New routine.
-	(Set_Receiving_Entry): New routine.
-	(Set_SPARK_Pragma): Update assertion.
-	(Set_SPARK_Pragma_Inherited): Update assertion.
-	(Write_Entity_Flags): Update the output for Flag148 and Flag302.
-	(Write_Field19_Name): Add output for Receiving_Entry.
-	(Write_Field39_Name): Add output for Protected_Subprogram.
-	(Write_Field40_Name): Update the output for SPARK_Pragma.
-	* einfo.ads: New attributes Is_Elaboration_Checks_OK_Id,
-	Is_Initial_Condition_Procedure, Protected_Subprogram, Receiving_Entry.
-	Remove attribute Suppress_Elaboration_Warnings.  Update the stricture
-	of various entities.
-	(Is_Elaboration_Checks_OK_Id): New routine along with pragma Inline.
-	(Is_Initial_Condition_Procedure): New routine along with pragma Inline.
-	(Protected_Subprogram): New routine along with pragma Inline.
-	(Receiving_Entry): New routine along with pragma Inline.
-	(Suppress_Elaboration_Warnings): Removed.
-	(Set_Is_Elaboration_Checks_OK_Id): New routine along with pragma
-	Inline.
-	(Set_Is_Initial_Condition_Procedure): New routine along with pragma
-	Inline.
-	(Set_Protected_Subprogram): New routine along with pragma Inline.
-	(Set_Receiving_Entry): New routine along with pragma Inline.
-	(Set_Suppress_Elaboration_Warnings): Removed.
-	* exp_ch3.adb (Build_Init_Procedure): Use name _Finalizer to maintain
-	consistency with other finalizer generating subprograms.
-	(Default_Initialize_Object): Mark the block which wraps the call to
-	finalize as being part of initialization.
-	* exp_ch7.adb (Expand_N_Package_Declaration): Directly expand pragma
-	Initial_Condition.
-	(Expand_N_Package_Body): Directly expand pragma Initial_Condition.
-	(Next_Suitable_Statement): Update the comment on usage. Skip over call
-	markers generated by the ABE mechanism.
-	* exp_ch9.adb (Activation_Call_Loc): New routine.
-	(Add_Accept): Link the accept procedure to the original entry.
-	(Build_Protected_Sub_Specification): Link the protected or unprotected
-	version to the original subprogram.
-	(Build_Task_Activation_Call): Code cleanup. Use a source location which
-	is very close to the "begin" or "end" keywords when generating the
-	activation call.
-	* exp_prag.adb (Expand_Pragma_Initial_Condition): Reimplemented.
-	* exp_spark.adb (Expand_SPARK): Use Expand_SPARK_N_Loop_Statement to
-	process loops.
-	(Expand_SPARK_N_Loop_Statement): New routine.
-	(Expand_SPARK_N_Object_Declaration): Code cleanup. Partially insert the
-	call to the Default_Initial_Condition procedure.
-	(Expand_SPARK_Op_Ne): Renamed to Expand_SPARK_N_Op_Ne.
-	* exp_util.adb (Build_DIC_Procedure_Body): Capture the SPARK_Mode in
-	effect.
-	(Build_DIC_Procedure_Declaration): Capture the SPARK_Mode in effect.
-	(Insert_Actions): Add processing for N_Call_Marker.
-	(Kill_Dead_Code): Explicitly kill an elaboration scenario.
-	* exp_util.ads (Make_Invariant_Call): Update the comment on usage.
-	* frontend.adb: Initialize Sem_Elab. Process all saved top level
-	elaboration scenarios for ABE issues.
-	* gcc-interface/trans.c (gnat_to_gnu): Add processing for N_Call_Marker
-	nodes.
-	* lib.adb (Earlier_In_Extended_Unit): New variant.
-	* sem.adb (Analyze): Ignore N_Call_Marker nodes.
-	(Preanalysis_Active): New routine.
-	* sem.ads (Preanalysis_Active): New routine.
-	* sem_attr.adb (Analyze_Access_Attribute): Save certain
-	elaboration-related attributes. Save the scenario for ABE processing.
-	* sem_ch3.adb (Analyze_Object_Declaration): Save the SPARK mode in
-	effect. Save certain elaboration-related attributes.
-	* sem_ch5.adb (Analyze_Assignment): Save certain elaboration-related
-	attributes. Save the scenario for ABE processing.
-	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Save the SPARK
-	mode in effect. Save certain elaboration-related attributes.
-	(Analyze_Subprogram_Body_Helper): Skip N_Call_Marker nodes when
-	locating the first real statement.
-	(Analyze_Subprogram_Declaration): Save the SPARK mode in effect. Save
-	certain elaboration-related attributes.
-	* sem_ch7.adb (Analyze_Package_Declaration): Do not suppress
-	elaboration warnings.
-	* sem_ch8.adb (Attribute_Renaming): Mark a subprogram body which was
-	generated for purposes of wrapping an attribute used as a generic
-	actual.
-	(Find_Direct_Name): Save certain elaboration-related attributes. Save
-	the scenario for ABE processing.
-	(Find_Expanded_Name): Save certain elaboration-related attributes. Save
-	the scenario for ABE processing.
-	* sem_ch9.adb (Analyze_Entry_Declaration): Save certain
-	elaboration-related attributes.
-	(Analyze_Requeue): Save certain elaboration-related attributes. Save
-	the scenario for ABE processing.
-	(Analyze_Single_Task_Declaration): Save certain elaboration-related
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Is_Onown_Limited): A derived type whose parent P
+	is a derived limited record is not itself limited if P is a
+	derived limited interface.
+
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Has_Referencer): Remove Top_Level parameter and
+	add In_Nested_Instance and
+	Has_Outer_Referencer_Of_Non_Subprograms parameters.  Rename
+	Has_Non_Subprograms_Referencer variable into
+	Has_Referencer_Of_Non_Subprograms and initialize it with the new
+	third parameter.  Adjust recursive calls and to the renaming.
+	Replace test on Top_Level with test on In_Nested_Instance to
+	decide whether to clear the Is_Public flag on entities.
+	(Hide_Public_Entities): Adjust call to Has_Referencer.
+
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_disp.adb (Expand_Interface_Conversion): Use Present test.
+	(Expand_Interface_Thunk): Propagate debug info setting from
+	target.
+	* exp_util.ads (Find_Interface_Tag): Adjust comment.
+	* exp_util.adb (Find_Interface_Tag): Remove assertions of
+	success.
+	* sem_util.adb (Is_Variable_Size_Record): Only look at
+	components and robustify the implementation.
+	* fe.h (Find_Interface_Tag): Declare.
+	(Is_Variable_Size_Record): Likewise.
+
+2018-09-26  Thomas Quinot  <quinot@adacore.com>
+
+	* exp_util.adb (Make_CW_Equivalent_Type): Propagate bit order
+	and scalar storage order from root type to classwide equivalent
+	type, to prevent rejection of the equivalent type by the
+	freezing circuitry.
+
+2018-09-26  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Add conditional
+	to freeze called functions within iterator specifications during
+	full analysis.
+	(Preanalyze_Range): Minor typo fix.
+
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Function_Return): If the return type has
+	a dynamic_predicate, apply a Predicate_Check to the expression,
+	given that it is implicitly converted to the return type.
+	Exclude case expressions from the check, because in this context
+	the expression is expanded into individual return statements.
+
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: In
+	-gnatct mode, process the discriminants only for a definition.
+
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Record_Layout): Be prepared for JSON output.
+	(List_Record_Info): Use the flat representation for record
+	subtypes in the JSON format.
+
+2018-09-26  Justin Squirek  <squirek@adacore.com>
+
+	* lib-writ.adb, lib-writ.ads (Write_With_Lines): Add
+	documentation and an extra conditional check for RCI units so
+	that generated ali files will list the spec only instead of a
+	body when a body is not found.
+
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (error_gnat_node): Delete.
+	* gcc-interface/trans.c (error_gnat_node): Likewise.
+	(gigi): Replace it with Current_Error_Node.
+	(gnat_to_gnu): Likewise.
+	* gcc-interface/utils.c (rest_of_subprog_body_compilation):
+	Likewise.
+	* gcc-interface/misc.c (internal_error_function): Do not set it.
+
+2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Adjust
+	code retrieving the address when a clause has already been
+	processed.
+	* gcc-interface/trans.c (gnat_to_gnu)
+	<N_Attribute_Definition_Clause>: For an object with a Freeze
+	node, build a meaningful expression.
+
+2018-09-26  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): -gnatd_A sets
+	Opt.Disable_ALI_File.
+	* debug.adb: Update debug flags documentation.
+
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): The
+	analysis of preconditions specified by pragmas (rather than
+	aspects) is not delayed, and therefore expressions functions
+	that are completions do not need special handling during
+	expansion.
+
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb: Fix handling of up level references for entries.
+
+2018-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+	* contracts.adb (Expand_Subprogram_Contract,
+	Process_Preconditions_For): Apply Freeze_Expr_Types to the
+	expression for a precondition of an expression function that is
+	a completion, when the completion appears in the private part
+	and the declaration it completes is in the visible part of the
+	same package.
+	* freeze.adb (Freeze_Expr_Types): Do not establish the scope of
+	the operation if it is already installed, as will be the case
+	when called to analyze the contract oc the subprogram (which
+	happens when generating code inside the subprogram body).
+
+2018-09-26  Maroua Maalej  <maalej@adacore.com>
+
+	* sem_spark.adb (Check_Param_In, Setup_Parameter_Or_Global):
+	Change the operation associated to assigning to an IN parameter.
+	In SPARK, IN access-to-variable is an observe operation for a
+	function, and borrow operation for a procedure.
+
+2018-09-26  Arnaud Charlet  <charlet@adacore.com>
+
+	* vxlink.adb: Minor reformatting.
+
+2018-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch9.adb, layout.adb, sem_attr.adb, sem_res.adb: Fix
+	miscellaneous typos.
+
+2018-09-26  Jerome Lambourg  <lambourg@adacore.com>
+
+	* vxlink.adb: Kill a CodePeer warning.
+
+2018-09-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/87396
+	* fe.h (Get_Attribute_Definition_Clause): Use 'unsigned char' instead
+	of 'char' as the type of the second parameter.
+
+2018-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* Makefile.rtl (arm% linux-gnueabi%): Always set EH_MECHANISM to -arm.
+
+2018-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/81103
+	* terminals.c: Do not include termio.h.
+
+2018-08-27  Martin Liska  <mliska@suse.cz>
+
+	* gcc-interface/decl.c (update_profile): Use new function
+	fndecl_built_in_p and remove check for FUNCTION_DECL if
+	possible.
+	* gcc-interface/gigi.h (call_is_atomic_load): Likewise.
+	* gcc-interface/utils.c (gnat_pushdecl): Likewise.
+
+2018-08-23  Giuliano Belinassi  <giuliano.belinassi@usp.br>
+
+	* exp_unst.ads: Fix typo 'exapnded' to 'expanded'.
+
+2018-08-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, contracts.adb, exp_aggr.adb, exp_attr.adb,
+	exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_unst.adb,
+	exp_util.adb, freeze.adb, gnatlink.adb, layout.adb,
+	lib-writ.adb, lib-xref-spark_specific.adb, sem_ch13.adb,
+	sem_ch3.adb, sem_ch6.adb, sem_res.adb, sem_util.adb, sinfo.ads,
+	sprint.adb: Minor reformatting.
+
+2018-08-21  Jerome Lambourg  <lambourg@adacore.com>
+
+	* vxlink-bind.adb, vxlink-bind.ads, vxlink-link.adb,
+	vxlink-link.ads, vxlink-main.adb, vxlink.adb, vxlink.ads: Add a
+	new tool vxlink to handle VxWorks constructors in DKMs.
+	* gcc-interface/Makefile.in: add rules to build vxlink
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper, Mask_Type):
+	Refine the handling of freezing types for expression functions
+	that are not completions, when analyzing the generated body for
+	the function: the body is inserted at the end of the enclosing
+	declarative part, and its analysis may freeze types declared in
+	the same scope that have not been frozen yet.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb: Remove Freeze_Expr_Types.
+	* freeze.ads, freeze.adb (Freeze_Expr_Types): Moved from
+	sem_ch6.adb, and extended to handle other expressions that may
+	contain unfrozen types that must be frozen in their proper
+	scopes.
+	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): If the
+	contract is for the generated body of an expression function
+	that is a completion, traverse the expressions for pre- and
+	postconditions to freeze all types before adding the contract
+	code within the subprogram body.
+
+2018-08-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch10.adb: Remove the with and use clause for unit Ghost.
+	(Analyze_With_Clause): Do not mark a with clause which mentions
+	an ignored Ghost code for elimination.
+
+2018-08-21  Javier Miranda  <miranda@adacore.com>
+
+	* lib-writ.adb (Write_Unit_Information): Handle pragmas removed
+	by the expander.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Check_Synchronized_Overriding): The conformance
+	between an overriding protected operation and the overridden
+	abstract progenitor operation requires subtype conformance;
+	requiring equality of return types in the case of a function is
+	too restrictive and leads to spurious errors when the return
+	type is a generic actual.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Timed_Entry_Call,
+	Expand_Conditional_Entry_Call): Use Reset_Scopes_Of to set
+	properly the scope of all entities created in blocks generated
+	by the expansion of these constructs.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Functioss): Apply
+	Reset_Quantified_Variables_Scope after predicate function has
+	been analyzed, so that the scope can be reset on the generated
+	loop statements that have replaced the quantified expressions.
+
+2018-08-21  Bob Duff  <duff@adacore.com>
+
+	* einfo.ads, einfo.adb (Private_View, Shadow_Entities): Remove
+	obsolete code.
+
+2018-08-21  Maroua Maalej  <maalej@adacore.com>
+
+	* sem_spark.adb (Check_Call_Statement): Check global and formal
+	parameter permissions at call sites.
+	(Check_Callable_Body): Assume permissions on globals and
+	parameters depending on their modes then analyse the body
+	operations.
+	(Check_Declaration): Consider both deep (including elementary
+	access) object declarations and normal variables. First check
+	whether the deep object is of Ownership Aspec True or not, then,
+	depending on its initialization, assign the appropriate state.
+	Check related to non access type variables deal with
+	initialization value permissions.
+	(Check_Expression): Check nodes used in the expression being
+	analyzed.
+	(Check_Globals): Call by Check_Call_Statement to perform the
+	check on globals.
+	(Check_List): Call Check_Node on each element of the list.
+	(Check_Loop_Statement): Check the Iteration_Scheme and loop
+	statements.
+	(Check_Node): Main traversal procedure to check safe pointer usage.
+	(Check_Package_Body): Check subprogram's body.
+	(Check_Param_In): Take a formal and an actual parameter and
+	Check the permission of every in-mode parameter.
+	(Check_Param_Out): Take a formal and an actual parameter and
+	check the state of out-mode and in out-mode parameters.
+	(Check_Statement): Check statements other than procedure call.
+	(Get_Perm, Get_Perm_Or_Tree, Get_Perm_Tree): Find out the state
+	related to the given name.
+	(Is_Deep): Return True if an object is of access type or has
+	subfields of access type.
+	(Perm_Error, Perm_Error_Subprogram_End): Add an error message
+	whenever the found state on the given name is different from the
+	one expected (in the statement being analyzed).
+	(Process_Path): Given an operation and a current state, call
+	Perm_Error if there is any mismatch.
+	(Return_Declarations, Return_Globals, Return_The_Global): Check
+	the state of a given name at the end of the subprogram. These
+	procedures may change depending on how we shall finally deal
+	with globals and the rhs state in a move operation.
+	(Set_Perm_Extensions, Set_Perm_Prefixes_Borrow,
+	Set_Perm_Prefixes, Setup_Globals, Setup_Parameter_Or_Global,
+	Setup_Parameters): Set up the new states to the given node and
+	up and down the tree after an operation.
+	(Has_Ownership_Aspect_True): This function may disappear later
+	when the Ownership Aspect will be implemented in the FE.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Resolve correctly a parameterless
+	call that returns an access type whose designated type is the
+	component type of an array, when the function has no defaulted
+	parameters.
+
+2018-08-21  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+	Document entries of the target parametrization file.
+	* gnat_ugn.texi: Regenerate.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb: Set scope of elaboration flag for 'Access.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sprint.adb: Add guard on printing aspects.
+
+2018-08-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_cg.adb (Generate_CG_Output): Handle calls removed by the
+	expander.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* layout.adb: Do not set size of access subprogram if unnesting.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb: Remove warnings for access to subprograms when
+	unnesting is active.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Expand_Array_Aggregate): If the component type
+	is limited, the array must be constructed in place, so set flag
+	In_Place_Assign_OK_For_Declaration accordingly. This prevents
+	improper copying of an array of tasks during initialization.
+
+2018-08-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Call_to_gnu): Always suppress an
+	unchecked conversion around the actual for an In parameter
+	passed by copy.
+
+2018-08-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_util.adb (Is_Possibly_Unaligned_Object): For the case of a
+	selected component inherited in a record extension and subject
+	to a representation clause, retrieve the position and size from
+	the original record component.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (New_External_Entity): Type of
+	Suffix_Index must be Int, not Nat, so that a negative value can
+	be used to generate a unique name for an external object, as
+	specified in Tbuild.New_External_Name.
+	(Scope_Within): Handle private type whose completion is a
+	synchronized type (For unnesting).
+	* itypes.ads, itypes.adb (Create_Itype): Ditto
+	* sem_ch3.adb (Constrain_Corresponding_Record): Generate a
+	unique name for the created subtype, because there may be
+	several discriminated tasks present in the same scope, and each
+	needs its distinct corresponding record subtype.
+
+2018-08-21  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Update
+	documentation of dimensionality analysis.
+	* gnat_ugn.texi: Regenerate.
+	* Makefile.rtl, impunit.adb: Consider the new units.
+	* libgnat/s-dfmkio.ads, libgnat/s-dfmopr.ads,
+	libgnat/s-diflmk.ads: New units based on Float.
+	* libgnat/s-dilomk.ads, libgnat/s-dlmkio.ads,
+	libgnat/s-dlmopr.ads: New units based on Long_Float.
+	* libgnat/s-dmotpr.ads: Rename to libgnat/s-dgmgop.ads and turn
+	into an instance of
+	System.Dim.Generic_Mks.Generic_Other_Prefixes.
+	* libgnat/s-dimmks.ads: Rename to libgnat/s-digemk.ads and turn
+	into an instance of System.Dim.Generic_Mks.
+
+2018-08-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* impunit.adb: Add g-lists to the set of non-implementation
+	units.
+	* libgnat/g-lists.adb, libgnat/g-lists.ads: New unit.
+	* Makefile.rtl: Add g-lists to the set of non-tasking units.
+	* gcc-interface/Make-lang.in: Add g-lists to the set of files
+	used by gnat1.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch9.adb (Reset_Scopes): Do not recurse into type
+	declarations when resetting the scope of entities declared the
+	procedures generated for entry bodies and accept alternatives.
+	Use the entity of the procedure declaration, not its body, as
+	the new scope.
+
+2018-08-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Elaboration_Entity): Include entries and entry
+	families in the set of legal entities.
+	(Elaboration_Entity_Required): Include entries and entry
+	families in the set of legal entities.
+	(Set_Elaboration_Entity): Include entries and entry families in
+	the set of legal entities.
+	(Set_Elaboration_Entity_Required): Include entries and entry
+	families in the set of legal entities.
+	(Write_Field13_Name): Update the output of attribute
+	Elaboration_Entity.
+	* einfo.ads: Attributes Elaboration_Entity and
+	Elaboration_Entity_Required now apply to entries and entry
+	families.
+
+2018-08-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* set_targ.adb: Mark some CodePeer message as Intentional.
+
+2018-08-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Force the freezing of an
+	expression function that is called to provide a default value
+	for a defaulted discriminant in an object initialization.
+
+2018-08-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: New package
+	Dynamic_HTable.
+
+2018-08-21  Javier Miranda  <miranda@adacore.com>
+
+	* checks.ads (Determine_Range): Adding documentation.
+	* checks.adb (Determine_Range): Don't deal with enumerated types
+	with non-standard representation.
+	(Convert_And_Check_Range): For conversion of enumeration types
+	with non standard representation to an integer type perform a
+	direct conversion to the target integer type.
+
+2018-08-21  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref.ads, lib-xref-spark_specific.adb
+	(Enclosing_Subprogram_Or_Library_Package): Now roughtly works
+	for pragmas that come from aspect specifications.
+
+2018-08-21  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* sa_messages.ads, sa_messages.adb: New source files.
+
+2018-08-03  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	Reverts
+	2018-07-06  Jim Wilson  <jimw@sifive.com>
+
+	* Make-generated.in (treeprs.ads): Use $(GNATMAKE) instead of gnatmake.
+	(einfo.h, sinfo.h, stamp-snames, stamp-nmake): Likewise.
+	* gcc-interface/Makefile.in (xoscons): Likewise.
+
+2018-07-31  Alexandre Oliva  <oliva@adacore.com>
+	    Olivier Hainque  <hainque@adacore.com>
+
+	* gcc-interface/trans.c: Include debug.h.
+	(file_map): New static variable.
+	(gigi): Set it.  Create decl_to_instance_map when needed.
+	(Subprogram_Body_to_gnu): Pass gnu_subprog_decl to...
+	(Sloc_to_locus): ... this.  Add decl parm, map it to instance.
+	* gcc-interface/gigi.h (Sloc_to_locus): Adjust declaration.
+
+2018-07-31  Arnaud Charlet  <charlet@adacore.com>
+
+	* clean.adb, gnatchop.adb, gnatfind.adb, gnatls.adb,
+	gnatmake.ads, gnatxref.adb, make.adb, make.ads, make_util.ads,
+	sfn_scan.adb, vxaddr2line.adb, xeinfo.adb, xoscons.adb,
+	xr_tabls.adb, xref_lib.adb: Address CodePeer messages.
+
+2018-07-31  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnatlink.adb: Fix potential Constraint_Error if
+	Library_Version is too long.
+
+2018-07-31  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_elab.adb: Remove duplicate condition detected by CodePeer.
+
+2018-07-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Subp_Index): In the case of a protected
+	operation, the relevant entry is the generated
+	protected_subprogram_body into which the original body is
+	rewritten. Assorted cleanup and optimizations.
+
+2018-07-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_attr.adb (Expand_Attribute, case Fixed_Value): Set the
+	base type of the result to ensure that proper overflow and range
+	checks are generated.  If the target is a fixed-point tyoe,
+	generate the required overflow and range checks explicitly,
+	rather than relying on Apply_Type_Conversion_Checks, which might
+	simply set the Do_Range_Check flag and rely on the backend to
+	add the check.
+
+2018-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Establish a transient scope to
+	manage the secondary stack when the designated type of an
+	access-to-subprogram requires it.
+
+2018-07-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch7.adb (Check_Unnesting_Elaboration_Code): To find local
+	subprograms in the elaboration code for a package body, recurse
+	through nested statement sequences because a compiler-generated
+	procedure may appear within a condition statement.
+
+2018-07-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Handle
+	properly a protected call that includes a default parameter that
+	is a call to a protected function of the same type.
+
+2018-07-31  Justin Squirek  <squirek@adacore.com>
+
+	* lib-writ.adb (Write_With_Lines): Modfiy the generation of
+	dependencies within ali files so that source unit bodies are
+	properly listed even if said bodies are missing.  Perform legacy
+	behavior in GNATprove mode.
+	* lib-writ.ads: Modify documentation to reflect current behavior.
+
+2018-07-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* libgnarl/s-osinte__solaris.ads (upad64_t): New private type.
+	(mutex_t): Use it for 'lock' and 'data' components.
+	(cond_t): Likewise for 'data' and use single 'flags' component.
+
+2018-07-31  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch5.adb (Make_Field_Assign): Force temporarily generated
+	objects for assignment of overlaid user objects to be renamings
+	instead of constant declarations.
+
+2018-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb (Analyze_Pragmas): New routine.
+	(Build_Private_Protected_Declaration): Code clean up. Relocate
+	relevant aspects and pragmas from the stand-alone body to the
+	newly created spec.  Explicitly analyze any pragmas that have
+	been either relocated or produced by the analysis of the
+	aspects.
+	(Move_Pragmas): New routine.
+	* sem_prag.adb (Find_Related_Declaration_Or_Body): Recognize the
+	case where a pragma applies to the internally created spec for a
+	stand-along subprogram body declared in a protected body.
+
+2018-07-31  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace
+	calls to Current_Scope in three assertions with calls to
+	Current_Subprogram.
+
+2018-07-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_eval.adb (Check_Non_Static_Context): Do not warn on an
+	integer literal greater than the upper bound of
+	Universal_Integer'Last when expansion is disabled, to avoid a
+	spurious warning over ranges involving 64-bit modular types.
+
+2018-07-31  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.adb (Write_Entity_Flags): Also print
+	Is_Activation_Record flag.
+
+2018-07-31  Piotr Trojanek  <trojanek@adacore.com>
+
+	* exp_aggr.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb,
+	repinfo.adb, sem_ch9.adb: Minor replace Ekind membership tests
+	with a wrapper routine.
+
+2018-07-31  Piotr Trojanek  <trojanek@adacore.com>
+
+	* ali.adb (Known_ALI_Lines): Remove 'F' as a prefix for lines
+	related to the FORMAL analysis done by GNATprove.
+
+2018-07-31  Javier Miranda  <miranda@adacore.com>
+
+	* sem.ads (Inside_Preanalysis_Without_Freezing): New global
+	counter.
+	* sem.adb (Semantics): This subprogram has now the
+	responsibility of resetting the counter before analyzing a unit,
+	and restoring its previous value before returning.
+	* freeze.adb (Freeze_Entity): Do not freeze if we are
+	preanalyzing without freezing.
+	* sem_res.adb (Preanalyze_And_Resolve): Set & restore
+	In_Preanalysis_Without_Freezing.
+
+2018-07-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Traverse_Homonyms): Consider generic actuals that
+	may rename a matching class-wide operation only if the renaming
+	declaration for that actual is in an enclosing scope (i.e.
+	within the corrresponding instance).
+
+2018-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, contracts.adb, exp_aggr.adb, exp_ch5.adb,
+	exp_disp.adb, make.adb, sem_ch4.adb, sem_eval.adb, sem_res.adb,
+	usage.adb: Minor reformatting.
+
+2018-07-31  Bob Duff  <duff@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Do not complain about the
+	implicit allocator that occurs in the expansion of a return
+	statement for a build-in-place function.
+
+2018-07-20  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/82063
+	* gcc-interface/misc.c (gnat_handle_option): Change function argument
+	to HOST_WIDE_INT.
+
+2018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (choices_to_gnu): Rename parameters.  Deal with
+	an operand of Character type.  Factor out range generation to the end.
+	Check that the bounds are literals and convert them to the type of the
+	operand before building the ranges.
+	* gcc-interface/utils.c (make_dummy_type): Minor tweak.
+	(make_packable_type): Propagate TYPE_DEBUG_TYPE.
+	(maybe_pad_type): Likewise.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Object_Operation): Handle properly a prefixed call
+	in an instance, when the generic parameters include an interface type
+	and a abstract operation of that type, and the actuals in the instance
+	include an interface type and a corresponding abstract operation of it,
+	with a different name than the corresponding generic subprogram
+	parameter.
+
+2018-07-17  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_eval.adb (Rewrite_In_Raise_CE): Keep the original reason in more
+	cases.
+
+2018-07-17  Arnaud Charlet  <charlet@adacore.com>
+
+	* checks.adb (Apply_Division_Check): Add provision for floating-point
+	checks.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Component_OK_For_Backend): If an array component of the
+	enclosing record has a bound that is out of range (and that has been
+	rewritten as a raise statement) the aggregate is not OK for any back
+	end, and should be expanded into individual assignments.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* atree.adb (Relocate_Node): Simplify with Is_Rewrite_Substitution.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.ads (Denotes_Same_Object): Likewise.
+	* sem_warn.adb (Warn_On_Overlapping_Actuals): Fix RM rule references.
+
+2018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_disp.adb (Make_Tags): When the type has user-defined primitives,
+	build the access type that is later used by Build_Get_Prim_Op_Address
+	as pointing to a subtype of Ada.Tags.Address_Array.
+
+2018-07-17  Patrick Bernardi  <bernardi@adacore.com>
+
+	* libgnat/s-memory__mingw.adb: Remove.
+	* Makefile.rtl: Remove s-memory.adb target pair from the Cygwin/Mingw32
+	section.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* frontend.adb (Frontend): The removal of ignored Ghost code must be
+	the last semantic operation performed on the tree.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* frontend.adb (Frontend): Update the call to Register_Config_Switches.
+	* inline.ads: Add new component Config_Switches to record
+	Pending_Body_Info which captures the configuration state of the pending
+	body.  Remove components Version, Version_Pragma, SPARK_Mode, and
+	SPARK_Mode_Pragma from record Pending_Body_Info because they are
+	already captured in component Config_Switches.
+	* opt.adb (Register_Opt_Config_Switches): Rename to
+	Register_Config_Switches.
+	(Restore_Opt_Config_Switches): Rename to Restore_Config_Switches.
+	(Save_Opt_Config_Switches): Rename to Save_Config_Switches. This
+	routine is now a function, and returns the saved configuration state as
+	an aggregate to avoid missing an attribute.
+	(Set_Opt_Config_Switches): Rename to Set_Config_Switches.
+	* opt.ads (Register_Opt_Config_Switches): Rename to
+	Register_Config_Switches.
+	(Restore_Opt_Config_Switches): Rename to Restore_Config_Switches.
+	(Save_Opt_Config_Switches): Rename to Save_Config_Switches. This
+	routine is now a function.
+	(Set_Opt_Config_Switches): Rename to Set_Config_Switches.
+	* par.adb (Par): Update the calls to configuration switch-related
+	subprograms.
+	* sem.adb (Semantics): Update the calls to configuration switch-related
+	subprograms.
+	* sem_ch10.adb (Analyze_Package_Body_Stub): Update the calls to
+	configuration switch-related subprograms.
+	(Analyze_Protected_Body_Stub): Update the calls to configuration
+	switch-related subprograms.
+	(Analyze_Subprogram_Body_Stub): Update calls to configuration
+	switch-related subprograms.
+	* sem_ch12.adb (Add_Pending_Instantiation): Update the capture of
+	pending instantiation attributes.
+	(Inline_Instance_Body): Update the capture of pending instantiation
+	attributes.  It is no longer needed to explicitly manipulate the SPARK
+	mode.
+	(Instantiate_Package_Body): Update the restoration of the context
 	attributes.
-	(Analyze_Task_Type_Declaration): Save certain elaboration-related
+	(Instantiate_Subprogram_Body): Update the restoration of context
+	attributes.
+	(Load_Parent_Of_Generic): Update the capture of pending instantiation
 	attributes.
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Save certain
-	elaboration-related attributes.
-	(Analyze_Generic_Subprogram_Declaration): Save the SPARK mode in
-	effect. Save certain elaboration-related attributes.
-	(Analyze_Package_Instantiation): Save certain elaboration-related
-	attributes.  Save the scenario for ABE processing. Create completing
-	bodies in case the instantiation results in a guaranteed ABE.
-	(Analyze_Subprogram_Instantiation): Save certain elaboration-related
-	attributes Save the scenario for ABE processing. Create a completing
-	body in case the instantiation results in a guaranteed ABE.
-	(Provide_Completing_Bodies): New routine.
-	* sem_elab.ads: Brand new implementation.
-	* sem_prag.adb (Analyze_Pragma, cases Elaborate, Elaborate_All,
-	Elaborate_Body): Do not suppress elaboration warnings.
-	* sem_res.adb (Make_Call_Into_Operator): Set the parent field of the
-	operator.
-	(Resolve_Call): Save certain elaboration-related attributes. Save the
-	scenario for ABE processing.
-	(Resolve_Entity_Name): Do not perform any ABE processing here.
-	(Resolve_Entry_Call): Inherit certain attributes from the original call.
-	* sem_util.adb (Begin_Keyword_Location): New routine.
-	(Defining_Entity): Update the parameter profile. Add processing for
-	concurrent subunits that are rewritten as null statements.
-	(End_Keyword_Location): New routine.
-	(Find_Enclosing_Scope): New routine.
-	(In_Instance_Visible_Part): Code cleanup.
-	(In_Subtree): Update the parameter profile. Add new version.
-	(Is_Preelaborable_Aggregate): New routine.
-	(Is_Preelaborable_Construct): New routine.
-	(Mark_Elaboration_Attributes): New routine.
-	(Scope_Within): Update the parameter profile.
-	(Scope_Within_Or_Same): Update the parameter profile.
-	* sem_util.ads (Begin_Keyword_Location): New routine.
-	(Defining_Entity): Update the parameter profile and the comment on
-	usage.
-	(End_Keyword_Location): New routine.
-	(Find_Enclosing_Scope): New routine.
-	(In_Instance_Visible_Part): Update the parameter profile.
-	(In_Subtree): Update the parameter profile. Add new version.
-	(Is_Preelaborable_Aggregate): New routine.
-	(Is_Preelaborable_Construct): New routine.
-	(Mark_Elaboration_Attributes): New routine.
-	(Scope_Within): Update the parameter profile and the comment on usage.
-	(Scope_Within_Or_Same): Update the parameter profile and the comment on
+	(Set_Instance_Env): Update the way relevant configuration attributes
+	are saved and restored.
+
+2018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
+	more rvalues in the expression of a renaming.
+
+2018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Define for
+	METHOD_TYPE too.
+	(TYPE_RETURN_UNCONSTRAINED_P): Likewise.
+	(TYPE_CI_CO_LIST): Likewise.
+	* gcc-interface/gigi.h (is_cplusplus_method): Delete.
+	(fntype_same_flags_p): Adjust comment.
+	* gcc-interface/decl.c (Has_Thiscall_Convention): Delete.
+	(gnat_to_gnu_entity) <E_Subprogram_Type>: Do not set the "thiscall"
+	attribute directly.
+	(is_cplusplus_method): Make static and adjust head comment.
+	(gnat_to_gnu_param): Return a pointer for the "this" parameter of
+	C++ constructors.
+	(gnat_to_gnu_subprog_type): Turn imported C++ constructors into their
+	callable form.  Generate a METHOD_TYPE node for imported C++ methods.
+	Set param_list at the very end of the processing.
+	(substitute_in_type) <METHOD_TYPE>: New case.
+	* gcc-interface/misc.c (gnat_print_type) <METHOD_TYPE>: Likewise.
+	(gnat_type_hash_eq): Accept METHOD_TYPE.
+	* gcc-interface/trans.c (Identifier_to_gnu): Deal with METHOD_TYPE.
+	(Attribute_to_gnu): Likewise.
+	(Call_to_gnu): Likewise.
+	(process_freeze_entity): Likewise.
+	* gcc-interface/utils.c (create_subprog_decl): Adjust head comment.
+	(fntype_same_flags_p): Likewise.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call): Remove extra parentheses.
+
+2018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_disp.adb (Gen_Parameters_Profile): Make the _Init parameter an
+	In/Out parameter.
+	(Set_CPP_Constructors): Adjust comment accordingly.
+
+2018-07-17  Bob Duff  <duff@adacore.com>
+
+	* exp_disp.adb (Build_Class_Wide_Check): Return early if the
+	precondition is supposed to be ignored.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Check_Untagged_Equality): Extend check to operations
+	declared in the same scope as the operand type, when that scope is a
+	procedure.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprograms): Do nothing if the expander is not
+	active.  Don't use Get_Actual_Subtype for record subtypes.  Ignore
+	rewritten identifiers and uplevel references to bounds of types that
+	come from the original type reference.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch13.adb, exp_ch7.adb, exp_unst.adb, freeze.adb,
+	libgnat/s-os_lib.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb,
+	sem_eval.adb, sem_res.adb, sem_util.adb: Minor reformatting.
+
+2018-07-17  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch13.adb (Expand_N_Freeze_Entity): Handle subtype declared for an
+	iterator.
+	* freeze.adb (Freeze_Expression): Handle freeze of an entity defined
+	outside of a subprogram body. This case was previously handled during
+	preanalysis; the frozen entities were remembered and left pending until
+	we continued freezeing entities outside of the subprogram. Now, when
+	climbing the parents chain to locate the correct placement for the
+	freezeing node, we check if the entity can be frozen and only when no
+	enclosing node is marked as Must_Not_Freeze the entity is frozen.
+	* sem_ch3.ads (Preanalyze_Default_Expression): Declaration moved to the
+	package body.
+	* sem_ch3.adb (Preanalyze_Default_Expression): Code adjusted to invoke
+	the new subprogram Preanalyze_With_Freezing_And_Resolve.
+	* sem_ch6.adb (Preanalyze_Formal_Expression): New subprogram.
+	(Analyze_Expression_Function, Process_Formals): Invoke
+	Preanalyze_Formal_Expression instead of Preanalyze_Spec_Expression
+	since the analysis of the formals may freeze entities.
+	(Analyze_Subprogram_Body_Helper): Skip building the body of the
+	class-wide clone for eliminated subprograms.
+	* sem_res.ads, sem_res.adb (Preanalyze_And_Resolve): New subprogram.
+	Its code is basically the previous version of this routine but extended
+	with an additional parameter which is used to specify if during
+	preanalysis we are allowed to freeze entities.  If the new parameter is
+	True then the subtree root node is marked as Must_Not_Freeze and no
+	entities are frozen during preanalysis.
+	(Preanalyze_And_Resolve): Invokes the internal version of
+	Preanalyze_And_Resolve without entity freezing.
+	(Preanalyze_With_Freezing_And_Resolve): Invokes the internal version of
+	Prenalyze_And_Resolve with freezing enabled.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.ads, libgnat/g-comlin.ads: Minor change "ie" to "i.e." in docs
+	and comments.
+
+2018-07-17  Justin Squirek  <squirek@adacore.com>
+
+	* libgnat/s-os_lib.adb (Argument_String_To_List): Fix trimming of
+	whitespace.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Has_Visible_State): Do not consider constants as
+	visible state because it is not possible to determine whether a
+	constant depends on variable input.
+	(Propagate_Part_Of): Add comment clarifying the behavior with respect
+	to constant.
+
+2018-07-17  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Do not issue warning about exception not
+	being propagated in GNATprove mode.
+
+2018-07-17  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+	* libgnat/g-socket.adb, libgnat/g-socket.ads: Reorganize and make
+	public components of Inet_Addr_Type. Introduce public binary
+	operations.
+
+2018-07-17  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch7.adb (Make_Transient_Block): When determining whether an
+	enclosing scope already handles the secondary stack, take into account
+	transient blocks nested in a block that do not manage the secondary
+	stack and are located within a loop.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Enclosing_Subprogram): Protected entries and task
+	entries must be treated separately: task entries are within the
+	enclosing subprogram of the task type, while protected entries are
+	transformed into the corresponding Protected_Body_Subprogram, which is
+	the enclosing_subprogram of any subprogram declared within the entry
+	body.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add missing
+	sections on -gnatH and -gnatJ compiler switches.
+	* gnat_ugn.texi: Regenerate.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* alloc.ads: Update the allocation metrics of the ignored Ghost nodes
+	table.
+	* atree.adb: Add a soft link for a procedure which is invoked whenever
+	an ignored Ghost node or entity is created.
+	(Change_Node): Preserve relevant attributes which come from the Flags
+	table.
+	(Mark_New_Ghost_Node): Record a newly created ignored Ghost node or
+	entity.
+	(Rewrite): Preserve relevant attributes which come from the Flags
+	table.
+	(Set_Ignored_Ghost_Recording_Proc): New routine.
+	* atree.ads: Define an access-to-suprogram type for a soft link which
+	records a newly created ignored Ghost node or entity.
+	(Set_Ignored_Ghost_Recording_Proc): New routine.
+	* ghost.adb: Remove with and use clause for Lib.  Remove table
+	Ignored_Ghost_Units.  Add new table Ignored_Ghost_Nodes.
+	(Add_Ignored_Ghost_Unit): Removed.
+	(Initialize): Initialize the table which stores ignored Ghost nodes.
+	Set the soft link which allows Atree.Mark_New_Ghost_Node to record an
+	ignored Ghost node.
+	(Is_Ignored_Ghost_Unit): Use the ultimate original node when checking
+	an eliminated ignored Ghost unit.
+	(Lock): Release and lock the table which stores ignored Ghost nodes.
+	(Mark_And_Set_Ghost_Assignment): Record rather than propagate ignored
+	Ghost nodes.
+	(Mark_And_Set_Ghost_Procedure_Call): Record rather than propagate
+	ignored Ghost nodes.
+	(Mark_Ghost_Clause): Record rather than propagate ignored Ghost nodes.
+	(Mark_Ghost_Declaration_Or_Body): Record rather than propagate ignored
+	Ghost nodes.
+	(Mark_Ghost_Pragma): Record rather than propagate ignored Ghost nodes.
+	(Propagate_Ignored_Ghost_Code): Removed.
+	(Record_Ignored_Ghost_Node): New routine.
+	(Remove_Ignored_Ghost_Code): Reimplemented.
+	(Remove_Ignored_Ghost_Node): New routine.
+	(Ultimate_Original_Node): New routine.
+	* ghost.ads (Check_Ghost_Completion): Removed.
+	* sem_ch8.adb (Analyze_Use_Package): Remove obsolete code. Mark a use
+	package clause as ignored Ghost if applicable.
+	* sem_util.adb (Is_Body_Or_Package_Declaration): Reimplemented.
+
+2018-07-17  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch5.adb (Has_Call_Using_Secondary_Stack): Moved to library level
+	to reuse it.
+	(Analyze_Loop_Statement): Wrap the loop in a block when the evaluation
+	of the loop iterator relies on the secondary stack.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Next_Actual): If the parent is a N_Null_Statement,
+	which happens for inlined calls, then fetch the next actual from the
+	original AST.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads: Update documentation for Scalar_Range.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref-spark_specific.adb (Create_Heap): Attach the HEAP entity to
+	the Standard package.
+
+2018-07-17  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.adb (Is_Wrapper_Package): Remove extra parentheses.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Enclosing_Subprogram): Handle properly entries, and
+	synchronized types that are completions of limited types or private
+	extensions.
+	(Scope_Within): Handle properly accept statements in task bodies.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Has_Visible_State): Do not consider generic formals
+	because they are not part of the visible state space. Add constants to
+	the list of acceptable visible states.
+	(Propagate_Part_Of): Do not consider generic formals when propagating
+	the Part_Of indicator.
+	* sem_util.adb (Entity_Of): Do not follow renaming chains which go
+	through a generic formal because they are not visible for SPARK
+	purposes.
+	* sem_util.ads (Entity_Of): Update the comment on usage.
+
+2018-07-17  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Gather_Components): A discriminant of an ancestor may
+	have been constrained by a later ancestor, so when looking for the
+	value of that hidden discriminant we must examine the stored constraint
+	of other ancestors than the immediate parent type.
+
+2018-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb (Build_Heap_Or_Pool_Allocator): Ensure that scoping
+	constructs and entities within receive new entities when replicating a
+	tree.
+	(Expand_N_Extended_Return_Statement): Ensure that scoping constructs
+	and entities within receive new entities when replicating a tree.
+	* sem_util.adb (New_Copy_Tree): Add new formal Scopes_In_EWA_OK.
+	(Visit_Entity): Visit entities within scoping constructs inside
+	expression with actions nodes when requested by the caller. Add blocks,
+	labels, and procedures to the list of entities which need replication.
+	* sem_util.ads (New_Copy_Tree): Add new formal Scopes_In_EWA_OK. Update
+	the comment on usage.
+
+2018-07-17  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_ugn/about_this_guide.rst,
+	doc/gnat_ugn/gnat_and_program_execution.rst: Remove references to gcov.
+	* gnat_ugn.texi: Regenerate.
+
+2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Contracts): Add specialized processing for
+	package instantiation contracts.
+	(Analyze_Package_Contract): Remove the verification of a missing
+	Part_Of indicator.
+	(Analyze_Package_Instantiation_Contract): New routine.
+	* contracts.ads (Analyze_Package_Contract): Update the comment on
 	usage.
-	* sem_warn.adb (Check_Infinite_Loop_Warning): Use Has_Condition_Actions
-	to determine whether a loop has meaningful condition actions.
-	(Has_Condition_Actions): New routine.
-	* sinfo.adb (ABE_Is_Certain): Removed.
-	(Is_Declaration_Level_Node): New routine.
-	(Is_Dispatching_Call): New routine.
-	(Is_Elaboration_Checks_OK_Node): New routine.
-	(Is_Initialization_Block): New routine.
-	(Is_Known_Guaranteed_ABE): New routine.
-	(Is_Recorded_Scenario): New routine.
-	(Is_Source_Call): New routine.
-	(Is_SPARK_Mode_On_Node): New routine.
-	(No_Elaboration_Check): Removed.
-	(Target): New routine.
-	(Was_Attribute_Reference): New routine.
-	(Set_ABE_Is_Certain): Removed.
-	(Set_Is_Declaration_Level_Node): New routine.
-	(Set_Is_Dispatching_Call): New routine.
-	(Set_Is_Elaboration_Checks_OK_Node): New routine.
-	(Set_Is_Initialization_Block): New routine.
-	(Set_Is_Known_Guaranteed_ABE): New routine.
-	(Set_Is_Recorded_Scenario): New routine.
-	(Set_Is_Source_Call): New routine.
-	(Set_Is_SPARK_Mode_On_Node): New routine.
-	(Set_No_Elaboration_Check): Removed.
-	(Set_Target): New routine.
-	(Set_Was_Attribute_Reference): New routine.
-	* sinfo.ads: Remove attribute ABE_Is_Certain.  Attribute
-	Do_Discriminant_Check now utilizes Flag3.  Attribute
-	No_Side_Effect_Removal now utilizes Flag17.  Add new node
-	N_Call_Marker.  Update the structure of various nodes.
-	(ABE_Is_Certain): Removed along with pragma Inline.
-	(Is_Declaration_Level_Node): New routine along with pragma Inline.
-	(Is_Dispatching_Call): New routine along with pragma Inline.
-	(Is_Elaboration_Checks_OK_Node): New routine along with pragma Inline.
-	(Is_Initialization_Block): New routine along with pragma Inline.
-	(Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
-	(Is_Recorded_Scenario): New routine along with pragma Inline.
-	(Is_Source_Call): New routine along with pragma Inline.
-	(Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
-	(No_Elaboration_Check): Removed along with pragma Inline.
-	(Target): New routine along with pragma Inline.
-	(Was_Attribute_Reference): New routine along with pragma Inline.
-	(Set_ABE_Is_Certain): Removed along with pragma Inline.
-	(Set_Is_Declaration_Level_Node): New routine along with pragma Inline.
-	(Set_Is_Dispatching_Call): New routine along with pragma Inline.
-	(Set_Is_Elaboration_Checks_OK_Node): New routine along with pragma
-	Inline.
-	(Set_Is_Initialization_Block): New routine along with pragma Inline.
-	(Set_Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
-	(Set_Is_Recorded_Scenario): New routine along with pragma Inline.
-	(Set_Is_Source_Call): New routine along with pragma Inline.
-	(Set_Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
-	(Set_No_Elaboration_Check): Removed along with pragma Inline.
-	(Set_Target): New routine along with pragma Inline.
-	(Set_Was_Attribute_Reference): New routine along with pragma Inline.
-	* sprint.adb (Sprint_Node_Actual): Add an entry for N_Call_Marker.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch7.adb (Create_Finalizer): Suppress checks within the finalizer.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* freeze.ads: Minor comment fixed.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Take
-	care of unchecked conversions in addition to regular conversions. This
-	takes care of a case where a type is derived from a private untagged
-	type that is completed by a tagged controlled type.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Build_Class_Wide_Check, Replace_Formals): When
-	rewriting a class-wide condition, handle properly the case where the
-	controlling argument of the operation to which the condition applies is
-	an access to a tagged type, and the condition includes a dispatching
-	call with an implicit dereference.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Remove
-	the code at the end of this procedure that was setting the type of a
-	class-wide object to the specific type returned by a function call.
-	Treat this case as indefinite instead.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Class_Wide_Operation, Traverse_Homonyms):
-	Suppress spurious ambiguity error when two traversals of the homonym
-	chain (first directly, and then through an examination of relevant
-	interfaces) retrieve the same operation, when other irrelevant homonyms
-	of the operatioh are also present.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Object_Access_Level): If the object is the return
-	statement of an expression function, return the level of the function.
-	This is relevant when the object involves an implicit conversion
-	between access types and the expression function is a completion, which
-	forces the analysis of the expression before rewriting it as a body, so
-	that freeze nodes can appear in the proper scope.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* atree.adb: Make nnd apply to everything "interesting", including
-	Rewrite.  Remove rrd.
-
-2017-10-09  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch3.adb (Expand_N_Object_Declaration): Avoid never-ending loop
-	processing the declaration of the dummy object internally created by
-	Make_DT to compute the offset to the top of components referencing
-	secondary dispatch tables.
-	(Initialize_Tag): Do not initialize the offset-to-top field if it has
-	been initialized initialized.
-	* exp_disp.ads (Building_Static_Secondary_DT): New subprogram.
-	* exp_disp.adb (Building_Static_Secondary_DT): New subprogram.
-	(Make_DT): Create a dummy constant object if we can statically build
-	secondary dispatch tables.
-	(Make_Secondary_DT): For statically allocated secondary dispatch tables
-	use the dummy object to compute the offset-to-top field value by means
-	of the attribute 'Position.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Add self-checking
-	code so if BIPAlloc is not passed in, it will likely raise
-	Program_Error instead of cause miscellaneous chaos.
-	(Is_Build_In_Place_Result_Type): Return False if not Expander_Active,
-	as for the other Is_B-I-P... functions.
-	* sem_aggr.adb (Resolve_Extension_Aggregate): For an extension
-	aggregate whose ancestor part is a build-in-place call returning a
-	nonlimited type, transform the assignment to the ancestor part to use a
-	temp.
-	* sem_ch3.adb (Build_Itype_Reference): Handle the case where we're
-	creating an Itype for a library unit entity.
-	(Check_Initialization): Avoid spurious error message on
-	internally-generated call.
-	* sem_ch5.adb (Analyze_Assignment): Handle the case where the
-	right-hand side is a build-in-place call. This didn't happen when b-i-p
-	was only for limited types.
-	* sem_ch6.adb (Create_Extra_Formals): Remove assumption that b-i-p
-	implies >= Ada 2005.
-	* sem_ch7.adb (Scan_Subprogram_Refs): Avoid traversing the same nodes
-	repeatedly.
-	* sem_util.adb (Next_Actual): Handle case of build-in-place call.
-
-2017-10-09  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Minor edit.
-
-2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* libgnarl/s-taprob.adb: Minor whitespace fix.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* namet.ads: Minor comment fix.
-
-2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_aux.adb (Unit_Declaration_Node): Detect protected declarations,
-	just like other program units listed in Ada RM 10.1(1).
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Update_Chain_In_Scope): Modify warning messages.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations, Check_Generic_Parent): If an
-	actual for a formal package is an instantiation of a child unit, create
-	a freeze node for the instance of the parent if it appears in the same
-	scope and is not frozen yet.
-
-2017-10-09  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_atag.ads, libgnat/a-tags.adb, libgnat/a-tags.ads: Enhance
-	in-source documentation for tagged types's Offset_To_Top.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb (Build_Assignment): Parameter name N was somewhat
-	confusing.  Same for N_Loc.  Remove assumption that b-i-p implies
-	limited.  This is for the case of a function call that occurs as the
-	default for a record component.
-	(Expand_N_Object_Declaration): Deal with the case where expansion has
-	created an object declaration initialized with something like
-	F(...)'Reference.
-	* exp_ch3.adb: Minor reformatting.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): The prefix of
-	the attribute is an object, but it may appear within a conversion. The
-	object itself must be retrieved when generating the range test that
-	implements the validity check on a scalar type.
-
-2017-10-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/82393
-	* mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete.
-	* sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin.
-
-2017-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-            Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	PR ada/82384
-	* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
-	(time_t): Change from derived type to subtype.
-	(timeval): Use suseconds_t for tv_usec.
-	* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.
-
-2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
-	handling the form (plus/mult (convert @0) @1).
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Replace with code more similar to
-	what we had before.
-	(Make_Build_In_Place_Call_In_Object_Declaration): Back out previous
-	change. Set the Etype in the class-wide case. This fixes a regression
-	in the libadalang test suite.
-
-2017-09-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/the_gnat_compilation_model.rst: Avoid use of single colon
-	in comment markup.
+	* sem_prag.adb (Check_Missing_Part_Of): Ensure that the entity of the
+	instance is being examined when trying to determine whether a package
+	instantiation needs a Part_Of indicator.
+
+2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb, exp_ch7.adb, exp_ch9.adb, exp_unst.adb, inline.adb,
+	sem.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_eval.adb,
+	sem_util.adb: Minor reformatting.
+
+2018-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* frontend.adb: Only unnest subprograms if no previous errors were
+	 detected.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch7.adb (Check_Unnesting_Elaboration_Code): Handle loops that
+	contain blocks in the elaboration code for a package body. Create the
+	elaboration subprogram wrapper only if there is a subprogram
+	declaration in a block or loop.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_Set_Membership): Use New_Copy_Tree to perform a
+	deep copy of the left operand when building each conjuct of the
+	expanded membership operation, to avoid sharing nodes between them.
+	This sharing interferes with the unnesting machinery and is generally
+	undesirable.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Handle 'Address references that are
+	calls.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Handle the semantic of Storage_Pool field
+	in relevant nodes: Allocate, Free, and return statements.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Package_Instantiation): Handle properly an
+	instance that carries an aspect Default_Storage_Pool that overrides a
+	default storage pool that applies to the generic unit. The aspect in
+	the generic unit was removed before copying it in the instance, rather
+	than removing it from the copy of the aspects that are appended to the
+	aspects in the instance.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.adb (Set_Is_Uplevel_Referenced_Entity): Flag can appear on
+	loop parameters.
+	* exp_ch7.adb (Check_Unnesting_Elaboration_Code): Handle subprogram
+	bodies.
+	* exp_ch9.adb (Reset_Scopes_To): Set the scopes of entities local to an
+	entry body to be the corresponding generated subprogram, for correct
+	analysis of uplevel references.
+	* exp_unst.adb (Visit_Node): Handle properly binary and unary operators
+	Ignore pragmas, fix component associations.
+	(Register_Subprograms): Subprograms in synchronized types must be
+	treated as reachable.
+
+2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Check_No_Hidden_State): Ignore internally-generated
+	states and variables.
+
+2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sinfo.ads, sinfo.adb (Withed_Body): Remove.
+	(Set_Withed_Body): Remove.
+
+2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem.adb (Walk_Library_Items): Skip units with configuration pragmas
+	when printing debug info.
+
+2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem.adb (Walk_Library_Items): Reuse local constant.
+	(Is_Subunit_Of_Main): Turn condition to positive and flip the
+	IF-THEN-ELSE branches; avoid potentially ineffective assignment to the
+	Lib variable.
+
+2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem.adb (Walk_Library_Items): Deconstruct dead code.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Op_Xor): Use common routine
+	Expand_Nonbinary_Modular_Op.  Needed for unnesting.
+
+2018-07-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Inherit_Predicate_Flags): A non-discrete type may have a
+	static predicate (for example True) but has no
+	static_discrete_predicate.
+
+2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb (Build_Record_VS_Func): Handle corner cases dealing with
+	class-wide types and record extensions.
+
+2018-07-16  Justin Squirek  <squirek@adacore.com>
+
+	* sem_eval.adb (Eval_Integer_Literal): Add exception for avoiding
+	checks on expanded literals within if and case expressions.
+
+2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* libgnat/s-wchwts.adb (Wide_String_To_String): Use the appropriate
+	longest sequence factor. Code clean up.
+	(Wide_Wide_String_To_String): Use the appropriate longest sequence
+	factor.  Code clean up.
+
+2018-07-16  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Report an error
+	on Bit_Order when defined for a record extension.
+
+2018-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnat/s-objrea.ads: Minor code clean up.
+
+2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_ch3.adb (Process_Discriminants): Adjust reference to the SPARM RM
+	rule.
+
+2018-07-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* adaint.c (__gnat_set_file_time_name): Code clean up.
+
+2018-07-16  Javier Miranda  <miranda@adacore.com>
+
+	* inline.adb (Build_Body_To_Inline): Minor code reorganization that
+	ensures that calls to function Has_Single_Return() pass a decorated
+	tree.
+	(Has_Single_Return.Check_Return): Peform checks on entities (instead on
+	relying on their characters).
+
+2018-07-16  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Code cleanup. Required
+	to avoid generating an ill-formed tree that confuses gnatprove causing
+	it to blowup.
+
+2018-07-16  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Has_Single_Return): Rewrap comment.
+
+2018-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads: Minor tweak in comment.
+
+2018-07-16  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch4.adb (Analyze_Membership_Op): Code cleanup.
+
+2018-07-16  Javier Miranda  <miranda@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference ['Count]): Do not
+	transform 'Count into a function call if the current scope has been
+	eliminated.
+
+2018-07-16  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Has_Prefix): Move this function to the
+	public part of this package.
+
+2018-07-16  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Do not inline calls inside
+	compiler-generated functions translated as predicates in GNATprove.
+
+2018-07-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Allocator): Test for Storage_Pool being RTE in
+	addition to the existing test for no Storage_Pool as a condition
+	enabling generation of the call to Check_Standard_Allocator when the
+	restriction No_Standard_Allocators_After_Elaboration is active.
+	* libgnat/s-elaall.ads (Check_Standard_Allocator): Correct comment to
+	say that Storage_Error will be raised (rather than Program_Error).
+	* libgnat/s-elaall.adb (Check_Standard_Allocator): Raise Storage_Error
+	rather than Program_Error when Elaboration_In_Progress is False.
+
+2018-07-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_eval.adb: Fix spelling for compile-time-known.
+
+2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Known_Value): Add a guard which prevents
+	the compiler from entering infinite recursion when trying to determine
+	whether a deferred constant has a compile time known value, and the
+	initialization expression of the constant is a reference to the
+	constant itself.
+
+2018-07-16  Nicolas Roche  <roche@adacore.com>
+
+	* libgnat/a-strunb.adb, libgnat/a-strunb__shared.adb: Adjust growth
+	factor from 1/32 to 1/2 for Unbounded_String.
+
+2018-07-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/lang.opt (funsigned-char): New option.
+	* gcc-interface/misc.c (gnat_handle_option): Accept it.
+	* gcc-interface/utils.c (finish_character_type): Tweak comment.
+
+2018-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Add GNAT_DECL local
+	variable and use it throughout.
+	<E_Variable>: If the nominal subtype of the object is unconstrained,
+	compute the Ada size separately and put in on the padding type if the
+	size is not fixed.
+	<E_Record_Type>: Minor tweak.
+	* gcc-interface/misc.c (gnat_type_max_size): Rename max_size_unit
+	into max_size_unit throughout.
+
+2018-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (add_decl_expr): Adjust prototype.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Remove useless test.
+	* gcc-interface/trans.c (add_stmt_with_node): Remove exceptions.
+	(add_decl_expr): Change type of second parameter and rename it.
+	(renaming_from_instantiation_p): New function moved from...
+	(set_expr_location_from_node): Test for exceptions here and add one
+	for actual subtypes built for unconstrained composite actuals.
+	* gcc-interface/utils.c (renaming_from_instantiation_p): ...here.
+
+2018-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (lvalue_required_p): Remove ALIASED parameter
+	and adjust recursive calls.
+	(Identifier_to_gnu): Adjust calls to lvalue_required_p.
+	(gnat_to_gnu): Likewise.
+
+2018-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_param): Minor tweak.
+	(gnat_to_gnu_subprog_type): New pure_flag local variable.  Set it for
+	a pure Ada function with a by-ref In parameter.  Propagate it onto the
+	function type by means of the TYPE_QUAL_RESTRICT flag.
+	* gcc-interface/utils.c (finish_subprog_decl): Set DECL_PURE_P if the
+	function type has the TYPE_QUAL_RESTRICT flag set.
+
+2018-07-06  Jim Wilson  <jimw@sifive.com>
+
+	* Makefile.rtl: Add riscv*-linux* support.
+	* libgnarl/s-linux__riscv.ads: New.
+	* libgnat/system-linux-riscv.ads: New.
+
+	* Make-generated.in (treeprs.ads): Use $(GNATMAKE) instead of gnatmake.
+	(einfo.h, sinfo.h, stamp-snames, stamp-nmake): Likewise.
+	* gcc-interface/Makefile.in (xoscons): Likewise.
+
+2018-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* libgnat/system-rtems.ads (Frontend_Exceptions): Set to False.
+	(ZCX_By_Default): Set to True.
+
+2018-07-02  Martin Liska  <mliska@suse.cz>
+
+	* gnatvsn.ads: Bump Library_Version to 9.
+
+2018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from
+	using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0.
+	(TYPE_ALIGN_OK): Move around.
+	(TYPE_PADDING_FOR_COMPONENT): Remove superfluous parentheses.
+	* gcc-interface/decl.c (change_qualified_type): Move to...
+	(gnat_to_gnu_entity): Adjust comment.
+	* gcc-interface/gigi.h (change_qualified_type): ...here; make inline.
+	(ceil_pow2): Use ceil_log2.
+	* gcc-interface/utils.c (finish_subprog_decl): Add couple of comments
+	and do not set TREE_SIDE_EFFECTS.
+	(handle_noreturn_attribute): Use change_qualified_type.
+
+2018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Do not get
+	the expression of a dispatch table that is not being defined.
+	<E_Record_Subtype>: Remove obsolete kludge.
+
+2018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (warn_on_field_placement): Use specific wording
+	for discriminants.
+	(warn_on_list_placement): New static function.
+	(components_to_record): Use it to warn on multiple fields in list.
+
+2018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (variant_desc): Add AUX field.
+	(gnat_to_gnu_entity) <discrete_type>: Do not call compute_record_mode
+	directly.
+	(reverse_sort_field_list): New static function.
+	(components_to_record): Place the variant part at the beginning of the
+	field list when there is an obvious order of increasing position.
+	(build_variant_list): Initialize it.
+	(create_variant_part_from): Do not call compute_record_mode directly.
+	(copy_and_substitute_in_layout): Likewise.  Always sort the fields with
+	fixed position in order of increasing position, in the record and all
+	the variants, in any.  Call reverse_sort_field_list.
+	* gcc-interface/utils.c (make_packable_type): Compute the sizes before
+	calling finish_record_type.  Do not call compute_record_mode directly.
+	(finish_record_type): Overhaul final processing depending on REP_LEVEL
+	and call finish_bitfield_layout if it is equal to one or two.
+
+2018-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Reuse the
+	existing fields of a dummy fat pointer type, if any.  Clear the
+	TYPE_DECL_SUPPRESS_DEBUG on the fat pointer type after completing it.
+
+2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Process_Body_Postconditions): Expand only checked
+	postconditions.
+	(Process_Contract_Cases_For): Expand only checked contract cases.
+	(Process_Inherited_Preconditions): Ignored class-wide preconditions are
+	partially expanded because some of their semantic checks are tied to
+	the expansion.
+	(Process_Preconditions_For): Expand only checked preconditions.
+	(Process_Spec_Postconditions): Expand only checked preconditions.
+	Ignored class-wide preconditions are partially expanded because some of
+	their semantic checks are tied to the expansion.
+	* exp_prag.adb (Expand_N_Pragma): Suppress the expansion of ignored
+	assertion pragmas.
+	* exp_util.adb (Add_Inherited_Invariants): Code clean up.
+	* sem_util.adb (Propagate_Invariant_Attributes): Code clean up.
+
+2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb, exp_unst.adb, inline.adb, libgnat/a-ciorma.adb,
+	libgnat/a-ciormu.adb, libgnat/a-ciorse.adb, libgnat/a-coorma.adb,
+	libgnat/a-coormu.adb, libgnat/a-coorse.adb, sem_prag.adb: Minor
+	reformatting.
+
+2018-06-11  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_unst.ads, exp_unst.adb: Typo fixes and minor reformatting.
+
+2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): Do
+	not add any actuals when the size of the object is known, and the
+	caller will allocate it.
+	(Build_Heap_Allocator): Rename to Build_Heap_Or_Pool_Allocator to
+	better illustrate its functionality. Update the comment on the
+	generated code.  Generate a branch for the heap and pool cases where
+	the object is not necessarity controlled.
+	(Expand_N_Extended_Return_Statement): Expand the extended return
+	statement into four branches depending the requested mode if the caller
+	will not allocate the object on its side.
+	(Make_Build_In_Place_Call_In_Allocator): Do not allocate a controlled
+	object on the caller side because this will violate the semantics of
+	finalizable types. Instead notify the function to allocate the object
+	on the heap or a user-defined storage pool.
+	(Needs_BIP_Alloc_Form): A build-in-place function needs to be notified
+	which of the four modes to employ when returning a limited controlled
+	result.
+	* exp_util.adb (Build_Allocate_Deallocate_Proc): Remove a redundant
+	guard which is already covered in Needs_Finalization.
+
+2018-06-11  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-excmac*.ads: Factorize Unwind_Action definitions ...
+	* libgnat/a-exexpr.adb: ... Here, then add comments describing the
+	major datastructures associated with the current exception raised.
+	(Setup_Current_Excep): Accept a "Phase" argument conveying the
+	unwinding phase during which this subprogram is called.  For an Ada
+	exception, don't update the current exception buffer from the raised
+	exception object during SEARCH_PHASE, as this is redundant with the
+	call now issued just before propagation starts.
+	(Propagate_GCC_Exception): Move call to Setup_Current_Excep ahead of
+	the unwinding start, conveying Phase 0.
+	(Unhandled_Except_Handler): Pass UA_CLEANUP_PHASE as the Phase value on
+	the call to Setup_Current_Excep.
+	* raise-gcc.c (personality_body): Pass uw_phases as the Phase argument
+	on calls to Setup_Current_Excep.
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.ads, exp_unst.adb (Needs_Fat_Pointer,
+	Build_Access_Type_Decl): New subprograms to handle uplevel references
+	to formals of an unconstrained array type. The activation record
+	component for these is an access type, and the reference is rewritten
+	as an explicit derefenrence of that component.
+
+2018-06-11  Bob Duff  <duff@adacore.com>
+
+	* libgnat/a-ciorma.adb, libgnat/a-ciormu.adb, libgnat/a-ciorse.adb,
+	libgnat/a-coorma.adb, libgnat/a-coormu.adb, libgnat/a-coorse.adb:
+	(Element): Add code to detect dangling cursors in some cases.
+
+2018-06-11  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Build_Subprogram_Declaration): Mark parameters as coming
+	from source.
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Functions): For a derived type, ensure
+	that its parent is already frozen so that its predicate function, if
+	any, has already been constructed.
+
+2018-06-11  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Adapt for
+	possible task unit as the enclosing context.
+
+2018-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnat1drv.adb: Remove use clause for Repinfo.
+	(Gnat1drv): Beef up comment about the interplay between -gnatc and
+	back-end annotations.  Use full qualified name for List_Rep_Info.
+
+2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* libgnat/g-arrspl.ads: Add pragma Preelaborate.
+
+2018-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_Record_Equality): Remove extraneous "True and
+	then" and general logical "ada" in codepeer mode.
+
+2018-06-11  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Body): Add missing handling of
+	N_Call_Marker nodes.
+
+2018-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch3.adb, exp_unst.adb, inline.adb, sem_prag.adb: Minor
+	reformatting.
+
+2018-06-11  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_pragmas.rst: Add Suppressible
+	argument to Assertion_Policy
+	* gnat_rm.texi: Regenerate.
+
+2018-06-11  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb: Do not check representation information in CodePeer and
+	GNATprove modes, as these modes call a special backend instead of gigi,
+	so do not have the information.
+
+2018-06-11  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Build_Body_To_Inline): Consider case of extended return
+	of unconstrained type as one case where inlining is not supported.
+	(Expand_Inlined_Call): Remove special case for body as extended return
+	of unconstrained type.
+
+2018-06-11  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Part_Of): Only allow Part_Of on non-generic
+	unit.
+	(Check_Missing_Part_Of): Do not force Part_Of on generic unit.
+
+2018-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications): Don't split AND THEN
+	expressions in Pre/Post contracts while in GNATprove_Mode.
+
+2018-06-11  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Is_Potentially_Unevaluated): Fix detection of contracts
+	with AND THEN expressions broken down into individual conjuncts.
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch7.adb (Check_Unnesting_Elaboration_Code): Add guard.
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Skip generic associations.
+
+2018-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnat/memtrack.adb (fwrite): Remove second definition.
+
+2018-06-11  Javier Miranda  <miranda@adacore.com>
+
+	* sinfo.ads (Is_Dynamic_Coextension): Adding documentation.
+	(Is_Static_Coextension): Adding documentation.
+	* sinfo.adb (Is_Dynamic_Coextension): Extending the assertion.
+	(Is_Static_Coextension): Extending the assertion.
+	* sem_util.adb (Mark_Allocator): Clear Is_Static_Coextension when
+	setting flag Is_Dynamic_Coextension (and vice versa).
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Search_Subprograms): Handle explicitly stubs at the top
+	level of a compilation unit, becuase they may contain nested
+	subprograms that need an activation record.
+
+2018-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* Makefile.rtl: Compile Ada files with $(ADAC) instead of $(CC).
+
+2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch11.adb, exp_unst.adb, inline.adb, sem_ch12.adb, sem_util.adb:
+	Minor reformatting.
+	* sinfo.ads: Fix a typo.
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call): If no optimization level is
+	specified, the expansion of a call to an Inline_Always function is
+	fully performed in the front-end even on a target that support back-end
+	inlining.
+
+2018-06-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* bindgen.adb (Gen_Adainit): Protect reference to System.Parameters
+	with Sec_Stack_Used.
+
+2018-06-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch8.adb (Find_Direct_Name): Mode the declaration of
+	Is_Assignment_LHS further in. Use predicate
+	Needs_Variable_Reference_Marker to determine whether to create a
+	variable marker.
+	(Find_Expanded_Name): Mode the declaration of Is_Assignment_LHS further
+	in.  Use predicate Needs_Variable_Reference_Marker to determine whether
+	to create a variable marker.
+	* sem_elab.adb (Build_Variable_Reference_Marker): Remove the various
+	checks that determine whether the identifier or expanded name is a
+	suitable variable reference.  The checks are now performed by
+	Needs_Variable_Reference_Marker.
+	* sem_res.adb (Resolve_Actuals): Use predicate
+	Needs_Variable_Reference_Marker to determine whether to create a
+	variable marker.
+	* sem_util.adb (Needs_Variable_Reference_Marker): New routine.
+	* sem_util.ads (Needs_Variable_Reference_Marker): New routine.
+
+2018-06-11  Valentine Reboul  <reboul@adacore.com>
+
+	* doc/gnat_rm.rst, doc/gnat_ugn.rst: Rename "GPL Edition" into
+	"Community Edition".
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Install_Body): In order to determine the placement of
+	the freeze node for an instance of a generic nested within another
+	instance, take into account that the outer instance may be declared in
+	the visible part of a package and the inner intance may be in the
+	private part of the same package.
+
+2018-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* errout.adb (Special_Msg_Delete): Remove handling of Atomic and VFA.
+
+2018-06-11  Nicolas Roche  <roche@adacore.com>
+
+	* libgnat/s-valuti.adb (Bad_Value): Ensure that we do not generate a
+	stack overflow while raising a constraint error.
+
+2018-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.ads (Rep_Value): Use a single line.
+	* repinfo.adb (Rep_Value): Likewise.
+	(List_Attr): Do not use string concatenation.
+
+2018-06-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Check reference to formal parameter of
+	current procedure, because the bounds of its type may be uplevel
+	references.
+
+2018-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: If this is
+	not a definition, retrieve the expression only if it's a compile-time
+	known value if we are just annotating types.
+
+	* gcc-interface/utils.c (convert): Do not try to upcast properly for a
+	conversion between tagged types in type_annotate_only mode.
+
+2018-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/ada-tree.h (TYPE_PADDING_FOR_COMPONENT): New macro.
+	* gcc-interface/decl.c (gnat_to_gnu_component_type): Cache the padding
+	type built for an aliased component with variable size.
+
+2018-05-31  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* doc/gnat_ugn/project-manager-figure.png: Delete.
+
+2018-05-31  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* vxworks-arm-link.spec, vxworks-e500-link.spec,
+	vxworks-gnat-crtbe-link.spec, vxworks-smp-arm-link.spec,
+	vxworks-smp-e500-link.spec, vxworks-smp-ppc-link.spec,
+	vxworks-smp-x86-link.spec: New files.
+
+2018-05-31  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gnatvsn.adb: Re-center the copyright header.
+	* indepsw-darwin.adb: Adjust the starting copyright year to 2011.
+
+2018-05-31  Fedor Rybin  <frybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Document Stubs_Subdir in
+	gnattest section on user guide.
+
+2018-05-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_String_Literal): If the type is a string type
+	whose component subtype has a static predicate, ensure that the
+	predicate is applied to each character by expanding the string into the
+	equivalent aggregate. This is also done if the component subtype is
+	constrained.
+
+2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Call_to_gnu): Remove obsolete code.
+
+2018-05-31  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_ch6.adb (Check_Missing_Return): Handle procedures with no
+	explicit spec.
+
+2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Call_to_gnu): In the by-reference case, if
+	the type of the parameter is an unconstrained array type, convert
+	to the type of the actual before the type of the formal only if the
+	conversion was suppressed earlier.  Use in_param and gnu_actual_type
+	local variables throughout, and uniform spelling for In Out or Out.
+	Also remove dead code in the component-by-reference case.
+
+2018-05-31  Frederic Konrad  <konrad@adacore.com>
+
+	* tracebak.c (STOP_FRAME): Harden condition.
+	(is_return_from, EXTRA_STOP_CONDITION): New helpers for VxWorks in RTP
+	mode.
+
+2018-05-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Discriminant_Check): Do not apply discriminant
+	check to a call to a build-in-place function, given that the return
+	object is limited and cannot be copied.
+
+2018-05-31  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-atopri.ads: Update comment on __atomic_compare_exchange
+	builtins.
+
+2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Call_to_gnu): If this is a function call and
+	there is no target, also create a temporary for the return value for
+	an allocator if the type is an unconstrained record type with default
+	discriminant.
+
+2018-05-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Find_Transient_Context): An iteration scheme is a valid
+	boudary for a transient scope.
+
+2018-05-31  Valentine Reboul  <reboul@adacore.com>
+
+	* gnatvsn.ads: Rename "GPL" version to "Community".
+
+2018-05-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads: Improve documentation for the Is_Unsigned_Type entity
+	flag.
+
+2018-05-31  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Replace call to Unique_Defining_Entity
+	with a semantically equivalent call to Defining_Entity.
+
+2018-05-31  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Set Etype on the rewritten
+	Max_Queue_Length expression.
+
+2018-05-31  Sergey Rybin  <rybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: gnatelim does not need
+	that the main unit to be built before the call, now it computes the
+	closure of the main unit itself.
 	* gnat_ugn.texi: Regenerate.
 
-2017-09-29  Justin Squirek  <squirek@adacore.com>
-
-	* ali-util.adb, comperr.adb, cprint.adb, errout.adb, fmap.adb,
-	fname-sf.adb, frontend.adb, lib-xref-spark_specific.adb, gnat1drv.adb,
-	gnatls.adb, lib.adb, lib-load.adb, lib-writ.adb, prepcomp.adb,
-	sinput-d.adb, sinput-l.adb, sprint.adb, targparm.adb: Update comparison
-	for checking source file status and error message and/or call to
-	Read_Source_File.
-	* libgnat/s-os_lib.ads: Add new potential value constant for
-	uninitialized file descriptors.
-	* osint.adb, osint.ads (Read_Source_File): Add extra parameter to
-	return result of IO to encompass a read access failure in addition to a
-	file-not-found error.
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place
-	functions returning nonlimited types. Allow for qualified expressions
-	and type conversions.
-	(Expand_N_Extended_Return_Statement): Correct the computation of
-	Func_Bod to allow for child units.
-	(Expand_Simple_Function_Return): Remove assumption that b-i-p implies
-	limited (initialization of In_Place_Expansion), and implies >= Ada
-	2005.
-	(Is_Build_In_Place_Result_Type): New function to accompany
-	Is_Build_In_Place_Function and Is_Build_In_Place_Function_Call, because
-	sometimes we just have the type on our hands, not the function.  For
-	now, does the same thing as the old version, so build-in-place is
-	disabled for nonlimited types, except that you can use -gnatd.9 to
-	enable it.
-	* exp_ch6.ads (Is_Build_In_Place_Result_Type): New function to
-	accompany Is_Build_In_Place_Function and
-	Is_Build_In_Place_Function_Call, because sometimes we just have the
-	type on our hands, not the function.
-	(Make_Build_In_Place_Call_In_...): Handle nonlimited build-in-place
-	cases.
-	(Make_Build_In_Place_Call_In_Object_Declaration): Remove the
-	questionable code at the end that was setting the Etype.
-	* exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): New function to
-	determine whether "return (...agg...);" is returning from a
-	build-in-place function.
-	(Initialize_Ctrl_Array_Component, Initialize_Ctrl_Record_Component):
-	Remove assumption that b-i-p implies limited (initialization of
-	In_Place_Expansion).
-	(Build_Record_Aggr_Code): AI-287: fix comment; it can't be wrapped in
-	an unchecked conversion.  Add assertions.
-	(Convert_Aggr_In_Object_Decl): Establish_Transient_Scope -- no need for
-	secondary stack here, just because the type needs finalization.  That
-	code is obsolete.
-	(Convert_To_Assignments): Only set Unc_Decl if Nkind (N) = N_Aggregate.
-	For "return (...agg...);" don't assume b-i-p implies limited.
-	Needs_Finalization does not imply secondary stack.
-	(Expand_Array_Aggregate): Named notation.  Reverse the sense of
-	Component_OK_For_Backend -- more readability with fewer double
-	negatives.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Remove assumptions that
-	b-i-p implies >= Ada 2005.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Remove assumptions that
-	b-i-p implies >= Ada 2005.  Remove Adjust if we're building the return
-	object of an extended return statement in place.
-	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Indexed_Component,
-	Expand_N_Selected_Component, Expand_N_Slice): Remove assumptions that
-	b-i-p implies >= Ada 2005.
-	* exp_ch5.adb (Expand_N_Assignment_Statement): Remove assumption that
-	b-i-p implies >= Ada 2005.
-	* exp_ch7.adb: Comment fix.
-	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Remove
-	assumptions that b-i-p implies >= Ada 2005.
-	* exp_disp.adb (Expand_Interface_Actuals): Remove assumptions that
-	b-i-p implies >= Ada 2005.
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): Look at Storage_Pool
-	(Expr), in case Pool_Id is not set.
-	(Initialized_By_Aliased_BIP_Func_Call): Handle case where the call is
-	qualified or converted.
-	(Is_Secondary_Stack_BIP_Func_Call): Don't check if Nkind (Selector_Name
-	(Param)) = N_Identifier; that's all it could be.
-	* sinfo.ads: Comment fixes.
-	* snames.ads-tmpl: Comment fixes.
-	* debug.adb: Add flag gnatd.9, to enable the build-in-place machinery.
-
-2017-09-29  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Mark_Use_Clauses): Add recursive call to properly handle
-	all cases related to marking entity identifiers.
-
-2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* adaint.c (win32_wait): Properly handle error and take into account
-	the WIN32 limitation on the number of simultaneous wait objects.
-
-2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* cal.c: Minor proofreading.
-
-2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Minor formatting fix.
-	* gnat_ugn.texi: Regenerate.
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* lib-xref.ads: Comment fix.
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* exp_aggr.adb: Remove calls to Set_No_Ctrl_Actions for discriminants.
-	Discriminants can't need finalization.
-
-2017-09-29  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Do not emit freeze nodes
-	for types in expression if the function is within a generic unit.
-	* sem_res.adb (Resolve): In a generic context do not freeze an
-	expression, unless it is an entity. This exception is solely for the
-	purpose of detecting illegal uses of deferred constants in generic
-	units.
-	* sem_res.adb: Minor reformatting.
-
-2017-09-29  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Note_Redundant_Use): Add guard to protect against false
-	redundant warnings.
-
-2017-09-29  Yannick Moy  <moy@adacore.com>
-
-	* sinput-c.adb: Remove unused with-clause on Ada.Unchecked_Conversion.
-
-2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Minor rewording.
-	* doc/gnat_rm/implementation_defined_pragmas.rst (Optimize_Alignment):
-	Document the effect of pragma Optimize_Alignment (Space) on non-packed
-	record types.
+2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Structural_Record_Layout): Set First to false
+	after having listed the fields of the parent type, if any.
+
+2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
+	deal with the ___XP suffix for packed array types here...
+	<E_Array_Subtype>: ...or here when processing the implementation type
+	but when processing the original type instead.  Do not reuse the DECL
+	of the implementation type for the original type.  Tidy up.
+
+2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads (Object_Size_Clause): Declare.
+	* einfo.adb (Object_Size_Clause): New function.
+	* gcc-interface/utils.c (maybe_pad_type): Test Has_Size_Clause before
+	retrieving Size_Clause and post the warning on the object size clause
+	if Has_Object_Size_Clause is true.
+
+2018-05-31  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Find_Primitive_Eq): New subprogram.
+	* exp_ch4.adb (Expand_Composite_Equality): Use the new subprogram
+	Find_Primitive_Eq to search for the primitive of types whose underlying
+	type is a tagged type.
+
+2018-05-31  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma.Check_Loop_Pragma_Placement): Inverse
+	order of treatment between nodes recognized as loop pragmas (or
+	generated from one) and block statements.
+
+2018-05-31  Doug Rupp  <rupp@adacore.com>
+
+	* libgnat/s-osprim__posix2008.adb (Clock): Implement using
+	clock_gettime.
+
+2018-05-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.ads, exp_unst.adb (In_Synchronized_Unit): New predicate to
+	mark subprograms that cannot be eliminated because they must be treated
+	as reachable from outside the current unit. This includes entry bodies
+	and protected operations.
+
+2018-05-31  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_Modular_Addition, Expand_Modular_Subtraction):
+	Convert all operands of the generated code to Standard.Unsigned, to
+	prevent spurious visibility errors. This is needed when the generated
+	expansion involves a modular index type of an array type, and the index
+	type is not immediately visible.
+
+2018-05-30  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.ads (Package_Instantiation): Update comment after a routine
+	that uses this field has been renamed.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch11.adb (Replace_Raise_By_Goto): The transfomation is legal even
+	if the local raise statement includes a string expression. This
+	expression might be picked up by an outer handler or discarded, but
+	plays no role in this transformation.
+
+2018-05-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb, exp_unst.adb, freeze.adb, libgnat/a-direct.adb: Minor
+	reformatting.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Handle the semantic Procedure_To_Call
+	field in relevant nodes: Allocate, Free, and return statements.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Do not traverse a Component_Association
+	that has not been analyzed, as will be the case for a nested aggregate
+	that is expanded into individual assignments.
+
+2018-05-30  Justin Squirek  <squirek@adacore.com>
+
+	* aspects.adb, aspects.ads: Register new aspect.
+	* par-prag.adb (Prag): Register new pragma.
+	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for new
+	aspect similar to Aspect_Max_Queue_Length.
+	* sem_prag.adb, sem_prag.ads (Analyze_Pragma): Register new pragma and
+	set it to use the same processing as Pragma_Max_Queue_Length.
+	* snames.ads-tmpl: Move definition of Name_Max_Entry_Queue_Depth so
+	that it can be processed as a pragma in addition to a restriction and
+	add an entry for the pragma itself.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Object_Declaration): A pragma Thread_Local_Storage
+	is now legal on a variable of composite type initialized with an
+	aggregate that is fully static and requires no elaboration code.
+	* exp_aggr.adb (Convert_To_Positional): Recognize additional cases of
+	nested aggregates that are compile-time static, so they can be used to
+	initialize variables declared with Threqd_Local_Storage.
+	* doc/gnat_rm/implementation_defined_pragmas.rst: Add documentation on
+	Thread_Local_Storage.
 	* gnat_rm.texi: Regenerate.
 
-2017-09-25  Justin Squirek  <squirek@adacore.com>
-
-	* aspects.adb, bindgen.adb, clean.adb, erroutc.adb, exp_ch13.adb,
-	exp_dbug.adb, exp_unst.adb, exp_util.adb, frontend.adb, gnat1drv.adb,
-	gnatdll.adb, gnatlink.adb, gnatls.adb, gnatname.adb, gnatxref.adb,
-	gnatfind.adb, libgnat/a-cfhama.ads, libgnat/a-exetim__mingw.adb,
-	libgnat/a-strmap.adb, libgnat/a-teioed.adb, libgnat/g-alvety.ads,
-	libgnat/g-expect.adb, libgnat/g-regist.adb, libgnat/g-socket.adb,
-	libgnat/g-socthi__mingw.ads, libgnat/s-stausa.adb,
-	libgnat/s-tsmona__linux.adb, libgnat/s-tsmona__mingw.adb,
-	libgnarl/s-taenca.adb, libgnarl/s-tassta.adb, libgnarl/s-tarest.adb,
-	libgnarl/s-tpobop.adb, make.adb, makeusg.adb, namet.adb, output.ads,
-	put_scos.adb, repinfo.adb, rtsfind.adb, scn.ads, sem_attr.adb,
-	sem_aux.ads, sem_warn.ads, targparm.adb, xr_tabls.adb, xref_lib.adb:
-	Removal of ineffective use-clauses.
-	* exp_ch9.adb (Is_Simple_Barrier_Name): Check for false positives with
-	constant folded barriers.
-	* ghost.adb, sprint.adb, sem_ch10.adb, sem_warn.adb: Change access to
-	Subtype_Marks and Names list in use-clause nodes to their new singular
-	counterparts (e.g. Subtype_Mark, Name).
-	* par.adb, par-ch8.adb (Append_Use_Clause): Created to set
-	Prev_Ids and More_Ids in use-clause nodes.
-	(P_Use_Clause): Modify to take a list as a parameter.
-	(P_Use_Package_Clause, P_Use_Type_Clause): Divide names and
-	subtype_marks within an aggregate use-clauses into individual clauses.
-	* par-ch3.adb, par-ch10.adb, par-ch12.adb: Trivally modify call to
-	P_Use_Clause to match its new behavior.
-	* sem.adb (Analyze): Mark use clauses for non-overloaded entities.
-	* sem_ch4.adb (Try_One_Interp): Add sanity check to handle previous
-	errors.
-	* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
-	Analyze_Subprogram_Body_Helper): Update use clause chain at the end of
-	the declarative region.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Update use clause chain
-	after analysis (Analyze_Package_Specification): Update use clause chain
-	when there is no body.
-	* sem_ch8.ads, sem_ch8.adb (Analyze_Use_Package, Analyze_Use_Type): Add
-	parameter to determine weither the installation of scopes should also
-	propagate on the use-clause "chain".
-	(Mark_Use_Clauses): Created to traverse use-clause chains and determine
-	what constitutes a valid "use" of a clause.
-	(Update_Use_Clause_Chain): Created to aggregate common machinary used
-	to clean up use-clause chains (and warn on ineffectiveness) at the end
-	of declaritive regions.
-	* sem_ch8.adb (Analyze_Package_Name): Created to perform analysis on a
-	package name from a use-package clause.
-	(Analyze_Package_Name_List): Created to perform analysis on a list of
-	package names (similar to Analyze_Package_Name).
-	(Find_Most_Prev): Created to traverse to the beginning of a given
-	use-clause chain.
-	(Most_Decendant_Use_Clause): Create to identify which clause from a
-	given set is highest in scope (not always the most prev).
-	(Use_One_Package, Use_One_Type): Major cleanup and reorganization to
-	handle the new chaining algorithm, also many changes related to
-	redundant clauses. A new parameter has also been added to force
-	installation to handle certain cases.
-	* sem_ch9.adb (Analyze_Entry_Body, Analyze_Protected_Body,
-	Analyze_Task_Body): Mark use clauses on relevant entities.
-	* sem_ch10.adb, sem_ch10.ads (Install_Context_Clauses,
-	Install_Parents): Add parameter to determine weither the installation
-	of scopes should also propagate on the use-clause "chain".
-	* sem_ch12.adb (Inline_Instance_Body): Add flag in call to
-	Install_Context to avoid redundant chaining of use-clauses.
-	* sem_ch13.adb: Minor reformatting.
-	* sem_res.adb (Resolve): Mark use clauses on operators.
-	(Resolve_Call, Resolve_Entity_Name): Mark use clauses on relevant
-	entities.
-	* sinfo.adb, sinfo.ads (Is_Effective_Use_Clause,
-	Set_Is_Effective_Use_Clause): Add new flag to N_Use_Clause nodes to
-	represent any given clause's usage/reference/necessity.
-	(Prev_Use_Clause, Set_Prev_Use_Clause): Add new field to N_Use_Clause
-	nodes to allow loose chaining of redundant clauses.
-	(Set_Used_Operations, Set_Subtype_Mark, Set_Prev_Ids, Set_Names,
-	Set_More_Ids, Set_Name): Modify set procedure calls to reflect
-	reorganization in node fields.
-	* types.ads (Source_File_Index): Adjust index bounds.
-	(No_Access_To_Source_File): New constant.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_One_Aspect): In ASIS mode make a full copy of
-	the expression to be used in the generated attribute specification
-	(rather than relocating it) to avoid resolving a potentially malformed
-	tree when the expression is resolved through an ASIS-specific call to
-	Resolve_Aspect_Expressions.  This manifests itself as a crash on a
-	function with parameter associations.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Indexed_Component,
-	Expand_SPARK_Selected_Component): New procedures to insert explicit
-	dereference if required.
-	(Expand_SPARK): Call the new procedures.
-
-2017-09-25  Patrick Bernardi  <bernardi@adacore.com>
-
-	* libgnat/a-stwiun.adb, libgnat/s-stchop__vxworks.adb,
-	libgnat/g-socthi__vxworks.ads, libgnat/a-stzunb.adb,
-	libgnat/a-strunb.adb, libgnarl/s-osinte__lynxos178.adb,
-	libgnarl/s-intman__vxworks.adb, libgnarl/s-osinte__darwin.adb,
-	libgnarl/a-exetim__darwin.adb: Removed ineffective use-clauses.
-
-2017-09-25  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* adaint.c (win32_wait): Properly handle error and take into account
-	the WIN32 limitation on the number of simultaneous wait objects.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch3.adb (Constant_Redeclaration): Do not insert a call to the
-	invariant procedure in GNATprove mode.
-	* sem_ch5.adb (Analyze_Assignment): Likewise.
-
-2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
-
-	* adabkend.adb (Call_Back_End): Fix wording of "front-end" and
-	"back-end" in comments.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): The extra accessibility check in a
-	call that appears in a classwide precondition and that mentions an
-	access formal of the subprogram, must use the accessibility level of
-	the actual in the call. This is one case in which a reference to a
-	formal parameter appears outside of the body of the subprogram.
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Replace_Actual_Discriminants): Replace a discriminant
-	for GNATprove.
-	(Resolve_Entry): Clean up predicate
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Constituent): Raise Unrecoverable_Error rather
-	than Program_Error because U_E is more in line with respect to the
-	intended behavior.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression for aspect
-	Storage_Size does not freeze, and thus can include references to
-	deferred constants.
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Do not process a
-	reference when it appears within a pragma of no significance to SPARK.
-	(In_Insignificant_Pragma): New routine.
-	* sem_prag.ads: Add new table Pragma_Significant_In_SPARK.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations, case N_Formal_Package): If the
-	actual is a renaming, indicate that it is the renamed package that must
-	be frozen before the instantiation.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo in description
-	of dimensionality system in GNAT UG.
+2018-05-30  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Policy_In_Effect): Take into account CodePeer and
+	GNATprove modes.
+
+2018-05-30  Justin Squirek  <squirek@adacore.com>
+
+	* libgnat/a-direct.adb, libgnat/a-direct.ads (Name_Case_Equivalence):
+	Add implementation.
+	(Start_Search): Modify to use Start_Search_Internal
+	(Start_Search_Internal): Add to break out an extra flag for searching
+	case insensative due to the potential for directories within the same
+	OS to allow different casing schemes.
+	* sysdep.c (__gnat_name_case_equivalence): Add as a default fallback
+	for when the more precise solution fails.
+
+2018-05-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, exp_ch5.adb, exp_ch7.adb, exp_unst.adb, sem_eval.adb:
+	Minor reformatting.
+
+2018-05-30  Pascal Obry  <obry@adacore.com>
+
+	* libgnat/g-comlin.ads (Value_Callback, Define_Switch): New.
+	* libgnat/g-comlin.adb: Add corresponding implementation.
+
+2018-05-30  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_res.adb, sem_util.adb: Fix several typos.
+
+2018-05-30  Olivier Hainque  <hainque@adacore.com>
+
+	* vx_crtbegin_attr.c (CTOR_ATTRIBUTE, DTOR_ATTRIBUTE): Empty.
+	(eh_registration_ctors, eh_registration_tors): New static variables,
+	forced in a .ctors/.dtors section, respectively, with priority.
+
+2018-05-30  Bob Duff  <duff@adacore.com>
+
+	* aspects.ads, contracts.adb, exp_util.adb, expander.adb, expander.ads,
+	freeze.adb, inline.adb, lib-xref.adb, sem.ads, sem_aggr.adb,
+	sem_attr.adb, sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
+	sem_ch8.adb, sem_dim.adb, sem_elab.adb, sem_res.adb, sem_res.ads,
+	sinfo.ads: Spell preanalysis, preanalyze correctly.
+
+2018-05-30  Bob Duff  <duff@adacore.com>
+
+	* libgnat/g-sestin.ads: Rework documentation comments.
+
+2018-05-30  Piotr Trojanek  <trojanek@adacore.com>
+
+	* errout.adb, exp_aggr.adb, exp_ch7.adb, exp_util.adb, lib.adb,
+	sem_ch13.adb, sem_ch4.adb, sem_res.adb, sem_util.adb
+	(Has_Original_Node): Refactor to use Is_Rewrite_Substitution.
+
+2018-05-30  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Remove conjuncts that are always true.
+
+2018-05-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Is_Atomic_Object): Cleaned up. Split the entity logic
+	in a separate routine.
+	(Is_Atomic_Object_Entity): New routine.
+	(Is_Atomic_Prefix): Cleaned up.
+	(Is_Synchronized_Object): Check that the object is atomic, or its type
+	is atomic.
+	(Object_Has_Atomic_Components): Removed.
+	* sem_util.ads (Is_Atomic_Object): Reword the comment on usage.
+	(Is_Atomic_Object_Entity): New routine.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Access_Subprogram_Declaration): The flag
+	Needs_Activation_Record is only needed on a subprogram type, not on a
+	pointer to such.
+	* sem_res.adb (Resolve_Selected_Component): If the context type and the
+	component type are anonymous access to subprograms, use the component
+	type to obtain the proper value of Needs_Activation_Record flag for the
+	expression.
+
+2018-05-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Add
+	comment about the memset case.
+
+2018-05-30  Bob Duff  <duff@adacore.com>
+
+	* exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove the code
+	to analyze the Elmt_Decl, because it gets analyzed in the wrong scope.
+	We need to analyze it as part of analyzing the block, so that if the
+	call to Element that initializes Elmt_Decl returns on the secondary
+	stack, the block will ss_mark/ss_release. This block is inside the
+	loop; we don't want to leak memory until the loop exits.  The purpose
+	of analyzing Elmt_Decl first was to catch the error of modifying it,
+	which is illegal because it's a loop parameter. The above causes us to
+	miss that error.  Therefore, we add a flag Is_Loop_Parameter, and set
+	it on the Element entity, so we end up with an E_Variable node with the
+	flag set.
+	* einfo.ads, einfo.adb (Is_Loop_Parameter): New flag.
+	* sem_ch5.adb (Diagnose_Non_Variable_Lhs): Give the "assignment to loop
+	parameter not allowed" error if Is_Loop_Parameter.
+	* sem_util.adb (Is_Variable): Return False if Is_Loop_Parameter, to
+	trigger the call to Diagnose_Non_Variable_Lhs.
+
+2018-05-30  Arnaud Charlet  <charlet@adacore.com>
+
+	* checks.adb (Apply_Scalar_Range_Check):
+	* sem_eval.adb (Check_Non_Static_Context, Out_Of_Range): Ignore out of
+	range values for System.Priority in CodePeer mode since the actual
+	target compiler may provide a wider range.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb: Search specification of main unit as well, for
+	unnesting.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch7.adb (Check_Unnesting_Elaboration_Code): The statement part of
+	a package body that is a compilation unit may contain blocks that
+	declare local subprograms.  In Subprogram_Unnesting Mode such
+	subprograms must be handled as nested inside the (implicit) elaboration
+	procedure that executes that statement part. To handle properly uplevel
+	references we construct that subprogram explicitly, to contain blocks
+	and inner subprograms, The statement part of the compilation unit
+	becomes a call to this subprogram. This is only done if blocks are
+	present in the statement list of the body.
+
+2018-05-30  Bob Duff  <duff@adacore.com>
+
+	* exp_ch7.adb: Minor comment fix.
+
+2018-05-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Handle properly subprogram instantiations
+	that have no corresponding body and appear as attributes of the
+	corresponding wrapper package declaration.
+	(Register_Subprogram): New subprogram, used for subprogram bodies and
+	for subprogram instantiations to enter callable entity into Subp table.
+
+2018-05-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* libgnat/s-secsta.adb: Reimplement the secondary stack support.
+	* libgnat/s-secsta.ads: Update the documentation of all routines in the
+	public part of the package.  Reimplement the private part of the
+	package to account for the new secondary stack structure.  Add types
+	and subprograms for testing purposes.  Add several documentation
+	sections.
+
+2018-05-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_unst.adb,
+	exp_util.adb, exp_util.ads, libgnat/a-calcon.adb, libgnat/a-calcon.ads,
+	libgnat/s-os_lib.adb, repinfo.adb, sem_ch3.adb, sem_disp.adb,
+	sem_disp.ads, sem_util.adb: Minor reformatting.
+
+2018-05-30  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Move special flags for Ada runtime files
+	from here...
+	* Makefile.rtl: ... to here.  Update comments.  Protect call to
+	"GCC_FOR_TARGET" in case target_os isn't defined.
+
+2018-05-30  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Move target pair settings from here...
+	* Makefile.rtl: ... to here.
+	(setup-rts): New target.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (Alphabetical
+	List of All Switches): Replace "modules" with "units".
+	(Subprogram Inlining Control): Likewise.
 	* gnat_ugn.texi: Regenerate.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb: Call Check_Safe_Pointers from the frontend in
-	GNATprove_Mode when switch -gnatdF used.
-
-2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
-
-	* adabkend.adb (Call_Back_End): Reset Current_Error_Node when starting
-	the backend.
-
-2017-09-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_imgv.adb (Expand_Image_Attribute): Disable the optimized
-	expansion of user-defined enumeration types when the generation of
-	names for enumeration literals is suppressed.
-
-2017-09-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb: Minor reformatting.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): Do not resolve identifiers
-	that appear as selector names of parameter associations, as these are
-	never resolved by visibility.
-
-2017-09-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_res.adb (Resolve_Entry): Generate reference for index entities.
-
-2017-09-25  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb (Compute_Base_Monotonic_Clock): Refine.
-
-2017-09-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_imgv.adb (Is_User_Defined_Enumeration_Type): New subprogram.
-	(Expand_User_Defined_Enumeration_Image): New subprogram.
-	(Expand_Image_Attribute): Enable speed-optimized expansion of
-	user-defined enumeration types when we are compiling with optimizations
-	enabled.
-
-2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_util.adb (Has_Null_Abstract_State): Remove, as an exactly same
-	routine is already provided by Einfo.
-	* einfo.adb (Has_Null_Abstract_State): Replace with the body from
-	Sem_Util, which had better comments and avoided double calls to
-	Abstract_State.
-
-2017-09-25  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb: Rename Comp_Type_Simple to be Comp_Simple_Init.
-
-2017-09-25  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb (Base_Monotonic_Clock): New variable.
-	(Compute_Base_Monotonic_Clock): New function.
-	(Timed_Sleep): Adjust to use Base_Monotonic_Clock.
-	(Timed_Delay): Likewise.
-	(Monotonic_Clock): Likewise.
-	* s-oscons-tmplt.c (CLOCK_MONOTONIC): Use on Linux.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Save_References_In_Aggregate): Small correction to
-	previous change.
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, sem_ch4.adb, sem_ch13.adb, sem_attr.adb, exp_ch3.adb:
-	Minor reformatting.
-
-2017-09-20  Alexandre Oliva <aoliva@redhat.com>
-
-	* gcc-interface/lang.opt (gant, gnatO, gnat): Add RejectNegative.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for
-	reference types in the access-to-access case.
-
-2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_attr.adb (Analyze_Access_Attribute): Move check for the presence
-	of the "aliased" keyword on the prefix from here to...
-	(Resolve_Attribute) <Attribute_Access>: ...here.  Remove useless call
-	to Check_No_Implicit_Aliasing.
-	* sinfo.ads (Non_Aliased_Prefix): Delete.
-	(Set_Non_Aliased_Prefix): Likewise.
-	* sinfo.adb (Non_Aliased_Prefix): Delete.
-	(Set_Non_Aliased_Prefix): Likewise.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* exp_ch5.adb (Build_Formal_Container_Iteration,
-	Expand_Formal_Container_Element_Loop): Convert the container to the
-	root type before passing it to the iteration operations, so it will be
-	of the right type.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* einfo.ads, validsw.ads, treepr.ads, sem_util.ads: Comment fixes.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb (Build_Array_Init_Proc): If validity checking is enabled,
-	and it's a bit-packed array, pass False to the Consider_IS parameter of
-	Needs_Simple_Initialization.
-
-2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Check_Inline_Pragma): Link the newly generated spec to
-	the preexisting body.
-	* sem_prag.adb (Check_Inline_Always_Placement): New routine.
-	(Process_Inline): Verify the placement of pragma Inline_Always. The
-	pragma must now appear on the initial declaration of the related
+	* usage.adb (Usage): Fix description of -gnatn switch.
+
+2018-05-29  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Fix typos.
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch7.adb (Build_Finalizer_Call): Attach to tree the reference to
+	the finalizer procedure in the At_End handler, for use in LLVM
+	generation.
+
+2018-05-29  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Op_Eq, Expand_Composite_Equality): Use the new
+	subprogram Inherits_From_Tagged_Full_View to identify more reliably
+	untagged private types completed with a derivation of an untagged
+	private whose full view is a tagged type.
+	* sem_util.ads, sem_util.adb (Inherits_From_Tagged_Full_View): New
 	subprogram.
-
-2017-09-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): In ASIS mode,  At the end of the
-	declarative list in a subprogram body, analyze aspext specifications to
-	provide basic semantic information, because otherwise the aspect
-	specifications might only be snalyzed during expansion, when related
-	subprograms are generated.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* exp_ch9.adb (Is_Simple_Barrier_Name): Follow Original_Node, in case
-	validity checks have rewritten the tree.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* sem_util.adb: Comment fixes, and remove redundant Is_Itype check.
-
-2017-09-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Save_References_In_Aggregate): When constructing a
-	qualified exxpression for an aggregate in a generic unit, verify that
-	the scope of the type is itself visible and not hidden, so that the
-	qualified expression is correctly resolved in any instance.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* sem_ch4.adb (Analyze_Qualified_Expression): Give an error if the type
-	mark refers to the current instance. Set the type to Any_Type in that
-	case, to avoid later crashes.
-
-2017-09-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Replace_Discriminant_References): New procedure,
-	subsidiary of Build_Assignment, used to handle the initialization code
-	for a mutable record component whose default value is an aggregate that
-	sets the values of the discriminants of the components.
-
-2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>: Mark
-	the entity as being volatile for an overlay that toggles the scalar
-	storage order.
-
-2017-09-18  Fedor Rybin  <frybin@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Document that gnattest
-	options -U main and --harness-only are not compatible.
-
-2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting.
-
-2017-09-18  Piotr Trojanek  <trojanek@adacore.com>
-
-	* einfo.ads (Is_Imported): Update comment, as this
-	routine also applies to constants.
-
-2017-09-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Find_Placement_In_State_Space): Allow generic package
-	holding state.
-
-2017-09-18  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the
-	constant indication for Pragma_Linker_Section.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	Alternate fix for PR ada/71358
-	* libgnat/g-comlin.adb (Getopt): Remove manual null access checks.
-	Instead, make a local copy of Config, and if it's null, allocate an
-	empty Command_Line_Configuration_Record, so we won't crash on null
-	pointer dereference.
-
-2017-09-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* libgnarl/a-intnam__rtems.ads: Update copyright date.
-	* libgnarl/s-interr__hwint.adb: Likewise.
-	* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
-	* libgnarl/s-osinte__rtems.adb: Likewise.
-	* libgnarl/s-osinte__rtems.ads: Likewise.
-
-2017-09-13  Nicolas Roche  <roche@adacore.com>
-
-	* Make-lang.in: In the fallback mechanim, parse the associated .ali
-	file and try to guess the locations of dependencies.
-
-2017-09-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Register_Address_Clause_Check): New procedure to save
-	the suppression status of Alignment_Check on the current scope.
-	(Alignment_Checks_Suppressed): New function to use the saved instead of
-	the current suppression status of Alignment_Check.
-	(Address_Clause_Check_Record): Add Alignment_Checks_Suppressed field.
-	(Analyze_Attribute_Definition_Clause): Instead of manually appending to
-	the table, call Register_Address_Clause_Check.
-	(Validate_Address_Clauses): Call Alignment_Checks_Suppressed on the
-	recorded address clause instead of its entity.
-
-2017-09-13  Jerome Guitton  <guitton@adacore.com>
-
-	* libgnarl/s-tpopsp__vxworks-tls.adb,
-	libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-tpopsp__vxworks.adb
-	(Self): Register thread if task id is null.
-
-2017-09-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* libgnat/s-htable.adb, libgnat/s-htable.ads: Minor style tuning.
-
-2017-09-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref-spark_specific.adb (Scopes): simplify hash map; now it maps
-	from an entity to only scope index, as a mapping from an entity to the
-	same entity was useless.
-	(Get_Scope_Num): refactor as a simple renaming; rename parameter from N
-	to E.
-	(Set_Scope_Num): refactor as a simple renaming; rename parameter from N
-	to E.
-	(Is_Constant_Object_Without_Variable_Input): remove local "Result"
-	variable, just use return statements.
-
-2017-09-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* libgnarl/s-vxwext__kernel-smp.adb,
-	libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-vxwext__noints.adb:
-	New file.
-
-2017-09-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb: Flag42 is now Is_Controlled_Active.
-	(Is_Controlled): This attribute is now synthesized.
-	(Is_Controlled_Active): This attribute is now an explicit flag rather
-	than a synthesized attribute.	(Set_Is_Controlled): Removed.
-	(Set_Is_Controlled_Active): New routine.
-	(Write_Entity_Flags): Update the output for Flag42.
-	* einfo.ads: Update the documentation of the following attributes:
-	Disable_Controlled, Is_Controlled, Is_Controlled_Active, Is_Controlled
-	and Is_Controlled_Active have swapped their functionality.
-	(Is_Controlled): Renamed to Is_Controlled_Active.
-	(Is_Controlled_Active): Renamed to Is_Controlled.
-	(Set_Is_Controlled): Renamed to Set_Is_Controlled_Active.
-	* exp_ch3.adb (Expand_Freeze_Record_Type): Restore the original use of
-	Is_Controlled.
-	* exp_util.adb (Has_Some_Controlled_Component): Code clean up.
-	(Needs_Finalization): Code clean up. Remove the tests for
-	Disable_Controlled because a) they were incorrect as they would reject
-	a type which is sublect to the aspect, but may contain controlled
-	components, and b) they are no longer necessary.
-	* exp_util.ads (Needs_Finalization): Update comment on documentation.
-	* freeze.adb (Freeze_Array_Type): Restore the original use of
-	Is_Controlled.
-	(Freeze_Record_Type): Restore the original use of Is_Controlled.
-	* sem_ch3.adb (Analyze_Object_Declaration): Restore the original use of
-	Is_Controlled.
-	(Array_Type_Declaration): Restore the original use of Is_Controlled.
-	(Build_Derived_Private_Type): Restore the original use of
-	Is_Controlled.
-	(Build_Derived_Record_Type): Set the Is_Controlled_Active flag of a
-	type derived from Ada.Finalization.[Limited_]Controlled.
-	(Build_Derived_Type): Restore the original use of Is_Controlled.
-	(Record_Type_Definition): Restore the original use of Is_Controlled.
-	* sem_ch7.adb (Preserve_Full_Attributes): Restore the original use of
-	Is_Controlled.
-	* sem_ch13.adb (Analyze_Aspect_Disable_Controlled): New routine.
-	(Analyze_Aspect_Specifications): Use routine
-	Analyze_Aspect_Disable_Controlled to process aspect Disable_Controlled.
-
-2017-09-13  Vincent Celier  <celier@adacore.com>
-
-	* clean.adb (Gnatclean): Fix error when looking for target
-	of <target>-gnatclean
-
-2017-09-13  Javier Miranda  <miranda@adacore.com>
-            Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Expanded_Name): Complete code that identifies an
-	expanded name that designates the current instance of a child unit in
-	its own body and appears as the prefix of a reference to an entity
-	local to the child unit.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* sem_warn.adb: Minor comment.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
-	libgnat/a-cbmutr.adb, libgnat/a-cborma.adb: Rename New_Item to
-	be Default_Initialized_Item, and apply pragma Unmodified to it,
-	to suppress the warning.
-
-2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add early return
-	for access types.
-
-2017-09-12  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Consider Refined_Global
-	together with Global when ignoring one in CodePeer mode.
-
-2017-09-12  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): In nested
-	package declarations that have a private part enable missing check
-	of the RM rule 13.1.1(11/3): usage names in aspect definitions are
-	resolved at the end of the immediately enclosing declaration list.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to
-	Empty.
-
-2017-09-12  Georges-Axel Jaloyan  <jaloyan@adacore.com>
-
-	* debug.adb: Reserving flag -gnatdF for safe pointer checking.
-	* gnat1drv.adb (gnat1drv): Adding the call to the analysis on
-	dF flag.
-	* sem_spark.adb, sem_spark.ads: Implementation of the analysis,
-	in preparation for the evolution of the SPARK language that
-	includes a pointer analysis for checking non-aliasing of access
-	types. The Check_Safe_Pointers function is the entry point, and
-	will traverse the AST and raise compile-time errors everytime
-	it detects non-begign aliasing.  Detailed comments are present
-	in the sem_spark.ads file.
-	* sem_util.adb, sem_util.ads (First_Global, Next_Global): New
-	functions to iterate over the list of globals of a subprogram.
-	* libgnat/system.ads: Add restriction No_Finalization.
-	* gcc-interface/Make-lang.in: Add new file sem_spark.adb and
-	dependency on g-dynhta.adb.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Call
-	Check_Dynamically_Tagged_Expression.
-	* sem_util.adb (Check_Dynamically_Tagged_Expression): Remove
-	"and then Is_Tagged_Type (Typ)" because there is an earlier
-	"Assert (Is_Tagged_Type (Typ))".
-
-2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in (SPARC/Solaris): Remove obsolete stuff.
-
-2017-09-11  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/the_gnat_compilation_model.rst: Fix sphinx warning.
-	* doc/gnat_ugn/platform_specific_information.rst: Remove doc
-	for no longer supported platforms.
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Added detailed
-	description of the semantics for dimensionality analysis.
-	* gnat_ugn.texi: Regenerated.
-
-2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Has_Incomplete_Compoent): Delete.
-	(Freeze_Profile):
-	Do not inhibit the freezing of the profile of an expression
-	function here.
-	(Freeze_Subprogram): Do not re-create extra formals.
-	* sem_ch6.adb (Analyze_Expression_Function): Always
-	pre-analyze the expression if the function is not a completion.
-	(Analyze_Subprogram_Body_Helper): For the body generated
-	from an expression function that is not a completion, do
-	not freeze the profile and temporary mask the types declared
-	outside the expression that are not yet frozen.
-	* sem_res.adb (Rewrite_Renamed_Operator): Also bail out if invoked
-	during the pre-analysis of an expression function.
-
-2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (enum standard_datatypes): Minor tweak.
-	(gigi): Likewise.
-
-2017-09-11  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref-spark_specific.adb: Minor rewrite.
-
-2017-09-11  Jerome Lambourg  <lambourg@adacore.com>
-
-        * libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__*
-        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Take this
-	renaming into account.
-
-2017-09-11  Jerome Lambourg  <lambourg@adacore.com>
-
-	* libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__*
-	* gcc-interface/Makefile.in: Take this renaming into account.
-
-2017-09-11  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-auxdec-empty.ads, s-auxdec-empty.adb, 9drpc.adb: Removed, no
-	longer used.
-
-2017-09-11  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Check_Result_And_Post_State):
-	Do not issue a warning about missing reference to an outcome if
-	the subprogram is ghost and has no outputs.
-	* lib-xref-spark_specific.adb, sem_aggr.adb, sem_aux.ads: Minor
-        reformatting.
-
-2017-09-11  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Check_Validity_Of_Parameters to False in GNATprove mode.
-	* opt.ads (Check_Validity_Of_Parameters): Document switch to
-	set option.
-
-2017-09-09  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Don't
-	generate debug info for inner record types if -fgnat-encodings=minimal.
-	(gnat_to_gnu_entity) <E_Record_Subtype>: Use the ultimate base record
-	type as the debug type.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Do not reorder in non-
-	packed record types if pragma Optimize_Alignment (Space) is enabled.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Disregard inlining
-	limits for expression functions.
-	(gnat_to_gnu) <N_Object_Declaration>: Fix formatting.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the
-	layout of the record from the parent type only if both are or are not
-	unchecked unions.
-	(is_stored_discriminant): Return false for an unchecked union.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (build_allocator): In type_annotate_only mode
-	return NULL_EXPR.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (promote_object_alignment): New function taken
-	from...
-	(gnat_to_gnu_entity) <E_Variable>: ...here.  Invoke it.
-	(gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and
-	create a padding type on success before doing the atomic check.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Apply the
-	promotion to static memory earlier in the processing.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK
-	and TYPE_BY_REFERENCE_P flags on types after various promotions.
-	* gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
-	Consider all kinds of entities.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (convert): When converting to a padding type,
-	reuse an existing CONSTRUCTOR if it has got the right size.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Find runtime
-	source in libgnat/
-	* a-lfztio.ads, g-timsta.ads, g-sercom-linux.adb, s-osprim-solaris.adb,
-	a-inteio.ads, s-stchop-rtems.adb, s-casuti.adb, s-pack39.adb,
-	i-vxwork-x86.ads, a-strbou.adb, a-stzmap.adb, s-assert.adb,
-	a-sfecin.ads, a-cohama.adb, s-casuti.ads, a-suenco.adb, s-pack39.ads,
-	a-stzmap.ads, a-strbou.ads, s-stalib.adb, s-trasym.adb, g-comver.adb,
-	s-assert.ads, s-vector.ads, g-cgi.adb, a-cohama.ads, s-wchcnv.adb,
-	a-titest.adb, s-pack48.adb, a-suenco.ads, a-strunb.adb, s-stalib.ads,
-	s-trasym.ads, a-nudira.adb, g-comver.ads, a-nuflra.adb, g-cgi.ads,
-	a-chacon.adb, s-wchcnv.ads, a-excach.adb, s-pack48.ads, a-titest.ads,
-	a-strunb.ads, s-dwalin.adb, a-nudira.ads, a-chtgbo.adb, s-resfil.adb,
-	a-scteio.ads, a-nuflra.ads, g-soliop-mingw.ads, s-pack57.adb,
-	a-chacon.ads, s-bytswa.ads, s-pooloc.adb, g-os_lib.adb, s-dwalin.ads,
-	a-szuzha.adb, s-resfil.ads, a-chtgbo.ads, s-spsufi.adb, s-pack57.ads,
-	s-pooloc.ads, g-os_lib.ads, a-stfiha.ads, a-lcteio.ads, a-wtcoau.adb,
-	a-szuzha.ads, s-mmosin-unix.adb, a-stmaco.ads, s-spsufi.ads,
-	s-stchop-limit.ads, a-wtcoau.ads, a-exctra.adb, s-mmosin-unix.ads,
-	s-sequio.adb, s-conca2.adb, g-table.adb, s-imglli.adb,
-	a-numaux-x86.adb, a-strsea.adb, s-wchstw.adb, a-clrefi.adb,
-	a-wwboio.adb, a-exctra.ads, s-sequio.ads, s-conca2.ads, a-wwunio.ads,
-	system-linux-hppa.ads, g-table.ads, s-dimkio.ads, s-imglli.ads,
-	a-cofove.adb, a-numaux-x86.ads, s-wchstw.ads, a-strsea.ads,
-	a-clrefi.ads, a-wwboio.ads, s-stratt-xdr.adb, s-crc32.adb,
-	s-excmac-arm.adb, g-busora.adb, a-cofove.ads, s-osprim-unix.adb,
-	g-io.adb, s-pack49.adb, s-crc32.ads, s-excmac-arm.ads, a-fzteio.ads,
-	g-busora.ads, s-stausa.adb, system-linux-mips.ads, sequenio.ads,
-	g-exctra.adb, g-rewdat.adb, a-cgaaso.adb, g-io.ads, s-pack49.ads,
-	a-wtflau.adb, a-undesu.adb, s-stausa.ads, a-ztenau.adb, g-enutst.ads,
-	calendar.ads, s-pack58.adb, g-rewdat.ads, g-exctra.ads, s-ststop.adb,
-	a-cgaaso.ads, a-strfix.adb, a-comlin.adb, a-strunb-shared.adb,
-	a-wtflau.ads, a-undesu.ads, a-cbhase.adb, a-ztenau.ads, s-os_lib.adb,
-	a-coorse.adb, a-chlat1.ads, s-pack58.ads, s-ststop.ads, a-strfix.ads,
-	a-comlin.ads, a-strunb-shared.ads, a-nscefu.ads, s-valboo.adb,
-	directio.ads, a-chtgke.adb, a-cbhase.ads, a-wtinau.adb,
-	system-linux-alpha.ads, s-os_lib.ads, a-coorse.ads,
-	system-linux-s390.ads, s-imgwiu.adb, a-chtgop.adb, s-valboo.ads,
-	a-chtgke.ads, a-tienio.adb, s-conca3.adb, a-wtinau.ads,
-	system-darwin-ppc.ads, i-c.adb, s-expllu.adb, g-expect.adb,
-	g-sha256.ads, s-vallld.adb, s-imgwiu.ads, a-chtgop.ads, a-strmap.adb,
-	a-tienio.ads, s-conca3.ads, s-imgint.adb, i-c.ads, s-expllu.ads,
-	s-osprim-darwin.adb, a-cogeso.adb, g-expect.ads, a-iwteio.ads,
-	s-vallld.ads, a-coinho-shared.adb, g-shsh64.adb, a-strmap.ads,
-	g-comlin.adb, a-excpol.adb, s-imgint.ads, a-ztdeau.adb, a-cogeso.ads,
-	a-coinho-shared.ads, g-shsh64.ads, g-comlin.ads, a-stzsup.adb,
-	a-rbtgbk.adb, a-wtmoau.adb, a-ztdeau.ads, s-exnlli.adb, g-tty.adb,
-	g-heasor.adb, g-socthi-dummy.adb, s-llflex.ads, a-zchara.ads,
-	a-stzsup.ads, a-ztcstr.adb, a-rbtgbk.ads, a-sfwtio.ads, a-wtmoau.ads,
-	a-sulcin.adb, s-exnlli.ads, system-freebsd.ads, a-stunha.adb,
-	a-charac.ads, g-tty.ads, g-heasor.ads, s-exctra.adb,
-	g-socthi-dummy.ads, a-coboho.adb, a-ztcstr.ads, a-tideio.adb,
-	a-sulcin.ads, a-wrstfi.adb, g-alleve.adb, s-pack59.adb, a-ngrear.adb,
-	a-stboha.adb, a-stunau-shared.adb, a-stunha.ads, a-lfwtio.ads,
-	s-fileio.adb, s-exctra.ads, a-coboho.ads, a-ioexce.ads, a-tideio.ads,
-	a-ngrear.ads, a-wrstfi.ads, s-pack59.ads, g-alleve.ads, a-stboha.ads,
-	s-poosiz.adb, g-traceb.adb, g-rannum.adb, machcode.ads, s-purexc.ads,
-	s-fileio.ads, a-cfinve.adb, a-crbtgk.adb, system-solaris-x86.ads,
-	s-poosiz.ads, g-rannum.ads, g-traceb.ads, a-except.adb, s-conca4.adb,
-	a-stream.adb, a-cfinve.ads, a-crbtgk.ads, s-wchwts.adb,
-	system-mingw.ads, a-except.ads, s-conca4.ads, a-chzla9.ads,
-	s-valenu.adb, s-soflin.adb, a-stream.ads, a-cgarso.adb, s-valllu.adb,
-	g-crc32.adb, s-wchwts.ads, s-fatflt.ads, s-imguns.adb, s-strcom.adb,
-	g-decstr.adb, s-valenu.ads, s-soflin.ads, a-cgarso.ads, a-cwila1.ads,
-	s-valllu.ads, g-crc32.ads, s-imguns.ads, g-spipat.adb, s-valwch.adb,
-	s-strcom.ads, g-decstr.ads, text_io.ads, g-debuti.adb, s-stchop.adb,
-	g-spipat.ads, s-valwch.ads, a-string.ads, s-exnint.adb, g-awk.adb,
-	g-tasloc.adb, s-wwdenu.adb, s-boustr.adb, a-zchuni.adb, s-stchop.ads,
-	g-debuti.ads, s-stopoo.adb, system-dragonfly-x86_64.ads,
-	system-linux-x86.ads, s-exnint.ads, g-awk.ads, a-stzhas.adb,
-	g-tasloc.ads, s-wwdenu.ads, g-debpoo.adb, g-except.ads,
-	g-sse.ads, s-boustr.ads, a-zchuni.ads, s-bitops.adb, s-wwdwch.adb,
-	s-stopoo.ads, a-catizo.adb, a-stzhas.ads, a-nlcefu.ads, g-debpoo.ads,
-	i-vxwoio.adb, s-bitops.ads, g-io-put-vxworks.adb, s-wwdwch.ads,
-	g-sehamd.adb, a-ssicst.adb, a-catizo.ads, s-mmap.adb, g-string.adb,
-	s-traceb.adb, a-swunau.adb, s-rannum.adb, a-ticoau.adb, i-vxwoio.ads,
-	g-sehamd.ads, a-stwiun.adb, a-ssicst.ads, s-conca5.adb, a-ssitio.ads,
-	s-mmap.ads, a-zttest.adb, g-string.ads, g-sercom.adb, a-cdlili.adb,
-	a-swunau.ads, s-traceb.ads, s-rannum.ads, a-ticoau.ads, system-aix.ads,
-	a-cforma.adb, a-stwiun.ads, s-conca5.ads, s-carsi8.adb, a-zttest.ads,
-	g-sercom.ads, a-cdlili.ads, a-cihama.adb, g-sptain.ads, a-cforma.ads,
-	s-maccod.ads, s-carsi8.ads, a-strsup.adb, g-sha1.adb, a-cihama.ads,
-	g-stseme.adb, s-traent.adb, s-valcha.adb, g-curexc.ads, a-strsup.ads,
-	g-sha1.ads, a-sflcin.ads, s-traent.ads, s-pack10.adb, s-valcha.ads,
-	a-coteio.ads, s-tasloc.adb, g-utf_32.adb, a-suteio.adb, s-except.adb,
-	a-direct.adb, g-stsifd-sockets.adb, a-numaux-vxworks.ads, s-winext.ads,
-	s-pack10.ads, a-ztexio.adb, a-tiflau.adb, system-vxworks-arm.ads,
-	s-tasloc.ads, a-suteio.ads, g-utf_32.ads, s-except.ads,
-	a-direct.ads, a-swbwha.adb, g-hesorg.adb, s-wwdcha.adb, a-wtedit.adb,
-	a-ztexio.ads, a-wtcoio.adb, a-tiflau.ads, a-ssizti.ads, s-casi32.adb,
-	a-swbwha.ads, s-veboop.adb, g-hesorg.ads, s-parame-rtems.adb,
-	s-wwdcha.ads, a-wtedit.ads, a-stuten.adb, a-coinve.adb, a-wtcoio.ads,
-	s-casi32.ads, s-string.adb, a-tiinau.adb, a-cusyqu.adb, s-conca6.adb,
-	s-veboop.ads, a-cgcaso.adb, a-numaux-darwin.adb, a-envvar.adb,
-	a-stuten.ads, s-secsta.adb, a-coinve.ads, s-string.ads, a-cusyqu.ads,
-	a-tiinau.ads, s-osprim-vxworks.adb, s-conca6.ads, g-spchge.adb,
-	s-parint.adb, a-cuprqu.adb, a-cgcaso.ads, a-numaux-darwin.ads,
-	a-envvar.ads, s-secsta.ads, g-spchge.ads, s-parint.ads, a-cuprqu.ads,
-	a-swuwti.adb, a-flteio.ads, a-sbhcin.adb, a-coprnu.adb, g-u3spch.adb,
-	s-atocou.adb, g-ctrl_c.adb, a-swuwti.ads, a-calend.adb, a-sbhcin.ads,
-	a-coprnu.ads, g-dirope.adb, g-sha512.ads, g-u3spch.ads, s-atocou.ads,
-	g-ctrl_c.ads, a-timoau.adb, a-witeio.adb, s-pack11.adb, a-strhas.adb,
-	a-wtflio.adb, g-spitbo.adb, a-calend.ads, a-ztenio.adb, g-dirope.ads,
-	a-slcain.adb, g-sechas.adb, a-timoau.ads, a-witeio.ads, s-pack11.ads,
-	s-shasto.adb, s-traceb-mastop.adb, a-ciorse.adb, s-utf_32.adb,
-	a-strhas.ads, a-wtflio.ads, g-spitbo.ads, a-ztenio.ads, a-slcain.ads,
-	g-sechas.ads, s-gearop.adb, a-siztio.ads, s-pack20.adb, s-shasto.ads,
-	a-ciorse.ads, s-utf_32.ads, s-crtl.ads, a-wtinio.adb, s-elaall.adb,
-	s-explli.adb, s-chepoo.ads, s-gearop.ads, a-einuoc.adb, s-pack20.ads,
-	system-linux-ia64.ads, a-swunau-shared.adb, a-wtinio.ads, g-alvety.ads,
-	a-liztio.ads, g-calend.adb, s-conca7.adb, s-elaall.ads, s-explli.ads,
-	a-einuoc.ads, s-widboo.adb, s-imgdec.adb, a-cbhama.adb, g-calend.ads,
-	s-conca7.ads, a-llitio.ads, i-cexten.ads, a-coorma.adb, s-widboo.ads,
-	s-diflio.adb, g-souinf.ads, s-imgdec.ads, g-strhas.ads, a-cbhama.ads,
-	g-shshco.adb, a-ztdeio.adb, s-gloloc.adb, a-coorma.ads, g-wispch.adb,
-	s-pack03.adb, g-eacodu.adb, s-casi16.adb, s-diflio.ads, a-colien.adb,
-	g-shshco.ads, a-wtmoio.adb, a-rbtgbo.adb, a-ztdeio.ads,
-	system-rtems.ads, s-gloloc.ads, a-csquin.ads, a-cofuse.adb,
-	g-wispch.ads, s-pack03.ads, s-casi16.ads, s-io.adb, a-colien.ads,
-	g-alveop.adb, gnat.ads, s-diinio.adb, a-cfdlli.adb, g-pehage.adb,
-	a-wtmoio.ads, a-stwiha.adb, a-locale.adb, a-tirsfi.adb, a-nscoty.ads,
-	a-rbtgbo.ads, s-pack12.adb, a-cofuse.ads, a-sfteio.ads, s-io.ads,
-	g-alveop.ads, a-cfdlli.ads, s-diinio.ads, a-stwiha.ads, g-pehage.ads,
-	a-locale.ads, a-tirsfi.ads, s-pack12.ads, s-valuti.adb, g-cppexc.adb,
-	system-vxworks-ppc.ads, g-memdum.adb, a-lfteio.ads, s-pack21.adb,
-	s-unstyp.ads, s-valuti.ads, g-cppexc.ads, system-hpux-ia64.ads,
-	g-memdum.ads, g-soccon.ads, g-altive.ads, a-crbtgo.adb, s-pack21.ads,
-	a-llizti.ads, a-numaux-libc-x86.ads, s-expint.adb, s-conca8.adb,
-	a-crbtgo.ads, s-pack30.adb, s-vallli.adb, s-geveop.adb, s-expint.ads,
-	a-direio.adb, s-conca8.ads, a-widcha.ads, s-pack30.ads, s-vallli.ads,
-	s-strhas.adb, s-geveop.ads, g-md5.adb, a-direio.ads, a-numaux.ads,
-	s-ransee.adb, a-szbzha.adb, i-cobol.adb, g-busorg.adb, s-strhas.ads,
-	g-md5.ads, s-widenu.adb, s-ransee.ads, s-widllu.adb, a-szbzha.ads,
-	a-ststio.adb, i-cobol.ads, g-busorg.ads, g-regpat.adb, s-widenu.ads,
-	a-secain.adb, s-widllu.ads, s-pack13.adb, g-encstr.adb, a-ztcoau.adb,
-	a-ststio.ads, s-widwch.adb, g-regpat.ads, s-atacco.adb, a-cborse.adb,
-	a-secain.ads, s-pack13.ads, g-encstr.ads, a-ztcoau.ads, s-widwch.ads,
-	g-io_aux.adb, s-atacco.ads, a-ncelfu.ads, interfac.ads, a-cborse.ads,
-	g-regexp.adb, s-pack22.adb, a-szuzti.adb, g-io_aux.ads, s-caun32.adb,
-	a-nselfu.ads, g-regexp.ads, s-pack22.ads, a-ticoio.adb, a-szuzti.ads,
-	g-diopit.adb, s-caun32.ads, s-conca9.adb, a-tags.adb, a-swmwco.ads,
-	a-sbecin.adb, s-pack31.adb, s-expuns.adb, a-ticoio.ads, s-valint.adb,
-	s-conca9.ads, g-diopit.ads, a-tags.ads, a-nllcef.ads, a-izteio.ads,
-	a-sbecin.ads, s-expuns.ads, s-pack31.ads, g-dyntab.adb, s-powtab.ads,
-	s-flocon-none.adb, s-valint.ads, a-ssiwti.ads, s-mmosin-mingw.adb,
-	s-pack40.adb, s-pack05.adb, a-ztflau.adb, g-dyntab.ads,
-	a-szuzti-shared.adb, g-alvevi.ads, a-stwise.adb, s-mmosin-mingw.ads,
-	s-pack40.ads, a-diocst.adb, a-ztflau.ads, s-pack05.ads, a-nlcoty.ads,
-	a-contai.ads, a-stwisu.adb, g-byorma.adb, a-siwtio.ads, a-stwise.ads,
-	s-regpat.adb, g-mbdira.adb, s-pack14.adb, a-diocst.ads, g-flocon.ads,
-	g-mbflra.adb, a-ztinau.adb, s-dim.ads, s-mantis.adb, a-stwisu.ads,
-	g-byorma.ads, s-atopri.adb, g-wistsp.ads, a-uncdea.ads, s-widcha.adb,
-	a-caldel.adb, s-regpat.ads, g-mbdira.ads, a-tiflio.adb, s-pack14.ads,
-	s-parame.adb, a-liwtio.ads, s-memory.adb, g-mbflra.ads, a-ztinau.ads,
-	a-wtgeau.adb, s-direio.adb, s-mantis.ads, s-atopri.ads, s-widcha.ads,
-	a-caldel.ads, s-pack23.adb, a-unccon.ads, a-tiflio.ads, s-parame.ads,
-	a-llftio.ads, s-memory.ads, s-regexp.adb, a-wtgeau.ads, a-exexda.adb,
-	s-direio.ads, s-pack23.ads, g-stheme.adb, a-tiinio.adb, g-sestin.ads,
-	s-regexp.ads, a-wtfiio.adb, a-comutr.adb, a-exexpr.adb, a-tiinio.ads,
-	a-ztmoau.adb, a-cohata.ads, a-wtfiio.ads, s-imgrea.adb, ada.ads,
-	a-szunau-shared.adb, a-comutr.ads, s-valuns.adb, a-ztmoau.ads,
-	system-linux-arm.ads, s-osprim-x32.adb, s-pack41.adb, s-pack06.adb,
-	s-imgrea.ads, s-valuns.ads, s-finroo.adb, s-caun16.adb, s-pooglo.adb,
-	a-zrstfi.adb, a-suenst.adb, s-pack41.ads, g-binenv.adb, s-pack06.ads,
-	a-calari.adb, a-nlcoar.ads, s-finroo.ads, a-timoio.adb, s-caun16.ads,
-	s-flocon.adb, a-suenst.ads, a-zrstfi.ads, s-pooglo.ads, s-wchcon.adb,
-	s-traceb-hpux.adb, s-pack50.adb, i-fortra.adb, s-pack15.adb,
-	a-ngcefu.adb, g-sptavs.ads, g-binenv.ads, s-wchjis.adb, a-calari.ads,
-	a-timoio.ads, a-decima.adb, s-flocon.ads, s-wchcon.ads, a-llfzti.ads,
-	i-fortra.ads, s-pack50.ads, s-pack15.ads, a-ngcefu.ads, a-cfhase.adb,
-	s-wchjis.ads, g-soliop.ads, a-decima.ads, a-chlat9.ads, s-pack24.adb,
-	a-nlelfu.ads, a-cfhase.ads, g-locfil.adb, s-atocou-builtin.adb,
-	s-memcop.ads, a-szunau.adb, s-pack24.ads, s-imgllb.adb, s-auxdec.adb,
-	g-locfil.ads, s-pack33.adb, a-szunau.ads, s-parame-vxworks.adb,
-	s-imgllb.ads, a-ciorma.adb, s-auxdec.ads, a-cobove.adb, s-dsaser.ads,
-	a-elchha.adb, s-pack33.ads, a-cofuve.adb, s-parame-vxworks.ads,
-	a-ciorma.ads, system-darwin-x86.ads, s-multip.adb, a-stwiun-shared.adb,
-	a-wichun.adb, a-cobove.ads, s-imgbiu.adb, s-tsmona-mingw.adb,
-	a-coormu.adb, a-siocst.adb, s-win32.ads, a-elchha.ads, s-pack42.adb,
-	s-pack07.adb, a-cofuve.ads, system-hpux.ads, a-teioed.adb,
-	a-convec.adb, g-speche.adb, s-multip.ads, a-stwiun-shared.ads,
-	a-wichun.ads, s-imgbiu.ads, a-numeri.ads, a-siocst.ads, a-coormu.ads,
-	a-lliwti.ads, s-pack42.ads, s-pack07.ads, a-teioed.ads, a-convec.ads,
-	g-speche.ads, g-socthi.adb, a-nucoty.ads, a-szmzco.ads, s-pack51.adb,
-	s-osprim-mingw.adb, s-casi64.adb, g-strspl.ads, g-socthi.ads,
-	g-socket-dummy.adb, s-pack51.ads, s-dimmks.ads, s-casi64.ads,
-	a-wtenau.adb, s-stchop-vxworks.adb, s-pack60.adb,
-	system-solaris-sparc.ads, s-pack25.adb, g-socket-dummy.ads,
-	a-exstat.adb, a-cofuma.adb, s-tsmona-linux.adb, a-wtenau.ads,
-	s-pack60.ads, s-pack25.ads, i-cstrea.adb, a-cofuma.ads, g-exptty.adb,
-	a-chzla1.ads, s-pack34.adb, i-cstrea.ads, s-excdeb.adb, a-iteint.ads,
-	g-exptty.ads, i-pacdec.adb, s-pack34.ads, s-rident.ads, s-sopco3.adb,
-	i-vxwork.ads, s-excdeb.ads, system-linux-ppc.ads, a-swuwti-shared.adb,
-	s-widlli.adb, s-pack43.adb, i-pacdec.ads, a-cwila9.ads, s-sopco3.ads,
-	a-fwteio.ads, s-widlli.ads, s-pack43.ads, a-suhcin.adb, a-wtdeau.adb,
-	g-allein.ads, a-suezst.adb, a-dirval-mingw.adb, g-zspche.adb,
-	s-bignum.adb, a-ztedit.adb, g-regist.adb, a-nllefu.ads, a-ztcoio.adb,
-	s-pack52.adb, a-llctio.ads, a-nucoar.ads, s-pack17.adb, a-suhcin.ads,
-	a-wtdeau.ads, a-suezst.ads, a-dirval.adb, g-zspche.ads, g-regist.ads,
-	a-ztedit.ads, s-bignum.ads, a-wtcstr.adb, system.ads, s-pack52.ads,
-	a-ztcoio.ads, s-pack17.ads, s-imgboo.adb, a-rbtgso.adb, a-dirval.ads,
-	a-cohase.adb, s-pack61.adb, a-wtcstr.ads, s-pack26.adb, s-osprim.ads,
-	a-tigeau.adb, s-imgboo.ads, a-nuelfu.ads, a-swfwha.ads, s-commun.adb,
-	g-socthi-vxworks.adb, a-rbtgso.ads, a-cohase.ads, g-zstspl.ads,
-	s-pack61.ads, s-pack26.ads, a-intnam-dragonfly.ads, s-imglld.adb,
-	a-tigeau.ads, s-commun.ads, g-socthi-vxworks.ads, a-cborma.adb,
-	a-stwifi.adb, g-moreex.adb, s-pack35.adb, s-imglld.ads, s-valdec.adb,
-	a-tifiio.adb, a-cborma.ads, g-moreex.ads, a-stwifi.ads, s-pack35.ads,
-	s-sopco4.adb, g-sha224.ads, g-socket.adb, a-intnam-rtems.ads,
-	s-finmas.adb, s-valdec.ads, s-addima.adb, a-finali.adb, a-tifiio.ads,
-	s-rpc.adb, a-ztflio.adb, s-pack44.adb, s-pack09.adb, a-sblcin.adb,
-	s-sopco4.ads, a-textio.adb, g-socket.ads, g-sptabo.ads, s-finmas.ads,
-	g-shsh32.adb, s-addima.ads, a-finali.ads, s-mmauni-long.ads, s-rpc.ads,
-	a-ztflio.ads, system-djgpp.ads, s-stache.adb, s-pack44.ads,
-	s-pack09.ads, a-sblcin.ads, a-textio.ads, a-cidlli.adb, g-shsh32.ads,
-	a-chtgbk.adb, a-tiocst.adb, s-pack53.adb, s-pack18.adb, s-stache.ads,
-	a-zchhan.adb, s-fatlfl.ads, a-ztinio.adb, s-strops.adb, a-siteio.ads,
-	a-cidlli.ads, a-chtgbk.ads, g-ssvety.ads, a-tiocst.ads, s-pack53.ads,
-	s-parame-hpux.ads, s-pack18.ads, a-zchhan.ads, s-strops.ads,
-	a-ztinio.ads, a-wichha.adb, a-stwima.adb, a-nlrear.ads, a-liteio.ads,
-	s-pack62.adb, s-pack27.adb, s-fore.adb, s-vercon.adb, a-wichha.ads,
-	a-stwima.ads, s-pack62.ads, system-linux-sparc.ads, s-pack27.ads,
-	g-dynhta.adb, s-fore.ads, s-vercon.ads, a-cofuba.adb, a-cimutr.adb,
-	i-cpoint.adb, s-imgenu.adb, a-stwibo.adb, s-pack36.adb, i-cstrin.adb,
-	s-imgllu.adb, a-suteio-shared.adb, g-excact.adb, s-stoele.adb,
-	s-addope.adb, g-dynhta.ads, a-cofuba.ads, a-ztmoio.adb, a-llfwti.ads,
-	a-cimutr.ads, i-cpoint.ads, s-imgenu.ads, a-stwibo.ads, a-wttest.adb,
-	s-pack36.ads, a-tgdico.ads, s-sopco5.adb, s-scaval.adb, i-cstrin.ads,
-	s-imgllu.ads, g-excact.ads, s-stoele.ads, g-deutst.ads, s-addope.ads,
-	s-imgwch.adb, g-sha384.ads, a-ztmoio.ads, s-pack45.adb, a-wttest.ads,
-	s-sopco5.ads, s-excmac-gcc.adb, s-scaval.ads, a-storio.adb,
-	a-coinho.adb, a-btgbso.adb, s-imgwch.ads, s-carun8.adb, memtrack.adb,
-	s-pack45.ads, a-sfhcin.ads, s-excmac-gcc.ads, a-storio.ads,
-	a-coinho.ads, a-btgbso.ads, s-stratt.adb, s-carun8.ads, a-shcain.adb,
-	s-pack54.adb, s-pack19.adb, a-colire.adb, a-tigeli.adb, s-caun64.adb,
-	s-stratt.ads, s-fatgen.adb, a-shcain.ads, a-stzunb-shared.adb,
-	s-pack54.ads, s-pack19.ads, a-colire.ads, a-calcon.adb, s-caun64.ads,
-	s-fatgen.ads, s-pack63.adb, g-arrspl.adb, a-stzunb-shared.ads,
-	s-pack28.adb, a-nllrar.ads, a-zzboio.adb, a-zzunio.ads, a-stunau.adb,
-	a-calcon.ads, g-cgideb.adb, s-objrea.adb, s-mastop.adb, a-tienau.adb,
-	g-altcon.adb, g-arrspl.ads, s-pack63.ads, s-restri.adb, s-pack28.ads,
-	a-zzboio.ads, a-stunau.ads, g-cgideb.ads, g-htable.adb, g-sothco.adb,
-	s-objrea.ads, g-soliop-solaris.ads, s-mastop.ads, a-tienau.ads,
-	system-linux-m68k.ads, g-altcon.ads, s-dmotpr.ads, s-memory-mingw.adb,
-	g-cgicoo.adb, s-pack37.adb, s-restri.ads, s-fatllf.ads, s-expmod.adb,
-	a-swuwha.adb, a-exextr.adb, a-cfhama.adb, s-gloloc-mingw.adb,
-	a-tiboio.adb, g-forstr.adb, g-sothco.ads, a-stzbou.adb, a-nllcty.ads,
-	a-suecin.adb, g-htable.ads, s-exctab.adb, a-tiunio.ads, g-cgicoo.ads,
-	s-osprim-posix.adb, s-pack37.ads, a-ciormu.adb, s-atocou-x86.adb,
-	a-swuwha.ads, s-expmod.ads, a-cfhama.ads, s-ficobl.ads, a-ngcoty.adb,
-	g-forstr.ads, a-tiboio.ads, a-calfor.adb, a-stzbou.ads, a-suecin.ads,
-	a-conhel.adb, a-crbltr.ads, s-exctab.ads, a-dhfina.ads, s-imgcha.adb,
-	s-pack46.adb, a-ciormu.ads, system-linux-sh4.ads, a-chahan.adb,
-	a-ngcoty.ads, a-stzunb.adb, a-szfzha.ads, a-calfor.ads, a-cbdlli.adb,
-	a-conhel.ads, s-imgcha.ads, s-pack46.ads, a-assert.adb, a-chahan.ads,
-	a-stzunb.ads, a-crdlli.adb, s-pack55.adb, a-cbdlli.ads, a-tideau.adb,
-	a-assert.ads, ioexcept.ads, s-boarop.ads, g-hesora.adb, a-crdlli.ads,
-	s-pack55.ads, a-tideau.ads, g-bubsor.adb, a-wtenio.adb, a-cbsyqu.adb,
-	g-hesora.ads, s-pack29.adb, a-nurear.ads, g-catiio.adb, s-stposu.adb,
-	g-bubsor.ads, a-wtenio.ads, a-cbsyqu.ads, a-suewst.adb,
-	system-vxworks-x86.ads, s-pack29.ads, a-cbmutr.adb, a-cbprqu.adb,
-	s-imenne.adb, g-sothco-dummy.adb, g-casuti.adb, g-catiio.ads,
-	s-stposu.ads, a-stzsea.adb, s-pack38.adb, a-suewst.ads, s-imgllw.adb,
-	a-cbprqu.ads, a-cbmutr.ads, s-imenne.ads, g-sothco-dummy.ads,
-	g-casuti.ads, s-htable.adb, s-fatsfl.ads, g-trasym.adb, unchconv.ads,
-	a-stzsea.ads, s-arit64.adb, s-pack38.ads, a-nllcar.ads, s-valrea.adb,
-	s-imgllw.ads, s-htable.ads, a-sequio.adb, g-trasym.ads, a-ngcoar.adb,
-	s-exnllf.adb, s-pack47.adb, s-arit64.ads, g-sercom-mingw.adb,
-	s-valrea.ads, g-socthi-mingw.adb, g-bytswa.adb, g-sehash.adb,
-	unchdeal.ads, a-sequio.ads, a-ngcoar.ads, s-exnllf.ads, a-wtdeio.adb,
-	s-pack47.ads, g-socthi-mingw.ads, a-excpol-abort.adb, a-ztgeau.adb,
-	g-bytswa.ads, g-sehash.ads, s-pack56.adb, a-wtdeio.ads, a-ngelfu.adb,
-	a-ztgeau.ads, a-cforse.adb, s-filatt.ads, a-stzfix.adb, a-cihase.adb,
-	s-pack56.ads, a-sfztio.ads, a-ngelfu.ads, s-trasym-dwarf.adb,
-	a-cforse.ads, a-ztfiio.adb, g-timsta.adb, a-stzfix.ads, a-cihase.ads,
-	a-ztfiio.ads, system-darwin-arm.ads: Move non-tasking runtime sources
-	to libgnat subdirectory.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_aux.adb, sem_aux.ads (Get_Called_Entity): New function to
-	return the entity associated with the call.
-	* sem_util.adb, sem_util.ads (Check_Function_Writable_Actuals):
-	Replace the internal Get_Function_Id with the new
-	Sem_Aux.Get_Called_Entity.
-	(Iterate_Call_Parameters): New
-	procedure to iterate on formals and actuals at the same time.
-	* sem_ch12.adb (Analyze_Subprogram_Instantiation):
-	Set SPARK_Mode from spec when set, for analysis
-	of instance. Restore after analysis of instance.
-	(Instantiate_Subprogram_Body): Set SPARK_Mode from body when
-	set, for analysis of body instance. Restored automatically at
-	the end of the subprogram.
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Check_Validity_Of_Parameters to False in GNATprove mode.
-	* opt.ads (Check_Validity_Of_Parameters): Document switch to
-	set option.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.adb (NCT_Tables_In_Use): Move to library level from...
-	(New_Copy_Tree): ...there.  Reset the hash tables only if they
-	were used in the previous invocation.
-	* s-htable.adb: Fix typo.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-ssicst.adb (Open): Set File.Last_Op to the appropriate value.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_aggr.adb: minor style fix.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sprint.adb (Write_Corresponding_Source): Ignore if there is
-	no current source file.
-	(Write_Name_With_Col_Check, Write_Name_With_Col_Check_Sloc):
-	Print something helpful in case N is invalid.
-	* sprint.ads: Minor comment fix.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb: (Aggr_Assignment_OK_For_Backend): Add early return for
-	access types.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* par-prag.adb, sem_prag.adb, snames.ads-tmpl: Implement pragma
-	Ada_2020, along the same lines as the other Ada version pragmas.
-
-2017-09-08  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch12.adb: Minor typo fixes and reformatting.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_aggr.adb (Resolve_Record_Aggregate):
-	Rewrite bounds of aggregate subexpressions which may depend on
-	discriminants of the enclosing aggregate.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch5.adb: Prevent assertion failure on illegal code.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs.Is_SPARK_Scope): Avoid
-	calling Renamed_Entity on an entity which cannot be a renaming.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb: Add with & use clause for Urealp.
-	(Aggr_Assignment_OK_For_Backend): Accept (almost all)
-	elementary types instead of just discrete types.
-	* sem_eval.adb (Expr_Value): Deal with N_Null for access types.
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
-	Be prepared for the FP zero value in the memset case.  Add small
-	guard.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-htable.adb (Static_HTable.Reset): Use aggregate instead
-	of loop.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Expand_Array_Aggregate): Use New_Copy_Tree instead
-	of New_Copy because the latter leaves the syntactic structure of
-	the tree inconsistent (a child is accessible through two parents)
-	and prevents proper replication of itypes by subsequent calls
-	to New_Copy_Tree.
-	* exp_ch4.adb (Expand_Concatenate): Use New_Copy_Tree instead of
-	New_Copy because the latter leaves the syntactic structure of the
-	tree inconsistent (a child is accessible through two parents)
-	and prevents proper replication of itypes by subsequent calls
-	to New_Copy_Tree.
-	* sem_util.adb (In_Subtree): New routine.
-	(New_Copy_Tree): Reimplemented.
-	* sem_util.ads (In_Subtree): New routine.
-	(New_Copy_Tree): Reimplemented.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression
-	for aspect Default_Value is a static scalar value, but it does
-	not freeze the type. Yhis allows for subsequent representation
-	clauses for the type.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch8.adb (Find_Direct_Name.Undefined): Do
-	not add entries into the undefined reference table when we are
-	compiling with errors ignored.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Packages): Do not apply conformance
-	check if the instance is within an enclosing instance body. The
-	formal package was legal in the enclosing generic, and is
-	legal in the enclosing instantiation.  This optimisation may be
-	applicable elsewhere, and it also removes spurious errors that
-	may arise with on-the-fly processing  of instantiations that
-	contain Inline_Always subprograms.
-
-2017-09-08  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: Disregard empty argument of GNAT driver.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Manually decorate
-	the generated temporary for range valdity checks.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* usage.adb (Usage): Document new -gnatw.q/-gnatw.Q switches.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* switch-c.adb (Scan_Front_End_Switches): Add new warning switch
-	case to handle underscore flags.
-	* warnsw.adb, warnsw.ads (Set_Underscore_Warning_Switch): Create
-	new procedure to handle underscores.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Divide): Reordering code that handles
-	divisions with fixed point results to avoid generating twice
-	the runtime check on divide by zero.
-	* checks.adb (Apply_Divide_Checks): Ensure that operands are
-	not evaluated twice (once for their runtime checks and once for
-	their regular computation).
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Part_Of): Add missing
-	return statements after issuing errors.  Add detection of
-	out-of-order item and single concurrent type.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* gcc-interface/Makefile.in, a-extiti.ads, s-taprop-linux.adb,
-	s-osinte-solaris.adb, a-intnam.ads, s-osinte-solaris.ads,
-	s-tpobop.adb, s-intman-android.adb, s-tasinf.adb, s-tpobop.ads,
-	s-tasinf.ads, i-vxinco.adb, a-exetim-posix.adb, i-vxinco.ads,
-	a-astaco.adb, a-astaco.ads, s-tporft.adb, s-tpoaal.adb, a-taside.adb,
-	a-taside.ads, s-tpopsp-posix.adb, s-tasdeb.adb, s-tasdeb.ads,
-	s-tpoben.adb, a-dinopr.ads, s-inmaop-vxworks.adb, s-tpoben.ads,
-	s-interr-vxworks.adb, s-interr-dummy.adb, s-tassta.adb,
-	a-intnam-mingw.ads, s-tassta.ads, s-taasde.adb, a-stcoed.ads,
-	s-taasde.ads, s-osinte-darwin.adb, s-proinf.adb, s-taprop-dummy.adb,
-	s-osinte-darwin.ads, s-proinf.ads, s-linux.ads, a-intnam-linux.ads,
-	s-tasren.adb, s-tasren.ads, s-mudido.adb, g-semaph.adb, s-mudido.ads,
-	s-taprop-posix.adb, g-semaph.ads, s-osinte-mingw.ads, s-vxwork-x86.ads,
-	s-tposen.adb, s-linux-sparc.ads, s-taprop-vxworks.adb, s-tasini.adb,
-	s-tposen.ads, s-tasini.ads, a-etgrbu.ads, s-interr-hwint.adb,
-	s-osinte-linux.ads, s-taprop.ads, s-tasque.adb, s-tasque.ads,
-	s-taenca.adb, s-taspri-vxworks.ads, s-taenca.ads, a-dynpri.adb,
-	s-tpopsp-solaris.adb, a-dynpri.ads, s-taprop-hpux-dce.adb,
-	a-interr.adb, a-intnam-freebsd.ads, s-tarest.adb, a-interr.ads,
-	s-intman-susv3.adb, a-synbar.adb, a-intnam-dummy.ads, s-tadeca.adb,
-	s-osinte-vxworks.adb, s-tarest.ads, s-taskin.adb, a-synbar.ads,
-	s-taspri-hpux-dce.ads, s-tadeca.ads, s-osinte-vxworks.ads,
-	s-taskin.ads, s-intman-solaris.adb, a-sytaco.adb, s-vxwext-kernel.adb,
-	s-mudido-affinity.adb, a-sytaco.ads, s-vxwext-kernel.ads, s-taprob.adb,
-	s-intman-mingw.adb, s-taprob.ads, s-osinte-kfreebsd-gnu.ads,
-	s-osinte-dummy.ads, s-osinte-gnu.adb, s-osinte-rtems.adb, s-interr.adb,
-	s-inmaop.ads, s-vxwext-rtp.adb, s-osinte-gnu.ads, s-osinte-rtems.ads,
-	a-synbar-posix.adb, s-interr.ads, s-taspri-posix-noaltstack.ads,
-	s-vxwext-rtp.ads, a-synbar-posix.ads, a-extiin.ads, s-osinte-posix.adb,
-	s-tpinop.adb, s-tasres.ads, s-tpinop.ads, a-disedf.ads, a-diroro.ads,
-	s-linux-alpha.ads, a-tasatt.adb, s-solita.adb, a-intnam-solaris.ads,
-	a-tasatt.ads, s-solita.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
-	s-vxwork-arm.ads, s-tpopsp-posix-foreign.adb, s-intman-dummy.adb,
-	s-intman.ads, s-stusta.adb, s-stusta.ads, s-intman-posix.adb,
-	s-tpopsp-vxworks.adb, s-inmaop-dummy.adb, s-taspri-mingw.ads,
-	a-intnam-darwin.ads, s-osinte-aix.adb, s-osinte-dragonfly.adb,
-	s-osinte-aix.ads, s-tasinf-mingw.adb, s-osinte-dragonfly.ads,
-	s-linux-hppa.ads, s-osinte-x32.adb, s-inmaop-posix.adb,
-	s-tasinf-mingw.ads, s-intman-vxworks.adb, s-linux-mips.ads,
-	s-intman-vxworks.ads, s-osinte-android.adb, s-tasinf-linux.adb,
-	s-osinte-android.ads, s-vxwork-ppc.ads, s-tasinf-linux.ads,
-	a-dispat.adb, a-dispat.ads, s-tadert.adb, g-thread.adb, s-tadert.ads,
-	g-thread.ads, a-intnam-hpux.ads, s-linux-android.ads, s-tataat.adb,
-	a-exetim.ads, s-tataat.ads, a-reatim.adb, a-reatim.ads, thread.c,
-	g-boubuf.adb, s-osinte-freebsd.adb, g-boubuf.ads, s-osinte-freebsd.ads,
-	s-tasuti.adb, s-taspri-dummy.ads, a-exetim-mingw.adb, s-linux-x32.ads,
-	s-tasuti.ads, g-signal.adb, a-exetim-mingw.ads, s-interr-sigaction.adb,
-	g-signal.ads, s-osinte-hpux.ads, a-intnam-vxworks.ads,
-	s-osinte-hpux-dce.adb, s-taspri-posix.ads, s-osinte-hpux-dce.ads,
-	s-tasinf-vxworks.ads, g-tastus.ads, s-tpopsp-tls.adb,
-	s-taprop-solaris.adb, a-retide.adb, a-exetim-darwin.adb, a-retide.ads,
-	s-vxwext.adb, s-vxwext.ads, a-rttiev.adb, a-rttiev.ads, g-boumai.ads,
-	a-exetim-default.ads, s-taprop-mingw.adb, s-taspri-solaris.ads,
-	a-intnam-aix.ads: Move libgnarl sources to libgnarl subdir.
-
-2017-09-08  Arnaud Charlet <charlet@adacore.com>
-
-	* doc/share/conf.py, doc/share/latex_elements.py,
-	doc/share/ada_pygments.py, doc/Makefile: Improve support for Ada
-	highlighting.
-
-2017-09-08  Arnaud Charlet <charlet@adacore.com>
-
-	* gnat_rm.texi, gnat_ugn.texi,
-	doc/gnat_ugn/the_gnat_compilation_model.rst,
-	doc/gnat_ugn/getting_started_with_gnat.rst,
-	doc/gnat_ugn/inline_assembler.rst,
-	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
-	doc/gnat_ugn/about_this_guide.rst,
-	doc/gnat_ugn/platform_specific_information.rst,
-	doc/gnat_ugn/example_of_binder_output.rst,
-	doc/gnat_ugn/gnat_and_program_execution.rst,
-	doc/gnat_ugn/gnat_utility_programs.rst,
-	doc/gnat_rm/implementation_of_specific_ada_features.rst,
-	doc/gnat_rm/interfacing_to_other_languages.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst,
-	doc/gnat_rm/intrinsic_subprograms.rst,
-	doc/gnat_rm/implementation_defined_characteristics.rst,
-	doc/gnat_rm/implementation_advice.rst,
-	doc/gnat_rm/implementation_defined_attributes.rst,
-	doc/gnat_rm/compatibility_and_porting_guide.rst,
-	doc/gnat_rm/standard_library_routines.rst,
-	doc/gnat_rm/the_gnat_library.rst,
-	doc/gnat_rm/implementation_defined_pragmas.rst,
-	doc/gnat_rm/representation_clauses_and_pragmas.rst,
-	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-	doc/gnat_rm/obsolescent_features.rst,
-	doc/gnat_rm/about_this_guide.rst,
-	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
-	doc/gnat_rm/implementation_of_ada_2012_features.rst,
-	doc/gnat_ugn.rst,
-	doc/gnat_rm.rst: Update documentation.
-
-2017-09-08  Arnaud Charlet <charlet@adacore.com>
-
-	* s-dwalin.ads, s-dwalin.adb, s-trasym-dwarf.adb, s-objrea.ads,
-	s-objrea.adb, s-tsmona-linux.adb, s-tsmona-mingw.adb: New.
-	* gcc-interface/Makefile.in: Enable s-trasym-dwarf.adb on x86*linux.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* s-ststop.ads, s-ststop.adb, rtsfind.ads (String_Input_Tag):
-	New routine to read the Tag robustly.
-	* exp_attr.adb (Input): Change the expansion of 'Input,
-	in the class-wide case, to call String_Input_Tag instead of
-	String_Input_Blk_IO.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-rident.ads (Restriction_Id): reorder enum
-	literals, so that Pure_Barriers is no longer in range of the
-	Cunit_Boolean_Restrictions subtype.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* a-taster.ads, a-taster.adb: Move to libgnarl
-	* gcc-interface/Makefile.in: Remove obsolete targets. Code cleanups.
-	Add support for files in libgnarl.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Type_Conversion): Do not apply
-	accessibility check to an interface conversion, whose purpose
-	is to perform a pointer adjustment in a dispatching call.
-	* exp_ch6.adb (Expand_Call_JHelper): Add accessibility checks
-	when the actual is a construct that involves a dereference of an
-	expression that includes a formal of the enclosing subprogram,
-	In such cases, the accessibility level of the actual is that of
-	the corresponding formal, which is passed in as an additional
-	actual in the outer call.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* exp_intr.adb (Add_Source_Info): Do not decode
-	file names; they were not encoded in the first place.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-tags.adb (Internal_Tag): Unsuppress checks, so we get
-	exceptions instead of crashes. Check for absurdly long strings
-	and empty strings. Empty strings cause trouble because they can
-	have super-null ranges (e.g. 100..10), which causes Ext_Copy to
-	be empty, which causes an array index out of bounds.
-	* s-ststop.adb (Input): Unsuppress checks, so we get exceptions
-	instead of crashes.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Is_CCT_Instance): allow use in
-	the context of protected types.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-tigeli.adb: minor remove extra whitespace.
-
-2017-09-08  Gary Dismukes  <dismukes@adacore.com>
-
-	* par-ch4.adb: Reformatting of an error message.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Resolve_Name): Under ASIS mode analyze overloaded
-	identifiers to ensure their correct decoration of names on
-	aspect expressions.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* exp_attr.adb (Expand_Loop_Entry_Attribute): Do
-	not skip a loop coming from source which is rewritten into a loop.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Wrap_Imported_Subprogram): Indicate that the
-	wrapper has convention Ada, to prevent spurious warnings on
-	unconstrained array parameters.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_prag.adb (Check_Variant): Use First_Non_Pragma/Next_Non_Pragma.
-	(Analyze_Pragma) <Pragma_Unchecked_Union>: Likewise.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): Rename Spec_Id into Def_Id.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_intr.adb (Append_Entity_Name): Move to ...
-	* sem_util.ads, sem_util.adb: ... here to share it.
-	(Subprogram_Name): New subprogram, to compute the name of the enclosing
-	subprogram/entity.
-	* errutil.adb (Error_Msg): Fill new field Node.
-	* erroutc.ads (Subprogram_Name_Ptr): New.
-	(Error_Msg_Object): New field Node.
-	* erroutc.adb (dmsg, Output_Msg_Text): Take new field Node into account.
-	* errout.adb (Error_Msg): New variant with node id parameter.
-	Fill new parameter Node when emitting messages. Revert previous
-	changes for Include_Subprogram_In_Messages.
-	* sem_ch5.adb (Check_Unreachable_Code): Supply Node parameter when
-	generating warning message.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch4.adb (P_Iterated_Component_Association): Place construct
-	under -gnat2020 flag, given that it is a future feature of
-	the language.
-	* sem_aggr.adb (Resolve_Iterated_Component_Association): Mark
-	defining identifier as referenced to prevent spurious warnings:
-	corresponding loop is expanded into one or more loops whose
-	variable has the same name, and the expression uses those names
-	and not the original one.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_A_Call): Do not consider
-	references to internal variables for SPARK semantics.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* inline.adb (In_Package_Spec): refine type of
-	the parameter from Node_Id to Entity_Id.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch5.adb (Expand_Formal_Container_Loop):
-	Reset the scope of the loop parameter after it is reanalyzed.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.ads (Set_Rep_Info): New inline procedure.
-	* sem_util.adb (Set_Rep_Info): Implement it.
-	* sem_ch3.adb (Process_Subtype): If the case of a constraint present,
-	always copy the representation aspects onto the subtype.
-
-2017-09-08  Georges-Alex Jaloyan  <jaloyan@adacore.com>
-
-	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_key):
-	Correction of the return type from access type to option type.
-	(Simple_HTable): Moving the Instance_Data to ads file.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb: Use System.Case_Util.To_Lower to simplify code.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* opt.ads (Include_Subprogram_In_Messages): New variable.
-	* errout.ads (Current_Subprogram_Ptr): New variable.
-	* errout.adb (Error_Msg): Prepend current subprogram info
-	in messages if Include_Subprogram_In_Messages is set.
-	* sem_util.adb (elab code): Initialize Current_Subprogram_Ptr to
-	Current_Subprogram.
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Include_Subprogram_In_Messages when -gnatdJ is set.
-	* debug.adb: Document and reserve -gnatdJ.
-
-2017-09-08  Georges-Axel Jaloyan  <jaloyan@adacore.com>
-
-	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_Key): New
-	functions to iterate over simple hastables.
-	(Load_Factor_HTable): Remove obsolete and inefficient implementation.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Unqual_BIP_Function_Call): Adding
-	missing checks on the presence of Entity() before checking the
-	entity attributes.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Reorder some
-	statements, use local variable and remove unnecessary processing.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.ads (Make_Build_In_Place_Iface_Call_In_Allocator): New
-	subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context): New subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
-	subprogram.
-	(Unqual_BIP_Iface_Function_Call): New subprogram.
-	* exp_ch6.adb (Replace_Renaming_Declaration_Id): New
-	subprogram containing code that was previously inside
-	Make_Build_In_Place_Call_In_Object_Declaration since it is also
-	required for one of the new subprograms.
-	(Expand_Actuals):
-	Invoke Make_Build_In_Place_Iface_Call_In_Anonymous_Context
-	(Expand_N_Extended_Return_Statement): Extend the
-	cases covered by an assertion on expected BIP object
-	declarations.
-	(Make_Build_In_Place_Call_In_Assignment):
-	Removing unused code; found working on this ticket.
-	(Make_Build_In_Place_Call_In_Object_Declaration): Move the code
-	that replaces the internal name of the renaming declaration
-	into the new subprogram Replace_Renaming_Declaration_Id.
-	(Make_Build_In_Place_Iface_Call_In_Allocator): New subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context):
-	New subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
-	subprogram.
-	(Unqual_BIP_Iface_Function_Call): New subprogram.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Invoke the new
-	subprogram Make_Build_In_Place_Iface_Call_In_Object_Declaration.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Invoke the new
-	subprogram Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	* exp_ch4.adb (Expand_Allocator_Expression): Invoke the new
-	subprogram Make_Build_In_Place_Iface_Call_In_Allocator.
-	(Expand_N_Indexed_Component): Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	(Expand_N_Selected_Component): Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	(Expand_N_Slice): Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration):
-	Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Expand_Interface_Conversion): Fix handling of
-	access to interface types.  Remove also the accessibility check.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): Really freeze
-	all the types that are referenced by the expression.
-	(Analyze_Expression_Function): Call Freeze_Expr_Types for
-	a completion instead of manually freezing the type of the
-	expression.
-	(Analyze_Subprogram_Body_Helper): Do not call Freeze_Expr_Types here.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_prag.adb (Replace_Discriminals_Of_Protected_Op):
-	New procedure, auxiliary to Expand_Pragma_Check, to handle
-	references to the discriminants of a protected type within a
-	precondition of a protected operation. This is needed because
-	the original precondition has been analyzed in the context of
-	the protected declaration, but in the body of the operation
-	references to the discriminants have been replaved by references
-	to the discriminants of the target object, and these references
-	are only created when expanding the protected body.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Issue more precise error messages on
-	Loop_Variant.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Build_Record_VS_Func): If the record is an
-	unchecked union, do not emit checks for its (non-existent)
-	discriminants, or for variant parts that depend on them.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Find_Equality_Types.Try_One_Interp,
-	Find_Comparison_Type.Try_One_Interp): Add check for generic
-	instances.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch3.adb, layout.adb, layout.ads, exp_attr.adb, debug.adb,
-	exp_pakd.adb, sem_prag.adb, gnat1drv.adb, targparm.adb, targparm.ads,
-	repinfo.adb, exp_ch6.adb, exp_aggr.adb, sem_eval.adb, sem_ch13.adb,
-	exp_ch3.adb: Remove references to Frontend_Layout_On_Target and
-	remaining references to AAMP_On_Target.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* style.adb: Fix typo.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.adb (Underlying_Type): Add missing support for class-wide
-	types that come from the limited view.
-	* exp_attr.adb (Attribute_Address): Check class-wide type
-	interfaces using the underlying type to handle limited-withed
-	types.
-	(Attribute_Tag): Check class-wide type interfaces using
-	the underlying type to handle limited-withed types.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Expand_Predicated_Loop): Handle properly a loop
-	over a subtype of a type with a static predicate, taking into
-	account the predicate function of the parent type and the bounds
-	given in the loop specification.
-	* sem_ch3.adb (Inherit_Predicate_Flags): For qn Itype created for
-	a loop specification that is a subtype indication whose type mark
-	is a type with a static predicate, inherit predicate function,
-	used to build case statement for rewritten loop.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* lib-load.adb: Modify printing of error message to exclude file
-	line number.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode):
-	don't inline subprograms declared in both visible and private
-	parts of a package.
-	(In_Package_Spec): previously In_Package_Visible_Spec; now
-	detects subprograms declared both in visible and private parts
-	of a package spec.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Build_Invariant_Procedure_Declaration): If
-	the type is an anonymous array in an object declaration, whose
-	component type has an invariant, use the object declaration
-	as the insertion point for the invariant procedure, given that
-	there is no explicit type declaration for an anonymous array type.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-cbprqu.ads, a-cbdlli.adb: Suppress warnings.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-strfix.adb (Trim): Compute Low and High only if needed.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* lib-load.adb (Load_Main_Source): Add error output in the case a
-	source file is missing.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-PR ada/80888
-	* a-textio.adb, a-witeio.adb, a-ztexio.adb (Set_WCEM): Use
-	Default_WCEM by default (i.e. if the encoding is not specified
-	by the Form string).
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* s-trasym.ads (Hexa_Traceback): If
-	Suppress_Hex is True, print "..." instead of a hexadecimal
-	address.
-	* s-trasym.adb: Ignore No_Hex in this version.
-	Misc cleanup.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* debug.adb: Minor reformatting.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-cbdlli.adb, a-cohama.adb, a-cohase.adb (Copy): Rewrite the
-	code so it doesn't trigger an "uninit var" warning.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* s-hibaen.ads: Remove obsolete file.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-locale.ads: Add comment explaining the state of this package.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Is_CCT_Instance): Allow calls in the context
-	of packages.
-	* sem_prag.ads, sem_prag.adb (Find_Related_Declaration_Or_Body):
-	allow calls in the context of package spec (for pragma
-	Initializes) and bodies (for pragma Refined_State).
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Copy the Do_Range_Check flag to the
-	new Exp.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* debug.adb (dA): Adjust comment.
-	* gnat1drv.adb (Gnat1drv): Likewise.
-	* opt.ads (List_Representation_Info_Extended): New variable.
-	* repinfo.adb (List_Record_Info): Split implementation into...
-	(Compute_Max_Length): ...this.	Recurse on records if requested.
+	(Collect_Primitive_Operations): Handle untagged private types completed
+	with a derivation of an untagged private type whose full view is a
+	tagged type. In such case, collecting the list of primitives we may
+	find two equality primitives: one associated with the untagged private
+	and another associated with the ultimate tagged type (and we must
+	remove from the returned list this latter one).
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Handle statement sequences that include an
+	At_End handler.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Entities): Also recurse into blocks without label.
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Subprogram_Body): Do not generate push/pop for
+	exceptions if subprogram unnesting is in effect, because these branch
+	nodes are relevant only in the presence of nested subprograms.
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* libgnat/s-fatgen.adb (Succ, Pred):  Raise Constraint_Error
+	unconditionally when applied to the largest positive (resp. largest
+	negative) value of a floating-point type.
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb: Clarify use of Activation_Record_Component:
+	discriminants and exceptions are never components of such.  The flag
+	Needs_Activation_Record is set on subprogram types, not on access to
+	them.
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb: Set scope of component of subtype.
+
+2018-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Exclude selected components whose prefix
+	carry no type. Such selected components appear in unit names that are
+	child units, both in the specification and possibly in an end label for
+	the unit, and they do not contain any relevant uplevel references.
+
+2018-05-29  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnat/a-calend.ads, libgnat/a-calend.adb (Epoch_Offset): Make it a
+	function.
+
+2018-05-29  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/system-vxworks7-ppc-rtp.ads: New file.
+	* libgnat/system-vxworks7-ppc-kernel.ads: New file.
+	* libgnat/system-vxworks7-e500-rtp.ads: New file.
+	* libgnat/system-vxworks7-e500-kernel.ads: New file.
+	* libgnat/system-vxworks7-x86-rtp.ads: New file.
+	* libgnat/system-vxworks-ppc64-kernel.ads: Rename as ...
+	* libgnat/system-vxworks7-ppc64-kernel.ads: and adjust name of
+	gnat-crtbe link spec to use the vx7 variant.
+
+2018-05-29  Olivier Hainque  <hainque@adacore.com>
+
+	* vx_crtbegin.inc: Use a consistent naming convention for the
+	registration/deregistration functions across RTP or kernel.  Remove the
+	ctor/dtor attribute setting based on RTP/kernel, expect the optional
+	attribute extension to be provided by includers instead.
+	* vx_crtbegin.c: Mere inclusion of vx_crtbegin.inc with empty attribute
+	extension for the registration/deregistration functions.
+	* vx_crtbegin_attr.c: New file. Include vx_crtbegin.inc with explicit
+	constructor/destructor attribute extensions.
+	* vx_crtbegin_array.c: New file. Include vx_crtbegin.inc with empty
+	attribute extensions and declare _ctors/_dtors arrays.
+	* vx_crtbegin_auto.c: Remove.
+	* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Use
+	vxworks7-gnat-crtbe-link.spec.
+	* libgnat/system-vxworks7-aarch64.ads: Likewise.
+	* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
+	* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+	* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
+	* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
+	* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
+	* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
+	* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
+
+2018-05-29  Piotr Trojanek  <trojanek@adacore.com>
+
+	* ali.adb: Minor reformatting.
+
+2018-05-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/gnat_ugn/platform_specific_information.rst: Update package
+	requirements for 32bit GNAT on x86_64-linux.
+	* gnat_ugn.texi: Regenerate.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (Debugging
+	Control): Adjust description of -gnatRj.
+	* gnat_ugn.texi: Regenerate.
+	* opt.ads (List_Representation_Info_To_JSON): Likewise.
+	* repinfo.adb (List_Rep_Info): Do not automatically create a file
+	if List_Representation_Info_To_JSON is true.
+	* switch-c.adb (Scan_Front_End_Switches) <R>: Remove incompatibility
+	check between -gnatRj and -gnatRs.
+	* usage.adb (Usage): Adjust description of -gnatRj.
+
+2018-05-29  Pascal Obry  <obry@adacore.com>
+
+	* libgnat/s-os_lib.adb (Normalize_Pathname): Fix handling of ".." in
+	the root directory.
+
+2018-05-29  Pascal Obry  <obry@adacore.com>
+
+	* libgnat/s-os_lib.adb: Minor reformatting.
+
+2018-05-29  Doug Rupp  <rupp@adacore.com>
+
+	* libgnat/a-calend.adb (Epoch_Offset): Move from body to ...
+	* libgnat/a-calend.ads (Epoch_Offset): to private part of spec
+	* libgnat/a-calcon.ads (To_Unix_Nano_Time): New function spec.
+	* libgnat/a-calcon.adb (To_Unix_Nano_Time): New function body.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.ads (JSON format): Document new pair for components.
+	* repinfo.adb (Derived_Discriminant): New function.
+	(List_Structural_Record_Layout): Add Outer_Ent parameter and pass it
+	in recursive calls. If the record type is the parent of an extension,
+	find and list the derived discriminant from the extension, if any.
+	(List_Component_Layout): List the Discriminant_Number in JSON mode.
+	(List_Record_Info): Adjust call to List_Structural_Record_Layout.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (Alphabetical
+	List of All Switches): Document -gnatRj.
+	(Debugging Control): Likewise.
+	* gnat_ugn.texi: Regenerate.
+	* opt.ads (List_Representation_Info_To_JSON): New boolean variable.
+	* osint-c.adb (Create_Repinfo_File): Use the .json instead of .rep
+	extension if List_Representation_Info_To_JSON is true.
+	* repinfo.ads: Document the JSON output format.
+	* repinfo.adb (List_Location): New procedure.
+	(List_Array_Info): Add support for JSON output.
+	(List_Entities): Likewise.
+	(Unop): Likewise.
+	(Binop): Likewise.
+	(Print_Expr): Likewise.
+	(List_Linker_Section): Likewise.
+	(List_Mechanisms): Likewise.
+	(List_Name): Likewise.
+	(List_Object_Info): Likewise.
+	(List_Record_Info): Likewise.
+	(List_Component_Layout): Likewise.  Add Indent parameter.
+	(List_Structural_Record_Layout): New procedure.
+	(List_Attr): Add support for JSON output.
+	(List_Type_Info): Likewise.
+	(Write_Unknown_Val): Likewise.
+	* switch-c.adb (Scan_Front_End_Switches) <R>: Deal with 'j'.
+	* usage.adb (Usage): List -gnatRj.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Component_Layout): New procedure extracted from...
+	(List_Record_Layout): ...here.  Invoke it.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (Write_Unknown_Val): New procedure.
+	(List_GCC_Expression): Call it.
 	(List_Record_Layout): Likewise.
-	* switch-c.adb (Scan_Front_End_Switches) <'R'>: Use case
-	statement, accept '0' and set List_Representation_Info_Extended
-	on 'e'.
-	* usage.adb (Usage): Document new -gnatRe variant.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
-	Do not save the given entity in the global variable Default_Pool
-	if the pragma appears within a generic unit.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* errout.adb (Delete_Warning): Do not
-	decrement Warnings_Treated_As_Errors. This is called before
-	Warnings_Treated_As_Errors has been incremented to account for
-	this warning. Decrementing it here can lead to negative values
-	of Warnings_Treated_As_Errors, raising Constraint_Error in
-	checks-on builds, and causing the compiler to return an error
-	code in checks-off builds.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_CCT_Instance): Only expect
-	entities of named concurrent types as Ref_Id and not of anonymous
-	concurrent objects (because callers already know when a conversion
-	is necessary and can easily do it); also, do not expect protected
-	types or protected objects as Context_Id (because no flow-related
-	SPARK pragmas are attached there); reflect these changes in a
-	more precise comment.
-
-2017-09-08  Olivier Hainque  <hainque@adacore.com>
-
-	* g-altive.ads: Add documentation.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads, debug.adb: Minor comment fix.
-	* erroutc.ads: Comment fix.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Validate_Array_Type_Instance): Suppress check
-	for compatibility of component types of formal and actual in an
-	instantiation of a child unit,	when the component type of the
-	formal is itself a formal of an enclosing generic.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_CCT_Instance): moved from
-	sem_prag.adb to make it available for GNATprove; for concurrent
-	types replace custom scope climbing with Scope_Same_Or_Within; for
-	single concurrent objects add scope climbing (with Scope_Within),
-	which was not there (that's the primary semantic change of this
-	commit); also, when comparing a single concurrent object with
-	its corresponding concurrent type rely on equality of types,
-	not of objects (because that's simpler to code).
-	* sem_prag.adb (Is_CCT_Instance): lifted to sem_util.ads.
-	(Analyze_Global_Item): adjust special-casing of references to the
-	current instance of a concurrent unit in the Global contracts
-	of task types and single tasks objects; similar for references
-	in the protected operations and entries of protected types and
-	single protected objects (in all these cases the current instance
-	behaves as an implicit parameter and must not be mentioned in
-	the Global contract).
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Introduce temporary for
-	function calls returning a record within a subprogram call,
-	for C generation.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Expanded_Name): Handle properly an expanded
-	name that designates the current instance of a child unit in its
-	own body and appears as the prefix of a reference to an entity
-	local to the child unit.
-	* exp_ch6.adb, freeze.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb:
-	Minor reformatting.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Equality_Op): Do not warn on comparisons that
-	may be intentional.
-
-2017-09-08  Tristan Gingold  <gingold@adacore.com>
-
-	* sem_warn.adb (Check_Unused_Withs): Remove test that disabled
-	warnings on internal units in configurable run time mode.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Private_Type): Inherit
-	representation items from interfaces that the derived type
-	implements, not just from the parent type.
-	* sem_util.ads, sem_util.adb (Abstract_Interface_List): Change
-	this to return an empty list when there are no interfaces.
-	* einfo.ads, sem_ch13.adb: Minor comment fixes.
-	* sem_attr.adb: Minor comment fix.
-
-2017-09-08  Doug Rupp  <rupp@adacore.com>
-
-	* sigtramp-vxworks.c [i386]: Adjust the kernel context for
-	x86-vx7.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Allocator): Generate a
-	call to Allocate_Any_Controlled when the allocation does not
-	require any initialization.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Copy_Node_With_Replacement):
-	Update the Renamed_Object field of a replicated object renaming
-	declaration.
-
-2017-09-08  Patrick Bernardi  <bernardi@adacore.com>
-
-	* exp_ch9.adb (Is_Pure_Barrier): Allow type
-	conversions and components of objects. Simplified the detection
-	of the Count attribute by identifying the corresponding run-time
-	calls.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch9.adb, exp_disp.adb, repinfo.adb, sem_ch12.adb, sem_dim.adb,
-	sem_type.adb, sinfo.ads: Minor reformatting.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Has_Incomplete_Compoent): New predicate, subsidiary
-	of Freeze_Profile, used to inhibit the freezing of the profile
-	of an expression function declared within a nested package, when
-	some type in the profile depends on a private type declared in
-	an enclosing package.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Do not set the Force_ALI_Tree_File flag in
-	the subunit case. It's still OK to set it in the "missing subunits"
-	case, because that won't cause the obsolete .ali files that cause
-	confusion.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sinput-l.adb: Remove unused "with Unchecked_Conversion;". It's
-	unclear why this didn't cause a warning.
-	* a-uncdea.ads, a-unccon.ads: Add "Ada." to names in the
-	pragmas. It's unclear why this didn't cause an error.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration):
-	Reimplemented.
-	(Expand_SPARK_Potential_Renaming): Code clean up.
-	* sem_prag.adb (Analyze_Initialization_Item): Add a guard in case
-	the item does not have a proper entity.
-	(Analyze_Input_Item): Add a guard in case the item does not have a
-	proper entity.
-	(Collect_States_And_Objects): Include object renamings in the
-	items being collected.
-	(Resolve_State): Update the documentation of this routine.
-	* sem_util.adb (Entity_Of): Add circuitry to handle
-	renamings of function results.
-	(Remove_Entity): New routine.
-	(Remove_Overloaded_Entity): Take advantage of factorization.
-	* sem_util.ads (Entity_Of): Update the documentation
-	of this routine.
-	(Remove_Entity): New routine.
-	(Remove_Overloaded_Entity): Update the documentation of this
-	routine.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* repinfo.adb (List_Record_Info): During first loop,
-	do not override the normalized position and first bit
-	if they have already been set.	Move fallback code
-	for the packed case to the case where it belongs.
-	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
-	Also adjust the normalized position of components.
-	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): Likewise.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Make_DT, Set_All_DT_Position): Handle properly
-	the placement of a primitive operation O that renames an operation
-	R declared in an inner package, and which is thus not a primitive
-	of the dispatching type of O. In this case O is a new primitive
-	and does not inherit its dispatch table position from R (which
-	has none).
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_If_Expression,
-	Analyze_Dimension_Case_Expression): new subprograms to verify
-	the dimensional correctness of Ada2012 conditional expressions,
-	and set properly the dimensions of the construct.
-	* sem_res.adb (Resolve_If_Expression, Resolve_Case_Expression)):
-	call Analyze_Dimension.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_type.adb (Expand_Interface_Conversion): Prevent an infinite
-	loop on an interface declared as a private extension of another
-	synchronized interface.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Generic_Parent): New procedure within
-	Analyze_Associations, to handle actual packages that depend on
-	previous instances.  If a package IAP that is an instantiation is
-	used as an actual in a subsequent instantiation SI in the same
-	scope, and IAP has a body, IAP must be frozen before SI. If
-	the generic parent of IAP is itself declared in a previous
-	instantiation in the same scope, that instantiation must also
-	be frozen before SI.
-	(Install_Body): Prevent double insertion of freeze node for
-	instance.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Resolve_State): Update the
-	comment on documentation. Generate a reference to the state once
-	resolution takes place.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications, case
-	Linker_Section): If the aspect applies to an object declaration
-	with explicit initialization, do not delay the freezing of the
-	object, to prevent access-before-elaboration in the generated
-	initialization code.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* a-wtdeio.adb (Put, all versions): Use Long_Long_Integer
-	(Integer_Value (Item)) when the size of the fixed decimal type
-	is larger than Integer.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/82127
-	* gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields
-	in order of increasing position in more cases.
-
-2017-09-07  Yannick Moy  <moy@adacore.com>
-
-	* a-exetim-mingw.ads: Add contract Global=>null
-	on all operations that are modeled as having no read or write
-	of global variables in SPARK.
-
-2017-09-07  Raphael Amiard  <amiard@adacore.com>
-
-	* a-chtgop.adb, a-chtgop.ads (Generic_Iteration_With_Position): Added
-	to Hmaps.Generic_Ops.
-	* a-cohama.adb (Ada.Containers.Hmaps.Iterate): Pass proper position in
-	cursors.
-	* a-cihama.adb (Ada.Containers.Indefinite_Hmaps.Iterate): Pass pos in
-	cursors.
-	* a-cohase.adb (Ada.Containers.Hashed_Sets.Iterate): Pass proper
-	position in cursors.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* sem_elab.adb (Check_Task_Activation): Adding switch -gnatd.y to
-	allow disabling the generation of implicit pragma Elaborate_All
-	on task bodies.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Make_Tags): Avoid suffix counter
-	in the external name of the elaboration flag. Required to fix
-	the regressions introduced by the initial version of this patch.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Analyze_Function_Return): Do not
-	insert an explicit conversion to force the displacement of the
-	"this" pointer to reference the secondary dispatch table in the
-	case where the return statement is returning a raise expression,
-	as in "return raise ...".
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_disp.adb (Is_User_Defined_Equality): Removed procedure.
-	* sem_util.ads, sem_util.adb (Is_User_Defined_Equality): Copied
-	procedure from sem_disp.adb.
-	* sem_ch12.ads (Get_Unit_Instantiation_Node): rename Package
-	with Unit.
-	* sem_ch12.adb (Get_Unit_Instantiation_Node): function extended to
-	return the instantiation node for subprograms. Update references
-	to Get_Unit_Instantiation_Node.
-	* sem_ch7.adb (Install_Parent_Private_Declarations): update
-	reference to Get_Unit_Instantiation_Node.
-	* exp_dist.adb (Build_Package_Stubs): update reference to
-	Get_Unit_Instantiation_Node.
-	* sem_ch9.adb: minor typo in comment.
-	* lib-xref-spark_specific.adb
-	(Traverse_Declaration_Or_Statement): traverse into task type
-	definition.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Type_Conversion): New procedure
-	to handle properly various cases of type conversions where the
-	target type and/or the expression carry dimension information.
-	(Dimension_System_Root); If a subtype carries dimension
-	information, obtain the source parent type that carries the
-	Dimension aspect.
-
-2017-09-07  Dmitriy Anisimkov  <anisimko@adacore.com>
-
-	* g-socket.adb, g-socket.ads (GNAT.Sockets.To_Ada): New routine.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained):
-	If the prefix is a reference to an object, rewrite it as an
-	explicit dereference, as required by 3.7.2 (2) and as is done
-	with most other attributes whose prefix is an access value.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* par-ch13.adb: Set the Inside_Depends flag if we are inside a
-	Refined_Depends aspect.
-	* par-ch2.adb: Set the Inside_Depends flag if we are inside a
-	Refined_Depends pragma.
-	* scans.ads: Fix documentation of Inside_Depends flag.
-	* styleg.adb, styleg.ads: Minor reformatting and comment fixes.
-
-2017-09-07  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Insert_Actions_In_Scope_Around):
-	Account for the case where the are no lists to insert, but the
-	secondary stack still requires management.
-	* a-chtgop.adb, a-cihama.adb, a-cohama.adb, a-cohase.adb, a-tags.adb,
-	comperr.adb, einfo.adb, exp_aggr.adb, exp_ch3.adb, exp_disp.adb,
-	lib-xref.adb, lib-xref-spark_specific.adb, sem_ch12.adb, sem_ch13.adb,
-	sem_ch6.adb, sem_dim.adb, sem_dim.ads, sem_elab.adb, sem_prag.adb:
+	(Write_Val): Likewise.
+
+2018-05-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* exp_ch4.adb (Expand_N_Op_Abs): Clear Do_Overflow_Check when inserting
+	code to do check.
+
+2018-05-29  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Do not use new function from s-casuti yet.
+	This breaks build of cross compilers with older versions of GNAT, so
+	better avoid it.
+
+2018-05-29  Doug Rupp  <rupp@adacore.com>
+
+	* libgnarl/s-taprop.ads (Monotonic_Clock): Refine documentation to
+	reflect reality.
+
+2018-05-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* exp_ch4.adb (Expand_N_Op_Abs): Always do range check against 'First.
+
+2018-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Entities): Do not list the Linker_Section for
+	subprograms here...
+	(List_Mechanisms): ...but here instead.  Use consistent name output
+	and formatting conventions.
+
+2018-05-29  Bob Duff  <duff@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Cleanup: avoid use of global var; call new
+	To_Lower function.
+	* libgnat/s-casuti.ads, libgnat/s-casuti.adb (To_Upper, To_Lower,
+	To_Mixed): New functions.
+	* osint.adb: Cleanup: use Is_Directory_Separator, which correctly
+	allows both '\' and '/' on Windows.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.ads: Minor fixes and tweaks in comments.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_GCC_Expression): Remove Valop and replace calls to
+	it with calls to Unop.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.ads (TCode): Adjust range.
+	(Truth_Andif_Expr): Remove.
+	(Truth_Orif_Expr): Likewise.
+	(Truth_And_Expr .. Dynamic_Val): Adjust value.
+	* repinfo.adb (Print_Expr): Remove handling of Truth_{And,Or}if_Expr.
+	(Rep_Value): Likewise.
+	* repinfo.h (Truth_Andif_Expr): Remove.
+	(Truth_Orif_Expr): Likewise.
+	(Truth_And_Expr .. Dynamic_Val): Adjust value.
+	* gcc-interface/decl.c (annotate_value) <TRUTH_ANDIF_EXPR>: Fall
+	through to TRUTH_AND_EXPR case.
+	<TRUTH_ORIF_EXPR>: Fall through to TRUTH_OR_EXPR case.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): For indexed components and attribute
+	references, examine index expressions or associated expressions as well
+	to record uplevel references.
+	(Vist_Node): For function and procedure calls, if a formal is an
+	unconstrained array and the actual is constrained, check whether bounds
+	of actual have uplevel references.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb: Exceptions can be uplevel references, and thus
+	they can appear as components of activation records.
+	* exp_unst.adb (Visit_Node): A reference to an exception may be an
+	uplevel reference.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch4.adb (Expand_Composite_Equality): Compute whether the size
+	depends on a discriminant manually instead of using the predicate
+	Size_Depends_On_Discriminant in the array type case.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Check_Static_Type): For a record subtype, check
+	discriminant constraints as well.
+	(Visit_Node): For a selected component, check type of prefix, as is
+	done for indexed components and slices.
+
+2018-05-28  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch4.adb (Real_Range_Check): Add a temporary to store the integer
+	value when converting a float value to a fixed-point value. This is
+	required for CCG because it handles fixed-point types by means of
+	unsigned integer type variables. The range check is now performed using
+	the integer value stored in this temporary.
+
+2018-05-28  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Is_OK_Volatile_Context): Add attributes First, Last and
+	Length as valid non-interfering contexts for SPARK.
+
+2018-05-28  Claire Dross  <dross@adacore.com>
+
+	* sem_disp.ads, sem_disp.adb (Inheritance_Utilities): Package for
+	generic inheritance utilities.
+	(Generic_Inherited_Subprograms): Generic version of
+	Inherited_Subprograms, generic in Find_Dispatching_Type function.
+	(Generic_Is_Overriding_Subprogram): Generic version of
+	Is_Overriding_Subprogram, generic in Find_Dispatching_Type function.
+	(Inherited_Subprograms): Instance of Generic_Inherited_Subprograms with
+	Sem_Disp.Find_Dispatching_Type.
+	(Is_Overriding_Subprogram): Instance of
+	Generic_Is_Overriding_Subprogram with Sem_Disp.Find_Dispatching_Type.
+	(Inheritance_Utilities_Inst): Instance of Inheritance_Utilities
+	with Sem_Disp.Find_Dispatching_Type.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch4.adb (Expand_Composite_Equality): For a composite (or FP)
+	component type, do not expand array equality using the unconstrained
+	base type, except for the case where the bounds of the type depend on a
+	discriminant.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Needs_Activation_Record): New flag on
+	access-to-subprogram types, to indicate that an indirect call through
+	such a type requires an activation record when compiling for LLVM.
+	* sem_ch3.adb (Access_Subprogram_Declaration): Set new flag as needed.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Real_Range_Check): Specialize float-to-fixed conversions
+	when bounds of fixed type are static, to remove some spuerfluous
+	implicit conversions and provide an accurate result when converting
+	back and forth between the fixed point type and a floating point type.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprogram): Prevent creation of empty
+	activation records.
+
+2018-05-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* exp_unst.adb (Check_Static_Type): Add argument to indicate node to be
+	replaced, if any; all callers changed.
+	(Note_Uplevel_Ref): Likewise.  Also replace reference to deferred
+	constant with private view so we take the address of that entity.
+	(Note_Uplevel_Bound): Add argument to indicate node to be replaced, if
+	any; all callers changed.  Handle N_Indexed_Component like
+	N_Attribute_Reference.  Add N_Type_Conversion case.
+	(Visit_Node): Indexed references can be uplevel if the type isn't
+	static.
+	(Unnest_Subprograms): Don't rewrite if no reference given.  If call has
+	been relocated, set first_named pointer in original node as well.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Flatten): Copy tree of expression in a component
+	association with a range or a set of discrete choices, rather than
+	relocating the node. This avoids inconsistencies in the tree when
+	handling nested subprograms with uplevel references for LLVM.
+
+2018-05-28  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_util.adb (Possible_Bit_Aligned_Component): Always return False in
+	codepeer mode.
+
+2018-05-28  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_unst.adb: Fix typo.
+
+2018-05-28  Bob Duff  <duff@adacore.com>
+
+	* libgnat/a-convec.adb (Query_Element): Minor cleanup: remove an
+	unnecessary use of 'Unrestricted_Access.
+
+2018-05-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* repinfo.adb (Expr_Value_S): New routine.
+	(List_Linker_Section): Properly extract the value of the section
+	argument.
+
+2018-05-28  Patrick Bernardi  <bernardi@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update the
+	description of the -D binder switch to reflect current usage.
+	* gnat_ugn.texi: Regenerate.
+
+2018-05-28  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch3.adb: Minor reformatting
+
+2018-05-28  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch3.adb
+	(Build_Initialization_Call): Add logic to pass the appropriate actual to match
+	 new formal.
+	(Init_Formals): Add new formal *_skip_null_excluding_check
+	* exp_util.adb, exp_util.ads
+	(Enclosing_Init_Proc): Added to fetch the enclosing Init_Proc from the current
+	 scope.
+	(Inside_Init_Proc): Refactored to use Enclosing_Init_Proc
+	(Needs_Conditional_Null_Excluding_Check): Added to factorize the predicate
+	 used to determine how to generate an Init_Proc for a given type.
+	(Needs_Constant_Address): Minor reformatting
+	* sem_res.adb
+	(Resolve_Null): Add logic to generate a conditional check in certain cases
+
+2018-05-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb, gnatlink.adb, sem_ch6.adb, sem_res.adb, sem_util.adb:
 	Minor reformatting.
 
-2017-09-07  Vincent Celier  <celier@adacore.com>
-
-	* clean.adb: Do not get the target parameters before calling
-	gprclean.
-
-2017-09-07  Nicolas Roche  <roche@adacore.com>
-
-	* s-osinte-solaris-posix.ads: Removed.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Collect_States_And_Objects): Detect also instances of
-	single concurrent objects.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* s-regexp.ads: Fix documentation of the globbing grammar.
-
-2017-09-07  Gary Dismukes  <dismukes@adacore.com>
-
-	* a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global)
-	in CodePeer mode, to support more legacy code automatically.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Replace_Formals): If thr formal is classwide,
-	and thus not a controlling argument, preserve its type after
-	rewriting because it may appear in an nested call with a classwide
-	parameter.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* comperr.adb (Delete_SCIL_Files): Handle case of
-	N_Package_Instantiation.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch10.adb (Remove_Private_With_Clause): If a private with
-	clause for a unit U appears in a context that includes a regular
-	with_clause on U, rewrite the redundant private clause into a null
-	statement, rather than removing it altogether from the context,
-	so that ASIS tools can reconstruct the original source.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression
-	for aspect Small can be of any real type (not only a universal
-	real literal) as long as it is a static constant.
-
-2017-09-07  Thomas Quinot  <quinot@adacore.com>
-
-	* par_sco.adb: Minor reformatting.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-parame-ae653.ads: Removed.
-
-2017-09-07  Nicolas Roche  <roche@adacore.com>
-
-	* s-traces-default.adb, s-trafor-default.adb, s-trafor-default.ads,
-	s-traces.adb, s-traces.ads, s-tratas-default.adb, s-tfsetr-default.adb,
-	s-tfsetr-vxworks.adb, s-tratas.adb, s-tratas.ads, s-tasuti.adb,
-	s-parame-hpux.ads, s-tassta.adb, s-taasde.adb, s-tasren.adb,
-	s-taprob.adb, a-caldel.adb, s-parame.ads, Makefile.rtl, s-tpobop.adb,
-	s-taenca.adb, s-parame-vxworks.ads: Remove support for System.Traces.
-
-2017-09-07  Yannick Moy  <moy@adacore.com>
-
-	* a-ngelfu.ads Add preconditions to all functions
-	listed in Ada RM A.5.1(19-33) as having constraints on inputs.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref.adb (Generate_Reference): ignore
-	references to entities which are Part_Of single concurrent
-	objects.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Hide_Public_Entities): Add paragraph to main
-	comment.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-taside.adb (Activation_Is_Complete): Raise Program_Error if
-	Null_Task_Id is passed.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads, einfo.adb (Access_Disp_Table_Elab_Flag): New
-	attribute. Defined for record types and subtypes.
-	* exp_ch3.ads (Init_Secondary_Tags): Adding new formal
-	(Init_Tags_List) to facilitate generating separate code in the
-	IP routine to initialize the object components and for completing
-	the elaboration of dispatch tables.
-	* exp_ch3.adb (Build_Init_Procedure): Improve the code
-	generated in the IP routines by means of keeping separate
-	the initialization of the object components from the
-	initialization of its dispatch tables.	(Init_Secondary_Tags):
-	Adding new formal (Init_Tags_List) and adjusting calls to
-	Ada.Tags.Set_Dynamic_Offset_To_Top since it has a new formal;
-	adjusting also calls to Ada.Tags.Register_Interface_Offset
-	because the type of one of its formals has been changed.
-	* a-tags.ads, a-tags.adb (Register_Interface_Offset): Profile
-	modified. Instead of receiving a pointer to an object this
-	routine receives now a primary tag.
-	(Set_Dyanic_Offset_To_Top): Profile modified. This routine receives an
-	additional formal: the tag of the primary dispatch table.
-	* exp_disp.ads (Elab_Flag_Needed): New subprogram.
-	* exp_disp.adb (Elab_Flag_Needed): New subprogram.
-	(Make_Tags): Adding the declaration of the elaboration flag (if needed).
-	* exp_aggr.adb (Build_Record_Aggr_Code): Adding actual of new
-	formal in calls to Init_Secondary_Tags.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* ghost.adb (Mark_And_Set_Ghost_Instantiation.Check_Ghost_Actuals): New
-	subprogram.
-	* sem_prag.adb (Pragma_Ghost): Add missing support for ghost
-	applied to generic subprograms.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Check_Part_Of_Reference): rename Conc_Typ to Conc_Obj
-	(because it refers to the anonymous concurrent object, not its type);
-	fix condition for emitting error message about task/protected type,
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Debug_Flag_Old): If both -do and -dp
-	are specified, behave as if just -do was specified, rather than
-	using a mixture.
-
-2017-09-07  Nicolas Roche  <roche@adacore.com>
-
-	* system-vxworks-sparcv9.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
-	system-vxworks-m68k.ads, system-vxworks-mips.ads: Removed.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Find_Role): The Global_Seen flag
-	is now consulted not only for abstract states and variables,
-	but for all kinds of items.
-	(Collect_Subprogram_Inputs_Outputs): Do not process formal
-	generic parameters, because unlike ordinary formal parameters,
-	generic formals only act as input/ outputs if they are explicitly
-	mentioned in a Global contract.
-
-2017-09-07  Yannick Moy  <moy@adacore.com>
-
-	* ghost.adb (Check_Ghost_Context): Do not err on ghost code inside
-	predicate procedure. Check predicate pragma/aspect with Ghost entity.
-	* exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor
-	reformatting.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim
-	(code cleanup);
-	* sem_ch3.adb (Build_Derived_Record_Type):i Call
-	Copy_Dimensions_Of_Components after creating the copy of the
-	record declaration.
-	* sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a
-	derived recor type, copy the dikensions if any of each component
-	of the parent record to the corresponding component declarations
-	of the derived record. These expressions are used among other
-	things as default values in aggregates with box associations.
-	* a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb,
-	repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb:
+2018-05-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Include
+	the declarations of single concurrent types because they fall in the
+	category of full type and object declarations.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (Compute_Max_Length): Skip _Parent component.
+	(List_Record_Layout): Likewise.
+
+2018-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Is_Function_Result): Add a warning if a postcondition
+	includes a call to function to which it applies. This may mean an
+	omission of an attribute reference 'Result, in particular if the
+	function is pqrameterless.
+
+2018-05-28  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Find_Expanded_Name): Add extra guard to make sure the
+	misresolved package name is not a case of mistaken identity.
+
+2018-05-28  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Range): Re-resolve the low bound of a range in
+	GNATprove mode, as the order of resolution (low then high) means that
+	all the information is not available when resolving the low bound the
+	first time.
+
+2018-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Array_Info): Start with an explicit blank line and
+	end with the linker section, if any.
+	(List_Entities): Do not output the linker section for record types,
+	array types and variables.
+	(Print_Expr): Factor out common processing for unary operators and
+	special values.  Adjust and reorder the various cases.
+	(List_Object_Info): End with the linker section, if any.
+	(List_Record_Info): Likewise.
+	(List_Type_Info): Do not start with a blank line.
+
+2018-05-25  Nicolas Roche  <roche@adacore.com>
+
+	* libgnat/s-valrea.adb (Scan_Real): Abort computation once it is sure
+	that the result will be either -infinite or +infinite.
+
+2018-05-25  Patrick Bernardi  <bernardi@adacore.com>
+
+	* libgnat/s-parame.ads, libgnat/s-parame__vxworks.ads,
+	libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads (Size_Type):
+	Expand range of type to match the address space of the target.
+	(Task_Storage_Size): Remove unused type.
+
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Set_Mixed_Mode_Operand): If the operand is an expression
+	of a fixed point type and the parent is a multiplying operation,
+	resolve the operand with its own type because the context will impose a
+	resulting type on the result of the multiplication by means of
+	approriate conversion.
+
+2018-05-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Default_Initialize_Object): Ensure that the analysis of
+	the in-place initialization aggregate created for pragmas
+	Initialize_Scalars or Normalize_Scalars is performed with checks
+	suppressed.
+
+2018-05-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Convert_To_Positional): Bump default for
+	Max_Others_Replicate to 32. Update comments.
+	* osint.ads (Unknown_Attributes): No longer pretend this is a constant.
+	(No_File_Info_Cache): Initialize separately.
+	* osint.adb (No_File_Info_Cache): Update initializer.
+
+2018-05-25  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Membership_Op): Allow the use of the membership
+	test when the left operand is a class-wide interface and the right
+	operand is not a class-wide type.
+	* exp_ch4.adb (Tagged_Membership): Adding support for interface as the
+	left operand.
+
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Flatten): A quantified expression cannot be duplicated
+	in an others clause to prevent visibility issues with the generated
+	loop variable.
+	(Component_OK_For_Backend): Return false for a quantified expression.
+	(Check_Static_Component): Ditto.
+
+2018-05-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* libgnat/s-secsta.adb (SS_Allocate): Reimplemented.
+	(SS_Allocate_Dynamic): New routine. The allocation logic is now split
+	into three distring cases rather than in one loop which attempts to
+	handle all three cases. This rewrite eliminates an issue where the last
+	frame of the stack cannot be freed, thus causing the memory range of a
+	new frame to approach the overflow point of the memory index type.
+	Since the overflow is logically treated as a
+	too-much-memory-on-the-stack scenario, it causes a bogus Storage_Error.
+	(SS_Allocate_Static): New routine. The routine factorizes the static
+	secondary stack-related code from the former SS_Allocate.
+
+2018-05-25  Sergey Rybin  <rybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Add description of '-U'
+	option for gnatelim.
+
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not create
+	Class_Wide_Clone_Body when analyzing a subprogram_body_stub: the clone
+	is created when the proper body of the stub is analyzed.
+	* sem_util.adb (ZBuild_Class_Wide_Clone_Body): If the subprogram body
+	is the proper body of a subunit, the cloned body must be inserted in
+	the declarative list that contains the stub.
+
+2018-05-25  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch6.adb (Expand_Simple_Function_Return): Add guard in check to
+	generate code for 6.5(8-10) so that we don't get an assertion error
+	when dealing with an incomplete return type.
+
+2018-05-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* pprint.adb (Expression_Name): Strip too long expressions to avoid
+	carrying very large strings.
+
+2018-05-25  Patrick Bernardi  <bernardi@adacore.com>
+
+	* switch-b.adb (Scan_Binder_Switches): binder switch -Q accepts Natural
+	numbers.
+
+2018-05-25  Doug Rupp  <rupp@adacore.com>
+
+	* tracebak.c (aarch64-linux): Implement.
+
+2018-05-25  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb: Minor reformatting.
+
+2018-05-25  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Iterate_Call_Parameters): Fix code convention and
+	assertions.
+
+2018-05-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb, einfo.ads, exp_ch3.adb, exp_ch8.adb, exp_unst.adb,
+	pprint.adb, sem_ch12.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb:
 	Minor reformatting.
 
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb: Remove extra space after THEN.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Has_Referencer): For a subprogram renaming,
-	also mark the renamed subprogram as referenced.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch6.adb (P_Subprogram): Improve error message on null
-	procedure with misplaced aspect specification, which the parser
-	first attempts to interpret as a malformed expression function.
-
-2017-09-07  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Old_Result):
-	Allow attributes Result and Old in the case of an expression
-	function.
-
-2017-09-07  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Propagate
-	Volatile to subcomponents.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* exp_ch7.adb (Find_Last_Init): Check for the
-	case where a build-in-place function call has been replaced by a
-	'Reference attribute reference.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Has_Referencer): Recurse on Actions of freeze
-	nodes.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration,
-	Make_Build_In_Place_Call_In_Anonymous_Context): Do not use the
-	secondary stack for all functions that return limited tagged
-	types -- just do it for dispatching calls.  Misc cleanup.
-	* sem_util.ads, sem_util.adb (Unqual_Conv): New function to
-	remove qualifications and type conversions. Fix various bugs
-	where only a single level of qualification or conversion was
-	removed, so e.g. "T1'(T2'(X))" would incorrectly return "T2'(X)"
-	instead of "X".
-	* checks.adb, exp_util.ads, exp_util.adb, sem_res.adb: Misc related
-	cleanup.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (setr_Actual_Subtypes): Within a predicate function
-	do not create actual subtypes that may generate further predicate
-	functions.
-	* sem_ch13.adb (Build_Predicate_Functions): Indicate that entity
-	of body is a predicate function as well.
-	(Resolve_Aspect_Expressions, Resolve_Name): For a component
-	association, only the expression needs resolution, not the name.
-	(Resolve_Aspect_Expressions, case Predicates): Construct and
-	analyze the predicate function declaration in the scope of the
-	type, before making the type and its discriminants visible.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (warn_on_field_placement): Issue the warning
-	only if the record type itself comes from source.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch5.adb: Minor reformatting and a typo fix
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sinput-l.ads: minor remove extra period at the end of comment
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Add_Item_To_Name_Buffer): remove support for
-	E_Discriminant.
-	(Find_Role): remove support for E_Discriminant.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Expand_Simple_Function_Return):
-	Add missing implicit type conversion to force displacement of the
-	"this" pointer.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_aux.adb, sem_res.adb: Minor reformatting.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb (Analyze_Instance_And_Renamings): Refactor to set
-	global variable Ignore_SPARK_Mode_Pragmas_In_Instance only once.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch8.adb: Change Assert to be consistent with
-	other similar ones.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Find_Elab_Order): Do not run Elab_Old unless
-	requested. Previously, the -do switch meant "run Elab_New and
-	Elab_Old and use the order chosen by Elab_Old, possibly with
-	debugging printouts comparing the two orders."	Now it means
-	"do not run Elab_New." This is of use if there are bugs that
-	cause Elab_New to crash.
-	(Elab_Position, Num_Chosen): Change type to Nat, to avoid various
-	type conversions.
-	* ali.ads (Elab_Position): Change type to Nat, to avoid various
-	type conversions.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix
-	reference to SPARK RM.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.adb: Use SSU short hand consistently throughout the file.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type)
-	<Sized_Component_Total_Round_RM_Size>: New local variable to
-	accumulate the rounded RM_Size of components.  Update it for
-	every component whose RM_Size is statically known.  Add missing
-	guard to check that bit packing is really required before issuing
-	the error about packing.  Swap condition for clarity's sake.
-	* sem_prag.adb (Usage_Error): Fix reference to SPARK RM in comment.
-
-2017-09-06  Fedor Rybin  <frybin@adacore.com>
-
-	* makeutl.adb, makeutl.ads, mlib.adb, mlib.ads, mlib-fil.adb,
-	mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads,
-	mlib-tgt-specific.adb, mlib-tgt-specific.ads,
-	mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
-	mlib-tgt-specific-hpux.adb, mlib-tgt-specific-linux.adb,
-	mlib-tgt-specific-mingw.adb, mlib-tgt-specific-solaris.adb,
-	mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, mlib-utl.adb,
-	mlib-utl.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
-	prj-attr-pm.adb, prj-attr-pm.ads, prj-com.ads, prj-conf.adb,
-	prj-conf.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
-	prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb,
-	prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
-	prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb,
-	prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
-	prj-util.adb, prj-util.ads, sinput-p.adb, sinput-p.ads: Remove obsolete
-	project manager sources.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Assigment): If the left-hand side is an
-	entity of a mutable type and the right-hand side is a conditional
-	expression, resolve the alternatives of the conditional using
-	the base type of the target entity, because the alternatives
-	may have distinct subtypes. This is particularly relevant if
-	the alternatives are aggregates.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Apply_Predicate_Check): If the expression is an
-	aggregate that is the RHS of an assignment, apply the check to
-	the LHS after the assignment, rather than to the aggregate. This
-	is more efficient than creating a temporary for the aggregate,
-	and prevents back-end crashes when the aggregate includes a
-	dynamic "others' association.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb (Analyze_Instance_And_Renamings):
-	Set variable to ignore SPARK_Mode in instance before the analysis
-	of the generated package declaration.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Do not issue a
-	message for calls inside expression function, unless body was
-	seen and is candidate for inlining.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aux.adb (Is_Generic_Formal): Handle properly formal packages.
-	* sem_ch3.adb (Analyze_Declarations): In a generic subprogram
-	body. do not freeze the formals of the generic unit.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* errout.adb (Error_Msg): Separate the
-	treatment for warning vs. style messages in inlinings and
-	instantiations. Prevents blowups on calls to Warn_Insertion for
-	style messages, which should not be called in that case because
-	Warning_Msg_Char is not set.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Check_VFA_Conflicts): Created
-	to group all Volatile_Full_Access checks relating to other
-	representation pragmas (Mark_Component_Or_Object): Created
-	to centeralize the flagging of attributes for the record type
-	component case, a pragma applied individually to a component, and
-	the object case.
-	(Process_Atomic_Independent_Shared_Volatile):
-	Add propagation of certain pragmas to record components and move
-	evaluation of VFA checks
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram):
-	Do not warn on conditions that are not obeyed for Inline_Always
-	subprograms, when assertions are not enabled.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Unique_Entity): For abstract states return their
-	non-limited view.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch12.adb (Copy_Generic_Node): When we copy a node
-	that is a proper body corresponding to a stub, we defer the
-	adjustment of the sloc until after the correct adjustment has
-	been computed. Otherwise, Adjust_Instantiation_Sloc will ignore
-	the adjustment, because it will be outside the range in (the old,
-	incorrect) S_Adjustment.
-	* inline.adb: Use named notation for readability and uniformity.
-	* sinput-l.adb: Minor improvements to debugging output printed
-	for Debug_Flag_L.
-	* sinput-l.ads (Create_Instantiation_Source): Minor comment
-	correction.
-
-2017-09-06  Vincent Celier  <celier@adacore.com>
-
-	* make.adb: Do not invoke gprbuild for -bargs -P.
-
-2017-09-06  Sylvain Dailler  <dailler@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Adding a
-	case when Op is of kind N_Qualified_Expression. In this case,
-	the function is called recursively on the subexpression like in
-	other cases.
-	* make.adb: Minor reformatting
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* einfo.adb (Set_Linker_Section_Pragma): Modify
-	Set_Linker_Section_Pragma to be consistant with the "getter"
-	Linker_Section_Pragma.
-	* exp_ch5.adb (Expand_Formal_Container_Loop): Add proper error
-	checking for container loops so that the index cursor is not
-	directly changable by the user with the use of E_Loop_Parameter.
-	* sem_ch5.adb (Analyze_Block_Statement): Revert previous change.
-	* sem_warn.adb (Check_References): Revert previous change.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* exp_util.adb (Is_Displace_Call): Make sure it works for indirect
-	calls and the like.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Depends_Global): Reinforce test on object
-	declarations to only consider valid uses of Global/Depends those on
-	single concurrent objects.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Check_Record_Representation_Clause): Give an
-	error as soon as one of the specified components overlaps the
-	parent field.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.ads: minor fix typo in comment.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch5.adb (Analyze_Block_Statement): Verify a block comes
-	from source before checking source references.
-	* sem_warn.adb (Check_References): Add check for internal block
-	before recursing.
-
-2017-09-06  Vincent Celier  <celier@adacore.com>
-
-	* make.adb, makeusg.adb, switch-m.adb, switch-m.ads, make_util.adb,
-	make_util.ads, sinput.adb, sinput.ads, clean.adb, gnatls.adb,
-	gnatname.adb: Remove the Project Manager from the GNAT tools.
-	* gcc-interface/Makefile.in: ditto.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Instance_Exists): New function, subsidiary of
+	Validate_Derived_Type_Instance, to verify that all interfaces
+	implemented by the formal type are also implemented by the actual. The
+	verification is complicated when an interface of the formal is declared
+	in a generic unit and the actual is declared in an instance of it.
+	There is currently no mechanism to relate an interface declared within
+	a generic to the corresponding interface in an instance, so we must
+	traverse the list of interfaces of the actual, looking for a name
+	match, and verifying that that interface is declared in an instance.
+
+2018-05-25  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Iterate_Call_Parameters): Rewrite with extra
+	assertions; replace function versions of Next_Formal/Next_Actual with
+	their procedural versions (which are more concise).
+
+2018-05-25  Doug Rupp  <rupp@adacore.com>
+
+	* libgnarl/s-osinte__aix.ads, libgnarl/s-osinte__android.ads,
+	libgnarl/s-osinte__darwin.ads, libgnarl/s-osinte__freebsd.ads,
+	libgnarl/s-osinte__hpux.ads, libgnarl/s-osinte__kfreebsd-gnu.ads,
+	libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178e.ads,
+	libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.ads
+	(Relative_Timed_Wait): Remove.
+	* libgnarl/s-tpopmo.adb (Timed_Sleep, Timed_Delay): Rewrite to allow
+	for incremental looping. Remove references to Rel_Time and
+	Relative_Timed_Wait.
+	* libgnat/s-osprim__posix.adb, libgnat/s-osprim__posix2008.adb
+	(Timed_Delay): Make separate.
+	* libgnat/s-optide.adb: New separate procedure.
+	* libgnat/s-osprim.ads (Max_System_Delay): New constant.
+	* libgnat/s-osprim__lynxos.ads (Max_Sensible_Delay): Set to 6 months.
+	(Max_System_Delay): New constant.
+
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Validate_Derived_Type_Instance): Verify that the actual
+	for a formal derived type implements all the interfaces declared for
+	the formal.
+
+2018-05-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Check_Applicable_Policy): Deal specially with CodePeer
+	and GNATprove modes when applicable policy is Ignore.
+
+2018-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Freeze_Enumeration_Type): Do not give integer size to a
+	boolean type with convention C.
+	* libgnat/i-cexten.ads (bool): Change to boolean with convention C.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Add new local variable
+	FOREIGN and use it throughout the function.
+	<E_Enumeration_Type>: Set precision 1 on boolean types with foreign
+	convention.
+	<E_Enumeration_Subtype>: Likewise for subtypes.
+	<E_Record_Type>: Force the size of a storage unit on empty classes.
+	* gcc-interface/utils.c (make_type_from_size) <BOOLEAN_TYPE>: Skip
+	boolean types with precision 1 if the size is the expected one.
+
+2018-05-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* pprint.adb (Expression_Name): Do not print non ASCII characters.
+
+2018-05-25  Bob Duff  <duff@adacore.com>
+
+	* libgnat/a-strunb__shared.ads, libgnat/a-stwiun__shared.ads,
+	libgnat/a-stzunb__shared.ads: (Initialize, Adjust): Add pragma Inline.
+
+2018-05-25  Bob Duff  <duff@adacore.com>
 
 	* sem_util.ads: Minor comment fix.
 
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations, case of Formal_Package):
-	Generate a freeze node for the actual of a formal package, if
-	the actual is declared in the same unit and has a corresponding
-	body, to prevent the current instance from being frozen before
-	the actual is.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Entity_Table_Size): Change to nearest prime number.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb: Minor refactoring.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads, einfo.adb (Get_Classwwide_Pragma): New utility,
-	to retrieve the inherited classwide precondition/postcondition
-	of a subprogram.
-	* freeze.adb (Freeze_Entity): Use Get_Classwide_Pragma when
-	freezing a subprogram, to complete the generation of the
-	corresponding checking code.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Is_Controlled_Indexing): New routine.
-	(Is_Displace_Call): Use routine Strip to remove indirections.
-	(Is_Displacement_Of_Object_Or_Function_Result): Code clean up. Add a
-	missing case of controlled generalized indexing.
-	(Is_Source_Object): Use routine Strip to remove indirections.
-	(Strip): New routine.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sysdep.c (__gnat_has_cap_sys_nice): If HAVE_CAPABILITY is defined,
-	we include the proper header. Otherwise, we just declare the necessary
-	things from the capabilities library. This is so we can build on
-	machines without that library, while still enabling that library.
-	At run time, we're using weak symbols, so __gnat_has_cap_sys_nice will
-	simply return 0 if the library is not present, or not included
-	in the link.
-
-2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb (Debug_Renaming_Declaration): Do not create an encoding
-	for renamings that involve function calls in prefix form.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (Analyze_Subtype_Declaration):
-	Set Has_Delayed_Freeze on a subtype of an incomplete type.
-
-2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* par_sco.adb (Extend_Statement_Sequence): When the accept statement
-	has no parameter specification and no entry index, use the entry name
-	as the end of the generated SCO statement.
-
-2017-09-06  Steve Baird  <baird@adacore.com>
-
-	* exp_util.adb (Side_Effect_Free): For CodePeer (only) treat
-	uses of 'Image and related attributes as having side effects in
-	order to avoid replicating such uses.
-	* pprint.ads (Expression_Image) Add new generic formal flag
-	Hide_Temp_Derefs.  The flag defaults to False; CodePeer will
-	(eventually) override the default.
-	* pprint.adb (Expression_Image) If the new flag is set, then
-	suppress the ".all" suffix when displaying a dereference whose
-	prefix is a use of a value-capturing compiler temp of the sort
-	generated by Expr_Util.Remove_Side_Effects .
-	* exp_attr.adb, g-catiio.adb, inline.adb, sem_attr.adb, sem_ch13.adb,
-	sem_ch7.adb, sem_dim.adb, sem_util.adb, sem_util.ads, sem_warn.adb:
-	Minor reformatting.
-	* inline.adb: Minor wording change.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb: Update comment.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* einfo.adb, einfo.ads (Is_Subprogram_Or_Entry): New predicate.
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Use new function.
-	* sem_util.adb, sem_util.ads (Within_Protected_Type): Renaming
-	with slight modification from Is_Subp_Or_Entry_Inside_Protected,
-	so that applies to any entity.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch3.adb (Derived_Type_Declaration): Use
-	Incomplete_Or_Partial_View rather than local Find_Partial_View.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* g-catiio.ads, g-catiio.adb (Value): Extended to parse an UTC time
-	following ISO-8861.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension): In an instance, a type
-	conversion takes its dimensions from the expression, not from
-	the context type.
-	(Dimensions_Of_Operand): Ditto.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Do not optimize calls to
-	null procedures when GNAT coverage is used, so that their (empty)
-	bodies are properly covered.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): If
-	the entity is a type with discriminants, make the discriminants
-	directly visible in aspect clauses.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Arithmentic_Op): If both operands are
-	Universal_Real and the context is a floating-point type, resolve
-	both operands to the target type.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-comlin.adb, exp_aggr.adb, exp_ch6.adb, frontend.adb, gnatbind.adb,
-	sem_ch3.adb, sem_util.adb: Minor reformatting.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* freeze.adb (Check_Inherited_Conditions): Rewriting
-	of inherited preconditions and postconditions should only occur
-	in GNATprove mode, that is, when GNATprove_Mode is True, not to
-	be confused with SPARK_Mode being On.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb (Check_References): Take into
-	account possibility of attribute reference as original node.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Protect against invalid
-	use of attribute.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* inline.adb (Split_Unconstrained_Function): Also set Is_Inlined
-	on the procedure created to encapsulate the body.
-	* sem_ch7.adb: Add with clause for GNAT.HTable.
-	(Entity_Table_Size): New constant.
-	(Entity_Hash): New function.
-	(Subprogram_Table): New instantiation of GNAT.Htable.Simple_HTable.
-	(Is_Subprogram_Ref): Rename into...
-	(Scan_Subprogram_Ref): ...this. Record references to subprograms in
-	the table instead of bailing out on them. Scan the value of constants
-	if it is not known at compile time.
-	(Contains_Subprograms_Refs): Rename into...
-	(Scan_Subprogram_Refs): ...this.
-	(Has_Referencer): Scan the body of all inlined subprograms. Reset the
-	Is_Public flag on subprograms if they are not actually referenced.
-	(Hide_Public_Entities): Beef up comment on the algorithm.
-	Reset the table of subprograms on entry.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb: Add comments to Can_Be_Inlined_In_GNATprove_Mode.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Component_Not_OK_For_Backend): The C backend
-	cannot handle a type conversion of an array as an aggregate
-	component.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* g-comlin.adb (Try_Help): Remove ".exe" so we
-	get the same results on windows and unix.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_imgv.adb (Expand_Image_Attribute),
-	(Expand_Wide_Image_Attribute), (Expand_Wide_Wide_Image_Attribute):
-	Added case to handle new-style 'Image expansion
-	(Rewrite_Object_Image): Moved from exp_attr.adb
-	* exp_attr.adb (Expand_N_Attribute_Reference): Modified Image
-	attribute cases so that the relevant subprograms in exp_imgv.adb
-	handle all expansion.
-	(Rewrite_Object_Reference_Image): Moved to exp_imgv.adb
-	* sem_attr.adb (Analyze_Attribute): Modified Image attribute
-	cases to call common function Analyze_Image_Attribute.
-	(Analyze_Image_Attribute): Created as a common path for all
-	image attributes (Check_Object_Reference_Image): Removed
-	* sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object):
-	Removed and refactored into Is_Object_Image (Is_Object_Image):
-	Created as a replacement for Is_Image_Applied_To_Object
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add continuation
-	message for missing input.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Prevent inlining
-	of protected subprograms and entries.
-	* sem_util.adb, sem_util.ads (Is_Subp_Or_Entry_Inside_Protected):
-	New function to detect when a subprogram of entry is defined
-	inside a protected object.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sysdep.c (__gnat_has_cap_sys_nice): New function to determine
-	whether the current process has the CAP_SYS_NICE capability.
-	* s-taprop-linux.adb (Get_Ceiling_Support): Update this to allow
-	ceiling priorities if the current process has the CAP_SYS_NICE
-	capability.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* a-comlin.ads, a-comlin.adb (Argument): Move the constraint
-	check back to the body, because SPARK is not yet ready for
-	"or else raise Constraint_Error".
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Replace call to null
-	procedure by a single null statement, after evaluating the
-	actuals that require it.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Backend_Processing_Possible.Component_Check):
-	Generating C code improve the code that checks the use of nested
-	aggregates to initialize object declarations.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch3.adb (Derived_Type_Declaration): Detect
-	violations of new rule SPARK RM 3.4(1).  Also refactor existing
-	check to use the new function Find_Partial_View.
-
-2017-09-06  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: gnat ls -V -P... invokes gprls -V -P...	The code
-	from the Prj hierarchy has been removed from the GNAT driver.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_type.adb (Interface_Present_In_Ancestor): Within an
-	expression function, or within a spec expression (default value,
-	etc) a reference to an incomplete type is legal: legality of
-	the operation will be checked when some related entity (type,
-	object or subprogram) is frozen.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch5.adb, s-diinio.ads, sem_ch4.adb, s-diflio.ads: Minor spelling
-	adjustments and a typo fix.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Do not issue info
-	message about inlining of calls to functions in assertions,
-	for functions whose body has not been seen yet.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* a-comlin.ads, a-comlin.adb (Argument): Simplify the code, now that
-	we can use modern Ada in this package.
-	* s-resfil.ads, s-resfil.adb, a-clrefi.ads, a-clrefi.adb:
-	Move Ada.Command_Line.Response_File to System.Response_File,
-	and make Ada.Command_Line.Response_File into a rename of
-	System.Response_File. This is to avoid having gnatbind depend
-	Ada.Command_Line, which would damage the bootstrap process now
-	that Ada.Command_Line contains modern Ada (the raise expression).
-	* gnatbind.adb: Avoid dependence on
-	Ada.Command_Line. Depend on System.Response_File instead
-	of Ada.Command_Line.Response_File. Change one call to
-	Ada.Command_Line.Command_Name to use Fill_Arg.	Change one call
-	to Ada.Command_Line.Argument_Count to use Arg_Count.
-	* gcc-interface/Make-lang.in, Makefile.rtl: Take note of the new files.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* frontend.adb (Frontend): Skip -gnatec=gnat.adc
-	switch, because we've already read gnat.adc by default.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* exp_ch5.adb (Get_Default_Iterator): Replace
-	"Assert(False)" with "return Iter", because if an iterable
-	type is derived from a noniterable one, then we won't find an
-	overriding or inherited default iterator.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb (Warn_On_Suspicious_Index): Improve warning when the
-	literal index used to access a string is null or negative.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb (Status_Flag_Or_Transient_Decl): The attribute is now
-	allowed on loop parameters.
-	(Set_Status_Flag_Or_Transient_Decl): The attribute is now allowed
-	on loop parameters.
-	(Write_Field15_Name): Update the output for
-	Status_Flag_Or_Transient_Decl.
-	* einfo.ads: Attribute Status_Flag_Or_Transient_Decl now applies
-	to loop parameters. Update the documentation of the attribute
-	and the E_Loop_Parameter entity.
-	* exp_ch7.adb (Process_Declarations): Remove the bogus guard
-	which assumes that cursors can never be controlled.
-	* exp_util.adb (Requires_Cleanup_Actions): Remove the bogus
-	guard which assumes that cursors can never be controlled.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb, sem_util.adb, sem_attr.adb, sem_ch6.adb, sem_ch8.adb,
-	sem_warn.adb: Minor reformatting.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_warn.adb (Warn_On_Overlapping_Actuals): Refine previous
-	fix and preserve older GNAT warning on overlapping actuals that
-	are not elementary types.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_attr.adb: Comment correction.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb: Minor reformatting.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* a-comlin.ads (Argument): Add precondition for analysis.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve): Update message for function call as statement.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Check_Returns): Clean up warnings coming from
-	generated bodies for renamings that are completions, when renamed
-	procedure is No_Return.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality
-	rule in 6.5.1 (7/2): if a renaming is a completion of a subprogram
-	with No_Return, the renamed entity must be No_Return as well.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, freeze.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb:
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Restrict check for uplevel references in
+	prefixes of array attributes, to prefixes that are entity names whose
+	type is constrained.
+	(Note_Uplevel_Bound): Verify that the bound is declared in an enclosing
+	subprogram, as itype created for loops in pre/postcondition may appear
+	in loops at the library level.
+
+2018-05-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Functions): The predicate function
+	declaration is inserted into the tree and analyzed at that point, so
+	should not be reinserted when the body is constructed. Inside a
+	generic, ensure that the body is not inserted twice in the tree.
+
+2018-05-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Check_Grouping): Modify test to ignore statements and
+	declarations not coming from source.
+
+2018-05-25  Fedor Rybin  <frybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Document new switch
+	--copy-environment for gnattest.
+
+2018-05-24  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_elab.adb (Non_Private_View): Simplify by removing a local Result
+	variable.
+	* sem_prag.adb (Get_Base_Subprogram): Same as above.
+
+2018-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* fe.h (Set_Normalized_First_Bit): Declare.
+	(Set_Normalized_Position): Likewise.
+	* repinfo.adb (List_Record_Layout): Do not use irregular output for a
+	variable position.  Fix minor spacing issue.
+	* gcc-interface/decl.c (annotate_rep): If a field has a variable
+	offset, compute the normalized position and annotate it in addition to
+	the bit offset.
+
+2018-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
+	Constify and rename variables.  Fix formatting.
+	(gnat_to_gnu) <N_Exception_Handler>: Minor tweak.
+	<N_Raise_Statement>: Likewise.
+
+2018-05-24  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch8.adb (Build_Body_For_Renaming): Adding support to build the
+	body of a variant record equality renaming.
+	(Expand_N_Subprogram_Renaming_Declaration): Adapt the code to the new
+	implementation of Build_Body_For_Renaming.
+	* exp_ch3.ads (Build_Variant_Record_Equality): New library level
+	function that factorizes the functionality needed by
+	Build_Body_For_Renaming and Expand_Freeze_Record_Type to build the body
+	of a variant record equality subprogram.
+	* exp_ch3.adb (Build_Variant_Record_Equality): New subprogram.
+	(Build_Variant_Record_Equality): New local procedure of
+	Expand_Freeze_Record_Type containing all the code specific for freezing
+	the record type that cannot be place in the new library level function.
+
+2018-05-24  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Is_Activation_Record): New flag on
+	in_parameters, used when unesting subprograms for LLVM, to indicate
+	that a generated parameter carries the activation record from the
+	enclosing subprogram.
+	* exp_unst.adb (Check_Static_Type): Handle array attributes of types
+	whose bounds may contain up-level references that need to be added to
+	an activation recoord.
+	(Add_Extra_Formal): Set Is_Activation_Record on new formal.
+
+2018-05-24  Yannick Moy  <moy@adacore.com>
+
+	* pprint.adb (Expression_Image): Improve the printing of expressions,
+	by taking more cases into account, in particular qualified expressions
+	and aggregates.  Also count more the number of parentheses to close
+	after the expression.
+
+2018-05-24  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Is_Visible_Component): For untagged types add missing
+	check for renamed discriminants.
+	* sem_ch4.adb (Analyze_Overloaded_Selected_Component,
+	Analyze_Selected_Component, Check_Misspelled_Selector): For calls to
+	Is_Visible_Component pass the associated selector node to allow
+	checking renamed discriminants on untagged types.
+
+2018-05-24  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Analyze_Use_Type): Do not assign the Prev_Use_Clause
+	link to a use_type clause if this would cause an infinite loop in the
+	machinery that detects redundant use clauses. This may happen when the
+	redundant clauses appear in the context of a child unit and the context
+	of its parent.
+
+2018-05-24  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sinfo.ads: Fix grammar in comment.
+
+2018-05-24  Justin Squirek  <squirek@adacore.com>
+
+	* einfo.ads, einfo.adb (Append_Entity): Modified to use Link_Entities
+	and manage doubly-linked entity chain.
+	(Nested_Scenarios): Removed entity field used for optimization during
+	 elaboration to make room for the new field Prev_Entity.
+	(Link_Entities): Added to replace redundant calls to Set_Next_Entity
+	and Set_Prev_Entity as well as centralize changes to the entity chain.
+	(Predicated_Parent): Modified to use Node38.
+	(Prev_Entity): Added to fetch new node field Prev_Entity in all entity
+	types.
+	(Remove_Entity): Moved from sem_util.
+	(Set_Nested_Scenarios): Deleted.
+	(Set_Predicated_Parent): Modified to use Node38.
+	(Set_Prev_Entity): Added to set Prev_Entity field.
+	(Set_Validated_Object): Modified to use Node38.
+	(Unlink_Next_Entity): Added to process Prev_Entity when an unlinking
+	action is required.
+	(Validated_Object): Modified to use Node38.
+	(Write_Field36_Name): Remove Nested_Scenarios, Validated_Object, and
+	predicated parent cases.
+	(Write_Field38_Name): Add predicated parent and Validated_Object cases.
+	* sem_ch3.adb (Process_Subtype): Add guard to protect against
+	inappropriate marking of Predicated_Parent to non-itype subtypes.
+	(Make_Class_Wide_Type): Preserve Prev_Entity field and set in new type.
+	(Copy_And_Swap): Add setting of Prev_Entity.
+	(Build_derived_Record_Type): Replace Set_Next_Entity w/ Link_Entities.
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace Set_Next_Entity
+	w/ Link_Entities.
+	(New_Overloaded_Entity): Remove block created to search for previous
+	entities in the entity chain with relevant calls to Prev_Entity as well
+	as replace duplicated code from Remove_Entity_And_Homonym with a call
+	to that subprogram.
+	* sem_ch7.adb (Exchange_Declarations): Replace Set_Next_Entity w/
+	Link_Entities.
+	* sem_elab.adb (Find_And_Process_Nested_Scenarios): Remove global and
+	initial subprogram declarations related to Nested_Scenarios.
+	(Process_Nested_Scenarios): Deleted.
+	(Save_Scenario): Deleted.
+	(Traverse_Body): Remove optimization for Nested_Scenarios so as to free
+	node space in the entity tree.
+	* sem_util.adb, sem_util.ads (Remove_Entity): Moved to einfo.
+	(Remove_Entity_And_Homonym): Added to separate functionality of
+	Remove_Entity from the homonym chain directly.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Replace Set_Next_Entity
+	w/ Link_Entities and Unlink_Next_Entity.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Replace Set_Next_Entity w/
+	Link_Entities.
+	* exp_ch6.adb (Replace_Renaming_Declaration_Id): Replace
+	Set_Next_Entity w/ Link_Entities.
+	* exp_disp.adb (Expand_Dispatching_Call): Replace Set_Next_Entity w/
+	Link_Entities and Unlink_Next_Entity.
+	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration): Replace
+	call to Remove_Entity with its new incarnation.
+	* exp_util.adb (New_Class_Wide_Subtype): Add setting of Prev_Entity.
+	* freeze.adb (Freeze_Record_Type): Replace Set_Next_Entity w/
+	Link_Entities.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch10.adb (Expand_Limited_With_Clause): Update the call to
+	Install_Limited_Withed_Unit.
+	(Expand_With_Clause): Update the call to Install_Withed_Unit.
+	(Implicit_With_On_Parent): Update the call to Install_Withed_Unit.
+	(Install_Context_Clauses): Update the call to Install_Withed_Unit.
+	(Install_Limited_Context_Clauses): Update the calls to
+	 Install_Limited_Withed_Unit.
+	(Install_Limited_Withed_Unit): Renamed to better illustrate its
+	purpose.
+	(Install_Private_With_Clauses): Update the calls to Install_Withed_Unit
+	and Install_Limited_Withed_Unit.
+	(Install_With_Clause): Uninstall a limited with clause if a [private]
+	with clause is given for the same package.
+	(Install_Withed_Unit): Renamed to better illustrate its purpose.
+	(Remove_Limited_With_Unit): New routine.
+
+2018-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* raise-gcc.c (__gnat_SEH_error_handler): Remove prototype.
+	(__gnat_personality_seh0): Adjust and beef up comments, and
+	fix formatting throughout.
+	(__gnat_adjust_context): Deal minimally with version 2.
+	* seh_init.c (__gnat_map_SEH): Fix formatting.
+	(_gnat_SEH_error_handler): Adjust comments.
+	(__gnat_install_SEH_handler): Fix formatting.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb, sem_ch3.adb, sem_res.adb: Minor reformatting.
+
+2018-05-24  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Flatten): Add a warning on an others clause in an array
+	aggregate with static bounds when named associations cover all index
+	positions and the others clause is redundant.
+
+2018-05-24  Raphael Amiard  <amiard@adacore.com>
+
+	* libgnat/a-cohama.ads: Add documentation.
+
+2018-05-24  Raphael Amiard  <amiard@adacore.com>
+
+	* libgnat/a-convec.ads: Add documentation.
+
+2018-05-24  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Ignore raising an error in
+	expansion for limited tagged types when the node to be expanded is a
+	raise expression due to it not representing a valid object.
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Add exception to error
+	message regarding assignments to limited types to ignore genereated
+	code.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (New_Class_Wide_Subtype): Capture and restore relevant
+	Ghost-related attributes of the class-wide subtype because the copy
+	clobbers them.
+
+2018-05-24  Justin Squirek  <squirek@adacore.com>
+
+	* sem_res.adb (Resolve_Entity_Name): Add guard to protect against
+	marking use clauses as effective when the reference appears within
+	generated code.
+
+2018-05-24  Cyrille Comar  <comar@adacore.com>
+
+	* doc/gnat_rm/the_gnat_library.rst: Fix typos.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-24  Bob Duff  <duff@adacore.com>
+
+	* exp_ch7.adb (Expand_Cleanup_Actions): Create a mark unconditionally
+	for build-in-place functions with a caller-unknown-size result.
+	(Create_Finalizer): For build-in-place functions with a
+	caller-unknown-size result, check at run time whether we need to
+	release the secondary stack.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Use the full view of an internally
+	generated incomplete type.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* expander.adb (Expand): Update the save and restore of the Ghost
+	region.
+	* exp_ch3.adb (Freeze_Type): Likewise.
+	* exp_disp.adb (Make_DT): Likewise.
+	* exp_util.adb (Build_DIC_Procedure_Body): Likewise.
+	(Build_DIC_Procedure_Declaration): Likewise.
+	(Build_Invariant_Procedure_Body): Likewise.
+	(Build_Invariant_Procedure_Declaration): Likewise.
+	(Make_Predicate_Call): Likewise.
+	* freeze.adb (Add_To_Result): Insert the freeze action of a living
+	entity prior to the start of the enclosing ignored Ghost region.
+	(Freeze_Entity): Update the save and restore of the Ghost region.
+	* ghost.adb (Install_Ghost_Mode): Reimplemented.
+	(Install_Ghost_Region): New routine.
+	(Mark_And_Set_Ghost_Assignment): Install a region rather than a mode.
+	(Mark_And_Set_Ghost_Body): Likewise.
+	(Mark_And_Set_Ghost_Completion): Likewise.
+	(Mark_And_Set_Ghost_Declaration): Likewise.
+	(Mark_And_Set_Ghost_Instantiation): Likewise.
+	(Mark_And_Set_Ghost_Procedure_Call): Likewise.
+	(Name_To_Ghost_Mode): New routine.
+	(Restore_Ghost_Region): New routine.
+	* ghost.ads (Install_Ghost_Region): New routine.
+	(Restore_Ghost_Region): New routine.
+	* opt.ads: Add new global variable Ignored_Ghost_Region.
+	* rtsfind.adb (Load_RTU): Update the save and restore of the Ghost
+	region. Install a clean region.
+	* sem.adb (Analyze): Likewise.
+	(Do_Analyze): Likewise.
+	* sem_ch3.adb (Analyze_Object_Declaration): Likewise
+	(Derive_Progenitor_Subprograms): Use local variable Iface_Alias to
+	capture the ultimate alias of the current primitive.
+	(Process_Full_View): Update the save and restore of the Ghost region.
+	Do not inherit DIC and invariant procedures.
+	* sem_ch5.adb (Analyze_Assignment): Update the save and restore of the
+	Ghost region.
+	* sem_ch6.adb (Analyze_Procedure_Call): Likewise.
+	(Analyze_Subprogram_Body_Helper): Likewise.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Likewise.
+	* sem_ch12.adb (Analyze_Package_Instantiation): Likewise.
+	(Analyze_Subprogram_Instantiation): Likewise.
+	(Instantiate_Package_Body): Likewise.
+	(Instantiate_Subprogram_Body): Likewise.
+	* sem_ch13.adb (Build_Predicate_Functions): Likewise.
+	(Build_Predicate_Function_Declaration): Likewise.
+	* sem_disp.adb
+	(Add_Dispatching_Operation): Do not consider DIC and invariant
+	procedures.
+	(Check_Dispatching_Operation): Use Add_Dispatching_Operation to collect
+	a dispatching subprogram.
+	(Check_Operation_From_Private_View): Likewise.
+	(Override_Dispatching_Operation): Likewise.
+	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Update the save
+	and restore of the Ghost region.
+	(Analyze_Initial_Condition_In_Decl_Part): Likewise.
+	(Analyze_Pragma): Update the save and restore of the Ghost region.
+	(Analyze_Pre_Post_Condition_In_Decl_Part): Likewise.
+	* sem_util.adb (Is_Suitable_Primitive): New routine.
+	* sem_util.ads (Is_Suitable_Primitive): New routine.
+	* sinfo.ads: Update the section of Ghost regions.
+
+2018-05-24  Piotr Trojanek  <trojanek@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_pragmas.rst (Contract_Cases):
+	Change "condition" to "case guard" after renaming in the contract
+	grammar.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Expand_Static_Predicates_In_Choices): Indicate that the
+	construct with discrete choices no longer contains a subtype with
+	predicates since the expansion already handled this case.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb (Wrap_Imported_Subprogram): Generate an unchecked
+	conversion to the return type to avoid a side effect where an imported
+	relocated function generates a new anonymous access type, whose
+	accessibility level does not agree with with that of the wrapper.
+
+2018-05-24  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.adb (Abstract_Interface_List): Add missing support for
+	private types whose full view is a synchronized type.
+	* sem_ch3.adb (Build_Derived_Private_Type): Skip building the full
+	derivation of a private type parent type is a task type with
+	discriminants as gigi does not use such type directly.
+
+2018-05-24  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Build_Variable_Reference_Marker): Do not create a
+	variable marker when the reference appears in the formal part of a
+	compilation unit instance because there is no place to insert it.
+	(In_Compilation_Instance_Formal_Part): New routine.
+
+2018-05-24  Piotr Trojanek  <trojanek@adacore.com>
+
+	* layout.ads, repinfo.ads: Fix references to renamed Backend_Layout
+	configuration parameter.
+
+2018-05-24  Doug Rupp  <rupp@adacore.com>
+
+	* argv-lynxos178-raven-cert.c: New file.
+	* libgnat/system-lynxos178-x86.ads: New file.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_disp.adb, freeze.adb, gnat1drv.adb, sem_ch5.adb, sem_spark.adb:
+	Minor reformattings.
+
+2018-05-23  Pascal Obry  <obry@adacore.com>
+
+	* adaint.c (win32_wait): Properly free the handle/pid lists when
+	WaitForMultipleObjects fails (return WAIT_FAILED).
+
+2018-05-23  Pascal Obry  <obry@adacore.com>
+
+	* adaint.c (win32_wait): Add missing parentheses.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Check_Large_Modular_Array): Moved to Freeze.
+	(Expand_N_Object_Declaration): Do not check for a large modular array
+	here.
+	* freeze.adb (Check_Large_Modular_Array): Moved from Exp_Ch3.
+	(Freeze_Object_Declaration): Code cleanup. Check for a large modular
+	array.
+	* sem_ch3.adb: Minor reformatting.
+
+2018-05-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads: New attribute on types: Predicated_Parent, to simplify the
+	retrieval of the applicable predicate function to an itype created for
+	a constrained array component.
+	* einfo.adb: Subprograms for Predicated_Parent.
+	(Predicate_Function): Use new attribute.
+	* exp_util.adb (Make_Predicate_Call): If the predicate function is not
+	available for a subtype, retrieve it from the base type, which may have
+	been frozen after the subtype declaration and not captured by the
+	subtype declaration.
+	* sem_aggr.adb (Resolve_Array_Aggregate): An Others association is
+	legal within a generated initiqlization procedure, as may happen with a
+	predicate check on a component, when the predicate function applies to
+	the base type of the component.
+	* sem_ch3.adb (Analyze_Subtype_Declaration): Clean up inheritance of
+	predicates for subtype declarations and for subtype indications in
+	other contexts.
+	(Process_Subtype): Likewise. Handle properly the case of a private type
+	with unknown discriminants whose full view is an unconstrained array.
+	Use Predicated_Parent to indicate source of predicate function on an
+	itype whose parent is itself an itype.
+	(Complete_Private_Subtype): If the private view has unknown
+	discriminants and the full view is an unconstrained array, set base
+	type of completion to the full view of parent.
+	(Inherit_Predicate_Flags): Prevent double assignment of predicate
+	function and flags.
+	(Build_Subtype): For a constrained array component, propagate predicate
+	information from original component type declaration.
+
+2018-05-23  Boris Yakobowski  <yakobowski@adacore.com>
+
+	* libgnat/a-ngelfu.ads (Arctanh, Arccoth): Fix faulty preconditions.
+
+2018-05-23  Arnaud Charlet  <charlet@adacore.com>
+
+	* checks.adb (Minimize_Eliminate_Overflows): Default initialize Lo and
+	Hi.
+	* sem_elab.adb: Make "out" parameters instead of "in out" when
+	relevant.
+
+2018-05-23  Bob Duff  <duff@adacore.com>
+
+	* gnatbind.adb (List_Applicable_Restrictions): Add
+	No_Implementation_Restrictions to the list of restrictions not to list.
+	Remove double negative "not No_Restriction_List".  Comment the
+	commentary that is output, so it won't cause errors if used directly in
+	a gnat.adc.
+
+2018-05-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Inherit_Class_Wide_Pre): Refine legality check on
+	class-wide precondition on a type extension when ancestor does not have
+	a class-wide precondition.  Previously the compiler accepted such a
+	precondition when the ancestor had a class-wide postcondition.
+
+2018-05-23  Javier Miranda  <miranda@adacore.com>
+
+	* sem_attr.adb (Valid_Scalars): Do not invoke Error_Attr_P to report
+	the warning on occurrences of this attribute whose evaluation is always
+	true (since that subprogram aborts processing the attribute). In
+	addition, replace the node by its boolean result 'True' (required
+	because the backend has no knowledge of this attribute).
+
+2018-05-23  Bob Duff  <duff@adacore.com>
+
+	* libgnat/a-convec.adb: (Insert, Insert_Space): Suppress warnings. The
+	code in question is not reachable in the case where Count_Type'Last is
+	out of range.
+
+2018-05-23  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_pragmas.rst: Clarify meaning of
+	local pragma Warnings Off without On.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-23  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/g-excact.ads (Is_Foreign_Exception): New predicate.
+	* libgnat/g-excact.adb: Implement.
+
+2018-05-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): If a subtype indication
+	is present, verify its legality when the domain of iteration is a
+	GNAT-specific formal container, as is already done for arrays and
+	predefined containers.
+
+2018-05-23  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Enclosing_Declaration): Fix the case of a named number
+	declaration, which was not taken into account.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Switch -gnatd_s is now used to stop elaboration checks on
+	synchronized suspension.
+	* rtsfind.ads: Add entries for units Ada.Synchronous_Barriers and
+	Ada.Synchronous_Task_Control and routines Suspend_Until_True and
+	Wait_For_Release.
+	* sem_elab.adb: Document switch -gnatd_s.
+	(In_Task_Body): New routine.
+	(Is_Potential_Scenario): Code cleanup. Stop the traversal of a task
+	body when the current construct denotes a synchronous suspension call,
+	and restriction No_Entry_Calls_In_Elaboration_Code or switch -gnatd_s
+	is in effect.
+	(Is_Synchronous_Suspension_Call): New routine.
+	* switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch
+	-gnatd_s.
+
+2018-05-23  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Make_DT): Restrict the initialization of
+	External_Tag and Expanded_Name to an empty string to the case where
+	both pragmas apply (i.e. No_Tagged_Streams and Discard_Names), since
+	restricted runtimes are compiled with pragma Discard_Names.
+	* doc/gnat_rm/implementation_defined_pragmas.rst,
+	doc/gnat_rm/implementation_defined_characteristics.rst: Add
+	documentation.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-23  Maroua Maalej  <maalej@adacore.com>
+
+	* sem_spark.adb: Fix of some permission rules of pointers in SPARK.
+
+2018-05-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Preanalyze_Range): The pre-analysis of the domain of
+	iteration of an Ada2012 loop is performed to determine the type of the
+	domain, but full analysis is performed once the loop is rewritten as a
+	while-loop during expansion. The pre-analysis suppresses expansion; it
+	must also suppress the generation of freeze nodes, which may otherwise
+	appear in the wrong scope before rewritting.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb: Update the section on suppressing elaboration warnings.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Is_Elaboration_Checks_OK_Id): Use predicate
+	Is_Elaboration_Target.
+	(Is_Elaboration_Target): New routine.
+	(Is_Elaboration_Warnings_OK_Id): Use predicate Is_Elaboration_Target.
+	(Set_Is_Elaboration_Checks_OK_Id): Use predicate Is_Elaboration_Target.
+	(Set_Is_Elaboration_Warnings_OK_Id): Use predicate
+	Is_Elaboration_Target.
+	* einfo.ads: Add new synthesized attribute Is_Elaboration_Target along
+	with occurrences in nodes.
+	(Is_Elaboration_Target): New routine.
+	* sem_prag.adb (Analyze_Pragma): Suppress elaboration warnings when an
+	elaboration target is subject to pragma Warnings (Off, ...).
+
+2018-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Type_Info): Remove obsolete stuff.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb: Flag304 is now Is_Elaboration_Warnings_OK_Id.
+	(Is_Elaboration_Warnings_OK_Id): New routine.
+	(Set_Is_Elaboration_Warnings_OK_Id): New routine.
+	(Write_Entity_Flags): Output Flag304.
+	* einfo.ads: Add new attribute Is_Elaboration_Warnings_OK_Id along with
+	occurrences in entities.
+	(Is_Elaboration_Warnings_OK_Id): New routine along with pragma Inline.
+	(Set_Is_Elaboration_Warnings_OK_Id): New routine along with pragma
+	Inline.
+	* sem_attr.adb (Analyze_Access_Attribute): Capture the state of
+	elaboration warnings.
+	* sem_ch3.adb (Analyze_Object_Declaration): Capture the state of
+	elaboration warnings.
+	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Capture the
+	state of elaboration warnings.
+	(Analyze_Subprogram_Body_Helper): Capture the state of elaboration
+	warnings.
+	(Analyze_Subprogram_Declaration): Capture the state of elaboration
+	warnings.
+	* sem_ch9.adb (Analyze_Entry_Declaration): Capture the state of
+	elaboration warnings.
+	(Analyze_Single_Task_Declaration): Capture the state of elaboration
+	warnings.
+	(Analyze_Task_Type_Declaration): Capture the state of elaboration
+	warnings.
+	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture the state
+	of elaboration warnings.
+	(Analyze_Generic_Subprogram_Declaration): Capture the state of
+	elaboration warnings.
+	* sem_elab.adb: Add a section on suppressing elaboration warnings.
+	Type Processing_Attributes includes component Suppress_Warnings
+	intended to suppress any elaboration warnings along a path in the
+	graph.  Update Initial_State to include a value for this component.
+	Types Target_Attributes and Task_Attriutes include component
+	Elab_Warnings_OK to indicate whether the target or task has elaboration
+	warnings enabled.  component Elab_Warnings_OK.
+	(Build_Access_Marker): Propagate attribute
+	Is_Elaboration_Warnings_OK_Node from the attribute to the generated
+	call marker.
+	(Extract_Instantiation_Attributes): Set the value for Elab_Warnings_OK.
+	(Extract_Target_Attributes): Set the value for Elab_Warnings_OK.
+	(Extract_Task_Attributes): Set the value for Elab_Warnings_OK.
+	(Process_Conditional_ABE_Access): Suppress futher elaboration warnings
+	when already in this mode or when the attribute or target have warnings
+	suppressed.
+	(Process_Conditional_ABE_Activation_Impl): Do not emit any diagnostics
+	if warnings are suppressed.
+	(Process_Conditional_ABE_Call): Suppress further elaboration warnings
+	when already in this mode, or the target or call have warnings
+	suppressed.
+	(Process_Conditional_ABE_Call_Ada): Do not emit any diagnostics if
+	warnings are suppressed.
+	(Process_Conditional_ABE_Call_SPARK): Do not emit any diagnostics if
+	warnings are suppressed.
+	(Process_Conditional_ABE_Instantiation): Suppress further elaboration
+	warnings when already in this mode or when the instantiation has
+	warnings suppressed.
+	(Process_Conditional_ABE_Instantiation_Ada): Do not emit any
+	diagnostics if warnings are suppressed.
+	(Process_Conditional_ABE_Variable_Assignment_Ada): Use the more
+	specific Is_Elaboration_Warnings_OK_Id rather than Warnings_Off.
+	(Process_Conditional_ABE_Variable_Assignment_SPARK): Use the more
+	specific Is_Elaboration_Warnings_OK_Id rather than Warnings_Off.
+	(Process_Task_Object): Suppress further elaboration warnings when
+	already in this mode, or when the object, activation call, or task type
+	have warnings suppressed. Update the processing state to indicate that
+	the path goes through a task body.
+	* sinfo.adb (Is_Elaboration_Warnings_OK_Node): Accept attribute
+	references.
+	(Set_Is_Elaboration_Warnings_OK_Node): Accept attribute references.
+	* sinfo.ads: Attribute Is_Elaboration_Warnings_OK_Node now applies to
+	attribute references.
+
+2018-05-23  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.ads: Minor reformatting.
+
+2018-05-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): If expression is an
+	anonymous_access_to_ subprogram formal, apply a conversion to force an
+	accsssibility check that will fail statically, enforcing 3.10.2 (13).
+
+2018-05-23  Daniel Mercier  <mercier@adacore.com>
+
+	* gnat1drv.adb: Turn off length expansion in CodePeer mode.
+
+2018-05-23  Bob Duff  <duff@adacore.com>
+
+	* freeze.adb: (Check_Address_Clause): Deal with build-in-place
+	aggregates in addition to build-in-place calls.
+
+2018-05-23  Bob Duff  <duff@adacore.com>
+
+	* einfo.ads: Minor reformatting.
+	* sem_ch3.adb: Likewise.
+	* sinfo.ads: Likewise.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Default_Initialize_Object): Do not optimize scalar array
+	initialization when the component type has predicates.
+	* exp_ch4.adb (Expand_N_Allocator): Do not optimize scalar array
+	allocation when the component type has predicates.
+
+2018-05-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb, exp_disp.adb, sem_ch3.adb, sem_ch6.adb, sem_prag.adb:
 	Minor reformatting.
 
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Modified Image
-	attribute cases (Rewrite_Object_Reference_Image): Created to
-	aid the rewriting of new-style 'Image attributes.
-	* sem_attr.adb (Analyze_Attribute): Modified Image attribute cases
-	(Check_Object_Reference_Image): Created to handle verification of
-	'Image with object-references as prefixes.
-	* sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object):
-	Create predicate to identify cases where an 'Image attribute's
-	prefix applies to an object reference.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Freeze_Entity): Do not generate a freeze
-	node for a generic unit, even if it includes delayed aspect
-	specifications. Freeze nodes for generic entities must never
-	appear in the tree that reaches the back-end of the compiler.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* treepr.adb (Print_Entity_Info): Do not print empty Elist.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not consider calls
-	to subprograms in other units as possibly inlined.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Freeze_Entity): For a derived type that has no
-	explicit delayed aspects but may inherit delayed aspects from its
-	parent type, analyze aspect at freeze point for proper capture
-	of an inherited aspect.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref.adb (Get_Through_Renamings): Get through subprogram
-	renamings; also, avoid repeated calls to Renamed_Object when getting
-	through object renamings.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Array_Type_Declaration): Handle properly an
-	array type declaration in a private part, when an index is a
-	subtype indication of a discrete type with a private partial view.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_Modular_Op): Force generating
-	temporary to improve the generated code.
-
-2017-09-06  Tristan Gingold  <gingold@adacore.com>
-
-	* s-fatgen.adb: Minor typo fix in comment.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Make_Field_Assign): If the type
-	of the right-hand side has stored constraint, use its values
-	(except for those that are renamings of parent discriminants)
-	to produce additional assignments for the discriminants of the
-	left-hand side, which are invisible in the righ-hand side and
-	not retrievable as selected components.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Needs_One_Formal): The first formal of such a
-	function must be a controlling formal, so that Obj.F (X, Y)
-	can have the interpretation F(Obj)(X, Y).
-	* sem_util.ads: Clarify documentation.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* table.ads, table.adb: Restore original implementation.
-	* namet.h (Names_Ptr): Adjust back.
-	(Name_Chars_Ptr): Likewise.
-	* uintp.h (Uints_Ptr): Likewise.
-	(Udigits_Ptr): Likewise.
-	* g-table.ads: Remove pragma Compiler_Unit_Warning.
-	* par_sco.adb: Do not with GNAT.Table and use Table consistently.
-	* scos.ads: Replace GNAT.Table with Table and adjust instantiations.
-	* spark_xrefs.ads: Likewise.
-	* scos.h: Undo latest changes.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate
-	No_Return flag to instance if pragma applies to generic unit. This
-	must be done explicitly because the pragma does not appear
-	directly in the generic declaration (unlike the corresponding
-	aspect specification).
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Has_Referencer): Move up and expand comment
-	explaining the test used to detect inlining.  Use same test
-	in second occurrence.
-	(Analyze_Package_Body_Helper): Minor formatting fixes.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Handle_Changed_Representation): For an untagged
-	derived type with a mixture of renamed and constrained parent
-	discriminants, the constraint for the target must obtain the
-	discriminant values from both the operand and from the stored
-	constraint for it, given that the constrained discriminants are
-	not visible in the object.
-	* exp_ch5.adb (Make_Field_Assign): The type of the right-hand
-	side may be derived from that of the left-hand side (as in the
-	case of an assignment with a change of representation) so the
-	discriminant to be used in the retrieval of the value of the
-	component must be the entity in the type of the right-hand side.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_ch7.adb, sem_util.adb, g-debpoo.adb, sem_ch4.adb,
-	sem_ch6.adb, sem_ch8.adb: Minor reformatting.
-	* exp_util.adb (Is_Source_Object): Account for
-	the cases where the source object may appear as a dereference
-	or within a type conversion.
-	* exp_ch6.adb: Fix missing space in error message.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb: Update description of Eliminate.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Loop_Entry): Handle
-	properly an attribute reference 'Loop_Entry that appears in the
-	list of indices of an indexed expression, to prevent an infinite
-	loop in the compiler.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Name): Do not raise Use_Error for temp files.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Set_Membership):  If an alternative
-	in a set membership is an overloaded enumeration literal, and
-	the type of the alternative is resolved from a previous one,
-	replace the entity of the alternative as well as the type,
-	to prevent inconsistencies between the entity and the type.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* ali.ads (ALIs_Record): Add No_Component_Reordering component.
-	(No_Component_Reordering_Specified): New switch.
-	* ali.adb (Initialize_ALI): Set No_Component_Reordering_Specified.
-	(Scan_ALI): Set No_Component_Reordering and deal with NC marker.
-	* bcheck.adb (Check_Consistent_No_Component_Reordering):
-	New check.
-	(Check_Configuration_Consistency): Invoke it.
-	* debug.adb (d.r): Toggle the effect of the switch.
-	(d.v): Change to no-op.
-	* einfo.ads (Has_Complex_Representation):
-	Restrict to record types.
-	(No_Reordering): New alias for Flag239.
-	(OK_To_Reorder_Components): Delete.
-	(No_Reordering): Declare.
-	(Set_No_Reordering): Likewise.
-	(OK_To_Reorder_Components): Delete.
-	(Set_OK_To_Reorder_Components): Likewise.
-	* einfo.adb (Has_Complex_Representation): Expect record types.
-	(No_Reordering): New function.
-	(OK_To_Reorder_Components): Delete.
-	(Set_Has_Complex_Representation): Expect base record types.
-	(Set_No_Reordering): New procedure.
-	(Set_OK_To_Reorder_Components): Delete.
-	(Write_Entity_Flags): Adjust to above change.
-	* fe.h (Debug_Flag_Dot_R): New macro and declaration.
-	* freeze.adb (Freeze_Record_Type): Remove conditional code setting
-	OK_To_Reorder_Components on record types with convention Ada.
-	* lib-writ.adb (Write_ALI): Deal with NC marker.
-	* opt.ads (No_Component_Reordering): New flag.
-	(No_Component_Reordering_Config): Likewise.
-	(Config_Switches_Type): Add No_Component_Reordering component.
-	* opt.adb (Register_Opt_Config_Switches): Copy
-	No_Component_Reordering onto No_Component_Reordering_Config.
-	(Restore_Opt_Config_Switches): Restore No_Component_Reordering.
-	(Save_Opt_Config_Switches): Save No_Component_Reordering.
-	(Set_Opt_Config_Switches): Set No_Component_Reordering.
-	* par-prag.adb (Prag): Deal with Pragma_No_Component_Reordering.
-	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Also set the
-	No_Reordering flag from the default.
-	(Build_Derived_Private_Type): Likewise.
-	(Build_Derived_Record_Type): Likewise.	Then inherit it
-	for untagged types and clean up handling of similar flags.
-	(Record_Type_Declaration): Likewise.
-	* sem_ch13.adb (Same_Representation): Deal with No_Reordering and
-	remove redundant test on Is_Tagged_Type.
-	* sem_prag.adb (Analyze_Pragma): Handle No_Component_Reordering.
-	(Sig_Flags): Likewise.
-	* snames.ads-tmpl (Name_No_Component_Reordering): New name.
-	(Pragma_Id): Add Pragma_No_Component_Reordering value.
-	* warnsw.adb (Set_GNAT_Mode_Warnings): Enable -gnatw.q as well.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>:
-	Copy the layout of the parent type only if the No_Reordering
-	settings match.
-	(components_to_record): Reorder record types with
-	convention Ada by default unless No_Reordering is set or -gnatd.r
-	is specified and do not warn if No_Reordering is set in GNAT mode.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Check_Previous_Null_Procedure):
-	new predicate to reject declarations that can be completions,
-	when there is a visible prior homograph that is a null procedure.
-	* sem_ch6.adb (Analyze_Null_Procedure): use it.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): ditto.
-
-2017-09-06  Thomas Quinot  <quinot@adacore.com>
-
-	* s-regpat.adb (Compile.Parse_Literal): Fix handling of literal
-	run of 253 characters or more.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.adb (Designated_Type): Use Is_Incomplete_Type to handle
-	properly incomplete subtypes that may be created by explicit or
-	implicit declarations.
-	(Is_Base_Type): Take E_Incomplete_Subtype into account.
-	(Subtype_Kind): Ditto.
-	* sem_ch3.adb (Build_Discriminated_Subtype): Set properly the
-	Ekind of a subtype of a discriminated incomplete type.
-	(Fixup_Bad_Constraint): Use Subtype_Kind in all cases, including
-	incomplete types, to preserve error reporting.
-	(Process_Incomplete_Dependents): Do not create a subtype
-	declaration for an incomplete subtype that is created internally.
-	* sem_ch7.adb (Analyze_Package_Specification): Handle properly
-	incomplete subtypes that do not require a completion, either
-	because they are limited views, of they are generic actuals.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Remove the
-	suspicious manipulation of the Do_Range_Check flag as ths is
-	no linger needed. Suppress validity check when analysing the
-	validation variable.
-
-2017-09-06  Philippe Gil  <gil@adacore.com>
-
-	* g-debpoo.adb: adapt GNAT.Debug_Pools to allow safe thread
-	GNATCOLL.Memory
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_elim.adb: Minor comment fix.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Is_Object_Reference): A function call is an
-	object reference, and thus attribute references for attributes
-	that are functions (such as Pred and Succ) as well as predefined
-	operators are legal in contexts that require an object, such as
-	the prefix of attribute Img and the Ada2020 version of 'Image.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, einfo.adb, sem_attr.adb, exp_ch4.adb, gnatls.adb,
-	exp_ch3.adb, xoscons.adb: Minor reformatting.
-
-2017-09-06  Raphael Amiard  <amiard@adacore.com>
-
-	* a-chtgop.ads, a-chtgop.adb: Add versions of First and Next with
-	Position parameter. If supplied, use it to provide efficient iteration.
-	* a-cohase.ads, a-cohase.adb, a-cihama.ads, a-cihama.adb,
-	a-cohama.ads, a-cohama.adb: Add/Use Position to provide efficient
-	iteration.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): If the
-	designated type is class-wide and the expression is an unchecked
-	conversion, preserve the conversion when checking the tag of the
-	designated object, to prevent spurious semantic errors when the
-	expression in the conversion has an untagged type (for example
-	an address attribute).
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Entry_Call): Check whether a protected
-	operation is subject to a pragma Eliminate.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_elim.ads, exp_ch4.adb: Minor reformatting.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fe.h (Eliminate_Error_Msg): Remove.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/utils.c (make_packable_type): Update call to
-	mode_for_size_tree.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/utils2.c (build_load_modify_store):
-	Use int_mode_for_size.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/62235
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
-	for Itypes that are E_Record_Subtype with a cloned subtype.
-	<E_Record_Subtype>: Use the DECL of the cloned type directly, if any.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (convert_with_check): Use a custom base type
-	if the base type of the expression has a different machine mode.
-	Rename a couple of parameters and local variable.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Address>: Do not strip
-	conversions around prefixes that are not references.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (unchecked_convert): When the result type is a
-	non-biased integral type with size 0, set the result to 0 directly.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): Turn to
-	(renaming_from_instantiation_p): ...this.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Use inline predicate
-	instead of explicit tests on kind of entities.  Adjust for renaming.
-	(gnat_to_gnu_profile_type): Likewise.
-	(gnat_to_gnu_subprog_type): Likewise.
-	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
-	(Case_Statement_to_gnu): Likewise.
-	(gnat_to_gnu): Likewise.
-	(process_freeze_entity): Likewise.
-	(process_type): Likewise.
-	(add_stmt_with_node): Adjust for renaming.
-	* gcc-interface/utils.c (gnat_pushdecl): Adjust for renaming.
-	(renaming_from_generic_instantiation_p): Rename to...
-	(renaming_from_instantiation_p): ...this.  Use inline predicate.
-	(pad_type_hasher::keep_cache_entry): Fold.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (adjust_for_implicit_deref): New function.
-	(gnat_to_gnu) <N_Explicit_Dereference>: Translate result type first.
-	(N_Indexed_Component): Invoke adjust_for_implicit_deref on the prefix.
-	(N_Slice): Likewise.
-	(N_Selected_Component): Likewise.  Do not try again to translate it.
-	(N_Free_Statement): Invoke adjust_for_implicit_deref on the expression.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* repinfo.ads: Document new treatment of dynamic values.
-	(TCode): Bump upper bound to 29.
-	(Dynamic_Val): New constant set to 29.
-	* repinfo.adb (Print_Expr) <Dynamic_Val>: New case.
-	(Rep_Value)  <Dynamic_Val>: Likewise.
-	* repinfo.h (Dynamic_Val): New macro.
-	* gcc-interface/decl.c (annotate_value): Tidy up and cache result for
-	DECL_P nodes too.
-	<INTEGER_CST>: Set TCODE instead of recursing.
-	<COMPONENT_REF>: Set TCODE instead of calling Create_Node manually.
-	<VAR_DECL>: New case.
-	<MULT_EXPR, PLUS_EXPR>: Fold conversions into inner operations.
-	<BIT_AND_EXPR>: Adjust.
-	<CALL_EXPR>: Do not fall through.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Call_to_gnu): If this is a function call and
-	there is no target, do not create a temporary for the return value for
-	an allocator either.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (pos_to_constructor): Skip conversions to an
-	unconstrained array type.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (validate_size): Use NARROWEST_INT_MODE
-	instead of GET_CLASS_NARROWEST_MODE (MODE_INT).
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (check_ok_for_atomic_type): Use
-	is_a <scalar_int_mode>.
-	* gcc-interface/trans.c (Pragma_to_gnu): Likewise.
-	* gcc-interface/utils.c (gnat_type_for_mode): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Use int_mode_for_size
-	instead of mode_for_size.
-	(gnat_to_gnu_subprog_type): Likewise.
-	* gcc-interface/utils.c (make_type_from_size): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/misc.c (fp_prec_to_size): Use opt_scalar_float_mode.
-	(fp_size_to_prec): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/utils.c (gnat_type_for_mode): Use is_a
-	<scalar_float_mode> instead of SCALAR_FLOAT_MODE_P.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+2018-05-22  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Propagate flags from the
+	original function spec into the generated function spec due to
+	expansion of expression functions during analysis.
+	(Analyze_Subprogram_Body_Helper): Modify check on formal parameter
+	references from the body to the subprogram spec in the case of
+	expression functions because of inconsistances related to having a
+	generated body.
+	* libgnarl/s-osinte__android.ads: Flag parameters as unused.
+	* libgnarl/s-osinte__lynxos178e.ads: Likewise.
+	* libgnarl/s-osinte__qnx.adb: Likewise.
+	* libgnarl/s-osinte__qnx.ads: Likewise.
+
+2018-05-22  Doug Rupp  <rupp@adacore.com>
+
+	* init.c (HAVE_ADJUST_CONTEXT_FOR_RAISE): Don't define on VxWorks7 for
+	AArch64.
+
+2018-05-22  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/a-except.adb (Exception_Propagation.Propagate_Exception):
+	Expect an Exception_Occurence object, not an Access.
+	(Complete_And_Propagate_Occurrence): Adjust accordingly.
+	(Raise_From_Signal_Handler): Likewise.
+	(Reraise_Occurrence_No_Defer): If we have a Machine_Occurrence
+	available in the provided occurrence object, just re-propagate the
+	latter as a bare "raise;" would do.
+	* libgnat/a-exexpr.adb (Propagate_Exception): Adjust to spec change.
+	* libgnat/a-exstat.adb (String_To_EO): Initialize X.Machine_Occurrence
+	to null, to mark that the occurrence we're crafting from the stream
+	contents is not being propagated (yet).
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Initialize_Ctrl_Record_Component): Insert the generated
+	code for a transient component in line with the rest of the
+	initialization code, rather than before the aggregate. This ensures
+	that the component has proper visibility of the discriminants.
+
+2018-05-22  Jerome Lambourg  <lambourg@adacore.com>
+
+	* adaint.c: Reorganize QNX-specific macros, use syspage to retreive the
+	number of CPUs.
+
+2018-05-22  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp-qnx.c: Properly restore link register in signal trampoline.
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Strip away any
+	conversions before extracting the value of the expression.
+	* exp_ch3.adb (Default_Initialize_Object): Optimize the default
+	initialization of an array of scalars.
+	(Get_Simple_Init_Val): Add processing for array types. Remove the
+	processing of strings because this case is already handled by the array
+	case.
+	(Needs_Simple_Initialization): Moved to Sem_Util.
+	(Simple_Init_Array_Type): New routine.
+	(Simple_Init_Initialize_Scalars_Type): Reimplemented to use the new
+	facilities from Sem_Util.
+	(Simple_Initialization_OK): New routine.
+	* exp_ch3.ads (Needs_Simple_Initialization): Moved to Sem_Util.
+	* exp_ch4.adb (Expand_N_Allocator): Optimize the default allocation of
+	an array of scalars.
+	* sem_prag.adb (Analyze_Float_Value): New routine.
+	(Analyze_Integer_Value): New routine.
+	(Analyze_Pragma): Reimplement the analysis of pragma Initialize_Scalars
+	to handled the extended form of the pragma.
+	(Analyze_Type_Value_Pair): New routine.
+	* sem_util.adb: Add invalid value-related data structures.
+	(Examine_Array_Bounds): New routine.
+	(Has_Static_Array_Bounds): Reimplemented.
+	(Has_Static_Non_Empty_Array_Bounds): New routine.
+	(Invalid_Scalar_Value): New routine.
+	(Needs_Simple_Initialization): Moved from Exp_Ch3.
+	(Set_Invalid_Scalar_Value): New routines.
+	* sem_util.ads (Has_Static_Non_Empty_Array_Bounds): New routine.
+	(Invalid_Scalar_Value): New routine.
+	(Needs_Simple_Initialization): Moved from Exp_Ch3.
+	(Set_Invalid_Scalar_Value): New routines.
+	* snames.ads-tmpl: Add names for the salar type families used by pragma
+	Initialize_Scalars.
+
+2018-05-22  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Make_DT): Initialize the External_Tag with an empty
+	string when pragma No_Tagged_Streams is applicable to the tagged type,
+	and initialize the Expanded_Name with an empty string when pragma
+	Discard_Names is applicable to the tagged type.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Check_Conformance): Add RM reference for rule that a
+	formal subprogram is never subtype conformqnt, and thus cannot be the
+	prefix of 'Access.  Reject as well the attribute when applied to a
+	renaming of a formal subprogram.
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Build_Array_Init_Proc): Update the call to
+	Needs_Simple_Initialization.
+	(Build_Init_Statements): Update the call to Get_Simple_Init_Val.
+	(Check_Subtype_Bounds): Renamed to Extract_Subtype_Bounds. Update the
+	profile and comment on usage.
+	(Default_Initialize_Object): Do not use New_Copy_Tree to set the proper
+	Sloc of a value obtained from aspect Default_Value because this could
+	potentially replicate large trees. The proper Sloc is now set in
+	Get_Simple_Init_Val.
+	(Get_Simple_Init_Val): Reorganized by breaking the various cases into
+	separate routines. Eliminate the use of global variables.
+	(Init_Component): Update the call to Get_Simple_Init_Val.
+	(Needs_Simple_Initialization): Update the parameter profile and all
+	uses of T.
+	(Simple_Init_Defaulted_Type): Copy the value of aspect Default_Value
+	and set the proper Sloc.
+	* exp_ch3.ads (Get_Simple_Init_Val): Update the parameter profile and
+	comment on usage.
+	(Needs_Simple_Initialization): Update the parameter profile.
+
+2018-05-22  Patrick Bernardi  <bernardi@adacore.com>
+
+	* sem_ch3.adb (Build_Discriminant_Constraints): Raise an error if the
+	user tries to use a subtype indication as a discriminant constraint.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.ads, exp_ch4.adb, exp_util.adb, expander.adb: Remove mention
+	of N_Reduction_Expression and N_Reduction_Expression_Parameter.
+	* par-ch4.adb: Remove parsing routines for reduction expressions.
+	* sem.adb, sinfo.ads, sinfo.adb, sem_ch4.ads, sem_ch4.adb, sem_res.adb,
+	sem_spark.adb, sprint.adb: Remove analysis routines for reduction
+	expressions.
+
+2018-05-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch8.adb (Check_Frozen_Renaming): Do not emit error in
+	Relaxed_RM_Semantics mode.
+
+2018-05-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* comperr.adb (Delete_SCIL_Files): Take into account
+	N_Generic_Package_Renaming_Declaration.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Search_Derivation_Levels): Whenever a parent type is
+	private, use the full view if available, because it may include renamed
+	discriminants whose values are stored in the corresponding
+	Stored_Constraint.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb: New attribute Hidden_In_Formal_Instance,
+	defined on packages that are actuals for formal packages, in order to
+	set/reset the visibility of the formals of a formal package with given
+	actuals, when there are subsequent uses of those formals in the
+	enclosing generic, as required by RN 12.7 (10).
+	* atree.ads, atree.adb: Add operations for Elist30.
+	* atree.h: Add Elist30.
+	* sem_ch12.adb (Analyze_Formal_Package_Instantiation): Collect formals
+	that are not defaulted and are thus not visible within the current
+	instance.
+	(Check_Formal_Packages): Reset visibility of formals of a formal
+	package that are not defaulted, on exit from current instance.
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Input_Output): Emit an error when a non-null,
+	non-'Result output appears in the output list of a function.
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb (Build_Array_VS_Func): Reimplemented.
+	(Build_Record_VS_Func): Reimplemented.
+	(Expand_N_Attribute): Reimplement the handling of attribute
+	'Valid_Scalars.
+	* sem_attr.adb (Analyze_Attribute): Reimplement the handling of
+	attribute 'Valid_Scalars.
+	* sem_util.adb (Scalar_Part_Present): Reimplemented.
+	(Validated_View): New routine.
+	* sem_util.ads (Scalar_Part_Present): Update the parameter profile and
+	comment on usage.
+	(Validated_View): New routine.
+	* doc/gnat_rm/implementation_defined_attributes.rst: Update the
+	documentation of attribute 'Valid_Scalars.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-22  Bob Duff  <duff@adacore.com>
+
+	* binde.adb: (Choose): Ignore a pragma Elaborate_Body that appears in
+	the spec of a SAL_Interface package.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Entity): When analyzing delayed aspects of an
+	entity E within a generic unit, indicate that there are no remaining
+	delayed aspects after invoking Analyze_Aspects_At_Freeze_Point. The
+	entity E is not frozen yet but the aspects should not be reanalyzed at
+	the freeze point, which may be outside of the generic and may not have
+	the proper visibility.
+
+2018-05-22  Bob Duff  <duff@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
+	the new --split-line-before-record, --indent-named-statements and
+	--no-align-modes gnatpp switches.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Handle properly
+	a second argument that is a constant of a given string value.
+
+2018-05-22  Doug Rupp  <rupp@adacore.com>
+
+	* sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.
+
+2018-05-22  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline.
+
+2018-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Fixed_Point_Type): If the first subtype has
+	delayed aspects, analyze them now, os that the representation of the
+	type (size, bounds) can be computed and validated.
+
+2018-05-22  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-dwalin.adb (Enable_Cache): Skip symbols outside of the
+	executable code section boundaries.
+
+2018-05-22  Javier Miranda  <miranda@adacore.com>
+
+	* locales.c: New implementation for the Ada.Locales package.
+	* libgnat/a-locale.ads: Remove comment indicating that this is not
+	implemented.
+	* doc/gnat_rm/standard_library_routines.rst: Remove comment indicating
+	that this is not implemented.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, freeze.adb, pprint.adb, sem_ch4.adb, sem_res.adb: Minor
+	reformattings.
+
+2018-05-22  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (In_Same_Declarative_Part): Moved to sem_util.
+	(Freeze_Subprogram_Body, Install_Body): Modify calls to
+	In_Same_Declarative_Part.
+	* sem_prag.adb (Analyze_Pragma-Pragma_Pure_Function): Add check to
+	verify pragma declaration is within the same declarative list with
+	corresponding error message.
+	* sem_util.adb, sem_util.ads (In_Same_Declarative_Part): Moved from
+	sem_ch12.adb and generalized to be useful outside the scope of
+	freezing.
+
+2018-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Declaration): Set the proper
+	categorization of the unit after processing the aspects in case one of
+	its aspects is converted into a categorization pragma.
+
+2018-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Warn_Overlay): Do not emit a wawrning on an object
+	declaration with an explicit address clause and a type with default
+	initialization, if the declaration carries an aspect
+	Suppress_Initialization.
+
+2018-05-21  Daniel Mercier  <mercier@adacore.com>
+
+	* pprint.adb: Use mixed case for attribute names.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Rename the call to
+	Analyze_Aspect_Specifications_On_Body_Or_Stub.
+	(Analyze_Subprogram_Body_Helper): Rename the calls to
+	Analyze_Aspect_Specifications_On_Body_Or_Stub.
+	* sem_ch9.adb (Analyze_Entry_Body): Rename the call to
+	Analyze_Aspect_Specifications_On_Body_Or_Stub.
+	* sem_ch10.adb: Add with and use clause for Sem_Ch13.
+	(Analyze_Package_Body_Stub): Add constant Id. Decorate the package stub
+	prior to analyzing its aspects.
+	(Analyze_Protected_Body_Stub): Add constant Id. Decorate the package
+	stub prior to analyzing its aspects. Save and restore the configuration
+	switches.
+	(Analyze_Task_Body_Stub): Add constant Id. Decorate the package stub
+	prior to analyzing its aspects.
+	* sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
+	to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
+	* sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
+	to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
+	* sem_prag.adb: Code reformatting.
+	(Analyze_Refined_Depends_Global_Post): Consider task body stubs.
+
+2018-05-21  Jerome Lambourg  <lambourg@adacore.com>
+
+	* gcc-interface/Makefile.in: Add g-soliop__qnx.ads to the runtime build
+	for QNX.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_cg.adb: Remove with and use clause for Exp_Disp.
+	* exp_ch9.adb: Remove with and use clause for Exp_Disp.
+	* exp_disp.adb (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
+	(Is_Predefined_Interface_Primitive): Moved to Sem_Util.
+	(Is_Predefined_Internal_Operation): Moved to Sem_Util.
+	* exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
+	(Is_Predefined_Interface_Primitive): Moved to Sem_Util.
+	(Is_Predefined_Internal_Operation): Moved to Sem_Util.
+	* exp_dist.adb: Remove with and use clause for Exp_Disp.
+	* freeze.adb: Remove with and use clause for Exp_Disp.
+	* sem_cat.adb: Remove with and use clause for Exp_Disp.
+	* sem_ch6.adb: Remove with and use clause for Exp_Disp.
+	* sem_ch12.adb: Remove with and use clause for Exp_Disp.
+	* sem_elab.adb (Check_Overriding_Primitive): Do not process predefined
+	primitives.
+	* sem_util.adb: Remove with and use clause for Exp_Disp.
+	(Is_Predefined_Dispatching_Operation): Moved from Exp_Disp.
+	(Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
+	(Is_Predefined_Internal_Operation): Moved from Exp_Disp.
+	* sem_util.ads (Is_Predefined_Dispatching_Operation): Moved from
+	Exp_Disp.
+	(Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
+	(Is_Predefined_Internal_Operation): Moved from Exp_Disp.
+
+2018-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Valid_Conversion): Improve error message on an illegal
+	type conversion whose expression has a limited view of a type.
+
+2018-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Build_Formal_Container_Iteration): If source has
+	explicit name for iterator loop, preserve that name in expanded
+	construct, for possible use in exit statements.
+
+2018-05-21  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch4.adb (Analyze_Membership_Op): Avoid compiler crash when the
+	spec of a unit has Ada 2012 membership tests with multiple choices and
+	the unit body is not compiled under Ada 2012 mode.
+
+2018-05-21  Doug Rupp  <rupp@adacore.com>
+
+	* sigtramp-vxworks-target.inc: Set cfa_reg properly from sigcontext
+	pregs.
+	(CFI_COMMON_REGS): Restore LR jic probed from prologue.
+	(REGNO_PC_OFFSET): Change to correct value for Aarch64.
+
+2018-05-21  Jose Ruiz  <ruiz@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst, exp_attr.adb,
+	libgnarl/s-tassta.adb: Minor typo fixes
+
+2018-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_One_Call): Recognize complex cases where an
+	indexed call originally in prefix forn is itself the prefix of a
+	further call.
+
+2018-05-21  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_eval.adb (Is_Null_Range): Clarify access to the full view of a
+	type.
+	(Not_Null_Range): Same as above.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb: Minor reformatting.
+	* exp_ch6.adb: Likewise.
+	* freeze.adb: Likewise.
+	* inline.adb: Likewise.
+	* sem_util.adb: Likewise.
+
+2018-05-21  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call.Process_Formals): Use a type
+	conversion instead of an unchecked type conversion when inlining a
+	return statement, unless type qualification is required (for character
+	and string literal) or no check can result from the conversion (for
+	access types).
+	* opt.ads: Update comment.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration
+	model of the compilation unit spec, if any.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration
+	model of the compilation unit spec, if any.
+	* sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the
+	parent compilation unit spec, if any.
+	* sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration
+	model of the main unit.
+	(Is_Same_Unit): The routine now uses Unit_Entity.
+	(Is_Subunit): Removed.
+	(Normalize_Unit): Removed.
+	(Unit_Entity): New routine.
+	* sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma
+	Elaboration_Checks. The analysis now ensures that the pragma appears at
+	the configuration level, and on the initial declaration of a unit.
+	Other placements are either flagged as illegal, or ignored.
+	(Check_Duplicate_Elaboration_Checks_Pragma): New routine.
+	(Ignore_Elaboration_Checks_Pragma): New routine.
+	* sem_util.adb (Install_Elaboration_Model): New routine.
+	* sem_util.ads (Install_Elaboration_Model): New routine.
+	* doc/gnat_rm/implementation_defined_pragmas.rst: Update the
+	documentation of pragma Elaboration_Checks.
+	* gnat_rm.texi: Regenerate.
+
+2018-05-21  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-trasym__dwarf.adb (Executable_Name): Return argv[0] instead
+	of empty string when argv[0] couldn't be found on PATH.
+	(Enable_Cache): Raise Program_Error instead of attempting a null
+	pointer dereference when the Exec_Module initialization failed.
+
+2018-05-21  Piotr Trojanek  <trojanek@adacore.com>
+
+	* libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
+	* libgnarl/a-taside.ads (Tasking_State): Likewise.
+	* libgnat/a-calend.ads (Clock_Time): Likewise.
+
+2018-05-21  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
+	call notation in inlined call in GNATprove mode.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Is_External_State): An abstract state is also external
+	when it is declared with option "synchronous".
+	* einfo.ads: Update the documentation of synthesized attribute
+	Is_External_State.
+	* sem_util.adb (Find_Simple_Properties): New routine.
+	(Is_Enabled_External_Property): New routine.
+	(State_Has_Enabled_Property): Reimplemented. The two flavors of option
+	External have precedence over option Synchronous when determining
+	whether a property is in effect.
+
+2018-05-21  Yannick Moy  <moy@adacore.com>
+
+	* sem_eval.adb (Static_Length): Take into account case of variable of
+	subtype string literal.
+
+2018-05-21  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
+	(Object_Section): Rename Flag_Alloc component as Flag_Xcode.
+	* libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
+	component name.
+	(Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
+	* libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
+	change.
+
+2018-05-21  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to
+	Address, and type of Low, High to Storage_Offset.
+	(Low): Rename as Low_Address and convey that the return value is a
+	runtime reference accounting for a load address.
+	* libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the
+	address/offset type changes.
+	(Aranges_Lookup): Likewise.
+	(Symbolic_Address): Likewise.
+	(Symbolic_Traceback): Likewise.
+	(Dump_Cache): Likewise.
+	(Is_Inside): Likewise.
+	(Open): Likewise.
+	(Set_Load_Address): Likewise.
+	(Low_Address): Likewise, and account for C.Load_Address.
+	* libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low.
+	(Multi_Module_Symbolic_Traceback): Compare address in traceback
+	with module Low_Address instead of Low.
+
+2018-05-21  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as
+	Load_Address.
+	* libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly.
+	(Set_Load_Address): Likewise.
+	(Symbolic_Traceback): Likewise.
+
+2018-05-21  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
+	Load_Address argument and pass it down to Init_Module.
+	* libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
+	lm.l_addr as the Load_Address to Add_Module_To_Cache.
+
+2018-05-21  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.adb (Has_Discriminants): Stronger assertion.
+	(Set_Has_Discriminants): Stronger assertion.
+	* sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect
+	the stronger assertion on Has_Discriminant.
+	(Uninstall_Discriminants_And_Pop_Scope): Same as above.
+	* sem_util.adb (New_Copy_Tree): Same as above.
+	* sem_ch7.adb (Generate_Parent_References): Prevent calls to
+	Has_Discriminant on non-type entities that might happen when the
+	compiled code has errors.
+	* sem_ch3.adb (Derived_Type_Declaration): Only call
+	Set_Has_Discriminant on type entities.
+
+2018-05-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
+	code generation.
+
+2018-05-21  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib.ads: Fix typo in enumeration in comment.
+
+2018-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The
+	attribute reference is legal within a generic unit when the prefix is a
+	formal private type.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not
+	delegate the secondary stack management when there is no suitable
+	transient context, and the transient scope was intended to manage the
+	secondary stack because this causes premature reclamation. Change the
+	transient scope creation logic by special casing assignment statements
+	of controlled components for type initialization procedures.
+	(Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update
+	the comment on usage.
+	(Find_Transient_Context): Change the initinte loop into a while loop.
+	Iterations schemes and iterator specifications are not valid transient
+	contexts because they rely on special processing. Assignment statements
+	are now treated as a normal transient context, special cases are
+	handled by the caller. Add special processing for pragma Check.
+	(Is_OK_Construct): Removed. Its functionality has been merged in
+	routine Find_Transient_Context.
+	* sem_ch5.adb (Check_Call): Reimplemented. Add code to properly
+	retrieve the subprogram being invoked. Use a more accurate predicate
+	(Requires_Transient_Scope) to determine that the function will emply
+	the secondary stack.
+
+2018-05-21  Piotr Trojanek  <trojanek@adacore.com>
+
+	* ada_get_targ.adb: Fix subprogram body headers.
+	* adabkend.adb: Likewise.
+	* checks.adb: Likewise.
+	* exp_ch3.adb: Likewise.
+	* exp_ch5.adb: Likewise.
+	* exp_ch9.adb: Likewise.
+	* exp_dist.adb: Likewise.
+	* exp_tss.adb: Likewise.
+	* inline.adb: Likewise.
+	* lib-writ.adb: Likewise.
+	* lib-xref-spark_specific.adb: Likewise.
+	* libgnarl/s-osinte__darwin.adb: Likewise.
+	* libgnarl/s-stusta.adb: Likewise.
+	* libgnarl/s-taprop__solaris.adb: Likewise.
+	* libgnarl/s-tposen.adb: Likewise.
+	* libgnarl/s-vxwext__kernel-smp.adb: Likewise.
+	* libgnarl/s-vxwext__kernel.adb: Likewise.
+	* libgnat/a-btgbso.adb: Likewise.
+	* libgnat/a-cfdlli.adb: Likewise.
+	* libgnat/a-cfhama.adb: Likewise.
+	* libgnat/a-cfinve.adb: Likewise.
+	* libgnat/a-cimutr.adb: Likewise.
+	* libgnat/a-coboho.adb: Likewise.
+	* libgnat/a-cofove.adb: Likewise.
+	* libgnat/a-cofuve.adb: Likewise.
+	* libgnat/a-comutr.adb: Likewise.
+	* libgnat/a-exexda.adb: Likewise.
+	* libgnat/a-tags.adb: Likewise.
+	* libgnat/a-tideau.adb: Likewise.
+	* libgnat/a-wtdeau.adb: Likewise.
+	* libgnat/a-ztdeau.adb: Likewise.
+	* libgnat/g-alleve.adb: Likewise.
+	* libgnat/s-excdeb.adb: Likewise.
+	* libgnat/s-parint.adb: Likewise.
+	* libgnat/s-shasto.adb: Likewise.
+	* libgnat/s-traceb__hpux.adb: Likewise.
+	* prepcomp.adb: Likewise.
+	* sem_ch4.adb: Likewise.
+	* sem_ch6.adb: Likewise.
+	* sem_dist.adb: Likewise.
+	* sem_prag.adb: Likewise.
+	* sem_util.adb: Likewise.
+	* sinfo.adb: Likewise.
+	* switch.adb: Likewise.
+
+2018-05-04  John Marino  <gnugcc@marino.st>
+
+	PR ada/85635
+	* link.c (BSD platforms): Add missing backslash.
+
+2018-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/85540
+	* init.c (__gnat_handle_vms_condition): Add missing parentheses.
+
+2018-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/85007
+	* gnat_ugn.texi: Regenerate.
+
+2018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/85007
+	* gnatlink.adb (Gnatlink): Remove handling of -b switch.
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
+	Remove documentation of -b switch.
+
+2018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/85036
+	* gnatlink.adb (Process_Args): Drop existing link switches if multiple
+	switches are passed for --LINK.
+
+2018-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/82813
+	* gcc-interface/misc.c (gnat_post_options): Disable string overflow
+	warnings.
+
+2018-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
+	Consider only entities for objects.
+
+2018-03-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
+	$(GNATLIBCFLAGS).
+	(OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
+
+2018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (convert_with_check): Fix typo in the condition
+	guarding the overflow check emitted for the upper bound of a floating-
+	point conversion.
+
+2018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
+
+2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* libgnat/i-cexten.ads (Float_128): New type.
+
+2018-02-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
+	false if the component type is a pointer.
+
+2018-01-11  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
+	result of Get_Simple_Init_Value and pass the source location of the
+	object declaration's object_definition.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
+	properly object declarations with initializations that are
+	build-in-place function calls, when there is an address specification,
+	either as an aspect specification or an explicit attribute
+	specification clause, for the initialized object.
+	* freeze.adb (Check_Address_Clause): Do not remove side-effects from
+	initial expressions in the case of a build-in-place call.
+
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
+	private (sub)type; refactor to avoid early return statement.
+	(Not_Null_Range): Same as above.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
+	concurrent, nor effectively volatile.
+	* ghost.adb (Check_Ghost_Type): New routine.
+	* ghost.ads (Check_Ghost_Type): New routine.
+	* sem_util.adb (Is_Declaration): Reimplemented. The routine can now
+	consider specific subsets of declarations.
+	(Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
+	replicated by Is_Declaration.
+	* sem_util.ads (Is_Declaration): New parameter profile. Update the
+	comment on usage.
+	(Is_Declaration_Other_Than_Renaming): Removed.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
+	as Part_Of consituents of single protected types are illegal when they
+	take place inside a protected function.
+	(Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
+	enclosing function.
+	(Is_Protected_Part_Of_Constituent): New routine.
+	(Within_Function): New routine.
+
+2018-01-11  Arnaud Charlet  <charlet@adacore.com>
+
+	Bump copyright notices to 2018.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
+	Minor reformatting.
+
+2018-01-11  Justin Squirek  <squirek@adacore.com>
+
+	* par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
+	to make sure a given expression function is properly parenthesized.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
+	categorization of a subprogram body which does not complete a previous
+	declaration.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
+	scope of package Ada is Standard.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
+	subcomponent of the current entity when building the body for a dynamic
+	predicate function for a record with composite subcomponents.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
+	Establish_Transient_Scope.
+	(Convert_To_Assignments): Update the call to Establish_Transient_Scope.
+	(Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
+	* exp_ch6.adb (Expand_Call_Helper): Update the call to
+	Establish_Transient_Scope.
+	(Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
+	Establish_Transient_Scope.
+	* exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
+	management of the secondary stack to an enclosing scope if there is no
+	suitable construct to wrap, and the transient scope was intended to
+	manage the secondary stack.
+	(Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
+	is a valid boundary for a transient expression which comes from the
+	statements of the alternative, otherwise alternatives cannot be
+	wrapped. Assignments of controlled objects which have controlled
+	actions suppressed now stop the traversal as there is no point in
+	looking for an enclosing construct. Add several N_xxx_Body choices to
+	the termination conditions for completeness.
+	* exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
+	and the associated comment on usage.
+	* exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
+	Establish_Transient_Scope.
+	(Add_Write_After): Update the call to Establish_Transient_Scope.
+	* sem_res.adb (Check_Initialization_Call): Removed.
+	(Resolve_Actuals): Account for additional cases where finalization
+	actions are required by utilizing predicate Needs_Finalization rather
+	than Is_Controlled.
+	(Resolve_Call): Type initialization procedures can now utilize
+	transient scopes to manage the secondary stack, thus preventing leaks
+	during initialization.  Remove the previous kludgy algorithm which
+	attempts to manage the secondary stack at the object creation site.
+
+2018-01-11  Jerome Lambourg  <lambourg@adacore.com>
+
+	* libgnat/g-soliop__qnx.ads: New.
+	* adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
+	for QNX.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+	* par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
+	a null procedure occurs in a protected definition.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+	* binderr.ads, namet.ads: Minor reformatting.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
+	xml2gnat.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+	* binde.adb (Force_Elab_Order): Give an error if there are duplicate
+	unit names.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Freeze_Expr_Types): If an access value is the
+	controlling argument of a dispatching call. freeze the corresponding
+	designated type.
+
+2018-01-11  Ben Brosgol  <brosgol@adacore.com>
+
+	* doc/Makefile: Add Sphinx option -W to treat warnings as errors.
+
+2018-01-11  Ben Brosgol  <brosgol@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
+	corrections.
+	* gnat_rm.texi: Regenerate.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
+	formsl type corresponding to the actual fixed point type is private,
+	because in this case there can be no suspicious arithmetic operations
+	in the generic unless they reference a formal subprogram.  Clarify
+	warning.
+
+2018-01-11  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): No action done for functions
+	returning class-wide types since it requires generating code using
+	'reference and the CCG target has no secondary stack.
+	* gnat1drv.adb: Disable building static dispatch tables when generating
+	C code.
+
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
+
+	* libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
+	libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
+	(File_Type): Add Default_Initial_Condition aspect.
+
+2018-01-11  Pascal Obry  <obry@adacore.com>
+
+	* libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
+	to match what the Libadalang-based version does.
+	* doc/gnat_ugn/about_this_guide.rst: Update reference.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Uses_SS): A controlled type requires the secondary stack
+	if it contains at least one component declaration employing a function
+	call returning on the secondary stack.
+
+2018-01-11  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+	Update description of restriction SPARK_05 with SPARK 2014.
+	* gnat_rm.texi: Regenerate.
+
+2018-01-11  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
+	sem_res.adb, sem_util.adb: Minor reformatting.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
+	has a delayed aspect which must be processed at the point the type is
+	frozen. This mimics what is done when the predicate is provided by a
+	source aspect.
+
+2018-01-11  Doug Rupp  <rupp@adacore.com>
+
+	* init.c (vxworks): Add macro checks for __aarch64__.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Add_Failure_Expression): New routine.
+	(Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
+	* sem_util.adb (Is_Current_Instance): Code cleanup.
+
+2018-01-11  Patrick Bernardi  <bernardi@adacore.com>
+
+	* libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
+	Default_Sec_Stack_Size.
+	* libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
+	limit check so that the integer index does not overflow. Check the
+	dynamic stack allocation does not cause the secondary stack pointer to
+	overflow.
+	(SS_Info): Align colons.
+	(SS_Init): Cover the case when bootstraping with an old compiler that
+	does not set Default_SS_Size.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
+	legality of an inherited operation that may require overriding, ignore
+	primitive_wrappers that correspond to explicit operations that override
+	an interface primitive.
+	* exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
+	operation to which the class-wide expression applies is a protected op.
+	with a primitive_wrapper, verify that the updated inherited expression
+	does not contain an internal call to a protected function.  This
+	completes the implementation of AI12-0166.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* ali.adb: Document the remaining letters available for ALI lines.
+	(Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
+	* ali.ads: Update type With_Record. Field
+	Implicit_With_From_Instantiation is no longer in use. Add field
+	Implicit_With.
+	* csinfo.adb (CSinfo): Remove the setup for attribute
+	Implicit_With_From_Instantiation.
+	* lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
+	either implicitly or explicitly withed.
+	(Is_Implicit_With_Clause): New routine.
+	(Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
+	confusion with the with clause attribute by the same name.
+	(Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
+	* rtsfind.adb (Maybe_Add_With): Code cleanup.
+	* sem_ch8.adb (Present_System_Aux): Code cleanup.
+	* sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
+	for a parent unit.
+	(Implicit_With_On_Parent): Mark the with clause as generated for a
+	parent unit.
+	* sem_ch12.adb (Inherit_Context): With clauses inherited by an
+	instantiation are no longer marked as Implicit_With_From_Instantiation
+	because they are already marked as implicit.
+	* sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
+	which marks implicit with clauses as related to an instantiation.
+	* sinfo.adb (Implicit_With_From_Instantiation): Removed.
+	(Parent_With): New routine.
+	(Set_Implicit_With_From_Instantiation): Removed.
+	(Set_Parent_With): New routine.
+	* sinfo.ads: Update the documentation of attribute Implicit_With.
+	Remove attribute Implicit_With_From_Instantiation along with
+	occurrences in nodes.  Add attribute Parent_With along with occurrences
+	in nodes.
+	(Implicit_With_From_Instantiation): Removed along with pragma Inline.
+	(Parent_With): New routine along with pragma Inline.
+	(Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
+	(Set_Parent_With): New routine along with pragma Inline.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Find_Enclosing_Scope): Return the unique defining
+	entity when the enclosing construct is a body.
+
+2018-01-11  Patrick Bernardi  <bernardi@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
+	Secondary_Stack_Size handling as a pragma is now generated for the
+	corresponding aspect instead of an attribute.  Pragma expression is
+	relocated instead of evaluated. Discriminant of the corresponding
+	record type is referenced rather than the type discriminant.
+	(Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
+	Secondary_Stack_Size rep item checks to only look for the pragma rep.
+	* sem_ch13.adb (Analyze_One_Aspect): Transform
+	Aspect_Secondary_Stack_Size into a pragma instead of an attribute
+	because the attribute does not have visibility on a task type's
+	discriminants when the type's definition is expanded.
+	(Analyze_Attribute_Definition_Clause): Remove handling of
+	Attribute_Secondary_Stack_Size.
+	* snames.adb-tmpl, snames.ads-tmpl: Remove
+	Attribute_Secondary_Stack_Size, no longer used.
+
+2018-01-11  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb: Minor comment fix.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Process_Action): Do not abandon the inspection of an
+	individual action because the action may denote a complex expression,
+	such as a case statement, which in turn may contain additional
+	transient objects.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
+	analysis on a copy of the expression with a copy of the index variable,
+	because full expansion will rewrite construct into a loop with the
+	original loop variable.
+	* exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
+	expression is an iterated component association. Full analysis takes
+	place when construct is rewritten as a loop.
+	(In_Place_Assign_OK, Safe_Component): An iterated_component_association
+	is not safe for in-place assignment.
+	* sem_util.adb (Remove_Entity): Handle properly the case of an isolated
+	entity with no homonym and no other entity in the scope.
+
+2018-01-11  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
+	message to be printed on the pragma argument identifier.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
+	entity of the generated invariant procedure in order to construct a
+	proper entity chain.
+
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
+	comment.
+
+2018-01-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.ads, einfo.adb (Activation_Record_Component,
+	Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
+	Allow E_Discriminant.
+
+2018-01-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
+	for atomic access once the component size is taken into account and
+	also do it if the component type is Atomic or Volatile_Full_Access.
+
+2018-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnatvsn.ads: Bump copyright year.
+
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
 	    Alan Hayward  <alan.hayward@arm.com>
 	    David Sherwood  <david.sherwood@arm.com>
 
-	* gcc-interface/decl.c (validate_size): Update use of
-	GET_MODE_WIDER_MODE, forcing a wider mode to exist.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-            Alan Hayward  <alan.hayward@arm.com>
-            David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/misc.c (fp_prec_to_size): Use new mode iterators.
-	(fp_size_to_prec): Likewise.
-
-2017-08-29  Martin Liska  <mliska@suse.cz>
-
-	PR other/39851
-	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.
-
-2017-08-08  Martin Liska  <mliska@suse.cz>
-
-	* gcc-interface/trans.c: Include header files.
-
-2017-07-29  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/utils.c (gnat_write_global_declarations): Pass false
-	as new argument to the imported_module_or_decl debug hook.
-
-2017-07-25  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Apply_Divide_Checks): Ensure that operands are not
-	evaluated twice. 
-
-2017-07-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE,
-	TYPE_GCC_MIN_VALUE): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL.
-	(TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL.
-
-2017-07-18  Mike Frysinger  <vapier@chromium.org>
-
-	* gcc-interface/Makefile.in (../../gnatmake$(exeext)): Delete $(P).
-	(../../gnatlink$(exeext)): Likewise.
-
-2017-07-15  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
-
-	PR ada/81446
-	* system-linux-m68k.ads: Add pragma No_Elaboration_Code_All.
-	(Backend_Overflow_Checks): Set to True.
-
-2017-06-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false.
-
-2017-06-21  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
-	notice.  New macro.
-	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
-	as a definition.
-	(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
-	definition.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
-	imported subprograms for the current compilation unit as
-	definitions.  Disable debug info for references to variables.
-	* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
-	* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
-	not built-in functions to their binding scope.
-	(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
-	the function as a definition.  Update all callers.
-	(gnat_write_global_declarations): Emit debug info for imported
-	functions.  Filter out external variables for which debug info
-	is disabled.
-
-2017-06-15  Nicolas Boulenguez  <nicolas.boulenguez@free.fr>
-
-	PR ada/81105
-	* gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting.
-	(i[3456]86-pc-gnu): Likewise.
-	(x86_64 kfreebsd): Likewise.
-
-2017-06-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR bootstrap/80897
-	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Use Positive index.
-
-2017-06-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/81070
-	* s-interr-hwint.adb: Reinstate.
-	* gcc-interface/Makefile.in (RTEMS): Use it again.
-
-2017-06-08  Olivier Hainque  <hainque@adacore.com>
-
-	* vx_crtbegin_auto.c: Update year in copyright notice.
-	* vx_crtbegin.c: Likewise.
-	* vx_crtbegin.inc: Likewise. 
-	* vx_crtend.c:  Likewise.
-
-2017-06-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* Makefile.in (rtems): Use TLS implementation for s-tpopsp.adb.
-	* s-tpopsp-rtems.adb: Delete.
-
-2017-06-02  Olivier Hainque  <hainque@adacore.com>
-
-	* vx_crtbegin_auto.c: New file.
-	* vx_crtbegin.c: New file.
-	* vx_crtbegin.inc: New file.
-	* vx_crtend.c: New file.
-
-2017-05-25  Jonathan Wakely  <jwakely@redhat.com>
-
-	* gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant
-	const qualifiers that cause -Wignored-qualifiers warnings.
-
-2017-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
-	for Itypes that are E_Access_Subtype.
-	<E_Access_Subtype>: Use the DECL of the base type directly.
-
-2017-05-22  Ed Schonberg  <schonberg@adacore.com>
-            Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a
-	limited view may appear in the profile of a function, and a call to
-	that function in another unit in which the full view is available must
-	use this full view to spurious type errors at the point of call.
-	* inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading
-	of parent body with a with clause for the main unit.
-	* gcc-interface/decl.c (defer_limited_with_list): Document new usage.
-	(gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment
-	types declared in external units like types from limited with clauses.
-	Adjust final processing of defer_limited_with_list accordingly.
-	* gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try
-	again to translate the prefix after the field if it is incomplete.
-
-2017-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict
-	alignment for simple volatile fields and remove associated errors.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
-	* gcc-interface/trans.c (get_elaboration_procedure): Make static.
-
-2017-05-15  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/utils.c (can_materialize_object_renaming_p):
-	Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
-	process Original_Node instead of expanded names.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
-	addressability check in the constrained case.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
-	types not coming from a limited context.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
-	the inlined list that are not public.
-	* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
-	there is a pragma Inline_Always on the subprogram.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
-	<N_Allocator>: Use properly typed constants.
-	(extract_values): Move around.
-	(pos_to_constructor): Minor tweaks.
-	(Sloc_to_locus): Fix formatting.
-	* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
-	* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
-	(Gigi_Equivalent_Type): Adjust head comment.
-	* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
-	is a representation clause on an extension, propagate the alignment of
-	the parent type only if the platform requires strict alignment.
-
-2017-05-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
-	instead of Word_Size.
-
-	Revert
-	2017-03-28  Andreas Schwab  <schwab@suse.de>
-
-	PR ada/80117
-	* system-linux-aarch64-ilp32.ads: New file.
-	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
-	from LIBGNAT_TARGET_PAIRS.
-	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
-	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
-	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
-	or -mabi=ilp32, resp.
-
-2017-05-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ada/80626
-	* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
-	instead of Word_Size.
-
-2017-05-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* raise-gcc.c (exception_class_eq): Make ec parameter const.
-
-2017-05-02  Richard Biener  <rguenther@suse.de>
-
-	* gcc-interface/misc.c (gnat_post_options): Do not set
-	-fstrict-overflow.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (assoc_to_constructor): Make sure
-	Corresponding_Discriminant is only called on discriminants.
-	Skip the saving of the result only for them.
-	(gnat_to_gnu) <N_Selected_Component>: Likewise.
-	<N_Unchecked_Type_Conversion>: Translate the result type first.
-	(gigi): Set TREE_NOTHROW on Begin_Handler.
-	(stmt_list_cannot_raise_p): New predicate.
-	(Exception_Handler_to_gnu_gcc): Emit a simple final call instead of
-	a cleanup if the statements of the handler cannot raise.
-	(process_freeze_entity): Use Is_Record_Type.
-	(process_type): Likewise.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads (Corresponding_Record_Component): New alias
-	for Node21 used for E_Component and E_Discriminant.
-	* einfo.adb (Corresponding_Record_Component): New function.
-	(Set_Corresponding_Record_Component): New procedure.
-	(Write_Field21_Name): Handle Corresponding_Record_Component.
-	* sem_ch3.adb (Inherit_Component): Set
-	Corresponding_Record_Component for every component in
-	the untagged case.  Clear it afterwards for non-girder
-	discriminants.
-	* gcc-interface/decl.c (gnat_to_gnu_entity)
-	<E_Record_Type>: For a derived untagged type with discriminants
-	and constraints, apply the constraints to the layout of the
-	parent type to deduce the layout.
-	(field_is_aliased): Delete.
-	(components_to_record): Test DECL_ALIASED_P directly.
-	(annotate_rep): Check that fields are present except for
-	an extension.
-	(create_field_decl_from): Add DEBUG_INFO_P
-	parameter and pass it in recursive and other calls.  Add guard
-	for the manual CSE on the size.
-	(is_stored_discriminant): New predicate.
-	(copy_and_substitute_in_layout): Consider only
-	stored discriminants and check that original fields are present
-	in the old type.  Deal with derived types.  Adjust call to
-	create_variant_part_from.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): When locating the
-	accessibility entity created for an access parameter, handle
-	properly a reference to a formal of an enclosing subprogram. if
-	the reference appears in an inherited class-wide condition, it
-	is the rewriting of the reference in the ancestor expression,
-	but the accessibility entity must be that of the current formal.
-
-2017-05-02  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_Non_Binary_Modular_Op): New subprogram.
-	(Expand_N_Op_Add, Expand_N_Op_Divide, Expand_N_Op_Minus,
-	Expand_N_Op_Multiply, Expand_N_Op_Or, Expand_N_Op_Subtract):
-	Call Expand_Non_Binary_Modular_Op.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Private_Type): If the parent type
-	has discriminants, do not override the Stored_Constraint list of
-	the full view of the derived type with that of the derived type.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Attribute_Enum_Rep): Disallow T'Enum_Rep.
-
-2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* s-os_lib.ads: Minor typo fix.
-
-2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* gnatls.adb: Merge and refactor code from Prj.Env and remove
-	this deprecated dependency.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.ads: minor comment addition.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Record_Type): Fix a few typos and
-	pastos in part #3 of the head comment.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Do not generate an invariant
-	procedure body for a local (sub)type declaration within a
-	predicate function. Invariant checks do not apply to these, and
-	the expansion of the procedure will happen in the wrong scope,
-	leading to misplaced freeze nodes.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Insert_Library_Level_Action): Use proper scope
-	to analyze generated actions.  If the main unit is a body,
-	the required scope is that of the corresponding unit declaration.
-
-2017-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* einfo.adb (Declaration_Node): flip branches of
-	an IF statement to avoid repeated negations in its condition;
-	no change in semantics, only to improve readability.
-
-2017-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_case.adb: Remove extra spaces in parameter declarations.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* usage.adb: Replace space with hyphen ("run time" -> "run-time")
-	in usage line for new -gnatwE switch.
-
-2017-05-02  Claire Dross  <dross@adacore.com>
-
-	* a-cofuve.ads (Remove): Remove unnecessary
-	conditions in precondition.
-
-2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* a-stream.ads, exp_imgv.adb, sem_ch10.adb,
-	sem_attr.adb, s-finmas.ads, osint.adb: Minor typo fix.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Analyze_Case_Expression): Add check for valid
-	alternative expression.
-	* sem_res.adb (Resolve_Case_Expression): Ditto.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Set_All_DT_Position, In_Predef_Prim_DT):
-	Refine predicate for the case where the primitive operation
-	is a renaming of equality.  An overriding operation that is
-	a user-defined renaming of predefined equality inherits its
-	slot from the overridden operation. Otherwise it is treated
-	as a predefined op and occupies the same predefined slot as
-	equality. A call to it is transformed into a call to its alias,
-	which is the predefined equality. A dispatching call thus uses
-	the proper slot if operation is further inherited and called
-	with class-wide arguments.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* errout.adb (Set_Msg_Text): Add a case to switch the message
-	type when the character '[' is detected signifying a warning
-	about a run-time exception.
-	* opt.ads Add a new Warning_Mode value for new switch
-	* switch-b.adb (Scan_Binder_Switches): Add case for the binder
-	to handle new warning mode
-	* usage.adb (Usage): Add usage entry for -gnatwE
-	* warnsw.adb (Set_Warning_Switch): Add case for the new switch
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Process_Conversion): Reject an intrinsic operator
-	declaration that operates on some fixed point type.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* a-crbtgo.adb, s-taasde.adb: Remove unused use-type clauses.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Null_Procedure): Revert previous change.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Analyze_Case_Expression): Add check for valid
-	expression (Analyze_If_Expression): Add check for valid condition
-	* sem_eval.adb (Eval_Case_Expression): Add check for error posted
-	on case-expression
-	* sem_res.adb (Resolve_If_Expression): Add check for valid
-	condition and then-expression.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Build_Initialization_Call): Generate a null
-	statement if the initialization call is a null procedure, as
-	can happen with a controlled type with no explicit Initialize
-	procedure, or an array of such.
-	* exp_ch7.adb (Process_Object_Declaration): For a type with
-	controlled components that has a trivial Initialize procedure,
-	insert declaration for finalization counter after object
-	declaration itself.
-	(Make_Deep_Array_Body, Build_Initialize_statements): Do not create
-	finalization block and attendant declarations if component has
-	a trivial Initialize procedure.
-	(Make_Init_Call): Do not generate a call if controlled type has
-	a trivial Initialize procedure.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* g-forstr.ads (Data): Move Format component last.
-	* g-forstr.adb ("+"): Adjust for above change.
-	* g-rewdat.ads (Buffer): Move Buffer, Current, Pattern and Value last.
-	* g-sechas.ads (Context): Move Key last.
-	* g-socket.ads (Service_Entry_Type): Move Aliases last.
-	* s-fileio.adb (Temp_File_Record): Move Name last.
-	* s-regexp.adb (Regexp_Value): Move Case_Sensitive last.
-	* xr_tabls.ads (Project_File): Move Src_Dir and Obj_Dir last.
-
-2017-05-02  Jerome Lambourg  <lambourg@adacore.com>
-
-	* bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: Remove the -nognarl
-	switch introduced recently. finally not needed.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Null_Procedure): Set the
-	Corresponding_Body link for a null procedure declaration.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* atree.h (Flag290): Add missing terminating parenthesis.
-	* einfo.adb (Is_Class_Wide_Clone): Use Flag290.
-	(Set_Is_Class_Wide_Clone): Likewise.
-	* einfo.ads (Is_Class_Wide_Clone): Likewise.
-
-2017-05-02  Gary Dismukes  <dismukes@adacore.com>
-
-	* checks.ads (Null_Exclusion_Static_Checks): Add Boolean
-	parameter Array_Comp to indicate the case of an array object
-	with null-excluding components.
-	* checks.adb (Null_Exclusion_Static_Checks):
-	Call Compile_Time_Constraint_Error instead of
-	Apply_Compile_Time_Constraint_Error in the component case. Also
-	call that when Array_Comp is True, with an appropriate warning for
-	the array component case. Only create an explicit initialization
-	by null in the case of an object of a null-excluding access type
-	(and no longer do that in the component case).
-	* sem_ch3.adb (Check_Component): Add a Boolean parameter
-	Array_Comp defaulted to False.	Pass Empty for the Comp
-	actual when calling Null_Exclusion_Static_Checks in the case
-	where Comp_Decl matches Object_Decl, because we don't have a
-	component in that case. In the case of an object or component
-	of an array type, pass True for Array_Comp on the recursive call
-	to Check_Component.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* s-taprop-linux.adb (Prio_To_Linux_Prio): New function to correctly
-	compute the linux priority from the Ada priority. Call this everywhere
-	required. In particular, the previous version was not doing this
-	computation when setting the ceiling priority in various places. It
-	was just converting to C.int, which results in a ceiling that is off
-	by 1.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb: Comment predicate inheritance.
-
-2017-05-02  Tristan Gingold  <gingold@adacore.com>
-
-	* s-trasym.ads: Add comment.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb, sem_elab.ads: Minor comment fixes.
-	* sem_ch4.adb: Minor reformatting.
-	* s-taprop-linux.adb, s-taspri-posix.ads: Code refactoring.
-	* s-taspri-posix-noaltstack.ads: Minor refactoring.
-	* sinput.ads: Minor typo fix.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch9.adb (Discriminated_Size): Moved to sem_util.
-	* sem_util.ads, sem_util.adb (Discriminated_Size): Predicate moved
-	here from exp_ch9, to recognize objects whose creation requires
-	dynamic allocation, so that the proper warning can be emitted
-	when restriction No_Implicit_Heap_Allocation is in effect.
-	* sem_ch3.adb (Analyze_Object_Declaration): Use Discriminated_Size
-	to emit proper warning when an object that requires dynamic
-	allocation is declared.
-
-2017-05-02  Tristan Gingold  <gingold@adacore.com>
-
-	* s-trasym.ads, s-trasym.adb (Enable_Cache): New.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): The same relaxed
-	visibility rules for equality operators that apply within an
-	instantiation apply within an inlined body.
-	* sem_type.adb (Add_One_Interp): ditto.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Forbid pragma Contract_Cases on null
-	procedures.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* snames.ads-tmpl
-	(Name_Assume, Name_Attribute_Definition, Name_Loop_Optimize,
-	Name_No_Tagged_Streams): Move to regular pragmas.  Add
-	placeholders for Default_Scalar_Storage_Order, Dispatching_Domain,
-	and Secondary_Stack_Size.
-	(Pragma_Id): Move Pragma_Assume,
-	Pragma_Attribute_Definition, Pragma_Loop_Optimize and
-	Pragma_No_Tagged_Streams to second part.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb: Minor reformatting.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Improve error
-	detection for illegal references to private components or
-	operations of a protected type in the body of the type.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* opt.ads: Add missing GNAT markers in comments.
-	* opt.adb (Set_Opt_Config_Switches): Do not override earlier
-	settings of Optimize_Alignment at the end.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Apply_Constraint_Check): Do not apply
-	a discriminant check when the associated type is a constrained
-	subtype created for an unconstrained nominal type.
-	* exp_attr.adb: Minor reformatting.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (OK_For_Limited_Init_In_05): Handle correctly
-	the N_Raise_Expression case.
-	* sem_ch6.adb (Check_Limited_Return): Minor: clarify comment,
-	and add assertions.
-
-2017-05-02  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Ne): Do not bump parenthese level and
-	optimize length comparison in GNATprove mode.
-	* exp_spark.adb (Expand_SPARK_Op_Ne): New function to rewrite
-	operator /= into negation of operator = when needed.
-	(Expand_SPARK): Call new
-	function to expand operator /=.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_fixd.adb (Expand_Divide_Fixed_By_Fixed_Giving_Fixed):
-	Simplify the expression for a fixed-fixed division to remove
-	divisions by constants whenever possible, as an optimization
-	for restricted targets.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb, sem_ch3.adb, sem_ch6.adb: Minor reformatting.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* exp_attr.adb (Callable, Identity, Terminated): Use Find_Prim_Op
-	to find primitive ops, instead of using an Identifier that will
-	later be looked up. This is necessary because these ops are not
-	necessarily visible at all places where we need to call them.
-	* exp_util.ads: Minor comment fix.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Fully_Conformant_Expressions): Two entity
-	references are fully conformant if they are both expansions
-	of the discriminant of a protected type, within one of the
-	protected operations. One occurrence may be expanded into a
-	constant declaration while the other is an input parameter to
-	the corresponding generated subprogram.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Check_For_Null_Excluding_Components): Created for
-	recursivly searching composite-types for null-excluding access
-	types and verifying them.
-	(Analyze_Object_Declaration): Add a
-	call to Check_Null_Excluding_Components for static verification
-	of non-initialized objects.
-	* checks.adb, checks.ads (Null_Exclusion_Static_Checks): Added
-	a parameter for a composite-type's component and an extra case
-	for printing component information.
-
-2017-05-02  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch10.adb (Analyze_Subunit): Take
-	configuration pragma into account when restoring appropriate
-	pragma for analysis of subunit.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* s-tasren.adb, s-tasini.adb, s-taprop-linux.adb,
-	s-mudido-affinity.adb,, a-exetim-posix.adb, a-direio.adb,
-	g-socket.adb, s-taenca.adb, s-fileio.adb: Remove unused use-type
-	clauses from the runtime.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): Do not treat bit-packed
-	array components specially.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Premature_Usage): If the premature usage of
-	an entity is as the expression in its own object decaration,
-	rewrite the reference as Any_Id to prevent cascaded errors or
-	compiler loops when such an entity is used in an address clause.
-
-2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Add missing guard.
-
-2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Add more comments.
-	Put back pending fields onto the regular list if the misalignment
-	happens to cancel itself.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Complete_Object_Operation): When rewriting the
-	controlling actual in a prefixed call, preserve the original node
-	information if the prefix itself has been rewritten, for ASIS use.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Insert_Post_Call_Actions):
-	Code clean up. Insert the post-call actions after an enclosing
-	procedure call when N denotes a function call and appears as an
-	actual parameter in the procedure call.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): If there is a clause
-	for the component, also reject the attribute if the component
-	doesn't end on a byte boundary and its scalar storage order is
-	different from that of the enclosing record type.
-
-2017-04-28  Javier Miranda  <miranda@adacore.com>
-
-	* atree.ads (Info_Messages): Removed.
-	(Warning_Info_Messages): New counter.
-	(Report_Info_Messages): New counter.
-	* err_vars.ads Update documentation.
-	* errout.adb (Delete_Warning_And_Continuations): Update
-	Info_Message occurrences.
-	(Error_Msg_Internal): Update Info_Message occurrences.
-	(Delete_Warning): Update Info_Message occurrences.
-	(Write_Error_Summary): Update Info_Message occurrences.
-	(Output_Messages): Update Info_Message occurrences.
-	(To_Be_Removed): Update Info_Message occurrences.
-	(Reset_Warnings): Update Info_Message occurrences.
-	* errutil.adb (Error_Msg): Update Info_Message occurrences.
-	(Finalize): Update Info_Message occurrences.
-	(Initialize): Update Info_Message occurrences.
-	* erroutc.adb (Delete_Msg): Update Info_Message occurrences.
-	(Compilation_Errors): Update Info_Message_Occurences.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-        * exp_ch3.adb (Build_Init_Statements): Likewise on Nam.
-        * freeze.adb (Check_Component_Storage_Order): And on Comp_Byte_Aligned.
-        * sem_aggr.adb (Resolve_Record_Aggregate): Initialize Box_Node.
-        * sem_attr.adb (Loop_Entry): Initialize Encl_Loop.
-        * sem_ch12.adb (Build_Operator_Wrapper): Add pragma Warnings on Expr.
-        * sem_ch13.adb (Validate_Address_Clauses): Initialize Y_Alignment and
-        Y_Size.
-        * sem_eval.adb (Why_Not_Static): Initialize Typ.
-        * sem_prag.adb (Analyze_Pragma): Add pragma Warnings on Str.
-
-2017-04-28  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Might_Raise): New function
-	that replaces Is_Exception_Safe, but has the opposite
-	sense. Is_Exception_Safe was missing various cases -- calls inside
-	a pragma Debug, calls inside an 'if' or assignment statement,
-	etc. Might_Raise now walks the entire subtree looking for things
-	that can raise.
-	* exp_ch9.adb (Is_Exception_Safe): Remove.
-	(Build_Protected_Subprogram_Body): Replace call to
-	Is_Exception_Safe with "not Might_Raise". Misc cleanup (use
-	constants where possible).
-	* exp_ch7.adb: Rename Is_Protected_Body -->
-	Is_Protected_Subp_Body. A protected_body is something different
-	in the grammar.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* inline.adb (Expand_Inlined_Call): Initialize Targ1 variable.
-	* par-ch3.adb (P_Component_Items): Initialize Decl_Node variable.
-	(P_Discrete_Choice_List): Initialize Expr_Node variable.
-	* par-ch9.adb (P_Task): Initialize Aspect_Sloc variable.
-	(P_Protected): Likewise.
-	* sem_case.adb (Check_Duplicates):
-	Add pragma Warnings on variable.
-	* sem_ch12.adb (Preanalyze_Actuals): Initialize Vis variable.
-	* sem_ch4.adb (List_Operand_Interps):  Add pragma Warnings on variable.
-	* sem_ch5.adb (Analyze_Assignment): Initialize Save_Full_Analysis.
-	(Analyze_Exit_Statement): Initialize Scope_Id variable.
-	(Analyze_Iterator_Specification): Initialize Bas variable.
-	* sem_ch9.adb (Allows_Lock_Free_Implementation): Initialize
-	Error_Count (Satisfies_Lock_Free_Requirements): Likewise.
-	(Analyze_Accept_Statement): Initialize Task_Nam.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Install_Primitive_Elaboration_Check):
-	Do not generate an elaboration check if all checks have been
-	suppressed.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications, case
-	Interrupt_Handler and Attach_Handler): Generate reference
-	to protected operation to prevent spurious warnings about
-	unreferenced entities. Previous scheme failed with style checks
-	enabled.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Relocate_Pragmas_To_Body): A pragma Warnings
-	that follows an expression function must not be relocated to
-	the generated body, because it applies to the code that follows.
-
-2017-04-28  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
-	Relaxed_RM_Semantics to avoid having CodePeer issue errors on
-	code that might violate the more stringent checking for 'Access
-	introduced in Ada 2005.
-
-2017-04-28  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-cforse.adb: minor style fix in comment.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Also
-	initialize Block_Decls variable.
-	(Expand_Entry_Barrier): Add pragma Warnings on Func_Body variable.
-	(Build_Dispatching_Requeue): Add pragma Warnings on Op variable.
-	* exp_disp.adb (Expand_Interface_Actuals): Initialize
-	Formal_DDT and Actual_DDT variables.
-	(Expand_Interface_Thunk): Initialize Iface_Formal.
-	(Make_DT): Initialize Size_Comp.
-	(Make_Select_Specific_Data_Table): Initialize Decls.
-	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
-	Also initialize more RPC_Receiver_* variables.
-	(Build_To_Any_Function): Initialize Cstr_Formal.
-	* exp_prag.adb (Expand_Pragma_Contract_Cases): Initialize Msg_Str.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Freeze_Type_Refs): For an interface conversion
-	node between access types, freeze the designated type as well,
-	so that dispatch table pointers are created in the proper scope,
-	and not in the constructed body of the expression function.
-
-2017-04-28  Bob Duff  <duff@adacore.com>
-
-	* alloc.ads (Nodes_Initial): Go back to previous value. The large
-	value makes large compilations faster, but small compilations slower.
-
-2017-04-28  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb: minor typos in Is_Child_Or_Sibling.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* erroutc.adb (Compilation_Errors): Do not consider info messages
-	as suitable warnings when warnings must be treated as errors.
-	* sem_ch7.adb (Analyze_Package_Specification): Do not consider
-	internally-generated packages when outputting completion
-	information.
-	* errout.adb (Output_Messages): Do not consider info messages as
-	suitable warnings when warnings must be treated as errors.
-	* errutil.adb (Finalize): Do not consider info messages as
-	suitable warnings when warnings must be treated as errors.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* warnsw.ads: Minor fix for incorrect wording in comment.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (In_Instance_Code): New predicate in
-	Valid_Conversion, to determine whether a type conversion appears
-	as (or within) an actual for a formal object.  Type conversions
-	in instances are not rechecked in Valid_Conversion because
-	visibility changes between generic location andi instance may
-	lead to spurious errors, but conversions within an actual must be
-	fully checked, and they are not fully resolved when pre-analyzing
-	the actuals.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use
-	New_Copy_Tree instead of Relocate_Node as any subsequent copies
-	of the relocated node will have mangled Parent pointers.
-	* sem_util.adb (Build_NCT_Hash_Tables): Reset both hash
-	tables used in conjunction with entity and itype replication.
-	(Visit_Entity): Rewrite the restriction on which entities
-	require duplication.  The restriction now includes all types.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-cofuse.ads, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfinve.adb,
-	a-cfinve.ads, a-cforma.adb, a-cforma.ads, a-cofuma.adb, a-cofuma.ads,
-	a-cfhama.adb, a-cfhama.ads, a-cforse.adb: Minor reformatting and code
-	cleanups.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, g-dyntab.adb, par-ch4.adb, sem_util.adb, sem_attr.adb,
-	gnat1drv.adb, exp_disp.adb, namet.adb, alloc.ads: Minor reformatting.
-
-2017-04-28  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb: Minor reformatting.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb: Fix copy/pasto.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* gcc-interface/Make-lang.in: Define EH_MECHANISM while building
-	raise-gcc.c. Fix include search path for raise-gcc.c
-
-2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fe.h (Warn_On_Questionable_Layout): Declare.
-	* warnsw.ads (Warn_On_Record_Holes): Move down.
-	(Warn_On_Questionable_Layout): New boolean variable.
-	(Warning_Record): Add Warn_On_Questionable_Layout field.
-	* warnsw.adb (All_Warnings): Set Warn_On_Questionable_Layout.
-	(Restore_Warnings): Likewise.
-	(Save_Warnings): Likewise.
-	(Set_Dot_Warning_Switch): Handle 'q' and 'Q' letters.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to
-	components_to_record.
-	(gnu_field_to_gnat): New function.
-	(warn_on_field_placement): Likewise.
-	(components_to_record): Add GNAT_RECORD_TYPE and remove REORDER
-	parameters.  Rename local variables and adjust recursive call.
-	Rework final scan of the field list and implement warnings on the
-	problematic placement of specific sorts of fields.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* errout.adb, exp_aggr.adb, exp_attr.adb, exp_code.adb, fname.adb,
-	* fname.ads, freeze.adb, inline.adb, lib.adb, lib.ads, lib-list.adb,
-	* lib-load.adb, lib-writ.adb, par.adb, restrict.adb, rtsfind.adb,
-	* sem.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb,
-	* sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
-	* sem_intr.adb, sem_res.adb, sem_util.adb, sem_warn.adb, sprint.adb:
-	For efficiency, cache results of Is_Internal_File_Name and
-	Is_Predefined_File_Name in the Units table. This avoids a lot
-	of repeated text processing.
-
-2017-04-27  Emmanuel Briot  <briot@adacore.com>
-
-	* g-comlin.adb (Sort_Sections): remove useless test.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfhase.adb, a-cfhase.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that are
-	used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-	(Equivalent_Keys): Functions over cursors are removed. They were
-	awkward with explicit container parameters.
-	* a-cforse.adb, a-cforse.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that
-	are used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb: Code cleanup.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Replace_Entity): The prefix of a 'Result
-	attribute reference in a post- condition is the subprogram to
-	which the condition applies. If the condition is inherited
-	by a type extension, the prefix becomes a reference to the
-	inherited operation, but there is no need to create a wrapper
-	for this operation, because 'Result is expanded independently
-	when elaborating the postconditions.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sinput.adb: Minor code cleanup.
-	* namet.adb (Append): Create faster versions of
-	Append(String) and Append(Name_Id) by using slice assignment
-	instead of loops.
-	* sem_util.adb (In_Instance): Speed this up by removing
-	unnecessary tests; Is_Generic_Instance is defined for all
-	entities.
-	* sem_util.ads, sem_util.adb (In_Parameter_Specification):
-	Remove unused function.
-	* alloc.ads (Nodes_Initial): Use a much larger value, because
-	the compiler was spending a lot of time copying the nodes table
-	when it grows. This number was chosen in 1996, so is rather out
-	of date with current memory sizes. Anyway, it's virtual memory.
-	Get rid of Orig_Nodes_...; use Node_... instead.
-	* atree.adb (Lock): Do not release the Nodes tables; it's a
-	waste of time.
-	Orig_Nodes_ ==> Nodes_
-	* nlists.adb: Orig_Nodes_ ==> Nodes_
-	* g-table.adb: Remove unused "with" clause.
-	* g-table.ads, table.ads: Remove Big_Table_Type, which should
-	not be used by clients.
-	* g-dyntab.adb (Last_Allocated): New function
-	to encapsulate T.P.Last_Allocated, which I'm thinking of changing.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_eval.adb (Subtypes_Statically_Compatible): Remove duplicated
-	check.
-	(Subtypes_Statically_Match): Remove duplicate check.
-	* sem_prag.adb (Check_Arg_Is_External_Name): Remove duplicate check.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Replace_Type): Remove the special processing
-	for selected components.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Merge the
-	processing for attributes Fixed_Value and Integer_Value.
-	* exp_util.adb (Side_Effect_Free): Merge the processing for
-	qualified expressions, type conversions, and unchecked type
-	conversions.
-	* g-comlin.adb (Is_In_Config): Merge the processing for No_Space
-	and Optional.
-	* par-ch3.adb (P_Declarative_Items): Merge the processing for
-	tokens function, not, overriding, and procedure.
-	* sem_ch6.adb (Fully_Conformant_Expressions): Merge the processing
-	for qualified expressions, type conversions, and unchecked
-	type conversions.
-	* sem_util.adb (Compile_Time_Constraint_Error): Merge the
-	processing for Ada 83 and instances.
-	(Object_Access_Level): Merge the processing for indexed components
-	and selected components.
-	* uname.adb (Add_Node_Name): Merge the processing for stubs.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Install_Primitive_Elaboration_Check):
-	Do not generate the check when restriction No_Elaboration_Code
-	is in effect.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Build_Class_Wide_Check): New subsidiary
-	of Expand_Dispatching_Call. If the denoted subprogram has a
-	class-wide precondition, this is the only precondition that
-	applies to the call, rather that the class-wide preconditions
-	that may apply to the body that is executed. (This is specified
-	in AI12-0195).
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Issue
-	a warning in GNATprove mode if the runtime library does not
-	support IEEE-754 floats.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Inherit_Class_Wide_Pre): If the parent operation
-	is itself inherited it does not carry any contract information,
-	so examine its parent operation which is its Alias.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Image): In Ada2012 the
-	prefix can be an object reference in which case Obj'Image (X)
-	can only be interpreted as an indexing of the parameterless
-	version of the attribute.
-	* par-ch4.adb (P_Name): An attribute reference can be the prefix of
-	an indexing or a slice operation if the attribute does not require
-	parameters. In Ada2012 'Image also belongs in this category,
-	and A'Image (lo .. hi) is legal and must be parsed as a slice.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch4.adb: Minor reformatting.
-	* gnat1drv.adb (Adjust_Global_Switches): When in GNATprove mode,
-	disable the CodePeer and C generation modes. Similar to the
-	opposite actions done in CodePeer mode.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb: Remove duplicate code.
-	* sem_attr.adb: Delete duplicate code.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.adb: Reduce the amount of copying in
-	Release. No need to copy items past Last.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb Add with and use clauses for Sem_Disp.
-	(Install_Primitive_Elaboration_Check): New routine.
-	* checks.ads (Install_Primitive_Elaboration_Check): New routine.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Clean up the
-	processing of 'Elaborated.
-	* exp_ch6.adb (Expand_N_Subprogram_Body): Install a primitive
-	elaboration check.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb, g-table.ads: Remove incorrect assertion.
-	If the table grows and then shrinks back to empty, we won't necessarily
-	point back to the empty array. Code cleanups.
-	* sinput.ads: Add 'Base to Size clause to match the declared
-	component subtypes.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cforma.adb, a-cforma.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that
-	are used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-	* a-cofuma.adb, a-cofuma.ads (Enable_Handling_Of_Equivalence)
-	Boolean generic parameter to disable contracts for equivalence
-	between keys.
-	(Witness): Create a witness of a key that is used for handling of
-	equivalence between keys.
-	(Has_Witness): Check whether a witness is contained in a map.
-	(W_Get): Get the element associated to a witness.
-	(Lift_Equivalent_Keys): Removed, equivalence between keys is handled
-	directly.
-	* a-cofuse.adb, a-cofuse.ads (Enable_Handling_Of_Equivalence)
-	Boolean generic parameter to disable contracts for equivalence
-	between keys.
-	* a-cfhama.adb, a-cfhama.ads (Formal_Model.P) Disable handling
-	of equivalence on functional maps.
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model.P) Disable handling
-	of equivalence on functional maps.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb (Expand_Entry_Barrier): Code
-	cleanup. Do not perform the optimization which removes the
-	declarations of the discriminant and component renamings when
-	validity checks on operands and attributes are in effect.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb, exp_util.adb, sem_ch7.adb, g-dyntab.adb, g-dyntab.ads,
-	freeze.adb, a-cfinve.ads, a-cofuma.adb, a-cofuma.ads, a-cfhama.adb,
-	a-cfhama.ads, a-cofove.ads: Minor reformatting.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* g-debpoo.adb (Dump_Gnatmem): Protect against a possible null
-	pointer dereference.
-	* g-spipat.adb (Dump): Code clean up. Protect against a possible
-	null pointer dereference.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb: Default for Table_Low_Bound.
-	Rename Empty --> Empty_Table_Ptr, and don't duplicate code for it.
-	Free renames Init, since they do the same thing.
-	* g-table.ads: Default for Table_Low_Bound.
-	* table.ads: Default for Table_Low_Bound, Table_Initial, and
-	Table_Increment.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb: Add assertions to subprograms that
-	can reallocate.
-	* atree.adb, elists.adb, fname-uf.adb, ghost.adb, inline.adb,
-	* lib.adb, namet.adb, nlists.adb, sem.adb, sinput.adb, stringt.adb:
-	Reorder code so that above assertions do not fail.
-	* table.ads: Remove obsolete comment on Locked.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.ads: Code cleanup.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Freeze_Type): Build a DIC procedure
-	when needed for proof.	(Expand_SPARK): Call the new procedure.
-	* exp_util.ads Fix typo.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* a-cofuma.ads, a-cfhama.ads: Minor reformatting, grammar, and typo
-	fixes.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb Add new type Visited_Element
-	and update the contents of table Elab_Visited.	Various code clean up.
-	(Check_Elab_Call): Determine whether a prior call to
-	the same subprogram was already examined within the same context.
-	(Check_Internal_Call_Continue): Register the subprogram being
-	called as examined within a particular context. Do not suppress
-	elaboration warnings.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* xoscons.adb, osint.ads: Minor reformatting.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb: Misc cleanup. Rename
-	Table_Count_Type --> Table_Last_Type, because the name
-	was confusing (a "count" usually starts at zero).  Add
-	functionality supported or needed by other tables packages
-	(Move, Release_Threshold).
-	* g-table.ads, g-table.adb: This is now just a thin wrapper
-	around g-dyntab.ads/g-dyntab.adb.  Add functionality supported
-	or needed by other tables packages (Save, Restore).
-	* table.ads, table.adb: This is now just a thin wrapper around
-	* g-table.ads/g-table.adb.
-	* namet.h, scos.h, uintp.h: These files are reaching into the
-	private data of some instances of g-table, whose names changed,
-	so the above change requires some adjustment here. It now uses
-	public interfaces.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* namet.adb, namet.ads: Minor: remove unused procedures.
-
-2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* checks.adb (Apply_Scalar_Range_Check): Initialize Ok variable too.
-	(Minimize_Eliminate_Overflows): Initialize Llo and Lhi.
-	Add pragma Warnings on Rtype variable in nested block.	*
-	* exp_ch3.adb (Build_Init_Statements): Initialize VAR_LOC.
-	* exp_ch4.adb (Expand_Concatenate): Initialize 3 variables.
-	(Size_In_Storage_Elements): Add pragma Warnings on Res variable.
-	* exp_ch7.adb (Build_Adjust_Statements): Initialize Bod_Stmts.
-	(Process_Component_List_For_Finalize): Initialize Counter_Id.
-	(Build_Finalize_Statements): Initialize Bod_Stmts.
-	* exp_disp.adb (Expand_Dispatching_Call): Initialize SCIL_Node.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfhama.adb, a-cfhamai.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that are
-	used in subprogram contracts.
-	(Current_To_Last): Removed, model
-	functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-	(Equivalent_Keys): Functions over cursors are removed. They were
-	awkward with explicit container parameters.
-	* a-cofuma.adb, a-cofuma.ads (Lift_Equivalent_Keys): New lemma
-	(proof only) procedure to help GNATprove when equivalence over
-	keys is not equality.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, a-cfdlli.adb, a-cfdlli.ads, exp_ch9.adb, g-dyntab.adb,
-	sem_dim.adb, a-cfinve.adb, a-cfinve.ads, a-cofove.adb, a-cofove.ads:
-	Minor reformatting and code cleanups.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Build_Inherited_Condition_Pragmas): New procedure,
-	subsidiary of Check_Inherited_Conditions, to build pragmas for an
-	operation whose ancestor has classwide pre/postconditions. This
-	is used both to check the legality of the inheritance in Ada
-	and in SPARK, and to determine whether a wrapper is needed for
-	an inherited operation.
-	* exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
-	Improve placement of error message for inherited classwide
-	conditions that become illegal on type derivation.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Set
-	SPARK_Mode from context on generic package.
-	* sem_ch7.adb (Analyze_Package_Declaration): Simplify code to remove
-	useless test.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cofuve.ads (Range_Shifted): Rewrite precondition to avoid
-	overflows in computations.
-	* a-cofove.ads (Capacity_Range): Rewrite last bound to avoid
-	overflows in computations.
-	(Insert): Rewrite precondition to avoid overflows in computations.
-	* a-cfinve.ads (Capacity_Range): Rewrite last bound to avoid
-	overflows in computations.
-	(Insert): Rewrite precondition to avoid overflows in computations.
-
-2017-04-27  Steve Baird  <baird@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Asynchronous_Select): Initialize the Cancel
-	flag when it is declared in order to avoid confusing CodePeer about
-	the possibility of an uninitialized variable read.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Object_Declaration): There is
-	no dimensionality error if the subtype of the expression is
-	identical to the nominal subtype in the declaration, even though
-	the expression itself may have been constant-folded and lack a
-	dimension vector.
-	* sem_dim.ads: Add comments on setting of dimension vectors and
-	its interaction with node rewritings and side-effect removal.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* debug.adb: Minor comment correction.
-	* sem_dim.ads: Minor reformatting and typo fixes.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-table.adb, g-table.adsa, scos.h: From the C side, access First and
-	Last of the tables via function calls, rather than relying on layout
-	of data structures.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb: No wrapper in GNATprove mode.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Comparison_Op): Always
-	evaluate comparisons between values of universal types.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_Internal_Call_Continue): Do not generate
-	an elaboration counter nor a check when in GNATprove mode.
-	* sem_util.adb (Build_Elaboration_Entity): Do not create an
-	elaboration counter when in GNATprove mode.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb: copy-paste typo.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Pre_Post_In_Decl_Part):
-	Use correct test to detect call in GNATprove mode instead of
-	compilation.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model.M_Elements_In_Union):
-	New property function expressing that the element of a
-	sequence are contained in the union of two sequences.
-	(Formal_Model.M_Elements_Included): New property function
-	expressing that the element of a sequence are another sequence.
-	(Generic_Sorting): Use new property functions to state that
-	elements are preserved by Sort and Merge.
-	* a-cofove.adb, a-cofove.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions
-	that are used in subprogram contracts.	(Capacity):
-	On unbounded containers, return the maximal capacity.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Append): Default parameter value replaced
-	by new wrapper to allow more precise contracts.
-	(Insert): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Delete): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Prepend): Subprogram restored, it seems it was useful to users even
-	if it is inefficient.
-	(Delete_First): Subprogram restored, it seems it
-	was useful to users even if it is inefficient.	(Delete_Last):
-	Default parameter value replaced by new wrapper to allow more
-	precise contracts.
-	(Generic_Sorting.Merge): Subprogram restored.
-	* a-cfinve.adb, a-cfinve.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions
-	that are used in subprogram contracts.	(Capacity):
-	On unbounded containers, return the maximal capacity.
-	(Current_To_Last): Removed, model functions should be used
-	instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Append): Default parameter value replaced
-	by new wrapper to allow more precise contracts.
-	(Insert): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Delete): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Prepend): Subprogram restored, it seems it was useful to users even
-	if it is inefficient.
-	(Delete_First): Subprogram restored, it seems it
-	was useful to users even if it is inefficient.	(Delete_Last):
-	Default parameter value replaced by new wrapper to allow more
-	precise contracts.
-	(Generic_Sorting.Merge): Subprogram restored.
-	(Vector): Do not reuse formal vectors, as it is no longer possible
-	to supply them with an equality function over elements.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.adb (Release): When allocating the new
-	table, use the correct slice of the old table to initialize it.
-
-2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads: Minor fixes in comments.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb: disable clones in SPARK_Mode.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.ads, contracts.adb: Minor reformatting.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Build_Class_Wide_Clone_Body):
-	Build body of subprogram that has a class-wide condition that
-	contains calls to other primitives.
-	(Build_Class_Wide_Clone_Call); Build a call to the common
-	class-wide clone of a subprogram with classwide conditions. The
-	body of the subprogram becomes a wrapper for a call to the
-	clone. The inherited operation becomes a similar wrapper to which
-	modified conditions apply, and the call to the clone includes
-	the proper conversion in a call the parent operation.
-	(Build_Class_Wide_Clone_Decl (Spec_Id : Entity_Id): For a
-	subprogram that has a classwide condition that contains calls to
-	other primitives, build an internal subprogram that is invoked
-	through a type-specific wrapper for all inherited subprograms
-	that may have a modified condition.
-	* sem_prag.adb (Check_References): If subprogram has a classwide
-	condition, create entity for corresponding clone, to be invoked
-	through wrapper subprograns.
-	(Analyze_Pre_Post_Condition_In_Decl_Part): Do not emit error
-	message about placement if pragma isi internally generated.
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If subprogram has
-	a classwide clone, build body of clone as copy of original body,
-	and rewrite original body as a wrapper as a wrapper for a call to
-	the clone, so that it incorporates the original pre/postconditions
-	of the subprogram.
-	* freeze.adb (Check_Inherited_Conditions): For an inherited
-	subprogram that inherits a classwide condition, build spec and
-	body of corresponding wrapper so that call to inherited operation
-	gets the modified conditions.
-	* contracts.adb (Analyze_Contracts): If analysis of classwide
-	condition has created a clone for a primitive operation, analyze
-	declaration of clone.
-
-2017-04-27  Steve Baird  <baird@adacore.com>
-
-	* exp_util.adb (Build_Allocate_Deallocate_Proc):
-	Add "Suppress => All_Checks" to avoid generating unnecessary
-	checks.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* debug.adb: Reserve debug flag 'm' for no inlining in GNATprove.
-	* sem_ch6.adb (Anayze_Subprogram_Body_Helper): Skip creation of
-	inlining body in GNATprove mode when switch -gnatdm used.
-	* sem_res.adb (Resolve_Call): Skip detection of lack of inlining
-	in GNATprove mode when switch -gnatdm used.
-
-2017-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause
-	[Attribute_Address]): Call Set_Address_Taken when ignoring rep
-	clauses, so that we keep an indication of the address clause
-	before removing it from the tree.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_util.ads, exp_util.adb (Evaluate_Name): Force evaluation
-	of expression being qualified, when not an object name, or else
-	evaluate the underlying name.
-
-2017-04-27  Jerome Lambourg  <lambourg@adacore.com>
-
-	* bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: add -nognarl switch.
-
-2017-04-27  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch7.adb (Build_Finalize_Statements): Move Num_Comps to
-	Process_Component_List_For_Finalization as a local variable.
-	(Process_Component_For_Finalize): Add an extra parameter to avoid
-	global references.
-	(Process_Component_List_For_Finalization): Correct calls to
-	Process_Component_For_Finalize to take Num_Comps as a parameter.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch8.adb (Find_Direct_Name): Account for the case where
-	a use-visible entity is defined within a nested scope of an
-	instance when giving priority to entities which were visible in
-	the original generic.
-	* sem_util.ads, sem_util.adb (Nearest_Enclosing_Instance): New routine.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* raise-gcc.c: Don't use unwind.h while compiling
-	for the frontend, but mimic host behavior.
-
-2017-04-27  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Build_Discriminated_Subtype):
-	Propagate Has_Pragma_Unreferenced_Objects to the built subtype.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Global_Item):
-	Do not consider discriminants because they are not "entire
-	objects". Remove the discriminant-related checks because they are
-	obsolete.
-	(Analyze_Input_Output): Do not consider discriminants
-	because they are not "entire objects".
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
-	perform check if the current scope does not come from source,
-	as is the case for a rewritten task body, because check has
-	been performed already, and may not be doable because of changed
-	visibility.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-cofuse.adb, a-cfdlli.adb, a-cofuse.ads, a-cfdlli.ads, a-cofuve.adb,
-	a-cofuve.ads, a-cofuma.adb, a-cofuma.ads, sem_eval.adb, a-cofuba.adb:
-	Minor reformatting.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Call): If the return type of a function
-	is incomplete in an context in which the full view is available,
-	replace the type of the call by the full view, to prevent spurious
-	type errors.
-	* exp_disp.adb (Check_Premature_Freezing): Disable check on an
-	abstract subprogram so that compiler does not reject a parameter
-	of a primitive operation of a tagged type being frozen, when
-	the untagged type of that parameter cannot be frozen.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Compute_Type_Key): Don't walk
-	representation items for irrelevant types, which could be in a
-	different source file.
-
-2017-04-27  Steve Baird  <baird@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference):
-	Don't expand Image, Wide_Image, Wide_Wide_Image attributes
-	for CodePeer.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_unst.ads: Fix typos in comments.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_eval.adb (Choice_Matches): Handle properly a real literal
-	whose type has a defined static predicate.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Insert_Dereference_Action):
-	Do not adjust the address of a controlled object when the
-	associated access type is subject to pragma No_Heap_Finalization.
-	Code reformatting.
-
-2017-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/utils.c (gnat_type_for_size): Set
-        TYPE_ARTIFICIAL on created types.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
-	modifications in functional containers.
-	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
-	to improve readablity. Subprograms are separated between basic
-	operations, constructors and properties. Universally quantified
-	formulas in contracts are factorized in independant functions
-	with a name and a comment.  Names of parameters are improved.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion): Do not
-	install a predicate check here since this is already done during
-	the expansion phase. Verify whether the operand satisfies the
-	static predicate (if any) of the target type.
-	* sem_ch3.adb (Analyze_Object_Declaration): Do
-	not install a predicate check if the object is initialized by
-	means of a type conversion because the conversion is subjected
-	to the same check.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* raise.c (__gnat_builtin_longjmp): Remove.
-	(__gnat_bracktrace):
-	Add a dummy definition for the compiler (__gnat_eh_personality,
-	__gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19,
-	__gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30,
-	__gnat_rcheck_31, __gnat_rcheck_32): Likewise.
-	* a-exexpr.adb: Renamed from a-exexpr-gcc.adb
-	* a-except.ads, a-except.adb: Renamed from a-except-2005.ads
-	and a-except-2005.adb.
-	* raise-gcc.c: Allow build in compiler, compiled as a C++
-	file.
-	(__gnat_Unwind_ForcedUnwind): Adjust prototype.
-	(db): Constify msg_format.
-	(get_call_site_action_for): Don't use void arithmetic.
-	* system.ads (Frontend_Exceptions): Set to False.
-	(ZCX_By_Default): Set to True.
-	(GCC_ZC_Support): Set to True.
-	* gcc-interface/Makefile.in: No more variants for a-exexpr.adb and
-	a-except.ad[sb].
-	* gcc-interface/Make-lang.in: Add support for backend zcx exceptions
-	in gnat1 and gnatbind.
-	* gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o,
-	s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o
-	* s-excmac.ads, s-excmac.adb: Copy of variants.
-	* a-except.o: Adjust preequisites.
-	Add handling of s-excmac-arm.adb and s-excmac-gcc.adb.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
-	modifications in functional containers.
-	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
-	to improve readablity. Subprograms are separated between basic
-	operations, constructors and properties. Universally quantified
-	formulas in contracts are factorized in independant functions
-	with a name and a comment.  Names of parameters are improved.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion): Do not
-	install a predicate check here since this is already done during
-	the expansion phase. Verify whether the operand satisfies the
-	static predicate (if any) of the target type.
-	* sem_ch3.adb (Analyze_Object_Declaration): Do
-	not install a predicate check if the object is initialized by
-	means of a type conversion because the conversion is subjected
-	to the same check.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* a-except.ads, a-except.adb, a-exexpr.adb: Removed (will be
-	replaced by their variants).
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb,
-	cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb,
-	a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* s-excmac-gcc.ads, s-excmac-gcc.adb,
-	s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in
-	Ada95.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Establish_Transient_Scope): Rewrite
-	the loop which detects potential enclosing transient scopes. The
-	loop now terminates much earlier as transient scopes are bounded
-	by packages and subprograms.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Cursor): Type is now public so that it can be used in
-	model functions.
-	(Formal_Model): Ghost package containing
-	model functions that are used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used
-	instead.
-	(First_To_Previous): Removed, model functions should
-	be used instead.
-	(Strict_Equal): Removed, model functions
-	should be used instead.
-	(Append): Default parameter value
-	replaced by new wrapper to allow more precise contracts.
-	(Insert): Default parameter value replaced by new wrapper to
-	allow more precise contracts.
-	(Delete): Default parameter
-	value replaced by new wrapper to allow more precise contracts.
-	(Prepend): Default parameter value replaced by new wrapper to
-	allow more precise contracts.
-	(Delete_First): Default parameter
-	value replaced by new wrapper to allow more precise contracts.
-	(Delete_Last): Default parameter value replaced by new wrapper
-	to allow more precise contracts.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK): Perform specialized expansion
-	for object declarations.
-	(Expand_SPARK_N_Object_Declaration): New routine.
-	* sem_elab.adb (Check_A_Call): Include calls to the
-	Default_Initial_Condition procedure of a type under the SPARK
-	elaboration checks umbrella.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem.adb (Analyze): Diagnose an illegal iterated component
-	association.
-	* sem_util.ads, sem_util.adb
-	(Diagnose_Iterated_Component_Association): New routine.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* adaint.c (__gnat_get_current_dir): Return 0 in length if
-	getcwd fails.
-	* a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise
-	exception if getcwd failed.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost
-	entities with special prefix.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb Change the documentation of switch -gnatd.s.
-	* exp_ch7.adb (Make_Transient_Block): Transient blocks do not need
-	to manage the secondary stack when an enclosing scope already
-	performs this functionality (aka relaxed management). Switch
-	-gnatd.s may be used to force strict management in which case
-	the block will manage the secondary stack unconditionally. Add
-	a guard to stop the traversal when encountering a package or a
-	subprogram scope.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Refine further the handling of
-	limited views of return types in function calls. If the function
-	that returns a limited view appears in the current unit,
-	we do not replace its type by the non-limited view because
-	this transformation is performed int the back-end. However,
-	the type of the call itself must be the non-limited view, to
-	prevent spurious resolution errors.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds):
-	Removed, proposed implementation using generics for class-wide
-	preconditions proved impractical.
-	(Class_Wide_Clone): New attribute of subprogram. Designates
-	subprogram created for primitive operations with class-wide
-	pre/postconditions that contain calls to other primitives. The
-	clone holds the body of the original primitive, but the
-	pre/postonditions do not apply to it. The original body is
-	rewritten as a wrapper for a call to the clone.
-	(Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If
-	the flag is set, no code for the corresponding pre/postconditions
-	is inserted into its body.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore
-	Scalar_Storage_Order if -gnatI is given.
-	* sem_prag.adb (Analyze_Pragma): Ignore
-	Default_Scalar_Storage_Order if -gnatI is given.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cofuba.ads (Add): Take as an additional input parameter
-	the position where the element should be inserted.
-	(Remove): New function that removes an element from the container.
-	* a-cofuma.ads (Add): Adapt to the new API of Base.Add.
-	* a-cofuse.ads (Add): Adapt to the new API of Base.Add.
-	(Remove): New function that removes an element from a set.
-	* a-cofuve.ads (Add): Adapt to the new API of Base.Add.
-	(Remove): New function that removes an element from a sequence.
-	(Insert): New function that adds anywhere in a sequence.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Revert previous change.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb: Minor reformatting/rewording.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref.adb (Generate_Reference): The use
-	of attribute 'Result is not considered a violation of pragma
-	Unreferenced.
-
-2017-04-27  Justin Squirek  <squirek@adacore.com>
-
-	* cstand.adb (Create_Standard): Correctly set
-	Directly_Designated_Type for Any_Access.
-	* sem_type.adb (Covers): Minor grammar fixes.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb: Minor cleanup.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New
-	private child of Ada.Containers used to implement all functional
-	containers.
-	* a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New
-	child of Ada.Containers. It provides functional indefinite unbounded
-	maps which can be used as high level models for specification
-	of data structures.
-	* a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New
-	child of Ada.Containers. It provides functional indefinite unbounded
-	sets which can be used as high level models for specification
-	of data structures.
-	* a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New
-	child of Ada.Containers.  It provides functional indefinite unbounded
-	vectors which can be used as high level models for specification
-	of data structures.
-	* Makefile.rtl: Add new packages.
-	* impunit.adb: Add new packages.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch4.adb: Minor reformatting.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations): minor reformatting.
-	(Check_Fixed_Point_Actual): Do not emit a warning on a fixed
-	point type actual that has user-defined arithmetic primitives,
-	when there is a previous actual for a formal package that defines
-	a fixed-point type with the parent user-defined operator.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Reinstate part of previous change.
-	* sem_attr.adb (Resolve_Attribute): Generate a range check when
-	the component type allows range checks.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aux.adb (Is_Generic_Formal): Use original node to locate
-	corresponding declaration, because formal derived types are
-	rewritten as private extensions.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check
-	dimensions of operands if node has been analyzed already, because
-	previous analysis and dimension checking will have removed the
-	dimension information from the operands.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Document the use of switch -gnatd.s.
-	* einfo.ads Update the documentation on attribute
-	Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove
-	the uses of these attributes from certain entities.
-	* exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry
-	which determines whether the block should continue to manage
-	the secondary stack.
-	(Manages_Sec_Stack): New routine.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* atree.ads: Minor edit.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads: Update the section on Ghost mode. Add
-	a section on SPARK mode. Update the placement of section on
-	expression functions.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sinput.adb (Get_Source_File_Index): Don't
-	assert that S is in the right range in the case where this is
-	a .dg file under construction.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Check_Result_And_Post_State):
-	Handle more precisely each conjunct in expressions formed by
-	and'ing sub-expressions.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat_rm.texi, gnat_ugn.texi,
-	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/platform_specific_information.rst,
-	doc/gnat_ugn/gnat_and_program_execution.rst,
-	doc/gnat_ugn/gnat_utility_programs.rst,
-	doc/gnat_ugn/the_gnat_compilation_model.rst,
-	doc/gnat_rm/implementation_defined_attributes.rst,
-	doc/gnat_rm/the_gnat_library.rst,
-	doc/gnat_rm/implementation_defined_pragmas.rst,
-	doc/gnat_rm/representation_clauses_and_pragmas.rst,
-	doc/gnat_rm/implementation_of_specific_ada_features.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst,
-	doc/gnat_rm/implementation_defined_characteristics.rst: Update
-	documentation.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Case_Expression): Emit error message when
-	generating C code on complex case expressions.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Generate a warning instead
-	of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode.
-	* directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use
-	Ada_2012 instead of Ada_2005 to be compatible with the above
-	change.
-	* bindgen.adb: Silence new warning on pragma Ada_95.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Revert part of previous change.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Container_Indexing): Handle properly a
-	container indexing operation that appears as a an actual in a
-	parameter association in a procedure call.
-
-2017-04-25  Olivier Ramonat  <ramonat@adacore.com>
-
-	* prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads:
-	Fix spelling mistakes.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb,
-	* sinput-p.adb: Use regular fat pointers, with bounds checking,
-	for source buffers.  Fix misc obscure bugs.
-	* sinput.ads, sinput.adb: Use regular fat pointers, with bounds
-	checking, for source buffers.  Modify representation clause for
-	Source_File_Record as appropriate.  Move Source_File_Index_Table
-	from spec to body, because it is not used outside the body.
-	Move Set_Source_File_Index_Table into the private part, because
-	it is used only in the body and in children.  Use trickery to
-	modify the dope in the generic instantiation case.  It's ugly,
-	but not as ugly as the previous method.  Fix documentation.
-	Remove obsolete code.
-	* fname-sf.adb, targparm.adb: Fix misc out-of-bounds
-	indexing in source buffers.
-	* fmap.adb: Avoid conversions from one string type to another.
-	Remove a use of global name buffer.
-	* osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment
-	fixes.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, exp_ch4.adb: Minor reformatting.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb: Code clean up in various routines.
-	(Generate_Range_Check): Do not generate a range check when the
-	expander is not active or when index/range checks are suppressed
-	on the target type.
-	(Insert_List_After_And_Analyze, Insert_List_Before_And_Analyze):
-	Remove variants that include a Supress parameter. These routines
-	are never used, and were introduced before the current scope-based
-	check suppression method.
-
-2017-04-25  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* prj-part.adb, cstreams.c, osint.adb, osint.ads: Remove VMS specific
-	code and some subprogram calls that are now noop.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Case_Expression): Take
-	Minimize_Expression_With_Actions into account when possible.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Known_Non_Null): Moved to Sem_Util.
-	(Known_Null): Moved to Sem_Util.
-	* exp_util.ads (Known_Non_Null): Moved to Sem_Util.
-	(Known_Null): Moved to Sem_Util.
-	* sem_util.adb Add new enumeration type Null_Status_Kind.
-	(Known_Non_Null): Moved from Exp_Util. Most of the logic in
-	this routine is now carried out by Null_Status.
-	(Known_Null): Moved from Exp_Util. Most of the logic in this routine
-	is now carried out by Null_Status.
-	(Null_Status): New routine.
-	* sem_util.ads (Known_Non_Null): Moved from Exp_Util.
-	(Known_Null): Moved from Exp_Util.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Do not report an
-	error on the return type of an expression function that is a
-	completion, if the type is derived from a generic formal type.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Dimensions_Of_Operand): The dimensions of a type
-	conversion are those of the target type.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* a-clrefi.adb: Minor cleanup.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, exp_util.ads, types.ads: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb,
-	types.adb, types.ads, types.h, sinput-l.adb, targparm.adb,
-	errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb,
-	scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and
-	the Internal_Source buffer. This removes the incorrect call to "="
-	the customer noticed.
-	Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We
-	eventually need to eliminate them altogether. Or else get rid
-	of zero-origin addressing.
-
-2017-04-25  Claire Dross  <dross@adacore.com>
-
-	* exp_util.ads (Expression_Contains_Primitives_Calls_Of): New
-	function used in GNATprove to know if an expression contains
-	non-dispatching calls on primitives of a tagged type.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* rtsfind.adb (Initialize): Initialize
-	First_Implicit_With. Building the compiler with Normalize_Scalars
-	and validity checking finds this being used as an uninitialized
-	variable.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
-	Add a warning about SPARK mode management. The routine now
-	saves and restores both the mode and associated pragma.
-	(Analyze_Entry_Or_Subprogram_Contract): Add a warning about
-	SPARK mode management. The routine now saves and restores both
-	the mode and associated pragma.
-	(Analyze_Object_Contract):
-	Add a warning about SPARK mode management. The routine
-	now saves and restores both the mode and associated pragma.
-	(Analyze_Package_Body_Contract): Add a warning about SPARK mode
-	management.  The routine now saves and restores both the mode
-	and associated pragma.	(Analyze_Package_Contract): Add a warning
-	about SPARK mode management. The routine now saves and restores
-	both the mode and associated pragma.
-	(Analyze_Task_Contract):
-	Add a warning about SPARK mode management. The routine now saves
-	and restores both the mode and associated pragma.
-	* expander.adb (Expand): Change the way the Ghost mode is saved
-	and restored.
-	* exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is
-	saved and restored.
-	* exp_disp.adb (Make_DT): Change the way the Ghost mode is saved
-	and restored.
-	* exp_util.adb (Build_DIC_Procedure_Body):
-	Change the way the Ghost mode is saved and restored.
-	(Build_DIC_Procedure_Declaration): Change the way the Ghost
-	mode is saved and restored.
-	(Build_Invariant_Procedure_Body):
-	Change the way the Ghost mode is saved and restored.
-	(Build_Invariant_Procedure_Declaration): Change the way the Ghost
-	mode is saved and restored.
-	(Make_Predicate_Call): Change the
-	way the Ghost mode is saved and restored.
-	* freeze.adb (Freeze_Entity): Change the way the Ghost mode is
-	saved and restored.
-	* ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
-	and its assignment.
-	(Mark_And_Set_Ghost_Body): Remove parameter
-	Mode and its assignment.
-	(Mark_And_Set_Ghost_Completion):
-	Remove parameter Mode and its assignment.
-	(Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its
-	assignment.
-	(Mark_And_Set_Ghost_Instantiation): Remove parameter
-	Mode and its assignment.
-	(Mark_And_Set_Ghost_Procedure_Call):
-	Remove parameter Mode and its assignment.
-	(Set_Ghost_Mode):
-	Remove parameter Mode and its assignment.
-	* ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
-	and update the comment on usage.
-	(Mark_And_Set_Ghost_Body):
-	Remove parameter Mode and update the comment on usage.
-	(Mark_And_Set_Ghost_Completion): Remove parameter Mode and
-	update the comment on usage.
-	(Mark_And_Set_Ghost_Declaration):
-	Remove parameter Mode and update the comment on usage.
-	(Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and
-	update the comment on usage.
-	(Mark_And_Set_Ghost_Procedure_Call):
-	Remove parameter Mode and update the comment on usage.
-	(Set_Ghost_Mode): Remove parameter Mode and update the comment
-	on usage.
-	* lib.ads Remove obsolete fields SPARK_Mode_Pragma from various
-	types.
-	* lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment
-	of obsolete field SPARK_Mode_Pragma.
-	(Load_Main_Source): Remove
-	the assignment of obsolete field SPARK_Mode_Pragma.
-	(Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma.
-	* lib-writ.adb (Add_Preprocessing_Dependency): Remove
-	the assignment of obsolete field SPARK_Mode_Pragma.
-	(Ensure_System_Dependency): Remove the assignment of obsolete
-	field SPARK_Mode_Pragma.
-	* rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK
-	mode management. Change the way Ghost and SPARK modes are saved
-	and restored.
-	* sem.adb (Analyze): Change the way the Ghost mode is saved
-	and restored.
-	* sem_ch3.adb (Analyze_Object_Declaration): Change the way the
-	Ghost mode is saved and restored.
-	(Process_Full_View): Change
-	the way the Ghost mode is saved and restored.
-	* sem_ch5.adb (Analyze_Assignment): Change the way the Ghost
-	mode is saved and restored.
-	* sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost
-	mode is saved and restored.
-	(Analyze_Subprogram_Body_Helper):
-	Change the way the Ghost mode is saved and restored.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the
-	Ghost mode is saved and restored.
-	* sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode
-	management. Save the SPARK mode-related data prior to any changes
-	to the scope stack and contexts. The mode is then reinstalled
-	before the subunit is analyzed in order to restore the original
-	view of the subunit.
-	* sem_ch12.adb (Analyze_Package_Instantiation): Update the
-	warning on region management.  Change the way the Ghost and
-	SPARK modes are saved and restored.
-	(Inline_Instance_Body):
-	Add a warning about SPARK mode management. Code clean up.
-	(Analyze_Subprogram_Instantiation): Update the warning on region
-	management.  Change the way the Ghost and SPARK modes are saved
-	and restored.
-	(Instantiate_Package_Body): Update the warning
-	on region management. Change the way the Ghost and SPARK modes
-	are saved and restored.
-	(Instantiate_Subprogram_Body): Update
-	the warning on region management. Change the way the Ghost and
-	SPARK modes are saved and restored.
-	(Set_Instance_Env): Add a
-	warning about SPARK mode management. Change the way SPARK mode
-	is saved and restored.
-	* sem_ch13.adb (Build_Predicate_Functions):
-	Change the way the Ghost mode is saved and restored.
-	(Build_Predicate_Function_Declaration): Change the way the Ghost
-	mode is saved and restored.
-	* sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK
-	mode management. Change the way SPARK mode is saved and restored.
-	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-	Change the way the Ghost mode is saved and restored.
-	(Analyze_Initial_Condition_In_Decl_Part): Change the way
-	the Ghost mode is saved and restored.
-	(Analyze_Pragma):
-	Change the way the Ghost mode is saved and restored.
-	(Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the
-	Ghost mode is saved and restored.
-	* sem_util.adb (Install_SPARK_Mode): New routine.
-	(Restore_SPARK_Mode): New routine.
-	(Save_SPARK_Mode_And_Set): Removed.
-	(Set_SPARK_Mode): New routine.
-	* sem_util.ads (Install_SPARK_Mode): New routine.
-	(Restore_SPARK_Mode): New routine.
-	(Save_SPARK_Mode_And_Set): Removed.
-	(Set_SPARK_Mode): New routine.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb, sem_util.ads (From_Nested_Package): New predicate
-	to determine whether a type is declared in a local package that
-	has not yet been frozen.
-	* freeze.adb (Freeze_Before): Use new predicate to determine
-	whether a local package must be installed on the scope stack
-	in order to evaluate in the proper scope actions generated by
-	aspect specifications, such as Predicate
-	* sem_ch13.adb: Simplify code in Analyze_Aspects_At_Freeze_Point
-	using new predicate.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not consider
-	comparisons between non- scalar expressions expressions because
-	their values cannot be invalidated.
-	* sem_warn.ads (Warn_On_Constant_Valid_Condition): Update the
-	comment on usage.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par_sco.adb: Minor reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): If entity
-	is a type from an unfrozen local package, install package to
-	complete the analysis of delayed aspects of the type.
-
-2017-04-25  Tristan Gingold  <gingold@adacore.com>
-
-	* bingen.adb (System_Version_Control_Used): New variable.
-	(Resolve_Binder_Options): Set the above variable.
-	(Gen_Output_File_Ada): Conditionally call Gen_Versions.
-	(Gen_Elab_Order): Emit blank line before.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_cat.adb (Validate_RT_RAT_Component): Added
-	an extra check to ignore incomplete types.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Pragma_Check): Remove
-	bogus circuitry for the case where Name is Predicate.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* par_sco.adb(Traverse_Declarations_Or_Statements.Traverse_Aspects):
-	Create SCOs for Predicate aspects in disabled
-	state initially, to be enabled later on by...
-	* sem_ch13.adb (Build_Predicate_Functions.Add_Predicates): Mark
-	SCO for predicate as enabled.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* comperr.adb (Compiler_Abort): Remove now obsolete pair of
-	pragmas Warnings Off / On.
-	* namet.adb (Finalize): Remove now obsolete pair of pragmas
-	Warnings Off / On.
-	* output.adb: Remove now obsolete pair of pragmas Warnings Off / On.
-	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
-	consider comparisons between static expressions because their
-	values cannot be invalidated.
-	* urealp.adb (Tree_Read): Remove now obsolete pair of pragmas
-	Warnings Off / On.
-	(Tree_Write): Remove now obsolete pair of pragmas Warnings Off / On.
-	* usage.adb Remove now obsolete pair of pragmas Warnings Off / On.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (In_Task_Activation): Trace internal calls in
-	task bodies.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb, sem_warn.adb, sem_eval.adb: Minor reformatting and
-	typo fixes.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* comperr.adb (Compiler_Abort): Add a pair of pragma Warnings
-	On/Off to defend against a spurious warning in conditional
-	compilation.
-	* exp_ch4.adb (Rewrite_Comparison): Reimplemented.
-	* namet.adb (Finalize): Add a pair of pragma Warnings On/Off to
-	defend against a spurious warning in conditional compilation.
-	* output.adb Add a pair of pragma Warnings On/Off to defend
-	against a spurious warning in conditional compilation.
-	* sem_eval.adb (Eval_Relational_Op): Major code clean up.
-	(Fold_General_Op): New routine.
-	(Fold_Static_Real_Op): New routine.
-	(Test_Comparison): New routine.
-	* sem_eval.ads (Test_Comparison): New routine.
-	* sem_warn.adb (Is_Attribute_Constant_Comparison): New routine.
-	(Warn_On_Constant_Valid_Condition): New routine.
-	(Warn_On_Known_Condition): Use Is_Attribute_Constant_Comparison
-	to detect a specific case.
-	* sem_warn.adb (Warn_On_Constant_Valid_Condition): New routine.
-	* urealp.adb (Tree_Read): Add a pair of pragma Warnings On/Off
-	to defend against a spurious warning in conditional compilation.
-	(Tree_Write): Add a pair of pragma Warnings On/Off to defend
-	against a spurious warning in conditional compilation.
-	* usage.adb Add a pair of pragma Warnings On/Off to defend
-	against a spurious warning in conditional compilation.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* sinfo.ads, sem_ch13.adb: Update comment.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Is_Post_State): A reference to a
-	generic in out parameter is considered a change in the post-state
-	of a subprogram.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Load_Parent_Of_Generic); When retrieving the
-	declaration of a subprogram instance within its wrapper package,
-	skip over null statements that may result from the rewriting of
-	ignored pragmas.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Expand_Attribute_Reference, case 'Read):
-	If the type is an unchecked_union, replace the attribute with
-	a Raise_Program_Error (rather than inserting such before the
-	attribute reference) to handle properly the case where we are
-	processing a component of a larger record, and we need to prevent
-	further expansion for the unchecked union.
-	(Expand_Attribute_Reference, case 'Write): If the type is
-	an unchecked_union, check whether enclosing scope is a Write
-	subprogram. Replace attribute with a Raise_Program_Error if the
-	discriminants of the unchecked_union type have not default values
-	because such a use is erroneous..
-
-2017-04-25  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Task_Type_Declaration):
-	Add relative_deadline to task record on edf profile.
-	(Make_Initialize_Protection): Pass deadline_floor value on edf profile.
-	(Make_Task_Create_Call): Pass relative_deadline value.
-	* par-prag.adb (Prag): Handle Pragma_Deadline_Floor.
-	* s-rident.ads (Profile_Name): Add GNAT_Ravenscar_EDF.
-	(Profile_Info): Add info for GNAT_Ravenscar_EDF.
-	* sem_prag.adb (Set_Ravenscar_Profile): Handle
-	GNAT_Ravenscar_EDF (set scheduling policy).
-	(Analyze_Pragma): Handle GNAT_Ravenscar_EDF profile and Deadline_Floor
-	pragma.
-	(Sig_Flags): Add choice for Pragma_Deadline_Floor.
-	* snames.ads-tmpl (Name_Deadline_Floor, Name_Gnat_Ravenscar_EDF):
-	New names.
-	(Pragma_Deadline_Floor): New pragma.
-	* targparm.adb (Get_Target_Parameters): Recognize
-	GNAT_Ravenscar_EDF profile.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* gnatvsn.ads (Library_Version): Bump to 8. Update comment.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aux.adb (Nearest_Ancestor): Use original node of type
-	declaration to locate nearest ancestor, because derived
-	type declarations for record types are rewritten as record
-	declarations.
-	* sem_ch13.adb (Add_Call): Use an unchecked conversion to handle
-	properly derivations that are completions of private types.
-	(Add_Predicates): If type is private, examine rep. items of full
-	view, which may include inherited predicates.
-	(Build_Predicate_Functions): Ditto.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree.Visit_Entity): Extend previous change
-	to generate new entities for subtype declarations located in
-	Expression_With_Action nodes.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_A_Call): Remove
-	local variables Is_DIC_Proc and Issue_In_SPARK. Verify the
-	need for Elaborate_All when SPARK elaboration checks are
-	required. Update the checks for instances, variables, and calls
-	to Default_Initial_Condition procedures.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* aspects.ads, aspects.adb: Make the GNAT-specific pragma No_Inline
-	into a boolean aspect, in analogy with the Ada aspect No_Return.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb, sem_ch13.adb, sem_ch6.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_res.adb (Resolve_Actuals): Under -gnatd.q, reset
-	Is_True_Constant for an array variable that is passed to a
-	foreign function as an 'in' parameter.
-	* debug.adb: Document -gnatd.q.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): If expression function
-	is completion and return type is an access type do not freeze
-	designated type: this will be done in the process of freezing
-	the expression if needed.
-	(Freeze_Expr_Types): Check whether type is complete before
-	creating freeze node, to provide a better error message if
-	reference is premature.
-	* sem_ch13.adb (Check_Indexing_Functions): Ignore inherited
-	functions created by type derivations.
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* g-sercom.ads: Add simple usage of GNAT.Serial_Communication.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion):
-	When resolving against any fixed type, set the type of the
-	operand as universal real when the operand is a multiplication
-	or a division where both operands are of any fixed type.
-	(Unique_Fixed_Point_Type): Add local variable ErrN. Improve the
-	placement of an error message by pointing to the operand of a
-	type conversion rather than the conversion itself.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_ch13.adb (Build_Predicate_Function_Declaration): Set
-	Needs_Debug_Info when producing SCOs.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
-	Always pass a null finalization master for a library level named access
-	type to which a pragme No_Heap_Finalization applies.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	PR ada/78845
-
-	* a-ngcoar.adb, a-ngrear.adb (Inverse): call Unit_Matrix with First_1
-	set to A'First(2) and vice versa.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type): Remove obsolete
-	rule on volatile tagged record restriction on SPARK code.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (minor) Fix SPARK RM reference.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Unique_Defining_Entity): Update
-	comment to reflect which entity is chosen as unique entity.
-	(Unique_Entity): Return full view instead of private spec for
-	protected type or task type. Fix possible incorrect access when
-	called on entry.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_res.adb (Set_Slice_Subtype): Treat specially bit-packed
-	array types only instead of all packed array types.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Conforming_Types): If type of formal as a specified
-	dimension system, verify that dimensions of both match.
-	(Check_Conformance): Add error message in case of dimension
-	mismatch.
-	* sem_dim.ads, sem_dim.adb (Dimensions_Match): New utility
-	predicate.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* gnatxref.adb, gnatfind.adb: Avoid using the term project file,
-	confusing.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb: Minor refactoring.
-	* freeze.adb (Freeze_Record_Type): Fix checking of SPARK RM 7.1.3(5).
-
-2017-04-25  Claire Dross  <dross@adacore.com>
-
-	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Go to
-	ultimate alias when accessing overridden operation. Indeed, if the
-	overridden operation is itself inherited, it won't have any explicit
-	contract.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_warn.adb (Warn_On_Overlapping_Actuals): There can be no
-	overlap if the two formals have different types, because formally
-	the corresponding actuals cannot designate the same objects.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Dimensions_Of_Operand): minot cleanups: a) If
-	dimensions are present from context, use them.	b) If operand is
-	a static constant rewritten as a literal, obtain the dimensions
-	from the original declaration, otherwise use dimensions of type
-	established from context.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Is_Effectively_Volatile): Protect against base type
-	of array that is private.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch3.adb, exp_util.adb, sem_prag.adb, exp_ch4.adb: Minor
-	reformatting.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* a-ngelfu.adb, a-ngelfu.ads: Add SPARK_Mode On on spec, Off
-	on body.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_disp.adb (Check_Dispatching_Context): Add guard to refine
-	the check that recognizes a call to a private overridding and
-	replaces the called subprogram with its alias.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb: Minor reformatting.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Add condition to always treat
-	interface types as a partial view of a private type for the
-	generation of invariant procedure bodies.
-	* exp_util.adb, exp_util.ads (Add_Inherited_Invariants):
-	Add a condition to get the Corresponding_Record_Type for
-	concurrent types, add condition to return in the absence of a
-	class in the pragma, remove call to Replace_Type_References,
-	and add call to Replace_References.
-	(Add_Interface_Invariatns),
-	(Add_Parent_Invariants): Modify call to Add_Inherited_Invariants
-	to including the working type T.
-	(Add_Own_Invariants): Remove
-	legacy condition for separate units, remove dispatching for ASIS
-	and save a copy of the expression in the pragma expression.
-	(Build_Invariant_Procedure_Body): Default initalize vars,
-	remove return condition on interfaces, always use the
-	private type for interfaces, and move the processing of types
-	until after the processing of invariants for the full view.
-	(Build_Invariant_Procedure_Declaration): Remove condition
-	to return if an interface type is encountered and add
-	condition to convert the formal parameter to its class-wide
-	counterpart if Work_Typ is abstract.
-	(Replace_Type): Add call to Remove_Controlling_Arguments.
-	(Replace_Type_Ref): Remove class-wide dispatching for the current
-	instance of the type.
-	(Replace_Type_References): Remove parameter "Derived"
-	(Remove_Controlling_Arguments): Created in order to removing
-	the controlliong argument from calls to primitives in the case
-	of the formal parameter being an class-wide abstract type.
-	* sem_ch3.adb (Build_Assertion_Bodies_For_Type): Almost identical
-	to the change made to Freeze_Type in exp_ch3. Add a condition
-	to treat interface types as a partial view.
-	* sem_prag.adb (Analyze_Pragma): Modify parameters in the call
-	to Build_Invariant_Procedure_Declaration to properly generate a
-	"partial" invariant procedure when Typ is an interface.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* a-numeri.ads: Go back to using brackets encoding for the Greek
-	letter pi.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Derive_Subprogram): Implement rule in RM 6.1.1
-	(10-15): if derived type T with progenitors is abstract,
-	and primitive P of this type inherits non-trivial classwide
-	preconditions from both a parent operation and from an interface
-	operation, then the inherited operation is abstract if the parent
-	operation is not null.
-	* sem_disp.ads, sem_disp.adb: replace function Covers_Some_Interface
-	with Covered_Interface_Op to yield the actual interface operation
-	that is implemented by a given inherited operation.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Expon): Relocate left
-	and right operands after performing the validity checks. Required
-	because validity checks may remove side effects from the operands.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_attr.adb (Attribute_Unrestricted_Access):
-	Do not disable implicit type conversion.  Required to generate
-	code that displaces the pointer to reference the secondary
-	dispatch table.
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* prj-attr.adb, snames.ads-tmpl: Add package Install's
-	Required_Artifacts attribute.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Same_Value): String literals are compile-time
-	values, and comparing them must use Expr_Value_S.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Complete_Object_Interpretation): If an explicit
-	dereference is introduced for the object, and the object is
-	overloaded, do not check whether it is aliased, because it may
-	include an implicit dereference.
-	* sem_type.adb (Disambiguate): If two interpretations are access
-	attribute types with the same designated type keep either of
-	them and do not report an ambiguity.  A true ambiguity will be
-	reported elsewhere.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* a-numeri.ads: Change the encoding of Greek letter Pi from
-	brackets encoding to UTF-8.  Use pragma Wide_Character_Encoding
-	to indicate the encoding. We considered using a byte order mark
-	(BOM), but that causes various trouble (misc software eats the
-	BOM, if you have a patch with a BOM, then it's not at the start
-	of the patch, so it's not a BOM, the BOM affects with-ing files,
-	etc.).
-	* scng.adb, s-wchcnv.adb: Minor.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_ch8.adb, sem_disp.adb: Minor reformatting.
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Add_Internal_Interface_Entities): Move
-	Has_Non_Trivial_Precondition to sem_util. for use elsewhere.
-	Improve error message on operations that inherit non-conforming
-	classwide preconditions from ancestor and progenitor.
-	* sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition):
-	moved here from sem_ch3.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality
-	check given in RM 6.1.1 (17) concerning renamings of overriding
-	operations that inherits class-wide preconditions from ancestor
-	or progenitor.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup.
-	(Build_Adjust_Statements): Code cleanup.
-	(Build_Finalizer): Update the initialization of
-	Exceptions_OK.
-	(Build_Finalize_Statements): Code cleanup.
-	(Build_Initialize_Statements): Code cleanup.
-	(Make_Deep_Array_Body): Update the initialization of
-	Exceptions_OK.
-	(Make_Deep_Record_Body): Update the initialization of Exceptions_OK.
-	(Process_Object_Declaration): Generate a null exception handler only
-	when exceptions are allowed.
-	(Process_Transients_In_Scope): Update the initialization of
-	Exceptions_OK.
-	* exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New
-	routine.
-	* sem_ch11.adb (Analyze_Exception_Handlers): Do not check any
-	restrictions when the handler is internally generated and the
-	mode is warnings.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to
-	enforce legality rule on classwide preconditions inherited from
-	both an ancestor and a progenitor (RM 6.1.1 (10-13).
-	* sem_disp.adb (Check_Dispatching_Context): A call to an abstract
-	subprogram need not be dispatching if it appears in a precondition
-	for an abstract or null subprogram.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch10.adb: Minor typo fix.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* gcc-interface/Makefile.in: Cleanup VxWorks targets.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fname.adb (Is_Internal_File_Name): Arrange for the slices to
-	have a length which is a power of 2.
-	(Is_Predefined_File_Name): Likewise. Adjust comment.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* exp_aggr.adb (Component_Count): Protect the
-	arithmetic from attempting to convert a value >= 2**31 to Int,
-	which would otherwise raise Constraint_Error.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* opt.ads (Locking_Policy): Fix incorrect documentation. The
-	first character of the policy name is not unique.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Name): Raise Use_Error if the file is a temp file.
-	* s-ficobl.ads (Is_Temporary_File): Remove incorrect comment
-	about this flag not being used. It was already used, and it is
-	now used more.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb Flag301 is now known as Ignore_SPARK_Mode_Pragmas.
-	(Ignore_SPARK_Mode_Pragmas): New routine.
-	(Set_Ignore_SPARK_Mode_Pragmas): New routine.
-	(Write_Entity_Flags): Add an entry for Ignore_SPARK_Mode_Pragmas.
-	* einfo.ads Add new attribute Ignore_SPARK_Mode_Pragmas and update
-	related entities.
-	(Ignore_SPARK_Mode_Pragmas): New routine
-	along with pragma Inline.
-	(Set_Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline.
-	* opt.ads Rename flag Ignore_Pragma_SPARK_Mode to
-	Ignore_SPARK_Mode_Pragmas_In_Instance.
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-	Save and restore the value of global flag
-	Ignore_SPARK_Mode_Pragmas_In_Instance. Set or reinstate the value
-	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when either
-	the corresponding spec or the body must ignore all SPARK_Mode
-	pragmas found within.
-	(Analyze_Subprogram_Declaration): Mark
-	the spec when it needs to ignore all SPARK_Mode pragmas found
-	within to allow the body to infer this property in case it is
-	instantiated or inlined later.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Save and restore the
-	value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set
-	the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance
-	when the corresponding spec also ignored all SPARK_Mode pragmas
-	found within.
-	(Analyze_Package_Declaration): Mark the spec when
-	it needs to ignore all SPARK_Mode pragmas found within to allow
-	the body to infer this property in case it is instantiated or
-	inlined later.
-	* sem_ch12.adb (Analyze_Formal_Package_Declaration):
-	Save and restore the value of flag
-	Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the
-	formal spec when it needs to ignore all SPARK_Mode
-	pragmas found within to allow the body to infer this
-	property in case it is instantiated or inlined later.
-	(Analyze_Package_Instantiation): Save and restore the value
-	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark
-	the instance spec when it needs to ignore all SPARK_Mode
-	pragmas found within to allow the body to infer this
-	property in case it is instantiated or inlined later.
-	(Analyze_Subprogram_Instantiation): Save and restore the value
-	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the
-	instance spec and anonymous package when they need to ignore
-	all SPARK_Mode pragmas found within to allow the body to infer
-	this property in case it is instantiated or inlined later.
-	(Instantiate_Package_Body): Save and restore the value of global
-	flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of
-	global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the
-	corresponding instance spec also ignored all SPARK_Mode pragmas
-	found within.
-	(Instantiate_Subprogram_Body): Save and restore the
-	value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set
-	the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance
-	when the corresponding instance spec also ignored all SPARK_Mode
-	pragmas found within.
-	* sem_prag.adb (Analyze_Pragma): Update the reference to
-	Ignore_Pragma_SPARK_Mode.
-	* sem_util.adb (SPARK_Mode_Is_Off): A construct which ignored
-	all SPARK_Mode pragmas defined within yields mode "off".
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* bindgen.adb, exp_dbug.adb, errout.adb, fname.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* exp_atag.adb (Build_CW_Membership): Add "Suppress =>
-	All_Checks" to avoid generating unnecessary checks.
-	* exp_ch4.adb (Expand_N_In, Make_Tag_Check): Add "Suppress =>
-	All_Checks".
-	* sem.ads: Fix comment.
-	* expander.ads: Fix comment.
-	* exp_atag.ads: Fix comment: "Index = 0" should be
-	"Index >= 0".
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* s-taprop-linux.adb: Minor editorial fixes.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): Put back the declarations of the
-	hash tables at library level.  Reinstate the NCT_Hash_Tables_Used
-	variable and set it to True whenever the main hash table is
-	populated.  Short- circuit the Assoc function if it is false
-	and add associated guards.
-
-2017-04-25  Olivier Hainque  <hainque@adacore.com>
-
-	* bindgen.adb (Gen_Elab_Calls): Also update counter of lone
-	specs without elaboration code that have an elaboration counter
-	nevertheless, e.g.  when compiled with -fpreserve-control-flow.
-	* sem_ch10.adb (Analyze_Compilation_Unit):
-	Set_Elaboration_Entity_Required when requested to preserve
-	control flow, to ensure the unit elaboration is materialized at
-	bind time, resulting in the inclusion of the unit object file
-	in the executable closure at link time.
-
-2017-04-25  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb: In Debug_Renaming_Declaration,
-	when dealing with indexed component, accept to produce a renaming
-	symbol when the index is an IN parameter or when it is a name
-	defined in an outer scope.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* errout.adb (Error_Msg): Adapt continuation
-	message in instantiations and inlined bodies for info messages.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fname.adb (Has_Internal_Extension): Add pragma Inline.
-	Use direct 4-character slice comparisons.
-	(Has_Prefix): Add
-	pragma Inline.	(Has_Suffix): Delete.
-	(Is_Internal_File_Name):
-	Test Is_Predefined_File_Name first.
-	(Is_Predefined_File_Name):
-	Use direct slice comparisons as much as possible and limit all
-	comparisons to at most 8 characters.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Code cleanup.
-	* exp_ch6.adb (Add_Validation_Call_By_Copy_Code): New routine.
-	(Expand_Actuals): Generate proper copy-back for a validation
-	variable when it acts as the argument of a type conversion.
-	* sem_util.adb (Is_Validation_Variable_Reference): Augment the
-	predicate to operate on type qualifications.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb, exp_ch6.adb, binde.adb, sem_disp.adb, s-fileio.adb:
-	Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (No_Return): Give an error if the pragma applies
-	to a body. Specialize the error for the specless body case,
-	as is done for (e.g.) pragma Convention.
-	* debug.adb: Add switch -gnatd.J to disable the above legality
-	checks. This is mainly for use in our test suite, to avoid
-	rewriting a lot of illegal (but working) code.	It might also
-	be useful to customers. Under this switch, if a pragma No_Return
-	applies to a body, and the procedure raises an exception (as it
-	should), the pragma has no effect. If the procedure does return,
-	execution is erroneous.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Actuals): This is the
-	root of the problem. It took N as an 'in out' parameter, and in
-	some cases, rewrote N, but then set N to Original_Node(N). So
-	the node returned in N had no Parent. The caller continued
-	processing of this orphaned node. In some cases that caused a
-	crash (e.g. Remove_Side_Effects climbs up Parents in a loop,
-	and trips over the Empty Parent). The solution is to make N an
-	'in' parameter.  Instead of rewriting it, return the list of
-	post-call actions, so the caller can do the rewriting later,
-	after N has been fully processed.
-	(Expand_Call_Helper): Move most of Expand_Call here. It has
-	too many premature 'return' statements, and we want to do the
-	rewriting on return.
-	(Insert_Post_Call_Actions): New procedure to insert the post-call
-	actions in the appropriate place. In the problematic case,
-	that involves rewriting N as an Expression_With_Actions.
-	(Expand_Call): Call the new procedures Expand_Call_Helper and
-	Insert_Post_Call_Actions.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Inherits_Class_Wide_Pre): Cleanup code, handle
-	properly type derived from generic formal types, to handle
-	properly modified version of ACATS 4.1B B611017.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_unst.adb (Subp_Index): Adding missing
-	support for renamings and functions that return a constrained
-	array type (i.e. functions for which the frontend built a
-	procedure with an extra out parameter).
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* s-string.adb: Minor code clean-up.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-os_lib.ads, s-os_lib.adb (Non_Blocking_Wait_Process): New
-	procedure.
-	* adaint.h, adaint.c (__gnat_portable_no_block_wait): C support
-	function for Non_Blocking_Wait_Process.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* prep.adb (Preprocess): Remove incorrect
-	Assert. Current character can be ASCII.CR.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Set_Convention_From_Pragma): Cleanup code for
-	convention Stdcall, which has a number of exceptions. Convention
-	is legal on a component declaration whose type is an anonymous
-	access to subprogram.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch4.adb: sem_ch4.adb Various reformattings.
-	(Try_One_Prefix_Interpretation): Use the base type when dealing
-	with a subtype created for purposes of constraining a private
-	type with discriminants.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads, einfo.adb (Has_Private_Extension): new attribute.
-	* warnsw.ads, warnsw.adb (All_Warnings): Set warning on late
-	dispatching primitives (Restore_Warnings): Restore warning on
-	late dispatching primitives (Save_Warnings): Save warning on late
-	dispatching primitives (Do_Warning_Switch): Use -gnatw.j/-gnatw.J
-	to enable/disable this warning.
-	(WA_Warnings): Set warning on late dispatching primitives.
-	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Remember
-	that its parent type has a private extension.
-	* sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
-	New subprogram.
-	* usage.adb: Document -gnatw.j and -gnatw.J.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb, checks.adb, sem_prag.adb, eval_fat.adb: Minor
-	reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Validate): Do not pass dynamic strings
-	to pragma Assert, because older compilers do not support that.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Close): When a temp file is
-	closed, delete it and clean up its Temp_File_Record immediately,
-	rather than waiting until later.
-	(Temp_File_Record): Add File
-	component, so Close can know which Temp_File_Record corresponds
-	to the file being closed.
-	(Delete): Don't delete temp files,
-	because they are deleted by Close.
-	(Open): Set the File component
-	of Temp_File_Record. This requires moving the creation of the
-	Temp_File_Record to the end, after the AFCB has been created.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Do not generate
-	a validity check when inside a generic.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion): Fix bad logic.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* snames.ads-tmpl (Snames): More names for detecting predefined
-	potentially blocking subprograms.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pre_Post_Condition): The rules
-	concerning inheritance of class-wide preconditions do not apply
-	to postconditions.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-ficobl.ads: Minor comment fix.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb (Apply_Scalar_Range_Check): Analyze precisely
-	conversions from float to integer in GNATprove mode.
-	(Apply_Type_Conversion_Checks): Make sure in GNATprove mode
-	to call Apply_Type_Conversion_Checks, so that range checks
-	are properly positioned when needed on conversions, including
-	when converting from float to integer.	(Determine_Range): In
-	GNATprove mode, take into account the possibility of conversion
-	from float to integer.
-	* sem_res.adb (Resolve_Type_Conversion): Only enforce range
-	check on conversions from fixed-point to integer, not anymore
-	on conversions from floating-point to integer, when in GNATprove
-	mode.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb (Determine_Range_R): Special case type conversions
-	from integer to float in order to get bounds in that case too.
-	* eval_fat.adb (Machine): Avoid issuing warnings in GNATprove
-	mode, for computations involved in interval checking.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Partially reimplement validity
-	checks.
-	* einfo.adb Node36 is now used as Validated_Object.
-	(Validated_Object): New routine.
-	(Set_Validated_Object): New routine.
-	(Write_Field36_Name): Add an entry for Validated_Object.
-	* einfo.ads Add new attribute Validated_Object along with
-	usage in entities.
-	(Validated_Object): New routine along with pragma Inline.
-	(Set_Validated_Object): New routine along with pragma Inline.
-	* exp_attr.adb (Make_Range_Test): Add processing for validation
-	variables to avoid extra reads and copies of the prefix.
-	* exp_ch6.adb (Expand_Actuals): Add copy-back for validation
-	variables in order to reflect any changes done in the variable
-	back into the original object.
-	* sem_util.adb (Is_Validation_Variable_Reference): New routine.
-	* sem_util.ads (Is_Validation_Variable_Reference): New routine.
-
-2017-04-25  Steve Baird  <baird@adacore.com>
-
-	* exp_ch7.adb (Build_Array_Deep_Procs,
-	Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't
-	generate Finalize_Address routines for CodePeer.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of
-	Analyze_Pre_Post_Condition, to implement the legality checks
-	mandated by AI12-0131: Pre'Class shall not be specified for an
-	overriding primitive subprogram of a tagged type T unless the
-	Pre'Class aspect is specified for the corresponding primitive
-	subprogram of some ancestor of T.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_ch8.adb (Use_One_Type): If a use_type_clause
-	is redundant, set its Used_Operations to empty. This is only
-	necessary for use clauses that appear in the parent of a generic
-	child unit, because those use clauses get reanalyzed when we
-	instantiate the generic, and we don't want the Used_Operations
-	carried over from the original context (where it was probably
-	not redundant).
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
-	Use Source_Index (Current_Sem_Unit) to find the correct casing.
-	* exp_prag.adb (Expand_Pragma_Check): Use Source_Index
-	(Current_Sem_Unit) to find the correct casing.
-	* par.adb (Par): Null out Current_Source_File, to ensure that
-	the above bugs won't rear their ugly heads again.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Type): For an attribute reference
-	'Class, if prefix type is synchronized and previous errors
-	have suppressed the creation of the corresponding record type,
-	create a spurious class-wide for the synchonized type itself,
-	to catch other misuses of the attribute
-
-2017-04-25  Steve Baird  <baird@adacore.com>
-
-	* exp_ch6.adb (Expand_Simple_Function_Return): if CodePeer_Mode
-	is True, then don't generate the accessibility check for the
-	tag of a tagged result.
-	* exp_intr.adb (Expand_Dispatching_Constructor_Call):
-	if CodePeer_Mode is True, then don't generate the
-	tag checks for the result of call to an instance of
-	Ada.Tags.Generic_Dispatching_Constructor (i.e., both the "is a
-	descendant of" check and the accessibility check).
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb: Code cleanups.
-	* a-strbou.ads: minor whitespace fix in Trim for bounded strings.
-	* sem_ch8.ads: Minor comment fix.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch4.adb (Library_Level_Target): New function.
-	(Expand_Concatenate): When optimization is enabled, also expand
-	the operation out-of-line if the concatenation is present within
-	the expression of the declaration of a library-level object and
-	not only if it is the expression of the declaration.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* freeze.adb (Freeze_Object_Declaration): Do
-	not Remove_Side_Effects if there is a pragma Linker_Section,
-	because in that case we want static initialization in the
-	appropriate section.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_dbug.adb: Minor rewording and reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Statically_Denotes_Object): New predicate, to
-	handle the proposed changes to rules concerning potentially
-	unevaluated expressions, to include selected components that
-	do not depend on discriminants, and indexed components with
-	static indices.
-	* sem_util.adb (Is_Potentially_Unevaluated): Add check for
-	predicate in quantified expression, and fix bugs in the handling
-	of case expressions and membership test.
-	(Analyze_Attribute_Old_Result): use new predicate.
-	(Analyze_Attribute, case Loop_Entry): ditto.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-secsta.adb (SS_Info): Add a comment
-	explaining why we don't need to walk all the chunks in order to
-	compute the total size.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* namet.ads, namet.adb (Global_Name_Buffer): Increase the length
-	of the global name buffer to 4*Max_Line_Length.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): When creating a
-	renaming entity for debug information, mark the entity as needing debug
-	info if it comes from sources.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove the
-	restriction converning the use of 'Address where the prefix is
-	of a controlled type.
-
-2017-04-25  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb: In Debug_Renaming_Declaration,
-	skip slices that are made redundant by an indexed component
-	access.
-	* atree.h: New definition for Original_Node.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb, sem_prag.ads: Minor reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Entry_Contract): Call
-	Preanalyze_Spec_Expression so that resolution takes place as well.
-	* sem_util.adb (Check_Internal_Protected_Use): Reject properly
-	internal calls that appear in preconditions of protected
-	operations, in default values for same, and in contract guards
-	for contract cases in SPARK.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* a-numaux.ads: Fix description of a-numaux-darwin
-	and a-numaux-x86.
-	(Double): Define to Long_Float.
-	* a-numaux-vxworks.ads (Double): Likewise.
-	* a-numaux-darwin.ads
-	(Double): Likewise.
-	* a-numaux-libc-x86.ads (Double): Define to Long_Long_Float.
-	* a-numaux-x86.ads: Fix package description.
-	* a-numaux-x86.adb (Is_Nan): Minor tweak.
-	(Reduce): Adjust and complete description. Call Is_Nan instead of
-	testing manually. Use an integer temporary to hold rounded value.
-	* a-numaux-darwin.adb (Reduce): Likewise.
-	(Is_Nan): New function.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Additional refinement
-	on analysis of prefix whose type is a current instance of a
-	synchronized type, but where the prefix itself is an entity that
-	is an object.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Replace_Target): When rewriting the RHS, preserve
-	the identity of callable entities therein, because they have been
-	properly resolved, and prefixed calls may have been rewritten
-	as normal calls.
-
-2017-04-25  Patrick Bernardi  <bernardi@adacore.com>
-
-	* exp_ch3.adb (Build_Init_Statements): Convert
-	the expression of the pragma/aspect Secondary_Stack_Size to
-	internal type System.Parameters.Size_Type before assigning
-	it to the Secondary_Stack_Size component of the task type's
-	corresponding record.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal
-	(etc) optimizations when the type is modular and the offsets
-	are equal.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-osinte-freebsd.ads: Minor comment tweaks
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* urealp.adb (UR_Write): Reverse previous patch
-	adding documentation on why we generate multiplications instead
-	of divisions (needed to avoid expressions whose computation with
-	large numbers may cause division by 0).
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* erroutc.adb (Set_Specific_Warning_Off,
-	Set_Warnings_Mode_Off): Use the correct source file for
-	Stop. Was using Current_Source_File, which is only valid during
-	parsing. Current_Source_File will have a leftover value from
-	whatever file happened to be parsed last, because of a with_clause
-	or something.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* lib.ads, lib.adb (In_Internal_Unit): New functions similar
-	to In_Predefined_Unit, but including GNAT units.
-	* sem_util.ads, sem_util.adb (Should_Ignore_Pragma): Replace
-	with Should_Ignore_Pragma_Par and Should_Ignore_Pragma_Sem,
-	because Should_Ignore_Pragma was not working reliably outside
-	the parser, because Current_Source_File is not valid.
-	* sem_prag.adb, exp_prag.adb: Call Should_Ignore_Pragma_Sem.
-	* par-prag.adb: Call Should_Ignore_Pragma_Par.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* gnat1drv.adb (Gnat1Drv): Disable Generate_Processed_File in
-	codepeer mode.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* urealp.adb (UR_Write): Fix output of constants with a base other
-	that 10.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch13.adb (Get_Interfacing_Aspects): Moved to sem_util.adb.
-	* sem_prag.adb (Analyze_Pragma, Process_Import_Or_Interface):
-	Add extra parameter for Process_Interface_Name.
-	(Process_Interface_Name): Add parameter for pragma to analyze
-	corresponding aspect.
-	* sem_util.ads, sem_util.adb (Get_Interfacing_Aspects): Added
-	from sem_ch13.adb
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch7.adb, einfo.ads, sem_prag.adb: Minor reformatting and typo
-	correction.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Comparison_Op): Do not
-	attempt evaluation of relational operations inside assertions.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_util.adb (Add_Interface_Invariants):
-	Restored, code moved back from Build_Invariant_Procedure_Body.
-	(Add_Parent_Invariants): Restored, code moved back from
-	Build_Invariant_Procedure_Body.
-	(Build_Invariant_Procedure_Body):
-	Remove refactored calls and integrated code from
-	Add_Parent_Invariants and Add_Interface_Invariants.
-
-2017-04-25  Johannes Kanig  <kanig@adacore.com>
-
-	* errout.adb (Output_Messages): Adjust computation of total
-	errors
-	* erroutc.adb (Error_Msg): In statistics counts, deal
-	correctly with informational messages that are not warnings.
-	* errutil.adb (Finalize): adjust computation of total errors.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* terminals.c (__gnat_terminate_pid): New.
-	* g-exptty.ads (Terminate_Process): New. Update comments.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-cfinve.ads, a-cofove.ads (Empty_Vector): add Global contract.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Minor
-	correction to comments, move out large conditional and scope
-	traversal into a predicate.
-	(Uses_Unseen_Lib_Unit_Priv): Predicate function made from extracted
-	logic.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Refine analysis
-	of prefix whose type is a current instance of a synchronized
-	type. If the prefix is an object this is an external call (or
-	requeue) that can only access public operations of the object. The
-	previous predicate was too restrictive, and did not allow public
-	protected operations, only task entries.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch5.adb, fname.adb: Minor reformatting.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb (Is_Anonymous_Access_Type): New routine.
-	* einfo.ads Update the placement of
-	E_Anonymous_Access_Subprogram_Type along with all subtypes that
-	mention the ekind.
-	(Is_Anonymous_Access_Type): New routine.
-	* exp_ch7.adb (Allows_Finalization_Master): Do not generate a
-	master for an access type subject to pragma No_Heap_Finalization.
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): An object being
-	allocated or deallocated does not finalization actions if the
-	associated access type is subject to pragma No_Heap_Finalization.
-	* opt.ads Add new global variable No_Heap_Finalization_Pragma.
-	* par-prag.adb Pragma No_Heap_Finalization does not need special
-	processing from the parser.
-	* sem_ch6.adb (Check_Return_Subtype_Indication): Remove ancient
-	??? comments. Use the new predicate Is_Anonymous_Access_Type.
-	* sem_prag.adb Add an entry in table Sig_Flags for pragma
-	No_Heap_Finalization.
-	(Analyze_Pragma): Add processing for
-	pragma No_Heap_Finalization. Update various error messages to
-	use Duplication_Error.
-	* sem_util.ads, sem_util.adb (No_Heap_Finalization): New routine.
-	* snames.ads-tmpl: Add new predefined name No_Heap_Finalization
-	and corresponding pragma id.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type): Use the
-	underlying type of the component type to determine whether it's
-	elementary. For representation clause purposes, a private type
-	should behave the same as its full type.
-	* fname.ads, fname.adb (Is_Predefined_File_Name):
-	Make sure things like "system.ali" are recognized as predefined.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb: Update documentation of -gnatd.6.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Preanalyze_Range): Handle properly an Ada2012
-	element iterator when the name is an overloaded function call,
-	one of whose interpretations yields an array.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* uname.ads, uname.adb (Is_Predefined_Unit_Name,
-	Is_Internal_Unit_Name): New functions for operating on unit
-	names, as opposed to file names. There's some duplicated code
-	with fname.adb, which is unfortunate, but it seems like we don't
-	want to add dependencies here.
-	* fname-uf.adb (Get_File_Name): Change Is_Predefined_File_Name
-	to Is_Predefined_Unit_Name; the former was wrong, because Uname
-	is not a file name at all.
-	* fname.ads, fname.adb: Document the fact that
-	Is_Predefined_File_Name and Is_Internal_File_Name can be called
-	for ALI files, and fix the code so it works properly for ALI
-	files. E.g. these should return True for "system.ali".
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_util.adb (Add_Invariant): Removed,
-	code moved to Add_Invariant_Check, Add_Inherited_Invariant,
-	and Add_Own_Invariant.	(Add_Invariant_Check): Used
-	for adding runtime checks from any kind of invariant.
-	(Add_Inherited_Invariant): Generates invariant checks for
-	class-wide invariants (Add_Interface_Invariants): Removed, code
-	moved to Build_Invariant_Procedure_Body (Add_Own_Invariant):
-	Create a types own invariant procedure (Add_Parent_Invariants):
-	Removed, code moved to Build_Invariant_Procedure_Body
-	(Build_Invariant_Procedure_Body): Add refactored calls
-	and integrated code from Add_Parent_Invariants and
-	Add_Interface_Invariants.
-	(Process_Type): Removed, the
-	relavant code was inlined into both Add_Own_Invariant and
-	Add_Inherited_Invariant.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* make.adb, par-ch2.adb, sem_util.adb, scans.ads, sem_ch8.adb,
-	scn.adb, osint.adb, fname.adb: Minor reformatting.
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* s-taprop-mingw.adb: Do not check for CloseHandle in
-	Finalize_TCB.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Check_Part_Of_Reference):
-	Continue to examine the context if the reference appears within
-	an expression function.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch7.adb, exp_ch7.ads Remove Build_Invariant_Procedure_Body
-	and Build_Invariant_Procedure_Declaration.
-	* exp_util.ads, exp_util.adb Add Build_Invariant_Procedure_Body
-	and Build_Invariant_Procedure_Declaration from exp_ch7
-	and break-out Is_Untagged_Private_Derivation from
-	Build_Invariant_Procedure_Body.
-	(Replace_Type_References):
-	Append an extra parameter to allow for dispatching replacements
-	and add the corrasponding logic.
-	(Type_Invariant): Remove
-	Replace_Typ_Refs and replace its references with calls to
-	Replace_Type_References.
-	* sem_ch3.adb, sem_prag.adb: Remove with and use of exp_ch7.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Should_Ignore_Pragma): New function
-	that returns True when appropriate.
-	* par-prag.adb, exp_prag.adb, sem_prag.adb: Do not ignore pragmas
-	when compiling predefined files.
-	* fname.ads, fname.adb (Is_Predefined_File_Name): Fix bug:
-	"gnat.adc" should not be considered a predefined file name.
-	That required (or at least encouraged) a lot of cleanup of global
-	variable usage. We shouldn't be communicating information via
-	the global name buffer.
-	* bindgen.adb, errout.adb, fname-uf.adb, lib-load.adb, make.adb,
-	* restrict.adb, sem_ch10.adb, sem_ch6.adb, sem_ch8.adb: Changes
-	required by the above-mentioned cleanup.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* osint.adb (Find_File): Handle properly a request for a
-	configuration file whose name is a directory.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_attr.adb, sem_ch5.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* types.ads: Minor: Fix '???' comment.
-	* sem_ch8.adb: Minor comment fix.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb: Remove suspicious uses of Name_Buf.
-	* stringt.ads, stringt.adb, exp_dbug.adb, sem_dim.adb: Remove
-	Add_String_To_Name_Buffer, to avoid using the global Name_Buf.
-	Add String_To_Name with no side effects.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Add
-	additional condition for edge case.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* par-ch2.adb, scans.ads, scn.adb: Do not give an error for
-	reserved words inside pragmas. This is necessary to allow the
-	pragma name Interface to be used in pragma Ignore_Pragma.
-	* par.adb: Minor comment fix.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* a-tags.ads, a-tags.adb (Type_Is_Abstract): Renamed as Is_Abstract.
-	* rtsfind.ads (RE_Type_Is_Abstract): Renamed as Is_Abstract.
-	* exp_disp.adb (Make_DT): Update occurrences of RE_Type_Is_Abstract.
-	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Update
-	occurrences of RE_Type_Is_Abstract
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Build_Chain): Account for ancestor
-	subtypes while traversing the derivation chain.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb: minor reformatting.
-
-2017-04-25  Doug Rupp  <rupp@adacore.com>
-
-	* sigtramp-vxworks-target.inc [PPC64]: Add a .localentry pseudo-op.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Assignment): Reset Full_Analysis flag on
-	the first pass over an assignment statement with target names,
-	to prevent the generation of subtypes (such as discriminated
-	record components)that may carry the target name outside of the
-	tree for the assignment. The subtypes will be generated when
-	the assignment is reanalyzed in full.
-	(Analyze_Target_Name): Handle properly class-wide types.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* elists.ads, elists.adb (Prepend_Unique_Elmt): New routine.
-	* exp_ch3.adb (Freeze_Type): Signal the DIC body is created for
-	the purposes of freezing.
-	* exp_util.adb Update the documentation and structure of the
-	type map used in class-wide semantics of assertion expressions.
-	(Add_Inherited_Tagged_DIC): There is really no need to preanalyze
-	and resolve the triaged expression because all substitutions
-	refer to the proper entities.  Update the replacement of
-	references.
-	(Build_DIC_Procedure_Body): Add formal parameter
-	For_Freeze. Add local variable Build_Body. Inherited DIC pragmas
-	are now only processed when freezing occurs.  Build a body only
-	when one is needed.
-	(Entity_Hash): Removed.
-	(Map_Types): New routine.
-	(Replace_Object_And_Primitive_References): Removed.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Type_Map_Hash): New routine.
-	(Update_Primitives_Mapping): Update the mapping call.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* exp_util.ads (Build_DIC_Procedure_Body): Add formal
-	parameter For_Freeze and update the comment on usage.
-	(Map_Types): New routine.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC
-	properties of the private type to the full view in case the full
-	view derives from a parent type and inherits a DIC pragma.
-	* sem_prag.adb (Analyze_Pragma): Guard against a case where a
-	DIC pragma is placed at the top of a declarative region.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* a-tasatt.adb: Complete previous change and use an unsigned
-	int to avoid overflow checks.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Access): Specialize
-	the error message when the attribute reference is an actual in
-	a call to a subprogram inherited from a generic formal type with
-	unknown discriminants, which makes the subprogram and its formal
-	parameters intrinsic (see RM 6.3.1 (8) and (13)).
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, inline.adb, einfo.adb, einfo.ads, scng.adb,
-	sem_prag.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Type_Key): Add code in the
-	recursive Compute_Type_Key to protect against fetching the source
-	code for Standard, in case a component of the type is declared
-	in Standard. There was already code to do this for the original
-	type, but not for its components.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch3.adb (Build_Initialization_Call): Handle
-	subtypes of private types when searching for the underlying full
-	view of a private type.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Set_Mixed_Mode_Operand): A universal
-	real conditional expression can appear in a fixed-type context
-	and must be resolved with that context to facilitate the code
-	generation to the backend.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.adb, einfo.ads (Body_Needed_For_Inlining): New flag,
-	to indicate whether during inline processing, when some unit U1
-	appears in the context of a unit U2 compiled for instantiation
-	or inlining purposes, the body of U1 needs to be compiled as well.
-	* sem_prag.adb (Process_Inline): Set Body_Needed_For_Inlining if
-	context is a package declaration.
-	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
-	Analyze_Generic_Package_Declaration): ditto.
-	* inline.adb (Analyze_Inlined_Bodies): Check
-	Body_Needed_For_Inlining.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* par.adb (Current_Assign_Node): Global variable use to record
-	the presence of a target_name in the right hand side of the
-	assignment being parsed.
-	* par-ch4.adb (P_Name): If the name is a target_name, mark the
-	enclosing assignment node accordingly.
-	* par-ch5.adb (P_Assignment_Statement): Set Current_Assign_Node
-	appropriately.
-	* sem_ch5.adb (Analyze_Assignment): Disable expansion before
-	analyzing RHS if the statement has target_names.
-	* sem_aggr.adb (Resolve_Iterated_Component_Association): Handle
-	properly choices that are subtype marks.
-	* exp_ch5.adb: Code cleanup.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-memory.adb: Add a comment regarding efficiency.
-	* atree.adb: Fix the assertion, and combine 2 assertions into one,
-	"the source has an extension if and only if the destination does."
-	* sem_ch3.adb, sem_ch13.adb: Address ??? comments.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* a-tasatt.adb (Set_Value): Fix handling of 32bits -> 64bits
-	conversion.
-
-2017-04-25  Doug Rupp  <rupp@adacore.com>
-
-	* init.c (__gnat_error_handler) [vxworks]: Turn on sigtramp
-	handling for ppc64-vx7.
-	* sigtramp-vxworks-target.inc
-	[SIGTRAMP_BODY]: Add section for ppc64-vx7.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* ada_get_targ.adb: New file.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* uintp.adb (Most_Sig_2_Digits): In case Direct (Right), fetch
-	Direct_Val (Right), instead of the incorrect Direct_Val (Left).
-	(UI_GCD): Remove ??? comment involving possible efficiency
-	improvements. This just isn't important after all these years.
-	Also minor cleanup.
-	* uintp.ads: Minor cleanup.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, exp_util.ads, sem_ch7.adb, sem_prag.adb, exp_ch3.adb:
-	Revert previous changes.
-	* scng.adb: Minor reformatting.
-	* s-stratt.ads: Fix unbalanced parens in comment.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_util.adb, sem_prag.adb, freeze.adb, sem_util.adb:
-	Minor reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* scng.adb (Scan): Handle '@' appropriately.
-	* sem_ch5.adb: Code cleanup.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Check_Expression_Function): Do not check for the
-	use of deferred constants if the freezing of the expression
-	function is triggered by its generated body, rather than a
-	premature use.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_attr.adb (Rewrite_Stream_Proc_Call): Handle
-	subtypes of private types when performing the view conversion.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Signal the DIC body is created for
-	the purposes of freezing.
-	* exp_util.adb Update the documentation and structure of the
-	type map used in class-wide semantics of assertion expressions.
-	(Add_Inherited_Tagged_DIC): There is really no need to preanalyze
-	and resolve the triaged expression because all substitutions
-	refer to the proper entities.  Update the replacement of
-	references.
-	(Build_DIC_Procedure_Body): Add formal parameter
-	For_Freeze. Add local variable Build_Body. Inherited DIC pragmas
-	are now only processed when freezing occurs.  Build a body only
-	when one is needed.
-	(Entity_Hash): Removed.
-	(Map_Types): New routine.
-	(Replace_Object_And_Primitive_References): Removed.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Type_Map_Hash): New routine.
-	(Update_Primitives_Mapping): Update the mapping call.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* exp_util.ads (Build_DIC_Procedure_Body): Add formal
-	parameter For_Freeze and update the comment on usage.
-	(Map_Types): New routine.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC
-	properties of the private type to the full view in case the full
-	view derives from a parent type and inherits a DIC pragma.
-	* sem_prag.adb (Analyze_Pragma): Guard against a case where a
-	DIC pragma is placed at the top of a declarative region.
-
-2017-04-25  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmap.ads (Data): Add pragma Inline.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Do not use
-	a renaming to alias a volatile name because this will lead to
-	multiple evaluations of the volatile name. Use a constant to
-	capture the value instead.
-
-2017-04-25  Doug Rupp  <rupp@adacore.com>
-
-	* init.c [VxWorks Section]: Disable sigtramp for ppc64-vx7.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb, exp_util.ads (Build_Class_Wide_Expression):
-	Add out parameter to indicate to caller that a wrapper must
-	be constructed for an inherited primitive whose inherited
-	pre/postcondition has called to overridden primitives.
-	* freeze.adb (Check_Inherited_Conditions): Build wrapper body
-	for inherited primitive that requires it.
-	* sem_disp.adb (Check_Dispatching_Operation): Such wrappers are
-	legal primitive operations and belong to the list of bodies
-	generated after the freeze point of a type.
-	* sem_prag.adb (Build_Pragma_Check_Equivalent): Use new signature
-	of Build_Class_Wide_Expression.
-	* sem_util.adb, sem_util.ads (Build_Overriding_Spec): New procedure
-	to construct the specification of the wrapper subprogram created
-	for an inherited operation.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-osinte-linux.ads (pthread_mutexattr_setprotocol,
-	pthread_mutexattr_setprioceiling): Add new interfaces for these
-	pthread operations.
-	* s-taprop-linux.adb (Initialize_Lock, Initialize_TCB): Set
-	protocols as appropriate for Locking_Policy 'C' and 'I'.
-	* s-taprop-posix.adb: Minor reformatting to make it more similar
-	to s-taprop-linux.adb.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Get_Discriminant_Value, Search_Derivation_Levels):
-	Handle properly a multi- level derivation involving both renamed
-	and constrained parent discriminants, when the type to be
-	constrained has fewer discriminants that the ultimate ancestor.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_util.adb (Is_Object_Reference): In the
-	case of N_Explicit_Dereference, return False if it came from a
-	conditional expression.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* par-ch4.adb (P_Case_Expression): If a semicolon
-	is followed by "when", assume that ";" was meant to be ",".
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch9.adb, sem_ch10.adb, sem_util.adb: Minor reformatting and typo
-	fixes.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* rtsfind.ads (SPARK_Implicit_Load): New procedure for forced
-	loading of an entity.
-	* rtsfind.adb (SPARK_Implicit_Load): Body with a pattern
-	previously repeated in the analysis.
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration): use new
-	procedure SPARK_Implicit_Load.	(Analyze_Task_Type_Declaration):
-	use new procedure SPARK_Implicit_Load.
-	* sem_ch10.adb (Analyze_Compilation_Unit): Use new procedure
-	SPARK_Implicit_Load.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): By default
-	copying of defining identifiers is prohibited because
-	this would introduce an entirely new entity into the
-	tree. This patch introduces an exception to this general
-	rule: the declaration of constants and variables located in
-	Expression_With_Action nodes.
-	(Copy_Itype_With_Replacement): Renamed as Copy_Entity_With_Replacement.
-	(In_Map): New subprogram.
-	(Visit_Entity): New subprogram.
-	(Visit_Node): Handle EWA_Level,
-	EWA_Inner_Scope_Level, and take care of defining entities defined
-	in Expression_With_Action nodes.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* exp_ch6.adb: minor comment edit.
-	* sinfo.ads, sinfo.adb: New Null_Statement attribute for null
-	procedure specifications that come from source.
-	* par-ch6.adb (P_Subprogram, case of a null procedure): Set new
-	Null_Statement attribute.
-	* par_sco.adb (Traverse_Declarations_Or_Statements): For a null
-	procedure, generate statement SCO for the generated NULL statement.
-	* sem_ch6.adb (Analyze_Null_Procedure): Use null statement from
-	parser, if available.
-
-2017-04-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* system-linux-s390.ads: Use Long_Integer'Size to define
-	Memory_Size.
-
-2017-04-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Record_Type): Fix long line.
-
-2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo.
-	* g-socket.adb (To_Host_Entry): Fix typo in comment.
-	* gnat_ugn.texi: Fix typo.
-	* raise.c (_gnat_builtin_longjmp): Fix capitalization in comment.
-	* s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment.
-	* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
-	* sem_util.adb (Mark_Coextensions): Likewise.
-	* sem_util.ads (Available_Full_View_Of_Component): Likewise.
-
-2017-03-28  Andreas Schwab  <schwab@suse.de>
-
-	PR ada/80117
-	* system-linux-aarch64-ilp32.ads: New file.
-	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
-	from LIBGNAT_TARGET_PAIRS.
-	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
-	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
-	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
-	or -mabi=ilp32, resp.
-
-2017-03-14  James Cowgill  <James.Cowgill@imgtec.com>
-
-	* s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
-
-2017-03-08  Thanassis Tsiodras  <ttsiodras@gmail.com>
-
-	PR ada/79903
-	* socket.c (__gnat_gethostbyaddr): Add missing test for __rtems__.
-
-2017-03-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/79945
-	* system-linux-ppc.ads (Default_Bit_Order): Use Standard's setting.
-
-	* system-linux-arm.ads (Default_Bit_Order): Likewise.
-	* system-linux-mips.ads (Default_Bit_Order): Likewise.
-	* system-linux-armeb.ads: Delete.
-	* system-linux-mipsel.ads: Likewise.
-	* gcc-interface/Makefile.in (MIPS/Linux): Adjust.
-	(ARM/Linux): Likewise.
-
-2017-02-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/79677
-	* gcc-interface/misc.c (gnat_handle_option): Pass true to
-	handle_generated_option GENERATED_P.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper
-	around a justified modular type if it doesn't have the same scalar
-	storage order as the enclosing record type.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling
-	of boolean rvalues to function calls.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (fold_bit_position): New function.
-	(rest_of_record_type_compilation): Call it instead of bit_position to
-	compute the field position and remove the call to remove_conversions.
-	(compute_related_constant): Factor out the multiplication in both
-	operands, if any, and streamline the final test.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c: Include demangle.h.
-	(is_cplusplus_method): Return again true for a primitive operation
-	only if it is dispatching.  For a subprogram with an interface name,
-	call the demangler to get the number of C++ parameters and compare it
-	with the number of Ada parameters.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
-	there is no end label, put the location of the At_End procedure on
-	the call to the procedure.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful
-	value for array types with TYPE_INDEX_TYPE set on their domain type.
-	* gcc-interface/utils.c (max_size): For operations and expressions, do
-	not build a new node if the operands have not changed or are missing.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second
-	argument when recursing on TRUTH_NOT_EXPR.
-
-2017-02-12  John Marino  <gnugcc@marino.st>
-
-	* system-freebsd-x86.ads: Rename into...
-	* system-freebsd.ads: ...this.
-	(Default_Bit_Order): Define using Standard'Default_Bit_Order.
-	* gcc-interface/Makefile.in: Support aarch64-freebsd.
-	(x86-64/FreeBSD): Adjust to above renaming.
-	(i386/FreeBSD): Likewise.
-
-2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* comperr.adb: Update FSF bug reporting URL.
-
-2017-02-01  Eric Botcazou  <ebotcazou@adacore.com>
-            Jakub Jelinek  <jakub@redhat.com>
-
-	PR ada/79309
-	* adaint.c (__gnat_killprocesstree): Fix broken string handling.
-
-2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR lto/79061
-	* gcc-interface/utils.c (get_global_context): Pass main_input_filename
-	to build_translation_unit_decl.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): Code cleanup:
-	removal of the internal map (ie. variable Actual_Map, its
-	associated local variables, and all the code handling it).
-	* sem_ch9.adb (Analyze_Task_Type_Declaration): in GNATprove mode
-	force loading of the System package when processing a task type.
-	(Analyze_Protected_Type_Declaration): in GNATprove mode force
-	loading of the System package when processing a protected type.
-	* sem_ch10.adb (Analyze_Compilation_Unit): in GNATprove mode
-	force loading of the System package when processing compilation
-	unit with a main-like subprogram.
-	* frontend.adb (Frontend): remove forced loading of the System
-	package.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Default_Initial_Condition): If the desired type
-	declaration is a derived type declaration with discriminants,
-	it is rewritten as a private type declaration.
-	* sem_ch13.adb (Replace_Type_References_Generic,
-	Visible_Component): A discriminated private type with descriminnts
-	has components that must be rewritten as selected components
-	if they appear as identifiers in an aspect expression such as
-	a Default_Initial_Condition.
-	* sem_util.adb (Defining_Entity): support N_Iterator_Specification
-	nodes.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* ghost.ads, ghost.adb (Is_Ignored_Ghost_Unit): New routine.
-	* gnat1drv.adb Generate an empty object file for an ignored
-	Ghost compilation unit.
-	* inline.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch4.adb (Analyze_Indexed_Component_Form):
-	Adapt to inlined prefix with string literal subtype.
-	* inline.adb (Expand_Inlined_Call): Keep unchecked
-	conversion inside inlined call when formal type is constrained.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): Code cleanup:
-	removal of global variables. All the global variables, global
-	functions and tables of this subprogram are now declared locally.
-
-2017-01-23  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_strm.ads: Minor reformatting and typo fixes.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, par_sco.adb, exp_util.adb, sem.adb, sem_ch4.adb,
-	exp_aggr.adb: Minor reformatting.
-	* g-diopit.adb: minor grammar/punctuation fix in comment.
-	* g-byorma.ads: minor fix of unbalanced parens in comment.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par.adb: Update the documentation of component Labl.
-	* par-ch6.adb (P_Return_Statement): Set the expected label of
-	an extended return statement to Error.
-
-2017-01-23  Tristan Gingold  <gingold@adacore.com>
-
-	* s-boustr.ads, s-boustr.adb (Is_Full): New function.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* expander.adb: Handle N_Delta_Aggregate.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Improve the code that
-	checks if some formal of the called subprogram is a class-wide
-	interface, to handle subtypes of class-wide interfaces.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Apply_Parameter_Aliasing_Checks):
-	Remove side effects of the actuals before generating the overlap
-	check.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* exp_strm.ads, exp_strm.ads
-	(Build_Record_Or_Elementary_Input_Function): Add an extra parameter so
-	as to avoid getting the underlying type by default.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Remove use of
-	underlying type in the Iiput and output attribute cases when
-	building their respective functions.
-
-2017-01-23  Gary Dismukes  <dismukes@adacore.com>
-
-	* scng.adb: Minor reformatting of error message.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Do not attempt
-	to freeze the return type of an expression funxtion that is a
-	completion, if the type is a limited view and the non-limited
-	view is available.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): Recognize delta
-	aggregate construct.
-	(P_Record_Or_Array_Component_Association): An array aggregate
-	can start with an Iterated_Component_Association.
-	* scng.adb: Modify error message on improper use of @ in earlier
-	versions of the language.
-	* sinfo.ads: New node kind N_Delta_Aggregate.
-	* sinfo.adb: An N_Delta_Aggregate has component associations and
-	an expression.
-	* sem_res.adb (Resolve): Call Resolve_Delta_Aggregate.
-	* sem_aggr.ads, sem_aggr.adb (Resolve_Iterated_Component_Association):
-	Create a new index for each one of the choices in the association,
-	to prevent spurious homonyms in the scope.
-	(Resolve_Delta_Aggregate): New.
-	* sem.adb: An N_Delta_Aggregate is analyzed like an aggregate.
-	* exp_util.adb (Insert_Actions): Take into account
-	N_Delta_Aggregate.
-	* exp_aggr.ads: New procedure Expand_N_Delta_Aggregate.
-	* exp_aggr.adb: New procedure Expand_N_Delta_Aggregate,
-	and local procedures Expand_Delta_Array_Aggregate and
-	expand_Delta_Record_Aggregate.
-	* sprint.adb: Handle N_Delta_Aggregate.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch11.adb (Expand_N_Exception_Declaration): Generate an
-	empty name when the exception declaration is subject to pragma
-	Discard_Names.
-	(Null_String): New routine.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par-ch9.adb (P_Protected_Definition): Parse
-	any optional and potentially illegal pragmas which appear in
-	a protected operation declaration list.
-	(P_Task_Items): Parse
-	any optional and potentially illegal pragmas which appear in a
-	task item list.
-
-2017-01-23  Pascal Obry  <obry@adacore.com>
-
-	* s-taprop-mingw.adb (Enter_Task): Initialize the Thread handle which
-	is needed when a foreign thread call a Win32 API using a thread handle
-	like GetThreadTimes() for example.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
-	allow an 'Address clause to be specified on a prefix of a
-	class-wide type.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Ensure that the prefix of
-	attribute 'Valid is a renaming of the original expression when
-	the expression denotes a name. For all other kinds of expression,
-	use a constant to capture the value.
-	* exp_util.adb (Is_Name_Reference): Moved to Sem_Util.
-	* sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_eval.adb (Eval_Integer_Literal): Add special
-	case to avoid optimizing out check if the literal appears in
-	an if-expression.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
-	allow an 'Address clause to be specified on a prefix of a
-	class-wide type.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Ensure that the prefix of
-	attribute 'Valid is a renaming of the original expression when
-	the expression denotes a name. For all other kinds of expression,
-	use a constant to capture the value.
-	* exp_util.adb (Is_Name_Reference): Moved to Sem_Util.
-	* sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_eval.adb (Eval_Integer_Literal): Add special
-	case to avoid optimizing out check if the literal appears in
-	an if-expression.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Primitive_Operations,
-	Is_Valid_First_Argument_Of): argument is valid if it is a derived
-	type with unknown discriminants that matches its underlying
-	record view.
-	* exp_util.adb (Expand_Subtype_From_Expr): Do not expand
-	expression if its type is derived from a limited type with
-	unknown discriminants, because the expansion (which is a call)
-	must be expanded in the enclosing context to add the proper build-
-	in-place parameters to the call.
-	* lib.ads, exp_ch9.adb: Minor fixes in comments.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* frontend.adb (Frontend): Do not load runtime
-	unit for GNATprove when parsing failed.
-	* exp_ch9.adb: minor removal of extra whitespace
-	* exp_ch6.adb: minor typo in comment
-	* sem_util.adb: Code cleanup.
-	* exp_ch9.ads, par-ch2.adb: minor style fixes in whitespace and comment
-	* a-ngcefu.adb: minor style fix in whitespace
-
-2017-01-23  Thomas Quinot  <quinot@adacore.com>
-
-	* scos.ads: Document usage of 'd' as default SCO kind for
-	declarations.
-	* par_sco.adb (Traverse_Declarations_Or_Statements.
-	Traverse_Degenerate_Subprogram): New supporting routine for expression
-	functions and null procedures.
-	(Traverse_Declarations_Or_Statements.Traverse_One): Add
-	N_Expression_Function to the subprogram case; add required
-	support for null procedures and expression functions.
-
-2017-01-23  Bob Duff  <duff@adacore.com>
-
-	* namet.ads (Bounded_String): Decrease the size of type
-	Bounded_String to avoid running out of stack space.
-	* namet.ads (Append): Don't ignore buffer overflow; raise
-	Program_Error instead.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, freeze.adb, par-ch4.adb, scng.adb, sem_ch13.adb,
-	sem_ch3.adb, sem_ch5.adb, sem_ch5.ads, sem_util.adb, sinfo.ads: Minor
-	reformatting.
-	* exp_ch9.adb: minor style fix in comment.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Allocator): Handle properly a type derived
-	for a limited record extension with unknown discriminants whose
-	full view has no discriminants.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb: Alphabetize with clauses.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Has_Enabled_Property): Treat
-	protected objects and variables differently from other variables.
-
-2017-01-23  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
-	Split original Ada 95 part off into new subprogram
-	below. Call that subprogram (instead of proceeding with
-	AI95-0133 behaviour) if debug switch -gnatd.p is in use.
-	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): ... new subprogram
-	* debug.adb Document new switch -gnatd.p
-	* freeze.adb (Freeze_Entity.Freeze_Record_Type): Do not adjust
-	record for reverse bit order if an error has already been posted
-	on the record type.  This avoids generating extraneous "info:"
-	messages for illegal code.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Correct comments
-	* freeze.adb (Find_Constant): Add detection of deferred constants
-	so they are not incorrectly flagged as premature.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* scans.ads: New token At_Sign. Remove '@' from list of illegal
-	characters for future version of the language. '@' is legal name.
-	* scng.ads, scng.adb (Scan):  Handle '@' appropriately.
-	* scn.adb (Scan_Reserved_Identifier): An occurrence of '@'
-	denotes a Target_Name.
-	* par-ch4.adb (P_Name, P_Primary): Handle Target_Name.
-	* sinfo.ads, sinfo.adb (N_Target_Name): New non-terminal node.
-	(Has_Target_Names): New flag on N_Assignment_Statement, to
-	indicate that RHS has occurrences of N_Target_Name.
-	* sem.adb: Call Analyze_Target_Name.
-	* sem_ch5.ads, sem_ch5.adb (Analyze_Target_Name): New subpogram.
-	(urrent_LHS): Global variable that denotes LHS of assignment,
-	used in the analysis of Target_Name nodes.
-	* sem_res.adb (Resolve_Target_Name): New procedure.
-	* exp_ch5.adb (Expand_Assign_With_Target_Names): (AI12-0125):
-	N is an assignment statement whose RHS contains occurences of @
-	that designate the value of the LHS of the assignment. If the
-	LHS is side-effect free the target names can be replaced with
-	a copy of the LHS; otherwise the semantics of the assignment
-	is described in terms of a procedure with an in-out parameter,
-	and expanded as such.
-	(Expand_N_Assignment_Statement): Call
-	Expand_Assign_With_Target_Names when needed.
-	* exp_util.adb (Insert_Actions): Take into account N_Target_Name.
-	* sprint.adb: Handle N_Target_Name.
-
-2017-01-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* checks.adb: Minor fix in comment.
-
-2017-01-23  Philippe Gil  <gil@adacore.com>
-
-	* g-debpoo.adb (Do_Report) remove freed chunks from chunks
-	count in Sort = Memory_Usage or Allocations_Count
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb: Code cleanup.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Move all global
-	variables to the local variable section. Update the profile
-	of various nested routine that previously had visibility
-	of those globals. One the matching phase has completed,
-	remove certain classes of clauses which are considered noise.
-	(Check_Dependency_Clause): Properly detect a match between two
-	'Result attributes. Update the various post-match cases to use
-	Is_Already_Matched as this routine now automatically recognizes
-	a previously matched 'Result attribute.
-	(Is_Already_Matched): New routine.
-	(Remove_Extra_Clauses): New routine.
-	(Report_Extra_Clauses): Remove the detection of ... => null
-	clauses as this is now done in Remove_Extra_Clauses.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Array_Aggregate): In ASIS mode do not
-	report on spurious overlaps between values involving a subtype
-	with a static predicate, because the expansion of such a subtype
-	into individual ranges in inhibited in ASIS mode.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Add detection
-	of an edge case and delay freezing if it is present.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_spark.adb, exp_attr.adb, sem_ch9.adb, sem_prag.adb,
-	sem_util.adb, sem_warn.adb, exp_ch3.adb: Minor reformatting.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb (Freeze_Subprogram): Ensure that all anonymous
-	access-to-subprogram types inherit the convention of the
-	associated subprogram.	(Set_Profile_Convention): New routine.
-	* sem_ch6.adb (Check_Conformance): Do not compare the conventions
-	of the two entities directly, use Conventions_Match to account
-	for anonymous access-to-subprogram and subprogram types.
-	(Conventions_Match): New routine.
-
-2017-01-23  Claire Dross  <dross@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes
-	which return Universal_Integer, force the overflow check flag for
-	Length and Range_Length for types as big as Long_Long_Integer.
-
-2017-01-23  Claire Dross  <dross@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Attribute_Reference):  For
-	attributes which return Universal_Integer, introduce a conversion
-	to the expected type with the appropriate check flags set.
-	* sem_res.adb (Resolve_Range): The higher bound can be in Typ's
-	base type if the range is null. It may still be invalid if it
-	is higher than the lower bound. This is checked later in the
-	context in which the range appears.
-
-2017-01-23  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* scos.ads: Introduce a constant to represent ignored
-	dependencies in SCO_Unit_Table_Entry.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove extra
-	spaces from error messages.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Check_Large_Modular_Array): New procedure,
-	subsidiary to Expand_N_Object_ Declaration, to compute a guard on
-	an object declaration for an array type with a modular index type
-	with the size of Long_Long_Integer. Special processing is needed
-	in this case to compute reliably the size of the object, and
-	eventually  to raise Storage_Error, when wrap-around arithmetic
-	might compute a meangingless size for the object.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* a-wtenau.adb, par-endh.adb, sem_prag.adb,
-	sem_type.adb: Code cleanups.
-
-2017-01-23  Bob Duff  <duff@adacore.com>
-
-	* sem_res.adb (Resolve_Call): In the part of the code where
-	it is deciding whether to turn the call into an indexed
-	component, avoid doing so if the call is to an instance of
-	Unchecked_Conversion. Otherwise, the compiler turns it into an
-	indexed component, and resolution of that turns it back into a
-	function call, and so on, resulting in infinite recursion.
-	* sem_util.adb (Needs_One_Actual): If the first formal has a
-	default, then return False.
-
-2017-01-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc)
-	optimizations when the type is modular and the offsets are equal.
-
-2017-01-20  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning
-	message.
-
-2017-01-20  Nicolas Roche  <roche@adacore.com>
-
-	* terminals.c: Ignore failures on setpgid and tcsetpgrp commands.
-
-2017-01-20  Bob Duff  <duff@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Disable the expr+literal
-	(etc) optimizations when the type is modular.
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Move_Pragmas): move some pragmas,
-	but copy the SPARK_Mode pragma instead of moving it.
-	(Build_Subprogram_Declaration): Ensure that the generated spec
-	and original body share the same SPARK_Pragma aspect/pragma.
-	* sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New
-	procedure to copy SPARK_Mode aspect.
-
-2017-01-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects
-	even in ASIS mode.
-	* sem_ch13.adb (Resolve_Name): Enable setting the entity to
-	Empty even in ASIS mode.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb: minor style fixes in comments.
-	* sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay
-	relative statement introduces an implicit dependency on
-	Ada.Real_Time.Clock_Time.
-	* sem_util.adb: Minor reformatting.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment
-	must be treated as delayed aspect even if the expression is
-	a literal, because the aspect affects the freezing and the
-	elaboration of the object to which it applies.
-
-2017-01-20  Tristan Gingold  <gingold@adacore.com>
-
-	* s-osinte-vxworks.ads (Interrup_Range): New subtype.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-xref.adb (Generate_Reference): Do not warn about the
-	presence of a pragma Unreferenced if the entity appears as the
-	actual in a procedure call that does not come from source.
-
-2017-01-20  Pascal Obry  <obry@adacore.com>
-
-	* expect.c, terminals.c: Fix some warnings about unused variables.
-	* gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part
-	of the runtime.
-
-2017-01-20  Bob Duff  <duff@adacore.com>
-
-	* exp_attr.adb (Constrained): Apply an access check (check that
-	the prefix is not null) when the prefix denotes an object of an
-	access type; that is, when there is an implicit dereference.
-
-2017-01-20  Gary Dismukes  <dismukes@adacore.com>
-
-	* s-rident.ads (constant Profile_Info): Remove
-	No_Calendar from GNAT_Extended_Ravenscar restrictions.
-
-2017-01-20  Tristan Gingold  <gingold@adacore.com>
-
-	*  s-maccod.ads: Add pragma No_Elaboration_Code_All
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* ghost.adb (Mark_Ghost_Clause): New routine.
-	(Prune_Node): Do not prune compilation unit nodes.
-	(Remove_Ignored_Ghost_Code): Prune the compilation unit node directly.
-	This does not touch the node itself, but does prune all its fields.
-	* ghost.ads (Mark_Ghost_Clause): New routine.
-	* sem_ch8.adb (Analyze_Use_Package): Emit an error when a use
-	package clause mentions Ghost and non-Ghost packages. Mark a
-	use package clause as Ghost when it mentions a Ghost package.
-	(Analyze_Use_Type): Emit an error when a use type clause mentions
-	Ghost and non-Ghost types. Mark a use type clause as Ghost when
-	it mentions a Ghost type.
-	* sem_ch10.adb (Analyze_With_Clause): Mark a with clause as
-	Ghost when it withs a Ghost unit.
-
-2017-01-20  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Call): If a function call
-	returns a limited view of a type and at the point of the call the
-	function is not declared in the extended main unit then replace
-	it with the non-limited view, which must be available. If the
-	called function is in the extended main unit then no action is
-	needed since the back-end handles this case.
-
-2017-01-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into...
-	(Contains_Subprograms_Refs): ...this.  Adjust comment
-	for constants.	(Is_Subp_Or_Const_Ref): Rename into...
-	(Is_Subprogram_Ref): ...this.
-	(Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into
-	Has_Non_Subprograms_Referencer and adjust comment.  Remove
-	incorrect shortcut for package declarations and bodies.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Complete_Private_Subtype): If the scope of the
-	base type differs from that of the completion and the private
-	subtype is an itype (created for a constraint on an access
-	type e.g.), set Delayed_Freeze on both to prevent out-of-scope
-	anomalies in gigi.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-	When inheriting the SPARK_Mode of a prior expression function,
-	look at the properly resolved entity rather than the initial
-	candidate which may denote a homonym.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Rewrite_Assertion_Kind): If the name is
-	Precondition or Postcondition, and the context is pragma
-	Check_Policy, indicate that this Pre-Ada2012 usage is deprecated
-	and suggest the standard names Assertion_Policy /Pre /Post
-	instead.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch10.adb, sem_cat.adb: Minor reformatting.
-
-2017-01-20  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Access_Type_Declaration): Protect access to the
-	Entity attribute.
-	* sem_ch10.adb (Install_Siblings): Skip processing malformed trees.
-	* sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing
-	malformed trees.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specification, case
-	Dynamic_Predicate): If the entity E is a subtype that inherits
-	a static predicate for its parent P,, the inherited and the
-	new predicate combine in the generated predicate function,
-	and E only has a dynamic predicate.
-
-2017-01-20  Tristan Gingold  <gingold@adacore.com>
-
-	* s-boustr.ads, s-boustr.adb: New package.
-	* Makefile.rtl: Add s-boustr.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* inline.adb (Process_Formals): Qualify the
-	expression of a return statement when it yields a universal type.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb (Freeze_All): Freeze the default
-	expressions of all eligible formal parameters that appear in
-	entries, entry families, and protected subprograms.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check
-	for illegal inherited Implicit_Dereference aspects with renamed
-	discriminants.
-
-2017-01-20  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb (switch d.6): do not avoid declaring unreferenced itypes.
-	* nlists.ads (Lock_Lists, Unlock_Lists): New subprograms.
-	* nlists.adb (Lock_Lists, Unlock_Lists): New subprograms.
-	(Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent,
-	Set_Prev, Tree_Read): Adding assertion.
-	* atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms.
-	* atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms.
-	(Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source,
-	Set_Ekind, Set_Error_Posted, Set_Has_Aspects,
-	Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count,
-	Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN,
-	Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN,
-	Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent,
-	Set_ListN_With_Parent): Adding assertion.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Process_Convention): Diagnose properly a pragma
-	import that applies to several homograph subprograms. when one
-	of them is declared by a subprogram body.
-
-2017-01-20  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Remove optimization
-	that nulls out calls to null procedures.
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Expand_Inlined_Call): Keep more
-	precise type of actual for inlining whenever possible. In
-	particular, do not switch to the formal type in GNATprove mode in
-	some case where the GNAT backend might require it for visibility.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited
-	aspect Implicit_Dereference can be inherited by a full view if
-	the partial view has no discriminants, because there is no way
-	to apply the aspect to the partial view.
-	(Build_Derived_Record_Type): If derived type renames discriminants
-	of the parent, the new discriminant inherits the aspect from
-	the old one.
-	* sem_ch4.adb (Analyze_Call): Handle properly a parameterless
-	call through an access discriminant designating a subprogram.
-	* sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle
-	properly a parameterless call through an access discriminant on
-	the left-hand side of an assignment.
-	* sem_res.adb (resolve): If an interpreation involves a
-	discriminant with an implicit dereference and the expression is an
-	entity, resolution takes place later in the appropriate routine.
-	* sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize
-	access discriminants that designate a subprogram type.
-
-2017-01-20  Pascal Obry  <obry@adacore.com>
-
-	* a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error
-	on implicitly with'ed units in GNATprove mode.
-	* sinfo.ads (Implicit_With): Document use of flag for implicitly
-	with'ed units in GNATprove mode.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_cat.adb (Validate_Static_Object_Name): In a preelaborated
-	unit Do not report an error on a non-static entity that appears
-	in the context of a spec expression, such as an aspect expression.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb: Flag298 now denotes Is_Underlying_Full_View.
-	(Is_Underlying_Full_View): New routine.
-	(Set_Is_Underlying_Full_View): New routine.
-	(Write_Entity_Flags): Add an entry for Is_Underlying_Full_View.
-	* einfo.ads Add new attribute Is_Underlying_Full_View.
-	(Is_Underlying_Full_View): New routine along with pragma Inline.
-	(Set_Is_Underlying_Full_View): New routine along with pragma Inline.
-	* exp_util.adb (Build_DIC_Procedure_Body): Do not consider
-	class-wide types and underlying full views. The first subtype
-	is used as the working type for all Itypes, not just array base types.
-	(Build_DIC_Procedure_Declaration): Do not consider
-	class-wide types and underlying full views. The first subtype
-	is used as the working type for all Itypes, not just array
-	base types.
-	* freeze.adb (Freeze_Entity): Inherit the freeze node of a full
-	view or an underlying full view without clobbering the attributes
-	of a previous freeze node.
-	(Inherit_Freeze_Node): New routine.
-	* sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying
-	full view as such.
-	(Build_Underlying_Full_View): Mark an underlying full view as such.
-	* sem_ch7.adb (Install_Private_Declarations): Mark an underlying
-	full view as such.
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* sinfo.ads: Document lack of Do_Division_Check flag
-	on float exponentiation.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the
-	identifier attribute of a block-statement node. Required to avoid
-	assertion failure when building the new containers library.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb: Update comment.
-
-2017-01-19  Vincent Celier  <celier@adacore.com>
-
-	* gprep.adb (Gnatprep): Parse the definition file without
-	"replace in comments" even when switch -C is used.
-
-2017-01-19  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch9.adb (Is_Pure_Barrier): Create function
-	Is_Count_Attribute to identify an expansion of the 'Count
-	attribute.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
-	statements within an element iterator loop are only analyzed
-	agter the loop is rewritten. Within a generic the analysis must
-	be performed in any case to complete name capture.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
-	before checking for unrecognized pragmas.
-	Initialize Pname on its declarations; that's always good style.
-
-2017-01-19  Claire Dross  <dross@adacore.com>
-
-	* exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
-	body into the tree for GNATprove by setting its Parent field. The
-	components invariants of composite types are not checked by
-	the composite type's invariant procedure in GNATprove mode.
-	(Build_Invariant_Procedure_Declaration): Semi-insert the
-	declaration into the tree for GNATprove by setting its Parent
-	field.
-	* freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add
-	the component invariants to the array type  invariant procedure
-	so that the procedure can be used to  check the array type
-	invariants if any.
-	(Freeze_Record_Type): In GNATprove mode, do
-	not add the component invariants to the record type  invariant
-	procedure so that the procedure can be used to	check the record
-	type invariants if any.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref-spark_specific.adb: Minor reformatting.
-	* exp_ch7.adb (Add_Parent_Invariants): Do not process array types.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as
-	Build_Back_End_Aggregate.
-	(Generate_Aggregate_For_Derived_Type): Code cleanup.
-	(Prepend_Stored_Values): Code cleanup.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Check for an
-	incomplete return type after attempting to freeze it, so that
-	other freeze actiona are generated in the proper order.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Aggregate): If the type is a string
-	type, ie. a type whose component is a character type, and the
-	aggregate is positional, do not convert into a string literal
-	if the index type is not an integer type, because the original
-	type may be required in an enclosing operation.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* binde.adb, debug.adb: Enable new elaboration order algorithm
-	by default. -dp switch reverts to the old algorithm.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb Add with and use clauses for Exp_Ch7.
-	(Analyze_Declarations): Create the DIC and Invariant
-	procedure bodies s after all freezing has taken place.
-	(Build_Assertion_Bodies): New routine.
-	* sem_ch7.adb Remove the with and use clauses for Exp_Ch7
-	and Exp_Util.
-	(Analyze_Package_Specification): Remove the
-	generation of the DIC and Invariant procedure bodies. This is
-	now done by Analyze_Declarations.
-	* sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant
-	procedures are never treated as primitives.
-
-2017-01-19  Yannick Moy  <moy@adacore.com>
-
-	* frontend.adb: Analyze inlined bodies and check elaboration
-	rules in GNATprove mode too.
-	* sem_elab.adb (Delay_Element): Add Boolean component to save
-	indication that call is in SPARK code.	(Check_Elab_Calls):
-	Check elaboration rules in GNATprove mode, and correctly set
-	the current value of SPARK_Mode.
-	* lib-xref-spark_specific.adb
-	(Add_SPARK_Xrefs): Simplify iteration over dereferences.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_Concatenate): Do no enable overflow
-	checks on the expression for the high bound of concatenation
-	when checks are disabled, to suppress warnings about potential
-	constraint errors in restricted runtimes.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the
-	representation-to-position function as inlined.
-	* sem_cat.adb (Set_Categorization_From_Scope): Do not modify
-	the purity of an internally generated entity if it has been
-	explicitly marked as pure for optimization purposes.
-	* exp_aggr.adb: Minor reformatting.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Remove side effects on
-	actuals that are allocators with qualified expression since the
-	initialization of the object is performed by means of individual
-	statements (and hence it must be done before the call).
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Minor reformatting.
-	(Build_Derived_Enumeration_Type): If the derived type inherits a
-	dynamic predicate from its parent, the bounds of the type must
-	freeze because an explicit constraint is constructed for the
-	type and the corresponding range is elaborated now.
-
-2017-01-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_attr.ads: minor fix of inconsistent casing in comment
-	* lib-writ.ads: minor align comments in columns
-	* sem_ch3.adb: Minor reformatting.
-	* spark_xrefs.ads: minor fix typo in SPARK-related comment
-	* table.ads: minor style fix in comment
-	* lib-xref-spark_specific.adb
-	(Add_SPARK_Xrefs): simplify processing of SPARK cross-references.
-	* sem_ch12.adb: minor whitespace fix
-	* freeze.adb: Add comment.
-	* sem_util.adb (Unique_Name): for instances of
-	generic subprograms ignore the name of the wrapper package.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Resolve_Record_Aggregate):
-	Factorize code needed for aggregates of limited and unlimited
-	types in a new routine.
-	(Pass_Aggregate_To_Back_End): New subprogram.
-
-2017-01-19  Yannick Moy  <moy@adacore.com>
-
-	* sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram
-	public, for use elsewhere.
-	* sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within
-	an Inlined_body, recognize a call that uses object notation
-	and has not been rewritten as a regular call because regular
-	expansion has not taken place.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* checks.adb (Apply_Type_Conversion_Checks): Disable small optimization
-	in case of generic formal discrete types, because it causes crashes in
-	the compiler when built with assertions on.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads,
-	sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking):
-	Increment Warnings_Detected.  It was decrementing, which is
-	wrong since we just issued a warning message.
-	* binderr.ads (Errors_Detected, Warnings_Detected): Declare
-	these variables to be of subtype Nat instead of Int, because
-	they should never be negative.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* contracts.adb (Build_Postconditions_Procedure): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate):
-	Replace Generate_C_Code by Modify_Tree_For_C.
-	* exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by
-	Modify_Tree_For_C.
-	* exp_ch11.adb (Expand_N_Exception_Declaration): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* exp_ch4.adb (Expand_Allocator_Expression): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code
-	by Modify_Tree_For_C.
-	* exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code
-	by Modify_Tree_For_C.
-	* sinfo.ads (Modify_Tree_For_C): Adding documentation.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New
-	subprogram.
-	(Is_Inlinable_Expression_Function): New subprogram.
-	* exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved
-	to Sem_Util.
-	(Is_Inlinable_Expression_Function): Moved to Sem_Util.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Diagnose_Call): Improve error message when a
-	selected component has a prefix that might be interpreted
-	as a parameterless function call, but none of the candidate
-	interpretations is parameterless, and there is a hidden homonym
-	of the prefix that is a package.
-	* sem_ch8.adb (Find_Selected_Component): If the prefix might be
-	interpreted as a parameterless function call and its analysis
-	fails, do not call Analyze_Selected_Component.
-
-2017-01-19  Steve Baird  <baird@adacore.com>
-
-	* sem_util.ads: Add new Use_Full_View Boolean parameter to
-	Get_Index_Bounds.
-	* sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with
-	calls to a newly-defined Scalar_Range_Of_Right_View function.
-
-2017-01-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb: minor fix of unbalanced parens in comment
-	* lib-xref.ads (Traverse_Compilation_Unit): declaration moved
-	to visible part of the package to allow re-use in GNATprove.
-	* lib-xref-spark_specific.adb (Traverse_Stub): routine refactored
-	from repeated code of Traverse_Compilation_Unit.
-	(Traverse_Declaration_Or_Statement): fixed detection of
-	generic subprograms and packages; also, iteration over case
-	statement alternatives rewritten to avoid testing if the first
-	alternative is present (since it must be present due to Ada
-	syntax restrictions).
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as
-	returning by reference not just for subprogram body stubs,
-	but for all subprogram cases.
-	* sem_util.adb: Code reformatting.
-	(Requires_Transient_Scope): Update the call to Results_Differ.
-	(Results_Differ): Update the parameter profile and the associated
-	comment on usage.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension): Analyze object declaration and
-	identifier nodes that do not come from source, to handle properly
-	dimensionality check within an inlined body which inclddes both
-	original operands and rewritten operands. This removes spurious
-	dimensionality errors in the presence of front-end inlining,
-	as well as in SPARK mode.
-
-2017-01-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR driver/49726
-	* gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag.
-
-2017-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc-interface/Makefile.in (SPARC/Solaris): Fix typo.
-
-2017-01-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/getting_started_with_gnat.rst,
-	doc/gnat_ugn/inline_assembler.rst,
-	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
-	doc/gnat_ugn/about_this_guide.rst,
-	doc/gnat_ugn/platform_specific_information.rst,
-	doc/gnat_ugn/example_of_binder_output.rst,
-	doc/gnat_ugn/gnat_and_program_execution.rst,
-	doc/gnat_ugn/gnat_utility_programs.rst,
-	doc/gnat_ugn/the_gnat_compilation_model.rst,
-	doc/gnat_rm/implementation_defined_attributes.rst,
-	doc/gnat_rm/compatibility_and_porting_guide.rst,
-	doc/gnat_rm/standard_library_routines.rst,
-	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-	doc/gnat_rm/implementation_defined_pragmas.rst,
-	doc/gnat_rm/the_gnat_library.rst,
-	doc/gnat_rm/obsolescent_features.rst,
-	doc/gnat_rm/about_this_guide.rst,
-	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
-	doc/gnat_rm/implementation_of_ada_2012_features.rst,
-	doc/gnat_rm/interfacing_to_other_languages.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst,
-	doc/gnat_rm.rst: Update documentation.
-	* gnat_rm.texi, gnat_ugn.texi: Regenerated.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads: minor grammar fixes in comment of Normalized_Position_Max.
-	* scil_ll.adb: Minor style fix in comment.
-	* sem_ch8.adb (Analyze_Expanded_Name): Perform dimension analysis
-	even if entity is already set, because the node may be renalyzed
-	after inlining transformations.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Do not establish a transient scope
-	for a call to inlinable expression function (since the call will
-	be replaced by its returned object).
-	* exp_ch6.ads (Is_Inlinable_Expression_Function): New subprogram.
-	* exp_ch6.adb (Expression_Of_Expression_Function): New subprogram.
-	(Expand_Call): For inlinable expression function call replace the
-	call by its returned object.
-	(Is_Inlinable_Expression_Function): New subprogram.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* checks.adb: Minor typo fix and reformatting.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* contracts.adb (Contract_Only_Subprograms): Remove formal.
-	(Copy_Original_Specification): Removed.
-	(Skip_Contract_Only_Subprogram): Move here checks previously
-	located in the caller of this routine (to leave the code more clean).
-	(Build_Contract_Only_Subprogram): Code cleanup.
-	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed.
-	(Get_Contract_Only_Missing_Body_Name): Removed.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Cloned_Expression): New subprogram.
-	(Freeze_Expr_Types): Complete previous patch since the expression
-	of an expression-function may have iterators and loops with
-	defining identifiers which, as part of the preanalysis of the
-	expression, may be left decorated with itypes that will not be
-	available in the tree passed to the backend.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Apply_Type_Conversion_Checks): Optimize a type
-	conversion to Integer of an expression that is an attribute
-	reference 'Pos on an enumeration type.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* atree.ads: Minor comment fix.
-
-2017-01-13  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function
-	calls in accessibility check on return statement.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-	Ensure that the input body is a subprogram body before trying to
-	determine whether it denoted an expression function.  Note that
-	subprogram body stubs cannot denote expression functions.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting
-	and typo fixes.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads (Component_Bit_Offset): Fix documentation.
-	* sem_ch13.adb (Check_Record_Representation_Clause): Skip check
-	on record holes for components with unknown compile-time offsets.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* ali.ads, ali.adb (Static_Elaboration_Model_Used): Remove unused flag.
-	* g-locfil.ads: Minor comment fix.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Elab_New): New elaboration order algorithm
-	that is expected to cause fewer ABE issues. This is a work in
-	progress. The new algorithm is currently disabled, and can be
-	enable by the -dp switch, or by modifying the Do_Old and Do_New
-	etc. flags and rebuilding. Experimental code is included to
-	compare the results of the old and new algorithms.
-	* binde.ads: Use GNAT.Dynamic_Tables instead of Table, so we
-	can have multiple of these tables, so the old and new algorithms
-	can coexist.
-	* bindgen.ads (Gen_Output_File): Pass Elab_Order as an 'in'
-	parameter of type array. This avoids the global variable, and
-	allows bounds checking (which is normally defeated by the tables
-	packages). It also ensures that the Elab_Order is read-only
-	to Bindgen.
-	* bindgen.adb: Pass Elab_Order as an 'in' parameter to all
-	subprograms that need it, as above.
-	* debug.adb: Document new -dp switch. Modify doc of old -do
-	switch.
-	* gnatbind.adb (Gnatbind): Make use of new interfaces to Binde
-	and Bindgen.  Move writing of closure (-R and -Ra switches)
-	to Binde; that's more convenient.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): If the expression
-	function is a completion, all entities referenced in the
-	expression are frozen. As a consequence, a reference to an
-	uncompleted private type from an enclosing scope is illegal.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): New subprogram.
-	(Analyze_Subprogram_Body_Helper): At the occurrence of an
-	expression function declaration that is a completion, its
-	expression causes freezing (AI12-0103).
-
-2017-01-13  Vadim Godunko  <godunko@adacore.com>
-
-	* a-coinho-shared.adb: Fix memory leaks in Constant_Reference and
-	Reference functions of Ada.Containers.Indefinite_Holders.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* s-os_lib.ads: Minor comment fixes.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Default_Initialize_Object): Do not default
-	initialize an object when it is of a task type and restriction
-	No_Tasking is in effect because the initialization is obsolete.
-	* exp_ch9.adb (Build_Master_Entity): Do not generate a master when
-	restriction No_Tasking is in effect.
-	(Build_Master_Renaming): Do not rename a master when restriction
-	No_Tasking is in effect.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Array_Aggregate): The code that verifies
-	the legality of An others clause applies as well to a choice in
-	an Iterated_component_ association.
-	(Resolve_Iterated_Component_Association): An others choice
-	is legal.
-	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): An
-	Iterated_Component_Association is not static.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Mark the Ghost mode as set in case
-	control is passed to the expresion handler before the new mode
-	is set.
-	* sem_ch12.adb (Analyze_Package_Instantiation,
-	Analyze_Subprogram_Instantiation): Mark the Ghost mode as set
-	in case control is passed to the expresion handler before the
-	new mode is set.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, sem_ch3.adb, inline.adb, sem_util.adb, exp_ch4.adb,
-	exp_aggr.adb: Minor reformatting.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* inline.adb: Minor reformatting and typo fix.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Choice_List): Move function here
-	from sem_aggr.adb, for use elsewhere.
-	* sem_ch3.adb (Analyze_Object_Declaration): Use Choice_List.
-	* sem_aggr.adb (Resolve_Array_Aggregate): Remove
-	Iterated_Component_Present.
-	* exp_aggr.adb: Use Choice_List throughout, to handle
-	Iterated_Component_Associations.
-	(Gen_Loop): Generate proper loop for an
-	Iterated_Component_Association: loop variable has the identifier
-	of the original association. Generate a loop even for a single
-	component choice, in order to make loop parameter visible in
-	expression.
-	(Flatten): An Iterated_Component_Association is not static.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Expon): Ensure that the value of
-	float exponentiation for statically known small negative values
-	is the reciprocal of the exponentiation for the opposite value
-	of the exponent.
-	* s-exnllf.adb (Exn_Float, Exn_Long_Float, Exn_Long_Long_Float):
-	Ensure that the value of float exponentiation for negative values
-	is the reciprocal of the exponentiation for the opposite value
-	of the exponent.
-	* inline.adb (Expand_Inlined_Call): Fix the count
-	for the number of generated gotos.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb: Code cleanup.
-	* sem_util.adb (Is_OK_Volatile_Context): Add
-	expression in delay statement as OK for volatile context.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation
-	mode a choice that is a subtype with a static predicate is
-	replaced by the values it covers. This transformation must not
-	be performed in ASIS mode, to preserve the source for analysis.
-
-2017-01-13  Justin Squirek  <squirek@adacore.com>
-
-	* nlists.ads: Correct minor typo.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch13.adb: Minor reformatting and typo fix.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): An
-	Iterated_Component_Association is a named association in an
-	array aggregate.
-	* sem_aggr.adb (Resolve_Iterated_Component_Association): New
-	procedure, subsidiary of Resolve_Array_Aggregate, to analyze
-	and resolve the discrete choices and the expression of the
-	new construct.
-	* sinfo.adb, sinfo.ads: In analogy with N_Component_Association,
-	Loop_Actions and Box_Present are attributes of
-	N_Iterated_Component_Association nodes. Box_Present is always
-	False in this case.
-	* sprint.adb (Sprint_Node): An Iterated_Component_Association
-	has a Discrete_Choices list, as specified in the RM. A
-	Component_Association for aggregate uses instead a Choices list.
-	We have to live with this small inconsistency because the new
-	construct also has a defining identifier, and there is no way
-	to merge the two node structures.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the
-	list of pragmas to remove.  Remove pragmas from the list of
-	statements in the body to inline.
-	* namet.adb, namet.ads (Nam_In): New version with 12 parameters.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of
-	Analyze_Declarations, to analyze and resolve the expressions of
-	aspect specifications in the current declarative list, so that
-	the expressions have proper entity and type info.  This is needed
-	for ASIS when there is no subsequent expansion to generate this
-	semantic information.
-	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of
-	original expression, to suppress cascaded errors when expression
-	has been constant-folded.
-	(Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in
-	ASIS mode, because there is no subsequent expansion to decorate
-	the tree.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode):
-	New function to detect when a call may be inlined or not in
-	GNATprove mode.
-	(Expand_Inlined_Call): Ensure that a temporary
-	is always created in the cases where a type conversion may be
-	needed on an input parameter in GNATprove mode, so that GNATprove
-	sees the check to perform.
-	* sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining
-	when not applicable due to actual requiring type conversion
-	with possible check but no temporary value can be copied for
-	GNATprove to see the check.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb,
-	exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb,
-	layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb,
-	exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb,
-	exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb,
-	g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb,
-	sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb,
-	prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb,
-	a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb,
-	get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb,
-	g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb,
-	sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb,
-	s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb,
-	contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb,
-	g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb,
-	g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb,
-	a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb,
-	ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb,
-	get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb,
-	prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb,
-	exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb,
-	s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb,
-	a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb,
-	a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb,
-	g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb,
-	par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb,
-	uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb,
-	a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case
-	statements to reflect the new style for case alternatives. Various
-	code clean up and reformatting.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb: Minor reformatting.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb: Code cleanup.
-	* sem_ch9.adb (Analyze_Delay_Until): Resolve
-	expression so that calls are identified as such inside delay
-	until.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Insert_Actions): Handle Iterated_Component_Association.
-	* par-ch3.adb (P_Discrete_Choice_List): An
-	Iterated_Component_Association is an array aggregate component.
-	* par-ch4.adb (P_Iterated_Component_Association): New procedure.
-	(Is_Quantified_Expression): New function that performs a lookahead
-	to distinguish quantified expressions from iterated component
-	associations.
-	(P_Aggregate_Or_Paren_Expr): Recognize iterated component
-	associations.
-	(P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto.
-	* sem.adb (Analyze): Handle Iterated_Component_Association.
-	* sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated
-	component associations.
-	* sinfo.ads, sinfo.adb: Entries for for
-	N_Iterated_Component_Association and its fields.
-	* sprint.adb (Sprint_Node_Actual): Handle
-	N_Iterated_Component_Association.
-
-2017-01-13  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling
-	of the style check until after preanalysis of acutals.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch13.adb: Minor reformatting.
-	* par-ch11.adb: minor style fix in whitespace
-	* gnatbind.adb (Gnatbind): Scope of Std_Lib_File
-	reduced to Add_Artificial_ALI_File; style fix in declaration of
-	Text; grammar fix in comment.
-	* osint-c.adb (Read_Library_Info): strip trailing NUL from result.
-	* freeze.adb: Cleanup to pass pragma instead of
-	expression to call.
-	* exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to
-	replace System'To_Address by equivalent call.
-
-2017-01-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* bindusg.adb: Improve usage output for -f switch.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* frontend.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_ch8.adb:
-	Minor reformatting.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Is_Predicate_Static): Following the intent of the RM,
-	treat comparisons on strings as legal in a Static_Predicate.
-	(Is_Predicate_Static, Is_Type_Ref): Predicate also returns true on
-	a function call that is the expansion of a string comparison.The
-	function call is built when compiling the corresponding predicate
-	function, but the expression has been found legal as a static
-	predicate during earlier analysis.
-	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Handle
-	properly a function call that is the expansion of a string
-	comparison operation, in order to recover the Static_Predicate
-	expression and apply it to a static argument when needed.
-
-2017-01-13  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmap.adb, s-mmap.ads (Open_Read_No_Exception): New function.
-	(Open_Read): Re-implement using Open_Read_No_Exception.
-	(Open_Write): Raise exception in case of error.
-	* s-mmosin-mingw.adb (Open_Common): Do not raise exception.
-	* s-mmosin-unix.adb (Open_Read, Open_Write): Do not
-	reaise exception.
-	* s-mmosin-mingw.ads, s-mmosin-unix.ads (Open_Read): Adjust comment.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb: Code cleanup.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* freeze.adb (Check_Inherited_Conditions): Use analyzed pragma
-	expression instead of unanalyzed aspect expression for checking
-	the validity of inheriting an operation. Also copy the expression
-	being passing it to Build_Class_Wide_Expression, as this call
-	modifies its argument.
-	* sem_util.ads Fix comment to reference correct function name
-	New_Copy_Tree.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Generalized_Indexing): Compiling in ASIS mode,
-	when we propagate information about the indexes back to the original
-	indexing mode and the prefix of the index is a function call, do not
-	remove any parameter from such call.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch6.ads (Needs_BIP_Finalization_Master): Update comment.
-	* exp_ch6.adb (Needs_BIP_Finalization_Master): Return True for
-	a build-in-place function whose result type is tagged.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
-	Do not generate a wrapper when the only candidate is a class-wide
-	subprogram.
-	(Analyze_Subprogram_Renaming): Do not freeze the renaming or renamed
-	inside a generic context.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Add_Inherited_Tagged_DIC):
-	Pass the object parameters of both the parent and the derived
-	type DIC procedure to the reference replacement circuitry.
-	(Find_DIC_Type): Modify the circuitry to present the partial
-	view of a private type in case the private type defines its own
-	DIC pragma.
-	(Replace_Object_And_Primitive_References): Add two
-	optional formal parameters.  Update the comment on usage. Update
-	the replacement of references to object parameters.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* einfo.adb, sem_ch6.adb, atree.adb: Minor reformatting and typo fix.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Actuals): Apply Scalar_Range_Check to
-	an out parameter that is a type conversion, independently of th
-	range check that may apply to the expression of the conversion,
-	for use in GNATProve.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Move the implicit with for System in
-	GNATprove_Mode here to Frontend.
-	* frontend.adb (Frontend): Move the implicit with for System
-	in GNATprove_Mode here as it ismore correct this way; the old
-	place only worked by chance, since there were no overloaded names.
-	* rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Tasking_State.
-	* sem_attr.adb (Analyze_Attribute): In GNATprove_Mode, for the
-	four attributes identified in SRM 9(18), add an implicit with
-	to Ada.Task_Identification.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
-	Deal specially with the wrapper introduced for AI05-0071 in GNATprove
-	mode.
-	* checks.adb (Apply_Discriminant_Check,
-	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks):
-	In GNATprove mode, we do not apply the checks, but we still
-	analyze the expression to possibly issue errors on SPARK
-	code when a run-time error can be detected at compile time.
-	(Selected_Length_Checks, Selected_Range_Checks): Perform analysis
-	in GNATprove mode.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* expander.adb (Expand): Add a warning about using return
-	statements in Ghost management code.
-	* exp_ch3.adb (Freeze_Type): Add a warning about using return
-	statements in Ghost management code.
-	* exp_ch7.adb (Build_Invariant_Procedure_Body,
-	Build_Invariant_Procedure_Declaration): Add a warning about
-	using return statements in Ghost management code.
-	* exp_disp.adb (Make_DT): Add a warning about using return
-	statements in Ghost management code.
-	* exp_util.adb (Build_DIC_Procedure_Body,
-	Build_DIC_Procedure_Declaration, Make_Predicated_Call): Add a
-	warning about using return statements in Ghost management code.
-	* freeze.adb (Freeze_Entity): Add a warning about using return
-	statements in Ghost management code.
-	* sem.adb (Analyze, Do_Analyze): Add a warning about using return
-	statements in Ghost management code.
-	* sem_ch3.adb (Analyze_Object_Declaration, Process_Full_View): Add
-	a warning about using return statements in Ghost management code.
-	* sem_ch5.adb (Analyze_Assignment): Add a warning about using
-	return statements in Ghost management code.
-	* sem_ch6.adb (Analyze_Procedure_Call,
-	Analyze_Subprogram_Body_Helper): Add a warning about using return
-	statements in Ghost management code.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Add a warning about
-	using return statements in Ghost management code.
-	* sem_ch12.adb (Analyze_Package_Instantiation,
-	Analyze_Subprogram_Instantiation, Instantiate_Package_Body,
-	Instantiate_Subprogram_Body): Add a warning about using return
-	statements in Ghost management code.
-	* sem_ch13.adb (Build_Predicate_Functions,
-	Build_Predicate_Function_Declarations): Add a warning about
-	using return statements in Ghost management code.
-	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part,
-	Analyze_Initial_Condition_In_Decl_Part, Analyze_Pragma,
-	Analyze_Pre_Post_Condition_In_Decl_Part):  Add a warning about
-	using return statements in Ghost management code.
-
-2017-01-13  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmosin-mingw.adb: Fix pragma import.
-
-2017-01-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Ignore -gnateE in
-	codepeer mode.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* atree.adb (Allocate_Initialize_Node): A newly created node is
-	no longer marked as Ghost at this level.
-	(Mark_New_Ghost_Node): New routine.
-	(New_Copy): Mark the copy as Ghost.
-	(New_Entity): Mark the entity as Ghost.
-	(New_Node): Mark the node as Ghost.
-	* einfo.adb (Is_Checked_Ghost_Entity): This attribute can now
-	apply to unanalyzed entities.
-	(Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed
-	entities.
-	(Set_Is_Checked_Ghost_Entity): This attribute now
-	applies to all entities as well as unanalyzed entities.
-	(Set_Is_Ignored_Ghost_Entity): This attribute now applies to
-	all entities as well as unanalyzed entities.
-	* expander.adb Add with and use clauses for Ghost.
-	(Expand): Install and revert the Ghost region associated with the node
-	being expanded.
-	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code.
-	(Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code.
-	(Expand_Freeze_Enumeration_Type): Remove all Ghost-related code.
-	(Expand_Freeze_Record_Type): Remove all Ghost-related code.
-	(Freeze_Type): Install and revert the Ghost region associated
-	with the type being frozen.
-	* exp_ch5.adb Remove with and use clauses for Ghost.
-	(Expand_N_Assignment_Statement): Remove all Ghost-related code.
-	* exp_ch6.adb Remove with and use clauses for Ghost.
-	(Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code.
-	(Expand_N_Subprogram_Body): Remove all Ghost-related code.
-	* exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the
-	Ghost region of the working type.
-	(Build_Invariant_Procedure_Declaration): Install and revert
-	the Ghost region of the working type.
-	(Expand_N_Package_Body): Remove all Ghost-related code.
-	* exp_ch8.adb Remove with and use clauses for Ghost.
-	(Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related
-	code.
-	(Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code.
-	(Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code.
-	(Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related
-	code.
-	* exp_ch13.adb Remove with and use clauses for Ghost.
-	(Expand_N_Freeze_Entity): Remove all Ghost-related code.
-	* exp_disp.adb (Make_DT): Install and revert the Ghost region of
-	the tagged type. Move the generation of various entities within
-	the Ghost region of the type.
-	* exp_prag.adb Remove with and use clauses for Ghost.
-	(Expand_Pragma_Check): Remove all Ghost-related code.
-	(Expand_Pragma_Contract_Cases): Remove all Ghost-related code.
-	(Expand_Pragma_Initial_Condition): Remove all Ghost-related code.
-	(Expand_Pragma_Loop_Variant): Remove all Ghost-related code.
-	* exp_util.adb (Build_DIC_Procedure_Body): Install
-	and revert the Ghost region of the working types.
-	(Build_DIC_Procedure_Declaration): Install and revert the
-	Ghost region of the working type.
-	(Make_Invariant_Call): Install and revert the Ghost region of the
-	associated type.
-	(Make_Predicate_Call): Reimplemented. Install and revert the
-	Ghost region of the associated type.
-	* freeze.adb (Freeze_Entity): Install and revert the Ghost region
-	of the entity being frozen.
-	(New_Freeze_Node): Removed.
-	* ghost.adb Remove with and use clauses for Opt.
-	(Check_Ghost_Completion): Update the parameter profile
-	and all references to formal parameters.
-	(Ghost_Entity): Update the comment on usage.
-	(Install_Ghost_Mode): New routines.
-	(Is_Ghost_Assignment): New routine.
-	(Is_Ghost_Declaration): New routine.
-	(Is_Ghost_Pragma): New routine.
-	(Is_Ghost_Procedure_Call): New routine.
-	(Is_Ghost_Renaming): Removed.
-	(Is_OK_Declaration): Reimplemented.
-	(Is_OK_Pragma): Reimplemented.
-	(Is_OK_Statement): Reimplemented.
-	(Is_Subject_To_Ghost): Update the comment on usage.
-	(Mark_And_Set_Ghost_Assignment): New routine.
-	(Mark_And_Set_Ghost_Body): New routine.
-	(Mark_And_Set_Ghost_Completion): New routine.
-	(Mark_And_Set_Ghost_Declaration): New routine.
-	(Mark_And_Set_Ghost_Instantiation): New routine.
-	(Mark_And_Set_Ghost_Procedure_Call): New routine.
-	(Mark_Full_View_As_Ghost): Removed.
-	(Mark_Ghost_Declaration_Or_Body): New routine.
-	(Mark_Ghost_Pragma): New routine.
-	(Mark_Ghost_Renaming): New routine.
-	(Mark_Pragma_As_Ghost): Removed.
-	(Mark_Renaming_As_Ghost): Removed.
-	(Propagate_Ignored_Ghost_Code): Update the comment on usage.
-	(Prune_Node): Freeze nodes no longer need special pruning, they
-	are processed by the general ignored Ghost code mechanism.
-	(Restore_Ghost_Mode): New routine.
-	(Set_Ghost_Mode): Reimplemented.
-	(Set_Ghost_Mode_From_Entity): Removed.
-	* ghost.ads Add with and use clauses for Ghost.
-	(Check_Ghost_Completion): Update the parameter profile
-	along with the comment on usage.
-	(Install_Ghost_Mode): New routine.
-	(Is_Ghost_Assignment): New routine.
-	(Is_Ghost_Declaration): New routine.
-	(Is_Ghost_Pragma): New routine.
-	(Is_Ghost_Procedure_Call): New routine.
-	(Mark_And_Set_Ghost_Assignment): New routine.
-	(Mark_And_Set_Ghost_Body): New routine.
-	(Mark_And_Set_Ghost_Completion): New routine.
-	(Mark_And_Set_Ghost_Declaration): New routine.
-	(Mark_And_Set_Ghost_Instantiation): New routine.
-	(Mark_And_Set_Ghost_Procedure_Call): New routine.
-	(Mark_Full_View_As_Ghost): Removed.
-	(Mark_Ghost_Pragma): New routine.
-	(Mark_Ghost_Renaming): New routine.
-	(Mark_Pragma_As_Ghost): Removed.
-	(Mark_Renaming_As_Ghost): Removed.
-	(Restore_Ghost_Mode): New routine.
-	(Set_Ghost_Mode): Redefined.
-	(Set_Ghost_Mode_From_Entity): Removed.
-	* sem.adb (Analyze): Install and revert the Ghost region of the
-	node being analyzed.
-	(Do_Analyze): Change the way a clean Ghost
-	region is installed and reverted.
-	* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove
-	all Ghost-related code.
-	(Analyze_Incomplete_Type_Decl): Remove all Ghost-related code.
-	(Analyze_Number_Declaration): Remove all Ghost-related code.
-	(Analyze_Object_Declaration): Install and revert the Ghost region of
-	a deferred object declaration's completion.
-	(Array_Type_Declaration): Remove all Ghost-related code.
-	(Build_Derived_Type): Update the comment on
-	the propagation of Ghost attributes from a parent to a derived type.
-	(Derive_Subprogram): Remove all Ghost-related code.
-	(Make_Class_Wide_Type): Remove all Ghost-related code.
-	(Make_Implicit_Base): Remove all Ghost-related code.
-	(Process_Full_View): Install and revert the Ghost region of
-	the partial view.  There is no longer need to check the Ghost
-	completion here.
-	* sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost
-	region of the left hand side.
-	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
-	all Ghost-related code.
-	(Analyze_Expression_Function): Remove all Ghost-related code.
-	(Analyze_Generic_Subprogram_Body): Remove all Ghost-related code.
-	(Analyze_Procedure_Call): Install and revert the Ghost region of
-	the procedure being called.
-	(Analyze_Subprogram_Body_Helper): Install and revert the Ghost
-	region of the spec or body.
-	(Analyze_Subprogram_Declaration): Remove all Ghost-related code.
-	(Build_Subprogram_Declaration): Remove all Ghost-related code.
-	(Find_Corresponding_Spec): Remove all Ghost-related code.
-	(Process_Formals): Remove all Ghost-related code.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert
-	the Ghost region of the spec.
-	(Analyze_Package_Declaration): Remove all Ghost-related code.
-	* sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as
-	Ghost when it aliases a Ghost entity.
-	(Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases
-	a Ghost entity.
-	(Analyze_Object_Renaming): Mark a renaming as Ghost when
-	it aliases a Ghost entity.
-	(Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases
-	a Ghost entity.
-	(Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it
-	aliases a Ghost entity.
-	* sem_ch11.adb Remove with and use clauses for Ghost.
-	(Analyze_Exception_Declaration): Remove all Ghost-related code.
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all
-	Ghost-related code.
-	(Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related
-	code.
-	(Analyze_Package_Instantiation): Install and revert the Ghost region
-	of the package instantiation.
-	(Analyze_Subprogram_Instantiation): Install
-	and revert the Ghost region of the subprogram instantiation.
-	(Instantiate_Package_Body): Code clean up. Install and revert the
-	Ghost region of the package body.
-	(Instantiate_Subprogram_Body): Code clean up. Install and revert the
-	Ghost region of the subprogram body.
-	* sem_ch13.adb (Build_Predicate_Functions): Install
-	and revert the Ghost region of the related type.
-	(Build_Predicate_Function_Declaration): Code clean up. Install
-	and rever the Ghost region of the related type.
-	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-	Install and revert the Ghost region of the pragma.
-	(Analyze_Initial_Condition_In_Decl_Part): Install and revert the
-	Ghost region of the pragma.
-	(Analyze_Pragma): Install and revert the Ghost region of various
-	pragmas.  Mark a pragma as Ghost when it is related to a Ghost entity
-	or encloses a Ghost entity.
-	(Analyze_Pre_Post_Condition): Install and revert the Ghost
-	region of the pragma.
-	(Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the
-	Ghost region of the pragma.
-	* sem_res.adb (Resolve): Remove all Ghost-related code.
-	* sem_util.adb (Is_Declaration): Reimplemented.
-	(Is_Declaration_Other_Than_Renaming): New routine.
-	* sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine.
-	* sinfo.adb (Is_Checked_Ghost_Pragma): New routine.
-	(Is_Ghost_Pragma): Removed.
-	(Is_Ignored_Ghost_Pragma): New routine.
-	(Set_Is_Checked_Ghost_Pragma): New routine.
-	(Set_Is_Ghost_Pragma): Removed.
-	(Set_Is_Ignored_Ghost_Pragma): New routine.
-	* sinfo.ads: Update the documentation on Ghost mode and
-	Ghost regions.	New attributes Is_Checked_Ghost_Pragma
-	and Is_Ignored_Ghost_Pragma along with usages in nodes.
-	Remove attribute Is_Ghost_Pragma along with usages in nodes.
-	(Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
-	(Is_Ghost_Pragma): Removed along with pragma Inline.
-	(Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
-	(Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
-	(Set_Is_Ghost_Pragma): Removed along with pragma Inline.
-	(Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
-
-2017-01-12  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb,
-	s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files.
-
-2017-01-12  Yannick Moy  <moy@adacore.com>
-
-	* errout.adb, errout.ads (Initialize): Factor common treatment
-	in Reset_Warnings.
-	(Reset_Warnings): New procedure to reset counts related to warnings.
-	(Record_Compilation_Errors): New variable to store the presence of an
-	error, used in gnat2why to allow changing the Warning_Mode.
-	(Compilation_Errors): Use new variable Record_Compilation_Errors to
-	store the presence of an error.
-
-2017-01-12  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications):
-	For Interrupt_Handler and Attach_ Handler aspects, decorate the
-	internally built reference to the protected procedure as coming
-	from sources and force its analysis.
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Type): For a scalar derived type,
-	inherit predicates if any from the first_subtype of the parent,
-	not from the anonymous parent type.
-	* sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic
-	predicate is not a static subtype.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* freeze.adb (Check_Suspicious_Convention): New procedure
-	performing a warning check on discriminated record types with
-	convention C or C++. Factored out of procedure Freeze_Record_Type,
-	and changed to only apply to base types (to avoid spurious
-	warnings on subtypes). Minor improvement of warning messages
-	to refer to discriminated rather than variant record types.
-	(Freeze_Record_Type): Remove code for performing a suspicious
-	convention check.
-	(Freeze_Entity): Only call Freeze_Record_Type
-	on types that aren't declared within any enclosing generic units
-	(rather than just excluding the type when the innermost scope
-	is generic). Call Check_Suspicious_Convention whether or not
-	the type is declared within a generic unit.
-	* sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util.
-	* sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved
-	from Sem_Ch8).
-
-2017-01-12  Tristan Gingold  <gingold@adacore.com>
-
-	* sysdep.c, adaint.c, rtinit.c, ming32.h:
-	(__gnat_current_codepage): Renamed from CurrentCodePage
-	(__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Fully_Conformant_Expressions): Handle properly
-	quantified expressions, following AI12-050: the loop parameters
-	of two quantified expressions are conformant if they have the
-	same identifier.
-
-2017-01-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* gcc-interface/Makefile.in: Clean up VxWorks targets.
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry):
-	Hnadle properly the attribute reference when it appears as part
-	of an expression in another loop aspect.
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Check_Predicated_Discriminant): New procedure,
-	subsidiary of Build_Initialization_Call, to complete generation
-	of predicate checks on discriminants whose (sub)types have
-	predicates, and to add checks on variants that do not have an
-	others clause.
-	* sem_util.adb (Gather_Components): A missing Others alternative is
-	not an error when the type of the discriminant is a static predicate
-	(and coverage has been checked when analyzing the case statement). A
-	runtime check is generated to verify that a given discriminant
-	satisfies the predicate (RM 3.8.1. (21.1/2)).
-
-2017-01-12  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Only
-	perform checking of exception mechanism when generating code.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch7.adb (Add_Type_Invariants, Process_Array_Component):
-	Remove handling of access component with invariant.
-	(Build_Invariant_Procedure_Declaration): Remove return on class
-	wide type.
-	* freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove
-	conditional exception for component or array so Has_Own_Invariants
-	flag is not falsly set.
-	* sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class
-	wide type to have no invariant flags.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb,
-	sem_ch13.adb: Minor reformatting.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing
-	adjustment primitive when the ancestor type was not properly frozen.
-	(Gen_Assign): Guard against a missing initialization
-	primitive when the component type was not properly frozen.
-	(Initialize_Array_Component): Guard against a missing adjustment
-	primitive when the component type was not properly frozen.
-	(Initialize_Record_Component): Guard against a missing adjustment
-	primitive when the component type was not properly frozen.
-	(Process_Transient_Component_Completion): The transient object may
-	not be finalized when its associated type was not properly frozen.
-	* exp_ch3.adb (Build_Assignment): Guard against a missing
-	adjustment primitive when the component type was not properly frozen.
-	(Build_Initialization_Call): Guard against a missing
-	initialization primitive when the associated type was not properly
-	frozen.
-	(Expand_N_Object_Declaration): Guard against a missing
-	adjustment primitive when the base type was not properly frozen.
-	(Predefined_Primitive_Bodies): Create an empty Deep_Adjust
-	body when there is no adjustment primitive available. Create an
-	empty Deep_Finalize body when there is no finalization primitive
-	available.
-	* exp_ch4.adb (Apply_Accessibility_Check): Guard against a
-	missing finalization primitive when the designated type was
-	not properly frozen.
-	(Expand_N_Allocator): Guard against a missing initialization primitive
-	when the designated type was not properly frozen.
-	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call
-	only when the corresponding adjustment primitive is available.
-	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the
-	adjustment/finalization statements only when there is an available
-	primitive to carry out the action.
-	(Build_Initialize_Statements): Generate the initialization/finalization
-	statements only when there is an available primitive to carry out the
-	action.
-	(Make_Adjust_Call): Do not generate a call when the underlying
-	type is not present due to a possible missing full view.
-	(Make_Final_Call): Do not generate a call when the underlying
-	type is not present due to a possible missing full view.
-	(Make_Finalize_Address_Stmts): Generate an empty body when the
-	designated type lacks a finalization primitive.
-	(Make_Init_Call): Do not generate a call when the underlying type is
-	not present due to a possible missing full view.
-	(Process_Component_For_Adjust): Add the adjustment call only when the
-	corresponding adjustment primitive is available.
-	(Process_Component_For_Finalize): Add the finalization call only when
-	the corresponding finalization primitive is available.
-	(Process_Object_Declaration): Use a null statement to emulate a
-	missing call to the finalization primitive of the object type.
-	* exp_ch7.ads (Make_Adjust_Call): Update the comment on usage.
-	(Make_Final_Call): Update the comment on usage.
-	(Make_Init_Call): Update the comment on usage.
-	* exp_util.adb (Build_Transient_Object_Statements): Code reformatting.
-
-2017-01-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* einfo.ads: Update documentation of Address_Taken.
-	* sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute
-	[Access_Attribute]): Only consider 'Access/'Unchecked_Access
-	for subprograms when setting Address_Taken flag.
-
-2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
-
-	* sem_ch10.adb (Analyze_With_Clause): Removed code that turned
-	Configurable_Run_Time_Mode off when analysing with'ed predefined
-	libraries.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb: Minor reformatting.
-	* sem_util.adb (Unique_Entity): fix result for
-	bodies of entry families.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Add appropriate calls to
-	Resolve_Suppressible in the pragma Assertion_Policy case.
-	(Resolve_Suppressible): Created this function to factor out
-	common code used to resolve Suppress to either Ignore or Check
-	* snames.ads-tmpl: Add name for Suppressible.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor
-	reformatting.
-	* debug.adb: Minor comment fixes.
-
-2017-01-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Unique_Entity): For concurrent
-	bodies that are defined with stubs and complete a declaration
-	of a single concurrent object return the entity of an implicit
-	concurrent type, not the entity of the anonymous concurrent
-	object.
-	* debug.adb: -gnatd.J is no longer used.
-	* make.adb (Globalize): Removed, no longer used.
-	* sem_ch9.adb: minor typo in comment for entry index
-
-2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
-
-	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
-	* exp_ch3.adb (Build_Init_Statements): As part of initialising
-	the value record of a task, set its _Secondary_Stack_Size field
-	if present.
-	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
-	a _Secondary_Stack_Size field in the value record of
-	the task if a Secondary_Stack_Size rep item is present.
-	(Make_Task_Create_Call): Include secondary stack size
-	parameter. If No_Secondary_Stack restriction is in place, passes
-	stack size of 0.
-	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
-	Secondary_Stack_Size.
-	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
-	function to define the overhead of the secondary stack.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Functions now include
-	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now
-	include Secondary_Stack_Size parameter.
-	(Task_Wrapper): Secondary stack now allocated to the size specified by
-	the Secondary_Stack_Size parameter in the task's ATCB.
-	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New
-	Secondary_Stack_Size component.
-	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Function now include
-	Secondary_Stack_Size parameter.
-	(Task_Wrapper): Secondary stack now allocated to the size
-	specified by the Secondary_Stack_Size parameter in the task's
-	ATCB.
-	* s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call
-	to include Secondary_Stack_Size parameter.
-	* sem_ch13.adb (Analyze_Aspect_Specification): Add support for
-	Secondary_Stack_Size aspect, turning the aspect into its corresponding
-	internal attribute.
-	(Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute.
-	* snames.adb-tmpl, snames.ads-tmpl: Added names
-	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
-	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
-
-2017-01-12  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied
-	subtree.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference):
-	Fix Finalization_Size case by properly resolving the type after
-	rewritting the node.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into
-	the tree.
-	(Build_DIC_Procedure_Declaration): Semi-insert the body into the tree.
-	* binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb,
-	exp_sel.ads: Minor reformatting.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Add guard to prevent
-	invariant checks from being created for internally generated
-	subprograms.
-
-2017-01-12  Bob Duff  <duff@adacore.com>
-
-	* lib-writ.ads: Remove incorrect comment.
-
-2017-01-12  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb (-gnatd.K): Enable generation of contract-only
-	procedures in CodePeer mode.
-	* contracts.adb (Build_And_Analyze_Contract_Only_Subprograms):
-	New subprogram.
-	(Analyze_Contracts): Generate contract-only procedures if -gnatdK is
-	set.
-	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New
-	subprogram.
-	(Get_Contract_Only_Missing_Body_Name): New subprogram.
-	(Get_Contract_Only_Body): New subprogram.
-	(Set_Contract_Only_Body): New subprogram.
-	(Is_Contract_Only_Body): New subprogram.
-	(Set_Is_Contract_Only_Body): New subprogram.
-	(SCIL_Nodes): Replace table by hash-table.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb: Minor reformatting.
-	* spark_xrefs.ads: minor cleanup of comments for SPARK xrefs
-
-2017-01-12  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Forced): New reason for a dependence.
-	(Force_Elab_Order): Implementation of the new switch.
-	* binde.ads: Minor comment fixes.
-	* bindusg.adb: Add -f switch. Apparently, there was an -f switch
-	long ago that is no longer supported; removed comment about that.
-	* opt.ads (Force_Elab_Order_File): Name of file specified for
-	-f switch.
-	* switch-b.adb: Parse -f switch.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch6.adb (Check_View_Conversion): Created this function
-	to properly chain calls to check type invariants that may be
-	present in a subprogram call after the subprogram.
-	(Expand_Call): Add a conditional to identify when a view conversion
-	needs to be checked.
-	* nlists.adb, nlists.ads (Prepend_New): New routine.
-	(Prepend_New_To): New routine.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads: Minor reformatting.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, exp_util.ads, einfo.ads: Minor typo fixes and
-	reformatting.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Anonymous_Context): Add new
-	variable Definite. Create a local object and pass its 'Access to the
-	BIP function when the result type is either definite or it does not
-	require any finalization or secondary stack management.
-
-2017-01-12  Bob Duff  <duff@adacore.com>
-
-	* contracts.adb, einfo.adb, errout.adb, exp_attr.adb,
-	exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb,
-	frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb,
-	par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb,
-	sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb,
-	sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
-	sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
-	sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name):
-	Change name to Pragma_Name_Unmapped.
-	(Pragma_Name_Mapped): Change name to Pragma_Name.
-	This is because the "mapped" version should be the usual case.
-
-2017-01-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond,
-	Is_Default_Init_Cond_Procedure, and
-	Has_Inherited_Default_Init_Cond.  Add uses of flags
-	Has_Own_DIC, Is_DIC_Procedure, and Has_Inherited_DIC.
-	(Default_Init_Cond_Procedure): Removed.
-	(DIC_Procedure): New routine.
-	(Has_Default_Init_Cond): Removed.
-	(Has_DIC): New routine.
-	(Has_Inheritable_Invariants): The attribute applies to the base type.
-	(Has_Inherited_Default_Init_Cond): Removed.
-	(Has_Inherited_DIC): New routine.
-	(Has_Inherited_Invariants): The attribute applies to the base type.
-	(Has_Own_DIC): New routine.
-	(Has_Own_Invariants): The attribute applies to the base type.
-	(Is_Default_Init_Cond_Procedure): Removed.
-	(Is_DIC_Procedure): New routine.
-	(Set_Default_Init_Cond_Procedure): Removed.
-	(Set_DIC_Procedure): New routine.
-	(Set_Has_Default_Init_Cond): Removed.
-	(Set_Has_Inheritable_Invariants): The attribute applies
-	to the base type.
-	(Set_Has_Inherited_Default_Init_Cond): Removed.
-	(Set_Has_Inherited_DIC): New routine.
-	(Set_Has_Inherited_Invariants): The attribute applies to the base type.
-	(Set_Has_Own_DIC): New routine.
-	(Set_Has_Own_Invariants): The attribute applies to the base type.
-	(Set_Is_Default_Init_Cond_Procedure): Removed.
-	(Set_Is_DIC_Procedure): New routine.
-	(Write_Entity_Flags): Update the output of all flags related to
-	default initial condition.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Update the generation
-	of the call to the DIC procedure.
-	(Freeze_Type): Generate the body of the DIC procedure.
-	* exp_ch7.adb (Build_Invariant_Procedure_Body): Replace
-	all occurrences of Create_Append with Append_New_To. Do
-	not generate an invariant procedure for a class-wide type.
-	The generated body acts as a freeze action of the working type.
-	(Build_Invariant_Procedure_Declaration): Do not generate an
-	invariant procedure for a class-wide type.
-	(Create_Append): Removed.
-	* exp_util.adb: Add with and use clauses for Sem_Ch3, sem_ch6,
-	sem_Ch12, Sem_Disp, and GNAT.HTable. Move the handling of
-	class-wide pre/postcondition description and data structures from
-	Sem_Prag.
-	(Build_Class_Wide_Expression): Moved from Sem_Prag.
-	(Build_DIC_Call): New routine.
-	(Build_DIC_Procedure_Body): New routine.
-	(Build_DIC_Procedure_Declaration): New routine.
-	(Entity_Hash): Moved from Sem_Prag.
-	(Find_DIC_Type): New routine.
-	(Update_Primitives_Mapping): Reimplemented.
-	(Update_Primitives_Mapping_Of_Types): New routine.
-	* exp_util.ads (Build_Class_Wide_Expression): Moved from Sem_Prag.
-	(Build_DIC_Call): New routine.
-	(Build_DIC_Procedure_Body): New routine.
-	(Build_DIC_Procedure_Declaration): New routine.
-	(Update_Primitives_Mapping): Moved from Sem_Prag.
-	(Update_Primitives_Mapping_Of_Types): New routine.
-	* nlists.adb (Append_New): New routine.
-	(Append_New_To): New routine.
-	* nlists.ads (Append_New): New routine.
-	(Append_New_To): New routine.
-	* sem_ch3.adb (Analyze_Declarations): Do not generate the bodies
-	of DIC procedures here. This is now done at the end of the
-	visible declarations, private declarations, and at the freeze
-	point of a type.
-	(Analyze_Private_Extension_Declaration):
-	A private extension inherits the DIC pragma of a parent type.
-	(Analyze_Subtype_Declaration): No need to propagate invariant
-	attributes to a subtype as those apply to the base type.
-	(Build_Derived_Record_Type): No need to inherit invariants here
-	as this is now done in Build_Derived_Type.
-	(Build_Derived_Type): Inherit both the DIC pragma and invariants from
-	a parent type.
-	(Process_Full_View): Update the propagation of DIC attributes.
-	(Propagate_Default_Init_Cond_Attributes): Removed.
-	* sem_ch7.adb Add with and use clauses for Exp_Util.
-	(Analyze_Package_Specification): Create the body of the DIC
-	procedure at the end of the visible and private declarations.
-	(Preserve_Full_Attributes): Propagate DIC attributes.
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Propagate
-	DIC attributes.
-	(Analyze_Task_Type_Declaration): Propagate DIC attributes.
-	* sem_elab.adb (Check_A_Call): Update the call to
-	Is_Nontrivial_Default_Init_Cond_Procedure.
-	* sem_prag.adb Remove the with and use clauses for
-	GNAT.HTable. Move the handling of class- wide pre/postcondition
-	description and data structures to Exp_Util.
-	(Analyze_Pragma): Create the declaration of the DIC procedure. There
-	is no need to propagate invariant-related attributes at this point
-	as this is done in Build_Invariant_Procedure_Declaration.
-	(Build_Class_Wide_Expression): Moved to Exp_Util.
-	(Entity_Hash): Moved to Exp_Util.
-	(Update_Primitives_Mapping): Moved to Exp_Util.
-	* sem_prag.ads (Build_Class_Wide_Expression): Moved to Exp_Util.
-	(Update_Primitives_Mapping): Moved to Exp_Util.
-	* sem_util.adb: Remove with and use clauses for Ghost
-	and Sem_Ch13.
-	(Build_Default_Init_Cond_Call): Removed.
-	(Build_Default_Init_Cond_Procedure_Bodies): Removed.
-	(Build_Default_Init_Cond_Procedure_Declaration): Removed.
-	(Get_Views): Reimplemented.
-	(Has_Full_Default_Initialization): Reimplement the section on DIC.
-	(Inherit_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_DIC_Procedure): New routine.
-	(Is_Verifiable_DIC_Pragma): New routine.
-	(Propagate_DIC_Attributes): New routine.
-	* sem_util.ads (Build_Default_Init_Cond_Call): Removed.
-	(Build_Default_Init_Cond_Procedure_Bodies): Removed.
-	(Build_Default_Init_Cond_Procedure_Declaration): Removed.
-	(Inherit_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_DIC_Procedure): New routine.
-	(Is_Verifiable_DIC_Pragma): New routine.
-	(Propagate_DIC_Attributes): New routine.
-	* sem_warn.adb (Is_OK_Fully_Initialized): Reimplement the section
-	on DIC.
-	* sinfo.ads, sinfo.adb: Add new attribute Expression_Copy along with
-	usage in nodes.
-	(Expression_Copy): New routine along with pragma Inline.
-	(Set_Expression_Copy): New routine along with pragma Inline.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* bindgen.adb (Gen_Adainit, Gen_Adafinal): Change
-	"Bind_Main_Program" to "not Bind_For_Library", because otherwise
-	we won't generate the call to s_stalib_adafinal when the main
-	is not written in Ada.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb: Minor: remove pragma Warnings.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* Makefile.rtl: Do not compile s-stchop by default.
-
-2017-01-06  Patrick Bernardi  <bernardi@adacore.com>
-
-	* aspects.adb, aspects.ads, exp_ch3.adb, exp_ch9.adb, par-prag.adb,
-	sem_ch13.adb, sem_prag.adb, sem_prag.ads, snames.adb-tmpl,
-	snames.ads-tmpl, s-secsta.adb, s-secsta.ads, s-tarest.adb,
-	s-tarest.ads, s-taskin.adb, s-taskin.ads, s-tassta.adb, s-tassta.ads:
-	Reverted previous change for now.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Build_Initialization_Call): Apply predicate
-	check to default discriminant value if checks are enabled.
-	(Build_Assignment): If type of component has static predicate,
-	apply check to its default value, if any.
-
-2017-01-06  Patrick Bernardi  <bernardi@adacore.com>
-
-	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
-	* exp_ch3.adb (Build_Init_Statements): As part of initialising
-	the value record of a task, set its _Secondary_Stack_Size field
-	if present.
-	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
-	a _Secondary_Stack_Size field in the value record of
-	the task if a Secondary_Stack_Size rep item is present.
-	(Make_Task_Create_Call): Include secondary stack size
-	parameter. If No_Secondary_Stack restriction is in place, passes
-	stack size of 0.
-	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
-	Secondary_Stack_Size.
-	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
-	function to define the overhead of the secondary stack.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Functions now include
-	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB
-	now include Secondary_Stack_Size parameter.
-	(Task_Wrapper):
-	Secondary stack now allocated to the size specified by the
-	Secondary_Stack_Size parameter in the task's ATCB.
-	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialise_ATCB): New
-	Secondary_Stack_Size component.
-	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Function now include
-	Secondary_Stack_Size parameter.
-	(Task_Wrapper): Secondary stack
-	now allocated to the size specified by the Secondary_Stack_Size
-	parameter in the task's ATCB.
-	* sem_ch13.adb (Analyze_Aspect_Specification): Add support
-	for Secondary_Stack_Size aspect, turning the aspect into its
-	corresponding internal attribute.
-	(Analyze_Attribute_Definition):
-	Process Secondary_Stack_Size attribute.
-	* snames.adb-tmpl, snames.ads-tmpl: Added names
-	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
-	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
-
-2017-01-06  Pascal Obry  <obry@adacore.com>
-
-	* a-direio.adb, a-direio.ads, a-sequio.adb, a-sequio.ads: Add Flush to
-	Sequential_IO and Direct_IO.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* snames.ads-tmpl (Renamed): New name for the pragma argument.
-	* par-ch2.adb: Allow the new pragma (with analysis deferred
-	to Sem_Prag).
-	* sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped):
-	Keep a mapping from new pragma names to old names.
-	* sem_prag.adb: Check legality of pragma Rename_Pragma, and
-	implement it by calling Map_Pragma_Name.
-	* checks.adb, contracts.adb, einfo.adb, errout.adb,
-	* exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
-	* exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb,
-	* inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb,
-	* sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb,
-	* sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads,
-	* sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name
-	as appropriate.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb: Minor reformatting.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.ads, exp_ch9.adb (Build_Entry_Names): Remove (unused).
-	* rtsfind.ads (RE_Task_Entry_Names_Array, RO_ST_Set_Entry_Names)
-	(RE_Protected_Entry_Names_Array, RO_PE_Set_Entry_Names): Remove
-	(unused).
-	* s-taskin.ads, s-taskin.adb (Set_Entry_Names,
-	Task_Entry_Names_Array, Task_Entry_Names_Access): Remove.
-	* s-tpoben.ads, s-tpoben.adb (Set_Entry_Names,
-	Protected_Entry_Names_Array, Protected_Entry_Names_Access): Remove.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* sinfo.ads, sinfo.adb (Map_Pragma_Name): Preparation work,
-	dummy implementation of Map_Pragma_Name.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Make the
-	entry_body variable constant.
-	* s-taprob.ads (Entry_Body_Access): Move to s-tposen.
-	* s-tpoben.ads (Protected_Entry_Body_Access): Now access
-	to constant.
-	* s-tposen.ads (Entry_Body_Access): Moved from s-taprob,
-	now access to constant.
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* einfo.ads, sem_res.adb, sem_attr.adb, sem_ch6.adb: Minor
-	reformatting and typo fixes.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* snames.ads-tmpl: New names for pragma renaming.
-	* snames.adb-tmpl (Is_Configuration_Pragma_Name): Minor cleanup.
-	* par-prag.adb: Add new pragma name to case statement.
-	* sem_prag.adb (Rename_Pragma): Initial cut at semantic analysis
-	of the pragma.
-	* sinfo.ads, sinfo.adb (Pragma_Name_Mapped): Preparation work,
-	Dummy implementation of Pragma_Name_Mapped.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Add guard to
-	better detect call within an entry_wrapper.
-	* sem_res.adb (Resolve_Call): A protected call within an
-	entity_wrapper is analyzed in the context of the protected
-	object but corresponds to a pre-analysis and is not an access
-	before elaboration.
-	* sem_attr.adb: Minor reformatting.
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute): Modify semantic checks for
-	Finalization_Size to allow a prefix of any non-class-wide type.
-	* sem_attr.ads Modify comment for Finalization_Size to include
-	definite type use case.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads, einfo.adb (Is_Entry_Wrapper): New flag, defined
-	on procedures that are wrappers created for entries that have
-	preconditions.
-	* sem_ch6.adb (Analyze_Subrogram_Body_Helper): If the subprogram
-	body is an entry_wrapper, compile it in the context of the
-	synchronized type, because a precondition may refer to funtions
-	of the type.
-	* exp_ch9.adb (Build_Contract_Wrapper): Set Is_Entry_Wrapper on
-	body entity.
-	* exp_ch6.adb (Expand_Protected_Subprogram_Call): if the call is
-	within an Entry_Wrapper this is an external call whose target
-	is the synchronized object that is the actual in the call to
-	the wrapper.
-
-2017-01-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node
-	in tree, which means not analyzing the previous prefix if the node has
-	been rewritten into its prefix.
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* s-tpobop.adb: Minor reformatting.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Ensure_Valid): Do not generate a validity check
-	within a generated predicate function, validity checks will have
-	been applied earlier when required.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* s-tpoben.ads (Protection_Entries): Add comment and reorder
-	components for performances.
-	* s-tpobop.adb (PO_Do_Or_Queue): Implement Max_Queue_Length runtime
-	semantic.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_eval.adb (Check_Expression_Against_Static_Predicate):
-	If expression is compile-time known and obeys a static predicate
-	it must be labelled as static, to prevent spurious warnings and
-	run-time errors, e.g. in case statements. This is relevant when
-	the expression is the result of constant-folding a type conversion
-	whose expression is a variable with a known static value.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb, sem_attr.ads: Minor reformatting.
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Add entry for
-	expansion of Finalization_Size attribute.
-	* sem_attr.adb (Analyze_Attribute): Add entry to check the
-	semantics of Finalization_Size.
-	(Eval_Attribute): Add null entry for Finalization_Size.
-	* sem_attr.ads: Add Finalization_Size to the implementation
-	dependent attribute list.
-	* snames.ads-tmpl: Add name entry for Finalization_Size attribute.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Loop_Statement): If the loop includes an
-	iterator specification with a serious syntactic error, transform
-	construct into an infinite loop in order to continue analysis
-	and prevent a compiler abort.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Do not generate
-	max_queue_lengths_array if unused.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* errout.adb (Set_Msg_Text): Protect against out-of-bounds
-	array access, in case "\" is at the end of Text.
-	* stylesw.adb (Set_Style_Check_Options): Don't include input
-	characters in the error message template, because they could
-	be control characters such as "\", which Errout will try to
-	interpret.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Find_Indexing_Operations, Inspect_Declarations):
-	For a private type examine the visible declarations that follow
-	the partial view, not just the private declarations that follow
-	the full view.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, sem_ch3.adb, checks.adb: Minor reformatting and
-	code cleanup.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Get_Default_Iterator): For a derived type, the
-	alias of the inherited op is the parent iterator, no need to
-	examine dispatch table positions which might not be established
-	yet if type is not frozen.
-	* sem_disp.adb (Check_Controlling_Formals): The formal of a
-	predicate function may be a subtype of a tagged type.
-	* sem_ch3.adb (Complete_Private_Subtype): Adjust inheritance
-	of representation items for the completion of a type extension
-	where a predicate applies to the partial view.
-	* checks.ads, checks.adb (Apply_Predicate_Check): Add optional
-	parameter that designates function whose actual receives a
-	predicate check, to improve warning message when the check will
-	lead to infinite recursion.
-	* sem_res.adb (Resolve_Actuals): Pass additional parameter to
-	Apply_Predicate_Check.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* s-rident.ads (Profile_Info): Remove No_Entry_Queue from
-	Gnat_Extended_Ravenscar.
-	* exp_ch9.adb, s-tpoben.adb, s-tpoben.ads: Fix spelling.
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.ads: Minor typo fix and reformatting.
-
-2017-01-06  Yannick Moy  <moy@adacore.com>
-
-	* ghost.adb Minor fixing of references to SPARK RM.
-	(Check_Ghost_Context): Check whether reference is to a lvalue
-	before issuing an error about violation of SPARK RM 6.9(13)
-	when declaration has Ghost policy Check and reference has Ghost
-	policy Ignore.
-	* sem_util.adb Minor indentation.
-	* sem_ch10.adb (Analyze_Package_Body_Stub, Analyze_Protected_Body_Stub,
-	Analyze_Task_Body_Stub): Set Ekind of the defining identifier.
-	* sem_util.ads (Unique_Defining_Entity): Document the result
-	for package body stubs.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* raise-gcc.c (abort): Macro to call Abort_Propagation.
-	* s-tpoben.ads (Protected_Entry_Queue_Max_Access): Make it access
-	constant.
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
-	Do not generate the Entry_Max_Queue_Lengths_Array if all default
-	values.
-	* exp_util.adb (Corresponding_Runtime_Package): Consider
-	Max_Queue_Length pragma.
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
-	Remove declaration generation in the case of
-	System_Tasking_Protected_Objects_Single_Entry being used,
-	and add a warning message when this is detected to occur.
-	(Make_Initialize_Protection): Remove reference pass in the case
-	of System_Tasking_Protected_Objects_Single_Entry.
-	* rtsfind.ads: Remove RE_Protected_Entry_Queue_Max
-	* s-tposen.adb (Initialize_Protection_Entry): Remove
-	Entry_Queue_Max parameter.
-	* s-tposen.ads: Remove the types use to store the entry queue
-	maximum.
-	* sem_prag.adb (Analyze_Pragma): Remove entry families restriction
-
-2017-01-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Get_Enum_Lit_From_Pos): Strengthen
-	behavior of function, to also accept out of range positions
-	and raise Constraint_Error in such case, and to copy sloc from
-	literal if No_Location passed as location.
-	* uintp.adb, uintp.ads (UI_To_Int, UI_To_CC): Strengthen behavior
-	of functions to raise Constraint_Error in case of value not in
-	appropriate range.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* sem_util.adb, s-taprop-linux.adb (Finalize_TCB): Remove call to
-	Invalidate_Stack_Cache.
-
-2017-01-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-os_lib.adb: Minor fix to the signature of Readlink.
-
-2017-01-06  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Conforming_Types): Handle another
-	confusion between views in a nested instance with an actual
-	private type whose full view is not in scope.
-
-2017-01-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch5.adb (Expand_N_If_Statement): Obey existing comment and
-	mark a rewritten if statement as explicit (Comes_From_Source).
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb, rtsfind.adb, sem_util.adb: Minor typo fixes.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* ada.ads, a-unccon.ads: Add pragma No_Elaboration_Code_All.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_case.adb: Minor reformatting.
-
-2017-01-06  Thomas Quinot  <quinot@adacore.com>
-
-	* g-socthi-mingw.adb: Remove now extraneous USE TYPE clause
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* aspects.adb: Register aspect in Canonical_Aspect.
-	* aspects.ads: Associate qualities of Aspect_Max_Queue_Length
-	into respective tables.
-	* einfo.ads, einfo.adb: Add a new attribute for
-	handling the parameters for Pragma_Max_Entry_Queue
-	(Entry_Max_Queue_Lengths_Array) in E_Protected_Type. Subprograms
-	for accessing and setting were added as well.
-	* par-prag.adb (Prag): Register Pramga_Max_Entry_Queue.
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Emit
-	declaration for pramga arguments and store them in the protected
-	type node.
-	(Make_Initialize_Protection): Pass a reference to
-	the Entry_Max_Queue_Lengths_Array in the protected type node to
-	the runtime.
-	* rtsfind.adb: Minor grammar fix.
-	* rtsfind.ads: Register new types taken from the
-	runtime libraries RE_Protected_Entry_Queue_Max and
-	RE_Protected_Entry_Queue_Max_Array
-	* s-tposen.adb, s-tpoben.adb
-	(Initialize_Protection_Entry/Initialize_Protection_Entries):
-	Add extra parameter and add assignment to local object.
-	* s-tposen.ads, s-tpoben.ads: Add new types to
-	store entry queue maximums and a field to the entry object record.
-	* sem_ch13.adb (Analyze_Aspect_Specifications): Add case statement
-	for Aspect_Max_Queue_Length.
-	(Check_Aspect_At_Freeze_Point):
-	Add aspect to list of aspects that don't require delayed analysis.
-	* sem_prag.adb (Analyze_Pragma): Add case statement for
-	Pragma_Max_Queue_Length, check semantics, and register arugments
-	in the respective entry nodes.
-	* sem_util.adb, sem_util.ads Add functions Get_Max_Queue_Length
-	and Has_Max_Queue_Length
-	* snames.ads-tmpl: Add constant for the new aspect-name
-	Name_Max_Queue_Length and corrasponding pragma.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Is_Controlled_Function_Call):
-	Reimplemented. Consider any node which has an entity as the
-	function call may appear in various ways.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb (Rewrite_Stream_Proc_Call): Use
-	an unchecked type conversion when performing a view conversion
-	to/from a private type. In all other cases use a regular type
-	conversion to ensure that any relevant checks are properly
-	installed.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb, sem_ch8.adb: Minor reformatting.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_case.adb (Explain_Non_Static_Bound): Suppress cascaded
-	error on case expression that is an entity, when coverage is
-	incomplete and entity has a static value obtained by local
-	propagation.
-	(Handle_Static_Predicate): New procedure, subsidiary of
-	Check_Choices, to handle case alternatives that are either
-	subtype names or subtype indications involving subtypes that
-	have static predicates.
-
-2017-01-06  Thomas Quinot  <quinot@adacore.com>
-
-	* s-oscons-tmplt.c, g-socket.adb, g-socket.ads, g-sothco.ads:
-	(GNAT.Socket): Add support for Busy_Polling and Generic_Option
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (Activate_Elaborate_All_Desirable): Don't add
-	Elaborate_All(P) to P itself. That could happen in obscure cases,
-	and always introduced a cycle (P body must be elaborated before
-	P body).
-	* lib-writ.ads: Comment clarification.
-	* ali-util.ads: Minor comment fix.
-	* ali.adb: Minor reformatting.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* a-exexpr-gcc.adb: Improve comment.
-
-2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
-
-	* s-linux-mips.ads: Use correct signal and errno constants.
-	(sa_handler_pos, sa_mask_pos): Fix offsets for 64-bit MIPS.
-
-2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
-
-	* s-linux-mips.ads: Rename from s-linux-mipsel.ads.
-	* gcc-interface/Makefile.in (MIPS/Linux): Merge mips and mipsel
-	sections.
-
-2017-01-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gnatvsn.ads: Bump copyright year.
-
-2017-01-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* gnat_ugn.texi: Bump @copying's copyright year.
-	* gnat_rm.texi: Likewise.
+	* gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
+	as polynomial.
+
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
+	as polynomial.
+
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/utils.c (gnat_types_compatible_p): Handle
+	polynomial TYPE_VECTOR_SUBPARTS.
+
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/misc.c (enumerate_modes): Handle polynomial
+	GET_MODE_NUNITS.
+
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
+ 	* gnat_ugn.texi: Bump @copying's copyright year.
+ 	* gnat_rm.texi: Likewise.
 
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright