[Ada] Remove External aspect from predefined abstract states
[gcc.git] / gcc / ada / ChangeLog
index a25f0aed1a09b197445c18705d7301c228fb56c4..a62bbe13089155a6eb9a656ab496ba07df20571c 100644 (file)
-2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
+2018-04-04  Piotr Trojanek  <trojanek@adacore.com>
 
-       * gnat_ugn.texi: Regenerate.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-       * gnatvsn.ads: Minor comment fixes.
-
-2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
-
-       * doc/gnat_ugn/gnat_and_program_execution.rst: Update section "Dynamic
-       Stack Usage Analysis" to include more details about GNAT_STACK_LIMIT.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_util.adb (Add_Own_DIC): Ensure that the expression of the pragma
-       is available (Is_Verifiable_DIC_Pragma): Moved from Sem_Util.
-       * sem_util.adb (Has_Full_Default_Initialization):
-       Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
-       whether a type has full default initialization due to pragma
-       Default_Initial_Condition.
-       (Has_Fully_Default_Initializing_DIC_Pragma): New routine.
-       (Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
-       * sem_util.ads (Has_Fully_Default_Initializing_DIC_Pragma): New
-       routine.
-       (Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
-       * sem_warn.adb (Is_OK_Fully_Initialized):
-       Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
-       whether a type has full default initialization due to pragma
-       Default_Initial_Condition.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Match_Constituent): Do not quietly accept constants as
-       suitable constituents.
-       * exp_util.adb: Minor reformatting.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_aggr.adb (In_Place_Assign_OK): Extend the predicate to recognize
-       an array aggregate in an allocator, when the designated type is
-       unconstrained and the upper bound of the aggregate belongs to the base
-       type of the index.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Extended_Return_Statement,
-       Expand_Simple_Function_Return): Assert that the b-i-p-ness of the
-       caller and callee match.  Otherwise, we would need some substantial
-       changes to allow b-i-p calls non-b-i-p, and vice versa.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_unst.adb (Unnest_Subprograms): Nothing to do if the main unit is
-       a generic package body. Unnesting is only an issue when generating
-       code, and if the main unit is generic then nested instance bodies have
-       not been created and analyzed, and unnesting will crash in the absence
-       of those bodies,
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * inline.adb (Add_Inlined_Body): Do not add a function which is
-       completed by an expression function defined in the same context as the
-       initial declaration because the completing body is not in a package
-       body.
-       (Is_Non_Loading_Expression_Function): New routine.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * debug.adb: Move the functionality of -gnatdL to -gnatd_i. Restore
-       the behavior of -gnatdL from before revision 255412.
-       * sem_elab.adb: Update the section of compiler switches.
-       (Build_Call_Marker): Do not create a marker for a call which originates
-       from an expanded spec or body of an instantiated gener, does not invoke
-       a generic formal subprogram, the target is external to the instance,
-       and -gnatdL is in effect.
-       (In_External_Context): New routine.
-       (Process_Conditional_ABE_Activation_Impl): Update the uses of -gnatdL
-       and associated flag.
-       (Process_Conditional_ABE_Call): Update the uses of -gnatdL and
-       associated flag.
-       * switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch
-       -gnatd_i.
-       * exp_unst.adb: Minor typo fixes and edits.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Possible_Freeze): Do not set Delayed_Freeze on an
-       subprogram instantiation, now that the enclosing wrapper package
-       carries an explicit freeze node. THis prevents freeze nodes for the
-       subprogram for appearing in the wrong scope. This is relevant when the
-       generic subprogram has a private or incomplete formal type and the
-       instance appears within a package that declares the actual type for the
-       instantiation, and that type has itself a delayed freeze.
-
-2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
-
-       * doc/gnat_ugn/gnat_and_program_execution.rst: Removed references to
-       the environment variable GNAT_STACK_LIMIT from the Stack Overflow
-       Checking section as it is no longer used by any of our supported
-       targets.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
-       Init_Assignment is rewritten, we need to set Assignment_OK on the new
-       node.  Otherwise, we will get spurious errors when initializing via
-       assignment statement.
-
-2017-12-15  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_unst.adb (Visit_Node): Refine handling of 'Access to ignore non
-       relevant nodes.
-       (Has_Non_Null_Statements): Moved to sem_util for later reuse.
-
-2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Fix comment.
-       * libgnat/s-fatgen.adb (Model): Use Machine attribute.
-       (Truncation): Likewise.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-       * exp_ch7.adb (Expand_Cleanup_Actions): Make sure the block and handled
-       statement sequence generated for certain extended return statements
-       have a Sloc that is not No_Location. Otherwise, the back end doesn't
-       set any location and ends up reading uninitialized variables.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-       * types.ads, exp_ch6.adb, libgnat/s-regexp.ads, opt.ads: Partly revert
-       r255414, committed by mistake.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/Makefile.in: Generalize support for symbolic traces.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/misc.c (default_pass_by_ref): Minor tweak.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Call_to_gnu): Set DECL_DISREGARD_INLINE_LIMITS
-       to 0 on the callee if the call is recursive.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment
-       of the enclosing record type if it is not already set.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (pad_type_has_rm_size): Declare.
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
-       a padding type for the alignment before validating the size.
-       Flip conditional construct and add a comment.
-       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Make sure to
-       apply the exception for padded objects to the type of the object.
-       * gcc-interface/utils.c (hash_pad_type): New static function.
-       (lookup_and_insert_pad_type): Rename into...
-       (canonicalize_pad_type): ...this.  Call hash_pad_type, do only one
-       lookup with insertion and always return the canonical type.
-       (maybe_pad_type): Adjust to above changes.  Set debug type later.
-       (pad_type_has_rm_size): New predicate.
-       (set_reverse_storage_order_on_pad_type): Adjust to above changes.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (process_freeze_entity): Be prepared for a
-       package without body.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types
-       descendant of System.Address.
-       (gnat_to_gnu_subprog_type): Likewise.
-
-2017-12-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * gcc-interface/utils.c (gnat_internal_attribute_table): Add
-       exclusions to the comment.
-
-2017-12-07  Martin Sebor  <msebor@redhat.com>
-
-       PR c/81544
-       * gcc-interface/utils.c (gnat_internal_attribute_table): Initialize
-       new member of struct attribute_spec.
-
-2017-12-06  Simon Wright  <simon@pushface.org>
-
-       PR ada/66205
-       * bindgen.adb (Gen_AdaFinal): If the restriction No_Task_Termination is
-       set, generate a null body.
-
-2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
-
-       * sem_util.adb (Contains_Refined_State): Remove.
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Analyze_Aspect_Specifications, case Predicate): A
-       predicate cannot apply to a formal type.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_unst.ads: Fix typos.
-
-2017-12-05  Jerome Lambourg  <lambourg@adacore.com>
-
-       * libgnarl/s-taprop__qnx.adb: Better detect priority ceiling bug in
-       QNX.  At startup, the first mutex created has a non-zero ceiling
-       priority whatever its actual policy. This makes some tests fail
-       (c940013 for example).
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-       * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Call
-       Expand_Cleanup_Actions for N_Extended_Return_Statement.
-       * exp_ch7.adb (Expand_Cleanup_Actions): Handle
-       N_Extended_Return_Statement by transforming the statements into a
-       block, and (indirectly) calling Expand_Cleanup_Actions on the block.
-       It's too hard for Expand_Cleanup_Actions to operate directly on the
-       N_Extended_Return_Statement, because it has a different structure than
-       the other node kinds that Expand_Cleanup_Actions.
-       * exp_util.adb (Requires_Cleanup_Actions): Add support for
-       N_Extended_Return_Statement.  Change "when others => return False;" to
-       "when others => raise ...;" so it's clear what nodes this function
-       handles.  Use named notation where appropriate.
-       * exp_util.ads: Mark incorrect comment with ???.
-
-2017-12-05  Javier Miranda  <miranda@adacore.com>
-
-       * exp_ch9.adb (Install_Private_Data_Declarations): Add missing
-       Debug_Info_Needed decoration of internally generated discriminal
-       renaming declaration.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_unst.adb (Unnest_Subprogram): Add handling of 'Access on
-       nested subprograms.
+       * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
+       * libgnarl/a-taside.ads (Tasking_State): Likewise.
+       * libgnat/a-calend.ads (Clock_Time): Likewise.
 
-2017-12-05  Sergey Rybin  <rybin@adacore.com>
+2018-04-04  Yannick Moy  <moy@adacore.com>
 
-       * doc/gnat_ugn/gnat_utility_programs.rst: Add description of '--ignore'
-       option for gnatmetric, gnatpp, gnat2xml, and gnattest.
+       * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
+       call notation in inlined call in GNATprove mode.
 
-2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
 
-       * sem_util.adb (Contains_Refined_State): Remove.
+       * 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.
 
-2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
+2018-04-04  Yannick Moy  <moy@adacore.com>
 
-       * rtsfind.ads: Add new enumeration literals: RE_Clock_Time (for
-       Ada.Real_Time.Clock_Time) and RO_CA_Clock_Time (for
-       Ada.Calendar.Clock_Time).
+       * sem_eval.adb (Static_Length): Take into account case of variable of
+       subtype string literal.
 
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
+2018-04-04  Olivier Hainque  <hainque@adacore.com>
 
