+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
+ for atomic access once the component size is taken into account and
+ also do it if the component type is Atomic or Volatile_Full_Access.
+
+2018-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads: Bump copyright year.
+
+2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
+ as polynomial.
+
2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>