+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