-       * sem_ch4.adb (Is_Private_Overriding): If the candidate private
-       subprogram is overloaded, scan the list of homonyms in the same
-       scope, to find the inherited operation that may be overridden
-       by the candidate.
-       * exp_ch11.adb, exp_ch7.adb: Minor reformatting.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
-       Init_Assignment is rewritten, we need to set Assignment_OK on the new
-       node.  Otherwise, we will get spurious errors when initializing via
-       assignment statement.
-
-2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_elab.adb: Update the terminology and switch sections.
-       (Check_SPARK_Model_In_Effect): New routine.
-       (Check_SPARK_Scenario): Verify the model in effect for SPARK.
-       (Process_Conditional_ABE_Call_SPARK): Verify the model in effect for
-       SPARK.
-       (Process_Conditional_ABE_Instantiation_SPARK): Verify the model in
-       effect for SPARK.
-       (Process_Conditional_ABE_Variable_Assignment_SPARK): Verify the model
-       in effect for SPARK.
-
-2017-12-05  Nicolas Setton  <setton@adacore.com>
-
-       * terminals.c (__gnat_setup_child_communication): As documented,
-       __gnat_setup_child_communication should not terminate - it is intended
-       to be used as the child process of a call to fork().  However, execvp
-       might actually return in some cases, for instance when attempting to
-       run a 32-bit binary on a 64-bit Linux distribution when the
-       compatibility packages are not installed. In these cases, exit the
-       program to conform to the documentation.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-       * libgnat/s-tsmona.adb: Fix for oversight in the tsmona interface
-       update.
-
-2017-12-05  Gary Dismukes  <dismukes@adacore.com>
-
-       * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Minor typo fix
-       and reformatting.
-       * gnat_ugn.texi: Regenerate.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-       * sem_util.adb (Set_Convention): Always clear Can_Use_Internal_Rep
-       on access to subprogram types with foreign convention.
-
-2017-12-05  Yannick Moy  <moy@adacore.com>
-
-       * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix User's
-       Guide description of default settings of warnings.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-       * s-dwalin.adb (Read_And_Execute_Isn): Adjust test checking for the end
-       of section. Add comments explaining the rationale of the computation.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-       * exp_ch11.adb: Minor refactoring.
-
-2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * debug.adb: Add debug switches d_a, d_e, and d_p, along with
-       documentation.
-       (Set_Underscored_Debug_Flag): New routine.
-       * debug.ads: Add the flags for all underscore switches.
-       (Set_Underscored_Debug_Flag): New routine.
-       * einfo.adb: Flag303 is now Suppress_Elaboration_Warnings.
-       (Suppress_Elaboration_Warnings): New routine.
-       (Set_Suppress_Elaboration_Warnings): New routine.
-       (Write_Entity_Flags): Add output for Suppress_Elaboration_Warnings.
-       * einfo.ads: Add new flag Suppress_Elaboration_Warnings.
-       (Suppress_Elaboration_Warnings): New routine along with pragma Inline.
-       (Set_Suppress_Elaboration_Warnings): New routine along with pragma
-       Inline.
-       * exp_ch3.adb (Build_Init_Procedure): Restore the behavior of the
-       legacy elaboration model.
-       (Default_Initialize_Object): Restore the behavior of the legacy
-       elaboration model.
-       * exp_ch9.adb: Add with and use clause for Sem_Elab.
-       (Build_Task_Activation_Call): Restore the behavior of the legacy
-       elaboration model.
-       * frontend.adb (Frontend): Restore the behavior of the legacy
-       elaboration model.
-       * opt.ads: Add new flags Legacy_Elaboration_Checks and
-       Relaxed_Elaboration_Checks, along with documentation.
-       * sem_attr.adb (Analyze_Access_Attribute): Restore the behavior of the
-       legacy elaboration model.
-       * sem_ch5.adb (Analyze_Assignment): Restore the behavior of the legacy
-       elaboration model.
-       * sem_ch7.adb (Analyze_Package_Declaration): Restore the behavior of
-       the legacy elaboration model.
-       * sem_ch8.adb (Attribute_Renaming): Restore the behavior of the legacy
-       elaboration model.
-       * sem_ch12.adb (Analyze_Instance_And_Renamings): Restore the behavior
-       of the legacy elaboration model.
-       (Analyze_Package_Instantiation): Restore the behavior of the legacy
-       elaboration model.
-       (Analyze_Subprogram_Instantiation): Restore the behavior of the legacy
-       elaboration model.
-       * sem_elab.adb: Update the documentation of the Processing phase.
-       Update the documentation on elaboration-related compilation
-       switches.  Update the documentation on adding a new target.  Add
-       Processing_Attributes which represent the state of the Processing
-       phase.  Resurrect the previous elaboration model as "legacy elaboration
-       model".
-       (Build_Call_Marker): This routine does not function when the legacy
-       elaboration model is in effect. Do not consider entry calls and requeue
-       statements when debug flag d_e is in effect. Do not consider calls to
-       subprograms which verify the runtime semantics of certain assertion
-       pragmas when debug flag d_p is in effect.
-       (Build_Variable_Reference_Marker): This routine does not function when
-       the legacy elaboration model is in effect.
-       (Check_Elaboration_Scenarios): This routine does not function when the
-       legacy elaboration model is in effect.
-       (Ensure_Prior_Elaboration): The various flags have now been replaced
-       with a state. Do not generate implicit Elaborate[_All] pragmas when
-       their creation has been suppressed.
-       (Ensure_Prior_Elaboration_Static): The with clause is marked based on
-       the requested pragma, not on the nature of the scenario.
-       (In_External_Context): Removed.
-       (Is_Assertion_Pragma_Target): New routine.
-       (Is_Potential_Scenario): Stop the traversal of a task body when
-       reaching an accept or select statement, and debug switch d_a is in
-       effect.
-       (Kill_Elaboration_Scenario): This routine does not function when the
-       legacy elaboration model is in effect.
-       (Process_Activation_Generic): The various flags have now been replaced
-       with a state.
-       (Process_Conditional_ABE): The various flags have now been replaced
-       with a state.
-       (Process_Conditional_ABE_Access): The various flags have now been
-       replaced with a state.
-       (Process_Conditional_ABE_Activation_Impl): The various flags have now
-       been replaced with a state. Do not process an activation call which
-       activates a task whose type is defined in an external instance, and
-       debug switch dL is in effect. Suppress the generation of implicit
-       Elaborate[_All] pragmas once a conditional ABE check has been
-       installed.
-       (Process_Conditional_ABE_Call): The various flags have now been
-       replaced with a state. Do not process a call which invokes a subprogram
-       defined in an external instance, and debug switch dL is in effect.
-       (Process_Conditional_ABE_Call_Ada): The various flags have now been
-       replaced with a state. Suppress the generation of implicit
-       Elaborate[_All] pragmas once a conditional ABE check has been
-       installed.
-       (Process_Conditional_ABE_Call_SPARK): The various flags have now been
-       replaced with a state.
-       (Process_Conditional_ABE_Instantiation): The various flags have now
-       been replaced with a state.
-       (Process_Conditional_ABE_Instantiation_Ada): The various flags have now
-       been replaced with a state. Suppress the generation of implicit
-       Elaborate[_All] pragmas once a conditional ABE check has been
-       installed.
-       (Process_Conditional_ABE_Instantiation_SPARK): The various flags have
-       now been replaced with a state.
-       (Process_Guaranteed_ABE_Activation_Impl): The various flags have now
-       been replaced with a state.
-       (Process_Single_Activation): The various flags have now been replaced
-       with a state.
-       (Record_Elaboration_Scenario): This routine does not function when the
-       legacy elaboration model is in effect.
-       (Traverse_Body): The various flags have now been replaced with a state.
-       * sem_elab.ads: Resurrect the pre-18.x elaboration model as "legacy
-       elaboration model".
-       * sem_prag.adb (Analyze_Pragma): Restore the behavior of the legacy
-       elaboration model.
-       * sem_res.adb (Resolve_Call): Restore the behavior of the legacy
-       elaboration model.
-       (Resolve_Entity_Name): Restore the behavior of the legacy elaboration
-       model.
-       * sem_util.adb (Mark_Elaboration_Attributes): This routine does not
-       function when the legacy elaboration model is in effect.
-       * sinfo.adb (Is_Known_Guaranteed_ABE): Update the assertion check.
-       (No_Elaboration_Check): New routine.
-       (Set_Is_Known_Guaranteed_ABE): Update the assertion check.
-       (Set_No_Elaboration_Check): New routine.
-       * sinfo.ads: Update the documentation of flag Is_Known_Guaranteed_ABE
-       along with occurrences in nodes.  Add new flag No_Elaboration_Check
-       along with occurrences in nodes.
-       * switch-c.adb (Scan_Front_End_Switches): Add processing for debug
-       switches with underscores.  Add processing for switches -gnatH and
-       -gnatJ.
-       * usage.adb (Usage): Add output for switches -gnatH and -gnatJ.
-       * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
-       documentation to include the legacy and relaxed elaboration models.
-       * gnat_ugn.texi: Regenerate.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-       * doc/gnat_ugn/platform_specific_information.rst: Minor edit.
-       Improve doc on required packages for linux 32bits.
-
-2017-12-05  Doug Rupp  <rupp@adacore.com>
-
-       * tracebak.c (ppc64-vx7): USE_GCC_UNWINDER for 64bit.
-
-2017-12-05  Javier Miranda  <miranda@adacore.com>
-
-       * checks.adb (Generate_Range_Check): Force evaluation of the node in
-       more cases.  This patch was written to improve the code generated by
-       the CCG compiler but it is enabled for all targets since double
-       evaluation is always a potential source of inefficiency.
-
-2017-12-05  Gary Dismukes  <dismukes@adacore.com>
-
-       * doc/gnat_ugn/gnat_utility_programs.rst: Remove reference to obsolete
-       -fdump-xref switch.
-
-2017-12-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use the SLOC of the
-       iteration scheme throughout, except for the new loop statement(s).
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_aggr.adb (Gen_Assign): Do not analyze the expressionn of the
-       assignment if it is part of an Iterated_Component_Association: the
-       analysis needs to take place once the loop structure is analyzed and
-       the loop parameter made visible, because references to it typically
-       appear in the corresponding expression.  This is necessary if the
-       expression is an aggregate, because previous pre-analysis of the
-       expression does not handle nested aggregates properly.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-       * sem_res.adb (Resolve_Allocator): Avoid coextension processing for an
-       allocator that is the expansion of a build-in-place function call.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-libgnat/
-       * s-trasym__dwarf.adb (spec of Module_Name.Get): Instead of
-       possibly adjusting the lookup address by a load address, expect
-       a extra argument through which the load address can be conveyed
-       separately.
-       (Multi_Module_Symbolic_Traceback): Adjust accordingly. Pass the
-       retrieved load address to Init_Module.
-       * s-tsmona__linux.adb (Get): Honor the new interface.
-       * s-tsmona__mingw.adb (Get): Likewise.
-       * s-dwalin.ads: Adjust comments to be explicit about which
-       addresses are from module info and which are run-time addresses,
-       offsetted by the module load address.
-       * s-dwalin.adb (Set_Load_Address): Simply set C.Load_Slide.
-       Do not alter the module Low and High (relative) addresses.
-       (Is_Inside): Improve documentation regarding the kinds of addresses
-       at hand and correct the test.
-       (Symbolic_Traceback): Use separate variables with explicit names
-       for the address in traceback (run-time value) and the address to
-       lookup within the shared object (module-relative). Adjust the
-       computation of address passed to Symbolic_Address for symbolization.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-       * opt.ads (Expand_Nonbinary_Modular_Ops): New flag.
-       * exp_ch4.adb (Expand_Nonbinary_Modular_Op): Use
-       Expand_Nonbinary_Modular_Ops instead of Modify_Tree_For_C, so that
-       other back-ends can also benefit from the front-end expansion. Remove
-       test for Modify_Tree_For_C in all callers to better share code.
-       * gnat1drv.adb (Adjust_Global_Switches): Set
-       Expand_Nonbinary_Modular_Ops when generating C code.
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_Formal_Container_Loop): Ensure that the loop
-       parameter becomes invisible after analyzing the loop, which has been
-       rewritten as a while-loop.
-
-2017-12-05  Doug Rupp  <rupp@adacore.com>
-
-       * vxaddr2line.adb: Revise and enhance for new ports, remove dead ports,
-       and update for 64bit ports.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Build_In_Place_Formal): Search for the formal by suffix
-       instead of the full name.
-       * sem_ch6.adb (Create_Extra_Formals): Make sure there are extra formals
-       in the case of an instance of a generic.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-       (Adjust_Global_Switches): Create an alias GNAT_Annotate to map to
-       pragma Annotate.
-
-2017-12-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-       * gcc-interface/Makefile.in (RTEMS): Define EH_MECHANISM.
-
-2017-12-04  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-       * gcc-interface/Makefile.in (RTEMS): Use s-osprim__rtems.adb.
-       * libgnat/s-osprim__rtems.adb: New file.
-       * libgnarl/s-osinte__rtems.adb (pthread_cond_t): Fix alignment.
-       (pthread_mutexattr_t): Likewise.
-       (pthread_rwlockattr_t): Likewise.
-       (pthread_rwlock_t): Likewise.
-       (time_t): Use 64-bit integer.
-
-2017-12-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-       * libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and
-       alignment.
-       (pthread_mutex_t): Likewise.
-       (pthread_rwlock_t): Likewise.
-
-2017-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * gcc-interface/trans.c (Case_Statement_to_gnu): Build SWITCH_EXPR
-       using build2 instead of build3.
-
-2017-11-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/83091
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not build a variant
-       type for the implementation type of a packed array.
-
-2017-11-23  Mike Stump  <mikestump@comcast.net>
-            Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (gnat_gimplify_stmt) <LOOP_STMT>: Pass 3rd
-       operand to ANNOTATE_EXPR and also pass unrolling hints.
-
-2017-11-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/83016
-       * gnatlink.adb (Process_Args): Accept multiple switches for --LINK.
-       (Usage): Adjust.
-       * gcc-interface/Makefile.in (GCC_LINK): Remove $(ADA_INCLUDES).
-       (common-tools): Pass $(CC) as --GCC= and $(GCC_LINK) as --LINK= in
-       the invocations of $(GNATLINK).
-       (../../gnatdll$(exeext)): Likewise.
-       (../../vxaddr2line$(exeext)): Likewise.
-       (gnatmake-re): Likewise.
-       (gnatlink-re): Likewise.
-
-2017-11-16  Doug Rupp  <rupp@adacore.com>
-
-       * gcc-interface/Makefile.in: Merge Aarch64 and ARM "ifeq" blocks.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-       * debug.adb: Update another comment to indicate gnat2scil's use of the
-       -gnatd.7 switch.
-
-2017-11-16  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Expand_Call_Helper): Avoid creating a transient scope in
-       the case of nested build-in-place calls.
-
-2017-11-16  Joel Brobecker  <brobecker@adacore.com>
-
-       * doc/gnat_ugn/gnat_utility_programs.rst: Document the switches
-       available in gnatsymbolize.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-       * debug.adb: Update comment to indicate gnat2scil's use of the -gnatd.7
-       switch.
+       * 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.
 
