[Ada] Remove External aspect from predefined abstract states
[gcc.git] / gcc / ada / ChangeLog
index e1334f815880beac469cce9ade1c669a242d8293..a62bbe13089155a6eb9a656ab496ba07df20571c 100644 (file)
@@ -1,3 +1,594 @@
+2018-04-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
+       * libgnarl/a-taside.ads (Tasking_State): Likewise.
+       * libgnat/a-calend.ads (Clock_Time): Likewise.
+
+2018-04-04  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
+       call notation in inlined call in GNATprove mode.
+
+2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Is_External_State): An abstract state is also external
+       when it is declared with option "synchronous".
+       * einfo.ads: Update the documentation of synthesized attribute
+       Is_External_State.
+       * sem_util.adb (Find_Simple_Properties): New routine.
+       (Is_Enabled_External_Property): New routine.
+       (State_Has_Enabled_Property): Reimplemented. The two flavors of option
+       External have precedence over option Synchronous when determining
+       whether a property is in effect.
+
+2018-04-04  Yannick Moy  <moy@adacore.com>
+
+       * sem_eval.adb (Static_Length): Take into account case of variable of
+       subtype string literal.
+
+2018-04-04  Olivier Hainque  <hainque@adacore.com>
+
+       * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
+       (Object_Section): Rename Flag_Alloc component as Flag_Xcode.
+       * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
+       component name.
+       (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
+       * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
+       change.
+
+2018-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.
+
+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.
+
+2018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/85007
+       * gnatlink.adb (Gnatlink): Remove handling of -b switch.
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
+       Remove documentation of -b switch.
+
+2018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/85036
+       * gnatlink.adb (Process_Args): Drop existing link switches if multiple
+       switches are passed for --LINK.
+
+2018-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/82813
+       * gcc-interface/misc.c (gnat_post_options): Disable string overflow
+       warnings.
+
+2018-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
+       Consider only entities for objects.
+
+2018-03-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
+       $(GNATLIBCFLAGS).
+       (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
+
+2018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (convert_with_check): Fix typo in the condition
+       guarding the overflow check emitted for the upper bound of a floating-
+       point conversion.
+
+2018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
+
+2018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/i-cexten.ads (Float_128): New type.
+
+2018-02-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
+       false if the component type is a pointer.
+
+2018-01-11  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
+       result of Get_Simple_Init_Value and pass the source location of the
+       object declaration's object_definition.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
+       properly object declarations with initializations that are
+       build-in-place function calls, when there is an address specification,
+       either as an aspect specification or an explicit attribute
+       specification clause, for the initialized object.
+       * freeze.adb (Check_Address_Clause): Do not remove side-effects from
+       initial expressions in the case of a build-in-place call.
+
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
+       private (sub)type; refactor to avoid early return statement.
+       (Not_Null_Range): Same as above.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
+       concurrent, nor effectively volatile.
+       * ghost.adb (Check_Ghost_Type): New routine.
+       * ghost.ads (Check_Ghost_Type): New routine.
+       * sem_util.adb (Is_Declaration): Reimplemented. The routine can now
+       consider specific subsets of declarations.
+       (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
+       replicated by Is_Declaration.
+       * sem_util.ads (Is_Declaration): New parameter profile. Update the
+       comment on usage.
+       (Is_Declaration_Other_Than_Renaming): Removed.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
+       as Part_Of consituents of single protected types are illegal when they
+       take place inside a protected function.
+       (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
+       enclosing function.
+       (Is_Protected_Part_Of_Constituent): New routine.
+       (Within_Function): New routine.
+
+2018-01-11  Arnaud Charlet  <charlet@adacore.com>
+
+       Bump copyright notices to 2018.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
+       Minor reformatting.
+
+2018-01-11  Justin Squirek  <squirek@adacore.com>
+
+       * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
+       to make sure a given expression function is properly parenthesized.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
+       categorization of a subprogram body which does not complete a previous
+       declaration.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
+       scope of package Ada is Standard.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
+       subcomponent of the current entity when building the body for a dynamic
+       predicate function for a record with composite subcomponents.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
+       Establish_Transient_Scope.
+       (Convert_To_Assignments): Update the call to Establish_Transient_Scope.
+       (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
+       * exp_ch6.adb (Expand_Call_Helper): Update the call to
+       Establish_Transient_Scope.
+       (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
+       Establish_Transient_Scope.
+       * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
+       management of the secondary stack to an enclosing scope if there is no
+       suitable construct to wrap, and the transient scope was intended to
+       manage the secondary stack.
+       (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
+       is a valid boundary for a transient expression which comes from the
+       statements of the alternative, otherwise alternatives cannot be
+       wrapped. Assignments of controlled objects which have controlled
+       actions suppressed now stop the traversal as there is no point in
+       looking for an enclosing construct. Add several N_xxx_Body choices to
+       the termination conditions for completeness.
+       * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
+       and the associated comment on usage.
+       * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
+       Establish_Transient_Scope.
+       (Add_Write_After): Update the call to Establish_Transient_Scope.
+       * sem_res.adb (Check_Initialization_Call): Removed.
+       (Resolve_Actuals): Account for additional cases where finalization
+       actions are required by utilizing predicate Needs_Finalization rather
+       than Is_Controlled.
+       (Resolve_Call): Type initialization procedures can now utilize
+       transient scopes to manage the secondary stack, thus preventing leaks
+       during initialization.  Remove the previous kludgy algorithm which
+       attempts to manage the secondary stack at the object creation site.
+
+2018-01-11  Jerome Lambourg  <lambourg@adacore.com>
+
+       * libgnat/g-soliop__qnx.ads: New.
+       * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
+       for QNX.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+       * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
+       a null procedure occurs in a protected definition.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+       * binderr.ads, namet.ads: Minor reformatting.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
+       xml2gnat.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+       * binde.adb (Force_Elab_Order): Give an error if there are duplicate
+       unit names.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
+       controlling argument of a dispatching call. freeze the corresponding
+       designated type.
+
+2018-01-11  Ben Brosgol  <brosgol@adacore.com>
+
+       * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
+
+2018-01-11  Ben Brosgol  <brosgol@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
+       corrections.
+       * gnat_rm.texi: Regenerate.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
+       formsl type corresponding to the actual fixed point type is private,
+       because in this case there can be no suspicious arithmetic operations
+       in the generic unless they reference a formal subprogram.  Clarify
+       warning.
+
+2018-01-11  Javier Miranda  <miranda@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): No action done for functions
+       returning class-wide types since it requires generating code using
+       'reference and the CCG target has no secondary stack.
+       * gnat1drv.adb: Disable building static dispatch tables when generating
+       C code.
+
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
+       libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
+       (File_Type): Add Default_Initial_Condition aspect.
+
+2018-01-11  Pascal Obry  <obry@adacore.com>
+
+       * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
+
+2018-01-11  Bob Duff  <duff@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
+       to match what the Libadalang-based version does.
+       * doc/gnat_ugn/about_this_guide.rst: Update reference.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Uses_SS): A controlled type requires the secondary stack
+       if it contains at least one component declaration employing a function
+       call returning on the secondary stack.
+
+2018-01-11  Yannick Moy  <moy@adacore.com>
+
+       * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+       Update description of restriction SPARK_05 with SPARK 2014.
+       * gnat_rm.texi: Regenerate.
+
+2018-01-11  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
+       sem_res.adb, sem_util.adb: Minor reformatting.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
+       has a delayed aspect which must be processed at the point the type is
+       frozen. This mimics what is done when the predicate is provided by a
+       source aspect.
+
+2018-01-11  Doug Rupp  <rupp@adacore.com>
+
+       * init.c (vxworks): Add macro checks for __aarch64__.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb (Add_Failure_Expression): New routine.
+       (Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
+       * sem_util.adb (Is_Current_Instance): Code cleanup.
+
+2018-01-11  Patrick Bernardi  <bernardi@adacore.com>
+
+       * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
+       Default_Sec_Stack_Size.
+       * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
+       limit check so that the integer index does not overflow. Check the
+       dynamic stack allocation does not cause the secondary stack pointer to
+       overflow.
+       (SS_Info): Align colons.
+       (SS_Init): Cover the case when bootstraping with an old compiler that
+       does not set Default_SS_Size.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
+       legality of an inherited operation that may require overriding, ignore
+       primitive_wrappers that correspond to explicit operations that override
+       an interface primitive.
+       * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
+       operation to which the class-wide expression applies is a protected op.
+       with a primitive_wrapper, verify that the updated inherited expression
+       does not contain an internal call to a protected function.  This
+       completes the implementation of AI12-0166.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * ali.adb: Document the remaining letters available for ALI lines.
+       (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
+       * ali.ads: Update type With_Record. Field
+       Implicit_With_From_Instantiation is no longer in use. Add field
+       Implicit_With.
+       * csinfo.adb (CSinfo): Remove the setup for attribute
+       Implicit_With_From_Instantiation.
+       * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
+       either implicitly or explicitly withed.
+       (Is_Implicit_With_Clause): New routine.
+       (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
+       confusion with the with clause attribute by the same name.
+       (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
+       * rtsfind.adb (Maybe_Add_With): Code cleanup.
+       * sem_ch8.adb (Present_System_Aux): Code cleanup.
+       * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
+       for a parent unit.
+       (Implicit_With_On_Parent): Mark the with clause as generated for a
+       parent unit.
+       * sem_ch12.adb (Inherit_Context): With clauses inherited by an
+       instantiation are no longer marked as Implicit_With_From_Instantiation
+       because they are already marked as implicit.
+       * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
+       which marks implicit with clauses as related to an instantiation.
+       * sinfo.adb (Implicit_With_From_Instantiation): Removed.
+       (Parent_With): New routine.
+       (Set_Implicit_With_From_Instantiation): Removed.
+       (Set_Parent_With): New routine.
+       * sinfo.ads: Update the documentation of attribute Implicit_With.
+       Remove attribute Implicit_With_From_Instantiation along with
+       occurrences in nodes.  Add attribute Parent_With along with occurrences
+       in nodes.
+       (Implicit_With_From_Instantiation): Removed along with pragma Inline.
+       (Parent_With): New routine along with pragma Inline.
+       (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
+       (Set_Parent_With): New routine along with pragma Inline.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_util.adb (Find_Enclosing_Scope): Return the unique defining
+       entity when the enclosing construct is a body.
+
+2018-01-11  Patrick Bernardi  <bernardi@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
+       Secondary_Stack_Size handling as a pragma is now generated for the
+       corresponding aspect instead of an attribute.  Pragma expression is
+       relocated instead of evaluated. Discriminant of the corresponding
+       record type is referenced rather than the type discriminant.
+       (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
+       Secondary_Stack_Size rep item checks to only look for the pragma rep.
+       * sem_ch13.adb (Analyze_One_Aspect): Transform
+       Aspect_Secondary_Stack_Size into a pragma instead of an attribute
+       because the attribute does not have visibility on a task type's
+       discriminants when the type's definition is expanded.
+       (Analyze_Attribute_Definition_Clause): Remove handling of
+       Attribute_Secondary_Stack_Size.
+       * snames.adb-tmpl, snames.ads-tmpl: Remove
+       Attribute_Secondary_Stack_Size, no longer used.
+
+2018-01-11  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch8.adb: Minor comment fix.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch4.adb (Process_Action): Do not abandon the inspection of an
+       individual action because the action may denote a complex expression,
+       such as a case statement, which in turn may contain additional
+       transient objects.
+
+2018-01-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
+       analysis on a copy of the expression with a copy of the index variable,
+       because full expansion will rewrite construct into a loop with the
+       original loop variable.
+       * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
+       expression is an iterated component association. Full analysis takes
+       place when construct is rewritten as a loop.
+       (In_Place_Assign_OK, Safe_Component): An iterated_component_association
+       is not safe for in-place assignment.
+       * sem_util.adb (Remove_Entity): Handle properly the case of an isolated
+       entity with no homonym and no other entity in the scope.
+
+2018-01-11  Justin Squirek  <squirek@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
+       message to be printed on the pragma argument identifier.
+
+2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
+       entity of the generated invariant procedure in order to construct a
+       proper entity chain.
+
+2018-01-11  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
+       comment.
+
+2018-01-11  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, einfo.adb (Activation_Record_Component,
+       Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
+       Allow E_Discriminant.
+
 2018-01-10  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check