+2019-08-21 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Install_Null_Excluding_Check): Do not install
+ check in GNATprove mode.
+
+2019-08-21 Yannick Moy <moy@adacore.com>
+
+ * sem_spark.adb (Process_Path): Do nothing on address of
+ subprogram.
+
+2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Finalize_Address): Deal consistently with
+ subtypes of private protected types.
+
+2019-08-21 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_util.adb (Corresponding_Runtime_Package): Use high-level
+ Is_Protected_Type.
+ * sem_ch8.adb (Analyze_Renamed_Entry): Likewise.
+ * sem_ch9.adb (Analyze_Requeue): Likewise.
+
+2019-08-21 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Update_Named_Associations): Update
+ First_Named_Actual when the subprogram call has a single named
+ actual.
+
+2019-08-21 Joel Brobecker <brobecker@adacore.com>
+
+ * doc/Makefile (mk_empty_dirs): New (PHONY) rule.
+ (%.html, %.pdf, %.txt, %.info, %.texinfo): Add dependencies on
+ mk_empty_dirs.
+
+2019-08-21 Justin Squirek <squirek@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_pragmas.rst: Modify
+ documentation to reflect expected behavior.
+ * gnat_rm.texi: Regenerate.
+ * sem_prag.adb (Analyze_Pragma): Modify handling of pragma
+ Max_Entry_Queue_Length to not reject integer values of negative
+ one.
+ * sem_util.adb (Get_Max_Queue_Length): Add processing for values
+ of negative one to fit within the current scheme.
+
+2019-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_unst.adb (Unnest_Subprograms, Unnest_Subprogram): Take
+ inlining (-gnatn) into account.
+
+2019-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
+ Storage_Size): If the expression for Storage_Size is not static
+ it may depend on characterstics of another type that may bot be
+ frozen yet, so the elaboration of the expression for the aspect
+ must be attached directly to the freeze actions of the type to
+ which it applies.
+
+2019-08-20 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_util.adb (Build_DIC_Procedure_Declaration): Set the last
+ entity of the generated Default_Initial_Condition procedure in
+ order to construct a proper entity chain.
+
+2019-08-20 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_N_Slice_Or_Indexed_Component):
+ Renaming of function to apply to slices as well.
+ (Expand_SPARK): Expand prefix of slices of access type.
+
+2019-08-20 Bob Duff <duff@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): Use build-in-place in
+ the nonlimited case in STEP 4. This improves the efficiency of
+ things like (1 .. 1000 => <>). We still generate some code for
+ that, unfortunately, but it is much improved.
+ (Aggr_Assignment_OK_For_Backend): Return false if <> components
+ are present.
+
+2019-08-20 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.adb (Needs_BIP_Alloc_Form): Call
+ Requires_Transient_Scope rather than checking constrainedness
+ and so forth. We have previously improved
+ Requires_Transient_Scope to return False in various cases,
+ notably a limited record with an access discriminant. This
+ change takes advantage of that to avoid using the secondary
+ stack for functions returning such types.
+ (Make_Build_In_Place_Call_In_Allocator): Be consistent by
+ calling Needs_BIP_Alloc_Form rather than Is_Constrained and so
+ forth.
+ * sem_ch4.adb (Analyze_Allocator): The above change causes the
+ compiler to generate code that is not legal Ada, in particular
+ an uninitialized allocator for indefinite subtype. This is
+ harmless, so we suppress the error message in this case.
+
+2019-08-20 Gary Dismukes <dismukes@adacore.com>
+
+ * ali.adb, ali.ads, aspects.adb, checks.ads, checks.adb,
+ doc/gnat_rm/implementation_defined_pragmas.rst,
+ doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+ einfo.ads, exp_aggr.adb, exp_ch11.adb, exp_ch3.ads, exp_ch4.adb,
+ exp_disp.adb, inline.adb, libgnat/a-locale.ads,
+ libgnat/s-soflin.ads, par_sco.adb, repinfo.adb, sem_ch5.adb,
+ sem_disp.adb, sem_elab.adb, sem_eval.adb, sem_spark.adb,
+ sem_spark.ads, sinfo.ads: Minor reformattings, typo fixes and
+ and rewordings.
+
+2019-08-20 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * adaint.c (__gnat_to_gm_time): On _WIN32, don't round time up
+ to even second.
+
+2019-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If actual type is
+ private and distinct from nominal type in declaration, propagate
+ flags Is_Constr_Subt_For_U_Nominal and _UN_Aliased to full view
+ of private type.
+
+2019-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Expand_Loop_Entry_Attribute): When expanding a
+ loop entry attribute for a while_loop we construct a function
+ that incorporates the expanded condition of the loop. The itypes
+ that may be generated in that expansion must carry the scope of
+ the constructed function for proper handling in gigi.
+
+2019-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Build_Class_Wide_Check, Replace_Formals): When a
+ dispatching call tp a subprogram with a class-wide precondition
+ occurrs in the same declarative part as the ancestor subprogram
+ being called, the`expression for the precondition has not been
+ analyzed yet. Such a call may appear, e.g. in an expression
+ function. In that case, the replacement of formals by actuals in
+ the call cannot use the formal entities of the subprogram being
+ called, and the occurrence of the formals in the expression must
+ be located by name (Chars fields) as would be done at a later
+ freeze point, when the expression is resolved in the context of
+ the subprogram itself.
+
+2019-08-20 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Persistent_BSS): If an initialization is present
+ because of Initialize_Scalars or Normalize_Scalars, generate an
+ implicit pragma Suppress_Initialization to remove that, because
+ initialization is not allowed for these variables. Other
+ initializations remain illegal.
+
+2019-08-20 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (OK_For_Limited_Init_In_05): In the case of type
+ conversions, apply the recursive call to the Original_Node of
+ the expression Exp rather than the Expression of the
+ Original_Node, in the case where Exp has been rewritten;
+ otherwise, when Original_Node is the same as Exp, apply the
+ recursive call to the Expression.
+ (Check_Initialization): Revise condition for special check on
+ type conversions of limited function calls to test Original_Node
+ (avoiding spurious errors on expanded unchecked conversions
+ applied to build-in-place dispatching calls).
+
+2019-08-20 Patrick Bernardi <bernardi@adacore.com>
+
+ * exp_aggr.adb (Expand_Record_Aggregate): Always convert a
+ record Aggregate to assignment statements if the option
+ Aggregate_Individually_Assign is set.
+ * opt.ads (Aggregate_Individually_Assign): New option.
+ * par-prag.adb (Prag): Add Pragma_Aggregate_Individually_Assign.
+ * sem_prag.adb (Analyze_Pragma): Likewise.
+ * snames.ads-tmpl: Add Pragma_Aggregate_Individually_Assign and
+ Name_Aggregate_Individually_Assign.
+ * doc/gnat_rm/implementation_defined_pragmas.rst: Document
+ pragma Aggregate_Individually_Assign.
+ * gnat_rm.texi: Regenerate.
+
+2019-08-20 Bob Duff <duff@adacore.com>
+
+ * par-ch4.adb: Minor wording change in error messages.
+ * sem_aggr.adb (Resolve_Delta_Aggregate): Emit an error for Ada
+ versions prior to Ada 2020.
+
+2019-08-20 Bob Duff <duff@adacore.com>
+
+ * freeze.adb (Is_Atomic_VFA_Aggregate): Make the temp for
+ initialization of the atomic variable be constant. This is
+ cleaner, and might improve efficiency.
+
+2019-08-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * repinfo.adb (List_Record_Info): In -gnatR4 mode, set the
+ relevant flag on the implicit base type of a record subtype.
+
+2019-08-20 Bob Duff <duff@adacore.com>
+
+ * sem_eval.adb (Expr_Value): Implement the case of an unchecked
+ conversion of a static expression.
+
2019-08-20 Bob Duff <duff@adacore.com>
* sem_ch13.adb (Is_Null_Array): New function, used to detect the