-2017-11-16  Gary Dismukes  <dismukes@adacore.com>
+2018-04-04  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-04-04  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-04-04  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-04-04  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-04-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
+       code generation.
+
+2018-04-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib.ads: Fix typo in enumeration in comment.
+
+2018-04-04  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-04-04  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.
 
-       * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst, sem_ch6.adb,
-       sem_elab.adb: Minor editorial corrections.
+2018-04-04  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.
 
-2017-11-16  Joel Brobecker  <brobecker@adacore.com>
+2018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
 
-       * doc/gnat_ugn/gnat_utility_programs.rst (GNAT UGN): Add
-       gnatsymbolize documentation.
-       * gnat_ugn.texi: Regenerate.
+       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.
 
-2017-11-16  Steve Baird  <baird@adacore.com>
+2018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
 
-       * sem_ch3.adb (Build_Derived_Record_Type): Replace all uses of
-       "Scope (Parent_Type)" with "Scope (Parent_Base)".
+       PR ada/85036
+       * gnatlink.adb (Process_Args): Drop existing link switches if multiple
+       switches are passed for --LINK.
 
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
+2018-03-12  Eric Botcazou  <ebotcazou@adacore.com>
 
-       * opt.ads: Elaboration warnings are now on by default. Add a comment
-       explaining why this is needed.
-       * sem_ch9.adb (Analyze_Requeue): Preserve the status of elaboration
-       warnings.
-       * sem_ch12.adb (Analyze_Package_Instantiation): Preserve the status of
-       elaboration warnings.
-       (Analyze_Subprogram_Instantiation): Preserve the status of elaboration
-       warnings.
-       * sem_elab.adb: Update the structure of Call_Attributes and
-       Instantiation_Attributes.
-       (Build_Call_Marker): Propagate the status of elaboration warnings from
-       the call to the marker.
-       (Extract_Call_Attributes): Extract the status of elaboration warnings.
-       (Extract_Instantiation_Attributes): Extract the status of elaboration
+       PR ada/82813
+       * gcc-interface/misc.c (gnat_post_options): Disable string overflow
        warnings.
