aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-01-03 11:28:42 +0100
committerJakub Jelinek <jakub@redhat.com>2024-01-03 11:29:39 +0100
commit8c22aed4b09ce6ffa7bd669377355e38f04614d6 (patch)
tree6e874a9e0a340c9513d966f6e6185b9952cec95a /gcc/ada
parent87acfc36194e3101b8ebcc599a78e2481224922d (diff)
downloadgcc-8c22aed4b09ce6ffa7bd669377355e38f04614d6.zip
gcc-8c22aed4b09ce6ffa7bd669377355e38f04614d6.tar.gz
gcc-8c22aed4b09ce6ffa7bd669377355e38f04614d6.tar.bz2
Rotate ChangeLog files.
Rotate ChangeLog files for ChangeLogs with yearly cadence.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog6974
-rw-r--r--gcc/ada/ChangeLog-20236978
2 files changed, 6979 insertions, 6973 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d1a3b80..dc0c0df 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,6977 +1,5 @@
-2023-12-19 Marc Poulhiès <poulhies@adacore.com>
-
- * gcc-interface/Make-lang.in (ada.html, ada.install-html): Add.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch3.adb (Analyze_Subtype_Declaration): Remove a short-circuit
- for subtypes without aspects when it comes to predicates.
- * sem_util.adb (Inherit_Predicate_Flags): Deal with private subtypes
- whose full view is an Itype.
-
-2023-12-19 Viljar Indus <indus@adacore.com>
-
- * sem_ch13.adb (Valid_Default_Iterator): Check all interfaces for
- valid iterator type. Also improve error reporting.
-
-2023-12-19 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Resolve_Container_Aggregate): In the Add_Named
- case, issue an error if the container aggregate is written as a
- positional aggregate, since such an aggregate must have named
- associations.
-
-2023-12-19 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/a-comlin.adb (Argument_Count): Rewrite code so there is
- only one return, to remove Improper_Returns violation.
- (Command_Name): Add pragma to exempt Improper_Returns violation.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Ctrl_Function_Call): Rework last comment.
-
-2023-12-19 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Resolve_Iterated_Association): Call
- Preanalyze_And_Resolve instead of Analyze_And_Resolve on a key
- expression of an iterated association.
-
-2023-12-19 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch9.adb, sem_ch10.adb, sem_util.adb: Fix comments.
-
-2023-12-19 Piotr Trojanek <trojanek@adacore.com>
-
- * sinput.adb, sinput.ads (Get_Logical_Line_Number_Img): Remove.
-
-2023-12-19 Patrick Bernardi <bernardi@adacore.com>
-
- * bindgen.adb (Command_Line_Used): New object.
- (Gen_Main): Only generate references to symbols used by
- Ada.Command_Line if the package is used by the partition.
- (Gen_Output_File_Ada): Ditto.
- (Resolve_Binder_Options): Check if Ada.Command_Line is in the
- closure of the partition.
-
-2023-12-19 Vasiliy Fofanov <fofanov@adacore.com>
-
- * libgnat/i-cstrin.adb (Value): Optimize.
-
-2023-12-19 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Update comment
- and body.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Is_Constr_Subt_For_UN_Aliased): Rename into...
- (Is_Constr_Array_Subt_With_Bounds): ...this.
- * exp_ch3.adb (Expand_N_Object_Declaration): Adjust to above
- renaming and remove now redundant test.
- * sem_ch3.adb (Analyze_Object_Declaration): Likewise, but set
- Is_Constr_Array_Subt_With_Bounds only on arrays.
- * gen_il-fields.ads (Opt_Field_Enum): Apply same renaming.
- * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise.
- * gen_il-internals.adb (Image): Remove specific processing for
- Is_Constr_Subt_For_UN_Aliased.
- * treepr.adb (Image): Likewise.
- * gcc-interface/decl.cc (gnat_to_gnu_entity): Adjust to renaming
- and remove now redundant tests.
- * gcc-interface/trans.cc (Identifier_to_gnu): Likewise.
- (Call_to_gnu): Likewise.
-
-2023-12-19 Johannes Kliemann <kliemann@adacore.com>
-
- * libgnat/s-rident.ads: Remove No_Dynamic_Priorities from
- Restricted_Tasking.
-
-2023-12-19 Patrick Bernardi <bernardi@adacore.com>
-
- * argv.c: Do not include adaint.h if LIGHT_RUNTIME is defined.
- * bindgen.adb (Gen_Main): Simplify command line argument and exit
- handling by requiring the runtime to always provide the required
- symbols if command line argument and exit code is enabled.
- * targparm.ads: Update comments to reflect changes to gnatbind.
-
-2023-12-19 Ronan Desplanques <desplanques@adacore.com>
- Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Initialize_Component): Use corresponding record
- types of concurrent types.
- * exp_util.ads (Make_Tag_Assignment_From_Type): Add precondition
- and extend documentation.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Is_Ignored_Transient): Rename into...
- (Is_Ignored_For_Finalization): ...this.
- * gen_il-fields.ads (Opt_Field_Enum): Adjust to above renaming.
- * gen_il-gen-gen_entities.adb (Object_Kind): Likewise.
- * exp_aggr.adb (Expand_Array_Aggregate): Likewise.
- * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise.
- * exp_util.adb (Requires_Cleanup_Actions): Likewise.
- * exp_ch4.adb (Expand_N_If_Expression): Move down declaration of
- variable Optimize_Return_Stmt.
- (Process_Transient_In_Expression): Turn procedure into a child of...
- (Process_Transients_In_Expression): ...this procedure.
- * exp_ch6.adb (Expand_Ctrl_Function_Call): Remove obsolete setting
- of Is_Ignored_Transient flag on the temporary if within a dependent
- expression of a conditional expression.
-
-2023-12-19 Yannick Moy <moy@adacore.com>
-
- * exp_spark.adb (Expand_SPARK_N_Aggregate): New procedure for the
- special expansion.
- (Expand_SPARK): Call the new expansion procedure.
- * sem_util.adb (Is_Container_Aggregate): Implement missing test.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Copy_Generic_Node): Add guard for Ancestor_Type.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen_il-fields.ads (Aggregate_Bounds): Rename to
- Aggregate_Bounds_Or_Ancestor_Type.
- * gen_il-gen-gen_nodes.adb (Aggregate_Bounds): Likewise.
- * sem_aggr.adb (Resolve_Record_Aggregate): Remove obsolete bypass.
- * sem_ch12.adb (Check_Generic_Actuals): Add decoration.
- (Copy_Generic_Node): For an extension aggregate, restore only the
- full view, if any. For a full aggregate, restore the full view as
- well as that of its Ancestor_Type, if any, and up to the root type.
- (Save_References_In_Aggregate): For a full aggregate of a local
- derived tagged type with a global ancestor, set Ancestor_Type to
- this ancestor. For a full aggregate of a global derived tagged
- type, set Ancestor_Type to the parent type.
- * sinfo-utils.ads (Aggregate_Bounds): New function renaming.
- (Ancestor_Type): Likewise.
- (Set_Aggregate_Bounds): New procedure renaming.
- (Set_Ancestor_Type): Likewise.
- * sinfo.ads (Ancestor_Type): Document new field.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_If_Expression): Also add missing calls to
- Process_Transients_In_Expression on the code path implementing the
- special optimization for an unidimensional array type and
- dependent expressions with static bounds.
-
-2023-12-19 Steve Baird <baird@adacore.com>
-
- * sem_ch8.adb (Is_Actual_Subp_Of_Inst): After calling
- Enclosing_Declaration, add a check for the case where one more
- Parent call is needed to get the enclosing declaration.
-
-2023-12-19 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_util.adb (Build_Default_Subtype_OK): Relax
- known-at-compile-time requirement.
- * sem_util.ads (Build_Default_Subtype_OK): Bring documentation
- comment up-to-date.
-
-2023-12-19 Yannick Moy <moy@adacore.com>
-
- * doc/gnat_rm/implementation_defined_pragmas.rst: Fix doc for
- pragma Ignore_Pragma, in the case where it follows another
- configuration pragma that it names, which causes the preceding
- pragma to be ignored after parsing.
- * errout.adb (Should_Ignore_Pragma_SPARK_Mode): New query.
- (SPARK_Msg_N): Do nothing if SPARK_Mode is ignored.
- (SPARK_Msg_NE): Same.
- * gnat-style.texi: Regenerate.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-12-19 Yannick Moy <moy@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): Check correct mode
- variable for GNATprove.
- * sem_prag.adb (Refined_State): Call SPARK_Msg_NE which checks
- value of SPARK_Mode before issuing a message.
- * sem_res.adb (Resolve_Entity_Name): Remove legality check for
- SPARK RM 6.1.9(1), moved to GNATprove.
-
-2023-12-19 Steve Baird <baird@adacore.com>
-
- * sem_ch12.adb (Check_Generic_Child_Unit): Introduce a new nested
- function Adjusted_Inst_Par_Ekind to cope with cases where either
- a- the visibility of a compiler-generated renaming is incorrect;
- or b- we are inside of a generic parent unit G1 that has a child
- unit G1.G2, so instantiation of G1.G2 is permitted.
-
-2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Process_If_Case_Statements): Rename into...
- (Process_Transients_In_Expression): ...this and beef up comment.
- (Expand_N_Case_Expression): Call Process_Transients_In_Expression
- unconditionally on the list of actions of each alternative.
- (Expand_N_Expression_With_Actions): Do not deal with actions in
- nested subexpressions, but call Process_Transients_In_Expression
- on the list of actions only.
- (Expand_N_If_Expression): Adjust to above renaming. Add missing
- calls to Process_Transients_In_Expression in the case when an EWA
- is not used because of Minimize_Expression_With_Actions.
-
-2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com>
-
- * gcc-interface/utils.cc (attr_target_exclusions): Make
- target/target_clones exclusion target-dependent.
- (attr_target_clones_exclusions): Ditto.
-
-2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com>
-
- * gcc-interface/utils.cc (attr_noinline_exclusions): New.
- (attr_always_inline_exclusions): Ditto.
- (attr_target_exclusions): Ditto.
- (attr_target_clones_exclusions): Ditto.
- (gnat_internal_attribute_table): Add new exclusion lists.
- (handle_noinline_attribute): Remove custom exclusion handling.
- (handle_target_attribute): Ditto.
- (handle_target_clones_attribute): Ditto.
-
-2023-12-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * terminals.c [__FreeBSD__]: Include <libutil.h>.
- (TABDLY): Only define if missing.
-
-2023-12-06 Alexandre Oliva <oliva@adacore.com>
-
- * gcc-interface/trans.cc: Include ipa-strub.h.
- (gigi): Make internal decls for targets of compiler-generated
- calls strub-callable too.
- (build_raise_check): Likewise.
- * gcc-interface/utils.cc: Include ipa-strub.h.
- (handle_strub_attribute): New.
- (gnat_internal_attribute_table): Add strub.
-
-2023-12-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/utils.cc (gnat_internal_attribute_table): Add extra
- braces to work around PR 16333 in older compilers.
-
-2023-12-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * adaint.c: Include <signal.h>.
- * expect.c: Include <string.h>.
-
-2023-12-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/gigi.h (gnat_internal_attribute_table): Change
- type to scoped_attribute_specs.
- * gcc-interface/utils.cc (gnat_internal_attribute_table): Likewise,
- using...
- (gnat_internal_attributes): ...this as the underlying array.
- * gcc-interface/misc.cc (gnat_attribute_table): New global.
- (LANG_HOOKS_ATTRIBUTE_TABLE): Use it.
-
-2023-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * adaint.c [__APPLE__]: Include <signal.h>, <sys/time.h>.
- * terminals.c [!_WIN32]: Include <signal.h>.
- [__APPLE__]: Include <util.h>.
- Fix typos.
-
-2023-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.ads (Apply_Predicate_Check): Add Deref boolean parameter.
- * checks.adb (Apply_Predicate_Check): Revert latest change. Use
- Loc local variable to hold the source location. Use a common code
- path for the generic processing and make a dereference if Deref is
- True.
- * exp_ch4.adb (Expand_Allocator_Expression): Compute Aggr_In_Place
- earlier. If it is true, do not call Apply_Predicate_Check on the
- expression on entry but on the temporary on exit with a
- dereference.
- * sem_res.adb (Resolve_Actuals): Add explicit parameter
- association in call to Apply_Predicate_Check.
-
-2023-11-30 Steve Baird <baird@adacore.com>
-
- * exp_put_image.adb (Put_Image_Enabled): Return True in more
- cases. In particular, when testing to see if a type occurs in a
- predefined unit, test the type's code unit
- (obtained by calling Get_Code_Unit). In the case of type within a
- user-defined instance of a predefined generic, Is_Predefined_Unit
- will return True for the type and False for the type's code unit.
-
-2023-11-30 Yannick Moy <moy@adacore.com>
-
- * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
- Remove checking on volatility. Remove handling of SPARK_Mode, not
- needed anymore.
- (Analyze_Entry_Or_Subprogram_Contract): Remove checking on
- volatility.
- (Check_Type_Or_Object_External_Properties): Same.
- (Analyze_Object_Contract): Same.
- * freeze.adb (Freeze_Record_Type): Same. Also remove checking on
- synchronized types and ghost types.
- * sem_ch12.adb (Instantiate_Object): Remove checking on
- volatility.
- (Instantiate_Type): Same.
- * sem_ch3.adb (Access_Type_Declaration): Same.
- (Derived_Type_Declaration): Remove checking related to untagged
- partial view.
- (Process_Discriminants): Remove checking on volatility.
- * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Same.
- * sem_ch6.adb (Analyze_Procedure_Call): Fix use of SPARK_Mode
- where GNATprove_Mode was intended.
- * sem_disp.adb (Inherited_Subprograms): Protect against Empty
- node.
- * sem_prag.adb (Analyze_Global_In_Decl_Part): Remove checking on
- volatility.
- (Analyze_Pragma): Same.
- * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove.
- (Resolve_Actuals): Remove checking on volatility.
- (Resolve_Entity_Name): Same.
- * sem_util.adb (Check_Nonvolatile_Function_Profile): Remove.
- (Check_Volatility_Compatibility): Remove.
- * sem_util.ads: Same.
-
-2023-11-30 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/i-cstrin.adb (Free): Rewrite code so there is only one
- return, to remove Improper_Returns violation.
- (Position_Of_Nul): Add pragma to exempt Improper_Returns
- violation.
- (To_Chars_Ptr): Likewise.
- (Value): Likewise
-
-2023-11-30 Viljar Indus <indus@adacore.com>
-
- * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Avoid
- checking compile time warnings and errors if backend has not been
- activated.
-
-2023-11-30 Yannick Moy <moy@adacore.com>
-
- * checks.adb, exp_aggr.adb, exp_ch4.ads, exp_ch5.adb,
- exp_util.adb, exp_util.ads, inline.adb, sem_ch13.adb,
- sem_ch6.adb, sem_ch8.adb, sem_prag.adb, sem_util.ads: Fix comments
- and typos.
-
-2023-11-30 Javier Miranda <miranda@adacore.com>
-
- * freeze.adb (Declared_In_Expanded_Body): New subprogram.
- (In_Expanded_Body): Minor code cleanup.
- (Freeze_Expression): Code cleanup plus factorize in a new function
- the code that identifies entities declared in the body of expander
- generated subprograms, since such case must be checked also for
- other node kinds when climbing the tree to locate the place to
- insert the freezing node.
-
-2023-11-30 Steve Baird <baird@adacore.com>
-
- * sem_ch8.adb (Find_Direct_Name): In the case of a resolving a
- name that occurs within an instantiation, add code to detect and
- filter out unwanted candidate resolutions. The filtering is
- performed via a call to Remove_Interp.
-
-2023-11-30 Steve Baird <baird@adacore.com>
-
- * libgnarl/a-rttiev.ads: add a comment
-
-2023-11-30 Steve Baird <baird@adacore.com>
-
- * sem_ch12.adb (Validate_Discriminated_Formal_Type): Replace
- Entity_Id equality test with a call to Subtypes_Match. Distinct
- subtypes which are statically matching should pass this test.
- (Check_Discriminated_Formal): Replace Entity_Id equality test with
- a call to Subtypes_Statically_Match (preceded by a check that the
- preconditions for the call are satisfied).
-
-2023-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Add Special_Return
- boolean constant to hold the value of For_Special_Return_Object
- for the allocator and use it throughout the procedure.
-
-2023-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.adb (Apply_Predicate_Check): Also deal specifically with
- an expression that is a qualified aggregate in an allocator.
-
-2023-11-30 Steve Baird <baird@adacore.com>
-
- * sem_ch4.adb (Constant_Indexing_OK): As a temporary stopgap,
- return False in the case of an unanalyzed prefixed-view call.
-
-2023-11-28 Simon Wright <simon@pushface.org>
-
- PR ada/111909
- * adaint.c
- (__gnat_get_file_names_case_sensitive): Split out the __APPLE__
- check and remove the checks for __arm__, __arm64__. For Apple,
- file names are by default case-insensitive unless TARGET_OS_IOS is
- set.
-
-2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (annotate_value): Apply the same processing
- for parameters as for variables.
-
-2023-11-28 Marc Poulhiès <poulhies@adacore.com>
-
- * gcc-interface/utils2.cc (build_simple_component_ref): Add
- comment on assertion.
-
-2023-11-28 Steve Baird <baird@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): In the case of a
- Reduce attribute reference, fix bugs in initializing Accum_Typ.
- The previous version was incorrect in the case where E1 refers to
- the first of multiple possible overload resolution candidates and
- that candidate does not turn out to be the right one. The previous
- version also had code to compute Accum_Typ via a different method
- if the initial computation turned out to yield a universal numeric
- type. Delete that initial computation and use the second method in
- all cases.
-
-2023-11-28 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Add_Discriminant_Values): Remove this procedure.
- (Propagate_Discriminants): Remove this procedure.
- (Resolve_Record_Aggregate): Remove code (the Capture_Discriminants
- block statement) related to propagating discriminants and
- generating initializations for subcomponents of a
- discriminant-dependent box-defaulted subcomponent of a nonprivate
- record type with discriminants, and handle all top-level
- components that have a non-null base init proc directly, by
- calling Add_Association with "Is_Box_Present => True". Also,
- combine that elsif clause with the immediately preceding elsif
- clause, since they now both contain the same statement (calls to
- Add_Association with the same actuals).
-
-2023-11-28 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Check_Result_And_Post_State): Disable this when
- we're in an instance. Misc cleanup.
-
-2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.ads (Expand_Cleanup_Actions): Move declaration to the
- Finalization Management section.
- * exp_ch7.adb (Transient Scope Management): Move description down to
- after that of the general finalization and make a few changes.
- (Insert_Actions_In_Scope_Around): Call Process_Transients_In_Scope
- only if cleanups are being handled.
- (Process_Transients_In_Scope): Remove redundant test on Clean.
- * exp_util.ads (Within_Case_Or_If_Expression): Adjust description.
- * exp_util.adb (Within_Case_Or_If_Expression): Only return true if
- within the dependent expressions of the conditional expressions.
-
-2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/gnat_rm/the_implementation_of_standard_i_o.rst: Fix a couple
- occurrences of incorrect quoting.
- * gnat_rm.texi: Regenerate.
-
-2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Build_Flag_For_Function): New function made up of the
- code building the special flag for return object present...
- (Expand_N_Extended_Return_Statement): ...in there. Replace the code
- with a call to Build_Flag_For_Function. Add assertion for the flag.
- (Expand_Non_Function_Return): For a nested return, if the return
- object needs finalization actions, update the special flag.
-
-2023-11-28 Sebastian Poeplau <poeplau@adacore.com>
-
- * einfo-utils.ads, einfo-utils.adb (Is_Address_Compatible_Type):
- New function.
-
-2023-11-28 Gary Dismukes <dismukes@adacore.com>
-
- * exp_aggr.adb (Expand_Container_Aggregate): Apply a conversion to the
- size temp object passed as the second actual parameter on the call to
- the New_Indexed_Subp function, to convert it to the index type of the
- container type (taken from the first formal parameter of the function).
-
-2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_attr.adb (Eval_Attribute): Do not proceed in a spec expression
- for nonstatic representation attributes of a scalar subtype when the
- subtype is not frozen.
- * sem_ch3.adb (Analyze_Object_Declaration): Do not freeze the type
- of the object in a spec expression.
-
-2023-11-28 Richard Kenner <kenner@adacore.com>
-
- * exp_unst.adb (Note_Uplevel_Bound): Treat
- N_Unchecked_Type_Conversion like N_Type_Conversion.
-
-2023-11-28 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-imgboo.adb: Remove with_clause now in spec file.
- * libgnat/s-imgboo.ads: Remove dependency on System.Val_Bool.
- (Image_Boolean): Replace call to Value_Boolean by passing value V
- to updated ghost function Is_Boolean_Image_Ghost.
- * libgnat/s-valboo.ads (Is_Boolean_Image_Ghost): Move to other
- unit.
- (Value_Boolean.): Update precondition.
- * libgnat/s-valspe.ads (Is_Boolean_Image_Ghost): Move here. Add
- new parameter for expected boolean value.
-
-2023-11-28 Tucker Taft <taft@adacore.com>
-
- * sem_scil.adb: Handle discriminant specification.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (Loop_Statement_to_gnu): Always use the
- simpler form for a loop with a boolean iteration variable.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Subtype>: Put
- the alignment directly on the type in the constrained case too.
- * gcc-interface/utils.cc (maybe_pad_type): For an array type, take
- the alignment of the element type as the original alignment.
-
-2023-11-21 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Resolve_Container_Aggregate): In the case where Comp
- is an N_Iterated_Component_Association, pick up Discrete_Choices rather
- than Choices.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Build_Finalizer): For package specs and bodies, push
- and pop the specs onto the scope stack only once.
- * inline.adb (Cleanup_Scopes): Call Pop_Scope instead of End_Scope.
-
-2023-11-21 Steve Baird <baird@adacore.com>
-
- * sem_aggr.adb (Resolve_Delta_Array_Aggregate): In the case of a
- deep delta choice, the expected type for the expression will
- typically not be the component type of the array type, so a call
- to Analyze_And_Resolve that assumes otherwise would be an error.
- It turns out that such a call, while wrong, is usually harmless
- because the expression has already been marked as analyzed. This
- doesn't work if the aggregate occurs in a postcondition and, in
- any case, we don't want to rely on this. So do not perform the
- call in the deep case.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_warn.adb (Check_References.Type_OK_For_No_Value_Assigned):
- New predicate.
- (Check_References): For Warn_On_No_Value_Assigned, use the same test
- on the type in the address-not-taken and default cases.
-
-2023-11-21 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Retrieve the
- iteration type's iteration interface progenitor via
- Iterator_Interface_Ancestor, in the case of both "in" and "of"
- iterators. Narrow the scope of Pack, so it's declared and
- initialized only within the code related to "of" iterators, and
- change its name to Cont_Type_Pack. Adjust comments.
- * sem_ch5.adb (Get_Cursor_Type): In the case of a derived type,
- retrieve the iteration type's iterator interface progenitor (if it
- exists) via Iterator_Interface_Ancestor rather than assuming that
- the parent type is the interface progenitor.
- * sem_util.ads (Iterator_Interface_Ancestor): New function.
- * sem_util.adb (Iterator_Interface_Ancestor): New function
- returning a type's associated iterator interface type, if any, by
- collecting and traversing the type's interfaces.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_attr.adb (Resolve_Attribute) <Attribute_Address>: Remove the
- bypass for prefixes with task type.
-
-2023-11-21 Viljar Indus <indus@adacore.com>
-
- * par.adb: Restore Style_Checks after parsing each unit.
-
-2023-11-21 Yannick Moy <moy@adacore.com>
-
- * exp_spark.adb (Expand_SPARK_Delta_Or_Aggregate): Fix type.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation): Test Expander_Active
- to detect generic contexts for the generation of cleanup actions.
-
-2023-11-21 Justin Squirek <squirek@adacore.com>
-
- * libgnat/g-catiio.adb (Value): Modify conditionals to use 'Last
- instead of 'Length
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Null_Status): Deal with unchecked type conversions.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Convert_To_Assignments): Do not treat initialization
- procedures specially when it comes to creating a transient scope.
- * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise.
- * exp_util.adb (Requires_Cleanup_Actions): Likewise.
-
-2023-11-21 Doug Rupp <rupp@adacore.com>
-
- * s-oscons-tmplt.c: #define CLOCK_RT_Ada "CLOCK_MONOTONIC" for
- __vxworks
-
-2023-11-21 Steve Baird <baird@adacore.com>
-
- * sem_aggr.adb: Replace "not Present (...)" call with "No (...)" call.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen_il-fields.ads (Opt_Field_Enum): Remove Is_Finalization_Wrapper
- * gen_il-gen-gen_nodes.adb (N_Block_Statement): Likewise.
- * sinfo.ads (Is_Finalization_Wrapper): Delete.
- * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust comment
- and remove obsolete code testing the Is_Finalization_Wrapper flag.
- * exp_util.adb (Requires_Cleanup_Actions): Likewise.
-
-2023-11-21 Doug Rupp <rupp@adacore.com>
-
- * libgnat/libada.gpr: Revise section 1
-
-2023-11-21 Steve Baird <baird@adacore.com>
-
- * par.adb: Add new Boolean variable Inside_Delta_Aggregate.
- * par-ch4.adb (P_Simple_Expression): Add support for a deep delta
- aggregate choice. We turn a sequence of selectors into a peculiar
- tree. We build a component (Indexed or Selected) whose prefix is
- another such component, etc. The leftmost prefix at the bottom of
- the tree has a "name" which is the first selector, without any
- further prefix. For something like "with delta (1)(2) => 3" where
- the type of the aggregate is an array of arrays of integers, we'll
- build an N_Indexed_Component whose prefix is an integer literal 1.
- This is consistent with the trees built for "regular"
- (Ada-defined) delta aggregates.
- * sem_aggr.adb (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice):
- New queries.
- (Resolve_Deep_Delta_Assoc): new procedure.
- (Resolve_Delta_Array_Aggregate): call Resolve_Deep_Delta_Assoc in
- deep case.
- (Resolve_Delta_Record_Aggregate): call Resolve_Deep_Delta_Assoc in
- deep case.
- (Get_Component_Type): new function replaces old Get_Component
- function.
- * sem_aggr.ads (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice):
- New queries.
- * exp_aggr.adb (Expand_Delta_Array_Aggregate): add nested function
- Make_Array_Delta_Assignment_LHS; call it instead of
- Make_Indexed_Component.
- (Expand_Delta_Record_Aggregate): add nested function
- Make_Record_Delta_Assignment_LHS; call it instead of
- Make_Selected_Component.
- * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Insert range
- checks for indexes in deep delta aggregates.
-
-2023-11-21 Ronan Desplanques <desplanques@adacore.com>
-
- * adaint.c (__gnat_unlink): Add new parameter and fix text
- conversion on Windows. Remove unnecessary curly braces.
- * adaint.h (__gnat_unlink): Add new parameter.
- * libgnat/i-cstrea.ads (unlink): Adapt to __gnat_unlink signature
- change.
- * libgnat/i-cstrea.adb (unlink): New Subprogram definition.
- * libgnat/s-crtl.ads (unlink): Adapt to __gnat_unlink signature
- change.
- * libgnat/s-fileio.adb (Delete): Pass encoding argument to unlink.
-
-2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Save_Global_References.Set_Global_Type): Beef up
- comment about the setting of the full view.
- * sem_res.adb (Resolve_Actuals.Insert_Default): Add another bypass
- for the case of a generic context.
-
-2023-11-21 Marc Poulhiès <poulhies@adacore.com>
-
- * doc/gnat_ugn/the_gnat_compilation_model.rst: Move index
- directives.
- * gnat_ugn.texi: Regenerate.
-
-2023-11-21 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * par_sco.adb (Process_Decisions)<Process_Node>: Skip aspect
- specifications.
-
-2023-11-21 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/libgnat_common.gpr: Unconditionally pass -gnatg.
-
-2023-11-21 Marc Poulhiès <poulhies@adacore.com>
-
- * exp_util.ads: Typo fix.
-
-2023-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Also create a
- TYPE_DECL for the return type built for the CI/CO mechanism.
-
-2023-11-10 Andris Pavēnis <andris.pavenis@iki.fi>
-
- * expect.c (__gnat_waitpid): fix syntax errors
-
-2023-11-09 Simon Wright <simon@pushface.org>
-
- PR ada/111813
- * libgnat/a-calfor.adb (Value (2)): Allow values of
- parameter Elapsed_Time greater than or equal to 24 hours, by doing
- the hour calculations in Natural rather than Hour_Number (0 ..
- 23). Calculate the result directly rather than by using Seconds_Of
- (whose Hour parameter is of type Hour_Number).
- If an exception occurs of type Constraint_Error, re-raise it
- rather than raising a new CE.
-
-2023-11-07 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/utils.cc (flag_isoc2x): Rename to flag_isoc23.
-
-2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Apply the
- specific rewriting done for an aliased object with an unconstrained
- array nominal subtype in the renaming case too.
-
-2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (gnat_gimplify_expr) <CALL_EXPR>: Delete.
-
-2023-11-07 Bob Duff <duff@adacore.com>
-
- * sem_ch13.ads (Set_Enum_Esize): Do not set alignment.
- * sem_ch13.adb (Set_Enum_Esize): Do not set alignment. Archaeology
- seems to show that this line of code dates from when "Alignment =
- 0" meant "the Alignment is not known at compile time" and "the
- Alignment is not yet known at compile time" as well as "the
- Alignment is zero". In any case, it seems to be unnecessary, and
- in this case harmful, because gigi would crash. Alignment_Clause
- is set (because there is one), so gigi would query the Alignment,
- but Alignment was destroyed.
-
-2023-11-07 Julien Bortolussi <bortolussi@adacore.com>
-
- * doc/share/conf.py: Changed the background color and the logo.
-
-2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen_il-fields.ads (Opt_Field_Enum): Add Compare_Type.
- * gen_il-gen-gen_nodes.adb (N_Op_Eq): Likewise.
- (N_Op_Ge): Likewise.
- (N_Op_Gt): Likewise.
- (N_Op_Le): Likewise.
- (N_Op_Lt): Likewise.
- (N_Op_Ne): Likewise.
- * sinfo.ads (Compare_Type): Document new field.
- * sem_ch4.adb (Analyze_Comparison_Equality_Op): If the entity is
- already present, set the Compare_Type on overloaded operands if it
- is present on the node.
- * sem_ch12.adb (Check_Private_View): Look into the Compare_Type
- instead of the Etype for comparison operators.
- (Copy_Generic_Node): Remove obsolete code for comparison
- operators.
- (Save_Global_References.Save_References): Do not walk into the
- descendants of N_Implicit_Label_Declaration nodes.
- (Save_Global_References.Set_Global_Type): Look into the
- Compare_Type instead of the Etype for comparison operators.
- * sem_res.adb (Resolve_Comparison_Op): Set Compare_Type.
- (Resolve_Equality_Op): Likewise.
-
-2023-11-07 Ronan Desplanques <desplanques@adacore.com>
-
- * adaint.c (__gnat_file_time): Fix Windows version.
-
-2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Fold initialization
- expression of Nominal_Subtype_Is_Constrained_Array constant into
- the computation of Rewrite_As_Renaming and remove the constant.
- Set it to True for an aliased array with unconstrained nominal
- subtype if the subtype of the expression is also unconstrained.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_util.adb (Add_Own_DIC, Add_Own_Invariants): Store the aspect
- expression in Expression_Copy.
-
-2023-11-07 Yannick Moy <moy@adacore.com>
-
- * exp_aggr.adb: Apply the renaming.
- * exp_ch3.adb: Same.
- * exp_ch4.adb: Same.
- * exp_ch6.adb: Same.
- * exp_ch7.adb: Same.
- * exp_util.adb: Same.
- * freeze.adb: Same.
- * sem_aggr.adb: Same.
- * sem_attr.adb: Same.
- * sem_aux.adb: Alphabetize Is_Limited_Type. Rename.
- * sem_aux.ads: Same.
- * sem_ch3.adb: Apply the renaming.
- * sem_ch6.adb: Same.
- * sem_ch8.adb: Same.
- * sem_prag.adb: Same.
- * sem_res.adb: Same.
- * sem_util.adb: Same.
-
-2023-11-07 Viljar Indus <indus@adacore.com>
-
- * aspects.adb (Exchange_Aspects): Removed. This method was
- typically called after a Rewrite method. Now since the Rewrite
- switches the aspects between the new and the old node it is no
- longer needed.
- (Has_Aspects): Converted to a utility method that performs the same
- before as the previous Has_Aspects field did. Meaning it shows whether
- a node actually has aspects or not.
- (Copy_Aspects): New utility method that performs a deep copy of the
- From nodes aspects.
- (Aspect_Specfications): Removed. No longer needed. Replaced
- by the primitive operation for the Aspect_Specification fields.
- (Set_Aspect_Specifications): Likewise.
- (Aspect_Specifications_Hash_Table): Remove the table and all the
- utility methods for storing the old aspects.
- * aspects.ads: Likewise.
- * atree.adb (Copy_Separate_Tree): Remove custom code for aspects.
- (New_Copy): Likewise.
- (Replace): Likewise.
- (Rewrite): Likewise.
- * exp_ch3.adb (Expand_N_Object_Declaration): Keep the aspects from the old node.
- * exp_ch6.adb (Validate_Subprogram_Calls): Previously aspects were ignored
- because they were not on the tree. Explicitly ignore them here
- when traversing the tree.
- * exp_unst.adb (Build_Tables): Likewise
- * gen_il-fields.ads: Remove Has_Aspects and add
- Aspect_Specifications fields.
- * gen_il-gen-gen_nodes.adb: Add Aspect_Specification fields
- for all nodes that can have aspects. Additionally add
- Expression_Copy for Aspect_Speficiations to avoid reusing
- the Associated_Node for generic instantiation and aspect
- analysis.
- * ghost.adb (Remove_Ignored_Ghost_Node): Remove call to Remove_Aspects.
- The rewritten node is a Null_Statement that cannot have aspects
- and there is not anything to gain from removing them from the
- Orignal_Node of N since it technically is not part of the active
- tree.
- * inline.adb (Process_Formals_In_Aspects): Simplify code for node traversal.
- * par-ch13.adb: Avoid setting the parent explicitly for the
- Aspect_Specifications list. This is done explicitly in the setter.
- * par-ch6.adb: Likewise.
- * par_sco.adb (Traverse_Aspects): Handle early return.
- * sem_ch10.adb: Simplify code for Analyze_Aspect_Specifications.
- * sem_ch11.adb: Likewise.
- * sem_ch12.adb (Analyze_Formal_Derived_Interface_Type): Keep the aspects from
- the orignal node after rewrite.
- (Analyze_Formal_Derived_Type): Likewise.
- (Analyze_Formal_Interface_Type): Likewise.
- (Analyze_Formal_Object_Declaration): Simplify code for
- Analyze_Aspect_Specifications.
- (Analyze_Formal_Package_Declaration): Likewise.
- (Analyze_Formal_Subprogram_Declaration): Likewise.
- (Analyze_Formal_Type_Declaration): Likewise.
- (Analyze_Generic_Package_Declaration): Remove Exchange_Aspects.
- The new node already has the correct aspects after the rewrite.
- Also simplify code for Analyze_Aspect_Specifications.
- (Analyze_Generic_Subprogram_Declaration): Likewise.
- (Analyze_Package_Instantiation): Simplify code for
- Analyze_Aspect_Specifications.
- (Build_Instance_Compilation_Unit_Nodes): Remove explicit copy of
- aspects that is no longer needed.
- (Save_References): Update the traversal code to handle
- Aspect_Specifications in the tree.
- (Copy_Generic_Node): Remove explicit copy for aspects. New_Copy
- took care of that already.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Add early return to simplify
- code for its calls. Avoid reusing the Entity(Associated_Node)
- field for storing the original expression. Instead use the
- new Expression_Copy field since Entity(Associated_Node) is
- also used in generic instantiation.
- (Analyze_Aspects_On_Subprogram_Body_Or_Stub): Simlify call
- to Analyze_Aspect_Specifications.
- (Check_Aspect_At_End_Of_Declarations): Use Expression_Copy
- instead of Entity.
- (Check_Aspect_At_Freeze_Point): Likewise.
- * sem_ch3.adb: Simplify calls to Analyze_Aspect_Specifications.
- * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Expression_Function): Keep the aspects from the
- original node after a rewrite.
- (Analyze_Generic_Subprogram_Body): Remove Exchange aspects
- that is no longer needed. Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Null_Procedure): Keep the aspects from the
- original node after a rewrite.
- (Analyze_Subprogram_Body_Helper): Simplify calls to
- Analyze_Aspect_Specifications.
- (Analyze_Subprogram_Declaration): Likewise.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Remove Exchange aspects
- that is no longer needed. Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Package_Declaration): Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Private_Type_Declaration): Likewise.
- * sem_ch8.adb: Simplify calls to
- Analyze_Aspect_Specifications.
- * sem_ch9.adb (Analyze_Entry_Body): Simplify call to
- Analyze_Aspects_On_Subprogram_Body_Or_Stub.
- (Analyze_Entry_Declaration): Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Protected_Body): Likewise.
- (Analyze_Protected_Type_Declaration): Likewise.
- (Analyze_Single_Protected_Declaration): Keep the aspects from
- the original node after a rewrite. Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Single_Task_Declaration): Likewise.
- (Analyze_Task_Body): Simplify call to
- Analyze_Aspect_Specifications.
- (Analyze_Task_Type_Declaration): Simplify calls to
- Analyze_Aspect_Specifications.
- * sem_dim.adb: Remove explicitly setting the parents
- for the Aspect_Specification list.
- * sem_disp.adb: Remove the with that is no longer
- required since Aspect_Specifications is a node operation now.
- * sem_util.adb (Copy_Node_With_Replacement): Remove explicit code for aspects.
- * treepr.adb (Print_Field): Remove the version that was used for printing
- aspects.
- (Print_Node): Remove aspect specific code.
-
-2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen_il-gen-gen_nodes.adb (N_Op_Boolean): Fix description.
- * sem_ch4.adb (Analyze_Comparison_Equality_Op): Tidy up.
- * sem_ch12.adb (Copy_Generic_Node): Use N_Op_Compare subtype.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch6.adb, exp_disp.adb, sem_ch13.adb, sem_ch3.adb: Fix newly
- detected violations.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch3.adb, sem_ch4.adb, sem_eval.adb: Fix newly detected
- violations.
-
-2023-11-07 Ronan Desplanques <desplanques@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
- -gnatwc documentation.
- * gnat_ugn.texi: Regenerate.
-
-2023-11-07 Steve Baird <baird@adacore.com>
-
- * local_restrict.ads: A new package. Declares Local_Restriction
- enumeration type and provides operations to check for local
- restriction violations.
- * local_restrict.adb: Corresponding package body. Replace "not
- Present (X)" calls with "No (X)" calls.
- * aspects.ads: Add a new enumeration elements,
- Aspect_Local_Restrictions and Aspect_User_Aspect, to the Aspect_Id
- enumeration type. Update Aspect_Id-indexed aggregates. Add nested
- package User_Aspect_Support to manage two pieces of state. One is
- a map from identifiers to User_Aspect_Definition pragmas (updated
- when such a pragma is encountered). The other is an
- access-to-subprogram variable that is introduced in order to keep
- the bulk of semantics out of the closure of package Aspects while
- allowing a call from aspects.adb to the sem_ch13 procedure that
- analyzes a User_Aspect aspect specification.
- * aspects.adb (Find_Aspect): Cope with a case of a block statement
- with an empty parent. It is not clear whether this is papering
- over a compiler bug. Add indirect call through the aforementioned
- access-to-subprogram variable when Find_Aspect enounters an
- unanalyzed User_Aspect aspect specification. If Find_Aspect is
- called looking for aspect Foo, then a User_Aspect specification
- might generate (during analysis) a Foo aspect specification. So
- the Find_Aspect call needs to trigger that analysis if it has not
- already taken place. Provide a body for package
- User_Aspect_Support. Replace "not Present (X)" call with "No (X)"
- call.
- * freeze.adb (Freeze_Subprogram): Check local restriction
- compatibility when a dispatching operation is overridden.
- * par-prag.adb: Add support for parsing a User_Aspect_Definition
- pragma.
- * restrict.ads: We'd like to have the body of package Restrict
- include a call to a procedure declared in package Local_Restrict.
- Doing that in the obvious way pulls most of semantics into the
- closure of package Restrict, and that turns out to cause problems.
- So we introduce a level of indirection and instead call through an
- access-to-subprogram value. In this unit, we declare the
- access-to-subprogram type and object.
- * restrict.adb (Check Restriction): When a construct is
- encountered that could violate a global restriction (depending on
- whether the given restriction is in effect), Check_Restriction is
- called. At this point, we also check for a violation of any
- corresponding local restriction that is in effect. For reasons
- described above, this check is performed via an indirect call.
- * sem_ch13.ads (Parse_Aspect_Local_Restrictions): A new function,
- similar to the existing Parse_Aspect_Xxx subprograms.
- * sem_ch13.adb: Perform semantic analysis of Local_Restrictions
- and User_Aspect aspect specifications. Declare and call new
- Validate_Aspect_Local_Restrictions and
- Analyze_User_Aspect_Aspect_Specification procedures (a reference
- to the latter is registered during package elaboration). In
- Analyze_Aspect_Specifications, do not set the Analyzed flag of a
- User_Aspect aspect specification. Replace "not Present (X)" call
- with "No (X)" call. Replace 'Image with 'Img in a case where the
- prefix of the attribute reference is an object; this is done to
- accomodate older compilers.
- * sem_ch6.adb (Check_Subtype_Conformant): Include in subtype
- conformance check a check for overriding-related compatibility of
- local restrictions.
- * sem_ch8.adb (Analyze_Subprogram_Renaming): In the case of an
- instance of a generic that takes a formal subprogram, check that
- formal and actual are compatible with respect to local
- restrictions.
- * sem_prag.adb: Add support for User_Aspect_Definition pragma.
- * sem_res.adb (Resolve_Call): Check caller/callee compatibility
- with respect to local restrictions.
- * snames.ads-tmpl: Add Name_Local_Restrictions, Name_User_Aspect,
- and Name_User_Aspect_Definition constants.
- * doc/gnat_rm/implementation_defined_aspects.rst: Document new
- aspects.
- * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
- pragma.
- * doc/gnat_ugn/the_gnat_compilation_model.rst: Add
- User_Aspect_Definition to list of GNAT pragmas.
- * gcc-interface/Make-lang.in: Add local_restrict.o.
- * gnat-style.texi: Regenerate.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-11-07 Bob Duff <duff@adacore.com>
-
- * sem_ch4.adb (Is_Private_Overriding): Return True in the case
- where a primitive operation is publicly inherited but privately
- overridden.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove code from the
- ELSE branch, because it was is identical to code before the IF
- statements itself.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Change Ctyp and Csiz
- from variables to constants and compute them using the nominal type
- of the assigned array object.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb, libgnarl/s-osinte__android.ads,
- libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__qnx.ads,
- libgnarl/s-osinte__rtems.ads, libgnat/s-gearop.adb,
- libgnat/s-poosiz.adb, sem_util.adb: Fix style.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Simplify handling of
- assignments with string literals.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove Rhs_Val_Known;
- represent unknown value by assigning Rhs_Val with No_Uint.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb
- (Expand_Bit_Packed_Element_Set): Change local Decl object from
- variable to constant.
- (Setup_Inline_Packed_Array_Reference): Likewise for Csiz.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_pakd.adb (Setup_Inline_Packed_Array_Reference): Remove extra
- whitespace from the list of parameters.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Get_Actual_Subtype_If_Available): Only call Etype
- when necessary.
-
-2023-11-07 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb
- (Get_Actual_Subtype,Get_Actual_Subtype_If_Available): Fix handling
- of expanded names.
-
-2023-11-07 Viljar Indus <indus@adacore.com>
-
- * sem_prag.adb: (Analyze_Pragma): Reduce the number of nested if
- statements.
-
-2023-11-07 Viljar Indus <indus@adacore.com>
-
- * sem_ch10.adb: (Analyze_Compilation_Unit): Restore the orignal
- state of style check pragmas at the end of the analysis.
-
-2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_pakd.adb (Get_Base_And_Bit_Offset): Use the full component
- reference instead of just the selector name for 'Bit_Position.
-
-2023-11-04 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-interface/misc.cc: Update for changes to diagnostic_context.
-
-2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
-
- * gcc-interface/Makefile.in: Handle Darwin rpaths.
-
-2023-10-20 Alexandre Oliva <oliva@adacore.com>
-
- * gcc-interface/trans.cc (gigi): Mark __gnat_reraise_zcx with
- ECF_XTHROW.
- (build_raise_check): Likewise for all rcheck subprograms.
-
-2023-10-19 Yannick Moy <moy@adacore.com>
-
- * aspects.ads: Add aspect Side_Effects.
- * contracts.adb (Add_Pre_Post_Condition)
- (Inherit_Subprogram_Contract): Add support for new contract.
- * contracts.ads: Update comments.
- * einfo-utils.adb (Get_Pragma): Add support.
- * einfo-utils.ads (Prag): Update comment.
- * errout.ads: Add explain codes.
- * par-prag.adb (Prag): Add support.
- * sem_ch13.adb (Analyze_Aspect_Specifications)
- (Check_Aspect_At_Freeze_Point): Add support.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper)
- (Analyze_Subprogram_Declaration): Call new analysis procedure to
- check SPARK legality rules.
- (Analyze_SPARK_Subprogram_Specification): New procedure to check
- SPARK legality rules. Use an explain code for the error.
- (Analyze_Subprogram_Specification): Move checks to new subprogram.
- This code was effectively dead, as the kind for parameters was set
- to E_Void at this point to detect early references.
- * sem_ch6.ads (Analyze_Subprogram_Specification): Add new
- procedure.
- * sem_prag.adb (Analyze_Depends_In_Decl_Part)
- (Analyze_Global_In_Decl_Part): Adapt legality check to apply only
- to functions without side-effects.
- (Analyze_If_Present): Extract functionality in new procedure
- Analyze_If_Present_Internal.
- (Analyze_If_Present_Internal): New procedure to analyze given
- pragma kind.
- (Analyze_Pragmas_If_Present): New procedure to analyze given
- pragma kind associated with a declaration.
- (Analyze_Pragma): Adapt support for Always_Terminates and
- Exceptional_Cases. Add support for Side_Effects. Make sure to call
- Analyze_If_Present to ensure pragma Side_Effects is analyzed prior
- to analyzing pragmas Global and Depends. Use explain codes for the
- errors.
- * sem_prag.ads (Analyze_Pragmas_If_Present): Add new procedure.
- * sem_util.adb (Is_Function_With_Side_Effects): New query function
- to determine if a function is a function with side-effects.
- * sem_util.ads (Is_Function_With_Side_Effects): Same.
- * snames.ads-tmpl: Declare new names for pragma and aspect.
- * doc/gnat_rm/implementation_defined_aspects.rst: Document new aspect.
- * doc/gnat_rm/implementation_defined_pragmas.rst: Document new pragma.
- * gnat_rm.texi: Regenerate.
-
-2023-10-19 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/s-imagef.adb (Set_Image_Fixed): Refactor loop.
-
-2023-10-19 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/s-imguti.adb (Set_Decimal_Digits): Add pragma to exempt
- Unassigned_OUT_Parameters.
- (Set_Floating_Invalid_Value): Likewise
-
-2023-10-19 Patrick Bernardi <bernardi@adacore.com>
-
- * bindusg.adb (Display): Make it clear -Q adds to the number of
- secondary stacks generated by the binder.
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
- Document the -Q gnatbind switch and fix references to old
- runtimes.
- * gnat-style.texi: Regenerate.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-10-19 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch3.adb (Constrain_Array): Replace manual list length
- computation by call to List_Length.
-
-2023-10-19 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb (Expand_Container_Aggregate): Simplify with "No".
-
-2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (inline_status_for_subprog): Minor tweak.
- (gnat_to_gnu_field): Try harder to get a packable form of the type
- for a bitfield.
-
-2023-10-10 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/a-direct.adb (Start_Search_Internal): Tweak subprogram
- body.
-
-2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.ads (Set_Scope_Is_Transient): Delete.
- * sem_util.adb (Set_Scope_Is_Transient): Likewise.
- * exp_ch7.adb (Create_Transient_Scope): Set Is_Transient directly.
-
-2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Return true
- if the aggregate is a dependent expression of a conditional
- expression being returned from a build-in-place function.
-
-2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/111434
- * sem_ch10.adb (Replace): New procedure to replace an entity with
- another on the homonym chain.
- (Install_Limited_With_Clause): Rename Non_Lim_View to Typ for the
- sake of consistency. Call Replace to do the replacements and split
- the code into the regular and the special cases. Add debuggging
- output controlled by -gnatdi.
- (Install_With_Clause): Print the Parent_With and Implicit_With flags
- in the debugging output controlled by -gnatdi.
- (Remove_Limited_With_Unit.Restore_Chain_For_Shadow (Shadow)): Rewrite
- using a direct replacement of E4 by E2. Call Replace to do the
- replacements. Add debuggging output controlled by -gnatdi.
-
-2023-10-10 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/a-direct.adb: Fix filesystem entry filtering.
-
-2023-10-10 Ronan Desplanques <desplanques@adacore.com>
-
- * atree.ads, nlists.ads, types.ads: Remove references to extended
- nodes. Fix typo.
- * sinfo.ads: Likewise and fix position of
- Comes_From_Check_Or_Contract description.
-
-2023-10-10 Javier Miranda <miranda@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Protect the frontend against
- replacing 'Size by its static value if 'Size is not known at
- compile time and we are processing pragmas Compile_Time_Warning or
- Compile_Time_Errors.
-
-2023-10-03 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-interface/misc.cc: Use text_info ctor.
-
-2023-10-02 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-interface/misc.cc (gnat_post_options): Update for renaming
- of diagnostic_context's show_caret to m_source_printing.enabled.
-
-2023-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove call
- to Is_Simple_Protected_Type as redundant.
- (Build_Finalizer.Process_Object_Declaration): Do not retrieve the
- corresponding record type for simple protected objects. Make the
- flow of control more explicit in their specific processing.
- * exp_util.adb (Requires_Cleanup_Actions): Return false for simple
- protected objects present in library-level package bodies for the
- sake of consistency with Build_Finalizer and remove call to
- Is_Simple_Protected_Type as redundant.
-
-2023-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/110488
- * sem_ch3.adb (Analyze_Object_Declaration): Do not build a default
- subtype for a deferred constant in the definite case too.
-
-2023-09-26 Marc Poulhiès <poulhies@adacore.com>
-
- * exp_ch7.adb (Contains_Subprogram): Recursively search for subp
- in loop's statements.
- (Unnest_Loop)<Fixup_Inner_Scopes>: New.
- (Unnest_Loop): Rename local variable for more clarity.
- * exp_unst.ads: Refresh comment.
-
-2023-09-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_Call_Helper): When computing the
- accessibility level of an actual parameter based on the
- expresssion of a constant declaration, add missing support for
- deferred constants
-
-2023-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Status_Flag_Or_Transient_Decl): Remove ??? comment.
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Extend the
- handling of finalizable return objects to the non-BIP case.
- * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust the
- comment accordingly.
- * exp_util.adb (Requires_Cleanup_Actions): Likewise.
-
-2023-09-26 Daniel King <dmking@adacore.com>
-
- * raise-gcc.c (get_ip_from_context): Adapt for CHERI purecap
- (get_call_site_action_for): Adapt for CHERI purecap
-
-2023-09-26 Daniel King <dmking@adacore.com>
-
- * libgnat/a-tags.adb (To_Tag): Use System.Storage_Elements for
- integer to address conversion.
- * libgnat/s-putima.adb (Put_Image_Pointer): Likewise.
-
-2023-09-26 Daniel King <dmking@adacore.com>
-
- * libgnat/s-stratt__cheri.adb: New file
-
-2023-09-26 Daniel King <dmking@adacore.com>
-
- * libgnat/i-cheri.ads (Capability_Bound_Error)
- (Capability_Permission_Error, Capability_Sealed_Error)
- (Capability_Tag_Error): New, define CHERI exception types.
-
-2023-09-26 Ronan Desplanques <desplanques@adacore.com>
-
- * exp_prag.adb: Make minor corrections in comments.
- * rtsfind.ads: Remove unused element from RTU_Id definition.
-
-2023-09-26 Derek Schacht <schacht@adacore.com>
-
- * doc/gnat_ugn/gnat_and_program_execution.rst: Add more details on
- using Generic Elementary Functions with dimensional analysis.
- * gnat_ugn.texi: Regenerate.
-
-2023-09-26 Yannick Moy <moy@adacore.com>
-
- * exp_ch5.adb (Expand_N_Case_Statement): Reference both sections
- of the Ada RM that deal with case statements and case expressions
- to justify the insertion of a runtime check.
-
-2023-09-19 Richard Wai <richard@annexi-strayline.com>
-
- * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Expanded comments
- explaining why TSS Finalize_Address is not generated for
- concurrent class-wide types.
- * exp_ch7.adb (Make_Finalize_Address_Stmts): Handle cases where the
- underlying non-constrained parent type is a concurrent type, and
- adjust the designated type to be the corresponding record’s
- class-wide type.
-
-2023-09-19 Richard Wai <richard@annexi-strayline.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): Treat presence of
- keyword "synchronized" the same as "limited" when determining if a
- private extension is limited.
-
-2023-09-19 Marc Poulhiès <poulhies@adacore.com>
-
- * gcc-interface/utils.cc (max_value): New.
- * gcc-interface/gigi.h (max_value): New.
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Subtype>:
- When computing gnu_min/gnu_max, try to use max_value if there is
- an initial expression.
-
-2023-09-19 Javier Miranda <miranda@adacore.com>
-
- * contracts.adb
- (Has_Public_Visibility_Of_Subprogram): Add missing support for
- child subprograms.
-
-2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.cc (finish_record_type): Round the size in
- the padding case as well.
-
-2023-09-15 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code): Don't build aggregate code
- for null array aggregates.
- * sem_aggr.adb (Resolve_Array_Aggregate): Don't examine formatting
- of a null array aggregate.
-
-2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Expand_Inlined_Call): In the case of a function call
- that returns an unconstrained type and initializes an object, set
- the No_Initialization flag on the new declaration of the object.
-
-2023-09-15 Patrick Bernardi <bernardi@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Do not perform
- local-exception-to- goto optimization on barrier functions.
- * exp_ch9.adb (Expand_Entry_Barrier): Simplify the if statement
- around the simple barrier optimization and remove an old, no
- longer relevant comment.
-
-2023-09-15 Patrick Bernardi <bernardi@adacore.com>
-
- * bindgen.adb (Gen_Adainit): Generate restrictions when standard
- library is suppressed.
- (Gen_Output_File_Ada): Ditto.
- (Gen_Restrictions): Ditto.
-
-2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return false
- for a small component of a record type with a variant part.
-
-2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Convert_To_Assignments): In the case of a
- component association, call Is_Container_Aggregate on the parent's
- parent.
- (Expand_Array_Aggregate): Likewise.
-
-2023-09-15 Kévin Le Gouguec <legouguec@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Remove
- extended discussion regarding mold run-time dependencies;
- packaging changes in GNAT Pro have made them obsolete.
-
-2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Resolve_Call): When the target is an entity, do not
- freeze it if the current scope is the inner wrapper function built
- for an expression function with a Post or Refined_Post aspect.
-
-2023-09-15 Bob Duff <duff@adacore.com>
- Ronan Desplanques <desplanques@adacore.com>
-
- * atree.adb (Node_Kind_Table): Specify parameter explicitly in
- GNAT.Table instantiations. Use fully qualified references instead
- of relying on use clauses.
- (Get_Field_Value): Remove special case for F_Scope_Depth_Value.
- That is, enable the Field_Present check in that case.
- (It was already enabled for all other fields.) Violations of this
- check were already fixed.
- (Print_Node_Statistics): Sort the output in decreasing order of
- frequencies.
- (Print_Field_Statistics): Likewise (sort).
- * accessibility.adb (Accessibility_Level): Pass Allow_Alt_Model in
- recursive calls. Apparently, an oversight.
- (Innermost_Master_Scope_Depth): Need to special-case the 'Old
- attribute and allocators.
- * einfo-utils.ads (Scope_Depth): Use Scope_Kind_Id to get
- predicate checks.
- (Scope_Depth_Set): Likewise.
- (Scope_Depth_Default_0): Likewise.
- * einfo-utils.adb: As for spec.
- * frontend.adb (Frontend): Remove unnecessary "return;".
- * gen_il-types.ads (Scope_Kind): New union type.
- * gen_il-gen-gen_entities.adb (Scope_Kind): New union type.
- * sem.ads: Move "with Einfo.Entities;" from body to spec.
- (Scope_Stack_Entry): Declare Entity to be of Scope_Kind_Id to get
- predicate checks. We had previously been putting non-scopes on the
- scope stack; this prevents such anomalies.
- * sem.adb: Move "with Einfo.Entities;" from body to spec.
- * sem_ch8.ads: Move "with Einfo.Entities;" from body to spec. Add
- "with Types;".
- (Push_Scope): Use Scope_Kind_Id to get predicate checks.
- * sem_ch8.adb: Move "with Einfo.Entities;" from body to spec. Add
- "with Types;".
- (Push_Scope): Use Scope_Kind_Id to get predicate checks.
- (Pop_Scope): Use Scope_Kind_Id on popped entity to get predicate
- checks. This prevents anomalies where a scope pushed onto the
- stack is later mutated to a nonscope before being popped.
- * sem_util.ads (Find_Enclosing_Scope): Add postcondition to ensure
- that the enclosing scope of a node N is not the same node N.
- Clearly, N does not enclose itself.
- * sem_util.adb (Find_Enclosing_Scope): There were several bugs
- where Find_Enclosing_Scope(N) = N. For example, if N is an entity,
- then we would typically go up to its declaration, and then back
- down to the Defining_Entity of the declaration, which is N itself.
- There were other cases where Find_Enclosing_Scope of an entity
- disagreed with Scope. Clearly, Find_Enclosing_Scope and Scope
- should agree (when both are defined). Such bugs caused latent bugs
- in accessibility.adb related to 'Old, and fixing bugs here caused
- such bugs to be revealed. These are fixed by calling Scope when N
- is an entity.
-
-2023-09-15 Javier Miranda <miranda@adacore.com>
-
- * accessibility.ads (Needs_Result_Accessibility_Extra_Formal):
- Removed.
- * accessibility.adb (Needs_Result_Accessibility_Level_Param):
- Removed.
- (Needs_Result_Accessibility_Extra_Formal): Removed.
- (Needs_Result_Accessibility_Level): Revert previous patch.
- * sem_ch6.adb (Parent_Subprogram): Handle function overriding an
- enumeration literal.
- (Create_Extra_Formals): Ensure that the parent subprogram has all
- its extra formals.
-
-2023-09-14 Yannick Moy <moy@adacore.com>
-
- * exp_util.adb (Is_Statically_Disabled): New function to detect a
- "statically disabled condition which evaluates to a given value",
- as described in SPARK UG 7.3.2.
- (Kill_Dead_Code): Call the new function Is_Statically_Disabled for
- conditions of if statements.
- * exp_util.ads (Is_Statically_Disabled): New function spec.
-
-2023-09-14 Javier Miranda <miranda@adacore.com>
-
- * exp_util.adb (Process_Record_Component): Adjust assertion on the
- availablity of the invariant procedure; required because the
- invariant procedure is built by the expander, and hence it is not
- available compiling generic units or when the sources have errors,
- since expansion is then disabled.
-
-2023-09-14 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Large_Max_Size_Mutable): Protect access to
- attribute Is_Array_Type.
-
-2023-09-14 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Protect
- access to Entity attribute and add missing code to check function
- selector in a prefix form call.
-
-2023-09-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Ctrl_Function_Call): Also do nothing for the
- expression of a delta aggregate.
-
-2023-09-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Make the name
- matching more robust.
-
-2023-09-14 Javier Miranda <miranda@adacore.com>
-
- * sem_ch6.adb (Parent_Subprogram): Complete assertion.
-
-2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on
- the simple return statement.
-
-2023-09-05 Tom Tromey <tromey@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity): Set bit-packed for
- constrained and unconstrained array types.
- * gcc-interface/misc.cc (gnat_get_array_descr_info): Examine
- BIT_PACKED_ARRAY_TYPE_P.
-
-2023-09-05 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_type.adb (Interface_Present_In_Ancestor): Remove guard against no
- list of interfaces; fix style in comments (trailing dots).
-
-2023-09-05 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_type.adb (Iface_Present_In_Ancestor): Only look at the list of
- interfaces for types that allow it. The guard is a high-level equivalent
- of the entity kinds listed in the preconditon of the Interfaces query.
-
-2023-09-05 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_type.adb (Iface_Present_In_Ancestor): Remove guard for empty list
- of interfaces; the following loop will work just fine without it.
-
-2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch9.adb (Build_Protected_Entry): Move the At_End procedure
- from the entry body to the inner block statement.
-
-2023-09-05 Bob Duff <duff@adacore.com>
-
- * sem_ch4.adb (Find_Component_In_Instance): Check that
- Declaration_Node (Par) is not Empty, as it is for itypes.
-
-2023-09-05 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch7.adb (Analyze_Package_Declaration): Restrict calls to
- `Sem_Warn.Check_References` and adjust comment accordingly.
-
-2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Freeze_Enumeration_Type): Give an error on a type with
- both representation clause and too large size.
-
-2023-09-05 Liaiss Merzougue <merzougue@adacore.com>
-
- * libgnat/s-imguti.adb: Remove comment.
-
-2023-09-05 Javier Miranda <miranda@adacore.com>
-
- * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): New
- subprogram.
- * accessibility.adb (Needs_Result_Accessibility_Level_Param): New
- subprogram.
- (Needs_Result_Accessibility_Extra_Formal): New subprogram,
- temporarily keep the previous behavior of the frontend.
- * sem_ch6.adb (Create_Extra_Formals): Replace occurrences of
- function Needs_Result_Accessibility_Level_Param by calls to
- function Needs_Result_Accessibility_Extra_Formal.
- (Extra_Formals_OK): Ditto.
-
-2023-09-05 Alexandre Oliva <oliva@adacore.com>
-
- * libgnat/system-vxworks-ppc-rtp-smp.ads: Add -msmp to
- Linker_Options pragma.
-
-2023-09-05 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Expand_Container_Aggregate): Report warning on
- infinite recursion if an empty container aggregate appears in the
- return statement of its Empty function. Fix typo in comment.
- * sem_aggr.adb (Resolve_Aggregate): Resolve Ada 2022 empty
- aggregate that initializes a record type that has defined its
- container aggregate aspects.
- (Resolve_Iterated_Association): Protect access to attribute Etype.
- * sem_ch13.adb (Resolve_Aspect_Aggregate): Fix typo in comment.
-
-2023-09-05 Steve Baird <baird@adacore.com>
-
- * sem_attr.adb (Denote_Same_Function): Handle the case where
- Has_Homonym (Pref_Id) returns True but Homonym (Pref_Id) returns
- an empty result.
-
-2023-09-05 Steve Baird <baird@adacore.com>
-
- * sem_res.adb (Resolve_Unary_Op): In deciding whether to emit a
- warning about a modular type's unary minus operator being applied
- to an integer literal, ignore integer literals for which
- Comes_From_Source is False.
-
-2023-09-05 Johannes Kliemann <kliemann@adacore.com>
-
- * libgnarl/s-taprop__qnx.adb: Implement Set_Task_Affinity.
-
-2023-09-05 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
- index.
- * gnat_ugn.texi: Regenerate.
-
-2023-09-05 Daniel King <dmking@adacore.com>
-
- * libgnat/s-carsi8.adb: Use operations from
- System.Storage_Elements for address arithmetic.
- * libgnat/s-carun8.adb: Likewise
- * libgnat/s-casi128.adb: Likewise
- * libgnat/s-casi16.adb: Likewise
- * libgnat/s-casi32.adb: Likewise
- * libgnat/s-casi64.adb: Likewise
- * libgnat/s-caun128.adb: Likewise
- * libgnat/s-caun16.adb: Likewise
- * libgnat/s-caun32.adb: Likewise
- * libgnat/s-caun64.adb: Likewise
- * libgnat/s-geveop.adb: Likewise
-
-2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Component_Type_For_Private_View): New function.
- (Check_Generic_Actuals): For an actual type parameter, also check
- its component type if it is an array type.
- (Check_Private_View): Use Component_Type_For_Private_View in the
- case of an array type.
- (Instantiate_Type): Likewise.
- (Save_Global_References.Set_Global_Type): Likewise.
-
-2023-09-05 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/s-aridou.adb: Add pragma to exempt Metrics_LSLOC.
- (Double_Divide): Add pragma to exempt
- Metrics_Cyclomatic_Complexity.
- (Scaled_Divide): Likewise.
- * libgnat/s-vauspe.ads (Uns_Option): Add pragma to exempt
- Discriminated_Records.
-
-2023-09-05 Ronan Desplanques <desplanques@adacore.com>
-
- * Makefile.rtl: Add missing units.
-
-2023-09-05 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnarl/a-reatim.adb (Time_Of): Add pragma to exempt
- Discriminated_Records.
- * libgnat/s-imguti.adb (Round, Set_Decimal_Digits): Likewise.
- * libgnat/s-multip.adb (Number_Of_CPUs): Likewise.
- * libgnarl/s-tpopsp__posix-foreign.adb (Self): Refactor multiple
- returns.
-
-2023-09-05 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Add_Internal_Interface_Entities): Add missing
- subtype-conformance check on primitives implementing interface
- primitives.
- (Error_Posted_In_Formals): New subprogram.
-
-2023-09-05 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnarl/s-tassta.adb: Tweak comment.
-
-2023-09-05 Yang Yujie <yangyujie@loongson.cn>
-
- * Makefile.rtl: Add LoongArch support.
- * libgnarl/s-linux__loongarch.ads: New file.
- * libgnat/system-linux-loongarch.ads: New file.
-
-2023-08-07 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/s-parame__qnx.adb: Refactor multiple returns.
-
-2023-08-07 Piotr Trojanek <trojanek@adacore.com>
-
- * libgnat/i-cstrin.ads (Value): Extend preconditions; adapt comment for
- the package.
-
-2023-08-07 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Call): Always call Cannot_Inline so that
- subprogram called is marked as not always inlined.
-
-2023-08-07 Javier Miranda <miranda@adacore.com>
-
- * sem_res.adb (Resolve_Type_Conversion): Do not warn on conversion
- to class-wide type on internally build helpers of class-wide
- preconditions.
-
-2023-08-03 Sheri Bernstein <bernstein@adacore.com>
-
- * libgnat/s-aridou.adb: Add pragma to exempt Improper_Returns.
- * libgnat/s-atopri.adb (Lock_Free_Try_Write): Likewise.
- * libgnat/s-bitops.adb (Bit_Eq): Likewise.
- * libgnat/s-carsi8.adb: Likewise.
- * libgnat/s-carun8.adb: Likewise.
- * libgnat/s-casi16.adb: Likewise.
- * libgnat/s-casi32.adb: Likewise.
- * libgnat/s-casi64.adb: Likewise.
- * libgnat/s-caun16.adb: Likewise.
- * libgnat/s-caun32.adb: Likewise.
- * libgnat/s-caun64.adb: Likewise.
- * libgnat/s-exponn.adb: Likewise.
- * libgnat/s-expont.adb: Likewise.
- * libgnat/s-valspe.adb: Likewise.
- * libgnat/s-vauspe.adb: Likewise.
-
-2023-08-03 Vasiliy Fofanov <fofanov@adacore.com>
-
- * libgnat/s-imageb.adb (Set_Image_Based_Unsigned): Rewritten.
- * libgnat/s-imagew.adb (Set_Image_Width_Unsigned): Likewise.
-
-2023-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Make_Invariant_Call): Convert the expression to
- the type of the formal parameter if need be.
-
-2023-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/s-dwalin.adb ("-"): New subtraction operator.
- (Enable_Cache): Use it to compute the offset.
- (Symbolic_Address): Likewise.
-
-2023-08-01 Yannick Moy <moy@adacore.com>
-
- * repinfo.adb (Compute_Max_Length): Set parameter to print number
- in decimal notation.
- (List_Component_Layout): Same.
-
-2023-08-01 Yannick Moy <moy@adacore.com>
-
- * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check for
- Skip_Proof and Skip_Flow_And_Proof annotations for deciding
- whether a subprogram can be inlined.
-
-2023-08-01 Steve Baird <baird@adacore.com>
-
- * sem_ch3.adb (Constrain_Corresponding_Record): When copying
- information from the unconstrained record type to a newly
- constructed constrained record subtype, the
- Direct_Primitive_Operations attribute must be copied.
-
-2023-08-01 Steve Baird <baird@adacore.com>
-
- * sem_ch3.adb (Analyze_Component_Declaration): Remove
- Build_Default_Subtype_OK call and code that could only executed in
- the case where the removed call would have returned True. Other
- calls to Build_Default_Subtype_Ok are unaffected by this change.
-
-2023-08-01 Pascal Obry <obry@adacore.com>
-
- * aspects.ads (Find_Aspect): Add Boolean parameter Or_Rep_Item
- (defaulted to False).
- * aspects.adb (Find_Aspect): If new Boolean parameter Or_Rep_Item
- is True, then instead of returning an empty result if no
- appropriate N_Aspect_Specification node is found, return an
- appropriate N_Attribute_Definition_Clause if one is found.
- * exp_put_image.ads: Change name of Enable_Put_Image function to
- Put_Image_Enabled.
- * exp_put_image.adb (Build_Record_Put_Image_Procedure): Detect the
- case where a call to the Put_Image procedure of a derived type can
- be transformed into a call to the parent type's Put_Image
- procedure (with a type conversion to the parent type as the actual
- parameter).
- (Put_Image_Enabled): Change name of function (previously
- Enable_Put_Image). Return True in more cases. In particular,
- return True for a type with an explicitly specified Put_Image
- aspect even if the type is declared in a predefined unit (or in an
- instance of a predefined generic unit).
- * exp_attr.adb: Changes due to Put_Image_Enabled function name
- change.
-
-2023-08-01 Yannick Moy <moy@adacore.com>
-
- * repinfo.adb (List_Common_Type_Info): Fix output when alignment
- is not statically known, and fix assertion when expansion is not
- enabled.
-
-2023-08-01 Bob Duff <duff@adacore.com>
-
- * atree.adb (Field_Present): New function to detect whether or not
- a given field is present in a given node, based on either the node
- kind or the entity kind as appropriate.
- (Get_Field_Value): Check that the field begin fetched exists.
- However, disable the check in the case of Scope_Depth_Value,
- because we have failures in that case. Those failures need to be
- fixed, and then the check can be enabled for all fields.
- (Set_Field_Value): Check that the field begin set exists.
-
-2023-08-01 Léo Creuse <creuse@adacore.com>
-
- * par_sco.adb (Process_Decisions): Traverse all attributes of
- quantified expressions nodes.
-
-2023-07-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (gnat_to_gnu): Restrict previous change to
- the case where the simple return statement has got no storage pool.
-
-2023-07-28 Clément Chigot <chigot@adacore.com>
-
- * libgnarl/s-inmaop__posix.adb: Add assert after sigwait in
- Interrupt_Wait
-
-2023-07-28 Javier Miranda <miranda@adacore.com>
-
- * einfo-utils.adb (Underlying_Type): Protect recursion call
- against non-available attribute Etype.
- * einfo.ads (Protected_Subprogram): Fix typo in documentation.
- * exp_ch3.adb (BIP_Function_Call_Id): New subprogram.
- (Expand_N_Object_Declaration): Improve code that evaluates if the
- object is initialized with a BIP function call.
- * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): New
- subprogram.
- (Add_Task_Actuals_To_Build_In_Place_Call): Add dummy actuals if
- the function does not require the BIP task actuals but it is a
- dispatching operation that inherited them.
- (Build_In_Place_Formal): Improve code to avoid never-ending loop
- if the BIP formal is not found.
- (Add_Dummy_Build_In_Place_Actuals): New subprogram.
- (Expand_Call_Helper): Add calls to
- Add_Dummy_Build_In_Place_Actuals.
- (Expand_N_Extended_Return_Statement): Adjust assertion.
- (Expand_Simple_Function_Return): Adjust assertion.
- (Make_Build_In_Place_Call_In_Allocator): No action needed if the
- called function inherited the BIP extra formals but it is not a
- true BIP function.
- (Make_Build_In_Place_Call_In_Assignment): Ditto.
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove code
- reporting unsupported case (since this patch adds support for it).
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Adding assertion
- to ensure matching of BIP formals when setting the
- Protected_Formal field of a protected subprogram to reference the
- corresponding extra formal of the subprogram that implements it.
- (Might_Need_BIP_Task_Actuals): New subprogram.
- (Create_Extra_Formals): Improve code adding inherited extra
- formals.
-
-2023-07-28 Pascal Obry <obry@adacore.com>
-
- * s-oscons-tmplt.c: Add support for SO_BINDTODEVICE constant.
- * libgnat/g-socket.ads (Set_Socket_Option): Handle SO_BINDTODEVICE option.
- (Get_Socket_Option): Handle SO_BINDTODEVICE option.
- * libgnat/g-socket.adb: Likewise.
- (Get_Socket_Option): Handle the case where IF_NAMESIZE is not defined
- and so equal to -1.
-
-2023-07-28 Léo Creuse <creuse@adacore.com>
-
- * par_sco.adb (Has_Decision): Consider that quantified expressions
- contain decisions.
-
-2023-07-28 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnarl/s-tposen.adb: Fix race condition. Add comment to justify
- the locking timing.
-
-2023-07-28 Viljar Indus <indus@adacore.com>
-
- * exp_util.adb (Find_Optional_Prim_Op): use "No" instead of "= Empty"
-
-2023-07-28 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): Add guard for the call to
- Class_Preconditions_Subprogram.
-
-2023-07-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Is_Two_Dim_Packed_Array): Return true only if the
- component type of the array is scalar.
-
-2023-07-28 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch6.adb (Check_Statement_Sequence): Only warn about missing return
- statements and let GNATprove emit a check when needed.
-
-2023-07-28 Tom Tromey <tromey@adacore.com>
-
- * fe.h (Convention): Now inline function.
- * gen_il-gen.adb (Put_C_Type_And_Subtypes.Put_Enum_Lit)
- (Put_C_Type_And_Subtypes.Put_Kind_Subtype, Put_C_Getter):
- Emit enum.
- * snames.h-tmpl (Name_Id, Name_, Attribute_Id, Attribute_)
- (Convention_Id, Convention_, Pragma_Id, Pragma_): Now enum.
- (Get_Attribute_Id, Get_Pragma_Id): Now inline functions.
- * types.h (Node_Kind, Entity_Kind, Convention_Id, Name_Id):
- Now enum.
- * xsnamest.adb (Output_Header_Line, Make_Value): Emit enum.
-
-2023-07-28 Piotr Trojanek <trojanek@adacore.com>
-
- * libgnat/a-except.ads (Save_Occurrence): Fix typo.
-
-2023-07-28 Piotr Trojanek <trojanek@adacore.com>
-
- * einfo-utils.adb (Number_Formals): Change types in body.
- * einfo-utils.ads (Number_Formals): Change type in spec.
- * einfo.ads (Number_Formals): Change type in comment.
- * sem_ch13.adb (Is_Property_Function): Fix style in a caller of
- Number_Formals that was likely to crash because of missing guards.
-
-2023-07-28 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_warn.adb (Check_Infinite_Loop_Warning): Don't look at the type of
- actual parameter when it has no type at all, e.g. because the entire
- subprogram call is illegal.
-
-2023-07-18 Tom Tromey <tromey@adacore.com>
-
- * gcc-interface/decl.cc (check_ok_for_atomic_type): Use Pragma_Id.
- * gcc-interface/trans.cc (lvalue_required_p, Pragma_to_gnu): Use
- Pragma_Id.
- (get_type_length, Attribute_to_gnu, get_atomic_access): Use
- Attribute_Id.
-
-2023-07-18 Javier Miranda <miranda@adacore.com>
-
- * exp_imgv.adb (Rewrite_Object_Image): fix type of formal. Found
- reading sources.
- (Expand_Wide_Image_Attribute): ditto.
- (Expand_Wide_Wide_Image_Attribute): ditto.
- (Rewrite_Object_Image): ditto.
- * exp_put_image.adb (Build_Image_Call): For class-wide interface
- type prefix generate code to displace the pointer to the object to
- reference the base of the underlying object.
-
-2023-07-18 Viljar Indus <indus@adacore.com>
-
- * sem_aggr.adb (Resolve_Iterated_Association): Add temporary scope
- when analyzing the Iterator Specification. Use preanalysis instead
- of Analysis to avoid polluting the tree.
-
-2023-07-18 Viljar Indus <indus@adacore.com>
-
- * sem_aggr.adb (Resolve_Iterated_Association): Use the element
- type for the iterator in a container aggregate with an iterator
- specification.
-
-2023-07-18 Viljar Indus <indus@adacore.com>
-
- * exp_aggr.adb (Expand_Container_Aggregate): Use the positional
- addition method only when dealing with a container aggregate
- without an Iterator Specification e.g. with a loop parameter
- specification
-
-2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.ads (Wrong_Type): Add Multiple parameter defaulting to
- False and document it.
- * sem_util.adb (Wrong_Type): Do not return early if an error has
- already been posted on Expr and Multiple is True.
- * sem_ch4.adb (Analyze_One_Call): Pass All_Errors_Mode as the
- actual parameter for Multiple to Wrong_Type.
-
-2023-07-18 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Has_Dispatching_Constructor_Call): Removed.
- (Expand_Interface_Conversion): Reverse patch.
-
-2023-07-18 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnarl/s-taprop__linux.adb (Set_Task_Affinity, Create_Task): Tweak
- handling of CPU affinities.
-
-2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_type.ads (Is_Ancestor): Remove mention of tagged type.
- * exp_aggr.adb: Add with and use clauses for Sem_Type.
- (Build_Record_Aggr_Code.Replace_Type): Call Is_Ancestor to spot
- self-references to the type of the aggregate.
- * sem_aggr.adb (Resolve_Record_Aggregate.Add_Discriminant_Values):
- Likewise.
-
-2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component):
- In the case of private discriminated types, explicitly check that we
- have a private declaration before examining its discriminant part.
-
-2023-07-18 Alexandre Oliva <oliva@adacore.com>
-
- * libgnat/a-except.ads (Raise_Exception): Mark expected_throw.
- (Reraise_Occurrence): Likewise.
- (Raise_Exception_Always): Likewise.
- (Raise_From_Controlled_Operation): Likewise.
- (Reraise_Occurrence_Always): Likewise.
- (Reraise_Occurrence_No_Defer): Likewise.
- * libgnat/a-except.adb
- (Exception_Propagation.Propagate_Exception): Likewise.
- (Complete_And_Propagate_Occurrence): Likewise.
- (Raise_Exception_No_Defer): Likewise.
- (Raise_From_Signal_Handler): Likewise.
- (Raise_With_Msg): Likewise.
- (Raise_With_Location_And_Msg): Likewise.
- (Raise_Constraint_Error): Likewise.
- (Raise_Constraint_Error_Msg): Likewise.
- (Raise_Program_Error): Likewise.
- (Raise_Program_Error_Msg): Likewise.
- (Raise_Storage_Error): Likewise.
- (Raise_Storage_Error_Msg): Likewise.
- (Reraise, Rcheck_*): Likewise.
- * doc/gnat_rm/security_hardening_features.rst (Control Flow
- Hardening): Note the influence of expected_throw.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
- * gcc-interface/utils.cc (handle_expected_throw_attribute): New.
- (gnat_internal_attribute_table): Add expected_throw.
-
-2023-07-18 Vasiliy Fofanov <fofanov@adacore.com>
-
- * libgnat/s-pack03.adb: Update copyright year; refactor return statements.
- * libgnat/s-pack05.adb: Likewise.
- * libgnat/s-pack06.adb: Likewise.
- * libgnat/s-pack07.adb: Likewise.
- * libgnat/s-pack09.adb: Likewise.
- * libgnat/s-pack10.adb: Likewise.
- * libgnat/s-pack100.adb: Likewise.
- * libgnat/s-pack101.adb: Likewise.
- * libgnat/s-pack102.adb: Likewise.
- * libgnat/s-pack103.adb: Likewise.
- * libgnat/s-pack104.adb: Likewise.
- * libgnat/s-pack105.adb: Likewise.
- * libgnat/s-pack106.adb: Likewise.
- * libgnat/s-pack107.adb: Likewise.
- * libgnat/s-pack108.adb: Likewise.
- * libgnat/s-pack109.adb: Likewise.
- * libgnat/s-pack11.adb: Likewise.
- * libgnat/s-pack110.adb: Likewise.
- * libgnat/s-pack111.adb: Likewise.
- * libgnat/s-pack112.adb: Likewise.
- * libgnat/s-pack113.adb: Likewise.
- * libgnat/s-pack114.adb: Likewise.
- * libgnat/s-pack115.adb: Likewise.
- * libgnat/s-pack116.adb: Likewise.
- * libgnat/s-pack117.adb: Likewise.
- * libgnat/s-pack118.adb: Likewise.
- * libgnat/s-pack119.adb: Likewise.
- * libgnat/s-pack12.adb: Likewise.
- * libgnat/s-pack120.adb: Likewise.
- * libgnat/s-pack121.adb: Likewise.
- * libgnat/s-pack122.adb: Likewise.
- * libgnat/s-pack123.adb: Likewise.
- * libgnat/s-pack124.adb: Likewise.
- * libgnat/s-pack125.adb: Likewise.
- * libgnat/s-pack126.adb: Likewise.
- * libgnat/s-pack127.adb: Likewise.
- * libgnat/s-pack13.adb: Likewise.
- * libgnat/s-pack14.adb: Likewise.
- * libgnat/s-pack15.adb: Likewise.
- * libgnat/s-pack17.adb: Likewise.
- * libgnat/s-pack18.adb: Likewise.
- * libgnat/s-pack19.adb: Likewise.
- * libgnat/s-pack20.adb: Likewise.
- * libgnat/s-pack21.adb: Likewise.
- * libgnat/s-pack22.adb: Likewise.
- * libgnat/s-pack23.adb: Likewise.
- * libgnat/s-pack24.adb: Likewise.
- * libgnat/s-pack25.adb: Likewise.
- * libgnat/s-pack26.adb: Likewise.
- * libgnat/s-pack27.adb: Likewise.
- * libgnat/s-pack28.adb: Likewise.
- * libgnat/s-pack29.adb: Likewise.
- * libgnat/s-pack30.adb: Likewise.
- * libgnat/s-pack31.adb: Likewise.
- * libgnat/s-pack33.adb: Likewise.
- * libgnat/s-pack34.adb: Likewise.
- * libgnat/s-pack35.adb: Likewise.
- * libgnat/s-pack36.adb: Likewise.
- * libgnat/s-pack37.adb: Likewise.
- * libgnat/s-pack38.adb: Likewise.
- * libgnat/s-pack39.adb: Likewise.
- * libgnat/s-pack40.adb: Likewise.
- * libgnat/s-pack41.adb: Likewise.
- * libgnat/s-pack42.adb: Likewise.
- * libgnat/s-pack43.adb: Likewise.
- * libgnat/s-pack44.adb: Likewise.
- * libgnat/s-pack45.adb: Likewise.
- * libgnat/s-pack46.adb: Likewise.
- * libgnat/s-pack47.adb: Likewise.
- * libgnat/s-pack48.adb: Likewise.
- * libgnat/s-pack49.adb: Likewise.
- * libgnat/s-pack50.adb: Likewise.
- * libgnat/s-pack51.adb: Likewise.
- * libgnat/s-pack52.adb: Likewise.
- * libgnat/s-pack53.adb: Likewise.
- * libgnat/s-pack54.adb: Likewise.
- * libgnat/s-pack55.adb: Likewise.
- * libgnat/s-pack56.adb: Likewise.
- * libgnat/s-pack57.adb: Likewise.
- * libgnat/s-pack58.adb: Likewise.
- * libgnat/s-pack59.adb: Likewise.
- * libgnat/s-pack60.adb: Likewise.
- * libgnat/s-pack61.adb: Likewise.
- * libgnat/s-pack62.adb: Likewise.
- * libgnat/s-pack63.adb: Likewise.
- * libgnat/s-pack65.adb: Likewise.
- * libgnat/s-pack66.adb: Likewise.
- * libgnat/s-pack67.adb: Likewise.
- * libgnat/s-pack68.adb: Likewise.
- * libgnat/s-pack69.adb: Likewise.
- * libgnat/s-pack70.adb: Likewise.
- * libgnat/s-pack71.adb: Likewise.
- * libgnat/s-pack72.adb: Likewise.
- * libgnat/s-pack73.adb: Likewise.
- * libgnat/s-pack74.adb: Likewise.
- * libgnat/s-pack75.adb: Likewise.
- * libgnat/s-pack76.adb: Likewise.
- * libgnat/s-pack77.adb: Likewise.
- * libgnat/s-pack78.adb: Likewise.
- * libgnat/s-pack79.adb: Likewise.
- * libgnat/s-pack80.adb: Likewise.
- * libgnat/s-pack81.adb: Likewise.
- * libgnat/s-pack82.adb: Likewise.
- * libgnat/s-pack83.adb: Likewise.
- * libgnat/s-pack84.adb: Likewise.
- * libgnat/s-pack85.adb: Likewise.
- * libgnat/s-pack86.adb: Likewise.
- * libgnat/s-pack87.adb: Likewise.
- * libgnat/s-pack88.adb: Likewise.
- * libgnat/s-pack89.adb: Likewise.
- * libgnat/s-pack90.adb: Likewise.
- * libgnat/s-pack91.adb: Likewise.
- * libgnat/s-pack92.adb: Likewise.
- * libgnat/s-pack93.adb: Likewise.
- * libgnat/s-pack94.adb: Likewise.
- * libgnat/s-pack95.adb: Likewise.
- * libgnat/s-pack96.adb: Likewise.
- * libgnat/s-pack97.adb: Likewise.
- * libgnat/s-pack98.adb: Likewise.
- * libgnat/s-pack99.adb: Likewise.
-
-2023-07-18 Yannick Moy <moy@adacore.com>
-
- * errout.adb (Error_Msg_Internal): Remove call to
- Prescan_Message on the special continuation for the explain code
- command, as this does not play well with the setting of global
- variables for the message (like its status as a warning or not).
- Instead, set directly the global variables regarding content of
- the message in terms of special characters.
-
-2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.ads (Validated_View): Document enhanced behavior.
- * sem_util.adb (Validated_View): Return the nonlimited view, if any,
- of types coming from a limited with.
-
-2023-07-11 Bob Duff <duff@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Avoid transforming to
- a renaming in case of constrained array that comes from source.
-
-2023-07-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component):
- In the case of private discriminated types, return a discriminant
- only if it is listed in the discriminant part of the declaration.
-
-2023-07-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * adaint.c [_WIN32]: Undefine 'abort' macro.
-
-2023-07-10 Tom Tromey <tromey@adacore.com>
-
- * snames.h-tmpl (Name_Id, Attribute_Id, Convention_Id)
- (Pragma_Id): New typedefs.
- (Get_Attribute_Id, Get_Pragma_Id): Use typedef.
-
-2023-07-10 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-aridou.adb (Lemma_Powers_Of_2_Commutation): Rewrite
- assertion.
-
-2023-07-10 Bob Duff <duff@adacore.com>
-
- * doc/gnat_rm/gnat_language_extensions.rst
- (Local Declarations Without Block): Document the feature very
- briefly, and refer the reader to the RFC for details and examples.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-07-10 Alexandre Oliva <oliva@adacore.com>
-
- * doc/gnat_rm/security_hardening_features.rst (Control Flow
- Hardening): Document -fhardcfr-skip-leaf.
- * gnat_rm.texi: Regenerate.
-
-2023-07-10 Alexandre Oliva <oliva@adacore.com>
-
- * doc/gnat_rm/security_hardening_features.rst (Control Flow
- Redundancy): Add -fhardcfr-check-noreturn-calls=no-xthrow.
- * gnat_rm.texi: Regenerate.
-
-2023-07-10 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-aridou.adb (Lemma_Div_Mult): New simple lemma.
- (Lemma_Powers_Of_2_Commutation): State post in else branch.
- (Lemma_Div_Pow2): Introduce local lemma and use it.
- (Scaled_Divide): Use cut operations in assertions, lemmas, new
- assertions. Introduce local lemma and use it.
-
-2023-07-10 Alexandre Oliva <oliva@adacore.com>
-
- * doc/gnat_rm/security_hardening_features.rst (Register
- Scrubbing): Document leafy mode.
- * gnat_rm.texi: Regenerate.
-
-2023-07-06 Claire Dross <dross@adacore.com>
-
- * gcc-interface/Make-lang.in: Add object files of specification
- files.
-
-2023-07-06 Claire Dross <dross@adacore.com>
-
- * libgnat/s-vs_int.ads: Instance of Value_I_Spec for Integer.
- * libgnat/s-vs_lli.ads: Instance of Value_I_Spec for
- Long_Long_Integer.
- * libgnat/s-vsllli.ads: Instance of Value_I_Spec for
- Long_Long_Long_Integer.
- * libgnat/s-vs_uns.ads: Instance of Value_U_Spec for Unsigned.
- * libgnat/s-vs_llu.ads: Instance of Value_U_Spec for
- Long_Long_Unsigned.
- * libgnat/s-vslllu.ads: Instance of Value_U_Spec for
- Long_Long_Long_Unsigned.
- * libgnat/s-imagei.ads: Take instances of Value_*_Spec as
- parameters.
- * libgnat/s-imagei.adb: Idem.
- * libgnat/s-imageu.ads: Idem.
- * libgnat/s-imageu.adb: Idem.
- * libgnat/s-valuei.ads: Idem.
- * libgnat/s-valuei.adb: Idem.
- * libgnat/s-valueu.ads: Idem.
- * libgnat/s-valueu.adb: Idem.
- * libgnat/s-imgint.ads: Adapt instance to new ghost parameters.
- * libgnat/s-imglli.ads: Adapt instance to new ghost parameters.
- * libgnat/s-imgllli.ads: Adapt instance to new ghost parameters.
- * libgnat/s-imglllu.ads: Adapt instance to new ghost parameters.
- * libgnat/s-imgllu.ads: Adapt instance to new ghost parameters.
- * libgnat/s-imguns.ads: Adapt instance to new ghost parameters.
- * libgnat/s-valint.ads: Adapt instance to new ghost parameters.
- * libgnat/s-vallli.ads: Adapt instance to new ghost parameters.
- * libgnat/s-valllli.ads: Adapt instance to new ghost parameters.
- * libgnat/s-vallllu.ads: Adapt instance to new ghost parameters.
- * libgnat/s-valllu.ads: Adapt instance to new ghost parameters.
- * libgnat/s-valuns.ads: Adapt instance to new ghost parameters.
- * libgnat/s-vaispe.ads: Take instance of Value_U_Spec as parameter
- and remove unused declaration.
- * libgnat/s-vaispe.adb: Idem.
- * libgnat/s-vauspe.ads: Remove unused declaration.
- * libgnat/s-valspe.ads: Factor out the specification part of
- Val_Util.
- * libgnat/s-valspe.adb: Idem.
- * libgnat/s-valuti.ads: Move specification to Val_Spec.
- * libgnat/s-valuti.adb: Idem.
- * libgnat/s-valboo.ads: Use Val_Spec.
- * libgnat/s-valboo.adb: Idem.
- * libgnat/s-imgboo.adb: Idem.
- * libgnat/s-imagef.adb: Adapt instances to new ghost parameters.
- * Makefile.rtl: List new files.
-
-2023-07-06 Viljar Indus <indus@adacore.com>
-
- * sem_attr.adb (analyze_attribute.check_array_type): Replace valid
- indexes with their staticly evaluated values.
-
-2023-07-06 Viljar Indus <indus@adacore.com>
-
- * doc/gnat_ugn/the_gnat_compilation_model.rst: Reference "Binding
- with Non-Ada Main Programs" from "Creating a Stand-alone Library
- to be used in a non-Ada context".
- * gnat_ugn.texi: Regenerate.
-
-2023-07-06 Viljar Indus <indus@adacore.com>
-
- * sem_util.adb (Is_Fully_Initialized_Type): Avoid recalculating
- the underlying type twice.
-
-2023-07-06 Viljar Indus <indus@adacore.com>
-
- * exp_util.adb (Find_Optional_Prim_Op): Stop deriving primitive
- operation if there is no underlying type to derive it from.
-
-2023-07-06 Yannick Moy <moy@adacore.com>
-
- * errout.ads: Add explain code.
- * sem_prag.adb (Check_Library_Level_Entity): Refine error message
- and add explain code.
-
-2023-07-06 Steve Baird <baird@adacore.com>
-
- * exp_ch7.adb (Make_Final_Call): Add assertion that if no
- finalization call is generated, then the type of the object being
- finalized does not require finalization.
- * freeze.adb (Freeze_Entity): If freezing an already-frozen
- subtype, do not assume that nothing needs to be done. In the case
- of a frozen subtype of a non-frozen type or subtype (which is
- possible), freeze the non-frozen entity.
-
-2023-07-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch5.adb (Expand_Assign_Array): Adjust comment above the
- calls to Possible_Bit_Aligned_Component on the LHS and RHS. Do not
- call Is_Possibly_Unaligned_Slice in the slice case.
- * exp_util.ads (Component_May_Be_Bit_Aligned): Add For_Slice
- boolean parameter.
- (Possible_Bit_Aligned_Component): Likewise.
- * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return False
- for the slice of a small record or bit-packed array component.
- (Possible_Bit_Aligned_Component): Pass For_Slice in recursive
- calls, except in the slice case where True is passed, as well as
- in call to Component_May_Be_Bit_Aligned.
-
-2023-07-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.ads (Expand_Unchecked_Union_Equality): Only take a
- single parameter.
- * exp_ch4.adb (Expand_Unchecked_Union_Equality): Add guard against
- repeated invocation on the same node.
- * exp_ch6.adb (Expand_Call): Only pass a single actual parameter
- in the call to Expand_Unchecked_Union_Equality.
-
-2023-07-04 Viljar Indus <indus@adacore.com>
-
- * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
- add No_Use_Of_Attribute & No_Use_Of_Pragma restrictions.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-07-04 Yannick Moy <moy@adacore.com>
-
- * sem_disp.adb (Inherited_Subprograms): Add parameter to filter
- out results.
- * sem_disp.ads: Likewise.
-
-2023-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.ads (Build_Variant_Record_Equality): Add Spec_Id as second
- parameter.
- * exp_ch3.adb (Build_Variant_Record_Equality): For unchecked union
- types, build the additional parameters as extra formal parameters.
- (Expand_Freeze_Record_Type.Build_Variant_Record_Equality): Pass
- Empty as Spec_Id in call to Build_Variant_Record_Equality.
- * exp_ch4.ads (Expand_Unchecked_Union_Equality): New procedure.
- * exp_ch4.adb (Expand_Composite_Equality): In the presence of a
- function implementing composite equality, do not special case the
- unchecked union types, and only convert the operands if the base
- types are not the same like in Build_Equality_Call.
- (Build_Equality_Call): Do not special case the unchecked union types
- and relocate the operands only once.
- (Expand_N_Op_Eq): Do not special case the unchecked union types.
- (Expand_Unchecked_Union_Equality): New procedure implementing the
- specific expansion of calls to the predefined equality function.
- * exp_ch6.adb (Is_Unchecked_Union_Equality): New predicate.
- (Expand_Call): Call Is_Unchecked_Union_Equality to determine whether
- to call Expand_Unchecked_Union_Equality or Expand_Call_Helper.
- * exp_ch8.adb (Build_Body_For_Renaming): Set Has_Delayed_Freeze flag
- earlier on Id and pass Id in call to Build_Variant_Record_Equality.
-
-2023-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Build_Untagged_Equality): Rename into...
- (Build_Untagged_Record_Equality): ...this.
- (Expand_Freeze_Record_Type): Adjust to above renaming and invoke
- the procedure also for discriminated types without a variant part.
-
-2023-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Has_Inferable_Discriminants): In the case of a
- component with a per-object constraint, also return true if the
- enclosing object is not of an unchecked union type.
- In the default case, remove a useless call to Base_Type.
-
-2023-06-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/decl.cc (gt_pch_nx): Remove overloads for Entity_Id.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (LIBIBERTY): Fix condition.
- (TOOLS_LIBS): Add @LD_PICFLAG@.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Add guard to the
- code turning the type of the RESULT_DECL into a reference type.
- (maybe_make_gnu_thunk): Use a more precise guard in the same case.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (Case_Statement_to_gnu): Rename boolean
- constant and use From_Conditional_Expression flag for its value.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * debug.adb (d.L): Remove documentation.
- * exp_ch4.adb (Expand_N_Case_Expression): In the not-by-copy case,
- do not wrap the case statement in an Expression_With_Actions node.
- (Expand_N_If_Expression): Do not test
- Back_End_Handles_Limited_Types
- * gnat1drv.adb (Adjust_Global_Switches): Do not set it.
- * opt.ads (Back_End_Handles_Limited_Types): Delete.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Check_Generic_Actuals): Check the component type
- of constants and variables of an array type.
- (Copy_Generic_Node): Fix bogus handling of iterator
- specifications.
-
-2023-06-27 Claire Dross <dross@adacore.com>
-
- * libgnat/a-textio.ads (Get_Line): Use Relaxed_Initialization on
- the Item parameter of Get_Line.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Quantified_Expression): Revert the latest
- change as it is subsumed by the machinery in Sem_Ch5.
- * sem_ch5.adb (Prepare_Iterator_Loop): Also wrap the loop
- statement in a block in the name contains a function call that
- returns on the secondary stack.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Scope_Within_Body_Or_Same): New predicate.
- (Check_Actual_Type): Take into account packages nested in bodies
- to compute the enclosing scope by means of
- Scope_Within_Body_Or_Same.
-
-2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Check_Private_View): Also check the type of
- visible discriminants in record and concurrent types.
-
-2023-06-27 Viljar Indus <indus@adacore.com>
-
- * sprint.adb (Print_Node_Actual): Print homogeneous N_Aggregate
- nodes with brackets.
-
-2023-06-27 Viljar Indus <indus@adacore.com>
-
- * exp_aggr.adb (Expand_N_Aggregate): Ensure that container
- aggregate expressions do not get expanded as records but instead
- as container aggregates.
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Pass
- the NULL_TREE explicitly and test imported_p in lieu of
- Is_Imported. <E_Function>: Remove public_flag local variable and
- make extern_flag local variable a constant.
-
-2023-06-20 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Call): Fix change that replaced test for
- quantified expressions by the test for potentially unevaluated
- contexts. Both should be performed.
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Convert_View): Detect more cases of mismatches for
- private types and use Implementation_Base_Type as main criterion.
- * gen_il-fields.ads (Opt_Field_Enum): Add
- Has_Secondary_Private_View
- * gen_il-gen-gen_nodes.adb (N_Expanded_Name): Likewise.
- (N_Direct_Name): Likewise.
- (N_Op): Likewise.
- * sem_ch12.ads (Check_Private_View): Document the usage of second
- flag Has_Secondary_Private_View.
- * sem_ch12.adb (Get_Associated_Entity): New function to retrieve
- the ultimate associated entity, if any.
- (Check_Private_View): Implement Has_Secondary_Private_View
- support.
- (Copy_Generic_Node): Remove specific treatment for Component_Type
- of an array type and Designated_Type of an access type. Add
- specific treatment for comparison and equality operators, as well
- as iterator and loop parameter specifications.
- (Instantiate_Type): Implement Has_Secondary_Private_View support.
- (Requires_Delayed_Save): Call Get_Associated_Entity.
- (Set_Global_Type): Implement Has_Secondary_Private_View support.
- * sem_ch6.adb (Conforming_Types): Remove bypass for private views
- in instances.
- * sem_type.adb (Covers): Return true if Is_Subtype_Of does so.
- Remove bypass for private views in instances.
- (Specific_Type): Likewise.
- * sem_util.adb (Wrong_Type): Likewise.
- * sinfo.ads (Has_Secondary_Private_View): Document new flag.
-
-2023-06-20 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnarl/s-mudido.ads: Remove outdated comment.
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/gnat_ugn/gnat_and_program_execution.rst (Overflows in GNAT)
- <Default Settings>: Remove obsolete paragraph about -gnato.
- <Implementation Notes>: Replace CHECKED with STRICT.
- * gnat_ugn.texi: Regenerate.
-
-2023-06-20 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Check_Result_And_Post_State): Do not warn in cases
- where the warning could be spurious.
-
-2023-06-20 Yannick Moy <moy@adacore.com>
-
- * err_vars.ads (Error_Msg_Code): New variable for error codes.
- * errout.adb (Error_Msg_Internal): Display continuation message
- when an error code was present.
- (Set_Msg_Text): Handle character sequence [] for error codes.
- * errout.ads: Document new insertion sequence [].
- (Error_Msg_Code): New renaming.
- * erroutc.adb (Prescan_Message): Detect presence of error code.
- (Set_Msg_Insertion_Code): Handle new insertion sequence [].
- * erroutc.ads (Has_Error_Code): New variable for prescan.
- (Set_Msg_Insertion_Code): Handle new insertion sequence [].
- * contracts.adb (Check_Type_Or_Object_External_Properties):
- Replace reference to SPARK RM section by an error code.
- * sem_elab.adb (SPARK_Processor): Same.
- * sem_prag.adb (Check_Missing_Part_Of): Same.
- * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Same.
-
-2023-06-20 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Handle Range like First and Last.
-
-2023-06-20 Jose Ruiz <ruiz@adacore.com>
-
- * doc/gnat_ugn/the_gnat_compilation_model.rst
- (Partition-Wide Settings): add this subsection to document
- configuration settings made by the Ada run time.
- * gnat_ugn.texi: Regenerate.
-
-2023-06-20 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Ignore implicit loop scopes
- introduced by quantified expressions.
-
-2023-06-20 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): Remove predicate-check
- generation if there is an address clause. These are unnecessary,
- and cause gigi to crash.
- * exp_util.ads (Following_Address_Clause): Remove obsolete "???"
- comments. The suggested changes were done long ago.
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Has_Private_Ancestor): Fix inaccuracy in description.
- * sem_ch12.adb (Check_Actual_Type): Do not switch the view of the
- type if it has a private ancestor.
-
-2023-06-20 Daniel King <dmking@adacore.com>
-
- * libgnat/i-cheri.ads: Add CHERI intrinsics and helper functions.
- * libgnat/i-cheri.adb: Likewise
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Convert_View): Remove Ind parameter and adjust.
- * sem_ch12.adb (Check_Generic_Actuals): Check the type of both in
- and in out actual objects, as well as the type of formal parameters
- of actual subprograms. Extend the condition under which the views
- are swapped to nested generic constructs.
- (Save_References_In_Identifier): Call Set_Global_Type on a global
- identifier rewritten as an explicit dereference, either directly
- or after having first been rewritten as a function call.
- (Save_References_In_Operator): Set N2 unconditionally and reuse it.
- * sem_ch3.adb (Build_Derived_Record_Type): Add missing comment.
- * sem_res.adb (Resolve_Implicit_Dereference): Remove special bypass
- for private views in instances.
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Convert_To_Assignments): Tweak comment.
- (Expand_Array_Aggregate): Do not delay the expansion if the parent
- node is a container aggregate.
-
-2023-06-20 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * errout.adb (Output_Messages): Fix loop termination condition.
-
-2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Compiler
- Switches): Document -gnateH.
- * opt.ads (Reverse_Bit_Order_Threshold): New variable.
- * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Use its value
- if it is nonnegative instead of System_Max_Integer_Size.
- * switch-c.adb (Scan_Front_End_Switches): Deal with -gnateH.
- * usage.adb (Usage): Print -gnateH.
- * gnat_ugn.texi: Regenerate.
-
-2023-06-20 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-aridou.adb (Scaled_Divide): Add assertions.
- * libgnat/s-valuti.adb: Add Loop_Variant.
- * libgnat/s-valuti.ads: Add Exceptional_Cases on No_Return
- procedure.
-
-2023-06-20 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): Use full view as
- Parent_Base if needed.
-
-2023-06-20 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * lib-load.adb (Load_Unit): Pass Error_Node to calls to Error_Msg.
-
-2023-06-20 Claire Dross <dross@adacore.com>
-
- * libgnat/a-strfix.ads: Replace Might_Not_Return annotations by
- Exceptional_Cases and Always_Terminates aspects.
- * libgnat/a-tideio.ads: Idem.
- * libgnat/a-tienio.ads: Idem.
- * libgnat/a-tifiio.ads: Idem.
- * libgnat/a-tiflio.ads: Idem.
- * libgnat/a-tiinio.ads: Idem.
- * libgnat/a-timoio.ads: Idem.
- * libgnat/a-textio.ads: Idem. Also mark functions Name, Col, Line,
- and Page as out of SPARK as they might raise Layout_Error.
- * libgnarl/a-reatim.ads: Replace Always_Return annotations by
- Always_Terminates aspects.
- * libgnat/a-chahan.ads: Idem.
- * libgnat/a-nbnbig.ads: Idem.
- * libgnat/a-nbnbin.ads: Idem.
- * libgnat/a-nbnbre.ads: Idem.
- * libgnat/a-ngelfu.ads: Idem.
- * libgnat/a-nlelfu.ads: Idem.
- * libgnat/a-nllefu.ads: Idem.
- * libgnat/a-nselfu.ads: Idem.
- * libgnat/a-nuelfu.ads: Idem.
- * libgnat/a-strbou.ads: Idem.
- * libgnat/a-strmap.ads: Idem.
- * libgnat/a-strsea.ads: Idem.
- * libgnat/a-strsup.ads: Idem.
- * libgnat/a-strunb.ads: Idem.
- * libgnat/a-strunb__shared.ads: Idem.
- * libgnat/g-souinf.ads: Idem.
- * libgnat/i-c.ads: Idem.
- * libgnat/interfac.ads: Idem.
- * libgnat/interfac__2020.ads: Idem.
- * libgnat/s-aridou.adb: Idem.
- * libgnat/s-arit32.adb: Idem.
- * libgnat/s-atacco.ads: Idem.
- * libgnat/s-spcuop.ads: Idem.
- * libgnat/s-stoele.ads: Idem.
- * libgnat/s-vaispe.ads: Idem.
- * libgnat/s-vauspe.ads: Idem.
- * libgnat/i-cstrin.ads: Add a precondition instead of a
- Might_Not_Return annotation.
-
-2023-06-20 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb
- (Try_Selected_Component_In_Instance): New subprogram; factorizes
- existing code.
- (Find_Component_In_Instance) Moved inside the new subprogram.
- (Analyze_Selected_Component): Invoke the new subprogram before
- trying the Object.Operation notation.
-
-2023-06-20 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/a-calfor.adb (Time_Of): Fix handling of special case.
-
-2023-06-15 Marek Polacek <polacek@redhat.com>
-
- * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS. Add
- PICFLAG. Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o.
- * gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set.
- Remove NO_PIE_FLAG.
-
-2023-06-15 Marc Poulhiès <poulhies@adacore.com>
-
- * vxworks7-cert-rtp-base-link.spec: Removed.
- * vxworks7-cert-rtp-base-link__ppc64.spec: Removed.
- * vxworks7-cert-rtp-base-link__x86.spec: Removed.
- * vxworks7-cert-rtp-base-link__x86_64.spec: Removed.
- * vxworks7-cert-rtp-link.spec: Removed.
- * vxworks7-cert-rtp-link__ppcXX.spec: Removed.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.cc (build_binary_op) <MODIFY_EXPR>: Do not
- remove a VIEW_CONVERT_EXPR on the LHS if it is also on the RHS.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Restrict
- the special handling of temporaries created for return values and
- subject to a renaming to the top level.
-
-2023-06-15 Ronan Desplanques <desplanques@adacore.com>
-
- * doc/gnat_ugn/about_this_guide.rst: Fix typo. Uniformize punctuation.
- * doc/gnat_ugn/the_gnat_compilation_model.rst: Uniformize punctuation.
- Fix capitalization. Fix indentation of code block. Fix RST formatting
- syntax errors.
- * gnat_ugn.texi: Regenerate.
-
-2023-06-15 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Reject case of Loop_Entry
- inside the prefix of Loop_Entry, as per SPARK RM 5.5.3.1(4,8).
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that
- determines the type used for the allocation and add assertions.
- * exp_util.adb (Has_Tag_Of_Type): Also return true for extension
- aggregates.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sinfo.ads (Iterator_Filter): Document field.
- * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around.
- (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator
- filter, if any.
- * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built
- when an iterator filter is present.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Find_Hook_Context): Revert latest change.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically
- with an aggregate returned through an object of a class-wide type.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Do not insert
- an always empty list. Remove unused parameter Isc.
- (Expand_Iterator_Loop): Adjust call to above procedure.
-
-2023-06-15 Ronan Desplanques <desplanques@adacore.com>
-
- * targparm.adb: Allow pragma Style_Checks in some forms.
- * targparm.ads: Document new pragma permission.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads (Within_Case_Or_If_Expression): Adjust description.
- * exp_util.adb (Find_Hook_Context): Stop the search for the topmost
- conditional expression, if within one, at contexts where temporaries
- may be contained.
- (Within_Case_Or_If_Expression): Return false upon first encoutering
- contexts where temporaries may be contained.
-
-2023-06-15 Johannes Kliemann <kliemann@adacore.com>
-
- * libgnarl/s-osinte__qnx.adb: Adjust priority conversion function.
- * libgnat/system-qnx-arm.ads: Adjust priority range and default
- priority.
-
-2023-06-15 Ronan Desplanques <desplanques@adacore.com>
-
- * targparm.ads: Remove references to front-end-based exceptions. Fix
- thinko.
-
-2023-06-15 Piotr Trojanek <trojanek@adacore.com>
-
- * contracts.adb (Add_Contract_Item): Add pragma Always_Terminates to
- package contract.
- * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates on
- packages and generic packages, but only when it has no arguments.
-
-2023-06-15 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates when
- it applies to an entry.
-
-2023-06-15 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Reject pragma Always_Terminates when
- it applies to a function or generic function.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence
- of an incomplete view of a type on a function call.
-
-2023-06-15 Ronan Desplanques <desplanques@adacore.com>
-
- * ttypes.ads: Remove reference to Ttypef in comment. Fix typo in
- comment.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * get_targ.ads (Get_Max_Unaligned_Field): Delete.
- * ada_get_targ.adb (Get_Max_Unaligned_Field): Likewise.
- * get_targ.adb (Get_Max_Unaligned_Field): Likewise.
- * set_targ.ads (Max_Unaligned_Field): Adjust comment.
- * set_targ.adb: Set Max_Unaligned_Field to 1 during elaboration.
- * ttypes.ads (Max_Unaligned_Field): Delete.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_type.adb (Disambiguate): Fix pasto in the implementation of
- the RM 8.4(10) clause for operators.
-
-2023-06-15 Piotr Trojanek <trojanek@adacore.com>
-
- * aspects.adb
- (Base_Aspect): Fix layout.
- * aspects.ads
- (Aspect_Argument): Expression for Always_Terminates is optional.
- * sem_prag.adb
- (Analyze_Always_Terminates_In_Decl_Part): Only analyze expression when
- pragma argument is present.
- (Analyze_Pragma): Argument for Always_Terminates is optional; fix
- whitespace for Async_Readers.
-
-2023-06-15 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb
- (Is_CPP_Constructor_Call): Add missing support for calls to
- functions returning a private type.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads (Build_Transient_Object_Statements): Remove obsolete
- references to array and record aggregates in documentation.
-
-2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items
- in the list of aspects handled by means of Insert_Pragma.
- <Aspect_Linker_Section>: Remove obsolete code. Do not delay the
- processing of the aspect if the entity is already frozen.
-
-2023-06-15 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_aggr.adb
- (Resolve_Array_Aggregate): Simplify comment.
- (Resolve_Iterated_Component_Association): Tune comment; change variable
- to constant.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve
- the expression.
-
-2023-06-13 Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb
- (Expand_N_Quantified_Expression): Detect the secondary-stack
- case, and find the innermost scope where we should mark/release,
- and Set_Uses_Sec_Stack on that. Skip intermediate blocks and loops
- that are part of expansion.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Is_Repeatedly_Evaluated): Recognize iterated component
- association as repeatedly evaluated.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Is_Potentially_Unevaluated): Recognize iterated
- component association as potentially unevaluated.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Call): Replace early call to
- In_Quantified_Expression with a call to Is_Potentially_Unevaluated that
- was only done when Full_Analysis is true.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * aspects.ads (Aspect_Id): Add new aspect.
- (Implementation_Defined_Aspect): New aspect is
- implementation-defined.
- (Aspect_Argument): New aspect has an expression argument.
- (Is_Representation_Aspect): New aspect is not a representation
- aspect.
- (Aspect_Names): Link new aspect identifier with a name.
- (Aspect_Delay): New aspect is never delayed.
- * contracts.adb (Expand_Subprogram_Contract): Mention new aspect
- in comment.
- (Add_Contract_Item): Attach pragma corresponding to the new aspect
- to contract items.
- (Analyze_Entry_Or_Subprogram_Contract): Analyze pragma
- corresponding to the new aspect that appears with subprogram spec.
- (Analyze_Subprogram_Body_Stub_Contract): Expand pragma
- corresponding to the new aspect.
- * contracts.ads
- (Add_Contract_Item, Analyze_Entry_Or_Subprogram_Contract)
- (Analyze_Entry_Or_Subprogram_Body_Contract)
- (Analyze_Subprogram_Body_Stub_Contract): Mention new aspect in
- comment.
- * einfo-utils.adb (Get_Pragma): Return pragma attached to
- contract.
- * einfo-utils.ads (Get_Pragma): Mention new contract in comment.
- * exp_prag.adb (Expand_Pragma_Always_Terminates): Placeholder for
- possibly expanding new aspect.
- * exp_prag.ads (Expand_Pragma_Always_Terminates): Dedicated
- routine for expansion of the new aspect.
- * inline.adb (Remove_Aspects_And_Pragmas): Remove aspect from
- inlined bodies.
- * par-prag.adb (Prag): Postpone checking of the pragma until
- analysis.
- * sem_ch12.adb: Mention new aspect in explanation of handling
- contracts on generic units.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Convert new aspect
- into a corresponding pragma.
- (Check_Aspect_At_Freeze_Point): Don't expect new aspect.
- * sem_prag.adb (Analyze_Always_Terminates_In_Decl_Part): Analyze
- pragma corresponding to the new aspect.
- (Analyze_Pragma): Handle pragma corresponding to the new aspect.
- (Is_Non_Significant_Pragma_Reference): Handle references appearing
- within new aspect.
- * sem_prag.ads (Aspect_Specifying_Pragma): New aspect can be
- emulated with a pragma.
- (Assertion_Expression_Pragma): New aspect has an assertion
- expression.
- (Pragma_Significant_To_Subprograms): New aspect is significant to
- subprograms.
- (Analyze_Always_Terminates_In_Decl_Part): Add spec for routine
- that analyses new aspect.
- (Find_Related_Declaration_Or_Body): Mention new aspect in comment.
- * sem_util.adb (Is_Subprogram_Contract_Annotation): New aspect is
- a subprogram contract annotation.
- * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
- aspect in comment.
- * sinfo.ads (Is_Generic_Contract_Pragma): New pragma is a generic
- contract.
- (Contract): Explain attaching new pragma to subprogram contract.
- * snames.ads-tmpl (Name_Always_Terminates): New name for the new
- contract.
- (Pragma_Always_Terminates): New pragma identifier.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_elab.adb (Check_Overriding_Primitive): Prevent Corresponding_Body
- to be called with entity of an abstract subprogram.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Save_References_In_Identifier): In the case where
- the identifier has been turned into a function call by analysis,
- call Set_Global_Type on the entity if it is global.
-
-2023-06-13 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_aggr.adb (Resolve_Iterated_Component_Association): Call
- Preanalyze_And_Resolve instead of Resolve_Aggr_Expr except for
- aggregate.
- Co-authored-by: Ed Schonberg <schonberg@adacore.com>
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * contracts.adb (Contract_Error): New exception.
- (Add_Contract_Item): Raise Contract_Error instead of Program_Error.
- (Add_Generic_Contract_Pragma): Deal with Contract_Error.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_attr.adb (Eval_Attribute): Add more exceptions to the early
- return for a prefix which is a nonfrozen generic actual type.
- * sem_ch12.adb (Copy_Generic_Node): Also check private views in the
- case of an entity name or operator analyzed as a function call.
- (Set_Global_Type): Make it a child of Save_Global_References.
- (Save_References_In_Operator): In the case where the operator has
- been turned into a function call, call Set_Global_Type on the entity
- if it is global.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a
- subprogram body that has no contracts and does not come from source,
- make sure that contracts on its corresponding spec are analyzed, if
- any, before expanding them.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen_il-fields.ads (Opt_Field_Enum): Add No_Finalize_Actions and
- remove No_Side_Effect_Removal.
- * gen_il-gen-gen_nodes.adb (N_Function_Call): Remove semantic flag
- No_Side_Effect_Removal
- (N_Assignment_Statement): Add semantic flag No_Finalize_Actions.
- * sinfo.ads (No_Ctrl_Actions): Adjust comment.
- (No_Finalize_Actions): New flag on assignment statements.
- (No_Side_Effect_Removal): Delete.
- * exp_aggr.adb (Build_Record_Aggr_Code): Remove obsolete comment and
- Ancestor_Is_Expression variable. In the case of an extension, do
- not generate a call to Adjust manually, call Set_No_Finalize_Actions
- instead. Do not set the tags, replace call to Make_Unsuppress_Block
- by Make_Suppress_Block and remove useless assertions.
- In the general case, call Initialize_Component.
- (Initialize_Controlled_Component): Delete.
- (Initialize_Simple_Component): Delete.
- (Initialize_Component): Do the low-level processing, but do not
- generate a call to Adjust manually, call Set_No_Finalize_Actions.
- (Process_Transient_Component): Delete.
- (Process_Transient_Component_Completion): Likewise.
- * exp_ch5.adb (Expand_Assign_Array): Deal with No_Finalize_Actions.
- (Expand_Assign_Array_Loop): Likewise.
- (Expand_N_Assignment_Statement): Likewise.
- (Make_Tag_Ctrl_Assignment): Likewise.
- * exp_util.adb (Remove_Side_Effects): Do not test the
- No_Side_Effect_Removal flag.
- * sem_prag.adb (Process_Suppress_Unsuppress): Give the warning in
- SPARK mode only for pragma Suppress.
- * tbuild.ads (Make_Suppress_Block): New declaration.
- (Make_Unsuppress_Block): Adjust comment.
- * tbuild.adb (Make_Suppress_Block): New procedure.
- (Make_Unsuppress_Block): Unsuppress instead of suppressing.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): Turn Rhs into a constant and
- remove calls to the following subprograms.
- (Transform_BIP_Assignment): Delete.
- (Should_Transform_BIP_Assignment): Likewise.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.ads (Is_Inherited_Operation_For_Type): Remove spec.
- * sem_util.adb (Is_Inherited_Operation_For_Type): Remove body.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Add new variable Ancestor_Q
- to store the result of Unqualify on Ancestor. Remove the dead call
- to Generate_Finalization_Actions in the case of another aggregate as
- ancestor part. Remove the redundant setting of Assignment_OK. Use
- Init_Typ in lieu of Etype (Ancestor) more consistently.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): In the case of an extension
- aggregate of a limited type whose ancestor part is an aggregate, do
- not skip the final code assigning the tag of the extension.
-
-2023-06-13 Yannick Moy <moy@adacore.com>
-
- * ghost.adb (Check_Ghost_Context): Allow absence of Ghost_Id
- for attribute. Update error message to mention Ghost_Predicate.
- (Is_Ghost_Attribute_Reference): New query.
- * ghost.ads (Is_Ghost_Attribute_Reference): New query.
- * sem_attr.adb (Resolve_Attribute): Check ghost context for ghost
- attributes.
-
-2023-06-13 Daniel King <dmking@adacore.com>
-
- * libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads (Make_Tag_Assignment_From_Type): Declare.
- * exp_util.adb (Make_Tag_Assignment_From_Type): New function.
- * exp_aggr.adb (Build_Record_Aggr_Code): Call the above function.
- (Initialize_Simple_Component): Likewise.
- * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Likewise.
- (Build_Record_Init_Proc.Build_Init_Procedure ): Likewise.
- (Make_Tag_Assignment): Likewise. Rename local variable and call
- Unqualify to go through qualified expressions.
- * exp_ch4.adb (Expand_Allocator_Expression): Likewise.
-
-2023-06-13 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-strsup.ads: Change predicate aspect.
- * sem_ch13.adb (Add_Predicate): Fix for first predicate.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Initialize_Component): Perform immediate expansion
- of the initialization expression if it is a conditional expression
- and the component type is controlled.
-
-2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Initialize_Component): New procedure factored out
- from the processing of array and record aggregates.
- (Initialize_Controlled_Component): Likewise.
- (Initialize_Simple_Component): Likewise.
- (Build_Array_Aggr_Code.Gen_Assign): Remove In_Loop parameter.
- Call Initialize_Component to initialize the component.
- (Initialize_Array_Component): Delete.
- (Initialize_Ctrl_Array_Component): Likewise.
- (Build_Array_Aggr_Code): Adjust calls to Gen_Assign.
- (Build_Record_Aggr_Code): Call Initialize_Simple_Component or
- Initialize_Component to initialize the component.
- (Initialize_Ctrl_Record_Component): Delete.
- (Initialize_Record_Component): Likewise.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch11.adb (Expand_N_Raise_Statement): Expansion of raise statements
- never happens in GNATprove mode.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch11.adb (Find_Local_Handler): Replace guard against other
- constructs appearing in the list of exception handlers with iteration
- using First_Non_Pragma/Next_Non_Pragma.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch11.ads (Find_Local_Handler): Fix typo in comment.
- * exp_ch11.adb (Find_Local_Handler): Remove redundant check for the
- Exception_Handler list being present; use membership test to eliminate
- local object LCN; fold nested IF statements. Remove useless ELSIF
- condition.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Check_Function_Writable_Actuals): Tune style; use
- subtype name to detect membership test nodes.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Use a single call
- to New_List.
-
-2023-06-13 Yannick Moy <moy@adacore.com>
-
- * doc/gnat_rm/implementation_defined_aspects.rst: Document new
- aspect.
- * doc/gnat_rm/implementation_defined_pragmas.rst: Whitespace.
- * aspects.adb (Init_Canonical_Aspect): Set it to Predicate.
- * aspects.ads: Set global constants for new aspect.
- * einfo.ads: Describe new flag related to new aspect.
- * exp_ch6.adb (Can_Fold_Predicate_Call): Do not fold new aspect.
- * exp_util.adb (Make_Predicate_Check): Add comment.
- * gen_il-fields.ads: Add new flag.
- * gen_il-gen-gen_entities.adb: Add new flag.
- * ghost.adb (Is_OK_Ghost_Context): Ghost predicate is an OK
- ghost context.
- (Mark_Ghost_Pragma): Add overloading with ghost mode parameter.
- * ghost.ads (Mark_Ghost_Pragma): Add overloading with ghpst mode
- parameter.
- (Name_To_Ghost_Mode): Make function public.
- * sem_aggr.adb: Issue error for violation of valid use.
- * sem_case.adb: Issue error for violation of valid use.
- * sem_ch13.adb: Adapt for new aspect.
- * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove dead code
- which was trying to propagate Has_Predicates flag in the wrong
- direction (from derived to parent type).
- (Analyze_Number_Declaration): Issue error for violation of valid
- use.
- (Build_Derived_Type): Cleanup inheritance of predicate flags from
- parent to derived type.
- (Build_Predicate_Function): Only add a predicate check when it
- is not ignored as Ghost code.
- * sem_ch4.adb (Analyze_Membership_Op): Issue an error for use of
- a subtype with a ghost predicate as name in a membership test.
- * sem_ch5.adb (Check_Predicate_Use): Issue error for violation of
- valid use.
- * sem_eval.adb: Adapt code for Dynamic_Predicate to account for
- Ghost_Predicate too.
- * sem_prag.adb (Analyze_Pragma): Make pragma ghost or not.
- * sem_util.adb (Bad_Predicated_Subtype_Use): Adapt to new aspect.
- (Inherit_Predicate_Flags): Add inheritance of flag. Add parameter
- to apply to derived types.
- * sem_util.ads (Inherit_Predicate_Flags): Change signature.
- * snames.ads-tmpl: Add new aspect name.
- * gnat_rm.texi: Regenerate.
-
-2023-06-13 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch3.adb (Make_Controlling_Function_Wrappers): Remove early
- decoration.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (get_storage_model_access): Also strip any
- type conversion in the node when unwinding the components.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (node_is_component): Remove parentheses.
- (node_is_type_conversion): New predicate.
- (get_atomic_access): Use it.
- (get_storage_model_access): Likewise and look into the parent to
- find a component if it returns true.
- (present_in_lhs_or_actual_p): Likewise.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Check that
- the storage model has Copy_From before instantiating loads for it.
- <Attr_Length>: Likewise.
- <Attr_Bit_Position>: Likewise.
- (gnat_to_gnu) <N_Indexed_Component>: Likewise.
- <N_Slice>: Likewise.
-
-2023-05-30 Marc Poulhiès <poulhies@adacore.com>
-
- * gcc-interface/trans.cc (Attribute_to_gnu): Also strip conversion
- in case of DECL.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a
- local variable for the GNAT index type.
- <E_Array_Subtype>: Likewise. Call Is_Null_Range on the bounds and
- force the zero on TYPE_SIZE and TYPE_SIZE_UNIT if it returns true.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: Test the
- precision of the operation rather than that of the result type.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Replace
- integer_zero_node with null_pointer_node for pointer types.
- * gcc-interface/trans.cc (gnat_gimplify_expr) <NULL_EXPR>: Likewise.
- * gcc-interface/utils.cc (maybe_pad_type): Do not attempt to make a
- packable type from a fat pointer type.
- * gcc-interface/utils2.cc (build_atomic_load): Use a local variable.
- (build_atomic_store): Likewise.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.cc (internal_error_function): Be prepared for
- an input_location set to UNKNOWN_LOCATION.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Tweak.
- (gnat_to_gnu) <N_Assignment_Statement>: Declare a local variable.
- For a target with a storage model, use the Actual_Designated_Subtype
- to compute the size if it is present.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (Call_to_gnu): Remove code implementing the
- by-copy semantics for actuals with nonnative storage models.
- (gnat_to_gnu) <N_Assignment_Statement>: Remove code instantiating a
- temporary for assignments between nonnative storage models.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.cc (range_cannot_be_superflat): Return true
- immediately if Cannot_Be_Superflat is set.
- * gcc-interface/misc.cc (gnat_post_options): Do not override the
- -Wstringop-overflow setting.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (ADA_CFLAGS): Move up.
- (ALL_ADAFLAGS): Add $(NO_PIE_CFLAGS).
- (ada/mdll.o): Remove.
- (ada/mdll-fil.o): Likewise.
- (ada/mdll-utl.o): Likewise.
-
-2023-05-30 Marc Poulhiès <poulhies@adacore.com>
-
- * gcc-interface/trans.cc (get_storage_model_access): Don't require
- storage model access for dereference used as lvalue or renamings.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code): Move the declaration of Typ
- to the beginning.
- (Initialize_Array_Component): Test the unqualified version of the
- expression for the nested array case.
- (Initialize_Ctrl_Array_Component): Do not duplicate the expression
- here. Do the pattern matching of the unqualified version of it.
- (Gen_Assign): Call Unqualify to compute Expr_Q and use Expr_Q in
- subsequent pattern matching.
- (Initialize_Ctrl_Record_Component): Do the pattern matching of the
- unqualified version of the aggregate.
- (Build_Record_Aggr_Code): Call Unqualify.
- (Convert_Aggr_In_Assignment): Likewise.
- (Convert_Aggr_In_Object_Decl): Likewise.
- (Component_OK_For_Backend): Likewise.
- (Is_Delayed_Aggregate): Likewise.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the
- expression here instead of...
- (Build_Array_Aggr_Code): ...here.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Check_Large_Modular_Array): Fix head comment, use
- Standard_Long_Long_Integer_Size directly and generate a reference
- just before the raise statement if the Etype of the object is an
- itype declared in an open scope.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in
- the scope table instead of the scope's entity.
- (Establish_Transient_Scope): If an enclosing scope already exists,
- do not set the Uses_Sec_Stack flag on it if the node to be wrapped
- is a return statement which requires secondary stack management.
-
-2023-05-30 Joel Brobecker <brobecker@adacore.com>
-
- * Makefile.rtl: Use libgnat/s-tsmona__linux.adb on
- aarch64-linux. Link libgnat with -ldl, as the use of
- s-tsmona__linux.adb requires it.
-
-2023-05-30 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch3.adb
- (Build_Access_Subprogram_Wrapper_Body): Build wrapper body if requested
- by routine that builds wrapper spec.
- * sem_ch3.adb
- (Analyze_Full_Type_Declaration): Only build wrapper when expander is
- active.
- (Build_Access_Subprogram_Wrapper):
- Remove special-case for GNATprove.
-
-2023-05-30 Ronan Desplanques <desplanques@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor issues.
- * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix minor issues.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-30 Johannes Kliemann <kliemann@adacore.com>
-
- * libgnat/s-parame.adb: Check that Default_Stack_Size >=
- Minimum_Stack_size.
- * libgnat/s-parame__rtems.adb: Ditto.
- * libgnat/s-parame__vxworks.adb: Check that Default_Stack_Size >=
- Minimum_Stack_size and use the proper Minimum_Stack_Size if
- Stack_Check_Limits is enabled.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Resolve_Call): Restrict previous change to calls that
- return on the same stack as the enclosing function. Tidy up.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/a-cidlli.adb (Put_Image): Simplify.
- * libgnat/a-coinve.adb (Put_Image): Likewise.
-
-2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside
- a generic unit, preanalyze the expression directly.
- (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise.
-
-2023-05-30 Cedric Landet <landet@adacore.com>
-
- * init.c: Replace FIXME by ???
-
-2023-05-29 Cedric Landet <landet@adacore.com>
-
- * s-oscons-tmplt.c: move the definition of sigset out of the
- HAVE_SOCKETS bloc.
-
-2023-05-29 Cedric Landet <landet@adacore.com>
-
- * Makefile.rtl: Move g-spogwa$(objext) from GNATRTL_NONTASKING_OBJS
- to GNATRTL_SOCKETS_OBJS
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in
- both cases to copy the spec of the subprogram.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context):
- Bail out for a simple return statement only if the transient scope
- and the function both require secondary stack management, or else
- if the function is a thunk.
- * sem_res.adb (Resolve_Call): Do not create a transient scope when
- the call is the expression of a simple return statement.
-
-2023-05-29 Patrick Bernardi <bernardi@adacore.com>
-
- * libgnat/a-excach.adb (Call_Chain): Replace
- Code_Address_For_AAA/ZZZ functions with AAA/ZZZ'Code_Address.
- * libgnat/a-except.adb (Code_Address_For_AAA/ZZZ): Delete.
- (AAA/ZZZ): New null procedures.
- * libgnat/g-debpoo.adb
- (Code_Address_For_Allocate_End): Delete.
- (Code_Address_For_Deallocate_End): Delete.
- (Code_Address_For_Dereference_End): Delete.
- (Allocate): Remove label and use Code_Address attribute to
- determine subprogram addresses.
- (Dellocate): Likewise.
- (Dereference): Likewise.
- (Allocate_End): Convert to null procedure.
- (Dellocate_End): Likewise.
- (Dereference_End): Likewise.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions
- consistently when rewriting the expression.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container):
- New predicate to detect a temporary created to hold the result of
- a constant indexing on a container.
- (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple
- of obsolete comments.
- (Is_Finalizable_Transient): Return False if Is_Indexed_Container
- returns True on the object.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear
- that the predicate also checks the node itself.
- (Try_User_Defined_Literal): Move current implementation to...
- Deal only with literals, named numbers and conditional expressions
- whose dependent expressions are literals or named numbers.
- (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple
- return False statements and put a single one at the end.
- (Resolve): Call Try_User_Defined_Literal instead of directly
- Has_Applicable_User_Defined_Literal for all nodes. Call
- Try_User_Defined_Literal_For_Operator for operator nodes.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Invoked_With_Different_Arguments): Use Get_Called_Entity,
- which properly deals with calls via an access-to-subprogram; fix
- inconsistent use of a Call object declared in enclosing subprogram.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * contracts.adb
- (Add_Pre_Post_Condition): Attach pre/post aspects to E_Subprogram_Type
- entity.
- (Analyze_Entry_Or_Subprogram_Contract): Adapt to use full type
- declaration for a contract attached to E_Subprogram_Type entity.
- * sem_prag.adb
- (Analyze_Pre_Post_Condition): Add pre/post aspects to the designed type.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Check_Function_Writable_Actuals): Remove guard against
- a membership test with no alternatives; simplify with a membership test.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * doc/gnat_ugn/gnat_and_program_execution.rst
- (Some Useful Memory Pools): Remove extra whitespace from examples.
- * sem_aggr.adb (Make_String_Into_Aggregate): Remove extra whitespace.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb (Convert_Aggr_In_Allocator): Replace Get_TSS_Name
- with a high-level Is_TSS.
- * sem_ch6.adb (Check_Conformance): Replace DECLARE block and
- nested IF with a call to Get_TSS_Name and a membership test.
- (Has_Reliable_Extra_Formals): Refactor repeated calls to
- Get_TSS_Name.
- * sem_disp.adb (Check_Dispatching_Operation): Replace repeated
- calls to Get_TSS_Name with a membership test.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement
- if it is the node to be wrapped by a transient scope.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer
- anything to the back-end when the main unit is generic.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Try_User_Defined_Literal): Restrict previous change
- to non-leaf nodes.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators,
- also accept operands whose type is covered by the resolution type.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Initialize_Array_Component): Fix condition detecting
- the nested case that requires an adjustment.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting
- of the simple return during the adjustment of its expression.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return
- statements enclosing the conditional expression into the dependent
- expressions in almost all cases.
- (Expand_N_If_Expression): Likewise.
- (Process_Transient_In_Expression): Adjust to the above distribution.
- * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the
- dependent expressions of a conditional expression.
- * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of
- a simple return statement during the resolution of its expression.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Refine rules for Exceptional_Cases.
-
-2023-05-29 Marc Poulhiès <poulhies@adacore.com>
-
- * exp_aggr.adb (Convert_To_Assignments): Do not mark node for
- delayed expansion if parent type has the Aggregate aspect.
- * sem_util.adb (Is_Container_Aggregate): Move...
- * sem_util.ads (Is_Container_Aggregate): ... here and make it
- public.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Relax rules for Exceptional_Cases.
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch4.ads (Unresolved_Operator): New procedure.
- * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into...
- (Has_Possible_User_Defined_Literal): ...this. Tidy up.
- (Operator_Check): Accept again unresolved operators if they have a
- possible user-defined literal as operand. Factor out the handling
- of the general error message into...
- (Unresolved_Operator): ...this new procedure.
- * sem_res.adb (Resolve): Be prepared for unresolved operators on
- entry in Ada 2022 or later. If they are still unresolved on exit,
- call Unresolved_Operator to give the error message.
- (Try_User_Defined_Literal): Tidy up.
-
-2023-05-29 Steve Baird <baird@adacore.com>
-
- * exp_ch3.adb
- (Expand_N_Object_Declaration.Default_Initialize_Object): Add test for
- specified Default_Component_Value aspect when deciding whether
- either Initialize_Scalars or Normalize_Scalars impacts default
- initialization of an array object.
-
-2023-05-29 Javier Miranda <miranda@adacore.com>
-
- * sem_aggr.adb
- (Resolve_Record_Aggregate): For aggregates of derived tagged
- record types with discriminants, when collecting components
- from ancestors, pass to subprogram Gather_Components the
- parent type. Required to report errors on wrong aggregate
- components.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Check_Result_And_Post_State): Replace low-level
- navigation with a high-level Unique_Entity.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Check_Result_And_Post_State): Properly handle entry
- bodies.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * contracts.adb (Fix_Parent): Fir part both for lists and nodes.
-
-2023-05-29 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch7.adb: Refine handling of inlining for CCG
-
-2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Copy_Generic_Node): Test the original node kind
- for the sake of consistency. For identifiers and other entity
- names and operators, accept an expanded name as associated node.
- Replace "or" with "or else" in condtion and fix its formatting.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Check_Result_And_Post_State): Tune message.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * contracts.adb (Remove_Formals): Remove.
- (Preanalyze_Condition): Replace Pop_Scope with End_Scope.
- * sem_ch13.adb (Build_Discrete_Static_Predicate): Replace
- Pop_Scope with End_Scope; enclose Install_Formals within
- Push_Scope/End_Scope.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Analyze_Pre_Post_Condition): Tune error message.
-
-2023-05-29 Javier Miranda <miranda@adacore.com>
-
- * scans.ads (Inside_Interpolated_String_Expression): New variable.
- * par-ch2.adb (P_Interpolated_String_Literal): Set/clear new
- variable when parsing interpolated string expressions.
- * scng.adb (Set_String): Skip processing operator symbols when we
- arescanning an interpolated string literal.
-
-2023-05-29 Johannes Kliemann <kliemann@adacore.com>
-
- * Makefile.rtl (QNX): Use s-parame__qnx.adb for s-parame.adb.
- * libgnat/s-parame__qnx.adb: Add QNX specific version of
- System.Parameters.
-
-2023-05-29 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-ngelfu.ads: Restore SPARK_Mode from context.
-
-2023-05-29 Marc Poulhiès <poulhies@adacore.com>
-
- * contracts.adb (Restore_Original_Selected_Component): Adjust assertion.
-
-2023-05-29 Piotr Trojanek <trojanek@adacore.com>
-
- * contracts.adb
- (Add_Pre_Post_Condition): Adapt to handle pre/post of an
- access-to-subprogram type.
- (Analyze_Type_Contract): Analyze pre/post of an
- access-to-subprogram.
- * contracts.ads
- (Analyze_Type_Contract): Adapt comment.
- * sem_ch3.adb
- (Build_Access_Subprogram_Wrapper): Copy pre/post aspects to
- wrapper spec and keep it on the type.
- * sem_prag.adb
- (Analyze_Pre_Post_Condition): Expect pre/post aspects on
- access-to-subprogram and complain if they appear without -gnat2022
- switch.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Adapt to handle
- pre/post on an access-to-subprogram type entity.
- * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
- (Result): Likewise.
-
-2023-05-26 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb
- (Build_Derived_Record_Type): Temporarily set the state of the
- Derived_Type to "self-hidden" while processing constraints
- and discriminants of a record extension.
-
-2023-05-26 Bob Duff <duff@adacore.com>
-
- * einfo.ads: Add comma.
- * contracts.adb: Fix typos.
- * exp_attr.adb: Likewise.
- * exp_ch5.adb: Likewise.
- * exp_ch6.adb: Likewise.
- * lib-xref.adb: Likewise.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * debug.adb (d.N): Document new usage.
- * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate
- flag when rewriting a floating-point to fixed-point conversion as
- a floating-point to integer conversion.
- * exp_fixd.adb: Add with and use clauses for Debug.
- (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases
- except if the result is explicitly rounded.
- (Expand_Convert_Integer_To_Fixed): Likewise.
- (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind
- of fixed-point types, except if the result is explicitly rounded, or
- -gnatd.N is specified and the type is an ordinary fixed-point type.
- * sinfo.ads (Float_Truncate): Document usage for floating-point to
- fixed-point conversions.
-
-2023-05-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch4.adb
- (Expand_N_Allocator): If an allocator with constraints is called
- in the return statement of a function returning a general access
- type, then propagate to the itype the master of the general
- access type (since it is the master associated with the
- returned object).
-
-2023-05-26 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and
- assertion that clarifies when we reassigned to a useful value.
-
-2023-05-26 Yannick Moy <moy@adacore.com>
-
- * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on
- pattern matching limitation.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-26 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may
- raise Time_Error.
- * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may
- lead to an overflow (which is not the case of Tan with one parameter for
- example, or Arctanh or Arcoth, despite their mathematical range covering
- the reals).
- * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as
- this is now compulsory for functions to always return in SPARK.
- * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure
- which may not return.
-
-2023-05-26 Bob Duff <duff@adacore.com>
-
- * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as
- 'Image.
- * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand
- to 'Image instead of 'Img.
- * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads:
- Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove
- unnecessary qualifications. DRY: Don't repeat "True".
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present.
- * sem_util.adb (Find_Untagged_Type_Of): Likewise.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code.
- (Expand_Array_Aggregate): In the case where a temporary is created
- and the parent is an assignment statement with No_Ctrl_Actions set,
- set Is_Ignored_Transient on the temporary.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to
- that of the instance only after loading the generic's parent.
- (Instantiate_Subprogram_Body): Likewise.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to
- Unqual_Conv; consequently, change object from variable to constant;
- replace an IF statement with an AND THEN expression.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch9.adb
- (Build_Entry_Count_Expression): Remove loop over component declaration;
- consequently remove a parameter that is no longer used; adapt callers.
- (Make_Task_Create_Call): Refine type of a local variable.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside
- loop, not in the loop condition itself.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/a-cbdlli.ads (List): Move Nodes component to the end.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/a-crdlli.ads (List): Move Nodes component to the end.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate.
- (Resolve_Attribute): Apply the static matching legality rule to an
- Unrestricted_Access attribute applied to an aliased prefix if the
- type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the
- aliasing legality rule as well.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and
- Next_Non_Pragma to ignore pragmas within component list.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Get_Argument): Improve detection of generic units.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch4.adb (Check_Action_OK): Replace low-level test with a
- high-level routine.
- * sem_ch13.adb (Is_Predicate_Static): Likewise.
-
-2023-05-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb
- (Expand_N_Conditional_Entry_Call): Factorize code to avoid
- duplicating subtrees; required to avoid problems when the copied
- code has implicit labels.
- * sem_util.ads (New_Copy_Separate_List): Removed.
- (New_Copy_Separate_Tree): Removed.
- * sem_util.adb (New_Copy_Separate_List): Removed.
- (New_Copy_Separate_Tree): Removed.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch13.adb (Check_Component_List): Local variable Compl is now
- a constant; a nested block is no longer needed.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_aggr.adb
- (Resolve_Record_Aggregate): Remove useless assignment.
- * sem_aux.adb
- (Has_Variant_Part): Remove useless guard; this routine is only called
- on type entities (and now will crash in other cases).
- * sem_ch3.adb
- (Create_Constrained_Components): Only assign Assoc_List when necessary;
- tune whitespace.
- (Is_Variant_Record): Refactor repeated calls to Parent.
- * sem_util.adb
- (Gather_Components): Assert that discriminant association has just one
- choice in component_association; refactor repeated calls to Next.
- * sem_util.ads
- (Gather_Components): Tune whitespace in comment.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with
- First_Non_Pragma and Next_Non_Pragma.
- * exp_dist.adb (Append_Record_Traversal): Likewise.
-
-2023-05-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks
- that have a task master entity declaration.
- (Build_Master_Entity): Code cleanup.
- * sem_util.ads (Is_Internal_Block): New subprogram.
- * sem_util.adb (Is_Internal_Block): New subprogram.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Gather_Components): Remove guard for empty list of
- components.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * back_end.adb (Call_Back_End): Add gigi_standard_address to the
- signature of the gigi procedure and alphabetize other parameters.
- Pass Standard_Address as actual parameter for it.
- * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address
- on Standard_Address.
- * gcc-interface/gigi.h (gigi): Add a standard_address parameter and
- alphabetize others.
- * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address
- type and save it as the type for Standard.Address.
-
-2023-05-26 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag.
- * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as
- N_Object_Declaration.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb
- (Build_Constrained_Type): Remove local constants that were shadowing
- equivalent global constants; replace a wrapper that calls
- Make_Integer_Literal with a numeric literal; remove explicit
- Aliased_Present parameter which is equivalent to the default value.
- (Check_Bounds): Remove unused initial value.
- (Expand_Array_Aggregate): Use aggregate type from the context.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Delay_Cleanups): Document new usage.
- * exp_ch7.ads (Build_Finalizer): New declaration.
- * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat
- library-level package instantiations specially.
- (Build_Finalizer): Return early for package bodies and specs that
- are not compilation units instead of using a more convoluted test.
- (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups
- is set on the defining entity.
- (Expand_N_Package_Declaration): Likewise.
- * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop.
- (Add_Pending_Instantiation): Add Fin_Scop parameter.
- * inline.adb (Add_Pending_Instantiation): Likewise and copy it into
- the Pending_Body_Info appended to Pending_Instantiations.
- (Add_Scope_To_Clean): Change parameter name to Scop and remove now
- irrelevant processing.
- (Cleanup_Scopes): Deal with scopes that are package specs or bodies.
- (Instantiate_Body): For package instantiations, deal specially with
- scopes that are package bodies and with scopes that are dynamic.
- Pass the resulting scope to Add_Scope_To_Clean directly.
- * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a
- body is needed, compute the enclosing finalization scope and pass it
- in the call to Add_Pending_Instantiation.
- (Inline_Instance_Body): Adjust aggregate passed in the calls to
- Instantiate_Package_Body.
- (Load_Parent_Of_Generic): Likewise.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count
- expressions in consecutive subaggregates.
-
-2023-05-26 Doug Rupp <rupp@adacore.com>
-
- * libgnarl/s-osinte__qnx.ads (sigset_t): Modify
- declaration to use system.os_constants computed
- value. Align it.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo
- and Sinfo.Nodes.
- (Build_K): Always use 'Tag of the object.
- (Build_S_Assignment): Likewise.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * accessibility.adb
- (Is_Formal_Of_Current_Function): This routine expects an entity
- reference and not the entity itself, so its parameter is a Node_Id
- and not an Entity_Id.
-
-2023-05-26 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb
- (Build_Array_Aggr_Code): Change variable to constant.
- (Check_Same_Aggr_Bounds): Fix style; remove unused initial value.
-
-2023-05-26 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals
- in more situations.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.adb (Selected_Range_Checks): Add guards to protect calls
- to Expr_Value on bounds.
-
-2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time
- known bounds and add WARNING line.
- (Not_Null_Range): Remove requirements of compile-time known bounds.
- * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare.
- (Not_Null_Range): Likewise.
- * fe.h (Is_Null_Range): New predicate.
-
-2023-05-25 Javier Miranda <miranda@adacore.com>
-
- * sem_aggr.adb
- (Warn_On_Null_Component_Association): New subprogram.
- (Empty_Range): Adding missing support for iterated component
- association node.
- (Resolve_Array_Aggregate): Report warning on iterated component
- association that may initialize some component of an array of
- null-excluding access type components with a null value.
- * exp_ch4.adb
- (Expand_N_Expression_With_Actions): Add missing type check since
- the subtype of the EWA node and the subtype of the expression
- may differ.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Determining_Expressions): Fix style; fix layout and
- ordering of pragma names; expect pragma Exceptional_Cases.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * einfo-utils.adb (Write_Entity_Info): Use procedural Next_Index.
- * sem_aggr.adb (Collect_Aggr_Bounds): Reuse local constant.
- (Resolve_Null_Array_Aggregate): Use procedural Next_Index.
-
-2023-05-25 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to
- aggregate components when the aggregate is empty.
-
-2023-05-25 Johannes Kliemann <kliemann@adacore.com>
-
- * libgnat/system-vxworks7-ppc-kernel.ads: Enable
- Support_Atomic_Primitives.
- * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
-
-2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when
- building the subtype declaration in the case of a spec expression.
-
-2023-05-25 Tom Tromey <tromey@adacore.com>
-
- * Make-generated.in (ada/stamp-snames): Check result of
- gnatmake.
-
-2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * cstand.adb (Create_Standard): Set the Is_Descendant_Of_Address
- flag on Standard_Address.
- * freeze.adb (Freeze_Entity): Copy the modulus of System.Address
- onto Standard_Address.
-
-2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/system-aix.ads (Address): Likewise.
- * libgnat/system-darwin-arm.ads (Address): Likewise.
- * libgnat/system-darwin-ppc.ads (Address): Likewise.
- * libgnat/system-darwin-x86.ads (Address): Likewise.
- * libgnat/system-djgpp.ads (Address): Likewise.
- * libgnat/system-dragonfly-x86_64.ads (Address): Likewise.
- * libgnat/system-freebsd.ads (Address): Likewise.
- * libgnat/system-hpux-ia64.ads (Address): Likewise.
- * libgnat/system-hpux.ads (Address): Likewise.
- * libgnat/system-linux-alpha.ads (Address): Likewise.
- * libgnat/system-linux-arm.ads (Address): Likewise.
- * libgnat/system-linux-hppa.ads (Address): Likewise.
- * libgnat/system-linux-ia64.ads (Address): Likewise.
- * libgnat/system-linux-m68k.ads (Address): Likewise.
- * libgnat/system-linux-mips.ads (Address): Likewise.
- * libgnat/system-linux-ppc.ads (Address): Likewise.
- * libgnat/system-linux-riscv.ads (Address): Likewise.
- * libgnat/system-linux-s390.ads (Address): Likewise.
- * libgnat/system-linux-sh4.ads (Address): Likewise.
- * libgnat/system-linux-sparc.ads (Address): Likewise.
- * libgnat/system-linux-x86.ads (Address): Likewise.
- * libgnat/system-lynxos178-ppc.ads (Address): Likewise.
- * libgnat/system-lynxos178-x86.ads (Address): Likewise.
- * libgnat/system-mingw.ads (Address): Likewise.
- * libgnat/system-qnx-arm.ads (Address): Likewise.
- * libgnat/system-rtems.ads (Address): Likewise.
- * libgnat/system-solaris-sparc.ads (Address): Likewise.
- * libgnat/system-solaris-x86.ads (Address): Likewise.
- * libgnat/system-vxworks-ppc-kernel.ads (Address): Likewise.
- * libgnat/system-vxworks-ppc-rtp-smp.ads (Address): Likewise.
- * libgnat/system-vxworks-ppc-rtp.ads (Address): Likewise.
- * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Address): Likewise.
- * libgnat/system-vxworks7-aarch64.ads (Address): Likewise.
- * libgnat/system-vxworks7-arm-rtp-smp.ads (Address): Likewise.
- * libgnat/system-vxworks7-arm.ads (Address): Likewise.
- * libgnat/system-vxworks7-ppc-kernel.ads (Address): Likewise.
- * libgnat/system-vxworks7-ppc-rtp-smp.ads (Address): Likewise.
- * libgnat/system-vxworks7-ppc64-kernel.ads (Address): Likewise.
- * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Address): Likewise.
- * libgnat/system-vxworks7-x86-kernel.ads (Address): Likewise.
- * libgnat/system-vxworks7-x86-rtp-smp.ads (Address): Likewise.
- * libgnat/system-vxworks7-x86_64-kernel.ads (Address): Likewise.
- * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Address): Likewise.
-
-2023-05-25 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string,
- use existing local Ident.
-
-2023-05-25 Bob Duff <duff@adacore.com>
-
- * atree.adb (Check_Vanishing_Fields): Fix bug in the "blah type
- only" cases. Remove the special cases for E_Void. Misc cleanup.
- (Mutate_Nkind): Disallow mutating to the same kind.
- (Mutate_Ekind): Disallow mutating to E_Void.
- (From E_Void is still OK -- entities start out as E_Void by
- default.) Fix bug in statistics gathering -- was setting the wrong
- count. Enable Check_Vanishing_Fields for entities.
- * sem_ch8.adb (Is_Self_Hidden): New function.
- (Find_Direct_Name): Call Is_Self_Hidden to use the new
- Is_Not_Self_Hidden flag to determine whether a declaration is
- hidden from all visibility by itself. This replaces the old method
- of checking E_Void.
- (Find_Expanded_Name): Likewise.
- (Find_Selected_Component): Likewise.
- * sem_util.adb (Enter_Name): Remove setting of Ekind to E_Void.
- * sem_ch3.adb: Set the Is_Not_Self_Hidden flag in appropriate
- places. Comment fixes.
- (Inherit_Component): Remove setting of Ekind to E_Void.
- * sem_ch9.adb
- (Analyze_Protected_Type_Declaration): Update comment. Skip Itypes,
- which should not be turned into components.
- * atree.ads (Mutate_Nkind): Document error case.
- (Mutate_Ekind): Remove comments apologizing for E_Void mutations.
- Document error cases.
-
-2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/a-ststio.adb (Set_Mode): Test System.Memory_Size.
- * libgnat/g-debuti.ads (Address_64): Likewise.
- * libgnat/i-c.ads: Add with clause for System.
- (ptrdiff_t): Define based on the size of memory space.
- (size_t): Likewise.
- * libgnat/s-crtl.ads (size_t): Likewise.
- (ssize_t): Likewise.
- * libgnat/s-memory.ads (size_t): Likewise.
- * libgnat/s-parame.ads (Size_Type): Likewise.
- * libgnat/s-parame__hpux.ads (Size_Type): Likewise.
- * libgnat/s-parame__posix2008.ads (Size_Type): Likewise.
- * libgnat/s-parame__vxworks.ads (Size_Type): Likewise.
- * libgnat/s-putima.adb (Signed_Address): Likewise.
- (Unsigned_Address): Likewise.
- * libgnat/s-stoele.ads (Storage_Offset): Likewise.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition
- as when it was incremented.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.ads (New_Copy_Tree): Remove Scopes_In_EWA_OK from spec;
- adapt comment.
- * sem_util.adb (New_Copy_Tree): Remove Scopes_In_EWA_OK from body;
- adapt code.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Update_New_Entities): Remove redundant check for entity
- map being present.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * atree.adb (Copy_List): Call Copy_Separate_Tree for both entities and
- other nodes.
-
-2023-05-25 Steve Baird <baird@adacore.com>
-
- * exp_attr.adb
- (Cached_Streaming_Ops): A new package, providing maps to save
- previously-generated Read/Write/Input/Output procedures.
- (Expand_N_Attribute_Reference): When a new subprogram is generated
- for a Read/Write/Input/Output attribute reference, record that
- type/subp pair in the appropriate Cached_Streaming_Ops map.
- (Find_Stream_Subprogram): Check the appropriate
- Cached_Streaming_Ops map to see if an appropriate subprogram has
- already been generated. If so, then return it. The appropriateness
- test includes a call to a new nested subprogram,
- In_Available_Context.
- * exp_strm.ads, exp_strm.adb: Do not pass in a Loc parameter (or a
- source-location-bearing Nod parameter) to the 16 procedures
- provided for building streaming-related subprograms. Use the
- source location of the type instead.
- * exp_dist.adb, exp_ch3.adb: Adapt to Exp_Strm spec changes. For
- these calls the source location of the type was already being
- used.
-
-2023-05-25 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch6.adb (Analyze_Function_Return): Add missing
- Is_Access_Type check before accessing the Designated_Type field.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch6.adb (Analyze_Return_Type): Remove unused initial value.
-
-2023-05-25 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item.
- (Check_Aspect_At_Freeze_Point): Check the aspect is specified on
- non-array type only...
- (Analyze_One_Aspect): ... instead of doing it too early here.
- * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case
- the parameters failed to resolve.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Check_Internal_Protected_Use): Add standard protection
- against search going too far.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * contracts.adb
- (Add_Pre_Post_Condition): Mention new aspects in the comment.
- * contracts.ads
- (Add_Contract_Item): Likewise.
- (Analyze_Subprogram_Body_Stub_Contract): Likewise.
- * sem_prag.adb
- (Contract_Freeze_Error): Likewise.
- (Ensure_Aggregate_Form): Likewise.
- * sem_prag.ads
- (Find_Related_Declaration_Or_Body): Likewise.
- * sinfo.ads
- (Is_Generic_Contract_Pragma): Likewise.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * aspects.ads
- (Implementation_Defined_Aspect): Recently added aspects are
- implementation-defined, just like Contract_Cases.
- * sem_prag.ads
- (Aspect_Specifying_Pragma): Recently added aspects have corresponding
- pragmas, just like Contract_Cases.
- (Pragma_Significant_To_Subprograms): Recently added aspects are
- significant to subprograms, just like Contract_Cases.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Tune handling of formal parameters
- in contract Exceptional_Cases.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * par-ch7.adb (P_Package): Remove redundant guard from call to
- Move_Aspects.
- * par-ch9.adb (P_Task): Likewise.
- * sem_ch6.adb (Analyze_Expression_Function, Is_Inline_Pragma): Likewise.
-
-2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Use Get_Actual_Subtype
- to retrieve the actual subtype for all actuals and do it in only one
- place for all unconstrained composite formal types.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Fix references to Exceptional_Cases in
- code copied from handling of Subprogram_Variant.
-
-2023-05-25 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch3.adb (Replace_Type): Add more documentation.
-
-2023-05-25 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch3.adb (Replace_Type): Use existing constant wherever
- possible.
-
-2023-05-25 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch3.adb (Replace_Type): Reduce span of variable.
-
-2023-05-25 Bob Duff <duff@adacore.com>
-
- * sem_ch9.adb (Analyze_Protected_Type_Declaration): Set the flag
- for protected types.
- (Analyze_Single_Protected_Declaration): Likewise, for singleton
- protected objects.
- (Analyze_Task_Type_Declaration): Set the flag for task types.
- (Analyze_Single_Task_Declaration): Likewise, for singleton task
- objects.
- * sem_ch10.adb (Decorate_Type): Set the flag for types treated as
- incomplete.
- (Build_Shadow_Entity): Set the flag for shadow entities.
- (Decorate_State): Set the flag for an abstract state.
- (Build_Limited_Views): Set the flag for limited view of package.
- * sem_attr.adb (Check_Not_Incomplete_Type): Disable the check when
- this is a current instance.
-
-2023-05-25 Ronan Desplanques <desplanques@adacore.com>
-
- * freeze.adb (Build_DTW_Body): Add appropriate type conversions for
- controlling access parameters.
- * sem_util.adb (Build_Overriding_Spec): Fix designated types in
- controlling access parameters.
-
-2023-05-25 Bob Duff <duff@adacore.com>
-
- * gen_il-gen-gen_entities.adb (E_Label): Add
- Entry_Cancel_Parameter. This is necessary because
- Analyze_Implicit_Label_Declaration set the Ekind to E_Label.
- Without this change, this field would fail the vanishing-fields
- check in Atree (which is currently commented out).
- * einfo.ads (Entry_Cancel_Parameter): Document for E_Label.
- * sem_eval.adb (Why_Not_Static): Protect against previous errors
- (no need to explain why something is not static if it's already
- illegal for other reasons).
- * sem_util.ads (Enter_Name): Fix misleading comment.
-
-2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Scope_Depth): Fix circular definition.
- (Scope_Depth_Value): Fix value for library units.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch11.adb (Analyze_Raise_Expression): Tune warning condition.
- * libgnat/g-dirope.ads (Open): Remove a potentially inaccurate comment.
- * libgnat/g-dirope.adb (Open): Remove a potentially useless assignment;
- the Dir output parameter should be assigned a null value anyway by the
- preceding call to Free.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Allow aliased parameters; tune
- error message.
-
-2023-05-25 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as
- needing delayed resolution and reject the aspect on non-array
- type.
-
-2023-05-25 Bob Duff <duff@adacore.com>
-
- * sinfo-utils.adb: Update comment to refer to
- New_Node_Debugging_Output.
-
-2023-05-25 Marc Poulhiès <poulhies@adacore.com>
-
- * rtsfind.adb (Load_RTU.Restore_SPARK_Context): New.
- (Load_RTU): Use Restore_SPARK_Context on all exit paths.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Initialize local
- variable to Empty.
-
-2023-05-25 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_attr.adb
- (Analyze_Attribute_Old_Result): Allow uses of 'Old and 'Result within
- the new aspect.
- * sem_res.adb
- (Within_Exceptional_Cases_Consequence): New utility routine.
- (Resolve_Entity_Name): Restrict use of formal parameters within the
- new aspect.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * aspects.ads
- (Aspect_Id): Add aspect identifier.
- (Aspect_Argument): New aspect accepts an expression.
- (Is_Representation_Aspect): New aspect is not a representation
- aspect.
- (Aspect_Names): Associate name with the new aspect identifier.
- (Aspect_Delay): New aspect is never delayed.
- * contracts.adb
- (Add_Contract_Item): Store new aspect among contract items.
- (Analyze_Entry_Or_Subprogram_Contract): Likewise.
- (Analyze_Subprogram_Body_Stub_Contract): Likewise.
- (Process_Contract_Cases): Expand new aspect, if present.
- * contracts.ads
- (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in
- spec.
- (Analyze_Entry_Or_Subprogram_Contract): Likewise.
- * einfo-utils.adb
- (Get_Pragma): Allow new aspect to be picked by the backend.
- * einfo-utils.ads
- (Get_Pragma): Mention new aspect in spec.
- * exp_prag.adb
- (Expand_Pragma_Exceptional_Cases): Dummy expansion routine.
- * exp_prag.ads
- (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine.
- * inline.adb
- (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline.
- * par-prag.adb
- (Par.Prag): Accept pragma in the parser, so it will be checked
- later.
- * sem_ch12.adb
- (Implementation of Generic Contracts): Mention new aspect in
- comment.
- * sem_ch13.adb
- (Analyze_Aspect_Specifications): Transform new aspect info a
- corresponding pragma.
- * sem_prag.adb
- (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect
- expression; heavily inspired by the existing code for analysis of
- Subprogram_Variant and exception handlers.
- (Analyze_Pragma): Analyze pragma corresponding to the new aspect.
- (Is_Non_Significant_Pragma_Reference): Add new pragma to the
- table.
- * sem_prag.ads
- (Assertion_Expression_Pragma): New pragma acts as an assertion
- expression, even though it is not currently expanded.
- (Analyze_Exceptional_Cases_In_Decl_Part): Add spec.
- * sem_util.adb
- (Is_Subprogram_Contract_Annotation): Mark new annotation is a
- subprogram contract, so the subprogram with it won't be inlined.
- * sem_util.ads
- (Is_Subprogram_Contract_Annotation): Mention new aspect in
- comment.
- * sinfo.ads
- (Contract_Test_Cases): Mention new aspect in comment.
- * snames.ads-tmpl: Add entries for the new name and pragma.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Build_Predicate_Functions): If the current scope
- is not that of the type, push this scope and pop it at the end.
- * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete.
- * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise.
- (Set_Public_Status): Call again Current_Scope.
-
-2023-05-23 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from
- call to Is_Limited_Record, since that flag is now properly
- inherited by class-wide types.
- * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call
- to Make_Class_Wide_Type, which is done too early, and will later
- be done in Build_Derived_Record_Type after flags such as
- Is_Limited_Record and Is_Controlled_Active have been set on the
- derived type.
-
-2023-05-23 Patrick Bernardi <bernardi@adacore.com>
-
- * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack.
- * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS
- choice.
- * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_ch11.adb
- (Check_Duplication): Fix inconsistent iteration.
- (Others_Present): Iterate over handlers using First_Non_Pragma and
- Next_Non_Pragma just like in Check_Duplication.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Delay_Subprogram_Descriptors): Delete.
- * gen_il-fields.ads (Opt_Field_Enum): Remove
- Delay_Subprogram_Descriptors.
- * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise.
- * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec.
- * sinfo.ads (Corresponding_Spec): Document new use.
- (N_Entry_Body): Likewise.
- * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for
- protected subprograms that have been expanded.
- * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code.
- * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the
- new block and propagate Uses_Sec_Stack from the corresponding spec.
- (Expand_N_Protected_Body) <N_Subprogram_Body>: Unconditionally reset
- the scopes of top-level entities in the new body.
- * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly.
- * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec.
- * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code
- setting Delay_Subprogram_Descriptors and tidy up.
- * sem_util.adb (Scope_Within): Deal with protected subprograms that
- have been expanded.
- (Scope_Within_Or_Same): Likewise.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnarl/s-taskin.ads (Atomic_Address): Delete.
- (Attribute_Array): Add pragma Atomic_Components.
- (Ada_Task_Control_Block): Adjust default value of Attributes.
- * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local
- variable.
- * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter.
- (To_Attribute): Adjust source type.
- * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements.
- (New_Attribute): Adjust return type.
- (Deallocate): Adjust type of parameter.
- (To_Real_Attribute): Adjust source type.
- (To_Address): Add target type.
- (To_Attribute): Adjust source type.
- (Fast_Path): Adjust tested type.
- (Finalize): Compare with Null_Address.
- (Reference): Likewise.
- (Reinitialize): Likewise.
- (Set_Value): Likewise. Add conversion to Integer_Address.
- (Value): Likewise.
-
-2023-05-23 Raphael Amiard <amiard@adacore.com>
-
- * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed
- by Core_Extensions_Allowed.
-
-2023-05-23 Claire Dross <dross@adacore.com>
-
- * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers.
- * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost,
- Raw_Unsigned_Is_Based_Ghost): New ghost helper functions.
- (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost,
- Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new
- helpers.
-
-2023-05-23 Arnaud Charlet <charlet@adacore.com>
-
- * par-ch5.adb, style.ads, styleg.adb, styleg.ads
- (Check_Xtra_Parens): Remove extra parameter Enable.
- (Check_Xtra_Parens_Precedence): New.
- (P_Case_Statement): Add -gnatyx style check.
- * sem_ch4.adb: Replace calls to Check_Xtra_Parens by
- Check_Xtra_Parens_Precedence.
- * stylesw.ads, stylesw.adb, usage.adb: Add support for
- -gnatyz.
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
- Update -gnatyxzg doc.
- * sem_prag.adb, libgnat/s-regpat.adb,
- libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb:
- Remove extra parens.
- * par-ch3.adb (P_Discrete_Range): Do not emit a style check if
- the expression is not a simple expression.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of
- System.Storage_Elements to compute the offset.
- (Symbolic_Address): Likewise.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same
- resolution for the special mod operator of System.Storage_Elements.
-
-2023-05-23 Raphael Amiard <amiard@adacore.com>
-
- * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst,
- doc/gnat_rm/implementation_defined_pragmas.rst:
- * gnat_rm.texi: Regenerate.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special
- operator of System.Storage_Elements. Do not rewrite it into a rem.
- * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the
- left operand for the special mod operator of System.Storage_Elements
-
-2023-05-23 Vadim Godunko <godunko@adacore.com>
-
- * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call
- of Detach
- (Query_Element): Likewise.
-
-2023-05-23 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_disp.adb: Fix reference to Ada issue in comment.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface
- class-wide case, use 'Tag of the object as the controlling tag.
- (Expand_Interface_Thunk): Perform address arithmetic using operators
- of System.Storage_Elements.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements.
- (Addr): Delete.
- (Offset): New subtype of Storage_Offset.
- (To_Offset): New instance of Unchecked_Conversion.
- (To_Pointer): Adjust.
- (To_Addr): Likewise.
- (To_Ptrdiff): Likewise.
- ("+"): Call To_Offset on the offset.
- ("-"): Likewise.
- * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements.
- (Val_Bytes): Change type to Storage_Count.
- (Get_Val_2): Add qualification to second operand of mod operator.
- (Set_Val_2): Likewise.
- (Copy_Bitfield): Likewise. Change type of Src_Adjust & Dest_Adjust.
- * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address.
- * libgnat/s-statxd.adb (I_AD): Adjust.
- (I_AS): Likewise.
- (W_AS): Likewise.
-
-2023-05-23 Steve Baird <baird@adacore.com>
-
- * sem_util.adb
- (Is_Variable): Correctly return False for a selected component
- name of the form Some_Object.Some_Discriminant, even if
- Some_Object is a variable. We don't want to allow such a name as
- an actual parameter in a call if the corresponding formal
- parameter's mode is not "in".
-
-2023-05-23 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Check_Node): Add default init on local Id.
-
-2023-05-23 Yannick Moy <moy@adacore.com>
-
- * libgnat/i-c.adb (To_Ada): Add loop invariant.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod
- operator of System.Storage_Elements.
- * exp_intr.adb (Expand_To_Integer): New procedure.
- (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately.
- (Expand_To_Address): Deal with an argument with modular type.
- * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic
- on a derived intrinsic subprogram.
- * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic
- operators not coming from source exactly as those coming from
- source and also generate a reference in both cases.
- (Resolve_Op_Expon): Likewise.
- (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get
- a nonprivate base type.
- * snames.ads-tmpl (Name_To_Integer): New intrinsic name.
- * libgnat/s-stoele.ads: Replace pragma Convention with pragma
- Import throughout and remove pragma Inline_Always and
- Pure_Function.
- * libgnat/s-stoele.adb: Replace entire contents with pragma
- No_Body.
- * libgnat/s-atacco.adb: Adjust comment about pragma No_Body.
-
-2023-05-23 Javier Miranda <miranda@adacore.com>
-
- * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
- call to preanalyze class-wide conditions since here it is too
- early; they must be preanalyzed when full views of private types
- have been analyzed.
- * sem_ch7.adb (Analyze_Package_Specification): Preanalyze
- class-wide conditions of dispatching primitives defined in nested
- packages.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1"
- statement into a subprogram; replace assertions with defensive code;
- fix few more off-by-one errors.
-
-2023-05-23 Ronan Desplanques <desplanques@adacore.com>
-
- * einfo.ads: Mention full name of LSP.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * errout.adb (Last_Sloc): Rewrite skipping past numeric literals.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the
- commentary to the current implementation.
- * sem_util.ads (Current_Scope_No_Loops): Move around.
- (Current_Scope_No_Loops_No_Blocks): New declaration.
- (Add_Block_Identifier): Fix formatting.
- * sem_util.adb (Add_Block_Identifier): Likewise.
- (Current_Scope_No_Loops_No_Blocks): New function.
- (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead
- of Current_Scope to get the current scope.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not
- manually generate a predicate check. Call Unqualify before doing
- pattern matching on the expression.
- * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual
- subtype when it is built in the definite case.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * libgnarl/s-interr.adb
- (Registered_Handler): Remove default expression.
- (Registered_Handlers): Switch to singly-linked list.
- (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants.
- (Is_Registered): Use singly-linked list.
- (Register_Interrupt_Handler): Use singly-linked list and initialized
- allocator; sync assertion with other unit variants.
- * libgnarl/s-interr__sigaction.adb: Likewise.
- * libgnarl/s-interr__vxworks.adb: Likewise.
- * libgnarl/s-interr__hwint.adb: Likewise.
- (Is_Registered): Remove repeated declaration.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * pprint.adb (Expression_Image): Restore some of the old pretty-printing
- for CodePeer.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * pprint.adb (Expression_Image): Move Count_Parentheses and
- Fix_Parentheses routines from GNATprove and apply them before
- returning the slice of a source code buffer.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * errout.adb
- (Paren_Required): New subsidiary routine for better handling of
- parentheses in First_Node/Last_Node.
- (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly
- handle generic instances and inlined subprograms; tune handling of
- parentheses; improve handling of literals.
- * pprint.adb (Expression_Image): Simplify using
- First_Sloc/Last_Sloc.
- * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis
- when relocating expression from expression function to simple
- return statement.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of
- subprogram variants.
-
-2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * frontend.adb (Frontend): Merge two conditional blocks and adjust.
-
-2023-05-23 Piotr Trojanek <trojanek@adacore.com>
-
- * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment.
-
-2023-05-23 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch7.adb: Remove duplicate comment.
-
-2023-05-23 Javier Miranda <miranda@adacore.com>
-
- * sem_ch10.adb
- (Analyze_Required_Limited_With_Units): New subprogram.
- (Depends_On_Limited_Views): New subprogram.
- (Has_Limited_With_Clauses): New subprogram.
- (Analyze_Compilation_Unit): Call the new subprogram that performs
- the full analysis of required limited-with units.
-
-2023-05-22 Ronan Desplanques <desplanques@adacore.com>
-
- * cstand.adb: Use more idiomatic procedure.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * errout.adb (First_Loc): Avoid repeated calls.
- (Last_Loc): Likewise.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Cleanup_Scopes): Do not propagate the Uses_Sec_Stack
- flag from original to rewritten protected subprograms here...
- * exp_ch9.adb (Expand_N_Protected_Body) <N_Subprogram_Body>:
- ...but here instead. Add local variables and remove a useless
- test.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get
- the entity of the body.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_attr.adb (Expand_Loop_Entry_Attribute): Use location of the
- attribute reference, not of the loop statement.
-
-2023-05-22 Ronan Desplanques <desplanques@adacore.com>
-
- * par-ch3.adb: Add missing word in comment.
-
-2023-05-22 Justin Squirek <squirek@adacore.com>
-
- * checks.adb (Install_Null_Excluding_Check): Avoid non-null
- optimizations when assertions are enabled.
-
-2023-05-22 Marc Poulhiès <poulhies@adacore.com>
-
- * exp_aggr.adb (Process_Transient_Component): Reset Analyzed flag
- for the copy of the initialization expression.
- * sem_attr.adb (Validate_Non_Static_Attribute_Function_Call): Skip
- error emission during Pre_Analyze.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Process_Package_Body): New procedure taken from...
- (Build_Finalizer.Process_Declarations): ...here. Call the above
- procedure to deal with both package bodies and package body stubs.
-
-2023-05-22 Ronan Desplanques <desplanques@adacore.com>
-
- * atree.ads: Remove outdated part of comment.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Build_Finalizer): Reverse the test comparing the
- instantiation and declaration nodes of a package instance, and
- therefore bail out only when they are equal. Adjust comments.
- (Expand_N_Package_Declaration): Do not clear the Finalizer field.
- * lib-writ.adb: Add with and use clauses for Sem_Util.
- (Write_Unit_Information): Look at unit nodes to find finalizers.
- * sem_ch12.adb (Analyze_Package_Instantiation): Beef up the comment
- about the rewriting of the instantiation node into a declaration.
-
-2023-05-22 Bob Duff <duff@adacore.com>
-
- * cstand.adb (Is_Past_Self_Hiding_Point): Rename to be
- Is_Not_Self_Hidden.
- * einfo.ads: Likewise.
- * exp_aggr.adb: Likewise.
- * gen_il-fields.ads: Likewise.
- * gen_il-gen-gen_entities.adb: Likewise.
- * sem.adb: Likewise.
- * sem_aggr.adb: Likewise.
- * sem_ch11.adb: Likewise.
- * sem_ch12.adb: Likewise.
- * sem_ch5.adb: Likewise.
- * sem_ch6.adb: Likewise.
- * sem_ch7.adb: Likewise.
- * sem_prag.adb: Likewise.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body
- as the expanded body of an expression function.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * pprint.adb (Expression_Image): Handle several previously unsupported
- constructs.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Combine two IF statements that
- execute code only for references that come from source.
-
-2023-05-22 Bob Duff <duff@adacore.com>
-
- * einfo.ads (Is_Past_Self_Hiding_Point): Document.
- * gen_il-fields.ads (Is_Past_Self_Hiding_Point): Add to list of
- fields.
- * gen_il-gen-gen_entities.adb (Is_Past_Self_Hiding_Point): Declare
- in all entities.
- * exp_aggr.adb: Set Is_Past_Self_Hiding_Point as appropriate.
- * sem.adb: Likewise.
- * sem_aggr.adb: Likewise.
- * sem_ch11.adb: Likewise.
- * sem_ch12.adb: Likewise.
- * sem_ch5.adb: Likewise.
- * sem_ch7.adb: Likewise.
- * sem_prag.adb: Likewise.
- * sem_ch6.adb: Likewise.
- (Set_Formal_Mode): Minor cleanup: Move from spec.
- * sem_ch6.ads:
- (Set_Formal_Mode): Minor cleanup: Move to body.
- * cstand.adb: Call Set_Is_Past_Self_Hiding_Point on all entities
- as soon as they are created.
- * comperr.adb (Compiler_Abort): Minor cleanup -- use 'in' instead
- of 'or else'.
- * debug.adb: Minor comment cleanups.
-
-2023-05-22 Steve Baird <baird@adacore.com>
-
- * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
- Accept an executable pragma occuring in a declare expression as
- per AI22-0045. This means Assert and Inspection_Point pragmas as
- well as any implementation-defined pragmas that the implementation
- chooses to categorize as executable. Currently Assume and Debug
- are the only such pragmas.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb
- (Check_Postcondition_Use_In_Inlined_Subprogram): Mention
- Subprogram_Variant in the comment.
- (Analyze_Subprogram_Variant_In_Decl_Part): Warn when contract is
- ignored because of pragma Inline_Always and frontend inlining.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only
- emit warning when frontend inlining is enabled.
-
-2023-05-22 Arnaud Charlet <charlet@adacore.com>
-
- * par-ch3.adb, sem_ch4.adb (P_Discrete_Range, Analyze_Logical_Op,
- Analyze_Short_Circuit): Add calls to Check_Xtra_Parentheses.
- * par-ch5.adb (P_Condition): Move logic to Check_Xtra_Parentheses.
- * style.ads, styleg.adb, styleg.ads (Check_Xtra_Parens): Move logic
- related to expressions requiring parentheses here.
-
-2023-05-22 Arnaud Charlet <charlet@adacore.com>
-
- * ali-util.adb, par-endh.adb, par-prag.adb, par-ch2.adb,
- checks.adb, fmap.adb, libgnat/a-nbnbig.ads, libgnat/g-dynhta.adb,
- libgnat/s-carun8.adb, libgnat/s-strcom.adb, libgnat/a-dhfina.adb,
- libgnat/a-direct.adb, libgnat/a-rbtgbo.adb, libgnat/a-strsea.adb,
- libgnat/a-ststio.adb, libgnat/a-suenco.adb, libgnat/a-costso.adb,
- libgnat/a-strmap.adb, libgnat/g-alleve.adb,
- libgnat/g-debpoo.adb, libgnat/g-sercom__linux.adb,
- libgnat/s-genbig.adb, libgnat/s-mmap.adb, libgnat/s-regpat.adb,
- par-ch5.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb,
- sem_ch8.adb, sem_eval.adb, sem_prag.adb, sem_type.adb,
- exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb,
- exp_ch6.adb, exp_ch9.adb, exp_put_image.adb, freeze.adb, live.adb,
- sem_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch3.adb, sem_ch6.adb,
- sem_ch9.adb, sem_disp.adb, sem_elab.adb, sem_res.adb,
- sem_util.adb, sinput.adb, uintp.adb, bcheck.adb, binde.adb,
- binderr.adb, einfo-utils.adb, clean.adb, sem_ch4.adb, gnatls.adb,
- gprep.adb, sem_ch11.adb: Remove extra parentheses.
-
-2023-05-22 Arnaud Charlet <charlet@adacore.com>
-
- * sem_aggr.adb (Get_Value): Use ?? instead of ?.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_aggr.adb (Aggregate_Size): Remove redundant calls to
- Present.
- * exp_ch5.adb (Expand_N_If_Statement): Likewise.
- * sem_prag.adb (Analyze_Pragma): Likewise.
- * sem_warn.adb (Find_Var): Likewise.
-
-2023-05-22 Claire Dross <dross@adacore.com>
-
- * sem_util.adb (Find_Actual): On calls through dereferences,
- return the corresponding formal in the designated subprogram
- profile.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.ads (Is_Actual_Tagged_Parameter): Remove spec.
- * sem_util.adb (Is_Actual_Tagged_Parameter): Remove body.
-
-2023-05-22 Joffrey Huguet <huguet@adacore.com>
-
- * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads
- (To_Unbounded_String): Add postcondition. Add aspect SPARK_Mode
- Off on the version that takes a Natural as parameter.
- (To_String): Complete postcondition.
- (Set_Unbounded_String): Add postcondition.
- (Element): Likewise.
- ("="): Likewise.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address
- routine for a class-wide type if restriction No_Dispatching_Calls
- is in effect.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * libgnat/s-genbig.ads (From_Bignum): New overloaded declarations.
- * libgnat/s-genbig.adb (LLLI): New subtype.
- (LLLI_Is_128): New boolean constant.
- (From_Bignum): Change the return type of the signed implementation
- to Long_Long_Long_Integer and add support for the case where its
- size is 128 bits. Add a wrapper around it for Long_Long_Integer.
- Add an unsigned implementation returning Unsigned_128 and a wrapper
- around it for Unsigned_64.
- (To_Bignum): Test LLLI_Is_128 instead of its size.
- (To_String.Image): Add qualification to calls to From_Bignum.
- * libgnat/a-nbnbin.adb (To_Big_Integer): Likewise.
- (Signed_Conversions.From_Big_Integer): Likewise.
- (Unsigned_Conversions): Likewise.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec
- to copy the spec from the subprogram to the generated subprogram
- body.
- (Freeze_Entity): Do not wrap imported subprograms inside generics.
-
-2023-05-22 Steve Baird <baird@adacore.com>
-
- * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
- If Comes_From_Source (A) is False, then look at Original_Node (A)
- instead of A. In particular, if an (illegal) expression function
- is transformed into a "vanilla" function, we don't want to allow
- it just because Comes_From_Source is now False.
-
-2023-05-22 Steve Baird <baird@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): In Check_No_Return, call
- Error_Msg_Ada_2022_Feature in the case of a function. Remove code
- outside of Check_No_Return that was querying Ada_Version.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do
- not look into nested blocks.
-
-2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set
- the Scope of the type, and call Constrain_Array for array subtypes.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * pprint.adb (Expression_Image): Reduce scope of local variables; inline
- local uncommented constant From_Source; concatenate string with a single
- character, as it is likely to execute faster; add missing cases to
- traversal for the rightmost node and assertion to demonstrate that the
- ??? comment is no longer relevant.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * pprint.adb (Expr_Name): Qualify CASE expression with N_Subexpr; add
- missing alternative for N_Raise_Storage_Error; remove dead alternatives;
- explicitly list unsupported alternatives.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * pprint.adb (Expr_Name): Exclude DEL from printable range.
-
-2023-05-22 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.ads (New_Copy_Tree): Update comment.
- * sem_util.adb (New_Copy_Tree): Update Controlling_Argument, very
- much like we update the First/Next_Named_Association.
-
-2023-05-22 Bob Duff <duff@adacore.com>
-
- * fe.h: Remove Ada_With_Extensions and add commentary.
- * opt.ads: Rearrange code and add commentary.
-
-2023-05-22 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Process_Type): Stop the recursion.
- * exp_aggr.adb (Build_Record_Aggr_Code): Add assertion.
-
-2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * gcc-interface/decl.cc (gnat_to_gnu_entity): Use _P defines
- from tree.h.
- (constructor_address_p): Ditto.
- (elaborate_expression_1): Ditto.
- * gcc-interface/trans.cc (Identifier_to_gnu): Ditto.
- (is_nrv_p): Ditto.
- (Subprogram_Body_to_gnu): Ditto.
- (gnat_to_gnu): Ditto.
- (gnat_to_gnu_external): Ditto.
- (add_decl_expr): Ditto.
- (gnat_gimplify_expr): Ditto.
- * gcc-interface/utils.cc (create_var_decl): Ditto.
- * gcc-interface/utils2.cc (get_base_type): Ditto.
- (build_binary_op): Ditto.
- (build_unary_op): Ditto.
- (gnat_protect_expr): Ditto.
- (gnat_invariant_expr): Ditto.
-
-2023-05-16 Steve Baird <baird@adacore.com>
-
- * usage.adb: Generate output text describing the -gnatw_s switch
- (and the corresponding -gnatw_S switch).
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Reduce>:
- Use the canonical accumulator type as the type of the accumulator
- in the prefixed case.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Expand_Array_Aggregate): Do not set Warnings_Off on
- the temporary created when in-place expansion is not possible.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Freeze_Expression): When the freezing is to be done
- outside the current scope, skip any scope that is an internal loop.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component
- that depends on a discriminant, create an actual subtype for it.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb: Add with and use clauses for Expander.
- (Resolve_Aspect_Expressions) <Aspect_Predicate>: Emulate a
- bona-fide preanalysis setup before calling
- Resolve_Aspect_Expression.
-
-2023-05-16 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-aridou.adb (Lemma_Div_Pow2): Add assertion.
- * libgnat/s-arit32.adb (Lemma_Abs_Div_Commutation): Simplify.
- * libgnat/s-expmod.adb (Lemma_Exp_Mod): Add assertions.
- (Lemma_Euclidean_Mod): Add body to lemma.
- (Lemma_Mult_Mod): Add assertion.
- * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Modify assertion.
- * libgnat/s-vauspe.ads (Raw_Unsigned_Last_Ghost): Add
- postcondition.
- * libgnat/s-widthi.adb: Use more precise types.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the
- same processing for derived untagged types as for tagged types.
- * sem_util.ads (Corresponding_Primitive_Op): Adjust description.
- * sem_util.adb (Corresponding_Primitive_Op): Handle untagged
- types.
-
-2023-05-16 Javier Miranda <miranda@adacore.com>
-
- * sem_attr.adb
- (Analyze_Attribute_Old_Result): When preanalyzing a class-wide
- condition, search in the scopes stack for the subprogram that has
- the condition. This is required because returning the current
- scope causes reporting spurious errors when the occurrence of the
- attribute is found, for example, in a quantified expression.
-
-2023-05-16 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb
- (Needs_BIP_Alloc_Form): Return False for functions with foreign
- convention since we never use build-in-place for such functions.
-
-2023-05-16 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early
- when preanalysing in GNATprove mode. Now the condition is
- consistent with other similar conditions in other code.
-
-2023-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * usage.adb (Usage): Document -gnatyD.
-
-2023-05-16 Marc Poulhiès <poulhies@adacore.com>
-
- * libgnat/s-tsmona__linux.adb (link_map, r_debug_type): Add
- 'aliased' on all components.
-
-2023-05-16 Johannes Kliemann <kliemann@adacore.com>
-
- * libgnat/system-linux-ppc.ads: Add Support_Atomic_Primitives.
- * libgnat/s-atopri__32.ads: Add 32 bit version of s-atopri.ads.
- * Makefile.rtl: Use s-atopro__32.ads for ppc-linux.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Get_Actual_Subtype): For an explicit dereference,
- return the Actual_Designated_Subtype if it is present.
- (Get_Actual_Subtype_If_Available): Likewise.
-
-2023-05-16 Arnaud Charlet <charlet@adacore.com>
-
- * errout.ads: Update comment.
- * errout.adb (Skip_Msg_Insertion_Warning): Update to take e.g.
- -gnatyM into account.
- * erroutc.adb (Get_Warning_Option, Get_Warning_Tag)
- (Prescan_Message): Add support for Style tags.
- * par-ch5.adb, par-ch6.adb, par-ch7.adb, par-endh.adb,
- par-util.adb, style.adb, styleg.adb: Set tag on all style
- messages.
-
-2023-05-16 Tom Tromey <tromey@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst
- (Switches_for_gnatbind): Fix typo.
- * libgnat/g-spipat.ads: Fix typo.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Build_Assignment_With_Temporary): Adjust comment
- and fix type of second parameter. Create the temporary on the
- secondary stack by calling Build_Temporary_On_Secondary_Stack.
- (Convert_Array_Aggr_In_Allocator): Adjust formatting.
- (Expand_Array_Aggregate): Likewise.
- * exp_ch4.adb (Expand_N_Allocator): Set Actual_Designated_Subtype
- on the dereference in the initialization for all composite types.
- * exp_ch5.adb (Expand_N_Assignment_Statement): Create a temporary
- on the host for an assignment between nonnative storage models.
- Suppress more checks when Suppress_Assignment_Checks is set.
- * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Deal with actuals
- that are dereferences with an Actual_Designated_Subtype. Add
- support for nonnative storage models.
- (Expand_Actuals): Create a copy if the actual is a dereference
- with a nonnative storage model.
- * exp_util.ads (Build_Temporary_On_Secondary_Stack): Declare.
- * exp_util.adb (Build_Temporary_On_Secondary_Stack): New function.
- * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Do not
- build an actual subtype for dereferences with an
- Actual_Designated_Subtype
- * sinfo.ads (Actual_Designated_Subtype): Adjust documentation.
- (Suppress_Assignment_Checks): Likewise.
-
-2023-05-16 Piotr Trojanek <trojanek@adacore.com>
-
- * exp_spark.adb (SPARK_Freeze_Type): Copy whole handling of DIC
- and Type_Invariant from Freeze_Type.
-
-2023-05-16 Richard Kenner <kenner@adacore.com>
-
- * sem_util.adb (Subprogram_Name): If what's passed is already an
- entity, use that for the name.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
- (No_Dependence): Give examples of new No_Dependence restrictions.
- * gnat_rm.texi: Regenerate.
-
-2023-05-16 Arnaud Charlet <charlet@adacore.com>
-
- * snames.ads-tmpl (Name_ASCII): New.
- * style.adb (Check_Identifier): Fix handling of ASCII.
-
-2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gen_il-fields.ads (Opt_Field_Enum): Add Cannot_Be_Superflat.
- * gen_il-gen-gen_nodes.adb (N_Range): Add Cannot_Be_Superflat as
- semantical flag and change Includes_Infinities to semantical.
- * sinfo.ads (Cannot_Be_Superflat): Document it for N_Range.
- * exp_ch4.adb (Expand_Concatenate): Set Cannot_Be_Superflat on the
- range of the result if the result cannot be null.
-
-2023-05-16 Richard Kenner <kenner@adacore.com>
-
- * gen_il-gen-gen_nodes.adb (Present_Expr): Type is now Uint.
-
-2023-05-16 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition)
- (Is_Scaled_Mult_Decomposition): Add annotation for inlining.
- (Double_Divide, Scaled_Divide): Simplify and remove ghost code.
- (Prove_Multiplication): Add calls to lemmas to make proof go
- through.
- * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation
- for inlining.
-
-2023-05-16 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-strsup.adb: Add intermediate assertions.
-
-2023-05-16 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb: Ensure all dependencies are recorded even when not
- generating code.
-
-2023-05-16 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-strsup.adb: Set assertion policy for Loop_Variant.
-
-2023-05-16 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch12.adb (Instantiate_Package_Body): Simplify if/then/else.
- (Instantiate_Subprogram_Body): Likewise.
-
-2023-05-16 Yannick Moy <moy@adacore.com>
-
- * libgnat/s-aridou.adb:
- (Big3): Remove override made useless.
- (Lemma_Quot_Rem): Add new lemma and justify it, as no prover
- manages to prove it.
- (Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem.
- (Prove_Scaled_Mult_Decomposition_Regroup3): Retype for
- simplification.
- (Scaled_Divide): Remove useless assertions.Decompose some
- assertions with cut operations. Use Assert_And_Cut for second
- half. Add assertions.
-
-2023-05-15 Marc Poulhiès <poulhies@adacore.com>
-
- * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
-
-2023-05-15 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-strbou.ads: Add justifications for Mapping.
- * libgnat/a-strfix.adb: Same.
- * libgnat/a-strfix.ads: Same.
- * libgnat/a-strsea.adb: Same.
- * libgnat/a-strsea.ads: Same.
- * libgnat/a-strsup.adb: Same and add loop variants.
- * libgnat/a-strsup.ads: Same and add specification of termination.
-
-2023-05-15 Yannick Moy <moy@adacore.com>
-
- * libgnat/a-strsup.adb (Super_Slice): Reorder component assignment
- to avoid failing predicate check related to initialization.
- * libgnat/s-expmod.adb (Exp_Modular): Add intermediate assertion.
-
-2023-05-15 Yannick Moy <moy@adacore.com>
-
- * libgnat/i-c.adb: Add loop variants. Remove useless
- initialization.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * einfo-utils.ads: Remove comment.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * einfo-utils.ads, einfo-utils.adb: Get rid of the Proc_Next_...
- procedures. Use Inline aspect instead of pragma Inline.
- Is_Discrete_Or_Fixed_Point_Type did not have pragma Inline, but
- now has the aspect; this was probably an oversight
- (which illustrates why aspects are better).
-
-2023-05-15 Ronan Desplanques <desplanques@adacore.com>
-
- * doc/gnat_ugn/gnat_utility_programs.rst: Fix formatting
- inconsistency.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * einfo-utils.adb:
- (Proc_Next_Component_Or_Discriminant): Call
- Next_Component_Or_Discriminant.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * einfo.ads:
- (First_Entity): Update comment explaining why this exists on all
- [sub]types, as opposed to just the ones with associated entities.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * atree.adb
- (Check_Vanishing_Fields): Disable the check for "root/base type
- only" fields. This is a bug fix -- if we're checking some subtype
- S, we don't want to reach over to the root or base type and
- Reinit_Field_To_Zero of that, thus modifying the field for lots of
- subtypes other than S. Disable in the to/from E_Void cases. Misc
- cleanup.
- * gen_il-gen-gen_entities.adb: Define First_Entity, Last_Entity,
- and Stored_Constraint for all type entities, because there are too
- many cases where Reinit_Field_To_Zero would otherwise be needed.
- In any case, it seems cleaner to have First_Entity and Last_Entity
- defined in the same entity kinds.
- * einfo.ads:
- (First_Entity, Last_Entity, Stored_Constraint): Update comments to
- reflect gen_il-gen-gen_entities.adb changes.
- (Lit_Hash): Add missing "[root type only]" comment.
- * exp_ch5.adb: Add Reinit_Field_To_Zero calls for vanishing
- fields.
- * sem_ch10.adb: Likewise.
- * sem_ch6.adb: Likewise.
- * sem_ch7.adb: Likewise.
- * sem_ch8.adb: Likewise.
- * sem_ch3.adb: Likewise. Also remove now-unnecessary
- Reinit_Field_To_Zero calls.
-
-2023-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch7.adb (Hide_Public_Entities): Use the same condition for
- subprogram bodies without specification as for those with one.
-
-2023-05-15 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_util.adb (New_Copy_Tree): Remove redundant calls to Present.
-
-2023-05-15 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch8.adb (End_Scope): Simplify lookup of predecessor in
- homonym chain.
-
-2023-05-15 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): Accept aggregates with OTHERS
- appearing inside unchecked conversions.
-
-2023-05-15 Steve Baird <baird@adacore.com>
-
- * warnsw.ads: Add a new element,
- Warn_On_Ineffective_Predicate_Test, to the Opt_Warnings_Enum
- enumeration type.
- * warnsw.adb: Bind "-gnatw_s" to the new
- Warn_On_Ineffective_Predicate_Test switch. Add the new switch to
- the set of switches enabled by -gnata .
- * sem_ch13.adb
- (Build_Discrete_Static_Predicate): Declare new local procedure,
- Warn_If_Test_Ineffective, which conditionally generates new
- warning. Call this new procedure when building a new element of an
- RList.
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
- Document the -gnatw_s switch (and the corresponding -gnatw_S
- switch).
- * gnat_ugn.texi: Regenerate.
-
-2023-05-15 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb: Update comment referring to rule number.
-
-2023-05-15 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten
- validity check for task types.
-
-2023-05-15 Ronan Desplanques <desplanques@adacore.com>
-
- * doc/gnat_rm/implementation_defined_characteristics.rst: Fix
- minor documentation formatting issue.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb
- (Expand_N_Op_Expon): Remove the too-big check. Simplify. Signed
- and modular cases are combined, etc. Remove code with comment "We
- only handle cases where the right type is a[sic] integer", because
- the right operand must always be an integer at this point.
-
-2023-05-15 Bob Duff <duff@adacore.com>
-
- * sem_attr.adb
- (Analyze_Attribute): Add a call to Check_Error_Detected.
-
-2023-05-15 Yannick Moy <moy@adacore.com>
-
- * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to
- expression in pragma association.
-
-2023-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * repinfo.ads (JSON output format): Document special case of
- Present member of a Variant object.
- * repinfo.adb (List_Structural_Record_Layout): Change the type of
- Ext_Level parameter to Integer. Restrict the first recursion with
- increasing levels to the fixed part and implement a second
- recursion with decreasing levels for the variant part. Deal with
- an extension of a type with unknown discriminants.
-
-2023-05-15 Claire Dross <dross@adacore.com>
-
- * libgnat/s-valueu.adb: Use cut operations inside assertion to
- restore proofs
- * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-spark and
- s-spcuop dependencies.
-
-2023-05-15 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb (Check_Grouping): Allow Annotate pragmas between
- loop pragmas.
-
-2023-05-15 Javier Miranda <miranda@adacore.com>
-
- * doc/gnat_rm/implementation_defined_pragmas.rst
- (Extensions_Allowed): Document string interpolation.
- * gnat_rm.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-15 Joel Brobecker <brobecker@adacore.com>
-
- * doc/gnat_ugn/platform_specific_information.rst
- (_PIE_Enabled_By_Default_On_Linux): New section.
- * gnat-style.texi: Regenerate.
- * gnat_ugn.texi: Regenerate.
-
-2023-05-15 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb
- (Has_Dispatching_Constructor_Call): New subprogram.
- (Expand_Interface_Conversion): No need to perform dynamic
- interface conversion when the operand and the target type are
- interface types and the target interface type is an ancestor of
- the operand type. The unique exception to this rule is when the
- operand has a dispatching constructor call (as documented in the
- sources).
-
-2023-05-15 Piotr Trojanek <trojanek@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Reject attribute Initialized
- on unchecked unions; fix grammar in comment.
-
-2023-05-15 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_ch13.adb (Validate_Unchecked_Conversion): Fix behavior on
- System.Address to access to subprogram subtype conversion.
-
-2023-05-15 Piotr Trojanek <trojanek@adacore.com>
-
- * atree.ads
- (Is_Syntactic_Node): Refactored from New_Copy_Tree.
- * atree.adb
- (Is_Syntactic_Node): Likewise.
- (Copy_Separate_Tree): Use Is_Syntactic_Node.
- * sem_util.adb
- (Has_More_Ids): Move to Atree.
- (Is_Syntactic_Node): Likewise.
-
-2023-04-18 Jin Ma <jinma@linux.alibaba.com>
-
- * gcc-interface/utils.cc (unchecked_convert): Fix typo.
-
-2023-04-17 Martin Liska <mliska@suse.cz>
-
- * gnatvsn.ads: Bump Library_Version to 14.
-
-2023-04-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/109510
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Do not reset
- align to zero in any case. Set TYPE_USER_ALIGN on the type only if
- it is an aggregate type, or else a type whose default alignment is
- specifically capped on selected platforms.
-
-2023-04-14 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/109510
- * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Reset align
- to zero if its value is equal to TYPE_ALIGN and the type is scalar.
- Set TYPE_USER_ALIGN on the type only if align is positive.
-
-2023-03-06 Javier Miranda <miranda@adacore.com>
-
- PR ada/108858
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For functions with
- separate spec, if their return type was visible through a limited-
- with context clause, their extra formals were not added when the
- spec was analyzed. Now the full view must be available, and the
- extra formals can be created and Returns_By_Ref computed.
-
-2023-03-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/108909
- PR ada/108983
- * Make-generated.in: Do not use GNATMAKE.
- * gcc-interface/Makefile.in: Ditto.
-
-2023-02-26 Peter Foley <pefoley2@pefoley.com>
-
- PR ada/108909
- * Make-generated.in: Use GNATMAKE.
- * gcc-interface/Makefile.in: Ditto.
-
-2023-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.cc (gnat_gimplify_expr): Add missing guard.
-
-2023-02-14 Dongsheng Song <dongsheng.song@gmail.com>
-
- * adaint.c [Linux]: Include <features.h>.
- (__gnat_get_executable_load_address) [Linux]: Enable only for
- glibc and uClibc.
-
-2023-01-16 Marc Poulhiès <poulhies@adacore.com>
-
- * gcc-interface/Make-lang.in: Update copyright years.
- * gcc-interface/Makefile.in: Likewise.
- * gcc-interface/ada-builtin-types.def: Likewise.
- * gcc-interface/ada-builtins.def: Likewise.
- * gcc-interface/ada-tree.def: Likewise.
- * gcc-interface/ada-tree.h: Likewise.
- * gcc-interface/ada.h: Likewise.
- * gcc-interface/config-lang.in: Likewise.
- * gcc-interface/cuintp.cc: Likewise.
- * gcc-interface/decl.cc: Likewise.
- * gcc-interface/gadaint.h: Likewise.
- * gcc-interface/gigi.h: Likewise.
- * gcc-interface/lang-specs.h: Likewise.
- * gcc-interface/lang.opt: Likewise.
- * gcc-interface/misc.cc: Likewise.
- * gcc-interface/system.ads: Likewise.
- * gcc-interface/targtyps.cc: Likewise.
- * gcc-interface/trans.cc: Likewise.
- * gcc-interface/utils.cc: Likewise.
- * gcc-interface/utils2.cc: Likewise.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Make_Allocator_For_Return): Convert the expression
- to the return object's type in the constrained array case as well.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): For a class-wide non-
- interface stand-alone object initialized by a function call, call
- Remove_Side_Effects on the expression to capture the result.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads (Has_Tag_Of_Type): Declare.
- * exp_util.adb (Has_Tag_Of_Type): Move to package level. Recurse on
- qualified expressions.
- * exp_ch3.adb (Expand_N_Object_Declaration): Use a static reference
- to the interface tag in more cases for class-wide interface objects.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Make_CW_Equivalent_Type.Has_Tag_Of_Type): Fix pasto.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Is_Temporary_For_Interface_Object): Delete.
- (Is_Finalizable_Transient.Is_Aliased): Deal with the specific case
- of temporaries generated for interface objects.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a back-
- and-forth displacement of the object's address when using a renaming
- for an interface object with an expression of the same type.
- * exp_ch4.adb (Expand_Allocator_Expression): Do not remove the side
- effects of the expression up front for the simple allocators. Do not
- call the Adjust primitive if the expression is a function call.
- * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not expand the call
- unnecessarily for a special return object.
- (Expand_Simple_Function_Return): Restore the displacement of the
- return object's address in the case where the expression is the call
- to a function whose result type is a type that needs finalization.
- * exp_util.adb (Expand_Subtype_From_Expr): Do not remove the side
- effects of the expression before calling Make_Subtype_From_Expr.
- (Make_CW_Equivalent_Type): If the expression has the tag of its type
- and this type has a uniform size, use 'Object_Size of this type in
- lieu of 'Size of the expression to compute the expression's size.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Make_Allocator_For_Return): Put back an interface
- conversion for expressions with non-interface class-wide type.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Also optimize aliased
- objects if their nominal subtype is not an unconstrained array.
-
-2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Factor out conditions
- needed for an initializating expression that is a function call to
- be renamable into the Is_Renamable_Function_Call predicate.
- Use it to implement the renaming in the case of class-wide interface
- objects. Remove an interface conversion on all paths, separate and
- optimize the renaming path in the special expansion for interfaces.
- (Is_Renamable_Function_Call): New predicate.
- (Make_Allocator_For_Return): Put back an interface conversion.
- * exp_ch6.adb (Apply_CW_Accessibility_Check): Remove useless access
- checks on RE_Tag_Ptr.
-
-2023-01-09 Arnaud Charlet <charlet@adacore.com>
-
- * accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year.
- * adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise.
- * adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise.
- * ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise.
- * aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise.
- * aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise.
- * backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise.
- * binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise.
- * bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise.
- * bindo-builders.ads, bindo-diagnostics.adb: Likewise.
- * bindo-diagnostics.ads, bindo-elaborators.adb: Likewise.
- * bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise.
- * bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise.
- * bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise.
- * bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise.
- * butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise.
- * checks.ads, cio.c, clean.adb, clean.ads: Likewise.
- * comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise.
- * csets.adb, csets.ads, cstand.adb: Likewise.
- * cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise.
- * debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise.
- * einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise.
- * env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise.
- * erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise.
- * eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise.
- * exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise.
- * exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise.
- * exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise.
- * exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise.
- * exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise.
- * exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise.
- * exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise.
- * exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise.
- * exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise.
- * exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise.
- * exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise.
- * exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise.
- * exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise.
- * exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise.
- * exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise.
- * exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise.
- * final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise.
- * fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise.
- * freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise.
- * gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise.
- * gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise.
- * gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise.
- * gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise.
- * get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise.
- * gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise.
- * gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise.
- * gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise.
- * gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise.
- * gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise.
- * gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise.
- * gprep.adb, gprep.ads, gsocket.h: Likewise.
- * hostparm.ads: Likewise.
- * impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise.
- * indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise.
- * initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise.
- * krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise.
- * lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise.
- * lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise.
- * lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise.
- * lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise.
- * libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise.
- * libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise.
- * libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise.
- * libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise.
- * libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise.
- * libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise.
- * libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise.
- * libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise.
- * libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise.
- * libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise.
- * libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise.
- * libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise.
- * libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise.
- * libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise.
- * libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise.
- * libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise.
- * libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise.
- * libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise.
- * libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise.
- * libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise.
- * libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise.
- * libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise.
- * libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise.
- * libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise.
- * libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise.
- * libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise.
- * libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise.
- * libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise.
- * libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise.
- * libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise.
- * libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise.
- * libgnarl/s-interr__sigaction.adb: Likewise.
- * libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise.
- * libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise.
- * libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise.
- * libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise.
- * libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise.
- * libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise.
- * libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise.
- * libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise.
- * libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise.
- * libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise.
- * libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise.
- * libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise.
- * libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise.
- * libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise.
- * libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise.
- * libgnarl/s-osinte__dragonfly.adb: Likewise.
- * libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise.
- * libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise.
- * libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise.
- * libgnarl/s-osinte__hpux-dce.adb: Likewise.
- * libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise.
- * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
- * libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise.
- * libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise.
- * libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise.
- * libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise.
- * libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise.
- * libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise.
- * libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise.
- * libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise.
- * libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise.
- * libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise.
- * libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise.
- * libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise.
- * libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise.
- * libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise.
- * libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise.
- * libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise.
- * libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise.
- * libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise.
- * libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise.
- * libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise.
- * libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise.
- * libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise.
- * libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise.
- * libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise.
- * libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise.
- * libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise.
- * libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise.
- * libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise.
- * libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise.
- * libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise.
- * libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise.
- * libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise.
- * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
- * libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise.
- * libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise.
- * libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise.
- * libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise.
- * libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise.
- * libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise.
- * libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise.
- * libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise.
- * libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise.
- * libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise.
- * libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise.
- * libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise.
- * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
- * libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise.
- * libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
- * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
- * libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise.
- * libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise.
- * libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise.
- * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
- * libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise.
- * libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise.
- * libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise.
- * libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise.
- * libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise.
- * libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise.
- * libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise.
- * libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise.
- * libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise.
- * libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise.
- * libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise.
- * libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise.
- * libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise.
- * libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise.
- * libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise.
- * libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise.
- * libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise.
- * libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise.
- * libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise.
- * libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise.
- * libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise.
- * libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise.
- * libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise.
- * libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise.
- * libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise.
- * libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise.
- * libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise.
- * libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise.
- * libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise.
- * libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise.
- * libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise.
- * libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise.
- * libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise.
- * libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise.
- * libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise.
- * libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise.
- * libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise.
- * libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise.
- * libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise.
- * libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise.
- * libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise.
- * libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise.
- * libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise.
- * libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise.
- * libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise.
- * libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise.
- * libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise.
- * libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise.
- * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise.
- * libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise.
- * libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise.
- * libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise.
- * libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise.
- * libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise.
- * libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise.
- * libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise.
- * libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise.
- * libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise.
- * libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise.
- * libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise.
- * libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise.
- * libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise.
- * libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise.
- * libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise.
- * libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise.
- * libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise.
- * libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise.
- * libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise.
- * libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise.
- * libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise.
- * libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise.
- * libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise.
- * libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise.
- * libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise.
- * libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise.
- * libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise.
- * libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise.
- * libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise.
- * libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise.
- * libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise.
- * libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise.
- * libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise.
- * libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise.
- * libgnat/a-excach.adb, libgnat/a-except.adb: Likewise.
- * libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise.
- * libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise.
- * libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise.
- * libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise.
- * libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise.
- * libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise.
- * libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise.
- * libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise.
- * libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise.
- * libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise.
- * libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise.
- * libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise.
- * libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise.
- * libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise.
- * libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise.
- * libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise.
- * libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise.
- * libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise.
- * libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise.
- * libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise.
- * libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise.
- * libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise.
- * libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise.
- * libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise.
- * libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise.
- * libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise.
- * libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise.
- * libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise.
- * libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise.
- * libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise.
- * libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise.
- * libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise.
- * libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise.
- * libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise.
- * libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise.
- * libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise.
- * libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise.
- * libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise.
- * libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise.
- * libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise.
- * libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise.
- * libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise.
- * libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise.
- * libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise.
- * libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise.
- * libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise.
- * libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise.
- * libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise.
- * libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise.
- * libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise.
- * libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise.
- * libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise.
- * libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise.
- * libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise.
- * libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise.
- * libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise.
- * libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise.
- * libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise.
- * libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise.
- * libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise.
- * libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise.
- * libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise.
- * libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise.
- * libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise.
- * libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise.
- * libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise.
- * libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise.
- * libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise.
- * libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise.
- * libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise.
- * libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise.
- * libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise.
- * libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise.
- * libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise.
- * libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise.
- * libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise.
- * libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise.
- * libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise.
- * libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise.
- * libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise.
- * libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise.
- * libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise.
- * libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise.
- * libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise.
- * libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise.
- * libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise.
- * libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise.
- * libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise.
- * libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise.
- * libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise.
- * libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise.
- * libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise.
- * libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise.
- * libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise.
- * libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise.
- * libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise.
- * libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise.
- * libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise.
- * libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise.
- * libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise.
- * libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise.
- * libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise.
- * libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise.
- * libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise.
- * libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise.
- * libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise.
- * libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise.
- * libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise.
- * libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise.
- * libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise.
- * libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise.
- * libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise.
- * libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise.
- * libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise.
- * libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise.
- * libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise.
- * libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise.
- * libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise.
- * libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise.
- * libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise.
- * libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise.
- * libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise.
- * libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise.
- * libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise.
- * libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise.
- * libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise.
- * libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise.
- * libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise.
- * libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise.
- * libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise.
- * libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise.
- * libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise.
- * libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise.
- * libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise.
- * libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise.
- * libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise.
- * libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise.
- * libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise.
- * libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise.
- * libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise.
- * libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise.
- * libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise.
- * libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise.
- * libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise.
- * libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise.
- * libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise.
- * libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise.
- * libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise.
- * libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise.
- * libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise.
- * libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise.
- * libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise.
- * libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise.
- * libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise.
- * libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise.
- * libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise.
- * libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise.
- * libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise.
- * libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise.
- * libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise.
- * libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise.
- * libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise.
- * libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise.
- * libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise.
- * libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise.
- * libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise.
- * libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise.
- * libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise.
- * libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise.
- * libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise.
- * libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise.
- * libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise.
- * libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise.
- * libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise.
- * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise.
- * libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise.
- * libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise.
- * libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise.
- * libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise.
- * libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise.
- * libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise.
- * libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise.
- * libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise.
- * libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise.
- * libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise.
- * libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise.
- * libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise.
- * libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise.
- * libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise.
- * libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise.
- * libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise.
- * libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise.
- * libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise.
- * libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise.
- * libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise.
- * libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise.
- * libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise.
- * libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise.
- * libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise.
- * libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise.
- * libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise.
- * libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise.
- * libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise.
- * libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise.
- * libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise.
- * libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise.
- * libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise.
- * libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise.
- * libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise.
- * libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise.
- * libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise.
- * libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise.
- * libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise.
- * libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise.
- * libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise.
- * libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise.
- * libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise.
- * libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise.
- * libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise.
- * libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise.
- * libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise.
- * libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise.
- * libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise.
- * libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise.
- * libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise.
- * libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise.
- * libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise.
- * libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise.
- * libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise.
- * libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise.
- * libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise.
- * libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise.
- * libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise.
- * libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise.
- * libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise.
- * libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise.
- * libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise.
- * libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise.
- * libgnat/g-string.adb, libgnat/g-string.ads: Likewise.
- * libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise.
- * libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise.
- * libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise.
- * libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise.
- * libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise.
- * libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise.
- * libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise.
- * libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise.
- * libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise.
- * libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise.
- * libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise.
- * libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise.
- * libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise.
- * libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise.
- * libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise.
- * libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise.
- * libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise.
- * libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise.
- * libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise.
- * libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise.
- * libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise.
- * libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise.
- * libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise.
- * libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise.
- * libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise.
- * libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise.
- * libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise.
- * libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise.
- * libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise.
- * libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise.
- * libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise.
- * libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise.
- * libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise.
- * libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise.
- * libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise.
- * libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise.
- * libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise.
- * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise.
- * libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise.
- * libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise.
- * libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise.
- * libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise.
- * libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise.
- * libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise.
- * libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise.
- * libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise.
- * libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise.
- * libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise.
- * libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise.
- * libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise.
- * libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise.
- * libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise.
- * libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise.
- * libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise.
- * libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise.
- * libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise.
- * libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise.
- * libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise.
- * libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise.
- * libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise.
- * libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise.
- * libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise.
- * libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise.
- * libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise.
- * libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise.
- * libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise.
- * libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise.
- * libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise.
- * libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise.
- * libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise.
- * libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise.
- * libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise.
- * libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise.
- * libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise.
- * libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise.
- * libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise.
- * libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise.
- * libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise.
- * libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise.
- * libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise.
- * libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise.
- * libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise.
- * libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise.
- * libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise.
- * libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise.
- * libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise.
- * libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise.
- * libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise.
- * libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise.
- * libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise.
- * libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise.
- * libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise.
- * libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise.
- * libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise.
- * libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise.
- * libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise.
- * libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise.
- * libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise.
- * libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise.
- * libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise.
- * libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise.
- * libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise.
- * libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise.
- * libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise.
- * libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise.
- * libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise.
- * libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise.
- * libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise.
- * libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise.
- * libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise.
- * libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise.
- * libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise.
- * libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise.
- * libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise.
- * libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise.
- * libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise.
- * libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise.
- * libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise.
- * libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise.
- * libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise.
- * libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise.
- * libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise.
- * libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise.
- * libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise.
- * libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise.
- * libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise.
- * libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise.
- * libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise.
- * libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise.
- * libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise.
- * libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise.
- * libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise.
- * libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise.
- * libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise.
- * libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise.
- * libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise.
- * libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise.
- * libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise.
- * libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise.
- * libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise.
- * libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise.
- * libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise.
- * libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise.
- * libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise.
- * libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise.
- * libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise.
- * libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise.
- * libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise.
- * libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise.
- * libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise.
- * libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise.
- * libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise.
- * libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise.
- * libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise.
- * libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise.
- * libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise.
- * libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise.
- * libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise.
- * libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise.
- * libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise.
- * libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise.
- * libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise.
- * libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise.
- * libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise.
- * libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise.
- * libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise.
- * libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise.
- * libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise.
- * libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise.
- * libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise.
- * libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise.
- * libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise.
- * libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise.
- * libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise.
- * libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise.
- * libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise.
- * libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise.
- * libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise.
- * libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise.
- * libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise.
- * libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise.
- * libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise.
- * libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise.
- * libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise.
- * libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise.
- * libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise.
- * libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise.
- * libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise.
- * libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise.
- * libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise.
- * libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise.
- * libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise.
- * libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise.
- * libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise.
- * libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise.
- * libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise.
- * libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise.
- * libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise.
- * libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise.
- * libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise.
- * libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise.
- * libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise.
- * libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise.
- * libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise.
- * libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise.
- * libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise.
- * libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise.
- * libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise.
- * libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise.
- * libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise.
- * libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise.
- * libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise.
- * libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise.
- * libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise.
- * libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise.
- * libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise.
- * libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise.
- * libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise.
- * libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise.
- * libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise.
- * libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise.
- * libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise.
- * libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise.
- * libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise.
- * libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise.
- * libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise.
- * libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise.
- * libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise.
- * libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise.
- * libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise.
- * libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise.
- * libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise.
- * libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise.
- * libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise.
- * libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise.
- * libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise.
- * libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise.
- * libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise.
- * libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise.
- * libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise.
- * libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise.
- * libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise.
- * libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise.
- * libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise.
- * libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise.
- * libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise.
- * libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise.
- * libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise.
- * libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise.
- * libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise.
- * libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise.
- * libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise.
- * libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise.
- * libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise.
- * libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise.
- * libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise.
- * libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise.
- * libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise.
- * libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise.
- * libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise.
- * libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise.
- * libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise.
- * libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise.
- * libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise.
- * libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise.
- * libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise.
- * libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise.
- * libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise.
- * libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise.
- * libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise.
- * libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise.
- * libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise.
- * libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise.
- * libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise.
- * libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise.
- * libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise.
- * libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise.
- * libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise.
- * libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise.
- * libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise.
- * libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise.
- * libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise.
- * libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise.
- * libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise.
- * libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise.
- * libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise.
- * libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise.
- * libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise.
- * libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise.
- * libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise.
- * libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise.
- * libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise.
- * libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise.
- * libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise.
- * libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise.
- * libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise.
- * libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise.
- * libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise.
- * libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise.
- * libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise.
- * libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise.
- * libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise.
- * libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise.
- * libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise.
- * libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise.
- * libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise.
- * libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise.
- * libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise.
- * libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise.
- * libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise.
- * libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise.
- * libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise.
- * libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise.
- * libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise.
- * libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise.
- * libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise.
- * libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise.
- * libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise.
- * libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise.
- * libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise.
- * libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise.
- * libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise.
- * libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise.
- * libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise.
- * libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise.
- * libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise.
- * libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise.
- * libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise.
- * libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise.
- * libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise.
- * libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise.
- * libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise.
- * libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise.
- * libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise.
- * libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise.
- * libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise.
- * libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise.
- * libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise.
- * libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise.
- * libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise.
- * libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise.
- * libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise.
- * libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise.
- * libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise.
- * libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise.
- * libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise.
- * libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise.
- * libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise.
- * libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise.
- * libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise.
- * libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise.
- * libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise.
- * libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise.
- * libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise.
- * libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise.
- * libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise.
- * libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise.
- * libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise.
- * libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise.
- * libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise.
- * libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise.
- * libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise.
- * libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise.
- * libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise.
- * libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise.
- * libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise.
- * libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise.
- * libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise.
- * libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise.
- * libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise.
- * libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise.
- * libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise.
- * libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise.
- * libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise.
- * libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise.
- * libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise.
- * libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise.
- * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise.
- * libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise.
- * libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise.
- * libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise.
- * libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise.
- * libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise.
- * libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise.
- * libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise.
- * libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise.
- * libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise.
- * libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise.
- * libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise.
- * libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise.
- * libgnat/system-solaris-sparc.ads: Likewise.
- * libgnat/system-solaris-x86.ads: Likewise.
- * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
- * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
- * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
- * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
- * libgnat/system-vxworks7-aarch64.ads: Likewise.
- * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
- * libgnat/system-vxworks7-arm.ads: Likewise.
- * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
- * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
- * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
- * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
- * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
- * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
- * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
- * libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise.
- * live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise.
- * make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise.
- * mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise.
- * mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise.
- * namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise.
- * opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise.
- * osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise.
- * osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise.
- * par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise.
- * par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise.
- * par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise.
- * par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise.
- * par.ads, par_sco.adb, par_sco.ads: Likewise.
- * pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise.
- * prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise.
- * raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise.
- * repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise.
- * restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise.
- * rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise.
- * scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise.
- * scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise.
- * scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise.
- * sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise.
- * sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise.
- * sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise.
- * sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise.
- * sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise.
- * sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise.
- * sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise.
- * sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise.
- * sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise.
- * sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise.
- * sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise.
- * sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise.
- * sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise.
- * sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise.
- * sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise.
- * sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise.
- * sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise.
- * sigtramp-ios.c, sigtramp-qnx.c: Likewise.
- * sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise.
- * sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise.
- * sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise.
- * sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise.
- * sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise.
- * sprint.adb, sprint.ads, stand.ads: Likewise.
- * stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise.
- * style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise.
- * stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise.
- * switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise.
- * switch.ads, sysdep.c, table.adb: Likewise.
- * table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise.
- * tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise.
- * treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise.
- * types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise.
- * urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise.
- * validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise.
- * warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise.
- * xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise.
- * gnatvsn.ads (Current_Year): Likewise and bump to 2023.
-
-2023-01-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement.
- (Make_Final_Call): Likewise.
-
-2023-01-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete.
- (Is_Displacement_Of_Object_Or_Function_Result): Likewise.
- * exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to...
- (Is_Temporary_For_Interface_Object): ...this.
- (Is_Finalizable_Transient): Adjust call to above renaming.
- (Is_Displacement_Of_Object_Or_Function_Result): Delete.
- (Requires_Cleanup_Actions): Remove special handling of the
- temporaries created for interface objects.
- * exp_ch7.adb (Build_Finalizer): Likewise.
-
-2023-01-07 LIU Hao <lh_mouse@126.com>
-
- PR middle-end/108300
- * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include
- <windows.h>`.
- * cio.c: Likewise.
- * ctrl_c.c: Likewise.
- * expect.c: Likewise.
- * gsocket.h: Likewise.
- * mingw32.h: Likewise.
- * mkdir.c: Likewise.
- * rtfinal.c: Likewise.
- * rtinit.c: Likewise.
- * seh_init.c: Likewise.
- * sysdep.c: Likewise.
- * terminals.c: Likewise.
- * tracebak.c: Likewise.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: Tweak.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite the end of the
- handling of objects with (class-wide) interface type by using the
- same idiom as the other cases generating a renaming.
- * exp_util.adb (Is_Displacement_Of_Object_Or_Function_Result): Tweak
- pattern matching code and exclude special return objects.
- (Requires_Cleanup_Actions): Adjust comment.
- * exp_ch7.adb (Build_Finalizer): Likewise.
-
-2023-01-05 Piotr Trojanek <trojanek@adacore.com>
-
- * freeze.adb (Build_Renamed_Body): Rewrite subprogram renaming to
- subprogram declaration early and then set the Body_To_Inling flag.
-
-2023-01-05 Piotr Trojanek <trojanek@adacore.com>
-
- * freeze.adb (Build_Renamed_Body): Revert a special case for
- GNATprove; remove unnecessary initialization of a local variable.
-
-2023-01-05 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch12.adb (Instantiate_Package_Body): Better filtering when
- installing parent on the scope stack.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * repinfo.ads (The JSON output format): Document change.
- * urealp.adb (UR_Write_To_JSON): Output a fraction instead of a
- decimal approximation.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): New local variable
- Func_Id holding the function for a special return object.
- Use a direct renaming in the class-wide case when the initializing
- expression is a captured function call, except for a special return
- object when the two functions do not return on the same stack.
- Apply the accessibility check for class-wide special return objects.
- * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: New.
- Do not force a dispatching call to the primitive operation _Size if
- the expression is known to statically have the tag of its type.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Fix pasto in comment.
-
-2023-01-05 Ronan Desplanques <desplanques@adacore.com>
-
- * sem_aggr.adb (Resolve_Array_Aggregate): Tweak conditions for
- warning about use of parentheses for array aggregates.
-
-2023-01-05 Javier Miranda <miranda@adacore.com>
-
- * scans.ads (Tok_Left_Curly_Bracket, Tok_Right_Curly_Bracket)
- (Tok_Left_Interpolated_String): Placed in no category since they
- don't fit well in the existing categories. Fix typo in comment.
- (Inside_Interpolated_String_Literal): New scan state variable.
- * scng.adb (Slit): Scan interpolated string literals,
- continuations of interpolated string literals and escaped
- characters found in interpolated string literals.
- (Scan): Handle consecutive interpolated expressions. Handle ending
- delimiter placed immediately after an interpolated expression.
- Handle string literal placed after interpolated expression. Handle
- left and right curly brackets; when extensions are not allowed
- they are treated as left and right paren; when extensions are
- allowed they are handled as delimiters of interpolated string
- literals.
- * sinfo.ads (N_Interpolated_String_Literal): New node.
- * gen_il-gen-gen_nodes.adb (N_Interpolated_String_Literal): Define
- N_String_Literal node.
- * gen_il-types.ads (Opt_Type_Enum): Define N_String_Literal as
- concrete node type.
- * par-ch2.adb (P_Interpolated_String_Literal): New subprogram.
- * par-ch4.adb (P_Simple_Expression): Handle '}' as expression
- terminator when scanning an interpolated expression; disable error
- recovery machinery for binary operator when we are processing an
- interpolated string literal and reach the expression terminator
- '}'.
- (P_Primary): Call P_Interpolated_String_Literal when the opening
- interpolated-string-literal delimiter is found (that is, the left
- curly bracket '{').
- * par-tchk.adb (T_Right_Curly_Bracket): New subprogram.
- * par.adb (P_Interpolated_String_Literal): New declaration.
- (T_Right_Curly_Bracket): New declaration.
- * sem.adb (Analyze): Call Analyze_Interpolated_String_Literal.
- * sem_ch2.ads (Analyze_Interpolated_String_Literal): New
- subprogram
- * sem_ch2.adb (Analyze_Interpolated_String_Literal): Likewise.
- * sem_util.adb (Is_User_Defined_Literal): Complete mapping of
- literal aspects adding that interpolated string literals have no
- correspondence with any aspect.
- * sem_res.adb (Resolve_Interpolated_String_Literal): New
- subprogram.
- (Has_Applicable_User_Defined_Literal): Complete mapping of literal
- aspects adding that interpolated string literals have no
- correspondency with any aspect.
- * expander.adb (Expand): Add call to
- Expand_N_Interpolated_String_Literal.
- * exp_util.adb (Insert_Actions): Handle
- N_Interpolated_String_Literal nodes; that is, continue climbing.
- * exp_ch2.ads (Expand_N_Interpolated_String_Literal): New
- subprogram.
- * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Likewise.
- * exp_put_image.adb (Build_Elementary_Put_Image_Call): Add missing
- conversion to force dispatching call. Required to handle calls to
- descendants.
- (Build_String_Put_Image_Call): Do not output string delimiters
- when the put_image call is part of an interpolated string literal.
- * rtsfind.ads (RTU_Id): Add RE_Set_Trim_Leading_Spaces.
- * sprint.adb (Sprint_Node): Output interpolated string contents.
- * libgnat/a-stbubo.adb (Get_UTF_8): Add default value for
- Trim_Leading_White_Spaces component in aggregate.
- (Buffer_Type_Implementation): Update Trim_Leading_White_Spaces.
- * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
- (Buffer_Type_Implementation): Likewise.
- * libgnat/a-sttebu.ads (Set_Trim_Leading_Spaces): New subprogram.
- (Trim_Leading_Spaces): New subprogram.
- (Root_Buffer_Type): Adding Trim_Leading_While_Spaces component.
- * libgnat/a-sttebu.adb (procedure Set_Trim_Leading_Spaces): New
- subprogram.
- (Trim_Leading_Space): New subprogram.
- (Put_UTF_8): Handle Trim_Leading_White_Spaces.
- (New_Line): Likewise.
- * libgnat/s-putima.ads (Put_Image_String): Adding formal
- (with_delimiters).
- (Put_Image_Wide_String): Likewise.
- (Put_Image_Wide_Wide_String): Likewise.
- * libgnat/s-putima.adb (Put_Image_String): Adding support for new
- formal.
- (Put_Image_Wide_String): Likewise.
- (Put_Image_Wide_Wide_String): Likewise.
-
-2023-01-05 Joao Azevedo <azevedo@adacore.com>
-
- * doc/gnat_ugn/gnat_utility_programs.rst: add gnatpp --layout
- switch and update legacy switches.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Freeze_Entity): For the purpose of deciding whether to
- freeze an entity coming from an outer scope in an inner scope, treat
- the internal subprogram generated because of post-conditions as also
- coming from source if the original subprogram itself does.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * contracts.adb (Build_Subprogram_Contract_Wrapper): Generate an
- extended return statement in all cases.
- (Expand_Subprogram_Contract): Adjust comment.
-
-2023-01-05 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/g-forstr.adb (F_Kind): Rename enumeration literal.
- (P_Flt_Format): Adjust handling of "%g".
- (Determine_Notation_And_Aft): New procedure.
- (Decimal_Exponent): New function.
- (Increment_Integral_Part): New procedure.
- (Remove_Extraneous_Decimal_Digit): New procedure.
- (Trim_Fractional_Part): New procedure.
- * libgnat/g-forstr.ads: Change description of "%g" specifier.
-
-2023-01-05 Marc Poulhiès <poulhies@adacore.com>
-
- * sem_ch12.adb (Instantiate_Package_Body): Correctly find the
- parent instance to place on the scope stack.
-
-2023-01-05 Justin Squirek <squirek@adacore.com>
-
- * sem_ch8.adb (Set_Entity_Or_Discriminal): Verify we are actually
- resetting the entity field of a non-prefixed discriminant
- reference.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): New local variable used
- throughout instead of testing Is_Special_Return_Object every time.
- Do not rename an OK_To_Rename object for a special return object.
- * exp_ch4.adb (Expand_Concatenate): Revert to constrained allocation
- if the result is allocated on the secondary stack.
-
-2023-01-05 Steve Baird <baird@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Fix Is_Configuration_Pragma
- function to handle case where the pragma's parent is an
- N_Aspect_Specification node. In analyzing a Discard_Names pragma,
- do not assume that a nonzero number of arguments implies that the
- pragma is not a configuration pragma; that assumption only holds
- for legal programs.
-
-2023-01-05 Bob Duff <duff@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
- Add RM references.
- * gnat_ugn.texi: Regenerate.
-
-2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): For a special return
- object of an interface type that is not inherently limited, make
- a call to the Adjust primitive after doing the copy. For a special
- return object of a non-class-wide type initialized by a function
- call, use a direct renaming only if the object doing the capture
- is flagged by Is_Related_To_Func_Return. For a special return
- object using a direct renaming, reassign the tag, if need be.
- * exp_ch6.adb (Expand_Simple_Function_Return): Fix comment.
- * exp_util.adb (Is_Related_To_Func_Return): Accept both regular and
- renaming object declarations for return objects.
-
-2023-01-05 Bob Duff <duff@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): Fix the bug by checking
- Original_Node. The renaming might be elsewhere, but the (original)
- reference is right here.
- * errout.adb: Remove pragma Unreferenced which was added because
- of the above bug.
- * einfo.ads: Misc cleanup.
- * lib.adb: Likewise.
- * lib.ads: Likewise.
-
-2023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * errout.adb (Write_JSON_Span): Escape subprogram name.
-
-2023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
-
- * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol.
-
-2023-01-03 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/g-forstr.adb (P_Flt_Format): Add "*" syntax handling.
-
-2023-01-03 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): Make sure that a
- captured function call also verifies Is_Related_To_Func_Return.
- Do not generate an actual subtype for special return objects.
- * exp_util.ads (Is_Related_To_Func_Return): Add commentary.
-
-2023-01-03 Ronan Desplanques <desplanques@adacore.com>
-
- * libgnat/g-forstr.adb
- (Advance_And_Accumulate_Until_Next_Specifier): New procedure.
- ("-"): Replace inline code with call to
- Advance_And_Accumulate_Until_Next_Specifier.
- (Next_Format): likewise.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.adb (Apply_Discriminant_Check.Denotes_Explicit_Dereference):
- Return false for artificial dereferences generated by the expander.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Is_Build_In_Place_Function): Adjust comment.
- * sem_util.adb (Compute_Returns_By_Ref): Do not set Returns_By_Ref
- on functions with foreign convention.
-
-2023-01-03 Marc Poulhiès <poulhies@adacore.com>
-
- * exp_aggr.adb (Build_Assignment_With_Temporary): New.
- (Expand_Array_Aggregate): Tune backend optimization
- and insert a temporary in the case of an access with
- Designated_Storage_Model aspect.
- (Convert_Array_Aggr_In_Allocator): Likewise.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_res.adb (Resolve_Membership_Op): Adjust again latest change.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.ads (Set_Debug_Info_Defining_Id): Adjust comment.
- * sem_util.adb (Is_Aliased_View) <N_Explicit_Dereference>: Return
- false for more artificial dereferences generated by the expander.
- (Set_Debug_Info_Defining_Id): Set Debug_Info_Needed unconditionally
- in -gnatD mode.
- * exp_ch6.adb (Replace_Renaming_Declaration_Id): Also preserve the
- Is_Aliased flag.
-
-2023-01-03 Joel Brobecker <brobecker@adacore.com>
-
- * doc/gnat_ugn/platform_specific_information.rst
- (_Platform_Specific_Information): Minor rewording of intro text.
- * gnat_ugn.texi: Regenerate.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.ads (Is_Captured_Function_Call): Declare.
- * exp_util.adb (Is_Captured_Function_Call): New predicate.
- * exp_ch3.adb (Expand_N_Object_Declaration): Use it to detect a
- rewritten function call as the initializing expression.
- * exp_ch6.adb (Expand_Simple_Function_Return): Use it to detect a
- rewritten function call as the returned expression.
-
-2023-01-03 Bob Duff <duff@adacore.com>
-
- * exp_util.adb (Integer_Type_For): Assertion and comment.
- (Small_Integer_Type_For): Remove some code and call
- Integer_Type_For instead.
- * sem_util.ads (Rep_To_Pos_Flag): Improve comments. "Standard_..."
- seems overly pedantic here.
- * exp_attr.adb (Succ, Pred): Clean up: make the code as similar as
- possible.
- * exp_ch4.adb: Minor: named notation.
-
-2023-01-03 Javier Miranda <miranda@adacore.com>
-
- * ghost.adb (Is_OK_Declaration): A reference to a Ghost entity may
- appear within the class-wide precondition of a helper subprogram.
- This context is treated as suitable because it was already
- verified when we were analyzing the original class-wide
- precondition.
-
-2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_tss.adb (Base_Init_Proc): Do not return the Init_Proc of the
- ancestor type for a derived array type.
- * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Factor out the
- common processing done on representation items.
- For Default_Component_Value and Default_Value, look into the first
- subtype to find out the representation items.
-
-2023-01-02 Iain Sandoe <iain@sandoe.co.uk>
-
- PR ada/108202
- * gcc-interface/Make-lang.in (GCC_LINKERFLAGS, GCC_LDFLAGS):
- Versions of ALL_LINKERFLAGS, LDFLAGS with -Werror and
- -static-libgcc filtered out for Darwin8 and 9 (-Werror is filtered
- out for other hosts).
-
-2023-01-02 Jakub Jelinek <jakub@redhat.com>
-
- * gnat_ugn.texi: Bump @copying's copyright year.
- * gnat_rm.texi: Likewise.
-
-Copyright (C) 2023 Free Software Foundation, Inc.
+Copyright (C) 2024 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog-2023 b/gcc/ada/ChangeLog-2023
new file mode 100644
index 0000000..d1a3b80
--- /dev/null
+++ b/gcc/ada/ChangeLog-2023
@@ -0,0 +1,6978 @@
+2023-12-19 Marc Poulhiès <poulhies@adacore.com>
+
+ * gcc-interface/Make-lang.in (ada.html, ada.install-html): Add.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Remove a short-circuit
+ for subtypes without aspects when it comes to predicates.
+ * sem_util.adb (Inherit_Predicate_Flags): Deal with private subtypes
+ whose full view is an Itype.
+
+2023-12-19 Viljar Indus <indus@adacore.com>
+
+ * sem_ch13.adb (Valid_Default_Iterator): Check all interfaces for
+ valid iterator type. Also improve error reporting.
+
+2023-12-19 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Resolve_Container_Aggregate): In the Add_Named
+ case, issue an error if the container aggregate is written as a
+ positional aggregate, since such an aggregate must have named
+ associations.
+
+2023-12-19 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/a-comlin.adb (Argument_Count): Rewrite code so there is
+ only one return, to remove Improper_Returns violation.
+ (Command_Name): Add pragma to exempt Improper_Returns violation.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Ctrl_Function_Call): Rework last comment.
+
+2023-12-19 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Resolve_Iterated_Association): Call
+ Preanalyze_And_Resolve instead of Analyze_And_Resolve on a key
+ expression of an iterated association.
+
+2023-12-19 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch9.adb, sem_ch10.adb, sem_util.adb: Fix comments.
+
+2023-12-19 Piotr Trojanek <trojanek@adacore.com>
+
+ * sinput.adb, sinput.ads (Get_Logical_Line_Number_Img): Remove.
+
+2023-12-19 Patrick Bernardi <bernardi@adacore.com>
+
+ * bindgen.adb (Command_Line_Used): New object.
+ (Gen_Main): Only generate references to symbols used by
+ Ada.Command_Line if the package is used by the partition.
+ (Gen_Output_File_Ada): Ditto.
+ (Resolve_Binder_Options): Check if Ada.Command_Line is in the
+ closure of the partition.
+
+2023-12-19 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * libgnat/i-cstrin.adb (Value): Optimize.
+
+2023-12-19 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Update comment
+ and body.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Is_Constr_Subt_For_UN_Aliased): Rename into...
+ (Is_Constr_Array_Subt_With_Bounds): ...this.
+ * exp_ch3.adb (Expand_N_Object_Declaration): Adjust to above
+ renaming and remove now redundant test.
+ * sem_ch3.adb (Analyze_Object_Declaration): Likewise, but set
+ Is_Constr_Array_Subt_With_Bounds only on arrays.
+ * gen_il-fields.ads (Opt_Field_Enum): Apply same renaming.
+ * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise.
+ * gen_il-internals.adb (Image): Remove specific processing for
+ Is_Constr_Subt_For_UN_Aliased.
+ * treepr.adb (Image): Likewise.
+ * gcc-interface/decl.cc (gnat_to_gnu_entity): Adjust to renaming
+ and remove now redundant tests.
+ * gcc-interface/trans.cc (Identifier_to_gnu): Likewise.
+ (Call_to_gnu): Likewise.
+
+2023-12-19 Johannes Kliemann <kliemann@adacore.com>
+
+ * libgnat/s-rident.ads: Remove No_Dynamic_Priorities from
+ Restricted_Tasking.
+
+2023-12-19 Patrick Bernardi <bernardi@adacore.com>
+
+ * argv.c: Do not include adaint.h if LIGHT_RUNTIME is defined.
+ * bindgen.adb (Gen_Main): Simplify command line argument and exit
+ handling by requiring the runtime to always provide the required
+ symbols if command line argument and exit code is enabled.
+ * targparm.ads: Update comments to reflect changes to gnatbind.
+
+2023-12-19 Ronan Desplanques <desplanques@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Initialize_Component): Use corresponding record
+ types of concurrent types.
+ * exp_util.ads (Make_Tag_Assignment_From_Type): Add precondition
+ and extend documentation.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Is_Ignored_Transient): Rename into...
+ (Is_Ignored_For_Finalization): ...this.
+ * gen_il-fields.ads (Opt_Field_Enum): Adjust to above renaming.
+ * gen_il-gen-gen_entities.adb (Object_Kind): Likewise.
+ * exp_aggr.adb (Expand_Array_Aggregate): Likewise.
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise.
+ * exp_util.adb (Requires_Cleanup_Actions): Likewise.
+ * exp_ch4.adb (Expand_N_If_Expression): Move down declaration of
+ variable Optimize_Return_Stmt.
+ (Process_Transient_In_Expression): Turn procedure into a child of...
+ (Process_Transients_In_Expression): ...this procedure.
+ * exp_ch6.adb (Expand_Ctrl_Function_Call): Remove obsolete setting
+ of Is_Ignored_Transient flag on the temporary if within a dependent
+ expression of a conditional expression.
+
+2023-12-19 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_N_Aggregate): New procedure for the
+ special expansion.
+ (Expand_SPARK): Call the new expansion procedure.
+ * sem_util.adb (Is_Container_Aggregate): Implement missing test.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): Add guard for Ancestor_Type.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gen_il-fields.ads (Aggregate_Bounds): Rename to
+ Aggregate_Bounds_Or_Ancestor_Type.
+ * gen_il-gen-gen_nodes.adb (Aggregate_Bounds): Likewise.
+ * sem_aggr.adb (Resolve_Record_Aggregate): Remove obsolete bypass.
+ * sem_ch12.adb (Check_Generic_Actuals): Add decoration.
+ (Copy_Generic_Node): For an extension aggregate, restore only the
+ full view, if any. For a full aggregate, restore the full view as
+ well as that of its Ancestor_Type, if any, and up to the root type.
+ (Save_References_In_Aggregate): For a full aggregate of a local
+ derived tagged type with a global ancestor, set Ancestor_Type to
+ this ancestor. For a full aggregate of a global derived tagged
+ type, set Ancestor_Type to the parent type.
+ * sinfo-utils.ads (Aggregate_Bounds): New function renaming.
+ (Ancestor_Type): Likewise.
+ (Set_Aggregate_Bounds): New procedure renaming.
+ (Set_Ancestor_Type): Likewise.
+ * sinfo.ads (Ancestor_Type): Document new field.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_If_Expression): Also add missing calls to
+ Process_Transients_In_Expression on the code path implementing the
+ special optimization for an unidimensional array type and
+ dependent expressions with static bounds.
+
+2023-12-19 Steve Baird <baird@adacore.com>
+
+ * sem_ch8.adb (Is_Actual_Subp_Of_Inst): After calling
+ Enclosing_Declaration, add a check for the case where one more
+ Parent call is needed to get the enclosing declaration.
+
+2023-12-19 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_util.adb (Build_Default_Subtype_OK): Relax
+ known-at-compile-time requirement.
+ * sem_util.ads (Build_Default_Subtype_OK): Bring documentation
+ comment up-to-date.
+
+2023-12-19 Yannick Moy <moy@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_pragmas.rst: Fix doc for
+ pragma Ignore_Pragma, in the case where it follows another
+ configuration pragma that it names, which causes the preceding
+ pragma to be ignored after parsing.
+ * errout.adb (Should_Ignore_Pragma_SPARK_Mode): New query.
+ (SPARK_Msg_N): Do nothing if SPARK_Mode is ignored.
+ (SPARK_Msg_NE): Same.
+ * gnat-style.texi: Regenerate.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-12-19 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Check correct mode
+ variable for GNATprove.
+ * sem_prag.adb (Refined_State): Call SPARK_Msg_NE which checks
+ value of SPARK_Mode before issuing a message.
+ * sem_res.adb (Resolve_Entity_Name): Remove legality check for
+ SPARK RM 6.1.9(1), moved to GNATprove.
+
+2023-12-19 Steve Baird <baird@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Child_Unit): Introduce a new nested
+ function Adjusted_Inst_Par_Ekind to cope with cases where either
+ a- the visibility of a compiler-generated renaming is incorrect;
+ or b- we are inside of a generic parent unit G1 that has a child
+ unit G1.G2, so instantiation of G1.G2 is permitted.
+
+2023-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Process_If_Case_Statements): Rename into...
+ (Process_Transients_In_Expression): ...this and beef up comment.
+ (Expand_N_Case_Expression): Call Process_Transients_In_Expression
+ unconditionally on the list of actions of each alternative.
+ (Expand_N_Expression_With_Actions): Do not deal with actions in
+ nested subexpressions, but call Process_Transients_In_Expression
+ on the list of actions only.
+ (Expand_N_If_Expression): Adjust to above renaming. Add missing
+ calls to Process_Transients_In_Expression in the case when an EWA
+ is not used because of Minimize_Expression_With_Actions.
+
+2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com>
+
+ * gcc-interface/utils.cc (attr_target_exclusions): Make
+ target/target_clones exclusion target-dependent.
+ (attr_target_clones_exclusions): Ditto.
+
+2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com>
+
+ * gcc-interface/utils.cc (attr_noinline_exclusions): New.
+ (attr_always_inline_exclusions): Ditto.
+ (attr_target_exclusions): Ditto.
+ (attr_target_clones_exclusions): Ditto.
+ (gnat_internal_attribute_table): Add new exclusion lists.
+ (handle_noinline_attribute): Remove custom exclusion handling.
+ (handle_target_attribute): Ditto.
+ (handle_target_clones_attribute): Ditto.
+
+2023-12-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * terminals.c [__FreeBSD__]: Include <libutil.h>.
+ (TABDLY): Only define if missing.
+
+2023-12-06 Alexandre Oliva <oliva@adacore.com>
+
+ * gcc-interface/trans.cc: Include ipa-strub.h.
+ (gigi): Make internal decls for targets of compiler-generated
+ calls strub-callable too.
+ (build_raise_check): Likewise.
+ * gcc-interface/utils.cc: Include ipa-strub.h.
+ (handle_strub_attribute): New.
+ (gnat_internal_attribute_table): Add strub.
+
+2023-12-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/utils.cc (gnat_internal_attribute_table): Add extra
+ braces to work around PR 16333 in older compilers.
+
+2023-12-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * adaint.c: Include <signal.h>.
+ * expect.c: Include <string.h>.
+
+2023-12-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/gigi.h (gnat_internal_attribute_table): Change
+ type to scoped_attribute_specs.
+ * gcc-interface/utils.cc (gnat_internal_attribute_table): Likewise,
+ using...
+ (gnat_internal_attributes): ...this as the underlying array.
+ * gcc-interface/misc.cc (gnat_attribute_table): New global.
+ (LANG_HOOKS_ATTRIBUTE_TABLE): Use it.
+
+2023-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * adaint.c [__APPLE__]: Include <signal.h>, <sys/time.h>.
+ * terminals.c [!_WIN32]: Include <signal.h>.
+ [__APPLE__]: Include <util.h>.
+ Fix typos.
+
+2023-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.ads (Apply_Predicate_Check): Add Deref boolean parameter.
+ * checks.adb (Apply_Predicate_Check): Revert latest change. Use
+ Loc local variable to hold the source location. Use a common code
+ path for the generic processing and make a dereference if Deref is
+ True.
+ * exp_ch4.adb (Expand_Allocator_Expression): Compute Aggr_In_Place
+ earlier. If it is true, do not call Apply_Predicate_Check on the
+ expression on entry but on the temporary on exit with a
+ dereference.
+ * sem_res.adb (Resolve_Actuals): Add explicit parameter
+ association in call to Apply_Predicate_Check.
+
+2023-11-30 Steve Baird <baird@adacore.com>
+
+ * exp_put_image.adb (Put_Image_Enabled): Return True in more
+ cases. In particular, when testing to see if a type occurs in a
+ predefined unit, test the type's code unit
+ (obtained by calling Get_Code_Unit). In the case of type within a
+ user-defined instance of a predefined generic, Is_Predefined_Unit
+ will return True for the type and False for the type's code unit.
+
+2023-11-30 Yannick Moy <moy@adacore.com>
+
+ * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
+ Remove checking on volatility. Remove handling of SPARK_Mode, not
+ needed anymore.
+ (Analyze_Entry_Or_Subprogram_Contract): Remove checking on
+ volatility.
+ (Check_Type_Or_Object_External_Properties): Same.
+ (Analyze_Object_Contract): Same.
+ * freeze.adb (Freeze_Record_Type): Same. Also remove checking on
+ synchronized types and ghost types.
+ * sem_ch12.adb (Instantiate_Object): Remove checking on
+ volatility.
+ (Instantiate_Type): Same.
+ * sem_ch3.adb (Access_Type_Declaration): Same.
+ (Derived_Type_Declaration): Remove checking related to untagged
+ partial view.
+ (Process_Discriminants): Remove checking on volatility.
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Same.
+ * sem_ch6.adb (Analyze_Procedure_Call): Fix use of SPARK_Mode
+ where GNATprove_Mode was intended.
+ * sem_disp.adb (Inherited_Subprograms): Protect against Empty
+ node.
+ * sem_prag.adb (Analyze_Global_In_Decl_Part): Remove checking on
+ volatility.
+ (Analyze_Pragma): Same.
+ * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove.
+ (Resolve_Actuals): Remove checking on volatility.
+ (Resolve_Entity_Name): Same.
+ * sem_util.adb (Check_Nonvolatile_Function_Profile): Remove.
+ (Check_Volatility_Compatibility): Remove.
+ * sem_util.ads: Same.
+
+2023-11-30 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/i-cstrin.adb (Free): Rewrite code so there is only one
+ return, to remove Improper_Returns violation.
+ (Position_Of_Nul): Add pragma to exempt Improper_Returns
+ violation.
+ (To_Chars_Ptr): Likewise.
+ (Value): Likewise
+
+2023-11-30 Viljar Indus <indus@adacore.com>
+
+ * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Avoid
+ checking compile time warnings and errors if backend has not been
+ activated.
+
+2023-11-30 Yannick Moy <moy@adacore.com>
+
+ * checks.adb, exp_aggr.adb, exp_ch4.ads, exp_ch5.adb,
+ exp_util.adb, exp_util.ads, inline.adb, sem_ch13.adb,
+ sem_ch6.adb, sem_ch8.adb, sem_prag.adb, sem_util.ads: Fix comments
+ and typos.
+
+2023-11-30 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Declared_In_Expanded_Body): New subprogram.
+ (In_Expanded_Body): Minor code cleanup.
+ (Freeze_Expression): Code cleanup plus factorize in a new function
+ the code that identifies entities declared in the body of expander
+ generated subprograms, since such case must be checked also for
+ other node kinds when climbing the tree to locate the place to
+ insert the freezing node.
+
+2023-11-30 Steve Baird <baird@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): In the case of a resolving a
+ name that occurs within an instantiation, add code to detect and
+ filter out unwanted candidate resolutions. The filtering is
+ performed via a call to Remove_Interp.
+
+2023-11-30 Steve Baird <baird@adacore.com>
+
+ * libgnarl/a-rttiev.ads: add a comment
+
+2023-11-30 Steve Baird <baird@adacore.com>
+
+ * sem_ch12.adb (Validate_Discriminated_Formal_Type): Replace
+ Entity_Id equality test with a call to Subtypes_Match. Distinct
+ subtypes which are statically matching should pass this test.
+ (Check_Discriminated_Formal): Replace Entity_Id equality test with
+ a call to Subtypes_Statically_Match (preceded by a check that the
+ preconditions for the call are satisfied).
+
+2023-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Add Special_Return
+ boolean constant to hold the value of For_Special_Return_Object
+ for the allocator and use it throughout the procedure.
+
+2023-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Also deal specifically with
+ an expression that is a qualified aggregate in an allocator.
+
+2023-11-30 Steve Baird <baird@adacore.com>
+
+ * sem_ch4.adb (Constant_Indexing_OK): As a temporary stopgap,
+ return False in the case of an unanalyzed prefixed-view call.
+
+2023-11-28 Simon Wright <simon@pushface.org>
+
+ PR ada/111909
+ * adaint.c
+ (__gnat_get_file_names_case_sensitive): Split out the __APPLE__
+ check and remove the checks for __arm__, __arm64__. For Apple,
+ file names are by default case-insensitive unless TARGET_OS_IOS is
+ set.
+
+2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (annotate_value): Apply the same processing
+ for parameters as for variables.
+
+2023-11-28 Marc Poulhiès <poulhies@adacore.com>
+
+ * gcc-interface/utils2.cc (build_simple_component_ref): Add
+ comment on assertion.
+
+2023-11-28 Steve Baird <baird@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): In the case of a
+ Reduce attribute reference, fix bugs in initializing Accum_Typ.
+ The previous version was incorrect in the case where E1 refers to
+ the first of multiple possible overload resolution candidates and
+ that candidate does not turn out to be the right one. The previous
+ version also had code to compute Accum_Typ via a different method
+ if the initial computation turned out to yield a universal numeric
+ type. Delete that initial computation and use the second method in
+ all cases.
+
+2023-11-28 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Add_Discriminant_Values): Remove this procedure.
+ (Propagate_Discriminants): Remove this procedure.
+ (Resolve_Record_Aggregate): Remove code (the Capture_Discriminants
+ block statement) related to propagating discriminants and
+ generating initializations for subcomponents of a
+ discriminant-dependent box-defaulted subcomponent of a nonprivate
+ record type with discriminants, and handle all top-level
+ components that have a non-null base init proc directly, by
+ calling Add_Association with "Is_Box_Present => True". Also,
+ combine that elsif clause with the immediately preceding elsif
+ clause, since they now both contain the same statement (calls to
+ Add_Association with the same actuals).
+
+2023-11-28 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Check_Result_And_Post_State): Disable this when
+ we're in an instance. Misc cleanup.
+
+2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.ads (Expand_Cleanup_Actions): Move declaration to the
+ Finalization Management section.
+ * exp_ch7.adb (Transient Scope Management): Move description down to
+ after that of the general finalization and make a few changes.
+ (Insert_Actions_In_Scope_Around): Call Process_Transients_In_Scope
+ only if cleanups are being handled.
+ (Process_Transients_In_Scope): Remove redundant test on Clean.
+ * exp_util.ads (Within_Case_Or_If_Expression): Adjust description.
+ * exp_util.adb (Within_Case_Or_If_Expression): Only return true if
+ within the dependent expressions of the conditional expressions.
+
+2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/gnat_rm/the_implementation_of_standard_i_o.rst: Fix a couple
+ occurrences of incorrect quoting.
+ * gnat_rm.texi: Regenerate.
+
+2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Build_Flag_For_Function): New function made up of the
+ code building the special flag for return object present...
+ (Expand_N_Extended_Return_Statement): ...in there. Replace the code
+ with a call to Build_Flag_For_Function. Add assertion for the flag.
+ (Expand_Non_Function_Return): For a nested return, if the return
+ object needs finalization actions, update the special flag.
+
+2023-11-28 Sebastian Poeplau <poeplau@adacore.com>
+
+ * einfo-utils.ads, einfo-utils.adb (Is_Address_Compatible_Type):
+ New function.
+
+2023-11-28 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Expand_Container_Aggregate): Apply a conversion to the
+ size temp object passed as the second actual parameter on the call to
+ the New_Indexed_Subp function, to convert it to the index type of the
+ container type (taken from the first formal parameter of the function).
+
+2023-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Do not proceed in a spec expression
+ for nonstatic representation attributes of a scalar subtype when the
+ subtype is not frozen.
+ * sem_ch3.adb (Analyze_Object_Declaration): Do not freeze the type
+ of the object in a spec expression.
+
+2023-11-28 Richard Kenner <kenner@adacore.com>
+
+ * exp_unst.adb (Note_Uplevel_Bound): Treat
+ N_Unchecked_Type_Conversion like N_Type_Conversion.
+
+2023-11-28 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-imgboo.adb: Remove with_clause now in spec file.
+ * libgnat/s-imgboo.ads: Remove dependency on System.Val_Bool.
+ (Image_Boolean): Replace call to Value_Boolean by passing value V
+ to updated ghost function Is_Boolean_Image_Ghost.
+ * libgnat/s-valboo.ads (Is_Boolean_Image_Ghost): Move to other
+ unit.
+ (Value_Boolean.): Update precondition.
+ * libgnat/s-valspe.ads (Is_Boolean_Image_Ghost): Move here. Add
+ new parameter for expected boolean value.
+
+2023-11-28 Tucker Taft <taft@adacore.com>
+
+ * sem_scil.adb: Handle discriminant specification.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (Loop_Statement_to_gnu): Always use the
+ simpler form for a loop with a boolean iteration variable.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Subtype>: Put
+ the alignment directly on the type in the constrained case too.
+ * gcc-interface/utils.cc (maybe_pad_type): For an array type, take
+ the alignment of the element type as the original alignment.
+
+2023-11-21 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Resolve_Container_Aggregate): In the case where Comp
+ is an N_Iterated_Component_Association, pick up Discrete_Choices rather
+ than Choices.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer): For package specs and bodies, push
+ and pop the specs onto the scope stack only once.
+ * inline.adb (Cleanup_Scopes): Call Pop_Scope instead of End_Scope.
+
+2023-11-21 Steve Baird <baird@adacore.com>
+
+ * sem_aggr.adb (Resolve_Delta_Array_Aggregate): In the case of a
+ deep delta choice, the expected type for the expression will
+ typically not be the component type of the array type, so a call
+ to Analyze_And_Resolve that assumes otherwise would be an error.
+ It turns out that such a call, while wrong, is usually harmless
+ because the expression has already been marked as analyzed. This
+ doesn't work if the aggregate occurs in a postcondition and, in
+ any case, we don't want to rely on this. So do not perform the
+ call in the deep case.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_warn.adb (Check_References.Type_OK_For_No_Value_Assigned):
+ New predicate.
+ (Check_References): For Warn_On_No_Value_Assigned, use the same test
+ on the type in the address-not-taken and default cases.
+
+2023-11-21 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Retrieve the
+ iteration type's iteration interface progenitor via
+ Iterator_Interface_Ancestor, in the case of both "in" and "of"
+ iterators. Narrow the scope of Pack, so it's declared and
+ initialized only within the code related to "of" iterators, and
+ change its name to Cont_Type_Pack. Adjust comments.
+ * sem_ch5.adb (Get_Cursor_Type): In the case of a derived type,
+ retrieve the iteration type's iterator interface progenitor (if it
+ exists) via Iterator_Interface_Ancestor rather than assuming that
+ the parent type is the interface progenitor.
+ * sem_util.ads (Iterator_Interface_Ancestor): New function.
+ * sem_util.adb (Iterator_Interface_Ancestor): New function
+ returning a type's associated iterator interface type, if any, by
+ collecting and traversing the type's interfaces.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute) <Attribute_Address>: Remove the
+ bypass for prefixes with task type.
+
+2023-11-21 Viljar Indus <indus@adacore.com>
+
+ * par.adb: Restore Style_Checks after parsing each unit.
+
+2023-11-21 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_Delta_Or_Aggregate): Fix type.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Test Expander_Active
+ to detect generic contexts for the generation of cleanup actions.
+
+2023-11-21 Justin Squirek <squirek@adacore.com>
+
+ * libgnat/g-catiio.adb (Value): Modify conditionals to use 'Last
+ instead of 'Length
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Null_Status): Deal with unchecked type conversions.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Assignments): Do not treat initialization
+ procedures specially when it comes to creating a transient scope.
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise.
+ * exp_util.adb (Requires_Cleanup_Actions): Likewise.
+
+2023-11-21 Doug Rupp <rupp@adacore.com>
+
+ * s-oscons-tmplt.c: #define CLOCK_RT_Ada "CLOCK_MONOTONIC" for
+ __vxworks
+
+2023-11-21 Steve Baird <baird@adacore.com>
+
+ * sem_aggr.adb: Replace "not Present (...)" call with "No (...)" call.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gen_il-fields.ads (Opt_Field_Enum): Remove Is_Finalization_Wrapper
+ * gen_il-gen-gen_nodes.adb (N_Block_Statement): Likewise.
+ * sinfo.ads (Is_Finalization_Wrapper): Delete.
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust comment
+ and remove obsolete code testing the Is_Finalization_Wrapper flag.
+ * exp_util.adb (Requires_Cleanup_Actions): Likewise.
+
+2023-11-21 Doug Rupp <rupp@adacore.com>
+
+ * libgnat/libada.gpr: Revise section 1
+
+2023-11-21 Steve Baird <baird@adacore.com>
+
+ * par.adb: Add new Boolean variable Inside_Delta_Aggregate.
+ * par-ch4.adb (P_Simple_Expression): Add support for a deep delta
+ aggregate choice. We turn a sequence of selectors into a peculiar
+ tree. We build a component (Indexed or Selected) whose prefix is
+ another such component, etc. The leftmost prefix at the bottom of
+ the tree has a "name" which is the first selector, without any
+ further prefix. For something like "with delta (1)(2) => 3" where
+ the type of the aggregate is an array of arrays of integers, we'll
+ build an N_Indexed_Component whose prefix is an integer literal 1.
+ This is consistent with the trees built for "regular"
+ (Ada-defined) delta aggregates.
+ * sem_aggr.adb (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice):
+ New queries.
+ (Resolve_Deep_Delta_Assoc): new procedure.
+ (Resolve_Delta_Array_Aggregate): call Resolve_Deep_Delta_Assoc in
+ deep case.
+ (Resolve_Delta_Record_Aggregate): call Resolve_Deep_Delta_Assoc in
+ deep case.
+ (Get_Component_Type): new function replaces old Get_Component
+ function.
+ * sem_aggr.ads (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice):
+ New queries.
+ * exp_aggr.adb (Expand_Delta_Array_Aggregate): add nested function
+ Make_Array_Delta_Assignment_LHS; call it instead of
+ Make_Indexed_Component.
+ (Expand_Delta_Record_Aggregate): add nested function
+ Make_Record_Delta_Assignment_LHS; call it instead of
+ Make_Selected_Component.
+ * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Insert range
+ checks for indexes in deep delta aggregates.
+
+2023-11-21 Ronan Desplanques <desplanques@adacore.com>
+
+ * adaint.c (__gnat_unlink): Add new parameter and fix text
+ conversion on Windows. Remove unnecessary curly braces.
+ * adaint.h (__gnat_unlink): Add new parameter.
+ * libgnat/i-cstrea.ads (unlink): Adapt to __gnat_unlink signature
+ change.
+ * libgnat/i-cstrea.adb (unlink): New Subprogram definition.
+ * libgnat/s-crtl.ads (unlink): Adapt to __gnat_unlink signature
+ change.
+ * libgnat/s-fileio.adb (Delete): Pass encoding argument to unlink.
+
+2023-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Save_Global_References.Set_Global_Type): Beef up
+ comment about the setting of the full view.
+ * sem_res.adb (Resolve_Actuals.Insert_Default): Add another bypass
+ for the case of a generic context.
+
+2023-11-21 Marc Poulhiès <poulhies@adacore.com>
+
+ * doc/gnat_ugn/the_gnat_compilation_model.rst: Move index
+ directives.
+ * gnat_ugn.texi: Regenerate.
+
+2023-11-21 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * par_sco.adb (Process_Decisions)<Process_Node>: Skip aspect
+ specifications.
+
+2023-11-21 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/libgnat_common.gpr: Unconditionally pass -gnatg.
+
+2023-11-21 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_util.ads: Typo fix.
+
+2023-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Also create a
+ TYPE_DECL for the return type built for the CI/CO mechanism.
+
+2023-11-10 Andris Pavēnis <andris.pavenis@iki.fi>
+
+ * expect.c (__gnat_waitpid): fix syntax errors
+
+2023-11-09 Simon Wright <simon@pushface.org>
+
+ PR ada/111813
+ * libgnat/a-calfor.adb (Value (2)): Allow values of
+ parameter Elapsed_Time greater than or equal to 24 hours, by doing
+ the hour calculations in Natural rather than Hour_Number (0 ..
+ 23). Calculate the result directly rather than by using Seconds_Of
+ (whose Hour parameter is of type Hour_Number).
+ If an exception occurs of type Constraint_Error, re-raise it
+ rather than raising a new CE.
+
+2023-11-07 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/utils.cc (flag_isoc2x): Rename to flag_isoc23.
+
+2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Apply the
+ specific rewriting done for an aliased object with an unconstrained
+ array nominal subtype in the renaming case too.
+
+2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_gimplify_expr) <CALL_EXPR>: Delete.
+
+2023-11-07 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.ads (Set_Enum_Esize): Do not set alignment.
+ * sem_ch13.adb (Set_Enum_Esize): Do not set alignment. Archaeology
+ seems to show that this line of code dates from when "Alignment =
+ 0" meant "the Alignment is not known at compile time" and "the
+ Alignment is not yet known at compile time" as well as "the
+ Alignment is zero". In any case, it seems to be unnecessary, and
+ in this case harmful, because gigi would crash. Alignment_Clause
+ is set (because there is one), so gigi would query the Alignment,
+ but Alignment was destroyed.
+
+2023-11-07 Julien Bortolussi <bortolussi@adacore.com>
+
+ * doc/share/conf.py: Changed the background color and the logo.
+
+2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gen_il-fields.ads (Opt_Field_Enum): Add Compare_Type.
+ * gen_il-gen-gen_nodes.adb (N_Op_Eq): Likewise.
+ (N_Op_Ge): Likewise.
+ (N_Op_Gt): Likewise.
+ (N_Op_Le): Likewise.
+ (N_Op_Lt): Likewise.
+ (N_Op_Ne): Likewise.
+ * sinfo.ads (Compare_Type): Document new field.
+ * sem_ch4.adb (Analyze_Comparison_Equality_Op): If the entity is
+ already present, set the Compare_Type on overloaded operands if it
+ is present on the node.
+ * sem_ch12.adb (Check_Private_View): Look into the Compare_Type
+ instead of the Etype for comparison operators.
+ (Copy_Generic_Node): Remove obsolete code for comparison
+ operators.
+ (Save_Global_References.Save_References): Do not walk into the
+ descendants of N_Implicit_Label_Declaration nodes.
+ (Save_Global_References.Set_Global_Type): Look into the
+ Compare_Type instead of the Etype for comparison operators.
+ * sem_res.adb (Resolve_Comparison_Op): Set Compare_Type.
+ (Resolve_Equality_Op): Likewise.
+
+2023-11-07 Ronan Desplanques <desplanques@adacore.com>
+
+ * adaint.c (__gnat_file_time): Fix Windows version.
+
+2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Fold initialization
+ expression of Nominal_Subtype_Is_Constrained_Array constant into
+ the computation of Rewrite_As_Renaming and remove the constant.
+ Set it to True for an aliased array with unconstrained nominal
+ subtype if the subtype of the expression is also unconstrained.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_util.adb (Add_Own_DIC, Add_Own_Invariants): Store the aspect
+ expression in Expression_Copy.
+
+2023-11-07 Yannick Moy <moy@adacore.com>
+
+ * exp_aggr.adb: Apply the renaming.
+ * exp_ch3.adb: Same.
+ * exp_ch4.adb: Same.
+ * exp_ch6.adb: Same.
+ * exp_ch7.adb: Same.
+ * exp_util.adb: Same.
+ * freeze.adb: Same.
+ * sem_aggr.adb: Same.
+ * sem_attr.adb: Same.
+ * sem_aux.adb: Alphabetize Is_Limited_Type. Rename.
+ * sem_aux.ads: Same.
+ * sem_ch3.adb: Apply the renaming.
+ * sem_ch6.adb: Same.
+ * sem_ch8.adb: Same.
+ * sem_prag.adb: Same.
+ * sem_res.adb: Same.
+ * sem_util.adb: Same.
+
+2023-11-07 Viljar Indus <indus@adacore.com>
+
+ * aspects.adb (Exchange_Aspects): Removed. This method was
+ typically called after a Rewrite method. Now since the Rewrite
+ switches the aspects between the new and the old node it is no
+ longer needed.
+ (Has_Aspects): Converted to a utility method that performs the same
+ before as the previous Has_Aspects field did. Meaning it shows whether
+ a node actually has aspects or not.
+ (Copy_Aspects): New utility method that performs a deep copy of the
+ From nodes aspects.
+ (Aspect_Specfications): Removed. No longer needed. Replaced
+ by the primitive operation for the Aspect_Specification fields.
+ (Set_Aspect_Specifications): Likewise.
+ (Aspect_Specifications_Hash_Table): Remove the table and all the
+ utility methods for storing the old aspects.
+ * aspects.ads: Likewise.
+ * atree.adb (Copy_Separate_Tree): Remove custom code for aspects.
+ (New_Copy): Likewise.
+ (Replace): Likewise.
+ (Rewrite): Likewise.
+ * exp_ch3.adb (Expand_N_Object_Declaration): Keep the aspects from the old node.
+ * exp_ch6.adb (Validate_Subprogram_Calls): Previously aspects were ignored
+ because they were not on the tree. Explicitly ignore them here
+ when traversing the tree.
+ * exp_unst.adb (Build_Tables): Likewise
+ * gen_il-fields.ads: Remove Has_Aspects and add
+ Aspect_Specifications fields.
+ * gen_il-gen-gen_nodes.adb: Add Aspect_Specification fields
+ for all nodes that can have aspects. Additionally add
+ Expression_Copy for Aspect_Speficiations to avoid reusing
+ the Associated_Node for generic instantiation and aspect
+ analysis.
+ * ghost.adb (Remove_Ignored_Ghost_Node): Remove call to Remove_Aspects.
+ The rewritten node is a Null_Statement that cannot have aspects
+ and there is not anything to gain from removing them from the
+ Orignal_Node of N since it technically is not part of the active
+ tree.
+ * inline.adb (Process_Formals_In_Aspects): Simplify code for node traversal.
+ * par-ch13.adb: Avoid setting the parent explicitly for the
+ Aspect_Specifications list. This is done explicitly in the setter.
+ * par-ch6.adb: Likewise.
+ * par_sco.adb (Traverse_Aspects): Handle early return.
+ * sem_ch10.adb: Simplify code for Analyze_Aspect_Specifications.
+ * sem_ch11.adb: Likewise.
+ * sem_ch12.adb (Analyze_Formal_Derived_Interface_Type): Keep the aspects from
+ the orignal node after rewrite.
+ (Analyze_Formal_Derived_Type): Likewise.
+ (Analyze_Formal_Interface_Type): Likewise.
+ (Analyze_Formal_Object_Declaration): Simplify code for
+ Analyze_Aspect_Specifications.
+ (Analyze_Formal_Package_Declaration): Likewise.
+ (Analyze_Formal_Subprogram_Declaration): Likewise.
+ (Analyze_Formal_Type_Declaration): Likewise.
+ (Analyze_Generic_Package_Declaration): Remove Exchange_Aspects.
+ The new node already has the correct aspects after the rewrite.
+ Also simplify code for Analyze_Aspect_Specifications.
+ (Analyze_Generic_Subprogram_Declaration): Likewise.
+ (Analyze_Package_Instantiation): Simplify code for
+ Analyze_Aspect_Specifications.
+ (Build_Instance_Compilation_Unit_Nodes): Remove explicit copy of
+ aspects that is no longer needed.
+ (Save_References): Update the traversal code to handle
+ Aspect_Specifications in the tree.
+ (Copy_Generic_Node): Remove explicit copy for aspects. New_Copy
+ took care of that already.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add early return to simplify
+ code for its calls. Avoid reusing the Entity(Associated_Node)
+ field for storing the original expression. Instead use the
+ new Expression_Copy field since Entity(Associated_Node) is
+ also used in generic instantiation.
+ (Analyze_Aspects_On_Subprogram_Body_Or_Stub): Simlify call
+ to Analyze_Aspect_Specifications.
+ (Check_Aspect_At_End_Of_Declarations): Use Expression_Copy
+ instead of Entity.
+ (Check_Aspect_At_Freeze_Point): Likewise.
+ * sem_ch3.adb: Simplify calls to Analyze_Aspect_Specifications.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Expression_Function): Keep the aspects from the
+ original node after a rewrite.
+ (Analyze_Generic_Subprogram_Body): Remove Exchange aspects
+ that is no longer needed. Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Null_Procedure): Keep the aspects from the
+ original node after a rewrite.
+ (Analyze_Subprogram_Body_Helper): Simplify calls to
+ Analyze_Aspect_Specifications.
+ (Analyze_Subprogram_Declaration): Likewise.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Remove Exchange aspects
+ that is no longer needed. Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Package_Declaration): Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Private_Type_Declaration): Likewise.
+ * sem_ch8.adb: Simplify calls to
+ Analyze_Aspect_Specifications.
+ * sem_ch9.adb (Analyze_Entry_Body): Simplify call to
+ Analyze_Aspects_On_Subprogram_Body_Or_Stub.
+ (Analyze_Entry_Declaration): Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Protected_Body): Likewise.
+ (Analyze_Protected_Type_Declaration): Likewise.
+ (Analyze_Single_Protected_Declaration): Keep the aspects from
+ the original node after a rewrite. Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Single_Task_Declaration): Likewise.
+ (Analyze_Task_Body): Simplify call to
+ Analyze_Aspect_Specifications.
+ (Analyze_Task_Type_Declaration): Simplify calls to
+ Analyze_Aspect_Specifications.
+ * sem_dim.adb: Remove explicitly setting the parents
+ for the Aspect_Specification list.
+ * sem_disp.adb: Remove the with that is no longer
+ required since Aspect_Specifications is a node operation now.
+ * sem_util.adb (Copy_Node_With_Replacement): Remove explicit code for aspects.
+ * treepr.adb (Print_Field): Remove the version that was used for printing
+ aspects.
+ (Print_Node): Remove aspect specific code.
+
+2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gen_il-gen-gen_nodes.adb (N_Op_Boolean): Fix description.
+ * sem_ch4.adb (Analyze_Comparison_Equality_Op): Tidy up.
+ * sem_ch12.adb (Copy_Generic_Node): Use N_Op_Compare subtype.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch6.adb, exp_disp.adb, sem_ch13.adb, sem_ch3.adb: Fix newly
+ detected violations.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch3.adb, sem_ch4.adb, sem_eval.adb: Fix newly detected
+ violations.
+
+2023-11-07 Ronan Desplanques <desplanques@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
+ -gnatwc documentation.
+ * gnat_ugn.texi: Regenerate.
+
+2023-11-07 Steve Baird <baird@adacore.com>
+
+ * local_restrict.ads: A new package. Declares Local_Restriction
+ enumeration type and provides operations to check for local
+ restriction violations.
+ * local_restrict.adb: Corresponding package body. Replace "not
+ Present (X)" calls with "No (X)" calls.
+ * aspects.ads: Add a new enumeration elements,
+ Aspect_Local_Restrictions and Aspect_User_Aspect, to the Aspect_Id
+ enumeration type. Update Aspect_Id-indexed aggregates. Add nested
+ package User_Aspect_Support to manage two pieces of state. One is
+ a map from identifiers to User_Aspect_Definition pragmas (updated
+ when such a pragma is encountered). The other is an
+ access-to-subprogram variable that is introduced in order to keep
+ the bulk of semantics out of the closure of package Aspects while
+ allowing a call from aspects.adb to the sem_ch13 procedure that
+ analyzes a User_Aspect aspect specification.
+ * aspects.adb (Find_Aspect): Cope with a case of a block statement
+ with an empty parent. It is not clear whether this is papering
+ over a compiler bug. Add indirect call through the aforementioned
+ access-to-subprogram variable when Find_Aspect enounters an
+ unanalyzed User_Aspect aspect specification. If Find_Aspect is
+ called looking for aspect Foo, then a User_Aspect specification
+ might generate (during analysis) a Foo aspect specification. So
+ the Find_Aspect call needs to trigger that analysis if it has not
+ already taken place. Provide a body for package
+ User_Aspect_Support. Replace "not Present (X)" call with "No (X)"
+ call.
+ * freeze.adb (Freeze_Subprogram): Check local restriction
+ compatibility when a dispatching operation is overridden.
+ * par-prag.adb: Add support for parsing a User_Aspect_Definition
+ pragma.
+ * restrict.ads: We'd like to have the body of package Restrict
+ include a call to a procedure declared in package Local_Restrict.
+ Doing that in the obvious way pulls most of semantics into the
+ closure of package Restrict, and that turns out to cause problems.
+ So we introduce a level of indirection and instead call through an
+ access-to-subprogram value. In this unit, we declare the
+ access-to-subprogram type and object.
+ * restrict.adb (Check Restriction): When a construct is
+ encountered that could violate a global restriction (depending on
+ whether the given restriction is in effect), Check_Restriction is
+ called. At this point, we also check for a violation of any
+ corresponding local restriction that is in effect. For reasons
+ described above, this check is performed via an indirect call.
+ * sem_ch13.ads (Parse_Aspect_Local_Restrictions): A new function,
+ similar to the existing Parse_Aspect_Xxx subprograms.
+ * sem_ch13.adb: Perform semantic analysis of Local_Restrictions
+ and User_Aspect aspect specifications. Declare and call new
+ Validate_Aspect_Local_Restrictions and
+ Analyze_User_Aspect_Aspect_Specification procedures (a reference
+ to the latter is registered during package elaboration). In
+ Analyze_Aspect_Specifications, do not set the Analyzed flag of a
+ User_Aspect aspect specification. Replace "not Present (X)" call
+ with "No (X)" call. Replace 'Image with 'Img in a case where the
+ prefix of the attribute reference is an object; this is done to
+ accomodate older compilers.
+ * sem_ch6.adb (Check_Subtype_Conformant): Include in subtype
+ conformance check a check for overriding-related compatibility of
+ local restrictions.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In the case of an
+ instance of a generic that takes a formal subprogram, check that
+ formal and actual are compatible with respect to local
+ restrictions.
+ * sem_prag.adb: Add support for User_Aspect_Definition pragma.
+ * sem_res.adb (Resolve_Call): Check caller/callee compatibility
+ with respect to local restrictions.
+ * snames.ads-tmpl: Add Name_Local_Restrictions, Name_User_Aspect,
+ and Name_User_Aspect_Definition constants.
+ * doc/gnat_rm/implementation_defined_aspects.rst: Document new
+ aspects.
+ * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
+ pragma.
+ * doc/gnat_ugn/the_gnat_compilation_model.rst: Add
+ User_Aspect_Definition to list of GNAT pragmas.
+ * gcc-interface/Make-lang.in: Add local_restrict.o.
+ * gnat-style.texi: Regenerate.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-11-07 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb (Is_Private_Overriding): Return True in the case
+ where a primitive operation is publicly inherited but privately
+ overridden.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove code from the
+ ELSE branch, because it was is identical to code before the IF
+ statements itself.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Change Ctyp and Csiz
+ from variables to constants and compute them using the nominal type
+ of the assigned array object.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb, libgnarl/s-osinte__android.ads,
+ libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__qnx.ads,
+ libgnarl/s-osinte__rtems.ads, libgnat/s-gearop.adb,
+ libgnat/s-poosiz.adb, sem_util.adb: Fix style.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Simplify handling of
+ assignments with string literals.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove Rhs_Val_Known;
+ represent unknown value by assigning Rhs_Val with No_Uint.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb
+ (Expand_Bit_Packed_Element_Set): Change local Decl object from
+ variable to constant.
+ (Setup_Inline_Packed_Array_Reference): Likewise for Csiz.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_pakd.adb (Setup_Inline_Packed_Array_Reference): Remove extra
+ whitespace from the list of parameters.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Get_Actual_Subtype_If_Available): Only call Etype
+ when necessary.
+
+2023-11-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb
+ (Get_Actual_Subtype,Get_Actual_Subtype_If_Available): Fix handling
+ of expanded names.
+
+2023-11-07 Viljar Indus <indus@adacore.com>
+
+ * sem_prag.adb: (Analyze_Pragma): Reduce the number of nested if
+ statements.
+
+2023-11-07 Viljar Indus <indus@adacore.com>
+
+ * sem_ch10.adb: (Analyze_Compilation_Unit): Restore the orignal
+ state of style check pragmas at the end of the analysis.
+
+2023-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_pakd.adb (Get_Base_And_Bit_Offset): Use the full component
+ reference instead of just the selector name for 'Bit_Position.
+
+2023-11-04 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/misc.cc: Update for changes to diagnostic_context.
+
+2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
+
+ * gcc-interface/Makefile.in: Handle Darwin rpaths.
+
+2023-10-20 Alexandre Oliva <oliva@adacore.com>
+
+ * gcc-interface/trans.cc (gigi): Mark __gnat_reraise_zcx with
+ ECF_XTHROW.
+ (build_raise_check): Likewise for all rcheck subprograms.
+
+2023-10-19 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads: Add aspect Side_Effects.
+ * contracts.adb (Add_Pre_Post_Condition)
+ (Inherit_Subprogram_Contract): Add support for new contract.
+ * contracts.ads: Update comments.
+ * einfo-utils.adb (Get_Pragma): Add support.
+ * einfo-utils.ads (Prag): Update comment.
+ * errout.ads: Add explain codes.
+ * par-prag.adb (Prag): Add support.
+ * sem_ch13.adb (Analyze_Aspect_Specifications)
+ (Check_Aspect_At_Freeze_Point): Add support.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper)
+ (Analyze_Subprogram_Declaration): Call new analysis procedure to
+ check SPARK legality rules.
+ (Analyze_SPARK_Subprogram_Specification): New procedure to check
+ SPARK legality rules. Use an explain code for the error.
+ (Analyze_Subprogram_Specification): Move checks to new subprogram.
+ This code was effectively dead, as the kind for parameters was set
+ to E_Void at this point to detect early references.
+ * sem_ch6.ads (Analyze_Subprogram_Specification): Add new
+ procedure.
+ * sem_prag.adb (Analyze_Depends_In_Decl_Part)
+ (Analyze_Global_In_Decl_Part): Adapt legality check to apply only
+ to functions without side-effects.
+ (Analyze_If_Present): Extract functionality in new procedure
+ Analyze_If_Present_Internal.
+ (Analyze_If_Present_Internal): New procedure to analyze given
+ pragma kind.
+ (Analyze_Pragmas_If_Present): New procedure to analyze given
+ pragma kind associated with a declaration.
+ (Analyze_Pragma): Adapt support for Always_Terminates and
+ Exceptional_Cases. Add support for Side_Effects. Make sure to call
+ Analyze_If_Present to ensure pragma Side_Effects is analyzed prior
+ to analyzing pragmas Global and Depends. Use explain codes for the
+ errors.
+ * sem_prag.ads (Analyze_Pragmas_If_Present): Add new procedure.
+ * sem_util.adb (Is_Function_With_Side_Effects): New query function
+ to determine if a function is a function with side-effects.
+ * sem_util.ads (Is_Function_With_Side_Effects): Same.
+ * snames.ads-tmpl: Declare new names for pragma and aspect.
+ * doc/gnat_rm/implementation_defined_aspects.rst: Document new aspect.
+ * doc/gnat_rm/implementation_defined_pragmas.rst: Document new pragma.
+ * gnat_rm.texi: Regenerate.
+
+2023-10-19 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/s-imagef.adb (Set_Image_Fixed): Refactor loop.
+
+2023-10-19 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/s-imguti.adb (Set_Decimal_Digits): Add pragma to exempt
+ Unassigned_OUT_Parameters.
+ (Set_Floating_Invalid_Value): Likewise
+
+2023-10-19 Patrick Bernardi <bernardi@adacore.com>
+
+ * bindusg.adb (Display): Make it clear -Q adds to the number of
+ secondary stacks generated by the binder.
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+ Document the -Q gnatbind switch and fix references to old
+ runtimes.
+ * gnat-style.texi: Regenerate.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-10-19 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Constrain_Array): Replace manual list length
+ computation by call to List_Length.
+
+2023-10-19 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb (Expand_Container_Aggregate): Simplify with "No".
+
+2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (inline_status_for_subprog): Minor tweak.
+ (gnat_to_gnu_field): Try harder to get a packable form of the type
+ for a bitfield.
+
+2023-10-10 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/a-direct.adb (Start_Search_Internal): Tweak subprogram
+ body.
+
+2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.ads (Set_Scope_Is_Transient): Delete.
+ * sem_util.adb (Set_Scope_Is_Transient): Likewise.
+ * exp_ch7.adb (Create_Transient_Scope): Set Is_Transient directly.
+
+2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Return true
+ if the aggregate is a dependent expression of a conditional
+ expression being returned from a build-in-place function.
+
+2023-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/111434
+ * sem_ch10.adb (Replace): New procedure to replace an entity with
+ another on the homonym chain.
+ (Install_Limited_With_Clause): Rename Non_Lim_View to Typ for the
+ sake of consistency. Call Replace to do the replacements and split
+ the code into the regular and the special cases. Add debuggging
+ output controlled by -gnatdi.
+ (Install_With_Clause): Print the Parent_With and Implicit_With flags
+ in the debugging output controlled by -gnatdi.
+ (Remove_Limited_With_Unit.Restore_Chain_For_Shadow (Shadow)): Rewrite
+ using a direct replacement of E4 by E2. Call Replace to do the
+ replacements. Add debuggging output controlled by -gnatdi.
+
+2023-10-10 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/a-direct.adb: Fix filesystem entry filtering.
+
+2023-10-10 Ronan Desplanques <desplanques@adacore.com>
+
+ * atree.ads, nlists.ads, types.ads: Remove references to extended
+ nodes. Fix typo.
+ * sinfo.ads: Likewise and fix position of
+ Comes_From_Check_Or_Contract description.
+
+2023-10-10 Javier Miranda <miranda@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Protect the frontend against
+ replacing 'Size by its static value if 'Size is not known at
+ compile time and we are processing pragmas Compile_Time_Warning or
+ Compile_Time_Errors.
+
+2023-10-03 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/misc.cc: Use text_info ctor.
+
+2023-10-02 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/misc.cc (gnat_post_options): Update for renaming
+ of diagnostic_context's show_caret to m_source_printing.enabled.
+
+2023-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove call
+ to Is_Simple_Protected_Type as redundant.
+ (Build_Finalizer.Process_Object_Declaration): Do not retrieve the
+ corresponding record type for simple protected objects. Make the
+ flow of control more explicit in their specific processing.
+ * exp_util.adb (Requires_Cleanup_Actions): Return false for simple
+ protected objects present in library-level package bodies for the
+ sake of consistency with Build_Finalizer and remove call to
+ Is_Simple_Protected_Type as redundant.
+
+2023-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/110488
+ * sem_ch3.adb (Analyze_Object_Declaration): Do not build a default
+ subtype for a deferred constant in the definite case too.
+
+2023-09-26 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_ch7.adb (Contains_Subprogram): Recursively search for subp
+ in loop's statements.
+ (Unnest_Loop)<Fixup_Inner_Scopes>: New.
+ (Unnest_Loop): Rename local variable for more clarity.
+ * exp_unst.ads: Refresh comment.
+
+2023-09-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Call_Helper): When computing the
+ accessibility level of an actual parameter based on the
+ expresssion of a constant declaration, add missing support for
+ deferred constants
+
+2023-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Status_Flag_Or_Transient_Decl): Remove ??? comment.
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Extend the
+ handling of finalizable return objects to the non-BIP case.
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust the
+ comment accordingly.
+ * exp_util.adb (Requires_Cleanup_Actions): Likewise.
+
+2023-09-26 Daniel King <dmking@adacore.com>
+
+ * raise-gcc.c (get_ip_from_context): Adapt for CHERI purecap
+ (get_call_site_action_for): Adapt for CHERI purecap
+
+2023-09-26 Daniel King <dmking@adacore.com>
+
+ * libgnat/a-tags.adb (To_Tag): Use System.Storage_Elements for
+ integer to address conversion.
+ * libgnat/s-putima.adb (Put_Image_Pointer): Likewise.
+
+2023-09-26 Daniel King <dmking@adacore.com>
+
+ * libgnat/s-stratt__cheri.adb: New file
+
+2023-09-26 Daniel King <dmking@adacore.com>
+
+ * libgnat/i-cheri.ads (Capability_Bound_Error)
+ (Capability_Permission_Error, Capability_Sealed_Error)
+ (Capability_Tag_Error): New, define CHERI exception types.
+
+2023-09-26 Ronan Desplanques <desplanques@adacore.com>
+
+ * exp_prag.adb: Make minor corrections in comments.
+ * rtsfind.ads: Remove unused element from RTU_Id definition.
+
+2023-09-26 Derek Schacht <schacht@adacore.com>
+
+ * doc/gnat_ugn/gnat_and_program_execution.rst: Add more details on
+ using Generic Elementary Functions with dimensional analysis.
+ * gnat_ugn.texi: Regenerate.
+
+2023-09-26 Yannick Moy <moy@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Case_Statement): Reference both sections
+ of the Ada RM that deal with case statements and case expressions
+ to justify the insertion of a runtime check.
+
+2023-09-19 Richard Wai <richard@annexi-strayline.com>
+
+ * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Expanded comments
+ explaining why TSS Finalize_Address is not generated for
+ concurrent class-wide types.
+ * exp_ch7.adb (Make_Finalize_Address_Stmts): Handle cases where the
+ underlying non-constrained parent type is a concurrent type, and
+ adjust the designated type to be the corresponding record’s
+ class-wide type.
+
+2023-09-19 Richard Wai <richard@annexi-strayline.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Treat presence of
+ keyword "synchronized" the same as "limited" when determining if a
+ private extension is limited.
+
+2023-09-19 Marc Poulhiès <poulhies@adacore.com>
+
+ * gcc-interface/utils.cc (max_value): New.
+ * gcc-interface/gigi.h (max_value): New.
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Subtype>:
+ When computing gnu_min/gnu_max, try to use max_value if there is
+ an initial expression.
+
+2023-09-19 Javier Miranda <miranda@adacore.com>
+
+ * contracts.adb
+ (Has_Public_Visibility_Of_Subprogram): Add missing support for
+ child subprograms.
+
+2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.cc (finish_record_type): Round the size in
+ the padding case as well.
+
+2023-09-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Don't build aggregate code
+ for null array aggregates.
+ * sem_aggr.adb (Resolve_Array_Aggregate): Don't examine formatting
+ of a null array aggregate.
+
+2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Expand_Inlined_Call): In the case of a function call
+ that returns an unconstrained type and initializes an object, set
+ the No_Initialization flag on the new declaration of the object.
+
+2023-09-15 Patrick Bernardi <bernardi@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Do not perform
+ local-exception-to- goto optimization on barrier functions.
+ * exp_ch9.adb (Expand_Entry_Barrier): Simplify the if statement
+ around the simple barrier optimization and remove an old, no
+ longer relevant comment.
+
+2023-09-15 Patrick Bernardi <bernardi@adacore.com>
+
+ * bindgen.adb (Gen_Adainit): Generate restrictions when standard
+ library is suppressed.
+ (Gen_Output_File_Ada): Ditto.
+ (Gen_Restrictions): Ditto.
+
+2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return false
+ for a small component of a record type with a variant part.
+
+2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Assignments): In the case of a
+ component association, call Is_Container_Aggregate on the parent's
+ parent.
+ (Expand_Array_Aggregate): Likewise.
+
+2023-09-15 Kévin Le Gouguec <legouguec@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Remove
+ extended discussion regarding mold run-time dependencies;
+ packaging changes in GNAT Pro have made them obsolete.
+
+2023-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Resolve_Call): When the target is an entity, do not
+ freeze it if the current scope is the inner wrapper function built
+ for an expression function with a Post or Refined_Post aspect.
+
+2023-09-15 Bob Duff <duff@adacore.com>
+ Ronan Desplanques <desplanques@adacore.com>
+
+ * atree.adb (Node_Kind_Table): Specify parameter explicitly in
+ GNAT.Table instantiations. Use fully qualified references instead
+ of relying on use clauses.
+ (Get_Field_Value): Remove special case for F_Scope_Depth_Value.
+ That is, enable the Field_Present check in that case.
+ (It was already enabled for all other fields.) Violations of this
+ check were already fixed.
+ (Print_Node_Statistics): Sort the output in decreasing order of
+ frequencies.
+ (Print_Field_Statistics): Likewise (sort).
+ * accessibility.adb (Accessibility_Level): Pass Allow_Alt_Model in
+ recursive calls. Apparently, an oversight.
+ (Innermost_Master_Scope_Depth): Need to special-case the 'Old
+ attribute and allocators.
+ * einfo-utils.ads (Scope_Depth): Use Scope_Kind_Id to get
+ predicate checks.
+ (Scope_Depth_Set): Likewise.
+ (Scope_Depth_Default_0): Likewise.
+ * einfo-utils.adb: As for spec.
+ * frontend.adb (Frontend): Remove unnecessary "return;".
+ * gen_il-types.ads (Scope_Kind): New union type.
+ * gen_il-gen-gen_entities.adb (Scope_Kind): New union type.
+ * sem.ads: Move "with Einfo.Entities;" from body to spec.
+ (Scope_Stack_Entry): Declare Entity to be of Scope_Kind_Id to get
+ predicate checks. We had previously been putting non-scopes on the
+ scope stack; this prevents such anomalies.
+ * sem.adb: Move "with Einfo.Entities;" from body to spec.
+ * sem_ch8.ads: Move "with Einfo.Entities;" from body to spec. Add
+ "with Types;".
+ (Push_Scope): Use Scope_Kind_Id to get predicate checks.
+ * sem_ch8.adb: Move "with Einfo.Entities;" from body to spec. Add
+ "with Types;".
+ (Push_Scope): Use Scope_Kind_Id to get predicate checks.
+ (Pop_Scope): Use Scope_Kind_Id on popped entity to get predicate
+ checks. This prevents anomalies where a scope pushed onto the
+ stack is later mutated to a nonscope before being popped.
+ * sem_util.ads (Find_Enclosing_Scope): Add postcondition to ensure
+ that the enclosing scope of a node N is not the same node N.
+ Clearly, N does not enclose itself.
+ * sem_util.adb (Find_Enclosing_Scope): There were several bugs
+ where Find_Enclosing_Scope(N) = N. For example, if N is an entity,
+ then we would typically go up to its declaration, and then back
+ down to the Defining_Entity of the declaration, which is N itself.
+ There were other cases where Find_Enclosing_Scope of an entity
+ disagreed with Scope. Clearly, Find_Enclosing_Scope and Scope
+ should agree (when both are defined). Such bugs caused latent bugs
+ in accessibility.adb related to 'Old, and fixing bugs here caused
+ such bugs to be revealed. These are fixed by calling Scope when N
+ is an entity.
+
+2023-09-15 Javier Miranda <miranda@adacore.com>
+
+ * accessibility.ads (Needs_Result_Accessibility_Extra_Formal):
+ Removed.
+ * accessibility.adb (Needs_Result_Accessibility_Level_Param):
+ Removed.
+ (Needs_Result_Accessibility_Extra_Formal): Removed.
+ (Needs_Result_Accessibility_Level): Revert previous patch.
+ * sem_ch6.adb (Parent_Subprogram): Handle function overriding an
+ enumeration literal.
+ (Create_Extra_Formals): Ensure that the parent subprogram has all
+ its extra formals.
+
+2023-09-14 Yannick Moy <moy@adacore.com>
+
+ * exp_util.adb (Is_Statically_Disabled): New function to detect a
+ "statically disabled condition which evaluates to a given value",
+ as described in SPARK UG 7.3.2.
+ (Kill_Dead_Code): Call the new function Is_Statically_Disabled for
+ conditions of if statements.
+ * exp_util.ads (Is_Statically_Disabled): New function spec.
+
+2023-09-14 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Process_Record_Component): Adjust assertion on the
+ availablity of the invariant procedure; required because the
+ invariant procedure is built by the expander, and hence it is not
+ available compiling generic units or when the sources have errors,
+ since expansion is then disabled.
+
+2023-09-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Large_Max_Size_Mutable): Protect access to
+ attribute Is_Array_Type.
+
+2023-09-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Protect
+ access to Entity attribute and add missing code to check function
+ selector in a prefix form call.
+
+2023-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Ctrl_Function_Call): Also do nothing for the
+ expression of a delta aggregate.
+
+2023-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Make the name
+ matching more robust.
+
+2023-09-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Parent_Subprogram): Complete assertion.
+
+2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on
+ the simple return statement.
+
+2023-09-05 Tom Tromey <tromey@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity): Set bit-packed for
+ constrained and unconstrained array types.
+ * gcc-interface/misc.cc (gnat_get_array_descr_info): Examine
+ BIT_PACKED_ARRAY_TYPE_P.
+
+2023-09-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_type.adb (Interface_Present_In_Ancestor): Remove guard against no
+ list of interfaces; fix style in comments (trailing dots).
+
+2023-09-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_type.adb (Iface_Present_In_Ancestor): Only look at the list of
+ interfaces for types that allow it. The guard is a high-level equivalent
+ of the entity kinds listed in the preconditon of the Interfaces query.
+
+2023-09-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_type.adb (Iface_Present_In_Ancestor): Remove guard for empty list
+ of interfaces; the following loop will work just fine without it.
+
+2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch9.adb (Build_Protected_Entry): Move the At_End procedure
+ from the entry body to the inner block statement.
+
+2023-09-05 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb (Find_Component_In_Instance): Check that
+ Declaration_Node (Par) is not Empty, as it is for itypes.
+
+2023-09-05 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch7.adb (Analyze_Package_Declaration): Restrict calls to
+ `Sem_Warn.Check_References` and adjust comment accordingly.
+
+2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Enumeration_Type): Give an error on a type with
+ both representation clause and too large size.
+
+2023-09-05 Liaiss Merzougue <merzougue@adacore.com>
+
+ * libgnat/s-imguti.adb: Remove comment.
+
+2023-09-05 Javier Miranda <miranda@adacore.com>
+
+ * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): New
+ subprogram.
+ * accessibility.adb (Needs_Result_Accessibility_Level_Param): New
+ subprogram.
+ (Needs_Result_Accessibility_Extra_Formal): New subprogram,
+ temporarily keep the previous behavior of the frontend.
+ * sem_ch6.adb (Create_Extra_Formals): Replace occurrences of
+ function Needs_Result_Accessibility_Level_Param by calls to
+ function Needs_Result_Accessibility_Extra_Formal.
+ (Extra_Formals_OK): Ditto.
+
+2023-09-05 Alexandre Oliva <oliva@adacore.com>
+
+ * libgnat/system-vxworks-ppc-rtp-smp.ads: Add -msmp to
+ Linker_Options pragma.
+
+2023-09-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Expand_Container_Aggregate): Report warning on
+ infinite recursion if an empty container aggregate appears in the
+ return statement of its Empty function. Fix typo in comment.
+ * sem_aggr.adb (Resolve_Aggregate): Resolve Ada 2022 empty
+ aggregate that initializes a record type that has defined its
+ container aggregate aspects.
+ (Resolve_Iterated_Association): Protect access to attribute Etype.
+ * sem_ch13.adb (Resolve_Aspect_Aggregate): Fix typo in comment.
+
+2023-09-05 Steve Baird <baird@adacore.com>
+
+ * sem_attr.adb (Denote_Same_Function): Handle the case where
+ Has_Homonym (Pref_Id) returns True but Homonym (Pref_Id) returns
+ an empty result.
+
+2023-09-05 Steve Baird <baird@adacore.com>
+
+ * sem_res.adb (Resolve_Unary_Op): In deciding whether to emit a
+ warning about a modular type's unary minus operator being applied
+ to an integer literal, ignore integer literals for which
+ Comes_From_Source is False.
+
+2023-09-05 Johannes Kliemann <kliemann@adacore.com>
+
+ * libgnarl/s-taprop__qnx.adb: Implement Set_Task_Affinity.
+
+2023-09-05 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
+ index.
+ * gnat_ugn.texi: Regenerate.
+
+2023-09-05 Daniel King <dmking@adacore.com>
+
+ * libgnat/s-carsi8.adb: Use operations from
+ System.Storage_Elements for address arithmetic.
+ * libgnat/s-carun8.adb: Likewise
+ * libgnat/s-casi128.adb: Likewise
+ * libgnat/s-casi16.adb: Likewise
+ * libgnat/s-casi32.adb: Likewise
+ * libgnat/s-casi64.adb: Likewise
+ * libgnat/s-caun128.adb: Likewise
+ * libgnat/s-caun16.adb: Likewise
+ * libgnat/s-caun32.adb: Likewise
+ * libgnat/s-caun64.adb: Likewise
+ * libgnat/s-geveop.adb: Likewise
+
+2023-09-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Component_Type_For_Private_View): New function.
+ (Check_Generic_Actuals): For an actual type parameter, also check
+ its component type if it is an array type.
+ (Check_Private_View): Use Component_Type_For_Private_View in the
+ case of an array type.
+ (Instantiate_Type): Likewise.
+ (Save_Global_References.Set_Global_Type): Likewise.
+
+2023-09-05 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/s-aridou.adb: Add pragma to exempt Metrics_LSLOC.
+ (Double_Divide): Add pragma to exempt
+ Metrics_Cyclomatic_Complexity.
+ (Scaled_Divide): Likewise.
+ * libgnat/s-vauspe.ads (Uns_Option): Add pragma to exempt
+ Discriminated_Records.
+
+2023-09-05 Ronan Desplanques <desplanques@adacore.com>
+
+ * Makefile.rtl: Add missing units.
+
+2023-09-05 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnarl/a-reatim.adb (Time_Of): Add pragma to exempt
+ Discriminated_Records.
+ * libgnat/s-imguti.adb (Round, Set_Decimal_Digits): Likewise.
+ * libgnat/s-multip.adb (Number_Of_CPUs): Likewise.
+ * libgnarl/s-tpopsp__posix-foreign.adb (Self): Refactor multiple
+ returns.
+
+2023-09-05 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Add missing
+ subtype-conformance check on primitives implementing interface
+ primitives.
+ (Error_Posted_In_Formals): New subprogram.
+
+2023-09-05 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnarl/s-tassta.adb: Tweak comment.
+
+2023-09-05 Yang Yujie <yangyujie@loongson.cn>
+
+ * Makefile.rtl: Add LoongArch support.
+ * libgnarl/s-linux__loongarch.ads: New file.
+ * libgnat/system-linux-loongarch.ads: New file.
+
+2023-08-07 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/s-parame__qnx.adb: Refactor multiple returns.
+
+2023-08-07 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/i-cstrin.ads (Value): Extend preconditions; adapt comment for
+ the package.
+
+2023-08-07 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Always call Cannot_Inline so that
+ subprogram called is marked as not always inlined.
+
+2023-08-07 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): Do not warn on conversion
+ to class-wide type on internally build helpers of class-wide
+ preconditions.
+
+2023-08-03 Sheri Bernstein <bernstein@adacore.com>
+
+ * libgnat/s-aridou.adb: Add pragma to exempt Improper_Returns.
+ * libgnat/s-atopri.adb (Lock_Free_Try_Write): Likewise.
+ * libgnat/s-bitops.adb (Bit_Eq): Likewise.
+ * libgnat/s-carsi8.adb: Likewise.
+ * libgnat/s-carun8.adb: Likewise.
+ * libgnat/s-casi16.adb: Likewise.
+ * libgnat/s-casi32.adb: Likewise.
+ * libgnat/s-casi64.adb: Likewise.
+ * libgnat/s-caun16.adb: Likewise.
+ * libgnat/s-caun32.adb: Likewise.
+ * libgnat/s-caun64.adb: Likewise.
+ * libgnat/s-exponn.adb: Likewise.
+ * libgnat/s-expont.adb: Likewise.
+ * libgnat/s-valspe.adb: Likewise.
+ * libgnat/s-vauspe.adb: Likewise.
+
+2023-08-03 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * libgnat/s-imageb.adb (Set_Image_Based_Unsigned): Rewritten.
+ * libgnat/s-imagew.adb (Set_Image_Width_Unsigned): Likewise.
+
+2023-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Make_Invariant_Call): Convert the expression to
+ the type of the formal parameter if need be.
+
+2023-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/s-dwalin.adb ("-"): New subtraction operator.
+ (Enable_Cache): Use it to compute the offset.
+ (Symbolic_Address): Likewise.
+
+2023-08-01 Yannick Moy <moy@adacore.com>
+
+ * repinfo.adb (Compute_Max_Length): Set parameter to print number
+ in decimal notation.
+ (List_Component_Layout): Same.
+
+2023-08-01 Yannick Moy <moy@adacore.com>
+
+ * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check for
+ Skip_Proof and Skip_Flow_And_Proof annotations for deciding
+ whether a subprogram can be inlined.
+
+2023-08-01 Steve Baird <baird@adacore.com>
+
+ * sem_ch3.adb (Constrain_Corresponding_Record): When copying
+ information from the unconstrained record type to a newly
+ constructed constrained record subtype, the
+ Direct_Primitive_Operations attribute must be copied.
+
+2023-08-01 Steve Baird <baird@adacore.com>
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Remove
+ Build_Default_Subtype_OK call and code that could only executed in
+ the case where the removed call would have returned True. Other
+ calls to Build_Default_Subtype_Ok are unaffected by this change.
+
+2023-08-01 Pascal Obry <obry@adacore.com>
+
+ * aspects.ads (Find_Aspect): Add Boolean parameter Or_Rep_Item
+ (defaulted to False).
+ * aspects.adb (Find_Aspect): If new Boolean parameter Or_Rep_Item
+ is True, then instead of returning an empty result if no
+ appropriate N_Aspect_Specification node is found, return an
+ appropriate N_Attribute_Definition_Clause if one is found.
+ * exp_put_image.ads: Change name of Enable_Put_Image function to
+ Put_Image_Enabled.
+ * exp_put_image.adb (Build_Record_Put_Image_Procedure): Detect the
+ case where a call to the Put_Image procedure of a derived type can
+ be transformed into a call to the parent type's Put_Image
+ procedure (with a type conversion to the parent type as the actual
+ parameter).
+ (Put_Image_Enabled): Change name of function (previously
+ Enable_Put_Image). Return True in more cases. In particular,
+ return True for a type with an explicitly specified Put_Image
+ aspect even if the type is declared in a predefined unit (or in an
+ instance of a predefined generic unit).
+ * exp_attr.adb: Changes due to Put_Image_Enabled function name
+ change.
+
+2023-08-01 Yannick Moy <moy@adacore.com>
+
+ * repinfo.adb (List_Common_Type_Info): Fix output when alignment
+ is not statically known, and fix assertion when expansion is not
+ enabled.
+
+2023-08-01 Bob Duff <duff@adacore.com>
+
+ * atree.adb (Field_Present): New function to detect whether or not
+ a given field is present in a given node, based on either the node
+ kind or the entity kind as appropriate.
+ (Get_Field_Value): Check that the field begin fetched exists.
+ However, disable the check in the case of Scope_Depth_Value,
+ because we have failures in that case. Those failures need to be
+ fixed, and then the check can be enabled for all fields.
+ (Set_Field_Value): Check that the field begin set exists.
+
+2023-08-01 Léo Creuse <creuse@adacore.com>
+
+ * par_sco.adb (Process_Decisions): Traverse all attributes of
+ quantified expressions nodes.
+
+2023-07-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_to_gnu): Restrict previous change to
+ the case where the simple return statement has got no storage pool.
+
+2023-07-28 Clément Chigot <chigot@adacore.com>
+
+ * libgnarl/s-inmaop__posix.adb: Add assert after sigwait in
+ Interrupt_Wait
+
+2023-07-28 Javier Miranda <miranda@adacore.com>
+
+ * einfo-utils.adb (Underlying_Type): Protect recursion call
+ against non-available attribute Etype.
+ * einfo.ads (Protected_Subprogram): Fix typo in documentation.
+ * exp_ch3.adb (BIP_Function_Call_Id): New subprogram.
+ (Expand_N_Object_Declaration): Improve code that evaluates if the
+ object is initialized with a BIP function call.
+ * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): New
+ subprogram.
+ (Add_Task_Actuals_To_Build_In_Place_Call): Add dummy actuals if
+ the function does not require the BIP task actuals but it is a
+ dispatching operation that inherited them.
+ (Build_In_Place_Formal): Improve code to avoid never-ending loop
+ if the BIP formal is not found.
+ (Add_Dummy_Build_In_Place_Actuals): New subprogram.
+ (Expand_Call_Helper): Add calls to
+ Add_Dummy_Build_In_Place_Actuals.
+ (Expand_N_Extended_Return_Statement): Adjust assertion.
+ (Expand_Simple_Function_Return): Adjust assertion.
+ (Make_Build_In_Place_Call_In_Allocator): No action needed if the
+ called function inherited the BIP extra formals but it is not a
+ true BIP function.
+ (Make_Build_In_Place_Call_In_Assignment): Ditto.
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove code
+ reporting unsupported case (since this patch adds support for it).
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Adding assertion
+ to ensure matching of BIP formals when setting the
+ Protected_Formal field of a protected subprogram to reference the
+ corresponding extra formal of the subprogram that implements it.
+ (Might_Need_BIP_Task_Actuals): New subprogram.
+ (Create_Extra_Formals): Improve code adding inherited extra
+ formals.
+
+2023-07-28 Pascal Obry <obry@adacore.com>
+
+ * s-oscons-tmplt.c: Add support for SO_BINDTODEVICE constant.
+ * libgnat/g-socket.ads (Set_Socket_Option): Handle SO_BINDTODEVICE option.
+ (Get_Socket_Option): Handle SO_BINDTODEVICE option.
+ * libgnat/g-socket.adb: Likewise.
+ (Get_Socket_Option): Handle the case where IF_NAMESIZE is not defined
+ and so equal to -1.
+
+2023-07-28 Léo Creuse <creuse@adacore.com>
+
+ * par_sco.adb (Has_Decision): Consider that quantified expressions
+ contain decisions.
+
+2023-07-28 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnarl/s-tposen.adb: Fix race condition. Add comment to justify
+ the locking timing.
+
+2023-07-28 Viljar Indus <indus@adacore.com>
+
+ * exp_util.adb (Find_Optional_Prim_Op): use "No" instead of "= Empty"
+
+2023-07-28 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Add guard for the call to
+ Class_Preconditions_Subprogram.
+
+2023-07-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Is_Two_Dim_Packed_Array): Return true only if the
+ component type of the array is scalar.
+
+2023-07-28 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch6.adb (Check_Statement_Sequence): Only warn about missing return
+ statements and let GNATprove emit a check when needed.
+
+2023-07-28 Tom Tromey <tromey@adacore.com>
+
+ * fe.h (Convention): Now inline function.
+ * gen_il-gen.adb (Put_C_Type_And_Subtypes.Put_Enum_Lit)
+ (Put_C_Type_And_Subtypes.Put_Kind_Subtype, Put_C_Getter):
+ Emit enum.
+ * snames.h-tmpl (Name_Id, Name_, Attribute_Id, Attribute_)
+ (Convention_Id, Convention_, Pragma_Id, Pragma_): Now enum.
+ (Get_Attribute_Id, Get_Pragma_Id): Now inline functions.
+ * types.h (Node_Kind, Entity_Kind, Convention_Id, Name_Id):
+ Now enum.
+ * xsnamest.adb (Output_Header_Line, Make_Value): Emit enum.
+
+2023-07-28 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/a-except.ads (Save_Occurrence): Fix typo.
+
+2023-07-28 Piotr Trojanek <trojanek@adacore.com>
+
+ * einfo-utils.adb (Number_Formals): Change types in body.
+ * einfo-utils.ads (Number_Formals): Change type in spec.
+ * einfo.ads (Number_Formals): Change type in comment.
+ * sem_ch13.adb (Is_Property_Function): Fix style in a caller of
+ Number_Formals that was likely to crash because of missing guards.
+
+2023-07-28 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_warn.adb (Check_Infinite_Loop_Warning): Don't look at the type of
+ actual parameter when it has no type at all, e.g. because the entire
+ subprogram call is illegal.
+
+2023-07-18 Tom Tromey <tromey@adacore.com>
+
+ * gcc-interface/decl.cc (check_ok_for_atomic_type): Use Pragma_Id.
+ * gcc-interface/trans.cc (lvalue_required_p, Pragma_to_gnu): Use
+ Pragma_Id.
+ (get_type_length, Attribute_to_gnu, get_atomic_access): Use
+ Attribute_Id.
+
+2023-07-18 Javier Miranda <miranda@adacore.com>
+
+ * exp_imgv.adb (Rewrite_Object_Image): fix type of formal. Found
+ reading sources.
+ (Expand_Wide_Image_Attribute): ditto.
+ (Expand_Wide_Wide_Image_Attribute): ditto.
+ (Rewrite_Object_Image): ditto.
+ * exp_put_image.adb (Build_Image_Call): For class-wide interface
+ type prefix generate code to displace the pointer to the object to
+ reference the base of the underlying object.
+
+2023-07-18 Viljar Indus <indus@adacore.com>
+
+ * sem_aggr.adb (Resolve_Iterated_Association): Add temporary scope
+ when analyzing the Iterator Specification. Use preanalysis instead
+ of Analysis to avoid polluting the tree.
+
+2023-07-18 Viljar Indus <indus@adacore.com>
+
+ * sem_aggr.adb (Resolve_Iterated_Association): Use the element
+ type for the iterator in a container aggregate with an iterator
+ specification.
+
+2023-07-18 Viljar Indus <indus@adacore.com>
+
+ * exp_aggr.adb (Expand_Container_Aggregate): Use the positional
+ addition method only when dealing with a container aggregate
+ without an Iterator Specification e.g. with a loop parameter
+ specification
+
+2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.ads (Wrong_Type): Add Multiple parameter defaulting to
+ False and document it.
+ * sem_util.adb (Wrong_Type): Do not return early if an error has
+ already been posted on Expr and Multiple is True.
+ * sem_ch4.adb (Analyze_One_Call): Pass All_Errors_Mode as the
+ actual parameter for Multiple to Wrong_Type.
+
+2023-07-18 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Has_Dispatching_Constructor_Call): Removed.
+ (Expand_Interface_Conversion): Reverse patch.
+
+2023-07-18 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnarl/s-taprop__linux.adb (Set_Task_Affinity, Create_Task): Tweak
+ handling of CPU affinities.
+
+2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_type.ads (Is_Ancestor): Remove mention of tagged type.
+ * exp_aggr.adb: Add with and use clauses for Sem_Type.
+ (Build_Record_Aggr_Code.Replace_Type): Call Is_Ancestor to spot
+ self-references to the type of the aggregate.
+ * sem_aggr.adb (Resolve_Record_Aggregate.Add_Discriminant_Values):
+ Likewise.
+
+2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component):
+ In the case of private discriminated types, explicitly check that we
+ have a private declaration before examining its discriminant part.
+
+2023-07-18 Alexandre Oliva <oliva@adacore.com>
+
+ * libgnat/a-except.ads (Raise_Exception): Mark expected_throw.
+ (Reraise_Occurrence): Likewise.
+ (Raise_Exception_Always): Likewise.
+ (Raise_From_Controlled_Operation): Likewise.
+ (Reraise_Occurrence_Always): Likewise.
+ (Reraise_Occurrence_No_Defer): Likewise.
+ * libgnat/a-except.adb
+ (Exception_Propagation.Propagate_Exception): Likewise.
+ (Complete_And_Propagate_Occurrence): Likewise.
+ (Raise_Exception_No_Defer): Likewise.
+ (Raise_From_Signal_Handler): Likewise.
+ (Raise_With_Msg): Likewise.
+ (Raise_With_Location_And_Msg): Likewise.
+ (Raise_Constraint_Error): Likewise.
+ (Raise_Constraint_Error_Msg): Likewise.
+ (Raise_Program_Error): Likewise.
+ (Raise_Program_Error_Msg): Likewise.
+ (Raise_Storage_Error): Likewise.
+ (Raise_Storage_Error_Msg): Likewise.
+ (Reraise, Rcheck_*): Likewise.
+ * doc/gnat_rm/security_hardening_features.rst (Control Flow
+ Hardening): Note the influence of expected_throw.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+ * gcc-interface/utils.cc (handle_expected_throw_attribute): New.
+ (gnat_internal_attribute_table): Add expected_throw.
+
+2023-07-18 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * libgnat/s-pack03.adb: Update copyright year; refactor return statements.
+ * libgnat/s-pack05.adb: Likewise.
+ * libgnat/s-pack06.adb: Likewise.
+ * libgnat/s-pack07.adb: Likewise.
+ * libgnat/s-pack09.adb: Likewise.
+ * libgnat/s-pack10.adb: Likewise.
+ * libgnat/s-pack100.adb: Likewise.
+ * libgnat/s-pack101.adb: Likewise.
+ * libgnat/s-pack102.adb: Likewise.
+ * libgnat/s-pack103.adb: Likewise.
+ * libgnat/s-pack104.adb: Likewise.
+ * libgnat/s-pack105.adb: Likewise.
+ * libgnat/s-pack106.adb: Likewise.
+ * libgnat/s-pack107.adb: Likewise.
+ * libgnat/s-pack108.adb: Likewise.
+ * libgnat/s-pack109.adb: Likewise.
+ * libgnat/s-pack11.adb: Likewise.
+ * libgnat/s-pack110.adb: Likewise.
+ * libgnat/s-pack111.adb: Likewise.
+ * libgnat/s-pack112.adb: Likewise.
+ * libgnat/s-pack113.adb: Likewise.
+ * libgnat/s-pack114.adb: Likewise.
+ * libgnat/s-pack115.adb: Likewise.
+ * libgnat/s-pack116.adb: Likewise.
+ * libgnat/s-pack117.adb: Likewise.
+ * libgnat/s-pack118.adb: Likewise.
+ * libgnat/s-pack119.adb: Likewise.
+ * libgnat/s-pack12.adb: Likewise.
+ * libgnat/s-pack120.adb: Likewise.
+ * libgnat/s-pack121.adb: Likewise.
+ * libgnat/s-pack122.adb: Likewise.
+ * libgnat/s-pack123.adb: Likewise.
+ * libgnat/s-pack124.adb: Likewise.
+ * libgnat/s-pack125.adb: Likewise.
+ * libgnat/s-pack126.adb: Likewise.
+ * libgnat/s-pack127.adb: Likewise.
+ * libgnat/s-pack13.adb: Likewise.
+ * libgnat/s-pack14.adb: Likewise.
+ * libgnat/s-pack15.adb: Likewise.
+ * libgnat/s-pack17.adb: Likewise.
+ * libgnat/s-pack18.adb: Likewise.
+ * libgnat/s-pack19.adb: Likewise.
+ * libgnat/s-pack20.adb: Likewise.
+ * libgnat/s-pack21.adb: Likewise.
+ * libgnat/s-pack22.adb: Likewise.
+ * libgnat/s-pack23.adb: Likewise.
+ * libgnat/s-pack24.adb: Likewise.
+ * libgnat/s-pack25.adb: Likewise.
+ * libgnat/s-pack26.adb: Likewise.
+ * libgnat/s-pack27.adb: Likewise.
+ * libgnat/s-pack28.adb: Likewise.
+ * libgnat/s-pack29.adb: Likewise.
+ * libgnat/s-pack30.adb: Likewise.
+ * libgnat/s-pack31.adb: Likewise.
+ * libgnat/s-pack33.adb: Likewise.
+ * libgnat/s-pack34.adb: Likewise.
+ * libgnat/s-pack35.adb: Likewise.
+ * libgnat/s-pack36.adb: Likewise.
+ * libgnat/s-pack37.adb: Likewise.
+ * libgnat/s-pack38.adb: Likewise.
+ * libgnat/s-pack39.adb: Likewise.
+ * libgnat/s-pack40.adb: Likewise.
+ * libgnat/s-pack41.adb: Likewise.
+ * libgnat/s-pack42.adb: Likewise.
+ * libgnat/s-pack43.adb: Likewise.
+ * libgnat/s-pack44.adb: Likewise.
+ * libgnat/s-pack45.adb: Likewise.
+ * libgnat/s-pack46.adb: Likewise.
+ * libgnat/s-pack47.adb: Likewise.
+ * libgnat/s-pack48.adb: Likewise.
+ * libgnat/s-pack49.adb: Likewise.
+ * libgnat/s-pack50.adb: Likewise.
+ * libgnat/s-pack51.adb: Likewise.
+ * libgnat/s-pack52.adb: Likewise.
+ * libgnat/s-pack53.adb: Likewise.
+ * libgnat/s-pack54.adb: Likewise.
+ * libgnat/s-pack55.adb: Likewise.
+ * libgnat/s-pack56.adb: Likewise.
+ * libgnat/s-pack57.adb: Likewise.
+ * libgnat/s-pack58.adb: Likewise.
+ * libgnat/s-pack59.adb: Likewise.
+ * libgnat/s-pack60.adb: Likewise.
+ * libgnat/s-pack61.adb: Likewise.
+ * libgnat/s-pack62.adb: Likewise.
+ * libgnat/s-pack63.adb: Likewise.
+ * libgnat/s-pack65.adb: Likewise.
+ * libgnat/s-pack66.adb: Likewise.
+ * libgnat/s-pack67.adb: Likewise.
+ * libgnat/s-pack68.adb: Likewise.
+ * libgnat/s-pack69.adb: Likewise.
+ * libgnat/s-pack70.adb: Likewise.
+ * libgnat/s-pack71.adb: Likewise.
+ * libgnat/s-pack72.adb: Likewise.
+ * libgnat/s-pack73.adb: Likewise.
+ * libgnat/s-pack74.adb: Likewise.
+ * libgnat/s-pack75.adb: Likewise.
+ * libgnat/s-pack76.adb: Likewise.
+ * libgnat/s-pack77.adb: Likewise.
+ * libgnat/s-pack78.adb: Likewise.
+ * libgnat/s-pack79.adb: Likewise.
+ * libgnat/s-pack80.adb: Likewise.
+ * libgnat/s-pack81.adb: Likewise.
+ * libgnat/s-pack82.adb: Likewise.
+ * libgnat/s-pack83.adb: Likewise.
+ * libgnat/s-pack84.adb: Likewise.
+ * libgnat/s-pack85.adb: Likewise.
+ * libgnat/s-pack86.adb: Likewise.
+ * libgnat/s-pack87.adb: Likewise.
+ * libgnat/s-pack88.adb: Likewise.
+ * libgnat/s-pack89.adb: Likewise.
+ * libgnat/s-pack90.adb: Likewise.
+ * libgnat/s-pack91.adb: Likewise.
+ * libgnat/s-pack92.adb: Likewise.
+ * libgnat/s-pack93.adb: Likewise.
+ * libgnat/s-pack94.adb: Likewise.
+ * libgnat/s-pack95.adb: Likewise.
+ * libgnat/s-pack96.adb: Likewise.
+ * libgnat/s-pack97.adb: Likewise.
+ * libgnat/s-pack98.adb: Likewise.
+ * libgnat/s-pack99.adb: Likewise.
+
+2023-07-18 Yannick Moy <moy@adacore.com>
+
+ * errout.adb (Error_Msg_Internal): Remove call to
+ Prescan_Message on the special continuation for the explain code
+ command, as this does not play well with the setting of global
+ variables for the message (like its status as a warning or not).
+ Instead, set directly the global variables regarding content of
+ the message in terms of special characters.
+
+2023-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.ads (Validated_View): Document enhanced behavior.
+ * sem_util.adb (Validated_View): Return the nonlimited view, if any,
+ of types coming from a limited with.
+
+2023-07-11 Bob Duff <duff@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Avoid transforming to
+ a renaming in case of constrained array that comes from source.
+
+2023-07-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component):
+ In the case of private discriminated types, return a discriminant
+ only if it is listed in the discriminant part of the declaration.
+
+2023-07-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * adaint.c [_WIN32]: Undefine 'abort' macro.
+
+2023-07-10 Tom Tromey <tromey@adacore.com>
+
+ * snames.h-tmpl (Name_Id, Attribute_Id, Convention_Id)
+ (Pragma_Id): New typedefs.
+ (Get_Attribute_Id, Get_Pragma_Id): Use typedef.
+
+2023-07-10 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-aridou.adb (Lemma_Powers_Of_2_Commutation): Rewrite
+ assertion.
+
+2023-07-10 Bob Duff <duff@adacore.com>
+
+ * doc/gnat_rm/gnat_language_extensions.rst
+ (Local Declarations Without Block): Document the feature very
+ briefly, and refer the reader to the RFC for details and examples.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-07-10 Alexandre Oliva <oliva@adacore.com>
+
+ * doc/gnat_rm/security_hardening_features.rst (Control Flow
+ Hardening): Document -fhardcfr-skip-leaf.
+ * gnat_rm.texi: Regenerate.
+
+2023-07-10 Alexandre Oliva <oliva@adacore.com>
+
+ * doc/gnat_rm/security_hardening_features.rst (Control Flow
+ Redundancy): Add -fhardcfr-check-noreturn-calls=no-xthrow.
+ * gnat_rm.texi: Regenerate.
+
+2023-07-10 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-aridou.adb (Lemma_Div_Mult): New simple lemma.
+ (Lemma_Powers_Of_2_Commutation): State post in else branch.
+ (Lemma_Div_Pow2): Introduce local lemma and use it.
+ (Scaled_Divide): Use cut operations in assertions, lemmas, new
+ assertions. Introduce local lemma and use it.
+
+2023-07-10 Alexandre Oliva <oliva@adacore.com>
+
+ * doc/gnat_rm/security_hardening_features.rst (Register
+ Scrubbing): Document leafy mode.
+ * gnat_rm.texi: Regenerate.
+
+2023-07-06 Claire Dross <dross@adacore.com>
+
+ * gcc-interface/Make-lang.in: Add object files of specification
+ files.
+
+2023-07-06 Claire Dross <dross@adacore.com>
+
+ * libgnat/s-vs_int.ads: Instance of Value_I_Spec for Integer.
+ * libgnat/s-vs_lli.ads: Instance of Value_I_Spec for
+ Long_Long_Integer.
+ * libgnat/s-vsllli.ads: Instance of Value_I_Spec for
+ Long_Long_Long_Integer.
+ * libgnat/s-vs_uns.ads: Instance of Value_U_Spec for Unsigned.
+ * libgnat/s-vs_llu.ads: Instance of Value_U_Spec for
+ Long_Long_Unsigned.
+ * libgnat/s-vslllu.ads: Instance of Value_U_Spec for
+ Long_Long_Long_Unsigned.
+ * libgnat/s-imagei.ads: Take instances of Value_*_Spec as
+ parameters.
+ * libgnat/s-imagei.adb: Idem.
+ * libgnat/s-imageu.ads: Idem.
+ * libgnat/s-imageu.adb: Idem.
+ * libgnat/s-valuei.ads: Idem.
+ * libgnat/s-valuei.adb: Idem.
+ * libgnat/s-valueu.ads: Idem.
+ * libgnat/s-valueu.adb: Idem.
+ * libgnat/s-imgint.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-imglli.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-imgllli.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-imglllu.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-imgllu.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-imguns.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-valint.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-vallli.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-valllli.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-vallllu.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-valllu.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-valuns.ads: Adapt instance to new ghost parameters.
+ * libgnat/s-vaispe.ads: Take instance of Value_U_Spec as parameter
+ and remove unused declaration.
+ * libgnat/s-vaispe.adb: Idem.
+ * libgnat/s-vauspe.ads: Remove unused declaration.
+ * libgnat/s-valspe.ads: Factor out the specification part of
+ Val_Util.
+ * libgnat/s-valspe.adb: Idem.
+ * libgnat/s-valuti.ads: Move specification to Val_Spec.
+ * libgnat/s-valuti.adb: Idem.
+ * libgnat/s-valboo.ads: Use Val_Spec.
+ * libgnat/s-valboo.adb: Idem.
+ * libgnat/s-imgboo.adb: Idem.
+ * libgnat/s-imagef.adb: Adapt instances to new ghost parameters.
+ * Makefile.rtl: List new files.
+
+2023-07-06 Viljar Indus <indus@adacore.com>
+
+ * sem_attr.adb (analyze_attribute.check_array_type): Replace valid
+ indexes with their staticly evaluated values.
+
+2023-07-06 Viljar Indus <indus@adacore.com>
+
+ * doc/gnat_ugn/the_gnat_compilation_model.rst: Reference "Binding
+ with Non-Ada Main Programs" from "Creating a Stand-alone Library
+ to be used in a non-Ada context".
+ * gnat_ugn.texi: Regenerate.
+
+2023-07-06 Viljar Indus <indus@adacore.com>
+
+ * sem_util.adb (Is_Fully_Initialized_Type): Avoid recalculating
+ the underlying type twice.
+
+2023-07-06 Viljar Indus <indus@adacore.com>
+
+ * exp_util.adb (Find_Optional_Prim_Op): Stop deriving primitive
+ operation if there is no underlying type to derive it from.
+
+2023-07-06 Yannick Moy <moy@adacore.com>
+
+ * errout.ads: Add explain code.
+ * sem_prag.adb (Check_Library_Level_Entity): Refine error message
+ and add explain code.
+
+2023-07-06 Steve Baird <baird@adacore.com>
+
+ * exp_ch7.adb (Make_Final_Call): Add assertion that if no
+ finalization call is generated, then the type of the object being
+ finalized does not require finalization.
+ * freeze.adb (Freeze_Entity): If freezing an already-frozen
+ subtype, do not assume that nothing needs to be done. In the case
+ of a frozen subtype of a non-frozen type or subtype (which is
+ possible), freeze the non-frozen entity.
+
+2023-07-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): Adjust comment above the
+ calls to Possible_Bit_Aligned_Component on the LHS and RHS. Do not
+ call Is_Possibly_Unaligned_Slice in the slice case.
+ * exp_util.ads (Component_May_Be_Bit_Aligned): Add For_Slice
+ boolean parameter.
+ (Possible_Bit_Aligned_Component): Likewise.
+ * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return False
+ for the slice of a small record or bit-packed array component.
+ (Possible_Bit_Aligned_Component): Pass For_Slice in recursive
+ calls, except in the slice case where True is passed, as well as
+ in call to Component_May_Be_Bit_Aligned.
+
+2023-07-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.ads (Expand_Unchecked_Union_Equality): Only take a
+ single parameter.
+ * exp_ch4.adb (Expand_Unchecked_Union_Equality): Add guard against
+ repeated invocation on the same node.
+ * exp_ch6.adb (Expand_Call): Only pass a single actual parameter
+ in the call to Expand_Unchecked_Union_Equality.
+
+2023-07-04 Viljar Indus <indus@adacore.com>
+
+ * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+ add No_Use_Of_Attribute & No_Use_Of_Pragma restrictions.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-07-04 Yannick Moy <moy@adacore.com>
+
+ * sem_disp.adb (Inherited_Subprograms): Add parameter to filter
+ out results.
+ * sem_disp.ads: Likewise.
+
+2023-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.ads (Build_Variant_Record_Equality): Add Spec_Id as second
+ parameter.
+ * exp_ch3.adb (Build_Variant_Record_Equality): For unchecked union
+ types, build the additional parameters as extra formal parameters.
+ (Expand_Freeze_Record_Type.Build_Variant_Record_Equality): Pass
+ Empty as Spec_Id in call to Build_Variant_Record_Equality.
+ * exp_ch4.ads (Expand_Unchecked_Union_Equality): New procedure.
+ * exp_ch4.adb (Expand_Composite_Equality): In the presence of a
+ function implementing composite equality, do not special case the
+ unchecked union types, and only convert the operands if the base
+ types are not the same like in Build_Equality_Call.
+ (Build_Equality_Call): Do not special case the unchecked union types
+ and relocate the operands only once.
+ (Expand_N_Op_Eq): Do not special case the unchecked union types.
+ (Expand_Unchecked_Union_Equality): New procedure implementing the
+ specific expansion of calls to the predefined equality function.
+ * exp_ch6.adb (Is_Unchecked_Union_Equality): New predicate.
+ (Expand_Call): Call Is_Unchecked_Union_Equality to determine whether
+ to call Expand_Unchecked_Union_Equality or Expand_Call_Helper.
+ * exp_ch8.adb (Build_Body_For_Renaming): Set Has_Delayed_Freeze flag
+ earlier on Id and pass Id in call to Build_Variant_Record_Equality.
+
+2023-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Build_Untagged_Equality): Rename into...
+ (Build_Untagged_Record_Equality): ...this.
+ (Expand_Freeze_Record_Type): Adjust to above renaming and invoke
+ the procedure also for discriminated types without a variant part.
+
+2023-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Has_Inferable_Discriminants): In the case of a
+ component with a per-object constraint, also return true if the
+ enclosing object is not of an unchecked union type.
+ In the default case, remove a useless call to Base_Type.
+
+2023-06-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/decl.cc (gt_pch_nx): Remove overloads for Entity_Id.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (LIBIBERTY): Fix condition.
+ (TOOLS_LIBS): Add @LD_PICFLAG@.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Add guard to the
+ code turning the type of the RESULT_DECL into a reference type.
+ (maybe_make_gnu_thunk): Use a more precise guard in the same case.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (Case_Statement_to_gnu): Rename boolean
+ constant and use From_Conditional_Expression flag for its value.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * debug.adb (d.L): Remove documentation.
+ * exp_ch4.adb (Expand_N_Case_Expression): In the not-by-copy case,
+ do not wrap the case statement in an Expression_With_Actions node.
+ (Expand_N_If_Expression): Do not test
+ Back_End_Handles_Limited_Types
+ * gnat1drv.adb (Adjust_Global_Switches): Do not set it.
+ * opt.ads (Back_End_Handles_Limited_Types): Delete.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): Check the component type
+ of constants and variables of an array type.
+ (Copy_Generic_Node): Fix bogus handling of iterator
+ specifications.
+
+2023-06-27 Claire Dross <dross@adacore.com>
+
+ * libgnat/a-textio.ads (Get_Line): Use Relaxed_Initialization on
+ the Item parameter of Get_Line.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Revert the latest
+ change as it is subsumed by the machinery in Sem_Ch5.
+ * sem_ch5.adb (Prepare_Iterator_Loop): Also wrap the loop
+ statement in a block in the name contains a function call that
+ returns on the secondary stack.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Scope_Within_Body_Or_Same): New predicate.
+ (Check_Actual_Type): Take into account packages nested in bodies
+ to compute the enclosing scope by means of
+ Scope_Within_Body_Or_Same.
+
+2023-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Check_Private_View): Also check the type of
+ visible discriminants in record and concurrent types.
+
+2023-06-27 Viljar Indus <indus@adacore.com>
+
+ * sprint.adb (Print_Node_Actual): Print homogeneous N_Aggregate
+ nodes with brackets.
+
+2023-06-27 Viljar Indus <indus@adacore.com>
+
+ * exp_aggr.adb (Expand_N_Aggregate): Ensure that container
+ aggregate expressions do not get expanded as records but instead
+ as container aggregates.
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Pass
+ the NULL_TREE explicitly and test imported_p in lieu of
+ Is_Imported. <E_Function>: Remove public_flag local variable and
+ make extern_flag local variable a constant.
+
+2023-06-20 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Fix change that replaced test for
+ quantified expressions by the test for potentially unevaluated
+ contexts. Both should be performed.
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Convert_View): Detect more cases of mismatches for
+ private types and use Implementation_Base_Type as main criterion.
+ * gen_il-fields.ads (Opt_Field_Enum): Add
+ Has_Secondary_Private_View
+ * gen_il-gen-gen_nodes.adb (N_Expanded_Name): Likewise.
+ (N_Direct_Name): Likewise.
+ (N_Op): Likewise.
+ * sem_ch12.ads (Check_Private_View): Document the usage of second
+ flag Has_Secondary_Private_View.
+ * sem_ch12.adb (Get_Associated_Entity): New function to retrieve
+ the ultimate associated entity, if any.
+ (Check_Private_View): Implement Has_Secondary_Private_View
+ support.
+ (Copy_Generic_Node): Remove specific treatment for Component_Type
+ of an array type and Designated_Type of an access type. Add
+ specific treatment for comparison and equality operators, as well
+ as iterator and loop parameter specifications.
+ (Instantiate_Type): Implement Has_Secondary_Private_View support.
+ (Requires_Delayed_Save): Call Get_Associated_Entity.
+ (Set_Global_Type): Implement Has_Secondary_Private_View support.
+ * sem_ch6.adb (Conforming_Types): Remove bypass for private views
+ in instances.
+ * sem_type.adb (Covers): Return true if Is_Subtype_Of does so.
+ Remove bypass for private views in instances.
+ (Specific_Type): Likewise.
+ * sem_util.adb (Wrong_Type): Likewise.
+ * sinfo.ads (Has_Secondary_Private_View): Document new flag.
+
+2023-06-20 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnarl/s-mudido.ads: Remove outdated comment.
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/gnat_ugn/gnat_and_program_execution.rst (Overflows in GNAT)
+ <Default Settings>: Remove obsolete paragraph about -gnato.
+ <Implementation Notes>: Replace CHECKED with STRICT.
+ * gnat_ugn.texi: Regenerate.
+
+2023-06-20 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Check_Result_And_Post_State): Do not warn in cases
+ where the warning could be spurious.
+
+2023-06-20 Yannick Moy <moy@adacore.com>
+
+ * err_vars.ads (Error_Msg_Code): New variable for error codes.
+ * errout.adb (Error_Msg_Internal): Display continuation message
+ when an error code was present.
+ (Set_Msg_Text): Handle character sequence [] for error codes.
+ * errout.ads: Document new insertion sequence [].
+ (Error_Msg_Code): New renaming.
+ * erroutc.adb (Prescan_Message): Detect presence of error code.
+ (Set_Msg_Insertion_Code): Handle new insertion sequence [].
+ * erroutc.ads (Has_Error_Code): New variable for prescan.
+ (Set_Msg_Insertion_Code): Handle new insertion sequence [].
+ * contracts.adb (Check_Type_Or_Object_External_Properties):
+ Replace reference to SPARK RM section by an error code.
+ * sem_elab.adb (SPARK_Processor): Same.
+ * sem_prag.adb (Check_Missing_Part_Of): Same.
+ * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Same.
+
+2023-06-20 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Handle Range like First and Last.
+
+2023-06-20 Jose Ruiz <ruiz@adacore.com>
+
+ * doc/gnat_ugn/the_gnat_compilation_model.rst
+ (Partition-Wide Settings): add this subsection to document
+ configuration settings made by the Ada run time.
+ * gnat_ugn.texi: Regenerate.
+
+2023-06-20 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Ignore implicit loop scopes
+ introduced by quantified expressions.
+
+2023-06-20 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Remove predicate-check
+ generation if there is an address clause. These are unnecessary,
+ and cause gigi to crash.
+ * exp_util.ads (Following_Address_Clause): Remove obsolete "???"
+ comments. The suggested changes were done long ago.
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Has_Private_Ancestor): Fix inaccuracy in description.
+ * sem_ch12.adb (Check_Actual_Type): Do not switch the view of the
+ type if it has a private ancestor.
+
+2023-06-20 Daniel King <dmking@adacore.com>
+
+ * libgnat/i-cheri.ads: Add CHERI intrinsics and helper functions.
+ * libgnat/i-cheri.adb: Likewise
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Convert_View): Remove Ind parameter and adjust.
+ * sem_ch12.adb (Check_Generic_Actuals): Check the type of both in
+ and in out actual objects, as well as the type of formal parameters
+ of actual subprograms. Extend the condition under which the views
+ are swapped to nested generic constructs.
+ (Save_References_In_Identifier): Call Set_Global_Type on a global
+ identifier rewritten as an explicit dereference, either directly
+ or after having first been rewritten as a function call.
+ (Save_References_In_Operator): Set N2 unconditionally and reuse it.
+ * sem_ch3.adb (Build_Derived_Record_Type): Add missing comment.
+ * sem_res.adb (Resolve_Implicit_Dereference): Remove special bypass
+ for private views in instances.
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Assignments): Tweak comment.
+ (Expand_Array_Aggregate): Do not delay the expansion if the parent
+ node is a container aggregate.
+
+2023-06-20 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * errout.adb (Output_Messages): Fix loop termination condition.
+
+2023-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Compiler
+ Switches): Document -gnateH.
+ * opt.ads (Reverse_Bit_Order_Threshold): New variable.
+ * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Use its value
+ if it is nonnegative instead of System_Max_Integer_Size.
+ * switch-c.adb (Scan_Front_End_Switches): Deal with -gnateH.
+ * usage.adb (Usage): Print -gnateH.
+ * gnat_ugn.texi: Regenerate.
+
+2023-06-20 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-aridou.adb (Scaled_Divide): Add assertions.
+ * libgnat/s-valuti.adb: Add Loop_Variant.
+ * libgnat/s-valuti.ads: Add Exceptional_Cases on No_Return
+ procedure.
+
+2023-06-20 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Use full view as
+ Parent_Base if needed.
+
+2023-06-20 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * lib-load.adb (Load_Unit): Pass Error_Node to calls to Error_Msg.
+
+2023-06-20 Claire Dross <dross@adacore.com>
+
+ * libgnat/a-strfix.ads: Replace Might_Not_Return annotations by
+ Exceptional_Cases and Always_Terminates aspects.
+ * libgnat/a-tideio.ads: Idem.
+ * libgnat/a-tienio.ads: Idem.
+ * libgnat/a-tifiio.ads: Idem.
+ * libgnat/a-tiflio.ads: Idem.
+ * libgnat/a-tiinio.ads: Idem.
+ * libgnat/a-timoio.ads: Idem.
+ * libgnat/a-textio.ads: Idem. Also mark functions Name, Col, Line,
+ and Page as out of SPARK as they might raise Layout_Error.
+ * libgnarl/a-reatim.ads: Replace Always_Return annotations by
+ Always_Terminates aspects.
+ * libgnat/a-chahan.ads: Idem.
+ * libgnat/a-nbnbig.ads: Idem.
+ * libgnat/a-nbnbin.ads: Idem.
+ * libgnat/a-nbnbre.ads: Idem.
+ * libgnat/a-ngelfu.ads: Idem.
+ * libgnat/a-nlelfu.ads: Idem.
+ * libgnat/a-nllefu.ads: Idem.
+ * libgnat/a-nselfu.ads: Idem.
+ * libgnat/a-nuelfu.ads: Idem.
+ * libgnat/a-strbou.ads: Idem.
+ * libgnat/a-strmap.ads: Idem.
+ * libgnat/a-strsea.ads: Idem.
+ * libgnat/a-strsup.ads: Idem.
+ * libgnat/a-strunb.ads: Idem.
+ * libgnat/a-strunb__shared.ads: Idem.
+ * libgnat/g-souinf.ads: Idem.
+ * libgnat/i-c.ads: Idem.
+ * libgnat/interfac.ads: Idem.
+ * libgnat/interfac__2020.ads: Idem.
+ * libgnat/s-aridou.adb: Idem.
+ * libgnat/s-arit32.adb: Idem.
+ * libgnat/s-atacco.ads: Idem.
+ * libgnat/s-spcuop.ads: Idem.
+ * libgnat/s-stoele.ads: Idem.
+ * libgnat/s-vaispe.ads: Idem.
+ * libgnat/s-vauspe.ads: Idem.
+ * libgnat/i-cstrin.ads: Add a precondition instead of a
+ Might_Not_Return annotation.
+
+2023-06-20 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb
+ (Try_Selected_Component_In_Instance): New subprogram; factorizes
+ existing code.
+ (Find_Component_In_Instance) Moved inside the new subprogram.
+ (Analyze_Selected_Component): Invoke the new subprogram before
+ trying the Object.Operation notation.
+
+2023-06-20 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/a-calfor.adb (Time_Of): Fix handling of special case.
+
+2023-06-15 Marek Polacek <polacek@redhat.com>
+
+ * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS. Add
+ PICFLAG. Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o.
+ * gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set.
+ Remove NO_PIE_FLAG.
+
+2023-06-15 Marc Poulhiès <poulhies@adacore.com>
+
+ * vxworks7-cert-rtp-base-link.spec: Removed.
+ * vxworks7-cert-rtp-base-link__ppc64.spec: Removed.
+ * vxworks7-cert-rtp-base-link__x86.spec: Removed.
+ * vxworks7-cert-rtp-base-link__x86_64.spec: Removed.
+ * vxworks7-cert-rtp-link.spec: Removed.
+ * vxworks7-cert-rtp-link__ppcXX.spec: Removed.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.cc (build_binary_op) <MODIFY_EXPR>: Do not
+ remove a VIEW_CONVERT_EXPR on the LHS if it is also on the RHS.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Restrict
+ the special handling of temporaries created for return values and
+ subject to a renaming to the top level.
+
+2023-06-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * doc/gnat_ugn/about_this_guide.rst: Fix typo. Uniformize punctuation.
+ * doc/gnat_ugn/the_gnat_compilation_model.rst: Uniformize punctuation.
+ Fix capitalization. Fix indentation of code block. Fix RST formatting
+ syntax errors.
+ * gnat_ugn.texi: Regenerate.
+
+2023-06-15 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Reject case of Loop_Entry
+ inside the prefix of Loop_Entry, as per SPARK RM 5.5.3.1(4,8).
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that
+ determines the type used for the allocation and add assertions.
+ * exp_util.adb (Has_Tag_Of_Type): Also return true for extension
+ aggregates.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sinfo.ads (Iterator_Filter): Document field.
+ * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around.
+ (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator
+ filter, if any.
+ * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built
+ when an iterator filter is present.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Find_Hook_Context): Revert latest change.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically
+ with an aggregate returned through an object of a class-wide type.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Do not insert
+ an always empty list. Remove unused parameter Isc.
+ (Expand_Iterator_Loop): Adjust call to above procedure.
+
+2023-06-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * targparm.adb: Allow pragma Style_Checks in some forms.
+ * targparm.ads: Document new pragma permission.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Within_Case_Or_If_Expression): Adjust description.
+ * exp_util.adb (Find_Hook_Context): Stop the search for the topmost
+ conditional expression, if within one, at contexts where temporaries
+ may be contained.
+ (Within_Case_Or_If_Expression): Return false upon first encoutering
+ contexts where temporaries may be contained.
+
+2023-06-15 Johannes Kliemann <kliemann@adacore.com>
+
+ * libgnarl/s-osinte__qnx.adb: Adjust priority conversion function.
+ * libgnat/system-qnx-arm.ads: Adjust priority range and default
+ priority.
+
+2023-06-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * targparm.ads: Remove references to front-end-based exceptions. Fix
+ thinko.
+
+2023-06-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * contracts.adb (Add_Contract_Item): Add pragma Always_Terminates to
+ package contract.
+ * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates on
+ packages and generic packages, but only when it has no arguments.
+
+2023-06-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates when
+ it applies to an entry.
+
+2023-06-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Reject pragma Always_Terminates when
+ it applies to a function or generic function.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence
+ of an incomplete view of a type on a function call.
+
+2023-06-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * ttypes.ads: Remove reference to Ttypef in comment. Fix typo in
+ comment.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * get_targ.ads (Get_Max_Unaligned_Field): Delete.
+ * ada_get_targ.adb (Get_Max_Unaligned_Field): Likewise.
+ * get_targ.adb (Get_Max_Unaligned_Field): Likewise.
+ * set_targ.ads (Max_Unaligned_Field): Adjust comment.
+ * set_targ.adb: Set Max_Unaligned_Field to 1 during elaboration.
+ * ttypes.ads (Max_Unaligned_Field): Delete.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_type.adb (Disambiguate): Fix pasto in the implementation of
+ the RM 8.4(10) clause for operators.
+
+2023-06-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * aspects.adb
+ (Base_Aspect): Fix layout.
+ * aspects.ads
+ (Aspect_Argument): Expression for Always_Terminates is optional.
+ * sem_prag.adb
+ (Analyze_Always_Terminates_In_Decl_Part): Only analyze expression when
+ pragma argument is present.
+ (Analyze_Pragma): Argument for Always_Terminates is optional; fix
+ whitespace for Async_Readers.
+
+2023-06-15 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb
+ (Is_CPP_Constructor_Call): Add missing support for calls to
+ functions returning a private type.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Build_Transient_Object_Statements): Remove obsolete
+ references to array and record aggregates in documentation.
+
+2023-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items
+ in the list of aspects handled by means of Insert_Pragma.
+ <Aspect_Linker_Section>: Remove obsolete code. Do not delay the
+ processing of the aspect if the entity is already frozen.
+
+2023-06-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb
+ (Resolve_Array_Aggregate): Simplify comment.
+ (Resolve_Iterated_Component_Association): Tune comment; change variable
+ to constant.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve
+ the expression.
+
+2023-06-13 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb
+ (Expand_N_Quantified_Expression): Detect the secondary-stack
+ case, and find the innermost scope where we should mark/release,
+ and Set_Uses_Sec_Stack on that. Skip intermediate blocks and loops
+ that are part of expansion.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Is_Repeatedly_Evaluated): Recognize iterated component
+ association as repeatedly evaluated.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Is_Potentially_Unevaluated): Recognize iterated
+ component association as potentially unevaluated.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Replace early call to
+ In_Quantified_Expression with a call to Is_Potentially_Unevaluated that
+ was only done when Full_Analysis is true.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * aspects.ads (Aspect_Id): Add new aspect.
+ (Implementation_Defined_Aspect): New aspect is
+ implementation-defined.
+ (Aspect_Argument): New aspect has an expression argument.
+ (Is_Representation_Aspect): New aspect is not a representation
+ aspect.
+ (Aspect_Names): Link new aspect identifier with a name.
+ (Aspect_Delay): New aspect is never delayed.
+ * contracts.adb (Expand_Subprogram_Contract): Mention new aspect
+ in comment.
+ (Add_Contract_Item): Attach pragma corresponding to the new aspect
+ to contract items.
+ (Analyze_Entry_Or_Subprogram_Contract): Analyze pragma
+ corresponding to the new aspect that appears with subprogram spec.
+ (Analyze_Subprogram_Body_Stub_Contract): Expand pragma
+ corresponding to the new aspect.
+ * contracts.ads
+ (Add_Contract_Item, Analyze_Entry_Or_Subprogram_Contract)
+ (Analyze_Entry_Or_Subprogram_Body_Contract)
+ (Analyze_Subprogram_Body_Stub_Contract): Mention new aspect in
+ comment.
+ * einfo-utils.adb (Get_Pragma): Return pragma attached to
+ contract.
+ * einfo-utils.ads (Get_Pragma): Mention new contract in comment.
+ * exp_prag.adb (Expand_Pragma_Always_Terminates): Placeholder for
+ possibly expanding new aspect.
+ * exp_prag.ads (Expand_Pragma_Always_Terminates): Dedicated
+ routine for expansion of the new aspect.
+ * inline.adb (Remove_Aspects_And_Pragmas): Remove aspect from
+ inlined bodies.
+ * par-prag.adb (Prag): Postpone checking of the pragma until
+ analysis.
+ * sem_ch12.adb: Mention new aspect in explanation of handling
+ contracts on generic units.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Convert new aspect
+ into a corresponding pragma.
+ (Check_Aspect_At_Freeze_Point): Don't expect new aspect.
+ * sem_prag.adb (Analyze_Always_Terminates_In_Decl_Part): Analyze
+ pragma corresponding to the new aspect.
+ (Analyze_Pragma): Handle pragma corresponding to the new aspect.
+ (Is_Non_Significant_Pragma_Reference): Handle references appearing
+ within new aspect.
+ * sem_prag.ads (Aspect_Specifying_Pragma): New aspect can be
+ emulated with a pragma.
+ (Assertion_Expression_Pragma): New aspect has an assertion
+ expression.
+ (Pragma_Significant_To_Subprograms): New aspect is significant to
+ subprograms.
+ (Analyze_Always_Terminates_In_Decl_Part): Add spec for routine
+ that analyses new aspect.
+ (Find_Related_Declaration_Or_Body): Mention new aspect in comment.
+ * sem_util.adb (Is_Subprogram_Contract_Annotation): New aspect is
+ a subprogram contract annotation.
+ * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
+ aspect in comment.
+ * sinfo.ads (Is_Generic_Contract_Pragma): New pragma is a generic
+ contract.
+ (Contract): Explain attaching new pragma to subprogram contract.
+ * snames.ads-tmpl (Name_Always_Terminates): New name for the new
+ contract.
+ (Pragma_Always_Terminates): New pragma identifier.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_elab.adb (Check_Overriding_Primitive): Prevent Corresponding_Body
+ to be called with entity of an abstract subprogram.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Save_References_In_Identifier): In the case where
+ the identifier has been turned into a function call by analysis,
+ call Set_Global_Type on the entity if it is global.
+
+2023-06-13 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_aggr.adb (Resolve_Iterated_Component_Association): Call
+ Preanalyze_And_Resolve instead of Resolve_Aggr_Expr except for
+ aggregate.
+ Co-authored-by: Ed Schonberg <schonberg@adacore.com>
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * contracts.adb (Contract_Error): New exception.
+ (Add_Contract_Item): Raise Contract_Error instead of Program_Error.
+ (Add_Generic_Contract_Pragma): Deal with Contract_Error.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Add more exceptions to the early
+ return for a prefix which is a nonfrozen generic actual type.
+ * sem_ch12.adb (Copy_Generic_Node): Also check private views in the
+ case of an entity name or operator analyzed as a function call.
+ (Set_Global_Type): Make it a child of Save_Global_References.
+ (Save_References_In_Operator): In the case where the operator has
+ been turned into a function call, call Set_Global_Type on the entity
+ if it is global.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a
+ subprogram body that has no contracts and does not come from source,
+ make sure that contracts on its corresponding spec are analyzed, if
+ any, before expanding them.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gen_il-fields.ads (Opt_Field_Enum): Add No_Finalize_Actions and
+ remove No_Side_Effect_Removal.
+ * gen_il-gen-gen_nodes.adb (N_Function_Call): Remove semantic flag
+ No_Side_Effect_Removal
+ (N_Assignment_Statement): Add semantic flag No_Finalize_Actions.
+ * sinfo.ads (No_Ctrl_Actions): Adjust comment.
+ (No_Finalize_Actions): New flag on assignment statements.
+ (No_Side_Effect_Removal): Delete.
+ * exp_aggr.adb (Build_Record_Aggr_Code): Remove obsolete comment and
+ Ancestor_Is_Expression variable. In the case of an extension, do
+ not generate a call to Adjust manually, call Set_No_Finalize_Actions
+ instead. Do not set the tags, replace call to Make_Unsuppress_Block
+ by Make_Suppress_Block and remove useless assertions.
+ In the general case, call Initialize_Component.
+ (Initialize_Controlled_Component): Delete.
+ (Initialize_Simple_Component): Delete.
+ (Initialize_Component): Do the low-level processing, but do not
+ generate a call to Adjust manually, call Set_No_Finalize_Actions.
+ (Process_Transient_Component): Delete.
+ (Process_Transient_Component_Completion): Likewise.
+ * exp_ch5.adb (Expand_Assign_Array): Deal with No_Finalize_Actions.
+ (Expand_Assign_Array_Loop): Likewise.
+ (Expand_N_Assignment_Statement): Likewise.
+ (Make_Tag_Ctrl_Assignment): Likewise.
+ * exp_util.adb (Remove_Side_Effects): Do not test the
+ No_Side_Effect_Removal flag.
+ * sem_prag.adb (Process_Suppress_Unsuppress): Give the warning in
+ SPARK mode only for pragma Suppress.
+ * tbuild.ads (Make_Suppress_Block): New declaration.
+ (Make_Unsuppress_Block): Adjust comment.
+ * tbuild.adb (Make_Suppress_Block): New procedure.
+ (Make_Unsuppress_Block): Unsuppress instead of suppressing.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Turn Rhs into a constant and
+ remove calls to the following subprograms.
+ (Transform_BIP_Assignment): Delete.
+ (Should_Transform_BIP_Assignment): Likewise.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.ads (Is_Inherited_Operation_For_Type): Remove spec.
+ * sem_util.adb (Is_Inherited_Operation_For_Type): Remove body.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Add new variable Ancestor_Q
+ to store the result of Unqualify on Ancestor. Remove the dead call
+ to Generate_Finalization_Actions in the case of another aggregate as
+ ancestor part. Remove the redundant setting of Assignment_OK. Use
+ Init_Typ in lieu of Etype (Ancestor) more consistently.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): In the case of an extension
+ aggregate of a limited type whose ancestor part is an aggregate, do
+ not skip the final code assigning the tag of the extension.
+
+2023-06-13 Yannick Moy <moy@adacore.com>
+
+ * ghost.adb (Check_Ghost_Context): Allow absence of Ghost_Id
+ for attribute. Update error message to mention Ghost_Predicate.
+ (Is_Ghost_Attribute_Reference): New query.
+ * ghost.ads (Is_Ghost_Attribute_Reference): New query.
+ * sem_attr.adb (Resolve_Attribute): Check ghost context for ghost
+ attributes.
+
+2023-06-13 Daniel King <dmking@adacore.com>
+
+ * libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Make_Tag_Assignment_From_Type): Declare.
+ * exp_util.adb (Make_Tag_Assignment_From_Type): New function.
+ * exp_aggr.adb (Build_Record_Aggr_Code): Call the above function.
+ (Initialize_Simple_Component): Likewise.
+ * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Likewise.
+ (Build_Record_Init_Proc.Build_Init_Procedure ): Likewise.
+ (Make_Tag_Assignment): Likewise. Rename local variable and call
+ Unqualify to go through qualified expressions.
+ * exp_ch4.adb (Expand_Allocator_Expression): Likewise.
+
+2023-06-13 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strsup.ads: Change predicate aspect.
+ * sem_ch13.adb (Add_Predicate): Fix for first predicate.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Initialize_Component): Perform immediate expansion
+ of the initialization expression if it is a conditional expression
+ and the component type is controlled.
+
+2023-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Initialize_Component): New procedure factored out
+ from the processing of array and record aggregates.
+ (Initialize_Controlled_Component): Likewise.
+ (Initialize_Simple_Component): Likewise.
+ (Build_Array_Aggr_Code.Gen_Assign): Remove In_Loop parameter.
+ Call Initialize_Component to initialize the component.
+ (Initialize_Array_Component): Delete.
+ (Initialize_Ctrl_Array_Component): Likewise.
+ (Build_Array_Aggr_Code): Adjust calls to Gen_Assign.
+ (Build_Record_Aggr_Code): Call Initialize_Simple_Component or
+ Initialize_Component to initialize the component.
+ (Initialize_Ctrl_Record_Component): Delete.
+ (Initialize_Record_Component): Likewise.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Expansion of raise statements
+ never happens in GNATprove mode.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch11.adb (Find_Local_Handler): Replace guard against other
+ constructs appearing in the list of exception handlers with iteration
+ using First_Non_Pragma/Next_Non_Pragma.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch11.ads (Find_Local_Handler): Fix typo in comment.
+ * exp_ch11.adb (Find_Local_Handler): Remove redundant check for the
+ Exception_Handler list being present; use membership test to eliminate
+ local object LCN; fold nested IF statements. Remove useless ELSIF
+ condition.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Check_Function_Writable_Actuals): Tune style; use
+ subtype name to detect membership test nodes.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Use a single call
+ to New_List.
+
+2023-06-13 Yannick Moy <moy@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_aspects.rst: Document new
+ aspect.
+ * doc/gnat_rm/implementation_defined_pragmas.rst: Whitespace.
+ * aspects.adb (Init_Canonical_Aspect): Set it to Predicate.
+ * aspects.ads: Set global constants for new aspect.
+ * einfo.ads: Describe new flag related to new aspect.
+ * exp_ch6.adb (Can_Fold_Predicate_Call): Do not fold new aspect.
+ * exp_util.adb (Make_Predicate_Check): Add comment.
+ * gen_il-fields.ads: Add new flag.
+ * gen_il-gen-gen_entities.adb: Add new flag.
+ * ghost.adb (Is_OK_Ghost_Context): Ghost predicate is an OK
+ ghost context.
+ (Mark_Ghost_Pragma): Add overloading with ghost mode parameter.
+ * ghost.ads (Mark_Ghost_Pragma): Add overloading with ghpst mode
+ parameter.
+ (Name_To_Ghost_Mode): Make function public.
+ * sem_aggr.adb: Issue error for violation of valid use.
+ * sem_case.adb: Issue error for violation of valid use.
+ * sem_ch13.adb: Adapt for new aspect.
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove dead code
+ which was trying to propagate Has_Predicates flag in the wrong
+ direction (from derived to parent type).
+ (Analyze_Number_Declaration): Issue error for violation of valid
+ use.
+ (Build_Derived_Type): Cleanup inheritance of predicate flags from
+ parent to derived type.
+ (Build_Predicate_Function): Only add a predicate check when it
+ is not ignored as Ghost code.
+ * sem_ch4.adb (Analyze_Membership_Op): Issue an error for use of
+ a subtype with a ghost predicate as name in a membership test.
+ * sem_ch5.adb (Check_Predicate_Use): Issue error for violation of
+ valid use.
+ * sem_eval.adb: Adapt code for Dynamic_Predicate to account for
+ Ghost_Predicate too.
+ * sem_prag.adb (Analyze_Pragma): Make pragma ghost or not.
+ * sem_util.adb (Bad_Predicated_Subtype_Use): Adapt to new aspect.
+ (Inherit_Predicate_Flags): Add inheritance of flag. Add parameter
+ to apply to derived types.
+ * sem_util.ads (Inherit_Predicate_Flags): Change signature.
+ * snames.ads-tmpl: Add new aspect name.
+ * gnat_rm.texi: Regenerate.
+
+2023-06-13 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch3.adb (Make_Controlling_Function_Wrappers): Remove early
+ decoration.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (get_storage_model_access): Also strip any
+ type conversion in the node when unwinding the components.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (node_is_component): Remove parentheses.
+ (node_is_type_conversion): New predicate.
+ (get_atomic_access): Use it.
+ (get_storage_model_access): Likewise and look into the parent to
+ find a component if it returns true.
+ (present_in_lhs_or_actual_p): Likewise.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Check that
+ the storage model has Copy_From before instantiating loads for it.
+ <Attr_Length>: Likewise.
+ <Attr_Bit_Position>: Likewise.
+ (gnat_to_gnu) <N_Indexed_Component>: Likewise.
+ <N_Slice>: Likewise.
+
+2023-05-30 Marc Poulhiès <poulhies@adacore.com>
+
+ * gcc-interface/trans.cc (Attribute_to_gnu): Also strip conversion
+ in case of DECL.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a
+ local variable for the GNAT index type.
+ <E_Array_Subtype>: Likewise. Call Is_Null_Range on the bounds and
+ force the zero on TYPE_SIZE and TYPE_SIZE_UNIT if it returns true.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: Test the
+ precision of the operation rather than that of the result type.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Replace
+ integer_zero_node with null_pointer_node for pointer types.
+ * gcc-interface/trans.cc (gnat_gimplify_expr) <NULL_EXPR>: Likewise.
+ * gcc-interface/utils.cc (maybe_pad_type): Do not attempt to make a
+ packable type from a fat pointer type.
+ * gcc-interface/utils2.cc (build_atomic_load): Use a local variable.
+ (build_atomic_store): Likewise.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.cc (internal_error_function): Be prepared for
+ an input_location set to UNKNOWN_LOCATION.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Tweak.
+ (gnat_to_gnu) <N_Assignment_Statement>: Declare a local variable.
+ For a target with a storage model, use the Actual_Designated_Subtype
+ to compute the size if it is present.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (Call_to_gnu): Remove code implementing the
+ by-copy semantics for actuals with nonnative storage models.
+ (gnat_to_gnu) <N_Assignment_Statement>: Remove code instantiating a
+ temporary for assignments between nonnative storage models.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.cc (range_cannot_be_superflat): Return true
+ immediately if Cannot_Be_Superflat is set.
+ * gcc-interface/misc.cc (gnat_post_options): Do not override the
+ -Wstringop-overflow setting.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (ADA_CFLAGS): Move up.
+ (ALL_ADAFLAGS): Add $(NO_PIE_CFLAGS).
+ (ada/mdll.o): Remove.
+ (ada/mdll-fil.o): Likewise.
+ (ada/mdll-utl.o): Likewise.
+
+2023-05-30 Marc Poulhiès <poulhies@adacore.com>
+
+ * gcc-interface/trans.cc (get_storage_model_access): Don't require
+ storage model access for dereference used as lvalue or renamings.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Move the declaration of Typ
+ to the beginning.
+ (Initialize_Array_Component): Test the unqualified version of the
+ expression for the nested array case.
+ (Initialize_Ctrl_Array_Component): Do not duplicate the expression
+ here. Do the pattern matching of the unqualified version of it.
+ (Gen_Assign): Call Unqualify to compute Expr_Q and use Expr_Q in
+ subsequent pattern matching.
+ (Initialize_Ctrl_Record_Component): Do the pattern matching of the
+ unqualified version of the aggregate.
+ (Build_Record_Aggr_Code): Call Unqualify.
+ (Convert_Aggr_In_Assignment): Likewise.
+ (Convert_Aggr_In_Object_Decl): Likewise.
+ (Component_OK_For_Backend): Likewise.
+ (Is_Delayed_Aggregate): Likewise.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the
+ expression here instead of...
+ (Build_Array_Aggr_Code): ...here.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Check_Large_Modular_Array): Fix head comment, use
+ Standard_Long_Long_Integer_Size directly and generate a reference
+ just before the raise statement if the Etype of the object is an
+ itype declared in an open scope.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in
+ the scope table instead of the scope's entity.
+ (Establish_Transient_Scope): If an enclosing scope already exists,
+ do not set the Uses_Sec_Stack flag on it if the node to be wrapped
+ is a return statement which requires secondary stack management.
+
+2023-05-30 Joel Brobecker <brobecker@adacore.com>
+
+ * Makefile.rtl: Use libgnat/s-tsmona__linux.adb on
+ aarch64-linux. Link libgnat with -ldl, as the use of
+ s-tsmona__linux.adb requires it.
+
+2023-05-30 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch3.adb
+ (Build_Access_Subprogram_Wrapper_Body): Build wrapper body if requested
+ by routine that builds wrapper spec.
+ * sem_ch3.adb
+ (Analyze_Full_Type_Declaration): Only build wrapper when expander is
+ active.
+ (Build_Access_Subprogram_Wrapper):
+ Remove special-case for GNATprove.
+
+2023-05-30 Ronan Desplanques <desplanques@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor issues.
+ * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix minor issues.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-30 Johannes Kliemann <kliemann@adacore.com>
+
+ * libgnat/s-parame.adb: Check that Default_Stack_Size >=
+ Minimum_Stack_size.
+ * libgnat/s-parame__rtems.adb: Ditto.
+ * libgnat/s-parame__vxworks.adb: Check that Default_Stack_Size >=
+ Minimum_Stack_size and use the proper Minimum_Stack_Size if
+ Stack_Check_Limits is enabled.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Restrict previous change to calls that
+ return on the same stack as the enclosing function. Tidy up.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/a-cidlli.adb (Put_Image): Simplify.
+ * libgnat/a-coinve.adb (Put_Image): Likewise.
+
+2023-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside
+ a generic unit, preanalyze the expression directly.
+ (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise.
+
+2023-05-30 Cedric Landet <landet@adacore.com>
+
+ * init.c: Replace FIXME by ???
+
+2023-05-29 Cedric Landet <landet@adacore.com>
+
+ * s-oscons-tmplt.c: move the definition of sigset out of the
+ HAVE_SOCKETS bloc.
+
+2023-05-29 Cedric Landet <landet@adacore.com>
+
+ * Makefile.rtl: Move g-spogwa$(objext) from GNATRTL_NONTASKING_OBJS
+ to GNATRTL_SOCKETS_OBJS
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in
+ both cases to copy the spec of the subprogram.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context):
+ Bail out for a simple return statement only if the transient scope
+ and the function both require secondary stack management, or else
+ if the function is a thunk.
+ * sem_res.adb (Resolve_Call): Do not create a transient scope when
+ the call is the expression of a simple return statement.
+
+2023-05-29 Patrick Bernardi <bernardi@adacore.com>
+
+ * libgnat/a-excach.adb (Call_Chain): Replace
+ Code_Address_For_AAA/ZZZ functions with AAA/ZZZ'Code_Address.
+ * libgnat/a-except.adb (Code_Address_For_AAA/ZZZ): Delete.
+ (AAA/ZZZ): New null procedures.
+ * libgnat/g-debpoo.adb
+ (Code_Address_For_Allocate_End): Delete.
+ (Code_Address_For_Deallocate_End): Delete.
+ (Code_Address_For_Dereference_End): Delete.
+ (Allocate): Remove label and use Code_Address attribute to
+ determine subprogram addresses.
+ (Dellocate): Likewise.
+ (Dereference): Likewise.
+ (Allocate_End): Convert to null procedure.
+ (Dellocate_End): Likewise.
+ (Dereference_End): Likewise.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions
+ consistently when rewriting the expression.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container):
+ New predicate to detect a temporary created to hold the result of
+ a constant indexing on a container.
+ (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple
+ of obsolete comments.
+ (Is_Finalizable_Transient): Return False if Is_Indexed_Container
+ returns True on the object.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear
+ that the predicate also checks the node itself.
+ (Try_User_Defined_Literal): Move current implementation to...
+ Deal only with literals, named numbers and conditional expressions
+ whose dependent expressions are literals or named numbers.
+ (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple
+ return False statements and put a single one at the end.
+ (Resolve): Call Try_User_Defined_Literal instead of directly
+ Has_Applicable_User_Defined_Literal for all nodes. Call
+ Try_User_Defined_Literal_For_Operator for operator nodes.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Invoked_With_Different_Arguments): Use Get_Called_Entity,
+ which properly deals with calls via an access-to-subprogram; fix
+ inconsistent use of a Call object declared in enclosing subprogram.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * contracts.adb
+ (Add_Pre_Post_Condition): Attach pre/post aspects to E_Subprogram_Type
+ entity.
+ (Analyze_Entry_Or_Subprogram_Contract): Adapt to use full type
+ declaration for a contract attached to E_Subprogram_Type entity.
+ * sem_prag.adb
+ (Analyze_Pre_Post_Condition): Add pre/post aspects to the designed type.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Check_Function_Writable_Actuals): Remove guard against
+ a membership test with no alternatives; simplify with a membership test.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * doc/gnat_ugn/gnat_and_program_execution.rst
+ (Some Useful Memory Pools): Remove extra whitespace from examples.
+ * sem_aggr.adb (Make_String_Into_Aggregate): Remove extra whitespace.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb (Convert_Aggr_In_Allocator): Replace Get_TSS_Name
+ with a high-level Is_TSS.
+ * sem_ch6.adb (Check_Conformance): Replace DECLARE block and
+ nested IF with a call to Get_TSS_Name and a membership test.
+ (Has_Reliable_Extra_Formals): Refactor repeated calls to
+ Get_TSS_Name.
+ * sem_disp.adb (Check_Dispatching_Operation): Replace repeated
+ calls to Get_TSS_Name with a membership test.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement
+ if it is the node to be wrapped by a transient scope.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer
+ anything to the back-end when the main unit is generic.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Try_User_Defined_Literal): Restrict previous change
+ to non-leaf nodes.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators,
+ also accept operands whose type is covered by the resolution type.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Initialize_Array_Component): Fix condition detecting
+ the nested case that requires an adjustment.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting
+ of the simple return during the adjustment of its expression.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return
+ statements enclosing the conditional expression into the dependent
+ expressions in almost all cases.
+ (Expand_N_If_Expression): Likewise.
+ (Process_Transient_In_Expression): Adjust to the above distribution.
+ * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the
+ dependent expressions of a conditional expression.
+ * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of
+ a simple return statement during the resolution of its expression.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Refine rules for Exceptional_Cases.
+
+2023-05-29 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Assignments): Do not mark node for
+ delayed expansion if parent type has the Aggregate aspect.
+ * sem_util.adb (Is_Container_Aggregate): Move...
+ * sem_util.ads (Is_Container_Aggregate): ... here and make it
+ public.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Relax rules for Exceptional_Cases.
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.ads (Unresolved_Operator): New procedure.
+ * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into...
+ (Has_Possible_User_Defined_Literal): ...this. Tidy up.
+ (Operator_Check): Accept again unresolved operators if they have a
+ possible user-defined literal as operand. Factor out the handling
+ of the general error message into...
+ (Unresolved_Operator): ...this new procedure.
+ * sem_res.adb (Resolve): Be prepared for unresolved operators on
+ entry in Ada 2022 or later. If they are still unresolved on exit,
+ call Unresolved_Operator to give the error message.
+ (Try_User_Defined_Literal): Tidy up.
+
+2023-05-29 Steve Baird <baird@adacore.com>
+
+ * exp_ch3.adb
+ (Expand_N_Object_Declaration.Default_Initialize_Object): Add test for
+ specified Default_Component_Value aspect when deciding whether
+ either Initialize_Scalars or Normalize_Scalars impacts default
+ initialization of an array object.
+
+2023-05-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb
+ (Resolve_Record_Aggregate): For aggregates of derived tagged
+ record types with discriminants, when collecting components
+ from ancestors, pass to subprogram Gather_Components the
+ parent type. Required to report errors on wrong aggregate
+ components.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Check_Result_And_Post_State): Replace low-level
+ navigation with a high-level Unique_Entity.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Check_Result_And_Post_State): Properly handle entry
+ bodies.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * contracts.adb (Fix_Parent): Fir part both for lists and nodes.
+
+2023-05-29 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch7.adb: Refine handling of inlining for CCG
+
+2023-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): Test the original node kind
+ for the sake of consistency. For identifiers and other entity
+ names and operators, accept an expanded name as associated node.
+ Replace "or" with "or else" in condtion and fix its formatting.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Check_Result_And_Post_State): Tune message.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * contracts.adb (Remove_Formals): Remove.
+ (Preanalyze_Condition): Replace Pop_Scope with End_Scope.
+ * sem_ch13.adb (Build_Discrete_Static_Predicate): Replace
+ Pop_Scope with End_Scope; enclose Install_Formals within
+ Push_Scope/End_Scope.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pre_Post_Condition): Tune error message.
+
+2023-05-29 Javier Miranda <miranda@adacore.com>
+
+ * scans.ads (Inside_Interpolated_String_Expression): New variable.
+ * par-ch2.adb (P_Interpolated_String_Literal): Set/clear new
+ variable when parsing interpolated string expressions.
+ * scng.adb (Set_String): Skip processing operator symbols when we
+ arescanning an interpolated string literal.
+
+2023-05-29 Johannes Kliemann <kliemann@adacore.com>
+
+ * Makefile.rtl (QNX): Use s-parame__qnx.adb for s-parame.adb.
+ * libgnat/s-parame__qnx.adb: Add QNX specific version of
+ System.Parameters.
+
+2023-05-29 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-ngelfu.ads: Restore SPARK_Mode from context.
+
+2023-05-29 Marc Poulhiès <poulhies@adacore.com>
+
+ * contracts.adb (Restore_Original_Selected_Component): Adjust assertion.
+
+2023-05-29 Piotr Trojanek <trojanek@adacore.com>
+
+ * contracts.adb
+ (Add_Pre_Post_Condition): Adapt to handle pre/post of an
+ access-to-subprogram type.
+ (Analyze_Type_Contract): Analyze pre/post of an
+ access-to-subprogram.
+ * contracts.ads
+ (Analyze_Type_Contract): Adapt comment.
+ * sem_ch3.adb
+ (Build_Access_Subprogram_Wrapper): Copy pre/post aspects to
+ wrapper spec and keep it on the type.
+ * sem_prag.adb
+ (Analyze_Pre_Post_Condition): Expect pre/post aspects on
+ access-to-subprogram and complain if they appear without -gnat2022
+ switch.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Adapt to handle
+ pre/post on an access-to-subprogram type entity.
+ * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
+ (Result): Likewise.
+
+2023-05-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb
+ (Build_Derived_Record_Type): Temporarily set the state of the
+ Derived_Type to "self-hidden" while processing constraints
+ and discriminants of a record extension.
+
+2023-05-26 Bob Duff <duff@adacore.com>
+
+ * einfo.ads: Add comma.
+ * contracts.adb: Fix typos.
+ * exp_attr.adb: Likewise.
+ * exp_ch5.adb: Likewise.
+ * exp_ch6.adb: Likewise.
+ * lib-xref.adb: Likewise.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * debug.adb (d.N): Document new usage.
+ * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate
+ flag when rewriting a floating-point to fixed-point conversion as
+ a floating-point to integer conversion.
+ * exp_fixd.adb: Add with and use clauses for Debug.
+ (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases
+ except if the result is explicitly rounded.
+ (Expand_Convert_Integer_To_Fixed): Likewise.
+ (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind
+ of fixed-point types, except if the result is explicitly rounded, or
+ -gnatd.N is specified and the type is an ordinary fixed-point type.
+ * sinfo.ads (Float_Truncate): Document usage for floating-point to
+ fixed-point conversions.
+
+2023-05-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb
+ (Expand_N_Allocator): If an allocator with constraints is called
+ in the return statement of a function returning a general access
+ type, then propagate to the itype the master of the general
+ access type (since it is the master associated with the
+ returned object).
+
+2023-05-26 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and
+ assertion that clarifies when we reassigned to a useful value.
+
+2023-05-26 Yannick Moy <moy@adacore.com>
+
+ * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on
+ pattern matching limitation.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-26 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may
+ raise Time_Error.
+ * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may
+ lead to an overflow (which is not the case of Tan with one parameter for
+ example, or Arctanh or Arcoth, despite their mathematical range covering
+ the reals).
+ * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as
+ this is now compulsory for functions to always return in SPARK.
+ * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure
+ which may not return.
+
+2023-05-26 Bob Duff <duff@adacore.com>
+
+ * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as
+ 'Image.
+ * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand
+ to 'Image instead of 'Img.
+ * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads:
+ Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove
+ unnecessary qualifications. DRY: Don't repeat "True".
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present.
+ * sem_util.adb (Find_Untagged_Type_Of): Likewise.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code.
+ (Expand_Array_Aggregate): In the case where a temporary is created
+ and the parent is an assignment statement with No_Ctrl_Actions set,
+ set Is_Ignored_Transient on the temporary.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to
+ that of the instance only after loading the generic's parent.
+ (Instantiate_Subprogram_Body): Likewise.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to
+ Unqual_Conv; consequently, change object from variable to constant;
+ replace an IF statement with an AND THEN expression.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch9.adb
+ (Build_Entry_Count_Expression): Remove loop over component declaration;
+ consequently remove a parameter that is no longer used; adapt callers.
+ (Make_Task_Create_Call): Refine type of a local variable.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside
+ loop, not in the loop condition itself.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/a-cbdlli.ads (List): Move Nodes component to the end.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/a-crdlli.ads (List): Move Nodes component to the end.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate.
+ (Resolve_Attribute): Apply the static matching legality rule to an
+ Unrestricted_Access attribute applied to an aliased prefix if the
+ type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the
+ aliasing legality rule as well.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and
+ Next_Non_Pragma to ignore pragmas within component list.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Get_Argument): Improve detection of generic units.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch4.adb (Check_Action_OK): Replace low-level test with a
+ high-level routine.
+ * sem_ch13.adb (Is_Predicate_Static): Likewise.
+
+2023-05-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb
+ (Expand_N_Conditional_Entry_Call): Factorize code to avoid
+ duplicating subtrees; required to avoid problems when the copied
+ code has implicit labels.
+ * sem_util.ads (New_Copy_Separate_List): Removed.
+ (New_Copy_Separate_Tree): Removed.
+ * sem_util.adb (New_Copy_Separate_List): Removed.
+ (New_Copy_Separate_Tree): Removed.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Check_Component_List): Local variable Compl is now
+ a constant; a nested block is no longer needed.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb
+ (Resolve_Record_Aggregate): Remove useless assignment.
+ * sem_aux.adb
+ (Has_Variant_Part): Remove useless guard; this routine is only called
+ on type entities (and now will crash in other cases).
+ * sem_ch3.adb
+ (Create_Constrained_Components): Only assign Assoc_List when necessary;
+ tune whitespace.
+ (Is_Variant_Record): Refactor repeated calls to Parent.
+ * sem_util.adb
+ (Gather_Components): Assert that discriminant association has just one
+ choice in component_association; refactor repeated calls to Next.
+ * sem_util.ads
+ (Gather_Components): Tune whitespace in comment.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with
+ First_Non_Pragma and Next_Non_Pragma.
+ * exp_dist.adb (Append_Record_Traversal): Likewise.
+
+2023-05-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks
+ that have a task master entity declaration.
+ (Build_Master_Entity): Code cleanup.
+ * sem_util.ads (Is_Internal_Block): New subprogram.
+ * sem_util.adb (Is_Internal_Block): New subprogram.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Gather_Components): Remove guard for empty list of
+ components.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back_end.adb (Call_Back_End): Add gigi_standard_address to the
+ signature of the gigi procedure and alphabetize other parameters.
+ Pass Standard_Address as actual parameter for it.
+ * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address
+ on Standard_Address.
+ * gcc-interface/gigi.h (gigi): Add a standard_address parameter and
+ alphabetize others.
+ * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address
+ type and save it as the type for Standard.Address.
+
+2023-05-26 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag.
+ * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as
+ N_Object_Declaration.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Constrained_Type): Remove local constants that were shadowing
+ equivalent global constants; replace a wrapper that calls
+ Make_Integer_Literal with a numeric literal; remove explicit
+ Aliased_Present parameter which is equivalent to the default value.
+ (Check_Bounds): Remove unused initial value.
+ (Expand_Array_Aggregate): Use aggregate type from the context.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Delay_Cleanups): Document new usage.
+ * exp_ch7.ads (Build_Finalizer): New declaration.
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat
+ library-level package instantiations specially.
+ (Build_Finalizer): Return early for package bodies and specs that
+ are not compilation units instead of using a more convoluted test.
+ (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups
+ is set on the defining entity.
+ (Expand_N_Package_Declaration): Likewise.
+ * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop.
+ (Add_Pending_Instantiation): Add Fin_Scop parameter.
+ * inline.adb (Add_Pending_Instantiation): Likewise and copy it into
+ the Pending_Body_Info appended to Pending_Instantiations.
+ (Add_Scope_To_Clean): Change parameter name to Scop and remove now
+ irrelevant processing.
+ (Cleanup_Scopes): Deal with scopes that are package specs or bodies.
+ (Instantiate_Body): For package instantiations, deal specially with
+ scopes that are package bodies and with scopes that are dynamic.
+ Pass the resulting scope to Add_Scope_To_Clean directly.
+ * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a
+ body is needed, compute the enclosing finalization scope and pass it
+ in the call to Add_Pending_Instantiation.
+ (Inline_Instance_Body): Adjust aggregate passed in the calls to
+ Instantiate_Package_Body.
+ (Load_Parent_Of_Generic): Likewise.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count
+ expressions in consecutive subaggregates.
+
+2023-05-26 Doug Rupp <rupp@adacore.com>
+
+ * libgnarl/s-osinte__qnx.ads (sigset_t): Modify
+ declaration to use system.os_constants computed
+ value. Align it.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo
+ and Sinfo.Nodes.
+ (Build_K): Always use 'Tag of the object.
+ (Build_S_Assignment): Likewise.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * accessibility.adb
+ (Is_Formal_Of_Current_Function): This routine expects an entity
+ reference and not the entity itself, so its parameter is a Node_Id
+ and not an Entity_Id.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Array_Aggr_Code): Change variable to constant.
+ (Check_Same_Aggr_Bounds): Fix style; remove unused initial value.
+
+2023-05-26 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals
+ in more situations.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Selected_Range_Checks): Add guards to protect calls
+ to Expr_Value on bounds.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time
+ known bounds and add WARNING line.
+ (Not_Null_Range): Remove requirements of compile-time known bounds.
+ * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare.
+ (Not_Null_Range): Likewise.
+ * fe.h (Is_Null_Range): New predicate.
+
+2023-05-25 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb
+ (Warn_On_Null_Component_Association): New subprogram.
+ (Empty_Range): Adding missing support for iterated component
+ association node.
+ (Resolve_Array_Aggregate): Report warning on iterated component
+ association that may initialize some component of an array of
+ null-excluding access type components with a null value.
+ * exp_ch4.adb
+ (Expand_N_Expression_With_Actions): Add missing type check since
+ the subtype of the EWA node and the subtype of the expression
+ may differ.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Determining_Expressions): Fix style; fix layout and
+ ordering of pragma names; expect pragma Exceptional_Cases.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * einfo-utils.adb (Write_Entity_Info): Use procedural Next_Index.
+ * sem_aggr.adb (Collect_Aggr_Bounds): Reuse local constant.
+ (Resolve_Null_Array_Aggregate): Use procedural Next_Index.
+
+2023-05-25 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to
+ aggregate components when the aggregate is empty.
+
+2023-05-25 Johannes Kliemann <kliemann@adacore.com>
+
+ * libgnat/system-vxworks7-ppc-kernel.ads: Enable
+ Support_Atomic_Primitives.
+ * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+
+2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when
+ building the subtype declaration in the case of a spec expression.
+
+2023-05-25 Tom Tromey <tromey@adacore.com>
+
+ * Make-generated.in (ada/stamp-snames): Check result of
+ gnatmake.
+
+2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cstand.adb (Create_Standard): Set the Is_Descendant_Of_Address
+ flag on Standard_Address.
+ * freeze.adb (Freeze_Entity): Copy the modulus of System.Address
+ onto Standard_Address.
+
+2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/system-aix.ads (Address): Likewise.
+ * libgnat/system-darwin-arm.ads (Address): Likewise.
+ * libgnat/system-darwin-ppc.ads (Address): Likewise.
+ * libgnat/system-darwin-x86.ads (Address): Likewise.
+ * libgnat/system-djgpp.ads (Address): Likewise.
+ * libgnat/system-dragonfly-x86_64.ads (Address): Likewise.
+ * libgnat/system-freebsd.ads (Address): Likewise.
+ * libgnat/system-hpux-ia64.ads (Address): Likewise.
+ * libgnat/system-hpux.ads (Address): Likewise.
+ * libgnat/system-linux-alpha.ads (Address): Likewise.
+ * libgnat/system-linux-arm.ads (Address): Likewise.
+ * libgnat/system-linux-hppa.ads (Address): Likewise.
+ * libgnat/system-linux-ia64.ads (Address): Likewise.
+ * libgnat/system-linux-m68k.ads (Address): Likewise.
+ * libgnat/system-linux-mips.ads (Address): Likewise.
+ * libgnat/system-linux-ppc.ads (Address): Likewise.
+ * libgnat/system-linux-riscv.ads (Address): Likewise.
+ * libgnat/system-linux-s390.ads (Address): Likewise.
+ * libgnat/system-linux-sh4.ads (Address): Likewise.
+ * libgnat/system-linux-sparc.ads (Address): Likewise.
+ * libgnat/system-linux-x86.ads (Address): Likewise.
+ * libgnat/system-lynxos178-ppc.ads (Address): Likewise.
+ * libgnat/system-lynxos178-x86.ads (Address): Likewise.
+ * libgnat/system-mingw.ads (Address): Likewise.
+ * libgnat/system-qnx-arm.ads (Address): Likewise.
+ * libgnat/system-rtems.ads (Address): Likewise.
+ * libgnat/system-solaris-sparc.ads (Address): Likewise.
+ * libgnat/system-solaris-x86.ads (Address): Likewise.
+ * libgnat/system-vxworks-ppc-kernel.ads (Address): Likewise.
+ * libgnat/system-vxworks-ppc-rtp-smp.ads (Address): Likewise.
+ * libgnat/system-vxworks-ppc-rtp.ads (Address): Likewise.
+ * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Address): Likewise.
+ * libgnat/system-vxworks7-aarch64.ads (Address): Likewise.
+ * libgnat/system-vxworks7-arm-rtp-smp.ads (Address): Likewise.
+ * libgnat/system-vxworks7-arm.ads (Address): Likewise.
+ * libgnat/system-vxworks7-ppc-kernel.ads (Address): Likewise.
+ * libgnat/system-vxworks7-ppc-rtp-smp.ads (Address): Likewise.
+ * libgnat/system-vxworks7-ppc64-kernel.ads (Address): Likewise.
+ * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Address): Likewise.
+ * libgnat/system-vxworks7-x86-kernel.ads (Address): Likewise.
+ * libgnat/system-vxworks7-x86-rtp-smp.ads (Address): Likewise.
+ * libgnat/system-vxworks7-x86_64-kernel.ads (Address): Likewise.
+ * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Address): Likewise.
+
+2023-05-25 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string,
+ use existing local Ident.
+
+2023-05-25 Bob Duff <duff@adacore.com>
+
+ * atree.adb (Check_Vanishing_Fields): Fix bug in the "blah type
+ only" cases. Remove the special cases for E_Void. Misc cleanup.
+ (Mutate_Nkind): Disallow mutating to the same kind.
+ (Mutate_Ekind): Disallow mutating to E_Void.
+ (From E_Void is still OK -- entities start out as E_Void by
+ default.) Fix bug in statistics gathering -- was setting the wrong
+ count. Enable Check_Vanishing_Fields for entities.
+ * sem_ch8.adb (Is_Self_Hidden): New function.
+ (Find_Direct_Name): Call Is_Self_Hidden to use the new
+ Is_Not_Self_Hidden flag to determine whether a declaration is
+ hidden from all visibility by itself. This replaces the old method
+ of checking E_Void.
+ (Find_Expanded_Name): Likewise.
+ (Find_Selected_Component): Likewise.
+ * sem_util.adb (Enter_Name): Remove setting of Ekind to E_Void.
+ * sem_ch3.adb: Set the Is_Not_Self_Hidden flag in appropriate
+ places. Comment fixes.
+ (Inherit_Component): Remove setting of Ekind to E_Void.
+ * sem_ch9.adb
+ (Analyze_Protected_Type_Declaration): Update comment. Skip Itypes,
+ which should not be turned into components.
+ * atree.ads (Mutate_Nkind): Document error case.
+ (Mutate_Ekind): Remove comments apologizing for E_Void mutations.
+ Document error cases.
+
+2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/a-ststio.adb (Set_Mode): Test System.Memory_Size.
+ * libgnat/g-debuti.ads (Address_64): Likewise.
+ * libgnat/i-c.ads: Add with clause for System.
+ (ptrdiff_t): Define based on the size of memory space.
+ (size_t): Likewise.
+ * libgnat/s-crtl.ads (size_t): Likewise.
+ (ssize_t): Likewise.
+ * libgnat/s-memory.ads (size_t): Likewise.
+ * libgnat/s-parame.ads (Size_Type): Likewise.
+ * libgnat/s-parame__hpux.ads (Size_Type): Likewise.
+ * libgnat/s-parame__posix2008.ads (Size_Type): Likewise.
+ * libgnat/s-parame__vxworks.ads (Size_Type): Likewise.
+ * libgnat/s-putima.adb (Signed_Address): Likewise.
+ (Unsigned_Address): Likewise.
+ * libgnat/s-stoele.ads (Storage_Offset): Likewise.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition
+ as when it was incremented.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.ads (New_Copy_Tree): Remove Scopes_In_EWA_OK from spec;
+ adapt comment.
+ * sem_util.adb (New_Copy_Tree): Remove Scopes_In_EWA_OK from body;
+ adapt code.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Update_New_Entities): Remove redundant check for entity
+ map being present.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * atree.adb (Copy_List): Call Copy_Separate_Tree for both entities and
+ other nodes.
+
+2023-05-25 Steve Baird <baird@adacore.com>
+
+ * exp_attr.adb
+ (Cached_Streaming_Ops): A new package, providing maps to save
+ previously-generated Read/Write/Input/Output procedures.
+ (Expand_N_Attribute_Reference): When a new subprogram is generated
+ for a Read/Write/Input/Output attribute reference, record that
+ type/subp pair in the appropriate Cached_Streaming_Ops map.
+ (Find_Stream_Subprogram): Check the appropriate
+ Cached_Streaming_Ops map to see if an appropriate subprogram has
+ already been generated. If so, then return it. The appropriateness
+ test includes a call to a new nested subprogram,
+ In_Available_Context.
+ * exp_strm.ads, exp_strm.adb: Do not pass in a Loc parameter (or a
+ source-location-bearing Nod parameter) to the 16 procedures
+ provided for building streaming-related subprograms. Use the
+ source location of the type instead.
+ * exp_dist.adb, exp_ch3.adb: Adapt to Exp_Strm spec changes. For
+ these calls the source location of the type was already being
+ used.
+
+2023-05-25 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Return): Add missing
+ Is_Access_Type check before accessing the Designated_Type field.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch6.adb (Analyze_Return_Type): Remove unused initial value.
+
+2023-05-25 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item.
+ (Check_Aspect_At_Freeze_Point): Check the aspect is specified on
+ non-array type only...
+ (Analyze_One_Aspect): ... instead of doing it too early here.
+ * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case
+ the parameters failed to resolve.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Check_Internal_Protected_Use): Add standard protection
+ against search going too far.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * contracts.adb
+ (Add_Pre_Post_Condition): Mention new aspects in the comment.
+ * contracts.ads
+ (Add_Contract_Item): Likewise.
+ (Analyze_Subprogram_Body_Stub_Contract): Likewise.
+ * sem_prag.adb
+ (Contract_Freeze_Error): Likewise.
+ (Ensure_Aggregate_Form): Likewise.
+ * sem_prag.ads
+ (Find_Related_Declaration_Or_Body): Likewise.
+ * sinfo.ads
+ (Is_Generic_Contract_Pragma): Likewise.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * aspects.ads
+ (Implementation_Defined_Aspect): Recently added aspects are
+ implementation-defined, just like Contract_Cases.
+ * sem_prag.ads
+ (Aspect_Specifying_Pragma): Recently added aspects have corresponding
+ pragmas, just like Contract_Cases.
+ (Pragma_Significant_To_Subprograms): Recently added aspects are
+ significant to subprograms, just like Contract_Cases.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Tune handling of formal parameters
+ in contract Exceptional_Cases.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * par-ch7.adb (P_Package): Remove redundant guard from call to
+ Move_Aspects.
+ * par-ch9.adb (P_Task): Likewise.
+ * sem_ch6.adb (Analyze_Expression_Function, Is_Inline_Pragma): Likewise.
+
+2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Use Get_Actual_Subtype
+ to retrieve the actual subtype for all actuals and do it in only one
+ place for all unconstrained composite formal types.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Fix references to Exceptional_Cases in
+ code copied from handling of Subprogram_Variant.
+
+2023-05-25 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Replace_Type): Add more documentation.
+
+2023-05-25 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Replace_Type): Use existing constant wherever
+ possible.
+
+2023-05-25 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch3.adb (Replace_Type): Reduce span of variable.
+
+2023-05-25 Bob Duff <duff@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type_Declaration): Set the flag
+ for protected types.
+ (Analyze_Single_Protected_Declaration): Likewise, for singleton
+ protected objects.
+ (Analyze_Task_Type_Declaration): Set the flag for task types.
+ (Analyze_Single_Task_Declaration): Likewise, for singleton task
+ objects.
+ * sem_ch10.adb (Decorate_Type): Set the flag for types treated as
+ incomplete.
+ (Build_Shadow_Entity): Set the flag for shadow entities.
+ (Decorate_State): Set the flag for an abstract state.
+ (Build_Limited_Views): Set the flag for limited view of package.
+ * sem_attr.adb (Check_Not_Incomplete_Type): Disable the check when
+ this is a current instance.
+
+2023-05-25 Ronan Desplanques <desplanques@adacore.com>
+
+ * freeze.adb (Build_DTW_Body): Add appropriate type conversions for
+ controlling access parameters.
+ * sem_util.adb (Build_Overriding_Spec): Fix designated types in
+ controlling access parameters.
+
+2023-05-25 Bob Duff <duff@adacore.com>
+
+ * gen_il-gen-gen_entities.adb (E_Label): Add
+ Entry_Cancel_Parameter. This is necessary because
+ Analyze_Implicit_Label_Declaration set the Ekind to E_Label.
+ Without this change, this field would fail the vanishing-fields
+ check in Atree (which is currently commented out).
+ * einfo.ads (Entry_Cancel_Parameter): Document for E_Label.
+ * sem_eval.adb (Why_Not_Static): Protect against previous errors
+ (no need to explain why something is not static if it's already
+ illegal for other reasons).
+ * sem_util.ads (Enter_Name): Fix misleading comment.
+
+2023-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Scope_Depth): Fix circular definition.
+ (Scope_Depth_Value): Fix value for library units.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch11.adb (Analyze_Raise_Expression): Tune warning condition.
+ * libgnat/g-dirope.ads (Open): Remove a potentially inaccurate comment.
+ * libgnat/g-dirope.adb (Open): Remove a potentially useless assignment;
+ the Dir output parameter should be assigned a null value anyway by the
+ preceding call to Free.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Allow aliased parameters; tune
+ error message.
+
+2023-05-25 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as
+ needing delayed resolution and reject the aspect on non-array
+ type.
+
+2023-05-25 Bob Duff <duff@adacore.com>
+
+ * sinfo-utils.adb: Update comment to refer to
+ New_Node_Debugging_Output.
+
+2023-05-25 Marc Poulhiès <poulhies@adacore.com>
+
+ * rtsfind.adb (Load_RTU.Restore_SPARK_Context): New.
+ (Load_RTU): Use Restore_SPARK_Context on all exit paths.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Initialize local
+ variable to Empty.
+
+2023-05-25 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_attr.adb
+ (Analyze_Attribute_Old_Result): Allow uses of 'Old and 'Result within
+ the new aspect.
+ * sem_res.adb
+ (Within_Exceptional_Cases_Consequence): New utility routine.
+ (Resolve_Entity_Name): Restrict use of formal parameters within the
+ new aspect.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * aspects.ads
+ (Aspect_Id): Add aspect identifier.
+ (Aspect_Argument): New aspect accepts an expression.
+ (Is_Representation_Aspect): New aspect is not a representation
+ aspect.
+ (Aspect_Names): Associate name with the new aspect identifier.
+ (Aspect_Delay): New aspect is never delayed.
+ * contracts.adb
+ (Add_Contract_Item): Store new aspect among contract items.
+ (Analyze_Entry_Or_Subprogram_Contract): Likewise.
+ (Analyze_Subprogram_Body_Stub_Contract): Likewise.
+ (Process_Contract_Cases): Expand new aspect, if present.
+ * contracts.ads
+ (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in
+ spec.
+ (Analyze_Entry_Or_Subprogram_Contract): Likewise.
+ * einfo-utils.adb
+ (Get_Pragma): Allow new aspect to be picked by the backend.
+ * einfo-utils.ads
+ (Get_Pragma): Mention new aspect in spec.
+ * exp_prag.adb
+ (Expand_Pragma_Exceptional_Cases): Dummy expansion routine.
+ * exp_prag.ads
+ (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine.
+ * inline.adb
+ (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline.
+ * par-prag.adb
+ (Par.Prag): Accept pragma in the parser, so it will be checked
+ later.
+ * sem_ch12.adb
+ (Implementation of Generic Contracts): Mention new aspect in
+ comment.
+ * sem_ch13.adb
+ (Analyze_Aspect_Specifications): Transform new aspect info a
+ corresponding pragma.
+ * sem_prag.adb
+ (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect
+ expression; heavily inspired by the existing code for analysis of
+ Subprogram_Variant and exception handlers.
+ (Analyze_Pragma): Analyze pragma corresponding to the new aspect.
+ (Is_Non_Significant_Pragma_Reference): Add new pragma to the
+ table.
+ * sem_prag.ads
+ (Assertion_Expression_Pragma): New pragma acts as an assertion
+ expression, even though it is not currently expanded.
+ (Analyze_Exceptional_Cases_In_Decl_Part): Add spec.
+ * sem_util.adb
+ (Is_Subprogram_Contract_Annotation): Mark new annotation is a
+ subprogram contract, so the subprogram with it won't be inlined.
+ * sem_util.ads
+ (Is_Subprogram_Contract_Annotation): Mention new aspect in
+ comment.
+ * sinfo.ads
+ (Contract_Test_Cases): Mention new aspect in comment.
+ * snames.ads-tmpl: Add entries for the new name and pragma.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Build_Predicate_Functions): If the current scope
+ is not that of the type, push this scope and pop it at the end.
+ * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete.
+ * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise.
+ (Set_Public_Status): Call again Current_Scope.
+
+2023-05-23 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from
+ call to Is_Limited_Record, since that flag is now properly
+ inherited by class-wide types.
+ * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call
+ to Make_Class_Wide_Type, which is done too early, and will later
+ be done in Build_Derived_Record_Type after flags such as
+ Is_Limited_Record and Is_Controlled_Active have been set on the
+ derived type.
+
+2023-05-23 Patrick Bernardi <bernardi@adacore.com>
+
+ * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack.
+ * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS
+ choice.
+ * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch11.adb
+ (Check_Duplication): Fix inconsistent iteration.
+ (Others_Present): Iterate over handlers using First_Non_Pragma and
+ Next_Non_Pragma just like in Check_Duplication.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Delay_Subprogram_Descriptors): Delete.
+ * gen_il-fields.ads (Opt_Field_Enum): Remove
+ Delay_Subprogram_Descriptors.
+ * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise.
+ * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec.
+ * sinfo.ads (Corresponding_Spec): Document new use.
+ (N_Entry_Body): Likewise.
+ * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for
+ protected subprograms that have been expanded.
+ * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code.
+ * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the
+ new block and propagate Uses_Sec_Stack from the corresponding spec.
+ (Expand_N_Protected_Body) <N_Subprogram_Body>: Unconditionally reset
+ the scopes of top-level entities in the new body.
+ * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly.
+ * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec.
+ * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code
+ setting Delay_Subprogram_Descriptors and tidy up.
+ * sem_util.adb (Scope_Within): Deal with protected subprograms that
+ have been expanded.
+ (Scope_Within_Or_Same): Likewise.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnarl/s-taskin.ads (Atomic_Address): Delete.
+ (Attribute_Array): Add pragma Atomic_Components.
+ (Ada_Task_Control_Block): Adjust default value of Attributes.
+ * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local
+ variable.
+ * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter.
+ (To_Attribute): Adjust source type.
+ * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements.
+ (New_Attribute): Adjust return type.
+ (Deallocate): Adjust type of parameter.
+ (To_Real_Attribute): Adjust source type.
+ (To_Address): Add target type.
+ (To_Attribute): Adjust source type.
+ (Fast_Path): Adjust tested type.
+ (Finalize): Compare with Null_Address.
+ (Reference): Likewise.
+ (Reinitialize): Likewise.
+ (Set_Value): Likewise. Add conversion to Integer_Address.
+ (Value): Likewise.
+
+2023-05-23 Raphael Amiard <amiard@adacore.com>
+
+ * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed
+ by Core_Extensions_Allowed.
+
+2023-05-23 Claire Dross <dross@adacore.com>
+
+ * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers.
+ * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost,
+ Raw_Unsigned_Is_Based_Ghost): New ghost helper functions.
+ (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost,
+ Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new
+ helpers.
+
+2023-05-23 Arnaud Charlet <charlet@adacore.com>
+
+ * par-ch5.adb, style.ads, styleg.adb, styleg.ads
+ (Check_Xtra_Parens): Remove extra parameter Enable.
+ (Check_Xtra_Parens_Precedence): New.
+ (P_Case_Statement): Add -gnatyx style check.
+ * sem_ch4.adb: Replace calls to Check_Xtra_Parens by
+ Check_Xtra_Parens_Precedence.
+ * stylesw.ads, stylesw.adb, usage.adb: Add support for
+ -gnatyz.
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+ Update -gnatyxzg doc.
+ * sem_prag.adb, libgnat/s-regpat.adb,
+ libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb:
+ Remove extra parens.
+ * par-ch3.adb (P_Discrete_Range): Do not emit a style check if
+ the expression is not a simple expression.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of
+ System.Storage_Elements to compute the offset.
+ (Symbolic_Address): Likewise.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same
+ resolution for the special mod operator of System.Storage_Elements.
+
+2023-05-23 Raphael Amiard <amiard@adacore.com>
+
+ * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst,
+ doc/gnat_rm/implementation_defined_pragmas.rst:
+ * gnat_rm.texi: Regenerate.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special
+ operator of System.Storage_Elements. Do not rewrite it into a rem.
+ * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the
+ left operand for the special mod operator of System.Storage_Elements
+
+2023-05-23 Vadim Godunko <godunko@adacore.com>
+
+ * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call
+ of Detach
+ (Query_Element): Likewise.
+
+2023-05-23 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_disp.adb: Fix reference to Ada issue in comment.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface
+ class-wide case, use 'Tag of the object as the controlling tag.
+ (Expand_Interface_Thunk): Perform address arithmetic using operators
+ of System.Storage_Elements.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements.
+ (Addr): Delete.
+ (Offset): New subtype of Storage_Offset.
+ (To_Offset): New instance of Unchecked_Conversion.
+ (To_Pointer): Adjust.
+ (To_Addr): Likewise.
+ (To_Ptrdiff): Likewise.
+ ("+"): Call To_Offset on the offset.
+ ("-"): Likewise.
+ * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements.
+ (Val_Bytes): Change type to Storage_Count.
+ (Get_Val_2): Add qualification to second operand of mod operator.
+ (Set_Val_2): Likewise.
+ (Copy_Bitfield): Likewise. Change type of Src_Adjust & Dest_Adjust.
+ * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address.
+ * libgnat/s-statxd.adb (I_AD): Adjust.
+ (I_AS): Likewise.
+ (W_AS): Likewise.
+
+2023-05-23 Steve Baird <baird@adacore.com>
+
+ * sem_util.adb
+ (Is_Variable): Correctly return False for a selected component
+ name of the form Some_Object.Some_Discriminant, even if
+ Some_Object is a variable. We don't want to allow such a name as
+ an actual parameter in a call if the corresponding formal
+ parameter's mode is not "in".
+
+2023-05-23 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Check_Node): Add default init on local Id.
+
+2023-05-23 Yannick Moy <moy@adacore.com>
+
+ * libgnat/i-c.adb (To_Ada): Add loop invariant.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod
+ operator of System.Storage_Elements.
+ * exp_intr.adb (Expand_To_Integer): New procedure.
+ (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately.
+ (Expand_To_Address): Deal with an argument with modular type.
+ * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic
+ on a derived intrinsic subprogram.
+ * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic
+ operators not coming from source exactly as those coming from
+ source and also generate a reference in both cases.
+ (Resolve_Op_Expon): Likewise.
+ (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get
+ a nonprivate base type.
+ * snames.ads-tmpl (Name_To_Integer): New intrinsic name.
+ * libgnat/s-stoele.ads: Replace pragma Convention with pragma
+ Import throughout and remove pragma Inline_Always and
+ Pure_Function.
+ * libgnat/s-stoele.adb: Replace entire contents with pragma
+ No_Body.
+ * libgnat/s-atacco.adb: Adjust comment about pragma No_Body.
+
+2023-05-23 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
+ call to preanalyze class-wide conditions since here it is too
+ early; they must be preanalyzed when full views of private types
+ have been analyzed.
+ * sem_ch7.adb (Analyze_Package_Specification): Preanalyze
+ class-wide conditions of dispatching primitives defined in nested
+ packages.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1"
+ statement into a subprogram; replace assertions with defensive code;
+ fix few more off-by-one errors.
+
+2023-05-23 Ronan Desplanques <desplanques@adacore.com>
+
+ * einfo.ads: Mention full name of LSP.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (Last_Sloc): Rewrite skipping past numeric literals.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the
+ commentary to the current implementation.
+ * sem_util.ads (Current_Scope_No_Loops): Move around.
+ (Current_Scope_No_Loops_No_Blocks): New declaration.
+ (Add_Block_Identifier): Fix formatting.
+ * sem_util.adb (Add_Block_Identifier): Likewise.
+ (Current_Scope_No_Loops_No_Blocks): New function.
+ (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead
+ of Current_Scope to get the current scope.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not
+ manually generate a predicate check. Call Unqualify before doing
+ pattern matching on the expression.
+ * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual
+ subtype when it is built in the definite case.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnarl/s-interr.adb
+ (Registered_Handler): Remove default expression.
+ (Registered_Handlers): Switch to singly-linked list.
+ (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants.
+ (Is_Registered): Use singly-linked list.
+ (Register_Interrupt_Handler): Use singly-linked list and initialized
+ allocator; sync assertion with other unit variants.
+ * libgnarl/s-interr__sigaction.adb: Likewise.
+ * libgnarl/s-interr__vxworks.adb: Likewise.
+ * libgnarl/s-interr__hwint.adb: Likewise.
+ (Is_Registered): Remove repeated declaration.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * pprint.adb (Expression_Image): Restore some of the old pretty-printing
+ for CodePeer.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * pprint.adb (Expression_Image): Move Count_Parentheses and
+ Fix_Parentheses routines from GNATprove and apply them before
+ returning the slice of a source code buffer.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb
+ (Paren_Required): New subsidiary routine for better handling of
+ parentheses in First_Node/Last_Node.
+ (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly
+ handle generic instances and inlined subprograms; tune handling of
+ parentheses; improve handling of literals.
+ * pprint.adb (Expression_Image): Simplify using
+ First_Sloc/Last_Sloc.
+ * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis
+ when relocating expression from expression function to simple
+ return statement.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of
+ subprogram variants.
+
+2023-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * frontend.adb (Frontend): Merge two conditional blocks and adjust.
+
+2023-05-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment.
+
+2023-05-23 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch7.adb: Remove duplicate comment.
+
+2023-05-23 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb
+ (Analyze_Required_Limited_With_Units): New subprogram.
+ (Depends_On_Limited_Views): New subprogram.
+ (Has_Limited_With_Clauses): New subprogram.
+ (Analyze_Compilation_Unit): Call the new subprogram that performs
+ the full analysis of required limited-with units.
+
+2023-05-22 Ronan Desplanques <desplanques@adacore.com>
+
+ * cstand.adb: Use more idiomatic procedure.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (First_Loc): Avoid repeated calls.
+ (Last_Loc): Likewise.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Cleanup_Scopes): Do not propagate the Uses_Sec_Stack
+ flag from original to rewritten protected subprograms here...
+ * exp_ch9.adb (Expand_N_Protected_Body) <N_Subprogram_Body>:
+ ...but here instead. Add local variables and remove a useless
+ test.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get
+ the entity of the body.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_attr.adb (Expand_Loop_Entry_Attribute): Use location of the
+ attribute reference, not of the loop statement.
+
+2023-05-22 Ronan Desplanques <desplanques@adacore.com>
+
+ * par-ch3.adb: Add missing word in comment.
+
+2023-05-22 Justin Squirek <squirek@adacore.com>
+
+ * checks.adb (Install_Null_Excluding_Check): Avoid non-null
+ optimizations when assertions are enabled.
+
+2023-05-22 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_aggr.adb (Process_Transient_Component): Reset Analyzed flag
+ for the copy of the initialization expression.
+ * sem_attr.adb (Validate_Non_Static_Attribute_Function_Call): Skip
+ error emission during Pre_Analyze.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Process_Package_Body): New procedure taken from...
+ (Build_Finalizer.Process_Declarations): ...here. Call the above
+ procedure to deal with both package bodies and package body stubs.
+
+2023-05-22 Ronan Desplanques <desplanques@adacore.com>
+
+ * atree.ads: Remove outdated part of comment.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer): Reverse the test comparing the
+ instantiation and declaration nodes of a package instance, and
+ therefore bail out only when they are equal. Adjust comments.
+ (Expand_N_Package_Declaration): Do not clear the Finalizer field.
+ * lib-writ.adb: Add with and use clauses for Sem_Util.
+ (Write_Unit_Information): Look at unit nodes to find finalizers.
+ * sem_ch12.adb (Analyze_Package_Instantiation): Beef up the comment
+ about the rewriting of the instantiation node into a declaration.
+
+2023-05-22 Bob Duff <duff@adacore.com>
+
+ * cstand.adb (Is_Past_Self_Hiding_Point): Rename to be
+ Is_Not_Self_Hidden.
+ * einfo.ads: Likewise.
+ * exp_aggr.adb: Likewise.
+ * gen_il-fields.ads: Likewise.
+ * gen_il-gen-gen_entities.adb: Likewise.
+ * sem.adb: Likewise.
+ * sem_aggr.adb: Likewise.
+ * sem_ch11.adb: Likewise.
+ * sem_ch12.adb: Likewise.
+ * sem_ch5.adb: Likewise.
+ * sem_ch6.adb: Likewise.
+ * sem_ch7.adb: Likewise.
+ * sem_prag.adb: Likewise.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body
+ as the expanded body of an expression function.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * pprint.adb (Expression_Image): Handle several previously unsupported
+ constructs.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Combine two IF statements that
+ execute code only for references that come from source.
+
+2023-05-22 Bob Duff <duff@adacore.com>
+
+ * einfo.ads (Is_Past_Self_Hiding_Point): Document.
+ * gen_il-fields.ads (Is_Past_Self_Hiding_Point): Add to list of
+ fields.
+ * gen_il-gen-gen_entities.adb (Is_Past_Self_Hiding_Point): Declare
+ in all entities.
+ * exp_aggr.adb: Set Is_Past_Self_Hiding_Point as appropriate.
+ * sem.adb: Likewise.
+ * sem_aggr.adb: Likewise.
+ * sem_ch11.adb: Likewise.
+ * sem_ch12.adb: Likewise.
+ * sem_ch5.adb: Likewise.
+ * sem_ch7.adb: Likewise.
+ * sem_prag.adb: Likewise.
+ * sem_ch6.adb: Likewise.
+ (Set_Formal_Mode): Minor cleanup: Move from spec.
+ * sem_ch6.ads:
+ (Set_Formal_Mode): Minor cleanup: Move to body.
+ * cstand.adb: Call Set_Is_Past_Self_Hiding_Point on all entities
+ as soon as they are created.
+ * comperr.adb (Compiler_Abort): Minor cleanup -- use 'in' instead
+ of 'or else'.
+ * debug.adb: Minor comment cleanups.
+
+2023-05-22 Steve Baird <baird@adacore.com>
+
+ * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
+ Accept an executable pragma occuring in a declare expression as
+ per AI22-0045. This means Assert and Inspection_Point pragmas as
+ well as any implementation-defined pragmas that the implementation
+ chooses to categorize as executable. Currently Assume and Debug
+ are the only such pragmas.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb
+ (Check_Postcondition_Use_In_Inlined_Subprogram): Mention
+ Subprogram_Variant in the comment.
+ (Analyze_Subprogram_Variant_In_Decl_Part): Warn when contract is
+ ignored because of pragma Inline_Always and frontend inlining.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only
+ emit warning when frontend inlining is enabled.
+
+2023-05-22 Arnaud Charlet <charlet@adacore.com>
+
+ * par-ch3.adb, sem_ch4.adb (P_Discrete_Range, Analyze_Logical_Op,
+ Analyze_Short_Circuit): Add calls to Check_Xtra_Parentheses.
+ * par-ch5.adb (P_Condition): Move logic to Check_Xtra_Parentheses.
+ * style.ads, styleg.adb, styleg.ads (Check_Xtra_Parens): Move logic
+ related to expressions requiring parentheses here.
+
+2023-05-22 Arnaud Charlet <charlet@adacore.com>
+
+ * ali-util.adb, par-endh.adb, par-prag.adb, par-ch2.adb,
+ checks.adb, fmap.adb, libgnat/a-nbnbig.ads, libgnat/g-dynhta.adb,
+ libgnat/s-carun8.adb, libgnat/s-strcom.adb, libgnat/a-dhfina.adb,
+ libgnat/a-direct.adb, libgnat/a-rbtgbo.adb, libgnat/a-strsea.adb,
+ libgnat/a-ststio.adb, libgnat/a-suenco.adb, libgnat/a-costso.adb,
+ libgnat/a-strmap.adb, libgnat/g-alleve.adb,
+ libgnat/g-debpoo.adb, libgnat/g-sercom__linux.adb,
+ libgnat/s-genbig.adb, libgnat/s-mmap.adb, libgnat/s-regpat.adb,
+ par-ch5.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb,
+ sem_ch8.adb, sem_eval.adb, sem_prag.adb, sem_type.adb,
+ exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb,
+ exp_ch6.adb, exp_ch9.adb, exp_put_image.adb, freeze.adb, live.adb,
+ sem_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch3.adb, sem_ch6.adb,
+ sem_ch9.adb, sem_disp.adb, sem_elab.adb, sem_res.adb,
+ sem_util.adb, sinput.adb, uintp.adb, bcheck.adb, binde.adb,
+ binderr.adb, einfo-utils.adb, clean.adb, sem_ch4.adb, gnatls.adb,
+ gprep.adb, sem_ch11.adb: Remove extra parentheses.
+
+2023-05-22 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_aggr.adb (Get_Value): Use ?? instead of ?.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb (Aggregate_Size): Remove redundant calls to
+ Present.
+ * exp_ch5.adb (Expand_N_If_Statement): Likewise.
+ * sem_prag.adb (Analyze_Pragma): Likewise.
+ * sem_warn.adb (Find_Var): Likewise.
+
+2023-05-22 Claire Dross <dross@adacore.com>
+
+ * sem_util.adb (Find_Actual): On calls through dereferences,
+ return the corresponding formal in the designated subprogram
+ profile.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.ads (Is_Actual_Tagged_Parameter): Remove spec.
+ * sem_util.adb (Is_Actual_Tagged_Parameter): Remove body.
+
+2023-05-22 Joffrey Huguet <huguet@adacore.com>
+
+ * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads
+ (To_Unbounded_String): Add postcondition. Add aspect SPARK_Mode
+ Off on the version that takes a Natural as parameter.
+ (To_String): Complete postcondition.
+ (Set_Unbounded_String): Add postcondition.
+ (Element): Likewise.
+ ("="): Likewise.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address
+ routine for a class-wide type if restriction No_Dispatching_Calls
+ is in effect.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/s-genbig.ads (From_Bignum): New overloaded declarations.
+ * libgnat/s-genbig.adb (LLLI): New subtype.
+ (LLLI_Is_128): New boolean constant.
+ (From_Bignum): Change the return type of the signed implementation
+ to Long_Long_Long_Integer and add support for the case where its
+ size is 128 bits. Add a wrapper around it for Long_Long_Integer.
+ Add an unsigned implementation returning Unsigned_128 and a wrapper
+ around it for Unsigned_64.
+ (To_Bignum): Test LLLI_Is_128 instead of its size.
+ (To_String.Image): Add qualification to calls to From_Bignum.
+ * libgnat/a-nbnbin.adb (To_Big_Integer): Likewise.
+ (Signed_Conversions.From_Big_Integer): Likewise.
+ (Unsigned_Conversions): Likewise.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec
+ to copy the spec from the subprogram to the generated subprogram
+ body.
+ (Freeze_Entity): Do not wrap imported subprograms inside generics.
+
+2023-05-22 Steve Baird <baird@adacore.com>
+
+ * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
+ If Comes_From_Source (A) is False, then look at Original_Node (A)
+ instead of A. In particular, if an (illegal) expression function
+ is transformed into a "vanilla" function, we don't want to allow
+ it just because Comes_From_Source is now False.
+
+2023-05-22 Steve Baird <baird@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): In Check_No_Return, call
+ Error_Msg_Ada_2022_Feature in the case of a function. Remove code
+ outside of Check_No_Return that was querying Ada_Version.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do
+ not look into nested blocks.
+
+2023-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set
+ the Scope of the type, and call Constrain_Array for array subtypes.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * pprint.adb (Expression_Image): Reduce scope of local variables; inline
+ local uncommented constant From_Source; concatenate string with a single
+ character, as it is likely to execute faster; add missing cases to
+ traversal for the rightmost node and assertion to demonstrate that the
+ ??? comment is no longer relevant.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * pprint.adb (Expr_Name): Qualify CASE expression with N_Subexpr; add
+ missing alternative for N_Raise_Storage_Error; remove dead alternatives;
+ explicitly list unsupported alternatives.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * pprint.adb (Expr_Name): Exclude DEL from printable range.
+
+2023-05-22 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.ads (New_Copy_Tree): Update comment.
+ * sem_util.adb (New_Copy_Tree): Update Controlling_Argument, very
+ much like we update the First/Next_Named_Association.
+
+2023-05-22 Bob Duff <duff@adacore.com>
+
+ * fe.h: Remove Ada_With_Extensions and add commentary.
+ * opt.ads: Rearrange code and add commentary.
+
+2023-05-22 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Process_Type): Stop the recursion.
+ * exp_aggr.adb (Build_Record_Aggr_Code): Add assertion.
+
+2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * gcc-interface/decl.cc (gnat_to_gnu_entity): Use _P defines
+ from tree.h.
+ (constructor_address_p): Ditto.
+ (elaborate_expression_1): Ditto.
+ * gcc-interface/trans.cc (Identifier_to_gnu): Ditto.
+ (is_nrv_p): Ditto.
+ (Subprogram_Body_to_gnu): Ditto.
+ (gnat_to_gnu): Ditto.
+ (gnat_to_gnu_external): Ditto.
+ (add_decl_expr): Ditto.
+ (gnat_gimplify_expr): Ditto.
+ * gcc-interface/utils.cc (create_var_decl): Ditto.
+ * gcc-interface/utils2.cc (get_base_type): Ditto.
+ (build_binary_op): Ditto.
+ (build_unary_op): Ditto.
+ (gnat_protect_expr): Ditto.
+ (gnat_invariant_expr): Ditto.
+
+2023-05-16 Steve Baird <baird@adacore.com>
+
+ * usage.adb: Generate output text describing the -gnatw_s switch
+ (and the corresponding -gnatw_S switch).
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Reduce>:
+ Use the canonical accumulator type as the type of the accumulator
+ in the prefixed case.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): Do not set Warnings_Off on
+ the temporary created when in-place expansion is not possible.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Expression): When the freezing is to be done
+ outside the current scope, skip any scope that is an internal loop.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component
+ that depends on a discriminant, create an actual subtype for it.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb: Add with and use clauses for Expander.
+ (Resolve_Aspect_Expressions) <Aspect_Predicate>: Emulate a
+ bona-fide preanalysis setup before calling
+ Resolve_Aspect_Expression.
+
+2023-05-16 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-aridou.adb (Lemma_Div_Pow2): Add assertion.
+ * libgnat/s-arit32.adb (Lemma_Abs_Div_Commutation): Simplify.
+ * libgnat/s-expmod.adb (Lemma_Exp_Mod): Add assertions.
+ (Lemma_Euclidean_Mod): Add body to lemma.
+ (Lemma_Mult_Mod): Add assertion.
+ * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Modify assertion.
+ * libgnat/s-vauspe.ads (Raw_Unsigned_Last_Ghost): Add
+ postcondition.
+ * libgnat/s-widthi.adb: Use more precise types.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the
+ same processing for derived untagged types as for tagged types.
+ * sem_util.ads (Corresponding_Primitive_Op): Adjust description.
+ * sem_util.adb (Corresponding_Primitive_Op): Handle untagged
+ types.
+
+2023-05-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_attr.adb
+ (Analyze_Attribute_Old_Result): When preanalyzing a class-wide
+ condition, search in the scopes stack for the subprogram that has
+ the condition. This is required because returning the current
+ scope causes reporting spurious errors when the occurrence of the
+ attribute is found, for example, in a quantified expression.
+
+2023-05-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb
+ (Needs_BIP_Alloc_Form): Return False for functions with foreign
+ convention since we never use build-in-place for such functions.
+
+2023-05-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early
+ when preanalysing in GNATprove mode. Now the condition is
+ consistent with other similar conditions in other code.
+
+2023-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * usage.adb (Usage): Document -gnatyD.
+
+2023-05-16 Marc Poulhiès <poulhies@adacore.com>
+
+ * libgnat/s-tsmona__linux.adb (link_map, r_debug_type): Add
+ 'aliased' on all components.
+
+2023-05-16 Johannes Kliemann <kliemann@adacore.com>
+
+ * libgnat/system-linux-ppc.ads: Add Support_Atomic_Primitives.
+ * libgnat/s-atopri__32.ads: Add 32 bit version of s-atopri.ads.
+ * Makefile.rtl: Use s-atopro__32.ads for ppc-linux.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Get_Actual_Subtype): For an explicit dereference,
+ return the Actual_Designated_Subtype if it is present.
+ (Get_Actual_Subtype_If_Available): Likewise.
+
+2023-05-16 Arnaud Charlet <charlet@adacore.com>
+
+ * errout.ads: Update comment.
+ * errout.adb (Skip_Msg_Insertion_Warning): Update to take e.g.
+ -gnatyM into account.
+ * erroutc.adb (Get_Warning_Option, Get_Warning_Tag)
+ (Prescan_Message): Add support for Style tags.
+ * par-ch5.adb, par-ch6.adb, par-ch7.adb, par-endh.adb,
+ par-util.adb, style.adb, styleg.adb: Set tag on all style
+ messages.
+
+2023-05-16 Tom Tromey <tromey@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+ (Switches_for_gnatbind): Fix typo.
+ * libgnat/g-spipat.ads: Fix typo.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Build_Assignment_With_Temporary): Adjust comment
+ and fix type of second parameter. Create the temporary on the
+ secondary stack by calling Build_Temporary_On_Secondary_Stack.
+ (Convert_Array_Aggr_In_Allocator): Adjust formatting.
+ (Expand_Array_Aggregate): Likewise.
+ * exp_ch4.adb (Expand_N_Allocator): Set Actual_Designated_Subtype
+ on the dereference in the initialization for all composite types.
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Create a temporary
+ on the host for an assignment between nonnative storage models.
+ Suppress more checks when Suppress_Assignment_Checks is set.
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Deal with actuals
+ that are dereferences with an Actual_Designated_Subtype. Add
+ support for nonnative storage models.
+ (Expand_Actuals): Create a copy if the actual is a dereference
+ with a nonnative storage model.
+ * exp_util.ads (Build_Temporary_On_Secondary_Stack): Declare.
+ * exp_util.adb (Build_Temporary_On_Secondary_Stack): New function.
+ * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Do not
+ build an actual subtype for dereferences with an
+ Actual_Designated_Subtype
+ * sinfo.ads (Actual_Designated_Subtype): Adjust documentation.
+ (Suppress_Assignment_Checks): Likewise.
+
+2023-05-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_spark.adb (SPARK_Freeze_Type): Copy whole handling of DIC
+ and Type_Invariant from Freeze_Type.
+
+2023-05-16 Richard Kenner <kenner@adacore.com>
+
+ * sem_util.adb (Subprogram_Name): If what's passed is already an
+ entity, use that for the name.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
+ (No_Dependence): Give examples of new No_Dependence restrictions.
+ * gnat_rm.texi: Regenerate.
+
+2023-05-16 Arnaud Charlet <charlet@adacore.com>
+
+ * snames.ads-tmpl (Name_ASCII): New.
+ * style.adb (Check_Identifier): Fix handling of ASCII.
+
+2023-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gen_il-fields.ads (Opt_Field_Enum): Add Cannot_Be_Superflat.
+ * gen_il-gen-gen_nodes.adb (N_Range): Add Cannot_Be_Superflat as
+ semantical flag and change Includes_Infinities to semantical.
+ * sinfo.ads (Cannot_Be_Superflat): Document it for N_Range.
+ * exp_ch4.adb (Expand_Concatenate): Set Cannot_Be_Superflat on the
+ range of the result if the result cannot be null.
+
+2023-05-16 Richard Kenner <kenner@adacore.com>
+
+ * gen_il-gen-gen_nodes.adb (Present_Expr): Type is now Uint.
+
+2023-05-16 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition)
+ (Is_Scaled_Mult_Decomposition): Add annotation for inlining.
+ (Double_Divide, Scaled_Divide): Simplify and remove ghost code.
+ (Prove_Multiplication): Add calls to lemmas to make proof go
+ through.
+ * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation
+ for inlining.
+
+2023-05-16 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strsup.adb: Add intermediate assertions.
+
+2023-05-16 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: Ensure all dependencies are recorded even when not
+ generating code.
+
+2023-05-16 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strsup.adb: Set assertion policy for Loop_Variant.
+
+2023-05-16 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Simplify if/then/else.
+ (Instantiate_Subprogram_Body): Likewise.
+
+2023-05-16 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-aridou.adb:
+ (Big3): Remove override made useless.
+ (Lemma_Quot_Rem): Add new lemma and justify it, as no prover
+ manages to prove it.
+ (Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem.
+ (Prove_Scaled_Mult_Decomposition_Regroup3): Retype for
+ simplification.
+ (Scaled_Divide): Remove useless assertions.Decompose some
+ assertions with cut operations. Use Assert_And_Cut for second
+ half. Add assertions.
+
+2023-05-15 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
+
+2023-05-15 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strbou.ads: Add justifications for Mapping.
+ * libgnat/a-strfix.adb: Same.
+ * libgnat/a-strfix.ads: Same.
+ * libgnat/a-strsea.adb: Same.
+ * libgnat/a-strsea.ads: Same.
+ * libgnat/a-strsup.adb: Same and add loop variants.
+ * libgnat/a-strsup.ads: Same and add specification of termination.
+
+2023-05-15 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strsup.adb (Super_Slice): Reorder component assignment
+ to avoid failing predicate check related to initialization.
+ * libgnat/s-expmod.adb (Exp_Modular): Add intermediate assertion.
+
+2023-05-15 Yannick Moy <moy@adacore.com>
+
+ * libgnat/i-c.adb: Add loop variants. Remove useless
+ initialization.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * einfo-utils.ads: Remove comment.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * einfo-utils.ads, einfo-utils.adb: Get rid of the Proc_Next_...
+ procedures. Use Inline aspect instead of pragma Inline.
+ Is_Discrete_Or_Fixed_Point_Type did not have pragma Inline, but
+ now has the aspect; this was probably an oversight
+ (which illustrates why aspects are better).
+
+2023-05-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * doc/gnat_ugn/gnat_utility_programs.rst: Fix formatting
+ inconsistency.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * einfo-utils.adb:
+ (Proc_Next_Component_Or_Discriminant): Call
+ Next_Component_Or_Discriminant.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * einfo.ads:
+ (First_Entity): Update comment explaining why this exists on all
+ [sub]types, as opposed to just the ones with associated entities.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * atree.adb
+ (Check_Vanishing_Fields): Disable the check for "root/base type
+ only" fields. This is a bug fix -- if we're checking some subtype
+ S, we don't want to reach over to the root or base type and
+ Reinit_Field_To_Zero of that, thus modifying the field for lots of
+ subtypes other than S. Disable in the to/from E_Void cases. Misc
+ cleanup.
+ * gen_il-gen-gen_entities.adb: Define First_Entity, Last_Entity,
+ and Stored_Constraint for all type entities, because there are too
+ many cases where Reinit_Field_To_Zero would otherwise be needed.
+ In any case, it seems cleaner to have First_Entity and Last_Entity
+ defined in the same entity kinds.
+ * einfo.ads:
+ (First_Entity, Last_Entity, Stored_Constraint): Update comments to
+ reflect gen_il-gen-gen_entities.adb changes.
+ (Lit_Hash): Add missing "[root type only]" comment.
+ * exp_ch5.adb: Add Reinit_Field_To_Zero calls for vanishing
+ fields.
+ * sem_ch10.adb: Likewise.
+ * sem_ch6.adb: Likewise.
+ * sem_ch7.adb: Likewise.
+ * sem_ch8.adb: Likewise.
+ * sem_ch3.adb: Likewise. Also remove now-unnecessary
+ Reinit_Field_To_Zero calls.
+
+2023-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch7.adb (Hide_Public_Entities): Use the same condition for
+ subprogram bodies without specification as for those with one.
+
+2023-05-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (New_Copy_Tree): Remove redundant calls to Present.
+
+2023-05-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch8.adb (End_Scope): Simplify lookup of predecessor in
+ homonym chain.
+
+2023-05-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): Accept aggregates with OTHERS
+ appearing inside unchecked conversions.
+
+2023-05-15 Steve Baird <baird@adacore.com>
+
+ * warnsw.ads: Add a new element,
+ Warn_On_Ineffective_Predicate_Test, to the Opt_Warnings_Enum
+ enumeration type.
+ * warnsw.adb: Bind "-gnatw_s" to the new
+ Warn_On_Ineffective_Predicate_Test switch. Add the new switch to
+ the set of switches enabled by -gnata .
+ * sem_ch13.adb
+ (Build_Discrete_Static_Predicate): Declare new local procedure,
+ Warn_If_Test_Ineffective, which conditionally generates new
+ warning. Call this new procedure when building a new element of an
+ RList.
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+ Document the -gnatw_s switch (and the corresponding -gnatw_S
+ switch).
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-15 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb: Update comment referring to rule number.
+
+2023-05-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten
+ validity check for task types.
+
+2023-05-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_characteristics.rst: Fix
+ minor documentation formatting issue.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb
+ (Expand_N_Op_Expon): Remove the too-big check. Simplify. Signed
+ and modular cases are combined, etc. Remove code with comment "We
+ only handle cases where the right type is a[sic] integer", because
+ the right operand must always be an integer at this point.
+
+2023-05-15 Bob Duff <duff@adacore.com>
+
+ * sem_attr.adb
+ (Analyze_Attribute): Add a call to Check_Error_Detected.
+
+2023-05-15 Yannick Moy <moy@adacore.com>
+
+ * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to
+ expression in pragma association.
+
+2023-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * repinfo.ads (JSON output format): Document special case of
+ Present member of a Variant object.
+ * repinfo.adb (List_Structural_Record_Layout): Change the type of
+ Ext_Level parameter to Integer. Restrict the first recursion with
+ increasing levels to the fixed part and implement a second
+ recursion with decreasing levels for the variant part. Deal with
+ an extension of a type with unknown discriminants.
+
+2023-05-15 Claire Dross <dross@adacore.com>
+
+ * libgnat/s-valueu.adb: Use cut operations inside assertion to
+ restore proofs
+ * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-spark and
+ s-spcuop dependencies.
+
+2023-05-15 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb (Check_Grouping): Allow Annotate pragmas between
+ loop pragmas.
+
+2023-05-15 Javier Miranda <miranda@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_pragmas.rst
+ (Extensions_Allowed): Document string interpolation.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-15 Joel Brobecker <brobecker@adacore.com>
+
+ * doc/gnat_ugn/platform_specific_information.rst
+ (_PIE_Enabled_By_Default_On_Linux): New section.
+ * gnat-style.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-15 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb
+ (Has_Dispatching_Constructor_Call): New subprogram.
+ (Expand_Interface_Conversion): No need to perform dynamic
+ interface conversion when the operand and the target type are
+ interface types and the target interface type is an ancestor of
+ the operand type. The unique exception to this rule is when the
+ operand has a dispatching constructor call (as documented in the
+ sources).
+
+2023-05-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Reject attribute Initialized
+ on unchecked unions; fix grammar in comment.
+
+2023-05-15 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Fix behavior on
+ System.Address to access to subprogram subtype conversion.
+
+2023-05-15 Piotr Trojanek <trojanek@adacore.com>
+
+ * atree.ads
+ (Is_Syntactic_Node): Refactored from New_Copy_Tree.
+ * atree.adb
+ (Is_Syntactic_Node): Likewise.
+ (Copy_Separate_Tree): Use Is_Syntactic_Node.
+ * sem_util.adb
+ (Has_More_Ids): Move to Atree.
+ (Is_Syntactic_Node): Likewise.
+
+2023-04-18 Jin Ma <jinma@linux.alibaba.com>
+
+ * gcc-interface/utils.cc (unchecked_convert): Fix typo.
+
+2023-04-17 Martin Liska <mliska@suse.cz>
+
+ * gnatvsn.ads: Bump Library_Version to 14.
+
+2023-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/109510
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Do not reset
+ align to zero in any case. Set TYPE_USER_ALIGN on the type only if
+ it is an aggregate type, or else a type whose default alignment is
+ specifically capped on selected platforms.
+
+2023-04-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/109510
+ * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Reset align
+ to zero if its value is equal to TYPE_ALIGN and the type is scalar.
+ Set TYPE_USER_ALIGN on the type only if align is positive.
+
+2023-03-06 Javier Miranda <miranda@adacore.com>
+
+ PR ada/108858
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For functions with
+ separate spec, if their return type was visible through a limited-
+ with context clause, their extra formals were not added when the
+ spec was analyzed. Now the full view must be available, and the
+ extra formals can be created and Returns_By_Ref computed.
+
+2023-03-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/108909
+ PR ada/108983
+ * Make-generated.in: Do not use GNATMAKE.
+ * gcc-interface/Makefile.in: Ditto.
+
+2023-02-26 Peter Foley <pefoley2@pefoley.com>
+
+ PR ada/108909
+ * Make-generated.in: Use GNATMAKE.
+ * gcc-interface/Makefile.in: Ditto.
+
+2023-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_gimplify_expr): Add missing guard.
+
+2023-02-14 Dongsheng Song <dongsheng.song@gmail.com>
+
+ * adaint.c [Linux]: Include <features.h>.
+ (__gnat_get_executable_load_address) [Linux]: Enable only for
+ glibc and uClibc.
+
+2023-01-16 Marc Poulhiès <poulhies@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update copyright years.
+ * gcc-interface/Makefile.in: Likewise.
+ * gcc-interface/ada-builtin-types.def: Likewise.
+ * gcc-interface/ada-builtins.def: Likewise.
+ * gcc-interface/ada-tree.def: Likewise.
+ * gcc-interface/ada-tree.h: Likewise.
+ * gcc-interface/ada.h: Likewise.
+ * gcc-interface/config-lang.in: Likewise.
+ * gcc-interface/cuintp.cc: Likewise.
+ * gcc-interface/decl.cc: Likewise.
+ * gcc-interface/gadaint.h: Likewise.
+ * gcc-interface/gigi.h: Likewise.
+ * gcc-interface/lang-specs.h: Likewise.
+ * gcc-interface/lang.opt: Likewise.
+ * gcc-interface/misc.cc: Likewise.
+ * gcc-interface/system.ads: Likewise.
+ * gcc-interface/targtyps.cc: Likewise.
+ * gcc-interface/trans.cc: Likewise.
+ * gcc-interface/utils.cc: Likewise.
+ * gcc-interface/utils2.cc: Likewise.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Make_Allocator_For_Return): Convert the expression
+ to the return object's type in the constrained array case as well.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): For a class-wide non-
+ interface stand-alone object initialized by a function call, call
+ Remove_Side_Effects on the expression to capture the result.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Has_Tag_Of_Type): Declare.
+ * exp_util.adb (Has_Tag_Of_Type): Move to package level. Recurse on
+ qualified expressions.
+ * exp_ch3.adb (Expand_N_Object_Declaration): Use a static reference
+ to the interface tag in more cases for class-wide interface objects.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Make_CW_Equivalent_Type.Has_Tag_Of_Type): Fix pasto.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Is_Temporary_For_Interface_Object): Delete.
+ (Is_Finalizable_Transient.Is_Aliased): Deal with the specific case
+ of temporaries generated for interface objects.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a back-
+ and-forth displacement of the object's address when using a renaming
+ for an interface object with an expression of the same type.
+ * exp_ch4.adb (Expand_Allocator_Expression): Do not remove the side
+ effects of the expression up front for the simple allocators. Do not
+ call the Adjust primitive if the expression is a function call.
+ * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not expand the call
+ unnecessarily for a special return object.
+ (Expand_Simple_Function_Return): Restore the displacement of the
+ return object's address in the case where the expression is the call
+ to a function whose result type is a type that needs finalization.
+ * exp_util.adb (Expand_Subtype_From_Expr): Do not remove the side
+ effects of the expression before calling Make_Subtype_From_Expr.
+ (Make_CW_Equivalent_Type): If the expression has the tag of its type
+ and this type has a uniform size, use 'Object_Size of this type in
+ lieu of 'Size of the expression to compute the expression's size.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Make_Allocator_For_Return): Put back an interface
+ conversion for expressions with non-interface class-wide type.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Also optimize aliased
+ objects if their nominal subtype is not an unconstrained array.
+
+2023-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Factor out conditions
+ needed for an initializating expression that is a function call to
+ be renamable into the Is_Renamable_Function_Call predicate.
+ Use it to implement the renaming in the case of class-wide interface
+ objects. Remove an interface conversion on all paths, separate and
+ optimize the renaming path in the special expansion for interfaces.
+ (Is_Renamable_Function_Call): New predicate.
+ (Make_Allocator_For_Return): Put back an interface conversion.
+ * exp_ch6.adb (Apply_CW_Accessibility_Check): Remove useless access
+ checks on RE_Tag_Ptr.
+
+2023-01-09 Arnaud Charlet <charlet@adacore.com>
+
+ * accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year.
+ * adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise.
+ * adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise.
+ * ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise.
+ * aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise.
+ * aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise.
+ * backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise.
+ * binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise.
+ * bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise.
+ * bindo-builders.ads, bindo-diagnostics.adb: Likewise.
+ * bindo-diagnostics.ads, bindo-elaborators.adb: Likewise.
+ * bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise.
+ * bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise.
+ * bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise.
+ * bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise.
+ * butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise.
+ * checks.ads, cio.c, clean.adb, clean.ads: Likewise.
+ * comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise.
+ * csets.adb, csets.ads, cstand.adb: Likewise.
+ * cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise.
+ * debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise.
+ * einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise.
+ * env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise.
+ * erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise.
+ * eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise.
+ * exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise.
+ * exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise.
+ * exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise.
+ * exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise.
+ * exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise.
+ * exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise.
+ * exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise.
+ * exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise.
+ * exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise.
+ * exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise.
+ * exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise.
+ * exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise.
+ * exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise.
+ * exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise.
+ * exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise.
+ * exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise.
+ * final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise.
+ * fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise.
+ * freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise.
+ * gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise.
+ * gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise.
+ * gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise.
+ * gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise.
+ * get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise.
+ * gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise.
+ * gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise.
+ * gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise.
+ * gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise.
+ * gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise.
+ * gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise.
+ * gprep.adb, gprep.ads, gsocket.h: Likewise.
+ * hostparm.ads: Likewise.
+ * impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise.
+ * indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise.
+ * initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise.
+ * krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise.
+ * lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise.
+ * lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise.
+ * lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise.
+ * lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise.
+ * libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise.
+ * libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise.
+ * libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise.
+ * libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise.
+ * libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise.
+ * libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise.
+ * libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise.
+ * libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise.
+ * libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise.
+ * libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise.
+ * libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise.
+ * libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise.
+ * libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise.
+ * libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise.
+ * libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise.
+ * libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise.
+ * libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise.
+ * libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise.
+ * libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise.
+ * libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise.
+ * libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise.
+ * libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise.
+ * libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise.
+ * libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise.
+ * libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise.
+ * libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise.
+ * libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise.
+ * libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise.
+ * libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise.
+ * libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise.
+ * libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise.
+ * libgnarl/s-interr__sigaction.adb: Likewise.
+ * libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise.
+ * libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise.
+ * libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise.
+ * libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise.
+ * libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise.
+ * libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise.
+ * libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise.
+ * libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise.
+ * libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise.
+ * libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise.
+ * libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise.
+ * libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise.
+ * libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise.
+ * libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise.
+ * libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise.
+ * libgnarl/s-osinte__dragonfly.adb: Likewise.
+ * libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise.
+ * libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise.
+ * libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise.
+ * libgnarl/s-osinte__hpux-dce.adb: Likewise.
+ * libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise.
+ * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
+ * libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise.
+ * libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise.
+ * libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise.
+ * libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise.
+ * libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise.
+ * libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise.
+ * libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise.
+ * libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise.
+ * libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise.
+ * libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise.
+ * libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise.
+ * libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise.
+ * libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise.
+ * libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise.
+ * libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise.
+ * libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise.
+ * libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise.
+ * libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise.
+ * libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise.
+ * libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise.
+ * libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise.
+ * libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise.
+ * libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise.
+ * libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise.
+ * libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise.
+ * libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise.
+ * libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise.
+ * libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise.
+ * libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise.
+ * libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise.
+ * libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise.
+ * libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise.
+ * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
+ * libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise.
+ * libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise.
+ * libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise.
+ * libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise.
+ * libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise.
+ * libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise.
+ * libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise.
+ * libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise.
+ * libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise.
+ * libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise.
+ * libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise.
+ * libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise.
+ * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
+ * libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise.
+ * libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
+ * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
+ * libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise.
+ * libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise.
+ * libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise.
+ * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
+ * libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise.
+ * libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise.
+ * libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise.
+ * libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise.
+ * libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise.
+ * libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise.
+ * libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise.
+ * libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise.
+ * libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise.
+ * libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise.
+ * libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise.
+ * libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise.
+ * libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise.
+ * libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise.
+ * libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise.
+ * libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise.
+ * libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise.
+ * libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise.
+ * libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise.
+ * libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise.
+ * libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise.
+ * libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise.
+ * libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise.
+ * libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise.
+ * libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise.
+ * libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise.
+ * libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise.
+ * libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise.
+ * libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise.
+ * libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise.
+ * libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise.
+ * libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise.
+ * libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise.
+ * libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise.
+ * libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise.
+ * libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise.
+ * libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise.
+ * libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise.
+ * libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise.
+ * libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise.
+ * libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise.
+ * libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise.
+ * libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise.
+ * libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise.
+ * libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise.
+ * libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise.
+ * libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise.
+ * libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise.
+ * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise.
+ * libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise.
+ * libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise.
+ * libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise.
+ * libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise.
+ * libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise.
+ * libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise.
+ * libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise.
+ * libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise.
+ * libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise.
+ * libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise.
+ * libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise.
+ * libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise.
+ * libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise.
+ * libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise.
+ * libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise.
+ * libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise.
+ * libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise.
+ * libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise.
+ * libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise.
+ * libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise.
+ * libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise.
+ * libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise.
+ * libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise.
+ * libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise.
+ * libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise.
+ * libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise.
+ * libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise.
+ * libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise.
+ * libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise.
+ * libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise.
+ * libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise.
+ * libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise.
+ * libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise.
+ * libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise.
+ * libgnat/a-excach.adb, libgnat/a-except.adb: Likewise.
+ * libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise.
+ * libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise.
+ * libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise.
+ * libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise.
+ * libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise.
+ * libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise.
+ * libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise.
+ * libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise.
+ * libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise.
+ * libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise.
+ * libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise.
+ * libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise.
+ * libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise.
+ * libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise.
+ * libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise.
+ * libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise.
+ * libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise.
+ * libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise.
+ * libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise.
+ * libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise.
+ * libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise.
+ * libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise.
+ * libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise.
+ * libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise.
+ * libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise.
+ * libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise.
+ * libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise.
+ * libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise.
+ * libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise.
+ * libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise.
+ * libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise.
+ * libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise.
+ * libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise.
+ * libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise.
+ * libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise.
+ * libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise.
+ * libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise.
+ * libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise.
+ * libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise.
+ * libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise.
+ * libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise.
+ * libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise.
+ * libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise.
+ * libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise.
+ * libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise.
+ * libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise.
+ * libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise.
+ * libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise.
+ * libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise.
+ * libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise.
+ * libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise.
+ * libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise.
+ * libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise.
+ * libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise.
+ * libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise.
+ * libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise.
+ * libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise.
+ * libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise.
+ * libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise.
+ * libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise.
+ * libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise.
+ * libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise.
+ * libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise.
+ * libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise.
+ * libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise.
+ * libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise.
+ * libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise.
+ * libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise.
+ * libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise.
+ * libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise.
+ * libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise.
+ * libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise.
+ * libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise.
+ * libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise.
+ * libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise.
+ * libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise.
+ * libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise.
+ * libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise.
+ * libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise.
+ * libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise.
+ * libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise.
+ * libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise.
+ * libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise.
+ * libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise.
+ * libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise.
+ * libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise.
+ * libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise.
+ * libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise.
+ * libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise.
+ * libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise.
+ * libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise.
+ * libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise.
+ * libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise.
+ * libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise.
+ * libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise.
+ * libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise.
+ * libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise.
+ * libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise.
+ * libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise.
+ * libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise.
+ * libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise.
+ * libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise.
+ * libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise.
+ * libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise.
+ * libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise.
+ * libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise.
+ * libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise.
+ * libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise.
+ * libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise.
+ * libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise.
+ * libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise.
+ * libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise.
+ * libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise.
+ * libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise.
+ * libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise.
+ * libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise.
+ * libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise.
+ * libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise.
+ * libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise.
+ * libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise.
+ * libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise.
+ * libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise.
+ * libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise.
+ * libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise.
+ * libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise.
+ * libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise.
+ * libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise.
+ * libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise.
+ * libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise.
+ * libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise.
+ * libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise.
+ * libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise.
+ * libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise.
+ * libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise.
+ * libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise.
+ * libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise.
+ * libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise.
+ * libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise.
+ * libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise.
+ * libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise.
+ * libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise.
+ * libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise.
+ * libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise.
+ * libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise.
+ * libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise.
+ * libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise.
+ * libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise.
+ * libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise.
+ * libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise.
+ * libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise.
+ * libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise.
+ * libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise.
+ * libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise.
+ * libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise.
+ * libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise.
+ * libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise.
+ * libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise.
+ * libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise.
+ * libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise.
+ * libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise.
+ * libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise.
+ * libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise.
+ * libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise.
+ * libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise.
+ * libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise.
+ * libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise.
+ * libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise.
+ * libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise.
+ * libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise.
+ * libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise.
+ * libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise.
+ * libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise.
+ * libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise.
+ * libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise.
+ * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise.
+ * libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise.
+ * libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise.
+ * libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise.
+ * libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise.
+ * libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise.
+ * libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise.
+ * libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise.
+ * libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise.
+ * libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise.
+ * libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise.
+ * libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise.
+ * libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise.
+ * libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise.
+ * libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise.
+ * libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise.
+ * libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise.
+ * libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise.
+ * libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise.
+ * libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise.
+ * libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise.
+ * libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise.
+ * libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise.
+ * libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise.
+ * libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise.
+ * libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise.
+ * libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise.
+ * libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise.
+ * libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise.
+ * libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise.
+ * libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise.
+ * libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise.
+ * libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise.
+ * libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise.
+ * libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise.
+ * libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise.
+ * libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise.
+ * libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise.
+ * libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise.
+ * libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise.
+ * libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise.
+ * libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise.
+ * libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise.
+ * libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise.
+ * libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise.
+ * libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise.
+ * libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise.
+ * libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise.
+ * libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise.
+ * libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise.
+ * libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise.
+ * libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise.
+ * libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise.
+ * libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise.
+ * libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise.
+ * libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise.
+ * libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise.
+ * libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise.
+ * libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise.
+ * libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise.
+ * libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise.
+ * libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise.
+ * libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise.
+ * libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise.
+ * libgnat/g-string.adb, libgnat/g-string.ads: Likewise.
+ * libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise.
+ * libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise.
+ * libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise.
+ * libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise.
+ * libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise.
+ * libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise.
+ * libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise.
+ * libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise.
+ * libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise.
+ * libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise.
+ * libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise.
+ * libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise.
+ * libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise.
+ * libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise.
+ * libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise.
+ * libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise.
+ * libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise.
+ * libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise.
+ * libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise.
+ * libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise.
+ * libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise.
+ * libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise.
+ * libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise.
+ * libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise.
+ * libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise.
+ * libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise.
+ * libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise.
+ * libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise.
+ * libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise.
+ * libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise.
+ * libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise.
+ * libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise.
+ * libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise.
+ * libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise.
+ * libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise.
+ * libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise.
+ * libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise.
+ * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise.
+ * libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise.
+ * libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise.
+ * libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise.
+ * libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise.
+ * libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise.
+ * libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise.
+ * libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise.
+ * libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise.
+ * libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise.
+ * libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise.
+ * libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise.
+ * libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise.
+ * libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise.
+ * libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise.
+ * libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise.
+ * libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise.
+ * libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise.
+ * libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise.
+ * libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise.
+ * libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise.
+ * libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise.
+ * libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise.
+ * libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise.
+ * libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise.
+ * libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise.
+ * libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise.
+ * libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise.
+ * libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise.
+ * libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise.
+ * libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise.
+ * libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise.
+ * libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise.
+ * libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise.
+ * libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise.
+ * libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise.
+ * libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise.
+ * libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise.
+ * libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise.
+ * libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise.
+ * libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise.
+ * libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise.
+ * libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise.
+ * libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise.
+ * libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise.
+ * libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise.
+ * libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise.
+ * libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise.
+ * libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise.
+ * libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise.
+ * libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise.
+ * libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise.
+ * libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise.
+ * libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise.
+ * libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise.
+ * libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise.
+ * libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise.
+ * libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise.
+ * libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise.
+ * libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise.
+ * libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise.
+ * libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise.
+ * libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise.
+ * libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise.
+ * libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise.
+ * libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise.
+ * libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise.
+ * libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise.
+ * libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise.
+ * libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise.
+ * libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise.
+ * libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise.
+ * libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise.
+ * libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise.
+ * libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise.
+ * libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise.
+ * libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise.
+ * libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise.
+ * libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise.
+ * libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise.
+ * libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise.
+ * libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise.
+ * libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise.
+ * libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise.
+ * libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise.
+ * libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise.
+ * libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise.
+ * libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise.
+ * libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise.
+ * libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise.
+ * libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise.
+ * libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise.
+ * libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise.
+ * libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise.
+ * libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise.
+ * libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise.
+ * libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise.
+ * libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise.
+ * libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise.
+ * libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise.
+ * libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise.
+ * libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise.
+ * libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise.
+ * libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise.
+ * libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise.
+ * libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise.
+ * libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise.
+ * libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise.
+ * libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise.
+ * libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise.
+ * libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise.
+ * libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise.
+ * libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise.
+ * libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise.
+ * libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise.
+ * libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise.
+ * libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise.
+ * libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise.
+ * libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise.
+ * libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise.
+ * libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise.
+ * libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise.
+ * libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise.
+ * libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise.
+ * libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise.
+ * libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise.
+ * libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise.
+ * libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise.
+ * libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise.
+ * libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise.
+ * libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise.
+ * libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise.
+ * libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise.
+ * libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise.
+ * libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise.
+ * libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise.
+ * libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise.
+ * libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise.
+ * libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise.
+ * libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise.
+ * libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise.
+ * libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise.
+ * libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise.
+ * libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise.
+ * libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise.
+ * libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise.
+ * libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise.
+ * libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise.
+ * libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise.
+ * libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise.
+ * libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise.
+ * libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise.
+ * libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise.
+ * libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise.
+ * libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise.
+ * libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise.
+ * libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise.
+ * libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise.
+ * libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise.
+ * libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise.
+ * libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise.
+ * libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise.
+ * libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise.
+ * libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise.
+ * libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise.
+ * libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise.
+ * libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise.
+ * libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise.
+ * libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise.
+ * libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise.
+ * libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise.
+ * libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise.
+ * libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise.
+ * libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise.
+ * libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise.
+ * libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise.
+ * libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise.
+ * libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise.
+ * libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise.
+ * libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise.
+ * libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise.
+ * libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise.
+ * libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise.
+ * libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise.
+ * libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise.
+ * libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise.
+ * libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise.
+ * libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise.
+ * libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise.
+ * libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise.
+ * libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise.
+ * libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise.
+ * libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise.
+ * libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise.
+ * libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise.
+ * libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise.
+ * libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise.
+ * libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise.
+ * libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise.
+ * libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise.
+ * libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise.
+ * libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise.
+ * libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise.
+ * libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise.
+ * libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise.
+ * libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise.
+ * libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise.
+ * libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise.
+ * libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise.
+ * libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise.
+ * libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise.
+ * libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise.
+ * libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise.
+ * libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise.
+ * libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise.
+ * libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise.
+ * libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise.
+ * libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise.
+ * libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise.
+ * libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise.
+ * libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise.
+ * libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise.
+ * libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise.
+ * libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise.
+ * libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise.
+ * libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise.
+ * libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise.
+ * libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise.
+ * libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise.
+ * libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise.
+ * libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise.
+ * libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise.
+ * libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise.
+ * libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise.
+ * libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise.
+ * libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise.
+ * libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise.
+ * libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise.
+ * libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise.
+ * libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise.
+ * libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise.
+ * libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise.
+ * libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise.
+ * libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise.
+ * libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise.
+ * libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise.
+ * libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise.
+ * libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise.
+ * libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise.
+ * libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise.
+ * libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise.
+ * libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise.
+ * libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise.
+ * libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise.
+ * libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise.
+ * libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise.
+ * libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise.
+ * libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise.
+ * libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise.
+ * libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise.
+ * libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise.
+ * libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise.
+ * libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise.
+ * libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise.
+ * libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise.
+ * libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise.
+ * libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise.
+ * libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise.
+ * libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise.
+ * libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise.
+ * libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise.
+ * libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise.
+ * libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise.
+ * libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise.
+ * libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise.
+ * libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise.
+ * libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise.
+ * libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise.
+ * libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise.
+ * libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise.
+ * libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise.
+ * libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise.
+ * libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise.
+ * libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise.
+ * libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise.
+ * libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise.
+ * libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise.
+ * libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise.
+ * libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise.
+ * libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise.
+ * libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise.
+ * libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise.
+ * libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise.
+ * libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise.
+ * libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise.
+ * libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise.
+ * libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise.
+ * libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise.
+ * libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise.
+ * libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise.
+ * libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise.
+ * libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise.
+ * libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise.
+ * libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise.
+ * libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise.
+ * libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise.
+ * libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise.
+ * libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise.
+ * libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise.
+ * libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise.
+ * libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise.
+ * libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise.
+ * libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise.
+ * libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise.
+ * libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise.
+ * libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise.
+ * libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise.
+ * libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise.
+ * libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise.
+ * libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise.
+ * libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise.
+ * libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise.
+ * libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise.
+ * libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise.
+ * libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise.
+ * libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise.
+ * libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise.
+ * libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise.
+ * libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise.
+ * libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise.
+ * libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise.
+ * libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise.
+ * libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise.
+ * libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise.
+ * libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise.
+ * libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise.
+ * libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise.
+ * libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise.
+ * libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise.
+ * libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise.
+ * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise.
+ * libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise.
+ * libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise.
+ * libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise.
+ * libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise.
+ * libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise.
+ * libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise.
+ * libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise.
+ * libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise.
+ * libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise.
+ * libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise.
+ * libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise.
+ * libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise.
+ * libgnat/system-solaris-sparc.ads: Likewise.
+ * libgnat/system-solaris-x86.ads: Likewise.
+ * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
+ * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
+ * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
+ * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
+ * libgnat/system-vxworks7-aarch64.ads: Likewise.
+ * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
+ * libgnat/system-vxworks7-arm.ads: Likewise.
+ * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
+ * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
+ * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
+ * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
+ * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
+ * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
+ * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
+ * libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise.
+ * live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise.
+ * make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise.
+ * mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise.
+ * mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise.
+ * namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise.
+ * opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise.
+ * osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise.
+ * osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise.
+ * par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise.
+ * par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise.
+ * par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise.
+ * par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise.
+ * par.ads, par_sco.adb, par_sco.ads: Likewise.
+ * pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise.
+ * prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise.
+ * raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise.
+ * repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise.
+ * restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise.
+ * rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise.
+ * scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise.
+ * scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise.
+ * scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise.
+ * sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise.
+ * sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise.
+ * sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise.
+ * sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise.
+ * sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise.
+ * sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise.
+ * sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise.
+ * sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise.
+ * sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise.
+ * sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise.
+ * sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise.
+ * sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise.
+ * sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise.
+ * sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise.
+ * sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise.
+ * sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise.
+ * sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise.
+ * sigtramp-ios.c, sigtramp-qnx.c: Likewise.
+ * sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise.
+ * sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise.
+ * sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise.
+ * sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise.
+ * sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise.
+ * sprint.adb, sprint.ads, stand.ads: Likewise.
+ * stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise.
+ * style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise.
+ * stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise.
+ * switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise.
+ * switch.ads, sysdep.c, table.adb: Likewise.
+ * table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise.
+ * tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise.
+ * treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise.
+ * types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise.
+ * urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise.
+ * validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise.
+ * warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise.
+ * xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise.
+ * gnatvsn.ads (Current_Year): Likewise and bump to 2023.
+
+2023-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement.
+ (Make_Final_Call): Likewise.
+
+2023-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete.
+ (Is_Displacement_Of_Object_Or_Function_Result): Likewise.
+ * exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to...
+ (Is_Temporary_For_Interface_Object): ...this.
+ (Is_Finalizable_Transient): Adjust call to above renaming.
+ (Is_Displacement_Of_Object_Or_Function_Result): Delete.
+ (Requires_Cleanup_Actions): Remove special handling of the
+ temporaries created for interface objects.
+ * exp_ch7.adb (Build_Finalizer): Likewise.
+
+2023-01-07 LIU Hao <lh_mouse@126.com>
+
+ PR middle-end/108300
+ * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include
+ <windows.h>`.
+ * cio.c: Likewise.
+ * ctrl_c.c: Likewise.
+ * expect.c: Likewise.
+ * gsocket.h: Likewise.
+ * mingw32.h: Likewise.
+ * mkdir.c: Likewise.
+ * rtfinal.c: Likewise.
+ * rtinit.c: Likewise.
+ * seh_init.c: Likewise.
+ * sysdep.c: Likewise.
+ * terminals.c: Likewise.
+ * tracebak.c: Likewise.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: Tweak.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite the end of the
+ handling of objects with (class-wide) interface type by using the
+ same idiom as the other cases generating a renaming.
+ * exp_util.adb (Is_Displacement_Of_Object_Or_Function_Result): Tweak
+ pattern matching code and exclude special return objects.
+ (Requires_Cleanup_Actions): Adjust comment.
+ * exp_ch7.adb (Build_Finalizer): Likewise.
+
+2023-01-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * freeze.adb (Build_Renamed_Body): Rewrite subprogram renaming to
+ subprogram declaration early and then set the Body_To_Inling flag.
+
+2023-01-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * freeze.adb (Build_Renamed_Body): Revert a special case for
+ GNATprove; remove unnecessary initialization of a local variable.
+
+2023-01-05 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Better filtering when
+ installing parent on the scope stack.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * repinfo.ads (The JSON output format): Document change.
+ * urealp.adb (UR_Write_To_JSON): Output a fraction instead of a
+ decimal approximation.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): New local variable
+ Func_Id holding the function for a special return object.
+ Use a direct renaming in the class-wide case when the initializing
+ expression is a captured function call, except for a special return
+ object when the two functions do not return on the same stack.
+ Apply the accessibility check for class-wide special return objects.
+ * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: New.
+ Do not force a dispatching call to the primitive operation _Size if
+ the expression is known to statically have the tag of its type.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Fix pasto in comment.
+
+2023-01-05 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Tweak conditions for
+ warning about use of parentheses for array aggregates.
+
+2023-01-05 Javier Miranda <miranda@adacore.com>
+
+ * scans.ads (Tok_Left_Curly_Bracket, Tok_Right_Curly_Bracket)
+ (Tok_Left_Interpolated_String): Placed in no category since they
+ don't fit well in the existing categories. Fix typo in comment.
+ (Inside_Interpolated_String_Literal): New scan state variable.
+ * scng.adb (Slit): Scan interpolated string literals,
+ continuations of interpolated string literals and escaped
+ characters found in interpolated string literals.
+ (Scan): Handle consecutive interpolated expressions. Handle ending
+ delimiter placed immediately after an interpolated expression.
+ Handle string literal placed after interpolated expression. Handle
+ left and right curly brackets; when extensions are not allowed
+ they are treated as left and right paren; when extensions are
+ allowed they are handled as delimiters of interpolated string
+ literals.
+ * sinfo.ads (N_Interpolated_String_Literal): New node.
+ * gen_il-gen-gen_nodes.adb (N_Interpolated_String_Literal): Define
+ N_String_Literal node.
+ * gen_il-types.ads (Opt_Type_Enum): Define N_String_Literal as
+ concrete node type.
+ * par-ch2.adb (P_Interpolated_String_Literal): New subprogram.
+ * par-ch4.adb (P_Simple_Expression): Handle '}' as expression
+ terminator when scanning an interpolated expression; disable error
+ recovery machinery for binary operator when we are processing an
+ interpolated string literal and reach the expression terminator
+ '}'.
+ (P_Primary): Call P_Interpolated_String_Literal when the opening
+ interpolated-string-literal delimiter is found (that is, the left
+ curly bracket '{').
+ * par-tchk.adb (T_Right_Curly_Bracket): New subprogram.
+ * par.adb (P_Interpolated_String_Literal): New declaration.
+ (T_Right_Curly_Bracket): New declaration.
+ * sem.adb (Analyze): Call Analyze_Interpolated_String_Literal.
+ * sem_ch2.ads (Analyze_Interpolated_String_Literal): New
+ subprogram
+ * sem_ch2.adb (Analyze_Interpolated_String_Literal): Likewise.
+ * sem_util.adb (Is_User_Defined_Literal): Complete mapping of
+ literal aspects adding that interpolated string literals have no
+ correspondence with any aspect.
+ * sem_res.adb (Resolve_Interpolated_String_Literal): New
+ subprogram.
+ (Has_Applicable_User_Defined_Literal): Complete mapping of literal
+ aspects adding that interpolated string literals have no
+ correspondency with any aspect.
+ * expander.adb (Expand): Add call to
+ Expand_N_Interpolated_String_Literal.
+ * exp_util.adb (Insert_Actions): Handle
+ N_Interpolated_String_Literal nodes; that is, continue climbing.
+ * exp_ch2.ads (Expand_N_Interpolated_String_Literal): New
+ subprogram.
+ * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Likewise.
+ * exp_put_image.adb (Build_Elementary_Put_Image_Call): Add missing
+ conversion to force dispatching call. Required to handle calls to
+ descendants.
+ (Build_String_Put_Image_Call): Do not output string delimiters
+ when the put_image call is part of an interpolated string literal.
+ * rtsfind.ads (RTU_Id): Add RE_Set_Trim_Leading_Spaces.
+ * sprint.adb (Sprint_Node): Output interpolated string contents.
+ * libgnat/a-stbubo.adb (Get_UTF_8): Add default value for
+ Trim_Leading_White_Spaces component in aggregate.
+ (Buffer_Type_Implementation): Update Trim_Leading_White_Spaces.
+ * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
+ (Buffer_Type_Implementation): Likewise.
+ * libgnat/a-sttebu.ads (Set_Trim_Leading_Spaces): New subprogram.
+ (Trim_Leading_Spaces): New subprogram.
+ (Root_Buffer_Type): Adding Trim_Leading_While_Spaces component.
+ * libgnat/a-sttebu.adb (procedure Set_Trim_Leading_Spaces): New
+ subprogram.
+ (Trim_Leading_Space): New subprogram.
+ (Put_UTF_8): Handle Trim_Leading_White_Spaces.
+ (New_Line): Likewise.
+ * libgnat/s-putima.ads (Put_Image_String): Adding formal
+ (with_delimiters).
+ (Put_Image_Wide_String): Likewise.
+ (Put_Image_Wide_Wide_String): Likewise.
+ * libgnat/s-putima.adb (Put_Image_String): Adding support for new
+ formal.
+ (Put_Image_Wide_String): Likewise.
+ (Put_Image_Wide_Wide_String): Likewise.
+
+2023-01-05 Joao Azevedo <azevedo@adacore.com>
+
+ * doc/gnat_ugn/gnat_utility_programs.rst: add gnatpp --layout
+ switch and update legacy switches.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For the purpose of deciding whether to
+ freeze an entity coming from an outer scope in an inner scope, treat
+ the internal subprogram generated because of post-conditions as also
+ coming from source if the original subprogram itself does.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * contracts.adb (Build_Subprogram_Contract_Wrapper): Generate an
+ extended return statement in all cases.
+ (Expand_Subprogram_Contract): Adjust comment.
+
+2023-01-05 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/g-forstr.adb (F_Kind): Rename enumeration literal.
+ (P_Flt_Format): Adjust handling of "%g".
+ (Determine_Notation_And_Aft): New procedure.
+ (Decimal_Exponent): New function.
+ (Increment_Integral_Part): New procedure.
+ (Remove_Extraneous_Decimal_Digit): New procedure.
+ (Trim_Fractional_Part): New procedure.
+ * libgnat/g-forstr.ads: Change description of "%g" specifier.
+
+2023-01-05 Marc Poulhiès <poulhies@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Correctly find the
+ parent instance to place on the scope stack.
+
+2023-01-05 Justin Squirek <squirek@adacore.com>
+
+ * sem_ch8.adb (Set_Entity_Or_Discriminal): Verify we are actually
+ resetting the entity field of a non-prefixed discriminant
+ reference.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): New local variable used
+ throughout instead of testing Is_Special_Return_Object every time.
+ Do not rename an OK_To_Rename object for a special return object.
+ * exp_ch4.adb (Expand_Concatenate): Revert to constrained allocation
+ if the result is allocated on the secondary stack.
+
+2023-01-05 Steve Baird <baird@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Fix Is_Configuration_Pragma
+ function to handle case where the pragma's parent is an
+ N_Aspect_Specification node. In analyzing a Discard_Names pragma,
+ do not assume that a nonzero number of arguments implies that the
+ pragma is not a configuration pragma; that assumption only holds
+ for legal programs.
+
+2023-01-05 Bob Duff <duff@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
+ Add RM references.
+ * gnat_ugn.texi: Regenerate.
+
+2023-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): For a special return
+ object of an interface type that is not inherently limited, make
+ a call to the Adjust primitive after doing the copy. For a special
+ return object of a non-class-wide type initialized by a function
+ call, use a direct renaming only if the object doing the capture
+ is flagged by Is_Related_To_Func_Return. For a special return
+ object using a direct renaming, reassign the tag, if need be.
+ * exp_ch6.adb (Expand_Simple_Function_Return): Fix comment.
+ * exp_util.adb (Is_Related_To_Func_Return): Accept both regular and
+ renaming object declarations for return objects.
+
+2023-01-05 Bob Duff <duff@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Fix the bug by checking
+ Original_Node. The renaming might be elsewhere, but the (original)
+ reference is right here.
+ * errout.adb: Remove pragma Unreferenced which was added because
+ of the above bug.
+ * einfo.ads: Misc cleanup.
+ * lib.adb: Likewise.
+ * lib.ads: Likewise.
+
+2023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * errout.adb (Write_JSON_Span): Escape subprogram name.
+
+2023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol.
+
+2023-01-03 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/g-forstr.adb (P_Flt_Format): Add "*" syntax handling.
+
+2023-01-03 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): Make sure that a
+ captured function call also verifies Is_Related_To_Func_Return.
+ Do not generate an actual subtype for special return objects.
+ * exp_util.ads (Is_Related_To_Func_Return): Add commentary.
+
+2023-01-03 Ronan Desplanques <desplanques@adacore.com>
+
+ * libgnat/g-forstr.adb
+ (Advance_And_Accumulate_Until_Next_Specifier): New procedure.
+ ("-"): Replace inline code with call to
+ Advance_And_Accumulate_Until_Next_Specifier.
+ (Next_Format): likewise.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Apply_Discriminant_Check.Denotes_Explicit_Dereference):
+ Return false for artificial dereferences generated by the expander.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Is_Build_In_Place_Function): Adjust comment.
+ * sem_util.adb (Compute_Returns_By_Ref): Do not set Returns_By_Ref
+ on functions with foreign convention.
+
+2023-01-03 Marc Poulhiès <poulhies@adacore.com>
+
+ * exp_aggr.adb (Build_Assignment_With_Temporary): New.
+ (Expand_Array_Aggregate): Tune backend optimization
+ and insert a temporary in the case of an access with
+ Designated_Storage_Model aspect.
+ (Convert_Array_Aggr_In_Allocator): Likewise.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_res.adb (Resolve_Membership_Op): Adjust again latest change.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.ads (Set_Debug_Info_Defining_Id): Adjust comment.
+ * sem_util.adb (Is_Aliased_View) <N_Explicit_Dereference>: Return
+ false for more artificial dereferences generated by the expander.
+ (Set_Debug_Info_Defining_Id): Set Debug_Info_Needed unconditionally
+ in -gnatD mode.
+ * exp_ch6.adb (Replace_Renaming_Declaration_Id): Also preserve the
+ Is_Aliased flag.
+
+2023-01-03 Joel Brobecker <brobecker@adacore.com>
+
+ * doc/gnat_ugn/platform_specific_information.rst
+ (_Platform_Specific_Information): Minor rewording of intro text.
+ * gnat_ugn.texi: Regenerate.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Is_Captured_Function_Call): Declare.
+ * exp_util.adb (Is_Captured_Function_Call): New predicate.
+ * exp_ch3.adb (Expand_N_Object_Declaration): Use it to detect a
+ rewritten function call as the initializing expression.
+ * exp_ch6.adb (Expand_Simple_Function_Return): Use it to detect a
+ rewritten function call as the returned expression.
+
+2023-01-03 Bob Duff <duff@adacore.com>
+
+ * exp_util.adb (Integer_Type_For): Assertion and comment.
+ (Small_Integer_Type_For): Remove some code and call
+ Integer_Type_For instead.
+ * sem_util.ads (Rep_To_Pos_Flag): Improve comments. "Standard_..."
+ seems overly pedantic here.
+ * exp_attr.adb (Succ, Pred): Clean up: make the code as similar as
+ possible.
+ * exp_ch4.adb: Minor: named notation.
+
+2023-01-03 Javier Miranda <miranda@adacore.com>
+
+ * ghost.adb (Is_OK_Declaration): A reference to a Ghost entity may
+ appear within the class-wide precondition of a helper subprogram.
+ This context is treated as suitable because it was already
+ verified when we were analyzing the original class-wide
+ precondition.
+
+2023-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_tss.adb (Base_Init_Proc): Do not return the Init_Proc of the
+ ancestor type for a derived array type.
+ * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Factor out the
+ common processing done on representation items.
+ For Default_Component_Value and Default_Value, look into the first
+ subtype to find out the representation items.
+
+2023-01-02 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR ada/108202
+ * gcc-interface/Make-lang.in (GCC_LINKERFLAGS, GCC_LDFLAGS):
+ Versions of ALL_LINKERFLAGS, LDFLAGS with -Werror and
+ -static-libgcc filtered out for Darwin8 and 9 (-Werror is filtered
+ out for other hosts).
+
+2023-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ * gnat_ugn.texi: Bump @copying's copyright year.
+ * gnat_rm.texi: Likewise.
+
+
+Copyright (C) 2023 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.