-       (Process_Conditional_ABE_Activation_Impl): Elaboration diagnostics are
-       now dependent on the status of elaboration warnings.
-       (Process_Conditional_ABE_Call_Ada): Elaboration diagnostics are now
-       dependent on the status of elaboration warnings.
-       (Process_Conditional_ABE_Instantiation_Ada): Elaboration diagnostics
-       are now dependent on the status of elaboration warnings.
-       (Process_Guaranteed_ABE_Activation_Impl): Remove pragma Unreferenced
-       for formal Call_Attrs. Elaboration diagnostics are now dependent on the
-       status of elaboration warnings.
-       (Process_Guaranteed_ABE_Call): Elaboration diagnostics are now
-       dependent on the status of elaboration warnings.
-       (Process_Guaranteed_ABE_Instantiation): Elaboration diagnostics are now
-       dependent on the status of elaboration warnings.
-       * sem_prag.adb (Analyze_Pragma): Remove the unjustified warning
-       concerning pragma Elaborate.
-       * sem_res.adb (Resolve_Call): Preserve the status of elaboration
-       warnings.
-       (Resolve_Entry_Call): Propagate flag Is_Elaboration_Warnings_OK_Node
-       from the procedure call to the entry call.
-       * sem_util.adb (Mark_Elaboration_Attributes): Add formal parameter
-       Warnings.
-       (Mark_Elaboration_Attributes_Node): Preserve the status of elaboration
-       warnings
-       * sem_util.ads (Mark_Elaboration_Attributes): Add formal parameter
-       Warnings. Update the comment on usage.
-       * sinfo.adb (Is_Dispatching_Call): Update to use Flag6.
-       (Is_Elaboration_Warnings_OK_Node): New routine.
-       (Set_Is_Dispatching_Call): Update to use Flag6.
-       (Set_Is_Elaboration_Warnings_OK_Node): New routine.
-       * sinfo.ads: Attribute Is_Dispatching_Call now uses Flag6. Add new
-       attribute Is_Elaboration_Warnings_OK_Node along with occurrences
-       in nodes.
-       (Is_Elaboration_Warnings_OK_Node): New routine along with pragma
-       Inline.
-       (Set_Is_Elaboration_Warnings_OK_Node): New routine along with pragma
-       Inline.
-       * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update various
-       sections to indicate how to suppress elaboration warnings.  Document
-       switches -gnatwl and -gnatwL.
-       * gnat_ugn.texi: Regenerate.
-
-2017-11-16  Sylvain Dailler  <dailler@adacore.com>
-
-       * sem_util.adb (Get_Enum_Lit_From_Pos): Add a condition for Pos
-       lower than 0.
-
-2017-11-16  Bob Duff  <duff@adacore.com>
-
-       * sem_ch13.adb (Check_Expr_Constants): Avoid error message in case of
-       System'To_Address.
-
-2017-11-16  Yannick Moy  <moy@adacore.com>
-
-       * sem_elab.adb (Include): Fix mode of parameter Curr to out.
-
-2017-11-16  Piotr Trojanek  <trojanek@adacore.com>
-
-       * sem_util.ads, sem_util.adb (Is_CCT_Instance): Allow calls where
-       Context_Id denotes a record type.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch8.adb (Check_SPARK_Primitive_Operation): Enable the check in
-       instantiations.
-
-2017-11-16  Doug Rupp  <rupp@adacore.com>
-
-       Initial gnat port to aarch64-wrs-vxworks7
-       * libgnarl/s-vxwork__aarch64.ads,
-       libgnat/system-vxworks7-aarch64-rtp-smp.ads,
-       libgnat/system-vxworks7-aarch64.ads: New files
-       * sigtramp-vxworks-target.inc (aarch64): New section.
-       * tracebak.c (USE_ARM_UNWINDING): Disable for ARMARCH8A.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_elab.adb (Include): Including a node which is also a compilation
-       unit terminates the search because there are no more lists to examine.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch8.adb (Analyze_Subprogram_Renaming): Ensure that a renaming
-       declaration does not define a primitive operation of a tagged type for
-       SPARK.
-       (Check_SPARK_Primitive_Operation): New routine.
-
-2017-11-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * libgnat/a-elchha.adb (Last_Chance_Handler): Display Argv (0) in
-       message when using -E binder switch.
-
-2017-11-16  Piotr Trojanek  <trojanek@adacore.com>
-
-       * errout.ads: Fix minor typo in comment.
-
-2017-11-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Process_Subtype): If the subtype indication does not
-       syntactically denote a type, return Any_Type to prevent subsequent
-       compiler crashes or infinite loops.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-       * lib-writ.adb: Fix bug which causes Program_Error to be raised in some
-       cases when writing out a .ali file when a Rename_Pragma pragma is in
-       effect.
-       * lib-writ.adb (Write_Unit_Information): Replace call to
-       Pragma_Name_Unmapped with call to Pragma_Name.
-
-2017-11-16  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_elab.adb: Minor typo fixes.
-
-2017-11-16  Justin Squirek  <squirek@adacore.com>
-
-       * sem_res.adb (Resolve_Allocator): Correct warning messages and make
-       them more explicit.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * atree.ads (Nkind_In): Add 10 and 11 parameter versions.
-       * checks.adb (Install_Primitive_Elaboration_Check): Mark the setting of
-       the elaboration flag as elaboration code.
-       * einfo.adb (Contract): Update the comments.
-       (Ignore_SPARK_Mode_Pragmas): Update the comments.
-       (SPARK_Aux_Pragma): Update the comments.
-       (SPARK_Aux_Pragma_Inherited): Update the comments.
-       (SPARK_Pragma): Update the comments. The attribute now applies
-       to all types and abstract states.
-       (SPARK_Pragma_Inherited): Update the comments. The attribute now
-       applies to all types and abstract states.
-       (Set_Contract): Update the comments.
-       (Set_Ignore_SPARK_Mode_Pragmas): Update the comments.
-       (Set_SPARK_Aux_Pragma): Update the comments.
-       (Set_SPARK_Aux_Pragma_Inherited): Update the comments.
-       (Set_SPARK_Pragma): Update the comments. The attribute now applies to
-       all types and abstract states.
-       (Set_SPARK_Pragma_Inherited): Update the comments. The attribute now
-       applies to all types and abstract states.
-       (Write_Field40_Name): Add output for SPARK_Pragma when it appears on a
-       type and abstract states.
-       * einfo.ads: Update the documentation of attributes SPARK_Pragma and
-       SPARK_Pragma_Inherited.  Both of them now apply to all types and
-       abstract states.
-       * exp_util.adb (Set_Elaboration_Flag): Mark the setting of the
-       elaboration flag as elaboration code.
-       * sem_ch3.adb: Add with and use clauses for Sem_Elab.
-       (Analyze_Full_Type_Declaration): Set the SPARK_Mode of the type. Record
-       a derived type for later processing by the ABE mechanism.
-       (Analyze_Incomplete_Type_Decl): Set the SPARK_Mode of the type.
-       (Analyze_Private_Extension_Declaration): Set the SPARK_Mode of the
-       type.
-       * sem_ch7.adb (Analyze_Private_Type_Declaration): Set the SPARK_Mode of
-       the type.
-       * sem_elab.adb: Define the term "early call region".  Update the
-       terminology for "scenario" and "target".  Update the architecture of
-       the ABE mechanism.  Update the steps which must be taken when adding a
-       new scenario.  Update the section on debugging ABE issues.  Add new
-       hash tables Early_Call_Regions and Recorded_SPARK_Scenarios.  Add new
-       table SPARK_Scenarios.  Hash table Elaboration_Context is now
-       Elaboration_Statuses.  The majority of Process_xxx routines have been
-       updated to better reflect their role.
-       (Add_Unit): Reimplemented.
-       (Check_Elaboration_Constituent): New routine.
-       (Check_Elaboration_Scenarios): Verify previously recorded scenarios for
-       conditional ABE issues. Verify previously recorded SPARK scenarios.
-       (Check_SPARK_Derived_Type): New routine.
-       (Check_SPARK_Instantiation): New routine.
-       (Check_SPARK_Scenario): New routine.
-       (Check_SPARK_Refined_State_Pragma): New routine.
-       (Early_Call_Region): New routine.
-       (Elaboration_Status): New routine.
-       (Ensure_Prior_Elaboration): Add new formal parameter Prag_Nam. The
-       implicit Elabotate[_All] pragma is now specified via Prag_Nam.
-       (Find_Early_Call_Region): New routine.
-       (Info_Scenario): Add output for refinement constituents.
-       (Is_Recorded_SPARK_Scenario): New routine.
-       (Is_Suitable_SPARK_Derived_Type): New routine.
-       (Is_Suitable_SPARK_Instantiation): New routine.
-       (Is_Suitable_SPARK_Refined_State_Pragma): New routine.
-       (Is_Visited_Body): New routine.
-       (Kill_Elaboration_Scenario): Reimplemented.
-       (Output_Active_Scenarios): Add output for pragma Refined_State.
-       (Output_SPARK_Refined_State_Pragma): New routine.
-       (Process_Conditional_ABE_Call): Remove the use of -gnatd.v. The effect
-       is now achieved by different means.
-       (Process_Conditional_ABE_Call_SPARK): Verify that a call which precedes
-       the subprogram body appears within the early call region of the body.
-       Either ensure the prior elaboration of external subprograms or verify
-       that the context meets the suitable elaboration requirement.
-       (Process_Conditional_ABE_Instantiation_SPARK): New routine.
-       (Record_Elaboration_Scenario): Reimplement the portion which enforces
-       the level restrictions of the static model. Add support for SPARK
-       scenarios.
-       (Record_SPARK_Elaboration_Scenario): New routine.
-       (Reset_Visited_Bodies): New routine.
-       (Set_Early_Call_Region): New routine.
-       (Set_Elaboration_Status): New routine.
-       (Set_Is_Recorded_SPARK_Scenario): New routine.
-       (Update_Elaboration_Scenario): Reimplemented.
-       * sem_elab.ads: Add new subtype Library_Or_Instantiation_Level.
-       * sem_prag.adb (Analyze_Refined_State_In_Decl_Part): Save the pragma
-       for examination by the ABE Processing phase.
-       (Create_Abstract_State): Save the SPARK_Mode from the context.
-       * sem_util.adb (Is_Non_Preelaborable_Construct): New routine.
-       * sem_util.ads (Is_Non_Preelaborable_Construct): New routine.
-       * sinfo.adb (Is_Elaboration_Code): New routine.
-       (Set_Is_Elaboration_Code): New routine.
-       (Nkind_In): Add 10 and 11 parameter versions.
-       * sinfo.ads: Add new attribute Is_Elaboration_Code along with
-       occurrences in nodes.
-       (Is_Elaboration_Code): New routine along with pragma Inline.
-       (Set_Is_Elaboration_Code): New routine along with pragma Inline.
-       (Nkind_In): Add 10 and 11 parameter versions.
-
-2017-11-16  Justin Squirek  <squirek@adacore.com>
-
-       * sem.adb (Analyze): Remove requirement that the original node of N be
-       an operator in the case that analysis on the node yields the relevant
-       operator - so prefer it instead.
-
-2017-11-16  Bob Duff  <duff@adacore.com>
-
-       * sem_ch6.adb (Create_Extra_Formals): The type of the BIP_Object_Access
-       formal must not have a designated type that is the full view coming
-       from a limited-with'ed package.
-       * sem_util.adb,sem_util.ads (Incomplete_View_From_Limited_With): New
-       function called from sem_ch6.
-       * sem_ch5.adb (Analyze_Assignment): Treat user-defined concatenation
-       specially for b-i-p cases.
-
-2017-11-10  Martin Sebor  <msebor@redhat.com>
-
-       PR c/81117
-       * adadecode.c (__gnat_decode): Use memcpy instead of strncpy.
-       * argv.c (__gnat_fill_arg, __gnat_fill_env): Likewise.
-
-2017-11-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (convert) <RECORD_TYPE>: Add comment and do
-       not fall through to the next case.
-       <ARRAY_TYPE>: Deal specially with a dereference from another array
-       type with the same element type.
-
-2017-11-09  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_util.adb, freeze.adb: Minor reformatting.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-       * gcc-interface/Makefile.in: Add rules to build aarch64-qnx runtimes.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * gcc-interface/trans.c (gnat_to_gnu): Add processing for
-       N_Variable_Reference_Marker nodes.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Generic_Package_Declaration): Handle properly
-       the pragma Compile_Time_Error when it appears in a generic package
-       declaration and uses an expanded name to denote the current unit.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-       * libgnarl/s-taprop__qnx.adb: Fix incorrect casing for pthread_self.
-       * tracebak.c: Add support for tracebacks in QNX.
-
-2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_aggr.adb (Aggr_Size_OK): Bump base limit from 50000 to 500000.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-       * erroutc.adb, set_targ.adb: Remove pragma Annotate for CodePeer
-       justification.
-
-2017-11-09  Joel Brobecker  <brobecker@adacore.com>
-
-       * doc/gnat_ugn/platform_specific_information.rst: Document packages
-       needed on GNU/Linux by GNAT.
-       * gnat_ugn.texi: Regenerate.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Analyze_Contracts): Remove the three parameter
-       version. This routine now only analyzes contracts and does not perform
-       any freezing actions.
-       (Analyze_Previous_Contracts): Removed.
-       (Freeze_Previous_Contracts): New routine.
-       * contracts.ads (Analyze_Previous_Contracts): Removed.
-       (Freeze_Previous_Contracts): New routine.
-       * sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
-       enclosing package spec regardless of whether the list denotes the
-       visible or private declarations.  Fix the removal of partial state
-       refinements when the context is a package spec.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Freeze previous
-       contracts.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Freeze previous contracts.
-       * sem_ch9.adb (Analyze_Entry_Body): Freeze previous contracts.
-       (Analyze_Protected_Body): Freeze previous contracts.
-       (Analyze_Task_Body): Freeze previous contracts.
-       * sem_prag.adb: Comment reformatting.
-
-2017-11-09  Bob Duff  <duff@adacore.com>
-
-       * libgnarl/g-thread.ads, libgnarl/g-thread.adb: (Make_Independent):
-       Export this so users can use it without importing
-       System.Tasking.Utilities.
-       * libgnarl/s-tassta.adb (Vulnerable_Complete_Task): Relax assertion
-       that fails when Make_Independent is called on a user task.
-       * libgnarl/s-taskin.ads (Master_Of_Task): Avoid unusual
-       capitalization style ((style) bad casing of "Master_of_Task").
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Subprogram_Instantiation): Correct use of
-       uninitialized variable uncovered by Codepeer.
-
-2017-11-09  Arnaud Charlet  <charlet@adacore.com>
-
-       * namet.adb: Replace pragma Assume by pragma Assert to fix bootstrap.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
-       (Static_Dispatch_Tables): Minor rewording.
-       * gnat_rm.texi: Regenerate.
-
-2017-11-09  Justin Squirek  <squirek@adacore.com>
-
-       * sem_ch8.adb (Analyze_Use_Package): Remove forced installation of
-       use_clauses within instances.
-       (Use_One_Package): Add condition to check for "hidden" open scopes to
-       avoid skipping over packages that have not been properly installed even
-       though they are visible.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_Selected_Component): Reject properly a call to a
-       private operation of a protected type, when the type has no visible
-       operations.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-       * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_HT_Link.
-       * exp_disp.adb (Make_DT): Initialize the HT_Link field of the TSD only
-       if available.
-
-2017-11-09  Bob Duff  <duff@adacore.com>
-
-       * exp_ch4.adb, exp_ch9.adb, exp_prag.adb, par-ch3.adb, sem_aggr.adb,
-       sem_ch12.adb, sem_ch13.adb, sem_ch4.adb, sem_disp.adb, sem_prag.adb,
-       sem_res.adb, sem_util.adb: Get rid of warnings about uninitialized
-       variables.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-       * exp_disp.adb (Make_DT): Default initialize Ifaces_List and
-       Ifaces_Comp_List.
-
-2017-11-09  Pascal Obry  <obry@adacore.com>
-
-       * libgnarl/s-taprop__mingw.adb: On Windows, initialize the thead handle
-       only for foreign threads.  We initialize the thread handle only if not
-       yet initialized. This happens in Enter_Task for foreign threads only.
-       But for native threads (Ada tasking) we do want to keep the real
-       handle (from Create_Task) to be able to free the corresponding
-       resources in Finalize_TCB (CloseHandle).
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-       * sem_attr.adb (Analyze_Attribute): Default initialize P_Type,
-       P_Base_Type.
-       (Error_Attr_P): Fix name in pragma No_Return.
-       (Unexpected_Argument): Add pragma No_Return.
-       (Placement_Error): Add pragma No_Return.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-       * exp_disp.adb (Elab_Flag_Needed): Elaboration flag not needed when the
-       dispatch table is statically built.
-       (Make_DT): Declare constant the Interface_Table object associated with
-       an statically built dispatch table. For this purpose the Offset_To_Top
-       value of each interface is computed using the dummy object.
-       * exp_ch3.adb (Build_Init_Procedure): Do not generate code initializing
-       the Offset_To_Top field of secondary dispatch tables when the dispatch
-       table is statically built.
-       (Initialize_Tag): Do not generate calls to Register_Interface_Offset
-       when the dispatch table is statically built.
-       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
-       Document the new GNAT restriction Static_Dispatch_Tables.
-       * gnat_rm.texi: Regenerate.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reorder declarations
-       to avoid a dormant bug.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c: Define missing __gnat_alternate_stack for QNX. Set it to 0,
-       as such capability is not available on the OS.
-       * link.c: Make sure linker options for QNX are correct.
-       * libgnarl/s-osinte__qnx.ads: Add some missing bindings to pthread.
-       * libgnarl/s-taprop__qnx.adb: New, derived from s-taprop__posix.adb. This brings
-       in particular a workaround with locks priority ceiling where a higher
-       priority task is allowed to lock a lower ceiling priority lock. This
-       also fixes the scheduling of FIFO tasks when the priority of a task is
-       lowered.
-       * libgnat/system-qnx-aarch64.ads: Fix priority ranges.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-       * erroutc.adb (Output_Error_Msgs): Justify CodePeer false positive
-       message.
-       * gnatbind.adb (Scan_Bind_Arg): Simplify test to remove always true
-       condition.
-       * namet.adb (Copy_One_Character): Add assumption for static analysis,
-       as knowledge that Hex(2) is in the range 0..255 is too complex for
-       CodePeer.
-       (Finalize): Add assumption for static analysis, as the fact that there
-       are symbols in the table depends on a global invariant at this point in
-       the program.
-       * set_targ.adb (Check_Spaces): Justify CodePeer false positive message.
-       * stylesw.adb (Save_Style_Check_Options): Rewrite to avoid test always
-       true.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-       * libgnat/s-rident.ads (Static_Dispatch_Tables): New restriction name.
-       * exp_disp.adb (Building_Static_DT): Check restriction.
-       (Building_Static_Secondary_DT): Check restriction.
-       (Make_DT): Initialize the HT_Link to No_Tag.
-       * opt.ads (Static_Dispatch_Tables): Rename flag...
-       (Building_Static_Dispatch_Tables): ... into this.  This will avoid
-       conflict with the restriction name.
-       * gnat1drv.adb: Update.
-       * exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Update.
-       * exp_ch3.adb (Expand_N_Object_Declaration): Update.
-
-2017-11-09  Pascal Obry  <obry@adacore.com>
-
-       * libgnarl/s-taprop__mingw.adb: Minor code clean-up.  Better using a
-       named number.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-       * binde.adb (Diagnose_Elaboration_Problem): Mark procedure No_Return.
-       * checks.adb (Apply_Scalar_Range_Check): Rescope variable OK closer to
-       use.  Default initialize Hi, Lo.
-       (Selected_Range_Checks): Retype Num_Checks more precisely.
-       (Determine_Range, Determine_Range_R): Default initialize Hi_Right,
-       Lo_Right.
-       * contracts.adb (Process_Contract_Cases): Mark parameter Stmts as
-       Unmodified.
-       (Process_Postconditions): Mark parameter Stmts as Unmodified.
-       * exp_attr.adb (Expand_Loop_Entry_Attribute): Default initialize Blk.
-       * exp_ch4.adb (Expand_N_Allocator): Default initialize Typ.
-       (Expand_Concatenate): Default initialize High_Bound.
-       (Optimize_Length_Comparison): Default initialize Ent, Index.
-       * exp_ch5.adb (Expand_Predicated_Loop): Default initialize L_Hi and
-       L_Lo.
-       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Default initialize
-       Return_Stmt.
-       * exp_ch9.adb (Expand_Entry_Barrier): Default initialize Func_Body and
-       remove pragma Warnings(Off).
-       * exp_imgv.adb (Expand_Image_Attribute): Default initialize Tent.
-       * exp_util.adb (Find_Interface_Tag): Default initialize AI_Tag.
-       * freeze.adb (Check_Component_Storage_Order): Default initialize
-       Comp_Byte_Aligned rather than silencing messages with pragma
-       Warnings(Off), which does not work for CodePeer initialization
-       messages, and given that here the possible read of an unitialized value
-       depends on a proper use of parameters by the caller.
-       * inline.adb (Expand_Inlined_Call): Default initialize Lab_Decl, Targ.
-       * sem_ch12.adb (Build_Operator_Wrapper): Default initialize Expr.
-       * sem_ch3.adb (Build_Derived_Array_Type): Default initialize
-       Implicit_Base.
-       * sem_ch4.adb (List_Operand_Interps): Default initialize Nam and remove
-       pragma Warnings(Off).
-       (Analyze_Case_Expression): Rescope checking block within branch where
-       Others_Present is set by the call to Check_Choices.
-       * sem_ch5.adb (Analyze_Assignment): Default initialize
-       Save_Full_Analysis.
-       * sem_ch6.adb (Analyze_Function_Return): Default initialize Obj_Decl,
-       and restructure code to defend against previous errors, so that, in
-       that case, control does not flow to the elsif condition which read an
-       uninitialized Obj_Decl.
-       * sem_ch9.adb (Analyze_Requeue): Default initialize Synch_Type.
-       (Check_Interfaces): Default initialize Full_T_Ifaces and Priv_T_Ifaces,
-       which seem to be left uninitialized and possibly read in some cases.
-       * sem_dim.adb (Analyze_Aspect_Dimension_System): Retype Position more
-       precisely.  This requires to exchange the test for exiting in case of
-       too many positions and the increment to Position, inside the loop.
-       * sem_eval.adb (Eval_Concatenation): Default initialize Folded_Val,
-       which cannot be read uninitialized, but the reasons for that are quite
-       subtle.
-       * sem_intr.adb (Check_Intrinsic_Call): Default initialize Rtyp.
-       * sem_prag.adb (Collect_Subprogram_Inputs_Outputs): Default initialize
-       Spec_Id.
-       * sem_res.adb (Make_Call_Into_Operator): Default initialize Opnd_Type,
-       and test for presence of non-null Opnd_Type before testing its scope,
-       in a test which would read its value uninitialized, and is very rarely
-       exercized (it depends on the presence of an extension of System).
-       * sem_spark.ads: Update comment to fix name of main analysis procedure.
-       * sem_warn.adb (Warn_On_Known_Condition): Default initialize
-       Test_Result.
-       * set_targ.adb (FailN): Mark procedure with No_Return.
-       * stylesw.adb (Save_Style_Check_Options): Delete useless code to
-       initialize all array Options to white space, as there is already code
-       doing the same for the remaining positions in Options at the end of the
-       procedure.
-
-2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch11.adb (Possible_Local_Raise): Do not issue the warning for
-       generic instantiations either.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-       * sem_prag.adb (Analyze_Part_Of): Reword error message.
-       (Get_SPARK_Mode_Type): Do not raise Program_Error in case pragma
-       SPARK_Mode appears with an illegal mode, treat this as a non-existent
-       mode.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_Call): Reject a call to a function that returns
-       a limited view of a type T declared in unit U1, when the function is
-       declared in another unit U2 and the call appears in a procedure within
-       another unit.
-
-2017-11-09  Justin Squirek  <squirek@adacore.com>
-
-       * sem_ch8.adb (Analyze_Use_Package): Force installation of use_clauses
-       when processing generic instances.
-
-2017-11-09  Bob Duff  <duff@adacore.com>
-
-       * namet.ads, namet.adb (Valid_Name_Id): New subtype that excludes
-       Error_Name and No_Name.  Use this (versus Name_Id) to indicate which
-       objects can have those special values. Valid_Name_Id could usefully be
-       used all over the compiler front end, but that's too much trouble for
-       now. If we did that, we might want to rename:
-       Name_Id --> Optional_Name_Id, Valid_Name_Id --> Name_Id.
-       For parameters of type Valid_Name_Id, remove some redundant tests,
-       including the ones found by CodePeer.  Use Is_Valid_Name instead of
-       membership test when appropriate.
-       (Error_Name_Or_No_Name): Delete this; it's no longer needed.
-       * sem_ch2.adb (Analyze_Identifier): Use "not Is_Valid_Name" instead of
-       "in Error_Name_Or_No_Name".
-       (Check_Parameterless_Call): Use "not Is_Valid_Name" instead of "in
-       Error_Name_Or_No_Name".
-
-2017-11-09  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb (Adjust_Global_Switches): Suppress warnings in codepeer
-       mode here unless -gnateC is specified.
-       * switch-c.adb (Scan_Front_End_Switches): Do not suppress warnings with
-       -gnatC here.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-       * lib-writ.adb (Write_ALI): Remove processing of the frontend xrefs as
-       part of the ALI writing; they are now processed directly from memory
-       when requested by the backend.
-       * lib-xref.ads (Collect_SPARK_Xrefs): Remove.
-       (Iterate_SPARK_Xrefs): New routine for iterating over frontend xrefs.
-       * lib-xref-spark_specific.adb (Traverse_Compilation_Unit): Remove.
-       (Add_SPARK_File): Remove.
-       (Add_SPARK_Xref): Refactored from removed code; filters xref entries
-       that are trivially uninteresting to the SPARK backend.
-       * spark_xrefs.ads: Remove code that is no longer needed.
-       * spark_xrefs.adb (dspark): Adapt to use Iterate_SPARK_Xrefs.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_elab.adb: Update the documentation on adding a new elaboration
-       schenario. Add new hash table Recorded_Top_Level_Scenarios.
-       (Is_Check_Emitting_Scenario): Removed.
-       (Is_Recorded_Top_Level_Scenario): New routine.
-       (Kill_Elaboration_Scenario): Reimplemented.
-       (Record_Elaboration_Scenario): Mark the scenario as recorded.
-       (Set_Is_Recorded_Top_Level_Scenario): New routine.
-       (Update_Elaboration_Scenario): Reimplemented.
-       * sinfo.adb (Is_Recorded_Scenario): Removed.
-       (Set_Is_Recorded_Scenario): Removed.
-       * sinfo.ads: Remove attribute Is_Recorded_Scenario along with
-       occurrences in nodes.
-       (Is_Recorded_Scenario): Removed along with pragma Inline.
-       (Set_Is_Recorded_Scenario): Removed along with pragma Inline.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-       * sem_prag.adb (Analyze_Part_Of): Change "designate" to "denote" in
-       error message.
-
-2017-11-09  Justin Squirek  <squirek@adacore.com>
-
-       * sem_res.adb (Resolve_Allocator): Add warning messages corresponding
-       to the allocation of an anonymous access-to-controlled object.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-       * sigtramp-qnx.c: Fix obvious typo.
-
-2017-11-09  Doug Rupp  <rupp@adacore.com>
-
-       * libgnarl/s-taprop__linux.adb (Monotonic_Clock): Minor reformatting.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve): If expression is an entity whose type has
-       implicit dereference, generate reference to it, because no reference is
-       generated for an overloaded entity during analysis, given that its
-       identity may not be known.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-       * exp_disp.adb (Expand_Interface_Thunk): Replace substraction of
-       offset-to-top field by addition.
-       (Make_Secondary_DT): Initialize the offset-to-top field with a negative
-       offset.
-       * exp_ch3.adb (Build_Offset_To_Top_Function): Build functions that
-       return a negative offset-to-top value.
-       (Initialize_Tag): Invoke runtime services Set_Dynamic_Offset_To_Top and
-       Set_Static_Offset_To_Top passing a negative offet-to-top value;
-       initialize also the offset-to-top field with a negative offset.
-       * libgnat/a-tags.adb (Base_Address): Displace the pointer by means of
-       an addition since the offset-to-top field is now a negative value.
-       (Displace): Displace the pointer to the object means of a substraction
-       since it is now a negative value.
-       (Set_Dynamic_Offset_to_top): Displace the pointer to the object by
-       means of a substraction since it is now a negative value.
-
-2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gnat1drv.adb (Gnat1drv): Call Errout.Finalize (Last_Call => True)
-       before Errout.Output_Messages also in the case of compilation errors.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-       * doc/gnat_ugn/the_gnat_compilation_model.rst (Interfacing with C++ at
-       the Class Level): Fix error interfacing with C strings.
-       * gnat_ugn.texi: Regenerate.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-       * system-qnx-aarch64.ads: Fix the priority constants.
-       * s-osinte__qnx.ads: Fix constants for handling the locking protocols
-       and scheduling.
-       * s-osinte__qnx.adb: New file , prevents the use of priority 0 that
-       corresponds to an idle priority on QNX.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-       * sem_prag.adb, sem_util.adb, sem_elab.adb: Fix minor typos in
-       comments.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-       * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Ignore loop parameters
-       in expression funtions that are expanded into variables.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-       * sem_util.adb: Minor whitespace cleanup.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-       * libgnarl/s-taprop__qnx.adb: Refine aarch64-qnx. Use the POSIX
-       s-taprop version rather than a custom one.
-       * sigtramp-qnx.c (aarch64-qnx): Implement the signal trampoline.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * lib-xref.ads, lib-xref-spark_specific.adb
-       (Traverse_Compilation_Unit): Move declaration to package body.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration): Obtain
-       the type of the renaming from its defining entity, rather then the
-       subtype mark as there may not be a subtype mark.
 
-2017-11-08  Jerome Lambourg  <lambourg@adacore.com>
+2018-03-10  Eric Botcazou  <ebotcazou@adacore.com>
 
-       * adaint.c, s-oscons-tmplt.c, init.c, libgnat/system-qnx-aarch64.ads,
-       libgnarl/a-intnam__qnx.ads, libgnarl/s-intman__qnx.adb,
-       libgnarl/s-osinte__qnx.ads, libgnarl/s-qnx.ads,
-       libgnarl/s-taprop__qnx.adb, s-oscons-tmplt.c, sigtramp-qnx.c,
-       terminals.c: Initial port of GNAT for aarch64-qnx
-
-2017-11-08  Elisa Barboni  <barboni@adacore.com>
-
-       * exp_util.adb (Find_DIC_Type): Move...
-       * sem_util.ads, sem_util.adb (Find_DIC_Type): ... here.
-
-2017-11-08  Justin Squirek  <squirek@adacore.com>
-
-       * sem_res.adb (Resolve_Allocator): Add info messages corresponding to
-       the owner and corresponding coextension.
-
-2017-11-08  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_aggr.adb (Resolve_Delta_Aggregate): Divide into the
-       following separate procedures.
-       (Resolve_Delta_Array_Aggregate): Previous code form
-       Resolve_Delta_Aggregate.
-       (Resolve_Delta_Record_Aggregate): Extend previous code to cover latest
-       ARG decisions on the legality rules for delta aggregates for records:
-       in the case of a variant record, components from different variants
-       cannot be specified in the delta aggregate, and this must be checked
-       statically.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * spark_xrefs.ads (SPARK_Scope_Record): Remove File_Num component.
-       * lib-xref-spark_specific.adb (Add_SPARK_Scope): Skip initialization of
-       removed component.
-
-2017-11-08  Gary Dismukes  <dismukes@adacore.com>
+       * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
+       Consider only entities for objects.
 
-       * sem_ch4.adb: Minor typo fix.
+2018-03-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
 
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+       * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
+       $(GNATLIBCFLAGS).
+       (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
 
-       * spark_xrefs.ads (SPARK_Scope_Record): Remove Spec_File_Num and
-       Spec_Scope_Num components.
-       * spark_xrefs.adb (dspark): Skip pretty-printing to removed components.
-       * lib-xref-spark_specific.adb (Add_SPARK_Scope): Skip initialization of
-       removed components.
-       (Collect_SPARK_Xrefs): Skip setting proper values of removed
-       components.
+2018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
 
-2017-11-08  Gary Dismukes  <dismukes@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.
 
-       * exp_ch4.adb (Expand_N_Type_Conversion): Add test that the selector
-       name is a discriminant in check for unconditional accessibility
-       violation within instances.
+2018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
 
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+       * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
 
-       * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Remove special-case
-       for constants (with variable input).
-       (Is_Constant_Object_Without_Variable_Input): Remove.
+2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
 
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+       * libgnat/i-cexten.ads (Float_128): New type.
 
-       * exp_ch9.adb, sem_disp.adb, sem_util.adb: Minor reformatting.
+2018-02-02  Eric Botcazou  <ebotcazou@adacore.com>
 
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+       * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
+       false if the component type is a pointer.
 
-       * spark_xrefs.ads (Rtype): Remove special-casing of constants for SPARK
-       cross-references.
-       (dspark): Remove hardcoded table bound.
+2018-01-11  Gary Dismukes  <dismukes@adacore.com>
 
-2017-11-08  Ed Schonberg  <schonberg@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.
 
-       * sem_ch4.adb (Analyze_Aggregate): For Ada2020 delta aggregates, use
-       the type of the base of the construct to determine the type (or
-       candidate interpretations) of the delta aggregate. This allows the
-       construct to appear in a context that expects a private extension.
-       * sem_res.adb (Resolve): Handle properly a delta aggregate with an
-       overloaded base.
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
 
-2017-11-08  Piotr Trojanek  <trojanek@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.
 
-       * spark_xrefs.ads (SPARK_Xref_Record): Replace file and scope indices
-       with Entity_Id of the reference.
-       * spark_xrefs.adb (dspark): Adapt pretty-printing routine.
-       * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Store Entity_Id of the
-       reference, not the file and scope indices.
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
 
-2017-11-08  Arnaud Charlet  <charlet@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.
 
-       * errout.ads (Current_Node): New.
-       * errout.adb (Error_Msg): Use Current_Node.
-       * par-ch6.adb, par-ch7.adb, par-ch9.adb, par-util.adb: Set Current_Node
-       when relevant.
-       * style.adb: Call Error_Msg_N when possible.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-11-08  Piotr Trojanek  <trojanek@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.
 
-       * spark_xrefs.ads (SPARK_Scope_Record): Rename Scope_Id component to
-       Entity.
-       * lib-xref-spark_specific.adb, spark_xrefs.adb: Propagate renaming of
-       the Scope_Id record component.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-11-08  Piotr Trojanek  <trojanek@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.
 
-       * spark_xrefs.ads (SPARK_File_Record): Remove string components.
-       * spark_xrefs.adb (dspark): Remove pretty-printing of removed
-       SPARK_File_Record components.
-       * lib-xref-spark_specific.adb (Add_SPARK_File): Do not store string
-       representation of files/units.
+2018-01-11  Arnaud Charlet  <charlet@adacore.com>
 
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * lib-xref.ads, lib-xref-spark_specific.adb (Traverse_Declarations):
-       Remove Inside_Stubs parameter.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * spark_xrefs.ads (SPARK_Xref_Record): Referenced object is now
-       represented by Entity_Id.
-       (SPARK_Scope_Record): Referenced scope (e.g. subprogram) is now
-       represented by Entity_Id; this information is not repeated as
-       Scope_Entity.
-       (Heap): Moved from lib-xref-spark_specific.adb, to reside next to
-       Name_Of_Heap_Variable.
-       * spark_xrefs.adb (dspark): Adapt debug routine to above changes in
-       data types.
-       * lib-xref-spark_specific.adb: Adapt routines for populating SPARK
-       scope and xrefs tables to above changes in data types.
-
-2017-11-08  Justin Squirek  <squirek@adacore.com>
-
-       * sem_ch8.adb (Mark_Use_Clauses): Add condition to always mark the
-       primitives of generic actuals.
-       (Mark_Use_Type): Add recursive call to properly mark class-wide type's
-       base type clauses as per ARM 8.4 (8.2/3).
-
-2017-11-08  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Analyze_Generic_Subprobram_Body): Validate
-       categorization dependency of the body, as is done for non-generic
-       units.
-       (New_Overloaded_Entity, Visible_Part_Type): Remove linear search
-       through declarations (Simple optimization, no behavior change).
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * spark_xrefs.ads (SPARK_Xref_Record): Remove inessential components.
-       (SPARK_Scope_Record): Remove inessential components.
-       * spark_xrefs.adb (dspark): Remove pretty-printing of removed record
-       components.
-       * lib-xref-spark_specific.adb (Add_SPARK_Scope): Remove setting of
-       removed record components.
-       (Add_SPARK_Xrefs): Remove setting of removed record components.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Remove dead check for
-       empty entities.
-
-2017-11-08  Javier Miranda  <miranda@adacore.com>
-
-       * sem_disp.adb (Is_Inherited_Public_Operation): Extend the
-       functionality of this routine to handle multiple levels of derivations.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb: Elist36 is now used as Nested_Scenarios.
-       (Nested_Scenarios): New routine.
-       (Set_Nested_Scenarios): New routine.
-       (Write_Field36_Name): New routine.
-       * einfo.ads: Add new attribute Nested_Scenarios along with occurrences
-       in entities.
-       (Nested_Scenarios): New routine along with pragma Inline.
-       (Set_Nested_Scenarios): New routine along with pragma Inline.
-       * sem_elab.adb (Find_And_Process_Nested_Scenarios): New routine.
-       (Process_Nested_Scenarios): New routine.
-       (Traverse_Body): When a subprogram body is traversed for the first
-       time, find, save, and process all suitable scenarios found within.
-       Subsequent traversals of the same subprogram body utilize the saved
-       scenarios.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-       * lib-xref-spark_specific.adb (Add_SPARK_Scope): Remove detection of
-       protected operations.
-       (Add_SPARK_Xrefs): Simplify detection of empty entities.
-       * get_spark_xrefs.ads, get_spark_xrefs.adb, put_spark_xrefs.ads,
-       put_spark_xrefs.adb, spark_xrefs_test.adb: Remove code for writing,
-       reading and testing SPARK cross-references stored in the ALI files.
-       * lib-xref.ads (Output_SPARK_Xrefs): Remove.
-       * lib-writ.adb (Write_ALI): Do not write SPARK cross-references to the
-       ALI file.
-       * spark_xrefs.ads, spark_xrefs.adb (pspark): Remove, together
-       with description of the SPARK xrefs ALI format.
-       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove get_spark_refs.o
-       and put_spark_refs.o.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch4.adb (Apply_Accessibility_Check): Do not finalize the object
-       when the associated access type is subject to pragma
-       No_Heap_Finalization.
-       * exp_intr.adb (Expand_Unc_Deallocation): Use the available view of the
-       designated type in case it comes from a limited withed unit.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch3.adb (Expand_N_Object_Declaration): Save and restore relevant
-       SPARK-related flags.  Add ??? comment.
-       * exp_util.adb (Insert_Actions): Add an entry for node
-       N_Variable_Reference_Marker.
-       * sem.adb (Analyze): Add an entry for node N_Variable_Reference_Marker.
-       * sem_ch8.adb (Find_Direct_Name): Add constant Is_Assignment_LHS. Build
-       and record a variable reference marker for the current name.
-       (Find_Expanded_Name): Add constant Is_Assignment_LHS. Build and record
-       a variable reference marker for the current name.
-       * sem_elab.adb (Build_Variable_Reference_Marker): New routine.
-       (Extract_Variable_Reference_Attributes): Reimplemented.
-       (Info_Scenario): Add output for variable references and remove output
-       for variable reads.
-       (Info_Variable_Read): Removed.
-       (Info_Variable_Reference): New routine.
-       (Is_Suitable_Scenario): Variable references are now suitable scenarios
-       while variable reads are not.
-       (Output_Active_Scenarios): Add output for variable references and
-       remove output for variable reads.
-       (Output_Variable_Read): Removed.
-       (Output_Variable_Reference): New routine.
-       (Process_Variable_Read): Removed.
-       (Process_Variable_Reference): New routine.
-       (Process_Variable_Reference_Read): New routine.
-       * sem_elab.ads (Build_Variable_Reference_Marker): New routine.
-       * sem_res.adb (Resolve_Actuals): Build and record a variable reference
-       marker for the current actual.
-       * sem_spark.adb (Check_Node): Add an entry for node
-       N_Variable_Reference_Marker.
-       * sem_util.adb (Within_Subprogram_Call): Moved to the library level.
-       * sem_util.ads (Within_Subprogram_Call): Moved to the library level.
-       * sinfo.adb (Is_Read): New routine.
-       (Is_Write): New routine.
-       (Target): Updated to handle variable reference markers.
-       (Set_Is_Read): New routine.
-       (Set_Is_Write): New routine.
-       (Set_Target): Updated to handle variable reference markers.
-       * sinfo.ads: Add new attributes Is_Read and Is_Write along with
-       occurrences in nodes. Update attribute Target. Add new node
-       kind N_Variable_Reference_Marker.
-       (Is_Read): New routine along with pragma Inline.
-       (Is_Write): New routine along with pragma Inline.
-       (Set_Is_Read): New routine along with pragma Inline.
-       (Set_Is_Write): New routine along with pragma Inline.
-       * sprint.adb (Sprint_Node_Actual): Add an entry for node
-       N_Variable_Reference_Marker.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_util.adb (Subprogram_Name): Append suffix for overloaded
-       subprograms.
-
-2017-11-08  Yannick Moy  <moy@adacore.com>
-
-       * sem_ch8.adb (Use_One_Type, Update_Use_Clause_Chain): Do not report
-       about unused use-type or use-package clauses inside inlined bodies.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_elab.adb (Ensure_Prior_Elaboration): Add new parameter
-       In_Partial_Fin along with a comment on its usage. Do not guarantee the
-       prior elaboration of a unit when the need came from a partial
-       finalization context.
-       (In_Initialization_Context): Relocated to Process_Call.
-       (Is_Partial_Finalization_Proc): New routine.
-       (Process_Access): Add new parameter In_Partial_Fin along with a comment
-       on its usage.
-       (Process_Activation_Call): Add new parameter In_Partial_Fin along with
-       a comment on its usage.
-       (Process_Activation_Conditional_ABE_Impl): Add new parameter
-       In_Partial_Fin along with a comment on its usage. Do not emit any ABE
-       diagnostics when the activation occurs in a partial finalization
-       context.
-       (Process_Activation_Guaranteed_ABE_Impl): Add new parameter
-       In_Partial_Fin along with a comment on its usage.
-       (Process_Call): Add new parameter In_Partial_Fin along with a comment
-       on its usage. A call is within a partial finalization context when it
-       targets a finalizer or primitive [Deep_]Finalize, and the call appears
-       in initialization actions. Pass this information down to the recursive
-       steps of the Processing phase.
-       (Process_Call_Ada): Add new parameter In_Partial_Fin along with a
-       comment on its usage. Remove the guard which suppresses the generation
-       of implicit Elaborate[_All] pragmas. This is now done in
-       Ensure_Prior_Elaboration.
-       (Process_Call_Conditional_ABE): Add new parameter In_Partial_Fin along
-       with a comment on its usage. Do not emit any ABE diagnostics when the
-       call occurs in a partial finalization context.
-       (Process_Call_SPARK): Add new parameter In_Partial_Fin along with a
-       comment on its usage.
-       (Process_Instantiation): Add new parameter In_Partial_Fin along with a
-       comment on its usage.
-       (Process_Instantiation_Ada): Add new parameter In_Partial_Fin along
-       with a comment on its usage.
-       (Process_Instantiation_Conditional_ABE): Add new parameter
-       In_Partial_Fin along with a comment on its usage. Do not emit any ABE
-       diagnostics when the instantiation occurs in a partial finalization
-       context.
-       (Process_Instantiation_SPARK): Add new parameter In_Partial_Fin along
-       with a comment on its usage.
-       (Process_Scenario): Add new parameter In_Partial_Fin along  with a
-       comment on its usage.
-       (Process_Single_Activation): Add new parameter In_Partial_Fin along
-       with a comment on its usage.
-       (Traverse_Body): Add new parameter In_Partial_Fin along with a comment
-       on its usage.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_ch13.adb: Add optional parameter to Error_Msg.
-
-2017-11-08  Jerome Lambourg  <lambourg@adacore.com>
-
-       * fname.adb (Is_Internal_File_Name): Do not check the 8+3 naming schema
-       for the Interfaces.* hierarchy as longer unit names are now allowed.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_util.adb (Subprogram_Name): Emit sloc for the enclosing
-       subprogram as well.  Support more cases of entities.
-       (Append_Entity_Name): Add some defensive code.
-
-2017-11-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/misc.c (gnat_post_options): Clear warn_return_type.
-
-2017-10-31  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/82785
-       * gcc-interface/Makefile.in (m68k/Linux): Fix typo.
-
-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.
+       Bump copyright notices to 2018.
 
-2017-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-       * sem_type.adb, exp_util.adb, sem_util.adb, sem_dim.adb, sem_elab.adb:
+       * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.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.
+2018-01-11  Justin Squirek  <squirek@adacore.com>
 
-2017-10-20  Bob Duff  <duff@adacore.com>
+       * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
+       to make sure a given expression function is properly parenthesized.
 
-       * sem_ch12.adb: Remove redundant setting of Parent.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-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>
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
+       categorization of a subprogram body which does not complete a previous
+       declaration.
 
-       * exp_ch6.adb (Is_Build_In_Place_Result_Type): Enable build-in-place
-       for a narrow set of controlled types.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+       * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
+       scope of package Ada is Standard.
 
-       * sinput.ads (Line_Start): Add pragma Inline.
-       * widechar.ads (Is_Start_Of_Wide_Char): Likewise.
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
 
-2017-10-19  Bob Duff  <duff@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.
 
-       * 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.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-10-18  Eric Botcazou  <ebotcazou@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.
 
-       * gcc-interface/misc.c (gnat_tree_size): Move around.
+2018-01-11  Jerome Lambourg  <lambourg@adacore.com>
 
-       * gcc-interface/utils.c (max_size): Deal with SSA names.
+       * libgnat/g-soliop__qnx.ads: New.
+       * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
+       for QNX.
 
-2017-10-17  Jakub Jelinek  <jakub@redhat.com>
+2018-01-11  Bob Duff  <duff@adacore.com>
 
-       * gcc-interface/misc.c (gnat_tree_size): New function.
-       (LANG_HOOKS_TREE_SIZE): Redefine.
+       * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
+       a null procedure occurs in a protected definition.
 
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
+2018-01-11  Bob Duff  <duff@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.
+       * binderr.ads, namet.ads: Minor reformatting.
 
-2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
+2018-01-11  Bob Duff  <duff@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.
+       * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
+       xml2gnat.
 
-2017-10-14  Ed Schonberg  <schonberg@adacore.com>
+2018-01-11  Bob Duff  <duff@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.
+       * binde.adb (Force_Elab_Order): Give an error if there are duplicate
+       unit names.
 
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
+2018-01-11  Ed Schonberg  <schonberg@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.
+       * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
+       controlling argument of a dispatching call. freeze the corresponding
+       designated type.
 
-2017-10-14  Gary Dismukes  <dismukes@adacore.com>
+2018-01-11  Ben Brosgol  <brosgol@adacore.com>
 
-       * exp_util.adb, freeze.adb, sem_aggr.adb, sem_util.ads, sem_util.adb,
-       sem_warn.adb: Minor reformattings.
+       * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
 
-2017-10-14  Ed Schonberg  <schonberg@adacore.com>
+2018-01-11  Ben Brosgol  <brosgol@adacore.com>
 
-       * doc/gnat_rm/implementation_defined_aspects.rst: Add documentation
-       for reverse iteration over formal containers.
+       * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
+       corrections.
        * 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.
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
 
-2017-10-09  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.
 
-       * 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.
+2018-01-11  Javier Miranda  <miranda@adacore.com>
 
-2017-10-09  Justin Squirek  <squirek@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.
 
-       * sem_ch3.adb: Rename Uses_Unseen_Priv into
-       Contains_Lib_Incomplete_Type.
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
 
-2017-10-09  Hristian Kirtchev  <kirtchev@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.
 
-       * 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.
+2018-01-11  Pascal Obry  <obry@adacore.com>
 
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+       * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
 
-       * 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.
+2018-01-11  Bob Duff  <duff@adacore.com>
 
-2017-10-09  Ed Schonberg  <schonberg@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.
 
-       * 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.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-10-09  Justin Squirek  <squirek@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.
 
-       * 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
+2018-01-11  Yannick Moy  <moy@adacore.com>
 
-2017-10-09  Justin Squirek  <squirek@adacore.com>
+       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+       Update description of restriction SPARK_05 with SPARK 2014.
+       * gnat_rm.texi: Regenerate.
 
-       * osint.ads: Document new parameter FD for Read_Source_File.
+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>
 
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+       * sem_ch8.adb: Minor comment fix.
 
-       * 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
-       attributes.
-       (Analyze_Task_Type_Declaration): Save certain elaboration-related
-       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
-       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.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-10-09  Arnaud Charlet  <charlet@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.
 
-       * doc/gnat_ugn/gnat_and_program_execution.rst: Minor edit.
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
 
-2017-10-09  Piotr Trojanek  <trojanek@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.
 
-       * libgnarl/s-taprob.adb: Minor whitespace fix.
+2018-01-11  Justin Squirek  <squirek@adacore.com>
 
-2017-10-09  Bob Duff  <duff@adacore.com>
+       * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
+       message to be printed on the pragma argument identifier.
 
-       * namet.ads: Minor comment fix.
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
 
-2017-10-09  Piotr Trojanek  <trojanek@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.
 
-       * sem_aux.adb (Unit_Declaration_Node): Detect protected declarations,
-       just like other program units listed in Ada RM 10.1(1).
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
 
-2017-10-09  Justin Squirek  <squirek@adacore.com>
+       * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
+       comment.
 
-       * sem_ch8.adb (Update_Chain_In_Scope): Modify warning messages.
+2018-01-11  Arnaud Charlet  <charlet@adacore.com>
 
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+       * einfo.ads, einfo.adb (Activation_Record_Component,
+       Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
+       Allow E_Discriminant.
 
-       * 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.
+2018-01-10  Eric Botcazou  <ebotcazou@adacore.com>
 
-2017-10-09  Pierre-Marie de Rodat  <derodat@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.
 
-       * exp_atag.ads, libgnat/a-tags.adb, libgnat/a-tags.ads: Enhance
-       in-source documentation for tagged types's Offset_To_Top.
+2018-01-04  Eric Botcazou  <ebotcazou@adacore.com>
 
-2017-10-09  Bob Duff  <duff@adacore.com>
+       * gnatvsn.ads: Bump copyright year.
 
-       * 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.
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+           Alan Hayward  <alan.hayward@arm.com>
+           David Sherwood  <david.sherwood@arm.com>
 
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+       * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
+       as polynomial.
 
-       * 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.
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+           Alan Hayward  <alan.hayward@arm.com>
+           David Sherwood  <david.sherwood@arm.com>
 
-2017-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+       * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
+       as polynomial.
 
-       PR ada/82393
-       * mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete.
-       * sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin.
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+           Alan Hayward  <alan.hayward@arm.com>
+           David Sherwood  <david.sherwood@arm.com>
 
-2017-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-            Pierre-Marie de Rodat  <derodat@adacore.com>
+       * gcc-interface/utils.c (gnat_types_compatible_p): Handle
+       polynomial TYPE_VECTOR_SUBPARTS.
 
-       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.
+2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
+           Alan Hayward  <alan.hayward@arm.com>
+           David Sherwood  <david.sherwood@arm.com>
 
-2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
+       * gcc-interface/misc.c (enumerate_modes): Handle polynomial
+       GET_MODE_NUNITS.
 
-       * 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.
-       * 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.
-       * 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.
-       * 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
-       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.
-       (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:
-       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:
-       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>
-
-       * 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:
-       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>
-           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.
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
 
-2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+       Update copyright years.
 
-       * gnat_ugn.texi: Bump @copying's copyright year.
-       * gnat_rm.texi: Likewise.
+       * gnat_ugn.texi: Bump @copying's copyright year.
+       * gnat_rm.texi: Likewise.
 \f
-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