compiler: don't generate stubs for ambiguous direct interface methods
[official-gcc.git] / gcc / ada / ChangeLog
blob1434ebead054b7b8cb68dc01980be4a27e138712
1 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
3         * gcc-interface/misc.cc (gnat_get_sarif_source_language): New.
4         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
6 2022-06-02  Pierre-Marie de Rodat  <derodat@adacore.com>
8         * gcc-interface/gigi.h: Update copyright notice.
9         * gcc-interface/lang-specs.h: Likewise.
10         * gcc-interface/utils.cc: Likewise.
12 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
14         * gcc-interface/gigi.h (enum standard_datatypes): Remove values
15         for the SJLJ exception mechanism.
16         (jmpbuf_type): Delete.
17         (jmpbuf_ptr_type): Likewise.
18         (get_jmpbuf_decl): Likewise.
19         (set_jmpbuf_decl): Likewise.
20         (get_excptr_decl): Likewise.
21         (not_handled_by_others_decl): Likewise.
22         (setjmp_decl): Likewise.
23         (update_setjmp_buf_decl): Likewise.
24         (raise_nodefer_decl): Likewise.
25         (set_block_jmpbuf_decl): Likewise.
26         (get_block_jmpbuf_decl): Likewise.
27         * gcc-interface/trans.cc (gigi): Delete dead code.
28         * gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL.
29         (gnat_pushlevel): Do not clear it.
30         (set_block_jmpbuf_decl): Delete.
31         (get_block_jmpbuf_decl): Likewise.
33 2022-06-02  Ghjuvan Lacambre  <lacambre@adacore.com>
35         * gcc-interface/decl.cc (warn_on_field_placement): Add insertion
36         character '.q' to warning string.
38 2022-06-02  Arnaud Charlet  <charlet@adacore.com>
40         * gcc-interface/Makefile.in (gnatlib-shared-default): Add
41         -fno-lto.
43 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
45         * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the
46         scope of anonymous access Itypes.
47         * gcc-interface/trans.cc (Identifier_to_gnu): Do not translate
48         the return type of a subprogram here.
50 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
52         * exp_ch7.adb (Expand_N_Package_Body): Build static dispatch
53         tables only for units that are not compilation units, unless
54         they are generic instances.  Do not push a scope for this.
55         (Expand_N_Package_Declaration): Build static dispatch tables
56         only for units that are both not compilation units and generic
57         instances.
58         * exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant
59         early return.  Push a scope for package bodies.
60         * sem_ch10.adb: Add with and use clauses for Exp_Disp.
61         (Analyze_Compilation_Unit): Build static dispatch tables here.
63 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
65         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public
66         flag on thunks.
68 2022-06-02  Piotr Trojanek  <trojanek@adacore.com>
70         * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb,
71         sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb,
72         sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
73         sem_util.adb: Remove checks for the missing list before
74         iterating with First/Next; reindent code and refill comments.
76 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
78         * einfo.ads (Has_Controlling_Result): Document new usage.
79         (Is_Thunk): Document secondary stack thunks.
80         (Returns_By_Ref): Adjust.
81         * exp_ch6.adb (Caller_Known_Size): Return true for tagged types.
82         (Expand_N_Extended_Return_Statement): Do not call Set_By_Ref.
83         (Expand_Simple_Function_Return): For a BIP return with an Alloc_Form
84         parameter, mark the node as returning on the secondary stack.
85         Replace call to Is_Limited_Interface with Is_Limited_View.  Deal wit
86         secondary stack thunks.  Do not call Set_By_Ref.  Optimize the case
87         of a call to a function whose type also needs finalization.
88         (Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target.
89         (Needs_BIP_Finalization_Master): Cosmetic fixes.
90         (Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and
91         return true for tagged types.
92         * exp_ch7.adb (Transient Scope Management): Update description.
93         * exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref
94         on designated type if the call is dispatching on result.  Tidy up.
95         (Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to
96         List_Id.  Change type of local variables from Node_Id to Entity_Id.
97         Propagate Aliased_Present flag to create the formals and explicitly
98         set Has_Controlling_Result to False.  Build a secondary stack thunk
99         if necessary in the function case.
100         (Expand_Secondary_Stack_Thunk): New function.
101         (Make_Secondary_DT): Build secondary stack thunks if necessary.
102         (Make_DT): Likewise.
103         (Register_Predefined_Primitive): Likewise.
104         (Register_Primitive): Likewise.
105         * exp_util.ads (Is_Secondary_Stack_Thunk): Declare.
106         (Thunk_Target): Likewise.
107         * exp_util.adb (Is_Secondary_Stack_Thunk): New function.
108         (Thunk_Target): Likewise.
109         * fe.h (Is_Secondary_Stack_Thunk): Declare.
110         (Thunk_Target): Likewise.
111         * gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref.
112         * gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise.
113         (N_Extended_Return_Statement): Likewise.
114         * sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for
115         abstract return type in the thunk case.
116         (Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target.
117         * sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case.
118         * sem_util.adb: Add use and with clauses for Exp_Ch6.
119         (Compute_Returns_By_Ref): Do not process procedures and only set
120         the flag for direct return by reference.
121         (Needs_Secondary_Stack): Do not return true for specific tagged
122         types and adjust comments accordingly.
123         * sinfo.ads (By_Ref): Delete.
124         (N_Simple_Return_Statement): Remove By_Ref.
125         (N_Extended_Return_Statement): Likewise.
126         * gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete.
127         * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it.
128         Return by direct reference if the return type needs the secondary
129         stack as well as for secondary stack thunks.
130         * gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter.
131         * gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change.
132         * gcc-interface/trans.cc (finalize_nrv): Replace test on
133         TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P.
134         (Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for
135         secondary stack thunks.
136         (Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P.
137         (gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct
138         reference case, test for the presence of Storage_Pool on the node
139         to build an allocator.
140         (maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target.
141         * gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter.
143 2022-06-02  Marc Poulhiès  <poulhies@adacore.com>
145         * einfo.ads: Fix reference to Global_Entity_Suppress and
146         Local_Entity_Suppress variable in the comments.
147         * sem.ads: Likewise.
148         * sem_prag.adb: Likewise.
150 2022-06-02  Claire Dross  <dross@adacore.com>
152         * libgnat/s-aridou.adb: Use Always_Return instead of Terminating
153         to annotate termination for GNATprove.
154         * libgnat/s-arit32.adb: Idem.
155         * libgnat/s-spcuop.ads: Idem.
157 2022-06-02  Julien Bortolussi  <bortolussi@adacore.com>
159         * libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
160         libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and
161         Num_Overlaps return Big_Natural.
162         * libgnat/a-cforse.ads, libgnat/a-cforse.adb,
163         libgnat/a-cforma.adb, libgnat/a-cfhase.ads,
164         libgnat/a-cfhase.adb, libgnat/a-cfhama.adb,
165         libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead
166         of Count_Type.
168 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
170         * exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the
171         Offset_Func component by means of 'Unrestricted_Access.
173 2022-06-02  Ghjuvan Lacambre  <lacambre@adacore.com>
175         * errout.adb (Write_JSON_Span): Add subprogram name to emitted
176         JSON.
178 2022-06-02  Arnaud Charlet  <charlet@adacore.com>
180         * sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local
181         procedure, used for code refactoring. Also take into account
182         Inline_Always pragma when deciding to make a symbol public for
183         C generation.
185 2022-06-02  Yannick Moy  <moy@adacore.com>
187         * atree.adb (New_Copy): Reset flags related to ghost entities
188         before marking the new node.
190 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
192         * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move
193         procedure to...
194         * exp_disp.ads (Expand_Interface_Thunk): Move declaration to...
195         (Register_Predefined_Primitive): Declare.
196         * exp_disp.adb (Expand_Interface_Thunk): ...here.
197         (Register_Predefined_Primitive): ...here and change into a function
198         returning List_Id.
200 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
202         * exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment.
203         (Expand_N_Object_Declaration): Do not build static dispatch tables.
204         * exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure.
205         (Build_Static_Dispatch_Tables): Call it to build the dispatch tables
206         and wrap them in the Actions list of a freeze node.
208 2022-06-02  Doug Rupp  <rupp@adacore.com>
210         * libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives):
211         Set True.
212         * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
213         * libgnat/system-vxworks7-aarch64.ads: Likewise.
214         * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise:
216 2022-06-02  Javier Miranda  <miranda@adacore.com>
218         * libgnat/g-dyntab.ads (Table_Type): Update documentation.
220 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
222         * freeze.adb (Check_Expression_Function.Find_Constant): Make test
223         for deferred constants more robust.
225 2022-06-02  Joffrey Huguet  <huguet@adacore.com>
227         * libgnat/i-cstrin.ads (Update): Update precondition.
229 2022-06-02  Yannick Moy  <moy@adacore.com>
231         * sem_ch2.adb (Analyze_Identifier): Add checking for ghost
232         context.
233         * sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat
234         implicit labels like other entities by setting their ghost
235         status according to context.
236         * ghost.adb (Check_Ghost_Context): Adapt checking.
238 2022-06-02  Joffrey Huguet  <huguet@adacore.com>
240         * libgnat/i-cstrin.ads (Update): Add precondition.
242 2022-06-02  Yannick Moy  <moy@adacore.com>
244         * sem_ch5.adb (Analyze_Label_Entity): Remove body.
245         * sem_ch5.ads (Analyze_Label_Entity): Remove spec.
247 2022-06-02  Eric Botcazou  <ebotcazou@adacore.com>
249         * sem_util.adb (Propagate_DIC_Attributes): Add ??? comment.
250         (Propagate_Invariant_Attributes): Likewise.  Propagate the
251         Has_Inheritable_Invariants and Has_Inherited_Invariants to
252         the base type of the target type.
254 2022-06-02  Doug Rupp  <rupp@adacore.com>
256         * libgnat/system-linux-arm.ads (Memory_Size): Compute based on
257         Word_Size.
259 2022-06-02  Doug Rupp  <rupp@adacore.com>
261         * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size):
262         Compute based on Standard'Word_Size. (Memory_Size): Compute
263         based on Word_Size.
264         * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
265         * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
266         * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
267         * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
268         * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
269         * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
270         * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
271         * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
273 2022-06-02  Justin Squirek  <squirek@adacore.com>
275         * gnatbind.adb (Gnatbind): Add initialize call for Uintp
276         * gnatls.adb (Gnatls): Likewise.
277         * gprep.adb (Gnatprep): Likewise.
278         * make.adb (Initialize): Likewise.
280 2022-06-02  Claire Dross  <dross@adacore.com>
282         * libgnat/a-cfinve.ads (Element): Change the type of the
283         Position parameter to Extended_Index.
284         * libgnat/a-cfinve.adb (Element): Idem.
285         * libgnat/a-cofove.ads (Element): Idem.
286         * libgnat/a-cofove.adb (Element): Idem.
288 2022-06-02  Joffrey Huguet  <huguet@adacore.com>
290         * libgnat/s-atacco.ads (To_Pointer): Add Global => null.
291         (To_Address): Add SPARK_Mode => Off.
293 2022-06-02  Joffrey Huguet  <huguet@adacore.com>
295         * libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off.
296         (Free): Likewise.
297         (New_Char_Array): Add global contracts and Volatile attribute.
298         (New_String): Likewise.
299         (Value, Strlen, Update): Add global contracts and preconditions.
300         * libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package
301         body.
303 2022-06-01  Yannick Moy  <moy@adacore.com>
305         * contracts.adb (Check_Type_Or_Object_External_Properties): Check
306         the validity of combinations only when No_Caching is not used.
307         * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check
308         valid combinations with No_Caching.
310 2022-06-01  Doug Rupp  <rupp@adacore.com>
312         * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute
313         based on Standard'Word_Size. (Memory_Size): Compute based
314         on Word_Size.
315         * libgnat/system-vxworks7-arm.ads: Likewise.
316         * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
317         * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
318         * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
319         * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
320         * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
322 2022-06-01  Doug Rupp  <rupp@adacore.com>
324         * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on
325         Word_Size.
327 2022-06-01  Piotr Trojanek  <trojanek@adacore.com>
329         * par-util.adb (Ignore): Add missing space to message string.
331 2022-06-01  Yannick Moy  <moy@adacore.com>
333         * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for
334         pragma Subprogram_Variant.
336 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
338         * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in
339         lieu of Returns_On_Secondary_Stack.
340         (Expand_Call_Helper): Likewise.
341         (Expand_Simple_Function_Return): Likewise.
342         (Needs_BIP_Alloc_Form): Likewise.
343         * exp_ch7.adb (Wrap_Transient_Declaration): Likewise.
344         * sem_res.adb (Resolve_Call): Likewise.
345         (Resolve_Entry_Call): Likewise.
346         * sem_util.ads (Returns_On_Secondary_Stack): Rename into...
347         (Needs_Secondary_Stack): ...this.
348         * sem_util.adb (Returns_On_Secondary_Stack): Rename into...
349         (Needs_Secondary_Stack): ...this.
350         * fe.h (Returns_On_Secondary_Stack): Delete.
351         (Needs_Secondary_Stack): New function.
352         * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call
353         to Returns_On_Secondary_Stack with Needs_Secondary_Stack.
355 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
357         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where
358         there is no previous declaration, freeze the body entity only after
359         it has been processed as a new overloaded name.
360         Use Was_Expression_Function to recognize expression functions.
361         * sem_disp.adb (Check_Dispatching_Operation): Do not require a body
362         which is the last primitive to be frozen here.
364 2022-06-01  Julien Bortolussi  <bortolussi@adacore.com>
366         * libgnat/a-cfdlli.adb ("="): Make the function properly loop
367         over the right list.
369 2022-06-01  Marc Poulhiès  <poulhies@adacore.com>
371         * checks.adb (Apply_Predicate_Check): Refine condition for
372         applying optimization.
373         * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to
374         Should_Build_Subtype.
375         (Analyze_Object_Declaration): Likewise.
376         (Should_Build_Subtype): Rename/move to ...
377         * sem_util.ads (Build_Default_Subtype_OK): ... this.
378         * sem_util.adb (Build_Default_Subtype_OK): Moved from
379         sem_ch3.adb.
381 2022-06-01  Doug Rupp  <rupp@adacore.com>
383         * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump
384         the pc an extra byte.
386 2022-06-01  Ghjuvan Lacambre  <lacambre@adacore.com>
388         * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
389         Document new behavior.
390         * errout.adb (Write_JSON_Location): Output absolute paths when
391         needed.
392         * switch-c.adb (Scan_Front_End_Switches): Update -gnatef
393         comment.
394         * usage.adb (Usage): Update description of -gnatef.
395         * gnat_ugn.texi: Regenerate.
397 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
399         * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined
400         unconditionnally on the procedure entity.
402 2022-06-01  Piotr Trojanek  <trojanek@adacore.com>
404         * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag
405         from parent type.
407 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
409         * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about
410         a finalization issue.
412 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
414         * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack
415         instead of Requires_Transient_Scope and tidy up.
416         (Needs_BIP_Alloc_Form): Likewise.
417         * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return
418         true if the build-in-place function call has no BIPalloc parameter.
419         (Is_Finalizable_Transient): Remove redundant test.
421 2022-06-01  Alexandre Oliva  <oliva@adacore.com>
423         * doc/gnat_rm/security_hardening_features.rst: Note that hardening
424         features are experimental.
425         * gnat_rm.texi: Regenerate.
427 2022-06-01  Steve Baird  <baird@adacore.com>
429         * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the
430         Corresponding_Spec field of a wrapper subprogram body before
431         analyzing the subprogram body; the field will be set (again)
432         during analysis, but we need it to be set earlier.
433         * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram
434         bodies to the list of declarations for which we do not want to
435         suppress checks.
437 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
439         * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment.
441 2022-06-01  Doug Rupp  <rupp@adacore.com>
443         * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx.
445 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
447         * sem_util.adb
448         (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly
449         check the dependence on discriminants for the variant part, if
450         any, instead of calling the Is_Definite_Subtype predicate.
452 2022-06-01  Ghjuvan Lacambre  <lacambre@adacore.com>
454         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag.
456 2022-06-01  Ghjuvan Lacambre  <lacambre@adacore.com>
458         * sem_warn.adb (Check_References): Adjust conditions under which
459         warning messages should be emitted and their tags as well.
461 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
463         * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim.
464         * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op
465         earlier, do not initialize Iface_Formal, use No idiom and tweaks
466         comments.
467         (Register_Primitive): Declare L earlier and tweak comments.
468         * sem_disp.adb (Check_Dispatching_Operation): Move tests out of
469         loop.
471 2022-06-01  Steve Baird  <baird@adacore.com>
473         * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which
474         did not need to be visible - it was not referenced outside this
475         package) with Build_Or_Copy_Discr_Checking_Funcs.
476         * exp_ch3.adb: Refactor existing code into 3 procedures -
477         Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and
478         Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended
479         to be semantics-preserving.
480         * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a
481         call should be generated to the Discriminant_Checking_Func for
482         the component in question, but that subprogram does not yet
483         exist.
484         * sem_ch13.adb (Freeze_Entity_Checks): Immediately before
485         calling Build_Predicate_Function, add a call to
486         Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure
487         that Discriminant_Checking_Func attributes are already set when
488         Build_Predicate_Function is called.
489         * sem_ch6.adb (Analyze_Expression_Function): If the expression
490         of a static expression function has been transformed into an
491         N_Raise_xxx_Error node, then we need to copy the original
492         expression in order to check the requirement that the expression
493         must be a potentially static expression. We also want to set
494         aside a copy the untransformed expression for later use in
495         checking calls to the expression function via
496         Inline_Static_Function_Call.  So introduce a new function,
497         Make_Expr_Copy, for use in these situations.
498         * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain
499         expressions (e.g., a default parameter expression in a
500         subprogram declaration) we want to suppress checks. However, we
501         do not want to suppress checks for the expression of an
502         expression function.
504 2022-06-01  Bob Duff  <duff@adacore.com>
506         * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each
507         subprogram found, assert that the variable is Empty, so we can
508         detect bugs where we find two or more things with the same name.
509         Without this patch, that bug would happen when we add the new
510         Next procedure.  For Step, make sure we pick the right one, by
511         checking name and number of parameters.  For Get_Element_Access,
512         check that we're picking a function.  That's not really
513         necessary, because there is no procedure with that name, but it
514         seems cleaner this way.
515         * rtsfind.ads: Minor comment improvement. It seems kind of odd
516         to say "under no circumstances", and then immediately contradict
517         that with "The one exception is...".
519 2022-06-01  Doug Rupp  <rupp@adacore.com>
521         * init.c (QNX): __gnat_adjust_context_for_raise: New
522         implementation for arm-qnx.
524 2022-06-01  Julien Bortolussi  <bortolussi@adacore.com>
526         * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference
527         counting.
529 2022-06-01  Yannick Moy  <moy@adacore.com>
531         * sem_ch8.adb (Use_One_Package): Possibly warn.
532         * sem_util.adb (Enter_Name): Factor out warning on hidden entity.
533         (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and
534         generalize it to be applied also on use_clause.
535         * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure.
537 2022-06-01  Yannick Moy  <moy@adacore.com>
539         * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error
540         message to benefit from existing codefix.
541         (P_Record_Definition): Detect out-of-order keywords in record
542         definition and issue appropriate messages. Other cases are
543         already caught at appropriate places.
545 2022-06-01  Eric Botcazou  <ebotcazou@adacore.com>
547         * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put
548         the actions into the Actions field of the freeze node instead of
549         inserting them after it.
551 2022-06-01  Marc Poulhiès  <poulhies@adacore.com>
553         * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate
554         and Is_Enum_Array_Aggregate.
556 2022-06-01  Bob Duff  <duff@adacore.com>
558         * einfo-utils.adb (Set_Convention): Call Set_Convention
559         recursively, so that Set_Can_Use_Internal_Rep is called (if
560         appropriate) on the anonymous access type of the object, and its
561         designated subprogram type.
562         * sem_ch3.adb (Access_Definition): Remove redundant call to
563         Set_Can_Use_Internal_Rep.
565 2022-06-01  Bob Duff  <duff@adacore.com>
567         * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned
568         cases.
569         * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because
570         this is not used in gigi.
571         * opt.ads (Assume_No_Invalid_Values): Improve the comment. We
572         don't need to "clearly prove"; we can just "prove". Remove the
573         comment about fe.h, which is no longer true.
575 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
577         * erroutc.adb (Get_Warning_Option): Don't consider `?` as a
578         valid option switch.
580 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
582         * erroutc.ads (Get_Warning_Option): New function returning the
583         option responsible for a warning if it exists.
584         * erroutc.adb (Get_Warning_Option): Likewise.
585         (Get_Warning_Tag): Rely on Get_Warning_Option when possible.
586         * errout.adb (Output_JSON_Message): Emit option field.
588 2022-05-30  Julien Bortolussi  <bortolussi@adacore.com>
590         * libgnat/a-cfdlli.ads (Insert): Remove the duplication.
592 2022-05-30  Piotr Trojanek  <trojanek@adacore.com>
594         * exp_ch6.adb (Check_Subprogram_Variant): Ignore structural
595         variants.
597 2022-05-30  Piotr Trojanek  <trojanek@adacore.com>
599         * osint.adb (Locate_File): Change variable to constant and
600         initialize it by concatenation of directory, file name and NUL.
602 2022-05-30  Piotr Trojanek  <trojanek@adacore.com>
604         * doc/gnat_rm/implementation_advice.rst (Packed Types): Remove
605         duplicated and wrongly placed paragraph.
606         * gnat_rm.texi: Regenerate.
608 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
610         * inline.adb (Check_Package_Body_For_Inlining): Add insertion
611         character.
613 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
615         * freeze.adb (Warn_Overlay): Add 'o' insertion character.
616         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise.
617         * sem_util.adb (Note_Possible_Modifications): Likewise.
619 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
621         * sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion
622         character.
624 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
626         * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
627         Fix insertion character.
629 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
631         * sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f'
632         insertion characters.
634 2022-05-30  Piotr Trojanek  <trojanek@adacore.com>
636         * lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
637         Process_Deferred_References, Has_Deferred_Reference): Remove
638         client API.
639         * lib-xref.adb (Deferred_References, Defer_Reference,
640         Has_Deferred_Reference, Process_Deferred_References): Remove
641         implementation.
642         * frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
643         sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.
645 2022-05-30  Bob Duff  <duff@adacore.com>
647         * exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in
648         the case of function bodies. We include all subprogram bodies,
649         because it's harmless for procedures. We cannot easily avoid
650         creating this block in ALL cases, because some transformations
651         of (e.g.) task bodies end up moving some code such that the
652         wrong exception handlers apply to that code.
653         (Build_Finalizer_Call): Remove code for creating a new block.
654         This was unreachable code, given that Wrap_HSS_In_Block has
655         already done that, but with the above change to
656         Wrap_HSS_In_Block, this code becomes reachable, and triggers
657         essentially the same bug.
658         * exp_ch7.ads: Adjust comment.
660 2022-05-30  Justin Squirek  <squirek@adacore.com>
662         * par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
663         formals instead of just the last in a formal id list.
664         * sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
665         generic procedures as trivial in order to avoid spurious
666         unreferenced warnings.
668 2022-05-30  Romain Beguet  <beguet@adacore.com>
670         * libgnat/s-dwalin.adb: Add a subtype declaration to fix the
671         ambiguity.
673 2022-05-30  Steve Baird  <baird@adacore.com>
675         * sem_ch13.adb (Is_Predicate_Static): Do not generate warnings
676         about subexpressions of enclosing expressions. Generate warnings
677         for predicates that are known to be always true or always false,
678         except in the case where the predicate is expressed as a Boolean
679         literal. Deal with non-predicate-static expressions that have
680         been transformed into predicate-static expressions.  Add missing
681         Is_Type_Ref call to N_Membership_Test case.
683 2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>
685         * exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate):
686         Skip the discriminants at the start of the component list before
687         looking for the components inherited from the parent in the case
688         of a tagged extension.
690 2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>
692         * exp_disp.adb (Make_DT): Remove remaining freezing code.
694 2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>
696         * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze
697         the body of an expression function in the case of a dispatch table.
699 2022-05-30  Arnaud Charlet  <charlet@adacore.com>
701         * gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode.
703 2022-05-30  Yannick Moy  <moy@adacore.com>
705         * Makefile.rtl: Add new units.
706         * libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers.
707         * libgnat/s-spcuop.adb: New unit for ghost cut operations.
708         * libgnat/s-spcuop.ads: New unit for ghost cut operations.
709         * libgnat/s-spark.ads: New unit.
711 2022-05-30  Alexandre Oliva  <oliva@adacore.com>
713         * doc/gnat_rm/security_hardening_features.rst: Mention
714         availability in other languages when applicable.
715         (Stack Scrubbing): Associate the attribute with types, expand
716         some comments, fix the example involving access to variables.
717         * gnat_rm.texi: Regenerate.
719 2022-05-30  Piotr Trojanek  <trojanek@adacore.com>
721         * libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment.
723 2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>
725         * sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the
726         overriding of the "=" operator for tagged types.
728 2022-05-30  Eric Botcazou  <ebotcazou@adacore.com>
730         * exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT.
731         * exp_disp.ads (Building_Static_DT): Remove pragma Inline.
732         (Building_Static_Secondary_DT): Likewise.
733         (Convert_Tag_To_Interface): Likewise.
734         (Make_DT): Remove second parameter.
735         * exp_disp.adb (Make_DT): Likewise.
736         (Check_Premature_Freezing): Delete.
737         Pass Do_Freeze_Profile as False in call to Freeze_Entity.
738         * freeze.ads (Freezing_Library_Level_Tagged_Type): Delete.
739         * freeze.adb (Freeze_Profile): Remove obsolete code.
740         (Freeze_Entity): Tweak comment.
742 2022-05-30  Yannick Moy  <moy@adacore.com>
744         * libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up.
746 2022-05-30  Yannick Moy  <moy@adacore.com>
748         PR ada/105303
749         * libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic
750         bodies making use of additional assertions or ghost code.
751         * libgnat/s-gearop.ads: Remove confusing Assertion_Policy.
753 2022-05-30  Steve Baird  <baird@adacore.com>
755         * exp_ch11.adb (Expand_N_Raise_Expression): Remove
756         Convert_To_Return_False test.
757         * gen_il-fields.ads: Remove Convert_To_Return_False field.
758         * gen_il-gen-gen_nodes.adb: Remove use of
759         Convert_To_Return_False field.
760         * sinfo.ads: Remove comment describing Convert_To_Return_False
761         flag.
763 2022-05-30  Julien Bortolussi  <bortolussi@adacore.com>
765         * libgnat/a-cofuma.ads, libgnat/a-cofuma.adb,
766         libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
767         libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty
768         constructors.
770 2022-05-30  Ghjuvan Lacambre  <lacambre@adacore.com>
772         * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA
773         definitions.
774         (Gen_CUDA_Defs): New function, generating definitions
775         initialized by Gen_CUDA_Init.
776         (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of
777         Gen_CUDA_Init.
778         (Gen_Adainit): Call Gen_CUDA_Init.
780 2022-05-28  Alexandre Oliva  <oliva@adacore.com>
782         * gcc-interface/Makefile.in (OSCONS_CC): Rename to...
783         (GCC_FOR_ADA_RTS): ... this.  Adjust users.
784         (gnatlib): Pass it down as CC.
785         (gnatlib-shared-default): Likewise.
786         (gnatlib-shared-win32, gnatlib-shared-darwin): Likewise.
788 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
790         * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
791         a constant related to a return in a function specially.
792         * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
793         if the target is a return object.
794         (gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
795         to a return in a function specially.
797 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
799         * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING
800         on the decl if Comes_From_Source is false for the associated node.
802 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
804         * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up.
806 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
808         * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
809         process_attributes for built-in functions.
810         (prepend_one_attribute_pragma): Deal with "simd" attribute.
811         * gcc-interface/utils.cc (handle_simd_attribute): New function.
812         (gnat_internal_attribute_table): Add entry for "simd" attribute.
814 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
816         * gcc-interface/decl.cc (components_to_record): Use NULL recursively
817         as P_GNU_REP_LIST for the innermost variant level in the unchecked
818         union case with a fixed part.
820 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
822         * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node
823         to a node without location.
825 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
827         * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And
828         skip the elaboration of the designated subtype when that of its base
829         type has been delayed.
831 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
833         * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If
834         it is a special subtype designated by an access subtype, then defer
835         the completion of incomplete types.
837 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
839         * gcc-interface/ada-tree.h, gcc-interface/ada.h,
840         gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust
841         copyright line.
843 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
845         * gcc-interface/utils.cc (unchecked_convert): Do not fold a string
846         constant if the target type is pointer to character.
848 2022-05-19  Piotr Trojanek  <trojanek@adacore.com>
850         * sem_prag.adb (Analyze_Pragma): Remove redundant call to
851         Set_Error_Posted.
853 2022-05-19  Piotr Trojanek  <trojanek@adacore.com>
855         * sem_ch8.adb (Find_Expanded_Name): Emit a main error message
856         before adding a continuation with the call to
857         Error_Missing_With_Of_Known_Unit.
859 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
861         * sem_util.ads (Requires_Transient_Scope): Add pragma Inline.
863 2022-05-19  Steve Baird  <baird@adacore.com>
865         * sem_ch13.adb (Build_Predicate_Functions): If a semantic error
866         has been detected then ignore Predicate_Failure aspect
867         specifications in the same way as is done for CodePeer and
868         SPARK. This avoids an internal compiler error if
869         Ancestor_Predicate_Function_Called is True but Result_Expr is
870         not an N_And_Then node (and is therefore unsuitable as an
871         argument in a call to Left_Opnd).
873 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
875         * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack
876         to enclosing function if it does not return on the secondary stack.
877         * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope
878         with Manage_Sec_Stack set to True only when necessary.
879         * sem_res.adb (Resolve_Call): Likewise.
880         (Resolve_Entry_Call): Likewise.
882 2022-05-19  Daniel Mercier  <mercier@adacore.com>
884         * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
885         failure in CodePeer mode.
887 2022-05-19  Arnaud Charlet  <charlet@adacore.com>
889         * raise-gcc.c: Fix compilation with -DSTANDALONE under windows.
891 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
893         * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype.
895 2022-05-19  Javier Miranda  <miranda@adacore.com>
897         * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New
898         subprogram which factorizes code.
899         (Expand_N_Attribute_Reference): Call the new subprogram to add
900         the missing implicit interface type conversion.
902 2022-05-19  Piotr Trojanek  <trojanek@adacore.com>
904         * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
905         failure in GNATprove mode.
907 2022-05-19  Steve Baird  <baird@adacore.com>
909         * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M
910         function and Set_Predicate_Function_M procedure.
911         * einfo.ads: Delete comments for Is_Predicate_Function_M and
912         Predicate_Function_M functions. Add comment for new
913         Predicate_Expression function. Update comment describing
914         predicate functions.
915         * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem
916         formal parameter with Static_Mem and Dynamic_Mem formals.
917         (Make_Predicate_Check): Delete Add_Failure_Expression and call
918         to it.
919         * exp_ch4.adb (Expand_N_In.Predicate_Check): Update
920         Make_Predicate_Call call to match profile change.
921         * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add
922         Predicate_Expression field.
923         * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M
924         use, add Predicate_Expression use.
925         * sem_ch13.adb (Build_Predicate_Functions): Rename as singular,
926         not plural; we no longer build a Predicate_M function. Delete
927         Predicate_M references. Add new Boolean parameter for predicate
928         functions when needed. Restructure body of generated predicate
929         functions to implement required Predicate_Failure behavior and
930         to set new Predicate_Expression attribute. Remove special
931         treatment of raise expressions within predicate expressions.
932         * sem_util.ads (Predicate_Failure_Expression,
933         Predicate_Function_Needs_Membership_Parameter): New functions.
934         * sem_util.adb (Is_Current_Instance): Fix bugs which caused
935         wrong result.
936         (Is_Current_Instance_Reference_In_Type_Aspect): Delete
937         Is_Predicate_Function_M reference.
938         (Predicate_Failure_Expression): New function.
939         (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M
940         references.
942 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
944         * exp_ch6.adb (Expand_Call_Helper): Adjust comment.
945         (Expand_Simple_Function_Return): For the case of a type which needs
946         finalization and is returned on the primary stack, do not create a
947         copy if the expression originates from a function call.
948         * exp_ch7.adb (Transient Scope Management): Adjust comment.
949         * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line.
950         * fe.h (Is_Related_To_Func_Return): Declare.
952 2022-05-19  Piotr Trojanek  <trojanek@adacore.com>
954         * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts
955         from the constructed IF statement.
957 2022-05-19  Piotr Trojanek  <trojanek@adacore.com>
959         * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose
960         condition was true-by-construction; remove excessive assertion
961         (since the call to Elsif_Parts will check that Nod is present
962         and it is an if-statement).
964 2022-05-19  Arnaud Charlet  <charlet@adacore.com>
966         * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref.
967         * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
968         doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto.
969         * gnat_ugn.texi: Regenerate.
970         * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads,
971         xref_lib.adb, xref_lib.ads: Removed, no longer used.
973 2022-05-19  Claire Dross  <dross@adacore.com>
975         * libgnat/a-strfix.adb: Add assertions.
976         * libgnat/a-strsup.adb: Idem.
978 2022-05-19  Ed Schonberg  <schonberg@adacore.com>
980         * erroutc.ads: Fix a single-character typo in a comment.
981         * exp_aggr.adb: Fix a single-character typo in a comment.
982         Replace several pairs of calls to Low_Bound and
983         High_Bound (which do not handle an identifier that denotes a
984         scalar subtype) with corresponding calls to Get_Index_Bounds
985         (which does handle that case).
986         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the
987         Component_Associations attribute of a null array aggregate to
988         New_List.
989         * sem_aggr.ads: New visible function
990         Is_Null_Array_Aggregate_High_Bound.
991         * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound,
992         Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions.
993         (Resolve_Aggregate): Recognize null array aggregates (using
994         Is_Null_Aggregate) and, when one is recognized, resolve
995         it (using Resolve_Null_Array_Aggregate).  Avoid calling
996         Array_Aggr_Subtype for a null array aggregate; the needed
997         subtype is built in Resolve_Null_Array_Aggregate. Do not
998         incorrectly flag a null aggregate (after it is transformed by
999         expansion) as being both positional and named.
1000         * sem_attr.adb (Eval_Attribute): Special treatment for null
1001         array aggregate high bounds to avoid incorrectly flagging
1002         something like Integer'Pred (Integer'First) as an illegal static
1003         expression.
1004         * sem_eval.adb (Out_Of_Range): Special treatment for null array
1005         aggregate high bounds to avoid incorrectly flagging something
1006         like Integer'Pred (Integer'First) as an illegal static
1007         expression.
1009 2022-05-19  Yannick Moy  <moy@adacore.com>
1011         * libgnat/s-aridou.adb (Lemma_Abs_Range,
1012         Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas.
1013         (Double_Divide): Add ghost code.
1014         (Lemma_Concat_Definition, Lemma_Double_Shift_Left,
1015         Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas.
1016         (Scaled_Divide): Add ghost code.
1018 2022-05-19  Bob Duff  <duff@adacore.com>
1020         * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same*
1021         modular type, with a check for any modular type, and assert that
1022         the two types have the same modulus and so on.
1023         * exp_pakd.ads: Minor comment improvements.
1025 2022-05-19  Bob Duff  <duff@adacore.com>
1027         * style.adb (Check_Identifier): Deal with the case where a
1028         record component definition has been transformed; we want to
1029         warn if the original came from source.
1030         * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF
1031         to be consistent.
1032         * uname.adb: Fix casing of Chars to be consistent.
1033         * sem_util.ads: Minor comment fix.
1035 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
1037         * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta.
1038         * debug.adb (d_r): Document usage.
1039         * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool.
1040         * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to
1041         Requires_Transient_Scope with Returns_On_Secondary_Stack.  Deal
1042         with types that need finalization returned on the primary stack,
1043         use CW_Or_Needs_Finalization for those returned on the secondary.
1044         * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early
1045         for the return stack pool.
1046         (Remove_Side_Effects): Call CW_Or_Needs_Finalization.
1047         * fe.h (Requires_Transient_Scope): Delete.
1048         (Returns_On_Secondary_Stack): Declare.
1049         * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot
1050         to False when generating C code or if -gnatd_r is specified.
1051         * opt.ads (Back_End_Return_Slot): New boolean variable.
1052         * rtsfind.ads (RTU_Id): Add System_Return_Stack.
1053         (RE_Id): Add RE_RS_Allocate and RE_RS_Pool.
1054         (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool.
1055         * sem_util.ads (CW_Or_Has_Controlled_Part): Delete.
1056         (CW_Or_Needs_Finalization): Declare.
1057         (Requires_Transient_Scope): Adjust description.
1058         (Returns_On_Secondary_Stack): Declare.
1059         * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types
1060         which need finalization if they are returned on the secondary stack.
1061         (CW_Or_Has_Controlled_Part): Rename to...
1062         (CW_Or_Needs_Finalization): ...this.
1063         (Requires_Transient_Scope): Move bulk of implementation to...
1064         (Returns_On_Secondary_Stack): ...here.  Return true for types which
1065         need finalization only if the back-end return slot is not supported.
1066         * libgnat/s-retsta.ads: New file.
1067         * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define.
1068         * gcc-interface/ada-builtins.def (return_slot): Likewise.
1069         * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise.
1070         * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to
1071         Requires_Transient_Scope with Returns_On_Secondary_Stack.
1072         * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>:
1073         In the return by invisible reference, skip the copy if the source
1074         is the same as the destination.
1075         * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with
1076         the return stack pool.
1078 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
1080         * gcc-interface/trans.cc: Fix formatting issues in comments.
1081         (Subprogram_Body_to_gnu): Tidy up.
1082         (Exception_Handler_to_gnu_gcc): Rename into...
1083         (Exception_Handler_to_gnu): ...this.
1084         (gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming.
1086 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
1088         * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple
1089         of local variables and use Is_Generic_Subprogram predicate.
1090         (process_decls): Likewise.
1092 2022-05-19  Eric Botcazou  <ebotcazou@adacore.com>
1094         * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with
1095         inlining heuristics for expression functions here but...
1096         * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead
1097         and do not override them at -Os.
1099 2022-05-19  Piotr Trojanek  <trojanek@adacore.com>
1101         * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code
1102         which expected Scope to return E_Subprogram_Body entity.
1104 2022-05-18  Claire Dross  <dross@adacore.com>
1106         * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion.
1108 2022-05-18  Doug Rupp  <rupp@adacore.com>
1110         * sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *.
1112 2022-05-18  Doug Rupp  <rupp@adacore.com>
1114         * sigtramp-arm-qnx.c: Rewrite.
1116 2022-05-18  Yannick Moy  <moy@adacore.com>
1118         * libgnat/s-aridou.adb (Big3): Change return type.
1119         (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder
1120         alphabetically.
1121         (Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New
1122         lemmas.
1123         (Double_Divide, Scaled_Divide): Add assertions.
1125 2022-05-18  Claire Dross  <dross@adacore.com>
1127         * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions.
1129 2022-05-18  Kévin Le Gouguec  <legouguec@adacore.com>
1131         * libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output
1132         parameter in case we return early.
1134 2022-05-18  Bob Duff  <duff@adacore.com>
1136         * libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads,
1137         libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
1138         libgnat/a-cbhase.adb, libgnat/a-cdlili.adb,
1139         libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb,
1140         libgnat/a-cfhase.adb, libgnat/a-cidlli.adb,
1141         libgnat/a-cihama.adb, libgnat/a-cihase.adb,
1142         libgnat/a-cohama.adb, libgnat/a-cohase.adb,
1143         libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb
1144         (Vet): Make the Vet functions do nothing when
1145         Container_Checks'Enabled is False, and inline them, so the calls
1146         disappear when optimizing.
1148 2022-05-18  Doug Rupp  <rupp@adacore.com>
1150         * Makefile.rtl (arm-qnx): Use default (non-fma) target pair.
1152 2022-05-18  Kévin Le Gouguec  <legouguec@adacore.com>
1154         * libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to
1155         changes in the signature of Read_Aranges_*.
1156         (Debug_Info_Lookup): Do not control address size read from
1157         DWARF.
1158         (Read_Aranges_Header): Do not control address size read from
1159         DWARF; return this size.
1160         (Read_Aranges_Entry): Use the size returned by
1161         Read_Aranges_Header.
1163 2022-05-18  Gary Dismukes  <dismukes@adacore.com>
1165         * errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and
1166         revise comment.
1167         * errout.adb (Error_Msg_GNAT_Extension): Condition message on
1168         the flag Ada_Version_Pragma, and add suggestion to use of pragma
1169         Extensions_Allowed in messages.
1170         * par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb,
1171         par-ch12.adb: Add actual Token_Ptr on calls to
1172         Error_Msg_GNAT_Extension.
1173         * par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for
1174         error calls related to use of extension features.
1175         * sem_ch13.adb: Likewise.
1177 2022-05-18  Johannes Kliemann  <kliemann@adacore.com>
1179         * libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
1180         arithmetic in int.
1182 2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>
1184         * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form.
1186 2022-05-18  Javier Miranda  <miranda@adacore.com>
1188         * sem_ch6.adb (Find_Corresponding_Spec): Avoid calling
1189         Is_Null_Extension with a class-wide type entity.
1190         (Overrides_Visible_Function): Handle alias entities.
1191         * sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion
1192         not needed if the result type of the call is class-wide or if
1193         the result type matches the context type.
1194         * sem_util.ads (Is_Null_Extension): Adding documentation.
1195         (Is_Null_Extension_Of): Adding documentation.
1196         * sem_util.adb (Is_Null_Extension): Adding assertion.
1197         (Is_Null_Extension_Of): Adding assertions.
1199 2022-05-18  Javier Miranda  <miranda@adacore.com>
1201         * snames.ads-tmpl (Name_Index): New attribute name.
1202         (Attribute_Id): Adding Attribute_Index as regular attribute.
1203         * sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
1204         2022 attribute.
1205         (Analyze_Index_Attribute): Check that 'Index appears in a
1206         pre-/postcondition aspect or pragma associated with an entry
1207         family.
1208         (Analyze_Attribute): Adding semantic analysis for 'Index.
1209         (Eval_Attribute): Register 'Index as can never be folded.
1210         (Resolve_Attribute): Resolve attribute 'Index.
1211         * sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
1212         subprogram.
1213         (Analyze_Requeue): Check that the requeue target shall not have
1214         an applicable specific or class-wide postcondition which
1215         includes an Index attribute reference.
1216         * exp_attr.adb (Expand_N_Attribute_Reference): Transform
1217         attribute Index into a renaming of the second formal of the
1218         wrapper built for an entry family that has contract cases.
1219         * einfo.ads (Is_Entry_Wrapper): Complete documentation.
1221 2022-05-18  Yannick Moy  <moy@adacore.com>
1223         * libgnat/s-imagei.adb (Set_Digits): Add assertion.
1224         * libgnat/s-imgboo.adb (Image_Boolean): Add assertions.
1225         * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
1227 2022-05-18  Arnaud Charlet  <charlet@adacore.com>
1229         * sem_aux.adb (Is_Immutably_Limited_Type): Do not look through
1230         private types as per RM 7.5(8.1).
1231         * sem_ch6.adb (Analyze_Function_Return): Use
1232         Is_Immutably_Limited_Type as per RM 6.5(5.10).
1234 2022-05-18  Marc Poulhiès  <poulhies@adacore.com>
1236         * gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add
1237         Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes.
1238         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting.
1239         * sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets
1240         for record aggregate.
1241         (Resolve_Record_Aggregate): Uniformise error message.
1243 2022-05-18  Arnaud Charlet  <charlet@adacore.com>
1245         * ali.adb (Scan_ALI): Special case a-tags.ali when setting
1246         Sec_Stack_Used.
1247         * bindgen.adb (Gen_Adainit): Simplify handling of secondary
1248         stack related code, and only import __gnat_binder_ss_count when
1249         needed.
1250         * libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to
1251         0.
1253 2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>
1255         * libgnat/s-dourea.adb ("/"): Add guard for zero and infinite
1256         divisor.
1257         * libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large
1258         exponent values.
1260 2022-05-18  Yannick Moy  <moy@adacore.com>
1262         * sem_elab.adb (Is_Suitable_Construct): Fix for generated
1263         constructs.
1265 2022-05-18  Marc Poulhiès  <poulhies@adacore.com>
1267         * sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check
1268         for type conversion if object's subtype and expression's subtype
1269         statically match.
1270         * exp_prag.adb (Expand_Pragma_Check): Typo fix in comment.
1272 2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>
1274         * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo.
1275         * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the
1276         renaming only for actuals of formal objects.
1278 2022-05-18  Gary Dismukes  <dismukes@adacore.com>
1280         * sem_ch3.adb (Check_Abstract_Overriding): If the type is
1281         derived from an untagged type, then don't perform any of the
1282         abstract overriding error checks.
1284 2022-05-18  Piotr Trojanek  <trojanek@adacore.com>
1286         * exp_aggr.adb (Component_Count): Calculate size as an Uint and
1287         only then check if it is in the range of Int, as otherwise the
1288         multiplication of Int values can overflow.
1290 2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>
1292         * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext).
1293         (SIMD_PATH_TARGET_PAIRS): New variable.
1294         (TRASYM_DWARF_COMMON_OBJS): Minor tweak.
1295         (x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS.
1296         (x32/Linux): Likewise.
1297         * doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions):
1298         New entry.
1299         * gnat_rm.texi: Regenerate.
1300         * impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu.
1301         * sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for
1302         instances of generic packages that do not have a body.
1303         * libgnat/a-nalofl__simd.ads: New SIMD-enabled version.
1304         * libgnat/a-nuaufl__simd.ads: Likewise.
1305         * libgnat/g-gfmafu.ads: New package renaming unit.
1307 2022-05-18  Arnaud Charlet  <charlet@adacore.com>
1309         * freeze.adb (Should_Freeze_Type): Fix handling of freezing in
1310         instances.
1312 2022-05-18  Marc Poulhiès  <poulhies@adacore.com>
1314         * sem_ch12.adb (Check_Generic_Parent): Use
1315         Get_Unit_Instantiation_Node instead of Next.
1317 2022-05-18  Alexandre Oliva  <oliva@adacore.com>
1319         * libgnat/a-nagefl.ads: Replace mentions of C/unix math library
1320         with intrinsics.
1321         * libgnat/a-nallfl.ads: Likewise.  State compatibility
1322         requirements.
1323         * libgnat/a-nalofl.ads: Likewise.
1324         * libgnat/a-nuaufl.ads: Likewise.
1326 2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>
1328         * sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
1329         In_Instance to outer condition.
1331 2022-05-18  Doug Rupp  <rupp@adacore.com>
1333         * Makefile.rtl: Rename system-qnx-aarch64.ads to
1334         system-qnx-arm.ads.
1335         (AARCH64 QNX section): Modify to handle both arm and arch64.
1336         * tracebak.c (__QNX__): Add new __ARMEL__ section.
1337         * sigtramp-arm-qnx.c: New file.
1338         * libgnat/system-qnx-aarch64.ads: Renamed to ...
1339         * libgnat/system-qnx-arm.ads: this.
1341 2022-05-17  Piotr Trojanek  <trojanek@adacore.com>
1343         * sem_res.adb (Flag_Effectively_Volatile_Objects): Restore
1344         redundant guard.
1346 2022-05-17  Gary Dismukes  <dismukes@adacore.com>
1348         * sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for
1349         the case of a renamed subprogram given by an expanded name whose
1350         outermost prefix names a unit that is hidden by the name of the
1351         renaming.
1352         (Ult_Expanded_Prefix): New local expression function to return
1353         the ultimate prefix of an expanded name.
1355 2022-05-17  Ghjuvan Lacambre  <lacambre@adacore.com>
1357         * gnat_cuda.ads: Update package-level comments.
1358         (Build_And_Insert_CUDA_Initialization): Remove function.
1359         * gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove
1360         function.
1361         (Expand_CUDA_Package): Remove call to
1362         Build_And_Insert_CUDA_Initialization.
1364 2022-05-17  Etienne Servais  <servais@adacore.com>
1366         * freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance
1367         message and silence warning for size > 32.
1369 2022-05-17  Yannick Moy  <moy@adacore.com>
1371         * exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no
1372         entity case.
1373         * inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New
1374         procedure.
1375         * inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New
1376         procedure.
1377         (Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding
1378         inlining for subprograms inside generics.
1379         * sem_ch12.adb (Copy_Generic_Node): Preserve global entities
1380         when inlining in GNATprove mode.
1381         * sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to
1382         inline if renaming is detected in GNATprove mode.
1384 2022-05-17  Gary Dismukes  <dismukes@adacore.com>
1386         * exp_ch4.adb (Expand_N_Allocator): For an allocator with an
1387         unconstrained discriminated designated type, and whose
1388         allocation subtype is constrained, set the
1389         Actual_Designated_Subtype of the dereference passed to the init
1390         proc of the designated type to be the allocation subtype.
1391         * sinfo.ads: Add documentation of new setting of
1392         Actual_Designated_Subtype on a dereference used as an actual
1393         parameter of call to an init proc associated with an allocator.
1394         Also add missing syntax and documentation for the GNAT language
1395         extension that allows an expression as a default for a concrete
1396         generic formal function.
1398 2022-05-17  Bob Duff  <duff@adacore.com>
1400         * sinfo.ads: Remove From_At_End.  Update comments.
1401         * gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb:
1402         Remove From_At_End.
1403         * exp_ch11.adb (Expand_At_End_Handler): Remove assertion.
1404         * fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC,
1405         Has_Invariants, Is_List_Member, List_Containing): Remove
1406         declarations that are not used in gigi.
1407         * opt.ads (Exception_Mechanism): This is not used in gigi.
1408         * exp_util.ads: Minor comment fix.
1410 2022-05-17  Dmitriy Anisimkov  <anisimko@adacore.com>
1412         * impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list.
1414 2022-05-17  Yannick Moy  <moy@adacore.com>
1416         * sem_ch5.adb (Analyze_Iterator_Specification): Use
1417         Insert_Action when possibly inside an expression.
1419 2022-05-17  Marc Poulhiès  <poulhies@adacore.com>
1421         * libgnat/g-forstr.adb (Is_Number): Add scientific notation and
1422         shortest representation.
1424 2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>
1426         * exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N.
1428 2022-05-17  Bob Duff  <duff@adacore.com>
1430         * exp_util.adb (Requires_Cleanup_Actions): Remove
1431         N_Protected_Body from the case statement, so that case will be
1432         covered by "raise Program_Error".
1434 2022-05-17  Bob Duff  <duff@adacore.com>
1436         * output.adb (Pop_Output, Set_Output): Unconditionally flush
1437         output when switching from one output destination to another.
1438         Otherwise buffering can cause garbled output.
1439         (w): Push/pop the current settings, and temporarily
1440         Set_Standard_Error during these procedures.
1442 2022-05-17  Dmitriy Anisimkov  <anisimko@adacore.com>
1444         * libgnat/g-binsea.ads, libgnat/g-binsea.adb
1445         (GNAT.Binary_Search): New package.
1446         * Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list.
1447         * doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New
1448         package record.
1449         * gnat_rm.texi: Regenerate.
1451 2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>
1453         * sem_ch12.ads (Is_Abbreviated_Instance): Declare.
1454         * sem_ch12.adb (Check_Abbreviated_Instance): Declare.
1455         (Requires_Conformance_Checking): Declare.
1456         (Analyze_Association.Process_Default): Fix subtype of parameter.
1457         (Analyze_Formal_Object_Declaration): Check whether it is in the
1458         visible part of abbreviated instance.
1459         (Analyze_Formal_Subprogram_Declaration): Likewise.
1460         (Analyze_Formal_Type_Declaration): Likewise.
1461         (Analyze_Package_Instantiation): Do not check for a generic child
1462         unit in the case of an abbreviated instance.
1463         (Check_Abbreviated_Instance): New procedure.
1464         (Check_Formal_Packages): Tidy up.
1465         (Copy_Generic_Elist): Fix comment.
1466         (Instantiate_Formal_Package): Tidy up.  If the generic unit is a
1467         child unit, copy the qualified name onto the abbreviated instance.
1468         (Is_Abbreviated_Instance): New function.
1469         (Collect_Previous_Instances): Call Is_Abbreviated_Instance.
1470         (Requires_Conformance_Checking): New function.
1471         * sem_ch7.adb (Analyze_Package_Specification): Do not install the
1472         private declarations of the parent for an abbreviated instance.
1474 2022-05-17  Etienne Servais  <servais@adacore.com>
1476         * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type
1477         of Indic_Typ.
1478         (Constrain_Array): Ditto for T.
1480 2022-05-17  Arnaud Charlet  <charlet@adacore.com>
1482         * sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow
1483         'Reduce for Ada 2022 and above.
1484         * sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer
1485         implementation defined.
1487 2022-05-17  Ghjuvan Lacambre  <lacambre@adacore.com>
1489         * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate
1490         Abort_Undefers when not Abort_Allowed.
1492 2022-05-17  Marc Poulhiès  <poulhies@adacore.com>
1494         * exp_ch7.adb: Fix typo.
1496 2022-05-17  Etienne Servais  <servais@adacore.com>
1498         * lib.ads: initialize `Compiler_State` to `Parsing`.
1500 2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>
1502         * sem_ch13.adb (Has_Compatible_Representation): Return true for
1503         derived untagged record types without representation clause.
1505 2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>
1507         * sem_ch13.ads (Has_Compatible_Representation): Minor tweaks.
1508         * sem_ch13.adb (Has_Compatible_Representation): Look directly into
1509         the (implementation) base types and simplifiy accordingly.
1510         * exp_ch5.adb (Change_Of_Representation): Adjust.
1511         * exp_ch6.adb (Expand_Actuals): Likewise.
1513 2022-05-17  Etienne Servais  <servais@adacore.com>
1515         * sem_ch5.adb (Analyze_Assignment): Remove superfluous call to
1516         Original_Node.
1518 2022-05-17  Javier Miranda  <miranda@adacore.com>
1520         * freeze.adb (Freeze_Entity): Protect the call to
1521         Declaration_Node against entities of expressions replaced by the
1522         frontend with an N_Raise_CE node.
1524 2022-05-17  Javier Miranda  <miranda@adacore.com>
1526         * freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding
1527         indicator because the DTW wrapper overrides its wrapped
1528         subprogram.
1529         * contracts.ads (Make_Class_Precondition_Subps): Adding
1530         documentation.
1532 2022-05-17  Eric Botcazou  <ebotcazou@adacore.com>
1534         * exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for
1535         subprograms only if they have no actions.
1536         * exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions
1537         field of the freeze node instead of inserting them after it.
1538         * sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment.
1539         * gcc-interface/trans.cc (process_freeze_entity): Return early for
1540         freeze nodes of subprograms with Interface_Alias set.
1542 2022-05-17  Javier Miranda  <miranda@adacore.com>
1544         * contracts.adb (Build_Call_Helper_Body): Improve handling of
1545         the case of a (legal) non-dispatching call to an abstract
1546         subprogram.
1548 2022-05-17  Piotr Trojanek  <trojanek@adacore.com>
1550         * doc/gnat_rm/implementation_defined_attributes.rst
1551         (Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume;
1552         refill.
1553         * gnat_rm.texi: Regenerate.
1555 2022-05-17  Etienne Servais  <servais@adacore.com>
1557         * par-ch3.adb (P_Access_Type_Definition): Outputs an error if
1558         token is not "access".
1560 2022-05-17  Piotr Trojanek  <trojanek@adacore.com>
1562         * exp_ch2.adb (Expand_Current_Value): Remove special case for
1563         references immediately within pragma argument associations.
1564         * exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special
1565         case for privals.
1567 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1569         * sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the
1570         equality operator on the homonym chain if there is another equality
1571         operator in the private part.
1573 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1575         * exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value
1576         propagation when analysing the constant that holds the
1577         Loop_Entry prefix value.
1579 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1581         * sem_attr.adb (Address_Checks): Remove call to
1582         Kill_Current_Values for subprogram entities, because this
1583         routine only does something for object entities.
1585 2022-05-16  Justin Squirek  <squirek@adacore.com>
1587         * exp_ch7.adb (Build_Finalizer): Disable late evaluation of
1588         postconditions for functions returning types which where
1589         Has_Unconstrained_Elements is true or are unconstrained arrays.
1591 2022-05-16  Etienne Servais  <servais@adacore.com>
1593         * exp_ch4.adb (Expand_N_Qualified_Expression): Freeze
1594         Target_Type.
1596 2022-05-16  Yannick Moy  <moy@adacore.com>
1598         * libgnat/s-aridou.adb (Double_Divide): Add intermediate
1599         assertions.
1601 2022-05-16  Ghjuvan Lacambre  <lacambre@adacore.com>
1603         * lib-writ.adb (Output_CUDA_Symbols): Check for null packages.
1605 2022-05-16  Joel Brobecker  <brobecker@adacore.com>
1607         * libgnat/g-debpoo.ads: Improve documentation of the
1608         Stack_Trace_Depth parameter.
1610 2022-05-16  Joel Brobecker  <brobecker@adacore.com>
1612         * init.c (__gnat_install_handler) [__QNX__]: Save sigaction's
1613         return value in err before checking err's value.  Fix incorrect
1614         signal names in perror messages.
1616 2022-05-16  Joel Brobecker  <brobecker@adacore.com>
1618         * init.c (__gnat_install_handler) [__QNX__]: Set
1619         act.sa_sigaction rather than act.sa_handler.
1621 2022-05-16  Joel Brobecker  <brobecker@adacore.com>
1623         * cstreams.c: Add <stdlib.h> #include.
1625 2022-05-16  Joel Brobecker  <brobecker@adacore.com>
1627         * terminals.c: Remove bzero #define on HP/UX or Solaris
1628         platforms.
1629         (child_setup_tty): Replace bzero call by equivalent call to
1630         memset.
1632 2022-05-16  Gary Dismukes  <dismukes@adacore.com>
1634         * sem_util.ads (Storage_Model_Support): Revise comments on most
1635         operations within this nested package to reflect that they can
1636         now be passed either a type that has aspect Storage_Model_Type
1637         or an object of such a type.  Change the names of the relevant
1638         formals to SM_Obj_Or_Type. Also, add more precise semantic
1639         descriptions in some cases, and declare the subprograms in a
1640         more logical order.
1641         * sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add
1642         an assertion that the type must specify aspect
1643         Designated_Storage_Model, rather than returning Empty when it
1644         doesn't specify that aspect.
1645         (Storage_Model_Support.Storage_Model_Type): Add an assertion
1646         that formal must be an object whose type specifies aspect
1647         Storage_Model_Type, rather than returning Empty for when it
1648         doesn't have such a type (and test Has_Storage_Model_Type_Aspect
1649         rather than Find_Value_Of_Aspect).
1650         (Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow
1651         both objects and types, and add an assertion that the type (or
1652         the type of the object) has a value for aspect
1653         Storage_Model_Type.
1655 2022-05-16  Etienne Servais  <servais@adacore.com>
1657         * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
1658         Fix condition to return.
1660 2022-05-16  Yannick Moy  <moy@adacore.com>
1662         * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment.
1664 2022-05-16  Marc Poulhiès  <poulhies@adacore.com>
1666         * sem_aggr.adb (Resolve_Iterated_Association): Create scope
1667         around N_Iterated_Element_Association handling. Analyze a copy
1668         of the Loop_Parameter_Specification. Call Analyze instead
1669         Analyze_* to be more homogeneous.
1670         (Sem_Ch5): Remove now unused package.
1672 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1674         * exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>:
1675         Climb up out of the node if the actions come from Discrete_Choices.
1677 2022-05-16  Javier Miranda  <miranda@adacore.com>
1679         * sem_disp.adb (Check_Dispatching_Context): When checking to see
1680         whether an expression occurs in a class-wide pre/post-condition,
1681         also check for the possibility that it occurs in a class-wide
1682         preconditions subprogram that was introduced as part of
1683         expansion. Without this fix, some legal calls occuring in
1684         class-wide preconditions may be incorrectly flagged as violating
1685         the "a call to an abstract subprogram must be dispatching" rule.
1687 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1689         * inline.adb (Cleanup_Scopes): Test the underlying type.
1691 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1693         * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare.
1694         * sem_util.adb (Is_Entity_Of_Quantified_Expression): New
1695         predicate.
1696         (New_Copy_Tree): Deal with all entities of quantified
1697         expressions.
1698         * sem_ch13.adb (Build_Predicate_Functions): Get rid of
1699         superfluous tree copying and remove obsolete code.
1700         * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all
1701         entities of quantified expressions.
1703 2022-05-16  Steve Baird  <baird@adacore.com>
1705         * exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call
1706         variable to keep track of the last "early finalization" call
1707         generated for type extension's finalization procedure. If
1708         non-empty, then this will indicate the point at which to insert
1709         the call to the parent type's finalization procedure. Modify
1710         nested function Process_Component_List_For_Finalize to set this
1711         variable (and avoid setting it during a recursive call).  If
1712         Last_POC_Call is empty, then insert the parent finalization call
1713         before, rather than after, the finalization code for the
1714         extension components.
1716 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1718         * einfo-utils.adb (Remove_Entity): Fix couple of oversights.
1719         * exp_ch3.adb (Is_User_Defined_Equality): Delete.
1720         (User_Defined_Eq): Call Get_User_Defined_Equality.
1721         (Make_Eq_Body): Likewise.
1722         (Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality.
1723         * exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality.
1724         (Is_Equality): Delete.
1725         (User_Defined_Primitive_Equality_Op): Likewise.
1726         (Find_Aliased_Equality): Call Is_User_Defined_Equality.
1727         (Expand_N_Op_Eq): Call Underlying_Type unconditionally.
1728         Do not implement AI12-0101 + AI05-0123 here.
1729         (Expand_Set_Membership): Call Resolve_Membership_Equality.
1730         * exp_ch6.adb (Expand_Call_Helper): Remove obsolete code.
1731         * sem_aux.ads (Is_Record_Or_Limited_Type): Delete.
1732         * sem_aux.adb (Is_Record_Or_Limited_Type): Likewise.
1733         * sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare.
1734         * sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation.
1735         (Analyze_Membership_Op): Call Resolve_Membership_Equality.
1736         (Nondispatching_Call_To_Abstract_Operation): New procedure.
1737         (Remove_Abstract_Operations): Call it.
1738         * sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and
1739         call Is_User_Defined_Equality.
1740         * sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure
1741         implementing AI12-0101 + AI05-0123.
1742         (Analyze_Package_Specification): Call it.
1743         (Declare_Inherited_Private_Subprograms): Minor tweak.
1744         (Uninstall_Declarations): Likewise.
1745         * sem_disp.adb (Check_Direct_Call): Adjust to new implementation
1746         of Is_User_Defined_Equality.
1747         * sem_res.ads (Resolve_Membership_Equality): Declare.
1748         * sem_res.adb (Resolve): Replace direct error handling with call to
1749         Nondispatching_Call_To_Abstract_Operation
1750         (Resolve_Call): Likewise.
1751         (Resolve_Equality_Op): Likewise.  mplement AI12-0413.
1752         (Resolve_Membership_Equality): New procedure.
1753         (Resolve_Membership_Op): Call Get_User_Defined_Equality.
1754         * sem_util.ads (Get_User_Defined_Eq): Rename into...
1755         (Get_User_Defined_Equality): ...this.
1756         * sem_util.adb (Get_User_Defined_Eq): Rename into...
1757         (Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality.
1758         (Is_User_Defined_Equality): Also check the profile but remove tests
1759         on Comes_From_Source and Parent.
1760         * sinfo.ads (Generic_Parent_Type): Adjust field description.
1761         * uintp.ads (Ubool): Invoke user-defined equality in predicate.
1763 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1765         * exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a
1766         call to Get_User_Defined_Eq.
1768 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1770         * exp_ch3.adb (Build_Untagged_Equality): Exit early when the
1771         outcome of a loop is already known.
1773 2022-05-16  Olivier Hainque  <hainque@adacore.com>
1775         * Makefile.rtl: Add aarch64 to the list of CPUs for which
1776         GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2.
1778 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1780         * sem_ch4.adb (Analyze_Negation): Minor tweak.
1781         (Analyze_Unary_Op): Likewise.
1783 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
1785         * exp_ch3.adb (Build_Assignment): Adjust to the new definition of
1786         Incomplete_View field.
1787         * sem_ch10.ads (Decorate_Type): Declare.
1788         * sem_ch10.adb (Decorate_Type): Move to library level.
1789         (Install_Limited_With_Clause): In the already analyzed case, also
1790         deal with incomplete type declarations present in the sources and
1791         simplify the replacement code.
1792         (Build_Shadow_Entity): Deal with swapped views in package body.
1793         (Restore_Chain_For_Shadow): Deal with incomplete type declarations
1794         present in the sources.
1795         * sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new
1796         definition of Incomplete_View field.
1797         (Build_Incomplete_Type_Declaration): Small consistency tweak.
1798         Set the incomplete type as the Incomplete_View of the full type.
1799         If the scope is a package with a limited view, build a shadow
1800         entity for the incomplete type.
1801         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing
1802         the limited view of a CW type as designated type of an anonymous
1803         access return type, get to the CW type of the incomplete view of
1804         the tagged type, if any.
1805         (Collect_Primitive_Operations): Adjust to the new definition of
1806         Incomplete_View field.
1807         * sinfo.ads (Incomplete_View): Denote the entity itself instead
1808         of its declaration.
1809         * sem_util.adb: Remove call to Defining_Entity.
1811 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1813         * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a
1814         subtype recurse into its base type.
1816 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1818         * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify.
1820 2022-05-16  Piotr Trojanek  <trojanek@adacore.com>
1822         * sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma
1823         instead.
1825 2022-05-16  Martin Liska  <mliska@suse.cz>
1827         * locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE.
1828         (language_name_to_639_3): Likewise.
1829         (country_name_to_3166): Likewise.
1831 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
1833         * gcc-interface/decl.cc (is_cplusplus_method): Build proper
1834         String for Get_External_Name.
1836 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
1838         * sem_ch3.adb (Derive_Subprogram): For a function, also copy the
1839         Returns_By_Ref flag from the parent.
1841 2022-05-13  Gary Dismukes  <dismukes@adacore.com>
1843         * sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the
1844         expression of the aspect at this point, like other aspects that
1845         denote simple entities. Ensures that function
1846         Storage_Model_Object will have an entity to retrieve from the
1847         aspect expression. Also, move comment about aspects that don't
1848         require delay analysis in front of last alternative of the case
1849         statement, where it's supposed to be.
1851 2022-05-13  Javier Miranda  <miranda@adacore.com>
1853         * contracts.adb (Build_Unique_Name): New subprogram.
1854         (Make_Class_Precondition_Subps): Use Build_Unique_Name to
1855         generate the names of the call helpers and the name of indirect
1856         call wrappers.
1857         * freeze.adb (Needs_Wrapper): Remove dead code.
1858         (Check_Inherited_Conditions): Defer building helpers and ICW
1859         until all the dispatch table wrappers have been built and
1860         analyzed. Required to ensure uniqueness in their names because
1861         when building these wrappers for overlapped subprograms their
1862         homonym number is not definite until they have been analyzed.
1864 2022-05-13  Arnaud Charlet  <charlet@adacore.com>
1866         * libgnarl/s-taprop__linux.adb (Initialize): Do not use an
1867         alternate stack if no handler for SEGV is installed.
1869 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
1871         * doc/gnat_rm/security_hardening_features.rst (Control Flow
1872         Redundancy): Drop mentions of noreturn and tail calls.
1873         * gnat_rm.texi: Regenerate.
1875 2022-05-13  Ghjuvan Lacambre  <lacambre@adacore.com>
1877         * ali.adb: Introduce new 'K' line in ALI files, used to
1878         represent CUDA kernel entries.
1879         * ali.ads: Create new CUDA_Kernels table, which contains entries
1880         of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds
1881         to a K line in an ali file.
1882         * bindgen.adb: Introduce new Gen_CUDA_Init procedure in the
1883         binder, which generates CUDA kernel registration code.
1884         * gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to
1885         make it available to bindgen.adb.
1886         * gnat_cuda.ads: Likewise.
1887         * lib-writ.adb: Introduce new Output_CUDA_Symbols procedure,
1888         which generates one 'K' line in the ALI file per visible CUDA
1889         kernel.
1890         * opt.ads: Introduce Enable_CUDA_Expansion option, triggered by
1891         using the -gnatd_c flag.
1892         * switch-b.adb: Likewise.
1893         * switch-c.adb: Likewise.
1895 2022-05-13  Marc Poulhiès  <poulhies@adacore.com>
1897         * exp_aggr.adb (Gen_Loop): Create scope for loop variable of
1898         iterated components.
1900 2022-05-13  Yannick Moy  <moy@adacore.com>
1902         * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index):
1903         Remove useless functions.
1904         (Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt
1905         to removal of wrapper functions.
1906         * libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index):
1907         Remove useless functions.
1908         * libgnat/a-chtgfo.adb (Checked_Index): Remove useless function.
1909         (Clear): Delete code commented out regarding Busy and Lock
1910         management.
1911         (Delete_Node_At_Index): Delete unused procedure.
1912         (Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to
1913         removal of wrapper functions.
1914         * libgnat/a-chtgfo.ads (Checked_Index): Remove useless function.
1915         (Delete_Node_At_Index): Delete unused procedure.
1917 2022-05-13  Yannick Moy  <moy@adacore.com>
1919         * libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid
1920         aliasing.
1921         (Assign, Move): Remove address comparison.
1922         (Include): Insert constants for subtype constraints.
1923         (Insert): Rewrite to avoid aliasing and function with side-effects.
1924         * libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid
1925         aliasing.
1926         (Assign, Move): Remove address comparison.
1927         (Difference, Intersection, Is_Subset, Overlap,
1928         Symmetric_Difference, Union): Remove address comparison.  Insert
1929         constants for subtype constraints.
1930         (Insert): Rewrite to avoid aliasing and function with
1931         side-effects.
1932         * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index,
1933         Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index):
1934         Type for hash tables not tagged anymore.
1935         (Generic_Conditional_Insert): New_Node generic formal is a
1936         procedure taking the hash table as first parameter now, to avoid
1937         aliasing in the caller.
1938         * libgnat/a-chtgfk.ads: Same.
1939         * libgnat/a-chtgfo.adb (Checked_Index, Clear,
1940         Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free,
1941         Generic_Allocate, Generic_Iteration, Generic_Read,
1942         Generic_Write, Index, Next): Type for hash tables not tagged
1943         anymore.
1944         (Generic_Equal): Removed tagged. Remove address comparison.
1945         * libgnat/a-chtgfo.ads: Same.
1946         * libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged.
1948 2022-05-13  Yannick Moy  <moy@adacore.com>
1950         * Makefile.rtl: Add new files.
1951         * libgnat/a-cfhama.adb: Use formal version of hash tables.
1952         * libgnat/a-cfhama.ads: Same.
1953         * libgnat/a-cfhase.adb: Same.
1954         * libgnat/a-cfhase.ads: Same.
1955         * libgnat/a-chtgfk.adb: New unit for formal containers, modified
1956         version of Generic_Bounded_Keys.
1957         * libgnat/a-chtgfk.ads: Same.
1958         * libgnat/a-chtgfo.adb: New unit for formal containers, modified
1959         version of Generic_Bounded_Operations.
1960         * libgnat/a-chtgfo.ads: Same.
1961         * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third
1962         version of the type for hash tables, equivalent to the bounded
1963         version without tampering checks.
1965 2022-05-13  Javier Miranda  <miranda@adacore.com>
1967         * freeze.adb (Check_Inherited_Conditions): Dispatch table
1968         wrappers must be placed in the list of entities of their scope
1969         at the same place of their wrapped primitive. This is required
1970         for private types since these wrappers are built when their full
1971         tagged type declaration is frozen but they may override a
1972         primitive defined in the public part of the package (and it is
1973         important to maintain the wrapper in the list of public entities
1974         of the package to ensure their correct visibility).
1976 2022-05-13  Johannes Kanig  <kanig@adacore.com>
1978         * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT
1979         environment variable is set, we use that as the prefix, instead
1980         of computing the prefix from the executable location.
1982 2022-05-13  Steve Baird  <baird@adacore.com>
1984         * exp_ch3.ads (Build_Intialization_Call): Add new formal
1985         parameter, Init_Control_Actual, with default value. Clients
1986         outside of package Exp_Ch3 are unaffected.
1987         * exp_ch3.adb (Initialization_Control): new package; support for
1988         this 4-valued parameter.  The existing Requires_Late_Init
1989         function is moved into this new package.
1990         (Build_Initialization_Call): Add new formal parameter for
1991         subprogram body, use this new formal parameter in generating an
1992         init proc call.
1993         (Build_Record_Init_Proc): Replace Set_Tag Boolean formal
1994         parameter with 4-valued Init_Control_Formal. Wrap if-statements
1995         with appropriate conditions around tag initialization, early
1996         initialization, and late initialization statements.
1997         * exp_util.adb (Build_Task_Image_Decl): Avoid problem with
1998         duplicate declarations when an init proc for a type extension
1999         calls the parent type's init proc twice.
2001 2022-05-13  Ed Schonberg  <schonberg@adacore.com>
2003         * sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the
2004         case of a class-wide derived iterator.
2006 2022-05-13  Yannick Moy  <moy@adacore.com>
2008         * libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
2009         contracts.
2010         * libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
2011         in code of procedure (function already uses it).
2012         * libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
2013         in contracts.
2015 2022-05-13  Etienne Servais  <servais@adacore.com>
2017         * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code
2018         snippet.
2019         * gnat_rm.texi: Regenerate.
2021 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
2023         * aspects.adb (Find_Value_Of_Aspect): Add guard.
2024         * sem_ch4.adb (Complete_Object_Operation): Remove obsolete code.
2025         * sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard.
2027 2022-05-13  Javier Miranda  <miranda@adacore.com>
2029         * exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
2030         'Address in a call to an instantiation of the implicit
2031         subprogram To_Pointer with a class-wide interface type target
2032         requires adding an implicit type conversion to force
2033         displacement of the "this" pointer.
2035 2022-05-13  Javier Miranda  <miranda@adacore.com>
2037         * sem_attr.adb (Resolve_Attribute): Ensure that attribute
2038         expressions are resolved at this stage; required for preanalyzed
2039         references to discriminants since their resolution (and
2040         expansion) will take care of updating their Entity attribute to
2041         reference their discriminal.
2043 2022-05-13  Justin Squirek  <squirek@adacore.com>
2045         * sem_util.adb (Wrong_Type): Avoid using the first subtype of
2046         the expected type in error messages when the expected type is
2047         not internally generated.
2049 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
2051         * doc/gnat_rm/security_hardening_features.rst: Add subsection on
2052         Control Flow Redundancy.
2053         * gnat_rm.texi: Regenerate.
2055 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
2057         * exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that
2058         it is a WHILE iteration scheme before using Condition_Actions.
2060 2022-05-13  Piotr Trojanek  <trojanek@adacore.com>
2062         * atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb,
2063         sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of
2064         Unchecked_Conversion in the compiler itself.
2065         * libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads,
2066         libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb,
2067         libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the
2068         runtime.
2069         * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in
2070         documentation.
2071         * gnat_ugn.texi: Regenerate.
2073 2022-05-13  Piotr Trojanek  <trojanek@adacore.com>
2075         * butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb:
2076         Replace uses of Unchecked_Deallocation with
2077         Ada.Unchecked_Deallocation.
2078         * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the
2079         documentation; fix casing of GNAT.IO.
2080         * gnat_ugn.texi: Regenerate.
2082 2022-05-13  Marc Poulhiès  <poulhies@adacore.com>
2084         * sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference.
2085         Remove useless loop.
2087 2022-05-13  Etienne Servais  <servais@adacore.com>
2089         * sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in
2090         comment.
2092 2022-05-13  Justin Squirek  <squirek@adacore.com>
2094         * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
2095         generation of run-time accessibility checks to account for cases
2096         where Extra_Accessibility_Of_Result should be used versus the
2097         level of the enclosing subprogram. Use original node to avoid
2098         checking against expanded code. Disable check generation for
2099         tagged type case.
2100         (Is_Formal_Of_Current_Function): Added to encompass a predicate
2101         used within Check_Return_Construct_Accessibility to test if an
2102         associated expression is related to a relevant formal.
2103         * sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to
2104         accept Node_Or_Entity_Id.
2105         (Innermost_Master_Scope_Depth): Calculate level based on the
2106         subprogram of a return statement instead of the one returned by
2107         Current_Subprogram.
2108         (Needs_Result_Accessibility_Level): Remove
2109         Disable_Coextension_Cases constant, and disable the tagged type
2110         case for performance reasons.
2112 2022-05-13  Piotr Trojanek  <trojanek@adacore.com>
2114         * sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore
2115         component and discriminant identifiers.
2117 2022-05-13  Piotr Trojanek  <trojanek@adacore.com>
2119         * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove
2120         redundant guard.
2122 2022-05-13  Justin Squirek  <squirek@adacore.com>
2124         * sem_ch8.adb (Determine_Package_Scope): Created to centralize
2125         the calculation of which package a given use clause belongs to.
2126         (Most_Descendant_Use_Clause): Modified to call
2127         Determine_Package_Scope.
2128         * sem_util.adb, sem_util.ads (Enclosing_Package): Modified to
2129         handle both entity and node ids.
2131 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2133         * gnat1drv.adb (Gnat1drv): Skip postponed checks when there are
2134         errors.
2136 2022-05-12  Arnaud Charlet  <charlet@adacore.com>
2138         * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL.
2139         * gnat_ugn.texi: Regenerate.
2141 2022-05-12  Bob Duff  <duff@adacore.com>
2143         * namet.ads, namet.adb (Write_Name_For_Debug): Add Quote
2144         parameter to allow conditional addition of quotes. Note that
2145         some calls to Write_Name_For_Debug, for example for file names,
2146         shouldn't have quotes, as in some_package.adb:123:45.
2147         * treepr.adb (Print_Name): Add double quotes around the name
2148         using the above Quote parameters.
2150 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2152         * sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
2153         * sem_util.adb (Replace_Null_Operand,
2154         Null_To_Null_Address_Convert_OK): Likewise.
2156 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2158         * sem_util.ads (Is_Selector_Name): Remove spec.
2159         * sem_util.adb (Is_Selector_Name): Remove body.
2161 2022-05-12  Arnaud Charlet  <charlet@adacore.com>
2163         * sem_warn.adb (Has_Junk_Name): Add more dummy names.
2165 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2167         * lib-xref.adb (Generate_Reference): Fix comment and implement
2168         it precisely.
2170 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2172         * atree.adb, atree.ads: Move WITH clause from spec to body; to
2173         prevent new warnings stopping the bootstrap.
2174         * fmap.adb, fname-sf.adb, libgnat/a-direct.adb,
2175         libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to
2176         prevent new warnings stopping the bootstrap.
2177         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set
2178         Is_Instantiated flag when the instance is in the extended main
2179         source unit.
2181 2022-05-12  Yannick Moy  <moy@adacore.com>
2183         * libgnat/s-valuei.ads: Remove pragma Warnings Off.
2184         * libgnat/s-valueu.ads: Same.
2185         * libgnat/s-valuti.ads: Same.
2187 2022-05-12  Yannick Moy  <moy@adacore.com>
2189         * sem_util.adb (Check_Result_And_Post_State): Exempt trivial
2190         post.
2192 2022-05-12  Arnaud Charlet  <charlet@adacore.com>
2194         * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h,
2195         gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads,
2196         lib-writ.adb: Get rid of Frontend_Exceptions processing.
2197         * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads,
2198         libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads,
2199         libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads,
2200         libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads,
2201         libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads,
2202         libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads,
2203         libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads,
2204         libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads,
2205         libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads,
2206         libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads,
2207         libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads,
2208         libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads,
2209         libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads,
2210         libgnat/system-solaris-sparc.ads,
2211         libgnat/system-solaris-x86.ads,
2212         libgnat/system-vxworks-arm-rtp-smp.ads,
2213         libgnat/system-vxworks-arm-rtp.ads,
2214         libgnat/system-vxworks-arm.ads,
2215         libgnat/system-vxworks-e500-kernel.ads,
2216         libgnat/system-vxworks-e500-rtp-smp.ads,
2217         libgnat/system-vxworks-e500-rtp.ads,
2218         libgnat/system-vxworks-ppc-kernel.ads,
2219         libgnat/system-vxworks-ppc-rtp-smp.ads,
2220         libgnat/system-vxworks-ppc-rtp.ads,
2221         libgnat/system-vxworks-x86-kernel.ads,
2222         libgnat/system-vxworks-x86-rtp-smp.ads,
2223         libgnat/system-vxworks-x86-rtp.ads,
2224         libgnat/system-vxworks7-aarch64-rtp-smp.ads,
2225         libgnat/system-vxworks7-aarch64.ads,
2226         libgnat/system-vxworks7-arm-rtp-smp.ads,
2227         libgnat/system-vxworks7-arm.ads,
2228         libgnat/system-vxworks7-e500-kernel.ads,
2229         libgnat/system-vxworks7-e500-rtp-smp.ads,
2230         libgnat/system-vxworks7-e500-rtp.ads,
2231         libgnat/system-vxworks7-ppc-kernel.ads,
2232         libgnat/system-vxworks7-ppc-rtp-smp.ads,
2233         libgnat/system-vxworks7-ppc-rtp.ads,
2234         libgnat/system-vxworks7-ppc64-kernel.ads,
2235         libgnat/system-vxworks7-ppc64-rtp-smp.ads,
2236         libgnat/system-vxworks7-x86-kernel.ads,
2237         libgnat/system-vxworks7-x86-rtp-smp.ads,
2238         libgnat/system-vxworks7-x86-rtp.ads,
2239         libgnat/system-vxworks7-x86_64-kernel.ads,
2240         libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove
2241         Frontend_Exceptions line.
2242         * gcc-interface/decl.cc, gcc-interface/trans.cc
2243         (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi,
2244         gnat_to_gnu): Remove Front_End_SJLJ processing and always assume
2245         Back_End_Exceptions.
2247 2022-05-12  Bob Duff  <duff@adacore.com>
2249         * namet.ads, namet.adb (Write_Name_For_Debug): New more-robust
2250         version of Write_Name.
2251         (Destroy_Global_Name_Buffer): New procedure to help detect bugs
2252         related to use of Global_Name_Buffer.  Misc cleanup and comment
2253         improvements. E.g. we don't need to document every detail of
2254         debugging printouts, especially since they can change.
2255         * uname.ads, uname.adb (Write_Unit_Name_For_Debug): New
2256         more-robust version of Write_Unit_Name.
2257         (Get_Unit_Name_String): Pass buffer in, instead of using the
2258         global variable. Misc cleanup. Remove the "special fudge", which
2259         is apparently not needed, and anyway the comment "the %s or %b
2260         has already been eliminated" seems wrong.
2261         (Write_Unit_Name): Call the new version of Get_Unit_Name_String.
2262         * errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version
2263         of Get_Unit_Name_String. We pass the global variable here,
2264         because it's too much trouble to disentangle such uses in
2265         Errout.
2266         * sem_util.ads, sem_util.adb, sem_dist.adb
2267         (Get_Library_Unit_Name): New version of
2268         Get_Library_Unit_Name_String that avoids usage of the global
2269         variable.
2270         * casing.ads, casing.adb, exp_prag.adb, exp_util.adb
2271         (Set_All_Upper_Case): Remove. There is no need for a wrapper
2272         here -- code is clearer without it.
2273         * treepr.adb (Print_Name): Call Write_Name_For_Debug, which
2274         deals with No_Name (etc), rather than duplicating that here.
2275         Note that the call to Get_Name_String was superfluous.
2276         (Tree_Dump): Call Write_Unit_Name_For_Debug instead of
2277         Write_Unit_Name, which crashes if not Is_Valid_Name.
2278         * erroutc.ads: Improve comments.
2279         * erroutc.adb (Set_Msg_Name_Buffer): Call
2280         Destroy_Global_Name_Buffer to detect potential bugs where it
2281         incorrectly looks at the global variable.
2282         * sinput.adb (Write_Location): Call Write_Name_For_Debug instead
2283         of Write_Name, so it won't blow up on invalid data.
2284         * sinput.ads: Improve comments; remove some verbosity.
2285         * libgnat/s-imagef.adb: Fix typo in comment.
2287 2022-05-12  Yannick Moy  <moy@adacore.com>
2289         * libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma.
2290         * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
2292 2022-05-12  Yannick Moy  <moy@adacore.com>
2294         * libgnat/s-aridou.ads: Remove use-clause, add renames and
2295         subtypes.
2296         * libgnat/s-exponn.ads: Same.
2297         * libgnat/s-expont.ads: Same.
2298         * libgnat/s-widthu.ads: Same.
2300 2022-05-12  Etienne Servais  <servais@adacore.com>
2302         * csets.adb (Fold_Latin_9): Fix y with diaeresis.
2303         (Fold_IBM_PC_850): Fix o with stroke.
2305 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2307         * sem_type.adb (Valid_Boolean_Arg): Remove redundant guard.
2309 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2311         * sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are
2312         valid boolean arguments.
2314 2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2316         * sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add
2317         test for subtype conformance in the cases of
2318         access-to-subprogram types.
2320 2022-05-12  Yannick Moy  <moy@adacore.com>
2322         * libgnat/s-imagef.adb: Justify false message from CodePeer.
2324 2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2326         * sem_ch4.adb (Analyze_Case_Expression): Rewrite.
2327         (Analyze_If_Expression): Likewise.
2328         (Possible_Type_For_Conditional_Expression): New function.
2329         * sem_type.adb (Specific_Type): Retur the base type in more
2330         cases.
2332 2022-05-12  Yannick Moy  <moy@adacore.com>
2334         * libgnat/s-imagef.adb: Adapt to new signature of Image_I, by
2335         providing ghost imported subprograms. For now, no contract is
2336         used on these subprograms, as System.Image_F is not proved.
2337         * libgnat/s-imagef.ads: Add modular type Uns as formal
2338         parameter, to use in defining Int_Params for instantiating
2339         Image_I.
2340         * libgnat/s-imagei.adb: Add contracts and ghost code.
2341         * libgnat/s-imagei.ads: Replace Int formal parameter by package
2342         Int_Params, which bundles type Int and Uns with ghost
2343         subprograms.  Add contracts.
2344         * libgnat/s-imfi128.ads: Adapt to new formal of Image_F.
2345         * libgnat/s-imfi32.ads: Adapt to new formal of Image_F.
2346         * libgnat/s-imfi64.ads: Adapt to new formal of Image_F.
2347         * libgnat/s-imgint.ads: Adapt to new formals of Image_I.
2348         * libgnat/s-imglli.ads: Adapt to new formals of Image_I.
2349         * libgnat/s-imgllli.ads: Adapt to new formals of Image_I.
2350         * libgnat/s-valint.ads: Adapt to new formals of Value_I.
2351         * libgnat/s-vallli.ads: Adapt to new formals of Value_I.
2352         * libgnat/s-valllli.ads: Adapt to new formals of Value_I.
2353         * libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New
2354         ghost lemma.
2355         * libgnat/s-valuei.ads: New formal parameters to prove the new
2356         lemma.
2357         * libgnat/s-valuti.ads (Int_Params): Define a generic package to
2358         be used as a trait-like formal parameter in Image_I and other
2359         generics that need to instantiate Image_I.
2360         * libgnat/s-widthu.ads (Big_10): Qualify the 10 literal.
2362 2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2364         * sem_ch4.adb (Find_Arithmetic_Types): Use local variables.
2365         (Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types.
2367 2022-05-12  Alexandre Oliva  <oliva@adacore.com>
2369         * doc/gnat_rm/security_hardening_features.rst (Hardened
2370         Booleans): New.
2371         * exp_util.adb (Adjust_Condition): Perform validity checking on
2372         hardbool-annotated types even with -gnatVT.
2373         * gnat_rm.texi: Regenerate.
2374         * gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore
2375         hardbool.
2377 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2379         * exp_ch9.adb (Build_Protected_Entry): Set scope of the nested
2380         block to spec and not the body of the procedure created for a
2381         protected entry.
2383 2022-05-12  Etienne Servais  <servais@adacore.com>
2385         * sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in
2386         comment.
2388 2022-05-12  Marc Poulhiès  <poulhies@adacore.com>
2390         * csets.adb (Initialize): Only treat square bracket as valid
2391         identifier character for Ada versions prior to Ada 2022.
2392         * style.ads (Check_Left_Paren): Rename...
2393         (Check_Left_Paren_Square_Bracket): ...to this.
2394         * styleg.adb (Check_Left_Bracket): Rename...
2395         (Check_Left_Paren_Square_Bracket): ...to this.
2396         * styleg.ads (Check_Left_Paren): Rename...
2397         (Check_Left_Paren_Square_Bracket): ...to this.
2398         * scng.adb (Scan): Add check for spacing around left square
2399         bracket and use new name for Check_Left_Paren_Square_Bracket.
2400         * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
2401         (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
2402         (Character_Ranges): Fix style (remove extra space).
2403         * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
2404         (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
2405         (Character_Ranges): Likewise.
2406         * opt.adb (Set_Config_Switches): Remove [ from Identifier_Char
2407         set.
2409 2022-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2411         * sem_type.adb (Specific_Type): Add swapped cases for interfaces.
2413 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2415         * doc/gnat_rm/implementation_defined_pragmas.rst:
2416         (Export_Object, Import_Object, Short_Descriptors): Fix pragma
2417         syntax specification.
2418         * gnat_rm.texi: Regenerate.
2420 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2422         * ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute
2423         the Name_Id table.
2425 2022-05-12  Piotr Trojanek  <trojanek@adacore.com>
2427         * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
2428         Pragmas): Add Aggregate_Individually_Assign; otherwise the list
2429         is complete except for some obsoleted pragmas, which most likely
2430         are intentionally omitted.
2431         * gnat_ugn.texi: Regenerate.
2433 2022-05-11  Yannick Moy  <moy@adacore.com>
2435         * libgnat/s-imaged.ads: Remove Pure.
2436         * libgnat/s-imagef.ads: Remove Pure.
2437         * libgnat/s-imager.ads: Remove Pure.
2438         * libgnat/s-imageu.adb: Add ghost code.
2439         * libgnat/s-imageu.ads: Add contracts.
2440         * libgnat/s-imde128.ads: Remove Pure.
2441         * libgnat/s-imde32.ads: Remove Pure.
2442         * libgnat/s-imde64.ads: Remove Pure.
2443         * libgnat/s-imfi128.ads: Remove Pure.
2444         * libgnat/s-imfi32.ads: Remove Pure.
2445         * libgnat/s-imfi64.ads: Remove Pure.
2446         * libgnat/s-imgflt.ads: Remove Pure.
2447         * libgnat/s-imglfl.ads: Remove Pure.
2448         * libgnat/s-imgllf.ads: Remove Pure.
2449         * libgnat/s-imglllu.ads: Instantiate with ghost subprograms.
2450         * libgnat/s-imgllu.ads: Instantiate with ghost subprograms.
2451         * libgnat/s-imgrea.ads: Remove Pure.
2452         * libgnat/s-imguns.ads: Instantiate with ghost subprograms.
2453         * libgnat/s-imguti.ads: Remove Pure.
2454         * libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost,
2455         Prove_Scan_Only_Decimal_Ghost): New lemmas.
2456         * libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to
2457         be able to use it as formal in instantiations.
2458         (Only_Decimal_Ghost): New ghost query.
2459         (Prove_Iter_Scan_Based_Number_Ghost,
2460         Prove_Scan_Only_Decimal_Ghost): New lemmas.
2461         * libgnat/s-widlllu.ads: Adapt to changes in Width_U.
2462         * libgnat/s-widllu.ads: Adapt to changes in Width_U.
2463         * libgnat/s-widthu.adb: Change generic function in generic
2464         package in order to complete the postcondition. Tighten the
2465         upper bound on the result by 1.
2466         * libgnat/s-widthu.ads: Same.
2467         * libgnat/s-widuns.ads: Adapt to changes in Width_U.
2468         * gcc-interface/Make-lang.in: Add dependencies on a-nubinu,
2469         a-numeri.ads and a-widuns.ads.
2471 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2473         * snames.ads-tmpl (Detect_Blocking): Move after
2474         Default_Storage_Pool.
2476 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2478         * sem_prag.adb (Analyze_Pragma): Remove custom check for
2479         Compile_Time_Error and Compile_Time_Warning pragmas.
2480         * snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
2481         Move beyond Last_Configuration_Pragma_Name.
2483 2022-05-11  Marc Poulhiès  <poulhies@adacore.com>
2485         * libgnat/a-direct.adb (Start_Search_Internal): Use parentheses
2486         for record aggregate.
2487         * libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
2488         * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
2489         * libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String):
2490         Likewise.
2491         * libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping):
2492         Likewise.
2493         * libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping):
2494         Likewise.
2495         * libgnat/s-statxd.adb (Fields): Likewise.
2496         * libgnat/s-stausa.adb (Initialize): Likewise.
2497         * sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates
2498         using brackets.
2500 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2502         * doc/gnat_rm/implementation_defined_pragmas.rst,
2503         doc/gnat_rm/implementation_of_specific_ada_features.rst,
2504         doc/gnat_rm/representation_clauses_and_pragmas.rst,
2505         doc/gnat_rm/the_gnat_library.rst,
2506         doc/gnat_rm/the_implementation_of_standard_i_o.rst,
2507         doc/gnat_ugn/building_executable_programs_with_gnat.rst,
2508         doc/gnat_ugn/gnat_and_program_execution.rst,
2509         doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
2510         parentheses and brackets.
2511         * sem_prag.adb (pragma Obsolescent): Likewise.
2512         * gnat_rm.texi, gnat_ugn.texi: Regenerate.
2514 2022-05-11  Marc Poulhiès  <poulhies@adacore.com>
2516         * libgnat/s-rident.ads (Restriction_Id): Add
2517         No_Local_Tagged_Types, update comment for adding new GNAT
2518         specific restriction.
2519         * restrict.ads (Implementation_Restriction): Add
2520         No_Local_Tagged_Types.
2521         * sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for
2522         tagged type at library level.
2523         * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
2524         Add No_Local_Tagged_Types description.
2525         * gnat_rm.texi: Regenerate.
2527 2022-05-11  Eric Botcazou  <ebotcazou@adacore.com>
2529         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type
2530         in the interpretation of the operator.
2532 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2534         * sem_case.adb (Free_Value_Sets): Fix style in body header box.
2535         * sem_ch12.adb (Build_Subprogram_Wrappers): Likewise.
2536         * sem_util.adb (Statically_Denotes_Entity): Likewise.
2538 2022-05-11  Etienne Servais  <servais@adacore.com>
2540         * sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if
2541         branch to avoid calling it twice.
2543 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2545         * sem_warn.adb (Find_Var): Detect all operators; replace
2546         "condition" to "expression" in comments, because when this
2547         routine is called recursively it no longer examines the
2548         condition.
2549         (Is_Suspicious_Function_Name): Reduce scope of a local variable
2550         to avoid shadowing with a parameter of a nested
2551         Substring_Present function.
2553 2022-05-11  Yannick Moy  <moy@adacore.com>
2555         * libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
2556         intermediate assertions.
2558 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2560         * libgnat/s-rident.ads (Implementation_Restriction): Remove
2561         No_Dynamic_Attachment, No_Implementation_Attributes,
2562         No_Implementation_Pragmas, No_Local_Protected_Objects,
2563         No_Protected_Type_Allocators, No_Relative_Delay,
2564         No_Requeue_Statements, No_Select_Statements,
2565         No_Task_Termination, Pure_Barriers and Simple_Barriers; add
2566         No_Dynamic_Sized_Objects,
2567         No_Implicit_Protected_Object_Allocations,
2568         No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and
2569         Static_Dispatch_Tables; sort alphabetically.
2570         * restrict.ads (Restriction_Id): Change Pure_Barriers and
2571         No_Task_Termination from GNAT to Ada restrictions.
2573 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2575         * exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
2576         libgnat/g-exptty.adb, libgnat/g-socpol.adb,
2577         libgnat/s-strhas.adb: Fix headers.
2579 2022-05-11  Joao Azevedo  <azevedo@adacore.com>
2581         * doc/gnat_ugn/platform_specific_information.rst: Add
2582         glibc-locale-base-32bit as a dependency in SUSE distributions.
2583         * gnat_ugn.texi: Regenerate.
2585 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2587         * doc/gnat_ugn/gnat_and_program_execution.rst,
2588         doc/gnat_ugn/gnat_utility_programs.rst,
2589         doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
2590         glitches.
2591         * gnat_ugn.texi: Regenerate.
2593 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2595         * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
2596         blocks from plain code to Ada.
2598 2022-05-11  Gary Dismukes  <dismukes@adacore.com>
2600         * exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp
2601         object approach in the case where the type of the LHS is
2602         controlled or has controlled subcomponents (Needs_Finalization
2603         is True), and use the procedure approach instead.
2605 2022-05-11  Bob Duff  <duff@adacore.com>
2607         * sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the
2608         "tree" can be malformed (a DAG, not a tree) because
2609         Get_Discr_Value could be returning some subtree already attached
2610         to the tree.
2612 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2614         * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
2615         proper label entities.
2617 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2619         * doc/gnat_rm/implementation_defined_characteristics.rst: Add
2620         tabularcolums directive, as explained in documentation of Sphinx
2621         and tabular LaTeX package.
2623 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2625         * doc/gnat_rm/implementation_defined_aspects.rst,
2626         doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra
2627         whitespace.
2628         * gnat_rm.texi: Regenerate.
2630 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2632         * doc/gnat_rm/implementation_defined_characteristics.rst: Remove
2633         extra indent in continuation lines; indent both descriptions of
2634         Max_Picture_Length.
2635         * gnat_rm.texi: Regenerate.
2637 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2639         * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
2640         Eliminate): Fix markup.
2641         * gnat_rm.texi: Regenerate.
2643 2022-05-11  Johannes Kliemann  <kliemann@adacore.com>
2645         * libgnat/g-sthcso.adb: Suppress warning about unneeded use type
2646         clause.
2648 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2650         * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
2651         proper label entities.
2653 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2655         * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
2656         Ada_2022): Copy description from pragma Ada 2012 and adapt.
2657         * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
2658         Pragmas): List pragma Ada 2022.
2659         * gnat_rm.texi, gnat_ugn.texi: Regenerate.
2661 2022-05-11  Steve Baird  <baird@adacore.com>
2663         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace
2664         the existing check for an address specification for an object of
2665         a class-wide type with a more general check which rejects either
2666         the class-wide case or the case where the FE would (if the
2667         address specification were accepted) build a malformed
2668         tree (specifically, an object renaming declaration with a
2669         specified address). In the case where the check fails, reject
2670         the construct at compile time instead of generating an
2671         unconditional raise of Program_Error.
2672         * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update
2673         documentation to reflect these changes.
2674         * gnat_rm.texi: Regenerate.
2676 2022-05-11  Piotr Trojanek  <trojanek@adacore.com>
2678         * gen_il-gen-gen_entities.adb (Reachable): Move from
2679         Root_Entity_Type to E_Label.
2681 2022-05-11  Alexandre Oliva  <oliva@adacore.com>
2683         * exp_ch3.adb (Expand_N_Object_Declaration): Guard
2684         Set_Is_Known_Valid with Safe_To_Capture_Value.
2686 2022-05-11  Bob Duff  <duff@adacore.com>
2688         * repinfo.adb (List_Object_Info): Do not try to print values
2689         that have not been computed (and so are No_Uint).
2690         (Rep_Not_Constant): Reverse sense and change name to
2691         Compile_Time_Known_Rep. This makes the code at call sites a
2692         little more readable. Simplify code to a single return
2693         statement.
2695 2022-05-10  Martin Liska  <mliska@suse.cz>
2697         * gcc-interface/decl.cc (compare_field_bitpos): Use void *
2698         instead PTR.
2699         * gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise.
2701 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
2703         * fe.h (Is_Expression_Function): Declare.
2704         * sem_util.ads (Is_Expression_Function): Add warning line.
2706 2022-05-10  Alexandre Oliva  <oliva@adacore.com>
2708         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>:
2709         Drop redundant range check for nonstandard booleans.
2711 2022-05-10  Alexandre Oliva  <oliva@adacore.com>
2713         * exp_util.adb (Adjust_Result_Type): Leave result in
2714         Standard.Boolean if it's going to be converted to another
2715         boolean type.
2716         * exp_ch4.adb (Expand_N_Type_Conversion): When optimizing,
2717         convert to nonstandard booleans with an if_expression with
2718         boolean literals.
2720 2022-05-10  Alexandre Oliva  <oliva@adacore.com>
2722         * exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to
2723         handle non-standard booleans.
2725 2022-05-10  Justin Squirek  <squirek@adacore.com>
2727         * sem_ch8.adb (Use_One_Type): Remove code in charge of setting
2728         Current_Use_Clause when Id is known to be redundant, and modify
2729         the printing of errors associated with redundant use type
2730         clauses so that line number gets included in more cases.
2732 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2734         * sem_warn.adb (Check_Unset_Reference): Use variant of
2735         Earlier_In_Extended_Unit that calls Sloc internally.
2737 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2739         * par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb,
2740         treepr.adb: Simplify calculations with Source_Ptr and Loc
2741         values.
2743 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2745         * sem_res.adb (Resolve_Expression_With_Actions): Fix style in
2746         nested routines.
2748 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2750         * atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb,
2751         sem_ch4.adb, sem_res.adb, sem_util.adb: Use
2752         Is_Rewrite_Substitution where possible.
2754 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2756         * exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb,
2757         sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb,
2758         treepr.adb: Replace /= and = operators with No and Present,
2759         respectively.
2761 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2763         * sem_warn.adb (Within_Postcondition): Guard against search
2764         going too far.
2766 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2768         * sem_warn.adb (Check_Unset_Reference): The early test was only
2769         saving time of calls to Original_Node, Comes_From_Source and
2770         Nkind, which are all quick and cheap.
2772 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2774         * sem_ch5.adb (Check_Unreachable_Code): Remove inner declare
2775         block; refill code and comments.
2777 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2779         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace
2780         First_Entity/Next_Entity with First_Formal/Next_Formal; rename
2781         E1/E2 to F1/F2.
2783 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2785         * sem_res.adb (Resolve_Declare_Expression): Check expression for
2786         references to unset objects.
2787         (Resolve_Qualified_Expression): Likewise.
2788         * sem_warn.adb (Check_Unset_Reference): Remove handling of
2789         declare and qualified expressions; clarify comment for type
2790         conversions.
2792 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2794         * sem_res.adb (Resolve_Case_Expression): Check alternative
2795         expressions for references to unset objects.
2796         (Resolve_If_Expression): Check condition, then and else
2797         expressions for references to unset objects.
2799 2022-05-10  Kévin Le Gouguec  <legouguec@adacore.com>
2801         * doc/gnat_rm/implementation_defined_attributes.rst,
2802         doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos.
2803         * gnat_rm.texi, gnat_ugn.texi: Regenerate.
2805 2022-05-10  Etienne Servais  <servais@adacore.com>
2807         * sem_ch13.adb (Is_Predicate_Static): Fix typo in comment.
2809 2022-05-10  Yannick Moy  <moy@adacore.com>
2811         * libgnat/s-valuei.adb: Fix indentation.
2812         * libgnat/s-valuei.ads: Same.
2814 2022-05-10  Claire Dross  <dross@adacore.com>
2816         * snames.ads-tmpl: Add "Structural" as a name.
2817         * sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural"
2818         in pragmas Loop_Variant and Subprogram_Variant. Check that items
2819         associated to Structural occur alone in the pragma associations.
2820         (Analyze_Subprogram_Variant_In_Decl_Part): Idem.
2821         * exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural
2822         variants.
2823         (Expand_Pragma_Subprogram_Variant): Idem.
2825 2022-05-10  Claire Dross  <dross@adacore.com>
2827         * libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore
2828         assertions in instance and add additional ghost parameters to
2829         the instance of Value_I.
2830         * libgnat/s-vallli.ads: Idem.
2831         * libgnat/s-valllli.ads: Idem.
2832         * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
2833         parameters for ghost functions from System.Valueu. Add
2834         functional contracts.
2836 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
2838         * sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code.
2839         (Resolve_Op_Not): Likewise.
2840         * sem_type.adb (Disambiguate): Add missing test for RM 8.4(10).
2841         * libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity.
2842         (Symbolic_Address): Likewise.
2844 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
2846         * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.
2848 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2850         * exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
2851         UI_To_CC; replace magic literals with high-level routines that
2852         recognise wide and wide wide characters; reorder if-then-elsif
2853         condition, because we don't have a routine to detect wide wide
2854         characters.
2856 2022-05-10  Etienne Servais  <servais@adacore.com>
2858         * scng.adb (Nlit): Error on big UI_Scale.
2860 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2862         * exp_util.adb (Build_Task_Array_Image): Declare expanded
2863         objects as constants.
2864         (Build_Task_Image_Prefix): Likewise.
2865         (Build_Task_Record_Image): Likewise.
2867 2022-05-10  Marc Poulhiès  <poulhies@adacore.com>
2869         * checks.adb (Determine_Range): Fix range refining.
2871 2022-05-10  Steve Baird  <baird@adacore.com>
2873         * sem_util.adb (Get_Actual_Subtype): If a new subtype is built,
2874         do not freeze it if Expander_Active is False. The idea here is
2875         to avoid generating an unwanted Freeze_Node for a subtype that
2876         has been conjured up solely for purposes of preanalysis.
2878 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2880         * exp_util.adb (Build_Task_Array_Image): Fix style in the
2881         structure of generated code; add Pref'Length as the component of
2882         the Sum initialization expression.
2884 2022-05-10  Piotr Trojanek  <trojanek@adacore.com>
2886         * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use
2887         Get_Char_Code.
2888         * exp_util.adb (Build_Task_Array_Image): Simplify conversion to
2889         Char_Code.
2890         (Build_Task_Image_Prefix): Likewise.
2891         (Build_Task_Record_Image): Likewise.
2892         * cstand.adb (Create_Standard): Use UI_From_Int instead of
2893         UI_From_CC.
2894         * exp_ch11.adb (Expand_N_Exception_Declaration): Likewise.
2895         * sem_res.adb (Patch_Up_Value): Likewise.
2896         * stringt.adb (Write_String_Table_Entry): Use Get_Char_Code.
2898 2022-05-09  Yannick Moy  <moy@adacore.com>
2900         * sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation
2901         message.
2903 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2905         * uintp.adb (UI_To_CC): Guard against illegal inputs; reuse
2906         UI_To_Int.
2908 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2910         * par-prag.adb (Prag): Simplify conversion of character codes.
2911         * sem_case.adb (Choice_Image): Likewise.
2912         (Lit_Of): Likewise.
2914 2022-05-09  Justin Squirek  <squirek@adacore.com>
2916         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>:
2917         Deal specifically wth class-wide equivalent types without a
2918         parent.
2919         * exp_util.adb (Build_Allocate_Deallocate_Proc): Extract
2920         allocator node for calculation of alignment actual and modify
2921         alignment for allocators of class-wide types with associated
2922         expressions.
2923         (Make_CW_Equivalent_Type): Handle interface types differently
2924         when generating the equivalent record.
2925         * sem_aux.adb (First_Tag_Component): Accept class-wide
2926         equivalent types too.
2928 2022-05-09  Etienne Servais  <servais@adacore.com>
2930         * repinfo.adb (List_Name): Rework termination condition.
2932 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2934         * bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb,
2935         libgnat/a-ngcefu.adb, libgnat/a-strunb.adb,
2936         libgnat/a-stwiun.adb, libgnat/a-stzunb.adb,
2937         libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb,
2938         sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +,
2939         -, *, / and **.
2941 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2943         * libgnat/s-expmod.adb: Remove CodePeer annotation for pragma
2944         Loop_Variant.
2946 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2948         * sem_util.ads (In_Statement_Condition_With_Actions): Renamed
2949         from In_While_Loop_Condition; move to fit the alphabetic order.
2950         * sem_util.adb (In_Statement_Condition_With_Actions): Detect
2951         Elsif condition; stop search on other statements; prevent search
2952         from going too far; move to fit the alphabetic order.
2953         * sem_res.adb (Resolve_Call): Adapt caller.
2955 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2957         * inline.adb (Build_Body_To_Inline): Remove redundant guards.
2958         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
2960 2022-05-09  Eric Botcazou  <ebotcazou@adacore.com>
2962         * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on
2963         Comes_From_Source in the condition dealing with the expression
2964         of an N_Unchecked_Type_Conversion node.
2966 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
2968         * exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb,
2969         gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb,
2970         libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb,
2971         sem_ch13.adb, xr_tabls.adb: Fix style labels.
2973 2022-05-09  Justin Squirek  <squirek@adacore.com>
2975         * err_vars.ads: Add new error message names and nodes.
2976         * erroutc.adb (Set_Msg_Insertion_Name,
2977         Set_Msg_Insertion_Name_Literal): Likewise.
2978         * errout.adb (Set_Msg_Insertion_Node): Likewise.
2979         * errout.ads: Likewise.
2980         * exp_disp.adb (Check_Premature_Freezing): Modify setting of
2981         Error_Msg_Node_2 to occur directly before Error_Msg call where
2982         applicable.
2983         * sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to
2984         handle the printing of full package names of known units.
2985         (Undefined, Find_Expanded_Name): Replace error printing with
2986         call to Error_Missing_With_Of_Known_Unit.
2988 2022-05-09  Yannick Moy  <moy@adacore.com>
2990         * exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn
2991         correctly.
2993 2022-05-09  Steve Baird  <baird@adacore.com>
2995         * sem_ch13.adb (Replace_Type_Ref): In the case of an identifier
2996         that names a component of the type, simplify the test to decide
2997         whether to build a prefix for it (the prefix denotes the current
2998         instance of the enclosing type): if the identifier doesn't
2999         already have a prefix, then give it one. This isn't quite right
3000         in the corner case of a quantified expression or some other such
3001         expression that declares an object with the same name as a
3002         component, but it is still an improvement.
3004 2022-05-09  Ed Schonberg  <schonberg@adacore.com>
3006         * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
3007         package if array type and element type come from the same
3008         package, and the original array type is private.
3010 2022-05-09  Eric Botcazou  <ebotcazou@adacore.com>
3012         * exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
3013         thinko in the loop building the constraints for discriminants.
3014         * exp_ch5.adb (Make_Component_List_Assign): Try also to extract
3015         discriminant values for a derived type.
3017 2022-05-09  Ed Schonberg  <schonberg@adacore.com>
3019         * sem_res.adb (Resolve_Declare_Expression): Traverse the
3020         expression to replace references to local variables that occur
3021         within declarations of the declare_expression; fix typos in
3022         comments.
3024 2022-05-09  Ed Schonberg  <schonberg@adacore.com>
3026         * sem_ch4.adb (Operator_Check): Fix condition.
3028 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
3030         * doc/gnat_rm/implementation_defined_pragmas.rst
3031         (Abstract_State, Async_Readers, Async_Writers,
3032         Constant_After_Elaboration, Effective_Reads, Effective_Writes,
3033         Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only
3034         static Boolean expressions are allowed.
3035         * gnat_rm.texi: Regenerate.
3037 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
3039         * exp_prag.adb (Expand_Pragma_Loop_Variant,
3040         Expand_Pragma_Subprogram_Variant): Adapt call via
3041         Process_Variant to Make_Variant_Comparison.
3042         * exp_util.adb (Make_Variant_Comparison): Compare Big_Integer
3043         expressions with a function call and not an operator.
3044         * exp_util.ads (Make_Variant_Comparison): Add type parameter,
3045         which is needed because the Curr_Val and Old_Val expressions
3046         might not be yet decorated.
3047         * rtsfind.ads: (RTU_Id): Add support for Big_Integers and
3048         Big_Integers_Ghost.
3049         (RE_Id): Add support for Big_Integer and its ghost variant.
3050         (RE_Unit_Table): Add mapping from Big_Integer to Big_Integers;
3051         same for the ghost variants.
3052         * rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers.
3053         * sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma
3054         Loop_Variant.
3055         (Analyze_Variant): Allow Big_Integer in pragma
3056         Subprogram_Variant.
3058 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
3060         * sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a
3061         variant that doesn't force preanalysis to yield a specific type.
3063 2022-05-09  Eric Botcazou  <ebotcazou@adacore.com>
3065         * einfo.ads (Access Kinds): Reorder and beef up.
3066         * sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all
3067         comparison and equality operators.
3068         * sem_ch4.ads (Analyze_Comparison_Op): Delete.
3069         (Analyze_Equality_Op): Likewise.
3070         (Analyze_Comparison_Equality_Op): Declare.
3071         (Ambiguous_Operands): Likewise.
3072         * sem_ch4.adb (Ambiguous_Operands): Remove declaration.
3073         (Defined_In_Scope): Delete.
3074         (Find_Comparison_Types): Merge into...
3075         (Find_Equality_Types): Merge into...
3076         (Find_Comparison_Equality_Types): ...this.  Make fully symmetrical.
3077         (Analyze_Arithmetic_Op): Minor consistency tweaks.
3078         (Analyze_Comparison_Op): Merge into...
3079         (Analyze_Equality_Op): Merge into...
3080         (Analyze_Comparison_Equality_Op): ...this.  Make fully symmetrical.
3081         (Analyze_Logical_Op): Minor consistency tweaks.
3082         (Analyze_Membership_Op): Make fully symmetrical.
3083         (Analyze_One_Call): Minor comment tweak.
3084         (Analyze_Operator_Call): Call Find_Comparison_Equality_Types.
3085         (Analyze_User_Defined_Binary_Op): Make fully symmetrical.
3086         (Check_Arithmetic_Pair.Specific_Type): Delete.
3087         (Diagnose_Call): Add special handling for "+" operator.
3088         (Operator_Check): Call Analyze_Comparison_Equality_Op.
3089         * sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean
3090         operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp.
3091         comparison and equality operators.
3092         * sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator
3093         (Make_Call_Into_Operator): Use Preserve_Comes_From_Source.
3094         (Resolve_Actuals): Deal specifically with Any_Type actuals for user-
3095         defined comparison and equality operators.
3096         (Resolve_Call): Minor tweaks.
3097         (Resolve_Comparison_Op): Tidy up and give error for ambiguity.
3098         (Resolve_Equality_Op): Likewise, as well as other errors.
3099         (Rewrite_Renamed_Operator): Simplify.
3100         * sem_type.ads (Is_Invisible_Operator): Delete.
3101         (Is_Visible_Operator): Declare.
3102         (Has_Compatible_Type): Remove For_Comparison parameter.
3103         (Specific_Type): Declare.
3104         (Valid_Equality_Arg): Likewise.
3105         * sem_type.adb (Specific_Type): Remove declaration.
3106         (Add_One_Interp): Call Is_Visible_Operator for the visibility test.
3107         (Remove_Conversions): Rename into...
3108         (Remove_Conversions_And_Abstract_Operations): ...this.  Do not apply
3109         numeric-type treatment to Any_Type.  Expand the special handling for
3110         abstract interpretations to second operand.  Remove obsolete code.
3111         (Disambiguate): Adjust to above renaming.  Tweak to hidden case and
3112         call Remove_Conversions_And_Abstract_Operations for operators too.
3113         (Entity_Matches_Spec): Minor tweak.
3114         (Find_Unique_Type): Simplify and deal with user-defined literals.
3115         (Has_Compatible_Type): Remove For_Comparison parameter and adjust.
3116         Call the Is_User_Defined_Literal predicate and remove call to
3117         the Is_Invisible_Operator predicate.
3118         (Is_Invisible_Operator): Delete.
3119         (Is_Visible_Operator): New function.
3120         (Operator_Matches_Spec): Use Valid_Equality_Arg predicate.
3121         (Specific_Type): Tidy up, make fully symmetrical and deal with
3122         private views the same way as Covers.
3123         (Valid_Comparison_Arg): Return true for Any_Composite/Any_String.
3124         (Valid_Equality_Arg): New function.
3125         * sem_util.ads (Is_User_Defined_Literal): Declare.
3126         * sem_util.adb (Is_User_Defined_Literal): New function.
3128 2022-05-09  Bob Duff  <duff@adacore.com>
3130         * lib-xref.adb, sem_util.adb: Change wording of warning messages
3131         to use "aspect".
3132         * sem_prag.adb: Use Fix_Error to change wording of warnings.
3133         * doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
3134         cut&paste error.
3135         * gnat_rm.texi: Regenerate.
3137 2022-05-09  Doug Rupp  <rupp@adacore.com>
3139         * init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro.
3140         (__gnat_clear_exception_count): Remove.
3141         (__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT().
3143 2022-05-09  Fedor Rybin  <frybin@adacore.com>
3145         * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest
3146         section.
3148 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
3150         * sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for
3151         attributes Identity, Priority, Ref, Restriction_Set, To_Address
3152         and for tasking-related attributes Callable, Terminated and
3153         Storage_Size.
3155 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
3157         * sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for
3158         Bit_Order attribute.
3160 2022-05-09  Piotr Trojanek  <trojanek@adacore.com>
3162         * exp_ch5.adb (Update_Choice_Index): Simplify condition.
3163         * sem_ch8.adb (Attribute_Renaming): Likewise.
3165 2022-05-09  Dmitriy Anisimkov  <anisimko@adacore.com>
3167         * adaint.c (__gnat_kill): Remove close parameter.
3168         (__gnat_killprocesstree): Do not provide close parameter on call
3169         to __gnat_kill.
3170         * libgnat/g-expect.adb (Kill): Remove Close parameter.
3171         (Close): Do not provide Close parameter on call to Kill.
3172         (Send_Signal): Do not provide Close parameter on call to Kill.
3173         * libgnat/s-os_lib.adb (Kill): Do not provide close parameter on
3174         call to __gnat_kill.
3176 2022-05-09  Dmitriy Anisimkov  <anisimko@adacore.com>
3178         * libgnat/g-expect.adb (Close): Call Kill before Close_Input.
3180 2022-04-29  Martin Liska  <mliska@suse.cz>
3182         * gnatvsn.ads: Bump Library_Version to 13.
3184 2022-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3186         * tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC
3187         ELF.  Add support for RTEMS to SPARC.  Merge aarch64 support of Linux
3188         and RTEMS.
3190 2022-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
3192         PR ada/104027
3193         * gnat1drv.adb: Remove the goto End_Of_Program.
3195 2022-03-24  Pascal Obry  <obry@adacore.com>
3197         PR ada/104767
3198         * libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1.
3199         * libgnat/g-sercom__linux.adb (Close): Likewise.
3201 2022-03-10  Richard Biener  <rguenther@suse.de>
3203         PR ada/104861
3204         * gcc-interface/Makefile.in (target_noncanonical): Substitute.
3205         (OSCONS_CPP): Pass target_noncanonical as TARGET.
3207 2022-02-13  Maciej W. Rozycki  <macro@orcam.me.uk>
3209         PR ada/98724
3210         PR ada/97504
3211         * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use
3212         wraplf version of Aux_Long_Long_Float.
3214 2022-01-31  Pierre-Marie de Rodat  <derodat@adacore.com>
3216         * doc/share/conf.py: Remove spurious call to ".decode()".
3218 2022-01-31  Arnaud Charlet  <charlet@adacore.com>
3220         PR ada/104027
3221         * gnat1drv.adb (Gnat1drv): Only call Exit_Program when not
3222         generating code, otherwise instead go to End_Of_Program.
3224 2022-01-28  Eric Botcazou  <ebotcazou@adacore.com>
3226         PR ada/104258
3227         * exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if
3228         any, when rewriting the operator node.
3230 2022-01-19  H.J. Lu  <hjl.tools@gmail.com>
3232         PR ada/103538
3233         * gcc-interface/Makefile.in (target_cpu): Set to x32 for
3234         x86_64-linux-gnux32.
3236 2022-01-19  H.J. Lu  <hjl.tools@gmail.com>
3238         PR ada/103538
3239         * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add
3240         $(TRASYM_DWARF_UNIX_PAIRS),
3241         s-tsmona.adb<libgnat/s-tsmona__linux.adb,
3242         $(GNATRTL_128BIT_PAIRS).
3243         (EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS)
3244         and $(GNATRTL_128BIT_OBJS).
3246 2022-01-18  Martin Liska  <mliska@suse.cz>
3248         * adaint.c: Revert filename changes in comments.
3249         * ctrl_c.c (dummy_handler): Likewise.
3250         * gsocket.h: Likewise.
3251         * init.c (__gnat_error_handler): Likewise.
3252         * libgnarl/s-intman.ads: Likewise.
3253         * libgnarl/s-osinte__android.ads: Likewise.
3254         * libgnarl/s-osinte__darwin.ads: Likewise.
3255         * libgnarl/s-osinte__hpux.ads: Likewise.
3256         * libgnarl/s-osinte__linux.ads: Likewise.
3257         * libgnarl/s-osinte__qnx.ads: Likewise.
3258         * libgnarl/s-taskin.ads: Likewise.
3259         * rtfinal.c: Likewise.
3261 2022-01-18  Martin Liska  <mliska@suse.cz>
3263         * Make-generated.in: Revert renaming changes.
3264         * Makefile.rtl: Likewise.
3265         * adadecode.cc: Moved to...
3266         * adadecode.c: ...here.
3267         * affinity.cc: Moved to...
3268         * affinity.c: ...here.
3269         * argv-lynxos178-raven-cert.cc: Moved to...
3270         * argv-lynxos178-raven-cert.c: ...here.
3271         * argv.cc: Moved to...
3272         * argv.c: ...here.
3273         * aux-io.cc: Moved to...
3274         * aux-io.c: ...here.
3275         * cio.cc: Moved to...
3276         * cio.c: ...here.
3277         * cstreams.cc: Moved to...
3278         * cstreams.c: ...here.
3279         * env.cc: Moved to...
3280         * env.c: ...here.
3281         * exit.cc: Moved to...
3282         * exit.c: ...here.
3283         * expect.cc: Moved to...
3284         * expect.c: ...here.
3285         * final.cc: Moved to...
3286         * final.c: ...here.
3287         * gcc-interface/Makefile.in:
3288         * init.cc: Moved to...
3289         * init.c: ...here.
3290         * initialize.cc: Moved to...
3291         * initialize.c: ...here.
3292         * libgnarl/thread.cc: Moved to...
3293         * libgnarl/thread.c: ...here.
3294         * link.cc: Moved to...
3295         * link.c: ...here.
3296         * locales.cc: Moved to...
3297         * locales.c: ...here.
3298         * mkdir.cc: Moved to...
3299         * mkdir.c: ...here.
3300         * raise.cc: Moved to...
3301         * raise.c: ...here.
3302         * rtfinal.cc: Moved to...
3303         * rtfinal.c: ...here.
3304         * rtinit.cc: Moved to...
3305         * rtinit.c: ...here.
3306         * s-oscons-tmplt.c (CND): Revert renaming changes.
3307         * seh_init.cc: Moved to...
3308         * seh_init.c: ...here.
3309         * sigtramp-armdroid.cc: Moved to...
3310         * sigtramp-armdroid.c: ...here.
3311         * sigtramp-ios.cc: Moved to...
3312         * sigtramp-ios.c: ...here.
3313         * sigtramp-qnx.cc: Moved to...
3314         * sigtramp-qnx.c: ...here.
3315         * sigtramp-vxworks.cc: Moved to...
3316         * sigtramp-vxworks.c: ...here.
3317         * socket.cc: Moved to...
3318         * socket.c: ...here.
3319         * tracebak.cc: Moved to...
3320         * tracebak.c: ...here.
3321         * version.cc: Moved to...
3322         * version.c: ...here.
3323         * vx_stack_info.cc: Moved to...
3324         * vx_stack_info.c: ...here.
3326 2022-01-17  Martin Liska  <mliska@suse.cz>
3328         * Makefile.rtl: Rename .c names to .cc.
3329         * gcc-interface/Make-lang.in: Likewise.
3330         * gcc-interface/Makefile.in: Likewise.
3332 2022-01-17  Martin Liska  <mliska@suse.cz>
3334         * Make-generated.in: Rename .c names to .cc.
3335         * adaint.c: Likewise.
3336         * ctrl_c.c (dummy_handler): Likewise.
3337         * gcc-interface/Makefile.in: Likewise.
3338         * gcc-interface/config-lang.in: Likewise.
3339         * gcc-interface/decl.cc (concat_name): Likewise.
3340         (init_gnat_decl): Likewise.
3341         * gcc-interface/gigi.h (concat_name): Likewise.
3342         (init_gnat_utils): Likewise.
3343         (build_call_raise_range): Likewise.
3344         (gnat_mark_addressable): Likewise.
3345         (gnat_protect_expr): Likewise.
3346         (gnat_rewrite_reference): Likewise.
3347         * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
3348         * gcc-interface/utils.cc (GTY): Likewise.
3349         (add_deferred_type_context): Likewise.
3350         (init_gnat_utils): Likewise.
3351         * gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
3352         (gnat_protect_expr): Likewise.
3353         (gnat_stabilize_reference_1): Likewise.
3354         (gnat_rewrite_reference): Likewise.
3355         * gsocket.h: Likewise.
3356         * init.cc (__gnat_error_handler): Likewise.
3357         * libgnarl/s-intman.ads: Likewise.
3358         * libgnarl/s-osinte__android.ads: Likewise.
3359         * libgnarl/s-osinte__darwin.ads: Likewise.
3360         * libgnarl/s-osinte__hpux.ads: Likewise.
3361         * libgnarl/s-osinte__linux.ads: Likewise.
3362         * libgnarl/s-osinte__qnx.ads: Likewise.
3363         * libgnarl/s-taskin.ads: Likewise.
3364         * rtfinal.cc: Likewise.
3365         * s-oscons-tmplt.c (CND): Likewise.
3366         * set_targ.ads: Likewise.
3368 2022-01-17  Martin Liska  <mliska@suse.cz>
3370         * adadecode.c: Moved to...
3371         * adadecode.cc: ...here.
3372         * affinity.c: Moved to...
3373         * affinity.cc: ...here.
3374         * argv-lynxos178-raven-cert.c: Moved to...
3375         * argv-lynxos178-raven-cert.cc: ...here.
3376         * argv.c: Moved to...
3377         * argv.cc: ...here.
3378         * aux-io.c: Moved to...
3379         * aux-io.cc: ...here.
3380         * cio.c: Moved to...
3381         * cio.cc: ...here.
3382         * cstreams.c: Moved to...
3383         * cstreams.cc: ...here.
3384         * env.c: Moved to...
3385         * env.cc: ...here.
3386         * exit.c: Moved to...
3387         * exit.cc: ...here.
3388         * expect.c: Moved to...
3389         * expect.cc: ...here.
3390         * final.c: Moved to...
3391         * final.cc: ...here.
3392         * gcc-interface/cuintp.c: Moved to...
3393         * gcc-interface/cuintp.cc: ...here.
3394         * gcc-interface/decl.c: Moved to...
3395         * gcc-interface/decl.cc: ...here.
3396         * gcc-interface/misc.c: Moved to...
3397         * gcc-interface/misc.cc: ...here.
3398         * gcc-interface/targtyps.c: Moved to...
3399         * gcc-interface/targtyps.cc: ...here.
3400         * gcc-interface/trans.c: Moved to...
3401         * gcc-interface/trans.cc: ...here.
3402         * gcc-interface/utils.c: Moved to...
3403         * gcc-interface/utils.cc: ...here.
3404         * gcc-interface/utils2.c: Moved to...
3405         * gcc-interface/utils2.cc: ...here.
3406         * init.c: Moved to...
3407         * init.cc: ...here.
3408         * initialize.c: Moved to...
3409         * initialize.cc: ...here.
3410         * libgnarl/thread.c: Moved to...
3411         * libgnarl/thread.cc: ...here.
3412         * link.c: Moved to...
3413         * link.cc: ...here.
3414         * locales.c: Moved to...
3415         * locales.cc: ...here.
3416         * mkdir.c: Moved to...
3417         * mkdir.cc: ...here.
3418         * raise.c: Moved to...
3419         * raise.cc: ...here.
3420         * rtfinal.c: Moved to...
3421         * rtfinal.cc: ...here.
3422         * rtinit.c: Moved to...
3423         * rtinit.cc: ...here.
3424         * seh_init.c: Moved to...
3425         * seh_init.cc: ...here.
3426         * sigtramp-armdroid.c: Moved to...
3427         * sigtramp-armdroid.cc: ...here.
3428         * sigtramp-ios.c: Moved to...
3429         * sigtramp-ios.cc: ...here.
3430         * sigtramp-qnx.c: Moved to...
3431         * sigtramp-qnx.cc: ...here.
3432         * sigtramp-vxworks.c: Moved to...
3433         * sigtramp-vxworks.cc: ...here.
3434         * socket.c: Moved to...
3435         * socket.cc: ...here.
3436         * tracebak.c: Moved to...
3437         * tracebak.cc: ...here.
3438         * version.c: Moved to...
3439         * version.cc: ...here.
3440         * vx_stack_info.c: Moved to...
3441         * vx_stack_info.cc: ...here.
3443 2022-01-14  Andrew Pinski  <apinski@marvell.com>
3445         PR ada/104027
3446         * gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File
3447         goto End_Of_Program.
3449 2022-01-11  Eric Botcazou  <ebotcazou@adacore.com>
3451         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a
3452         little the assertion on designated types of pointer types.
3454 2022-01-11  Justin Squirek  <squirek@adacore.com>
3456         * sem_ch8.adb (Nvis_Messages): Add generic instance name to
3457         error message.
3459 2022-01-11  Etienne Servais  <servais@adacore.com>
3461         * par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
3462         bracket as token to open an expression function.
3464 2022-01-11  Justin Squirek  <squirek@adacore.com>
3466         * sem_warn.adb (Check_References): Add call to Has_Task instead
3467         of checking component type.
3469 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3471         * exp_util.ads (Insert_Declaration): Remove spec.
3472         * exp_util.adb (Insert_Declaration): Remove body.
3474 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3476         * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid
3477         redundant check.
3478         * exp_ch5.adb (Expand_N_If_Statement): Likewise.
3479         * exp_ch7.adb (Process_Declarations): Likewise.
3480         * sem_elab.adb (Freeze_Node_Location): Likewise.
3481         * exp_util.adb (Insert_Actions): Likewise.
3482         (Is_OK_PF_Pragma): Likewise.
3483         (Requires_Cleanup_Actions): Remove early exit; ordinary
3484         processing path will similarly do nothing.
3486 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3488         * snames.ads-tmpl: Restore Name_Rpc.
3490 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3492         * sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF
3493         statement; refill code and comments.
3495 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3497         * sem_ch4.adb (Analyze_Allocator): Fix comment.
3498         * sem_eval.ads (Compile-Time Known Values): Likewise.
3500 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3502         * snames.ads-tmpl: Remove unreferenced names.
3504 2022-01-11  Yannick Moy  <moy@adacore.com>
3506         * libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma
3507         Prove_Signs, call lemma for commutation of Big and
3508         multiplication.
3509         (Multiply_With_Ovflo_Check): Adjust postcondition of
3510         Prove_Pos_Int.
3511         (Scaled_Divide): Explicit commutation in the proof of lemma
3512         Prove_Multiplication, add new lemma Prove_Shift_Progress for
3513         congruence property that is not proved in a larger context, add
3514         assertions at the end of the loop to state loop invariant
3515         properties.
3517 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3519         * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec.
3520         * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body.
3522 2022-01-11  Yannick Moy  <moy@adacore.com>
3524         * libgnat/a-strfix.adb (Insert, Overwrite): Add assertions.
3526 2022-01-11  Arnaud Charlet  <charlet@adacore.com>
3528         PR ada/79724
3529         * osint.adb (Program_Name): Fix handling of suffixes.
3531 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3533         * exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary
3534         DECLARE block; refill code and comments.
3536 2022-01-11  Eric Botcazou  <ebotcazou@adacore.com>
3538         * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array
3539         copy Packed_Array_Impl_Type manually here.
3540         (Copy_Array_Subtype_Attributes): Do not copy it here.
3542 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3544         * exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
3545         Unnest_Statement_List): Simplify with Make_Temporary.
3546         * exp_put_image.adb (Build_Image_Call): Likewise.
3547         * inline.adb (Generate_Subprogram_Body): Likewise.
3548         * sem_ch13.adb (Build_Predicate_Functions): Likewise.
3549         * sem_util.adb (New_Copy_Separate_List): Likewise.
3551 2022-01-11  Etienne Servais  <servais@adacore.com>
3553         * sem_ch3.adb (Check_Dynamic_Object): Swap check order.
3555 2022-01-11  Yannick Moy  <moy@adacore.com>
3557         * libgnat/s-casuti.adb: Add ghost code.
3558         * libgnat/s-casuti.ads: Add contracts.
3560 2022-01-11  Claire Dross  <dross@adacore.com>
3562         * libgnat/a-tiinau.ads: Use a procedure for the Scan parameter
3563         instead of a function with side-effects.
3564         * libgnat/a-tiinau.adb: Idem.
3565         * libgnat/a-wtinau.ads: Idem.
3566         * libgnat/a-wtinau.adb: Idem.
3567         * libgnat/a-ztinau.ads: Idem.
3568         * libgnat/a-ztinau.adb: Idem.
3569         * libgnat/s-valint.ads: Change the function with side-effects
3570         Scan_Integer into a procedure
3571         * libgnat/s-vallli.ads: Idem.
3572         * libgnat/s-valllli.ads: Idem.
3573         * libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore
3574         assertions in instance.
3575         * libgnat/s-valllu.ads: Idem.
3576         * libgnat/s-valuns.ads: Idem.
3577         * libgnat/s-valuei.ads: Use a procedure for the
3578         Scan_Raw_Unsigned parameter instead of a function with
3579         side-effects and change the function with side-effects
3580         Scan_Integer into a procedure.
3581         * libgnat/s-valuei.adb: Idem.
3582         * libgnat/s-valuti.ads: Introduce a ghost function that scans an
3583         exponent and complete the postcondition of Scan_Exponent to also
3584         describe the value of Ptr after the call. Fix the postcondition
3585         of Scan_Underscore. Simplify the definition of
3586         Scan_Natural_Ghost.
3587         * libgnat/s-valuti.adb: Idem.
3588         * libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to
3589         First_Non_Space_Ghost.
3590         * libgnat/s-valueu.ads: Add functional contracts.
3591         * libgnat/s-valueu.adb: Idem.
3593 2022-01-11  Yannick Moy  <moy@adacore.com>
3595         * libgnat/s-expmod.adb (Exp_Modular): Add assertions.
3597 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3599         * errout.adb (Error_Msg_CRT): Build message with string
3600         concatenation; it is slightly repetitive but much easier to
3601         read.
3603 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3605         * exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit
3606         initialization of the exceptF object.
3608 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3610         * par-ch3.adb (P_Array_Type_Definition): Use
3611         Error_Msg_GNAT_Extension.
3613 2022-01-11  Gary Dismukes  <dismukes@adacore.com>
3615         * sem_disp.adb (Check_Controlling_Type): Add test for the case
3616         where Subp is a subprogram associated with a protected
3617         subprogram and return Empty, unless Tagged_Type is the
3618         corresponding record type of the protected type.
3620 2022-01-11  Yannick Moy  <moy@adacore.com>
3622         * libgnat/s-veboop.adb: Add ghost code for proof.
3623         * libgnat/s-veboop.ads: Add specification.
3625 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3627         * exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb,
3628         exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb,
3629         inline.adb, itypes.adb, lib-load.adb, lib-xref.adb,
3630         libgnat/a-cfhase.adb, libgnat/a-cforse.adb,
3631         libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb,
3632         libgnat/a-except.adb, libgnat/a-strfix.adb,
3633         libgnat/a-textio.adb, libgnat/a-tienau.adb,
3634         libgnat/a-tigeau.adb, libgnat/a-witeio.adb,
3635         libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb,
3636         libgnat/a-ztenau.adb, libgnat/a-ztexio.adb,
3637         libgnat/a-ztgeau.adb, libgnat/g-comlin.adb,
3638         libgnat/g-debpoo.adb, libgnat/g-expect.adb,
3639         libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb,
3640         libgnat/s-objrea.adb, libgnat/s-pehage.adb,
3641         libgnat/s-regpat.adb, libgnat/s-shasto.adb,
3642         libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb,
3643         par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb,
3644         repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
3645         sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb,
3646         sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style.
3648 2022-01-11  Arnaud Charlet  <charlet@adacore.com>
3650         * exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb,
3651         sem_ch13.adb: Use membership tests.
3653 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3655         * erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to
3656         connect status of initial messages and their continuation; we
3657         already have several flags like this.
3658         (Error_Msg_Object): Add field Warn_Runtime_Raise to connect
3659         error reporting (when problematic code is found) and removal
3660         (when problematic code is determined to be dead).
3661         * errout.adb (Error_Msg_Internal): Handle new field when
3662         recording a continuation message; propagate status from
3663         continuation to the preceding messages.
3664         (To_Be_Removed): For dead code remove both simple warnings and
3665         warnings about constraint errors that have been escalated to
3666         hard errors.
3667         (Set_Msg_Text): Recognize warnings about constraint errors that
3668         are escalated to hard errors.
3669         * errutil.adb (Error_Msg): Handle added field when recording a
3670         new message.
3672 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
3674         * errout.adb (Error_Msg_Internal): Propagate warnings-as-error
3675         flag from continuation message to its preceding messages.
3677 2022-01-11  Arnaud Charlet  <charlet@adacore.com>
3679         * gnatvsn.ads (Current_Year): Update copyright notice, bump to
3680         2022.
3681         * ada_get_targ.adb: Update copyright notice.
3682         * adabkend.adb: Likewise.
3683         * adabkend.ads: Likewise.
3684         * adadecode.c: Likewise.
3685         * adadecode.h: Likewise.
3686         * adaint.c: Likewise.
3687         * adaint.h: Likewise.
3688         * affinity.c: Likewise.
3689         * ali-util.adb: Likewise.
3690         * ali-util.ads: Likewise.
3691         * ali.adb: Likewise.
3692         * ali.ads: Likewise.
3693         * alloc.ads: Likewise.
3694         * argv-lynxos178-raven-cert.c: Likewise.
3695         * argv.c: Likewise.
3696         * aspects.adb: Likewise.
3697         * aspects.ads: Likewise.
3698         * atree.adb: Likewise.
3699         * atree.ads: Likewise.
3700         * atree.h: Likewise.
3701         * aux-io.c: Likewise.
3702         * back_end.adb: Likewise.
3703         * back_end.ads: Likewise.
3704         * backend_utils.adb: Likewise.
3705         * backend_utils.ads: Likewise.
3706         * bcheck.adb: Likewise.
3707         * bcheck.ads: Likewise.
3708         * binde.adb: Likewise.
3709         * binde.ads: Likewise.
3710         * binderr.adb: Likewise.
3711         * binderr.ads: Likewise.
3712         * bindgen.adb: Likewise.
3713         * bindgen.ads: Likewise.
3714         * bindo-augmentors.adb: Likewise.
3715         * bindo-augmentors.ads: Likewise.
3716         * bindo-builders.adb: Likewise.
3717         * bindo-builders.ads: Likewise.
3718         * bindo-diagnostics.adb: Likewise.
3719         * bindo-diagnostics.ads: Likewise.
3720         * bindo-elaborators.adb: Likewise.
3721         * bindo-elaborators.ads: Likewise.
3722         * bindo-graphs.adb: Likewise.
3723         * bindo-graphs.ads: Likewise.
3724         * bindo-units.adb: Likewise.
3725         * bindo-units.ads: Likewise.
3726         * bindo-validators.adb: Likewise.
3727         * bindo-validators.ads: Likewise.
3728         * bindo-writers.adb: Likewise.
3729         * bindo-writers.ads: Likewise.
3730         * bindo.adb: Likewise.
3731         * bindo.ads: Likewise.
3732         * bindusg.adb: Likewise.
3733         * bindusg.ads: Likewise.
3734         * butil.adb: Likewise.
3735         * butil.ads: Likewise.
3736         * cal.c: Likewise.
3737         * casing.adb: Likewise.
3738         * casing.ads: Likewise.
3739         * checks.adb: Likewise.
3740         * checks.ads: Likewise.
3741         * cio.c: Likewise.
3742         * clean.adb: Likewise.
3743         * clean.ads: Likewise.
3744         * comperr.adb: Likewise.
3745         * comperr.ads: Likewise.
3746         * contracts.adb: Likewise.
3747         * contracts.ads: Likewise.
3748         * csets.adb: Likewise.
3749         * csets.ads: Likewise.
3750         * cstand.adb: Likewise.
3751         * cstand.ads: Likewise.
3752         * cstreams.c: Likewise.
3753         * ctrl_c.c: Likewise.
3754         * debug.ads: Likewise.
3755         * debug_a.adb: Likewise.
3756         * debug_a.ads: Likewise.
3757         * einfo-utils.adb: Likewise.
3758         * einfo-utils.ads: Likewise.
3759         * einfo.adb: Likewise.
3760         * einfo.ads: Likewise.
3761         * elists.adb: Likewise.
3762         * elists.ads: Likewise.
3763         * elists.h: Likewise.
3764         * env.c: Likewise.
3765         * env.h: Likewise.
3766         * err_vars.ads: Likewise.
3767         * errno.c: Likewise.
3768         * errout.adb: Likewise.
3769         * errout.ads: Likewise.
3770         * erroutc.adb: Likewise.
3771         * erroutc.ads: Likewise.
3772         * errutil.adb: Likewise.
3773         * errutil.ads: Likewise.
3774         * eval_fat.adb: Likewise.
3775         * eval_fat.ads: Likewise.
3776         * exit.c: Likewise.
3777         * exp_aggr.adb: Likewise.
3778         * exp_aggr.ads: Likewise.
3779         * exp_atag.adb: Likewise.
3780         * exp_atag.ads: Likewise.
3781         * exp_attr.adb: Likewise.
3782         * exp_attr.ads: Likewise.
3783         * exp_cg.adb: Likewise.
3784         * exp_cg.ads: Likewise.
3785         * exp_ch10.ads: Likewise.
3786         * exp_ch11.adb: Likewise.
3787         * exp_ch11.ads: Likewise.
3788         * exp_ch12.adb: Likewise.
3789         * exp_ch12.ads: Likewise.
3790         * exp_ch13.adb: Likewise.
3791         * exp_ch13.ads: Likewise.
3792         * exp_ch2.adb: Likewise.
3793         * exp_ch2.ads: Likewise.
3794         * exp_ch3.adb: Likewise.
3795         * exp_ch3.ads: Likewise.
3796         * exp_ch4.adb: Likewise.
3797         * exp_ch4.ads: Likewise.
3798         * exp_ch5.adb: Likewise.
3799         * exp_ch5.ads: Likewise.
3800         * exp_ch6.adb: Likewise.
3801         * exp_ch6.ads: Likewise.
3802         * exp_ch7.adb: Likewise.
3803         * exp_ch7.ads: Likewise.
3804         * exp_ch8.adb: Likewise.
3805         * exp_ch8.ads: Likewise.
3806         * exp_ch9.adb: Likewise.
3807         * exp_ch9.ads: Likewise.
3808         * exp_code.adb: Likewise.
3809         * exp_code.ads: Likewise.
3810         * exp_dbug.adb: Likewise.
3811         * exp_dbug.ads: Likewise.
3812         * exp_disp.adb: Likewise.
3813         * exp_disp.ads: Likewise.
3814         * exp_dist.adb: Likewise.
3815         * exp_dist.ads: Likewise.
3816         * exp_fixd.adb: Likewise.
3817         * exp_fixd.ads: Likewise.
3818         * exp_imgv.adb: Likewise.
3819         * exp_imgv.ads: Likewise.
3820         * exp_intr.adb: Likewise.
3821         * exp_intr.ads: Likewise.
3822         * exp_pakd.adb: Likewise.
3823         * exp_pakd.ads: Likewise.
3824         * exp_prag.adb: Likewise.
3825         * exp_prag.ads: Likewise.
3826         * exp_put_image.adb: Likewise.
3827         * exp_put_image.ads: Likewise.
3828         * exp_sel.adb: Likewise.
3829         * exp_sel.ads: Likewise.
3830         * exp_smem.adb: Likewise.
3831         * exp_smem.ads: Likewise.
3832         * exp_spark.adb: Likewise.
3833         * exp_spark.ads: Likewise.
3834         * exp_strm.adb: Likewise.
3835         * exp_strm.ads: Likewise.
3836         * exp_tss.adb: Likewise.
3837         * exp_tss.ads: Likewise.
3838         * exp_unst.adb: Likewise.
3839         * exp_unst.ads: Likewise.
3840         * exp_util.adb: Likewise.
3841         * exp_util.ads: Likewise.
3842         * expander.adb: Likewise.
3843         * expander.ads: Likewise.
3844         * expect.c: Likewise.
3845         * fe.h: Likewise.
3846         * final.c: Likewise.
3847         * fmap.adb: Likewise.
3848         * fmap.ads: Likewise.
3849         * fname-sf.adb: Likewise.
3850         * fname-sf.ads: Likewise.
3851         * fname-uf.adb: Likewise.
3852         * fname-uf.ads: Likewise.
3853         * fname.adb: Likewise.
3854         * fname.ads: Likewise.
3855         * freeze.adb: Likewise.
3856         * freeze.ads: Likewise.
3857         * frontend.adb: Likewise.
3858         * frontend.ads: Likewise.
3859         * gen_il-fields.ads: Likewise.
3860         * gen_il-gen-gen_entities.adb: Likewise.
3861         * gen_il-gen-gen_nodes.adb: Likewise.
3862         * gen_il-gen.adb: Likewise.
3863         * gen_il-gen.ads: Likewise.
3864         * gen_il-internals.adb: Likewise.
3865         * gen_il-internals.ads: Likewise.
3866         * gen_il-main.adb: Likewise.
3867         * gen_il-types.ads: Likewise.
3868         * gen_il.adb: Likewise.
3869         * gen_il.ads: Likewise.
3870         * get_scos.adb: Likewise.
3871         * get_scos.ads: Likewise.
3872         * get_targ.adb: Likewise.
3873         * get_targ.ads: Likewise.
3874         * ghost.adb: Likewise.
3875         * ghost.ads: Likewise.
3876         * gnat1drv.adb: Likewise.
3877         * gnat1drv.ads: Likewise.
3878         * gnat_cuda.adb: Likewise.
3879         * gnat_cuda.ads: Likewise.
3880         * gnatbind.adb: Likewise.
3881         * gnatbind.ads: Likewise.
3882         * gnatchop.adb: Likewise.
3883         * gnatclean.adb: Likewise.
3884         * gnatcmd.adb: Likewise.
3885         * gnatcmd.ads: Likewise.
3886         * gnatdll.adb: Likewise.
3887         * gnatfind.adb: Likewise.
3888         * gnatkr.adb: Likewise.
3889         * gnatkr.ads: Likewise.
3890         * gnatlink.adb: Likewise.
3891         * gnatlink.ads: Likewise.
3892         * gnatls.adb: Likewise.
3893         * gnatls.ads: Likewise.
3894         * gnatmake.adb: Likewise.
3895         * gnatmake.ads: Likewise.
3896         * gnatname.adb: Likewise.
3897         * gnatname.ads: Likewise.
3898         * gnatprep.adb: Likewise.
3899         * gnatprep.ads: Likewise.
3900         * gnatvsn.adb: Likewise.
3901         * gnatxref.adb: Likewise.
3902         * gprep.adb: Likewise.
3903         * gprep.ads: Likewise.
3904         * gsocket.h: Likewise.
3905         * hostparm.ads: Likewise.
3906         * impunit.adb: Likewise.
3907         * impunit.ads: Likewise.
3908         * indepsw-aix.adb: Likewise.
3909         * indepsw-darwin.adb: Likewise.
3910         * indepsw-gnu.adb: Likewise.
3911         * indepsw.adb: Likewise.
3912         * indepsw.ads: Likewise.
3913         * init.c: Likewise.
3914         * initialize.c: Likewise.
3915         * inline.adb: Likewise.
3916         * inline.ads: Likewise.
3917         * itypes.adb: Likewise.
3918         * itypes.ads: Likewise.
3919         * krunch.adb: Likewise.
3920         * krunch.ads: Likewise.
3921         * layout.adb: Likewise.
3922         * layout.ads: Likewise.
3923         * lib-list.adb: Likewise.
3924         * lib-load.adb: Likewise.
3925         * lib-load.ads: Likewise.
3926         * lib-sort.adb: Likewise.
3927         * lib-util.adb: Likewise.
3928         * lib-util.ads: Likewise.
3929         * lib-writ.adb: Likewise.
3930         * lib-writ.ads: Likewise.
3931         * lib-xref-spark_specific.adb: Likewise.
3932         * lib-xref.adb: Likewise.
3933         * lib-xref.ads: Likewise.
3934         * lib.adb: Likewise.
3935         * lib.ads: Likewise.
3936         * libgnarl/a-astaco.adb: Likewise.
3937         * libgnarl/a-dispat.adb: Likewise.
3938         * libgnarl/a-dynpri.adb: Likewise.
3939         * libgnarl/a-etgrbu.ads: Likewise.
3940         * libgnarl/a-exetim__darwin.adb: Likewise.
3941         * libgnarl/a-exetim__default.ads: Likewise.
3942         * libgnarl/a-exetim__mingw.adb: Likewise.
3943         * libgnarl/a-exetim__mingw.ads: Likewise.
3944         * libgnarl/a-exetim__posix.adb: Likewise.
3945         * libgnarl/a-interr.adb: Likewise.
3946         * libgnarl/a-interr.ads: Likewise.
3947         * libgnarl/a-intnam.ads: Likewise.
3948         * libgnarl/a-intnam__aix.ads: Likewise.
3949         * libgnarl/a-intnam__darwin.ads: Likewise.
3950         * libgnarl/a-intnam__dragonfly.ads: Likewise.
3951         * libgnarl/a-intnam__dummy.ads: Likewise.
3952         * libgnarl/a-intnam__freebsd.ads: Likewise.
3953         * libgnarl/a-intnam__hpux.ads: Likewise.
3954         * libgnarl/a-intnam__linux.ads: Likewise.
3955         * libgnarl/a-intnam__lynxos.ads: Likewise.
3956         * libgnarl/a-intnam__mingw.ads: Likewise.
3957         * libgnarl/a-intnam__qnx.ads: Likewise.
3958         * libgnarl/a-intnam__rtems.ads: Likewise.
3959         * libgnarl/a-intnam__solaris.ads: Likewise.
3960         * libgnarl/a-intnam__vxworks.ads: Likewise.
3961         * libgnarl/a-reatim.adb: Likewise.
3962         * libgnarl/a-reatim.ads: Likewise.
3963         * libgnarl/a-retide.adb: Likewise.
3964         * libgnarl/a-retide.ads: Likewise.
3965         * libgnarl/a-rttiev.adb: Likewise.
3966         * libgnarl/a-rttiev.ads: Likewise.
3967         * libgnarl/a-synbar.adb: Likewise.
3968         * libgnarl/a-synbar.ads: Likewise.
3969         * libgnarl/a-synbar__posix.adb: Likewise.
3970         * libgnarl/a-synbar__posix.ads: Likewise.
3971         * libgnarl/a-sytaco.adb: Likewise.
3972         * libgnarl/a-sytaco.ads: Likewise.
3973         * libgnarl/a-tasatt.adb: Likewise.
3974         * libgnarl/a-tasatt.ads: Likewise.
3975         * libgnarl/a-taside.adb: Likewise.
3976         * libgnarl/a-taside.ads: Likewise.
3977         * libgnarl/a-tasini.adb: Likewise.
3978         * libgnarl/a-tasini.ads: Likewise.
3979         * libgnarl/a-taster.adb: Likewise.
3980         * libgnarl/g-boubuf.adb: Likewise.
3981         * libgnarl/g-boubuf.ads: Likewise.
3982         * libgnarl/g-boumai.ads: Likewise.
3983         * libgnarl/g-semaph.adb: Likewise.
3984         * libgnarl/g-semaph.ads: Likewise.
3985         * libgnarl/g-signal.adb: Likewise.
3986         * libgnarl/g-signal.ads: Likewise.
3987         * libgnarl/g-tastus.ads: Likewise.
3988         * libgnarl/g-thread.adb: Likewise.
3989         * libgnarl/g-thread.ads: Likewise.
3990         * libgnarl/i-vxinco.adb: Likewise.
3991         * libgnarl/i-vxinco.ads: Likewise.
3992         * libgnarl/s-inmaop.ads: Likewise.
3993         * libgnarl/s-inmaop__dummy.adb: Likewise.
3994         * libgnarl/s-inmaop__hwint.adb: Likewise.
3995         * libgnarl/s-inmaop__posix.adb: Likewise.
3996         * libgnarl/s-interr.adb: Likewise.
3997         * libgnarl/s-interr.ads: Likewise.
3998         * libgnarl/s-interr__dummy.adb: Likewise.
3999         * libgnarl/s-interr__hwint.adb: Likewise.
4000         * libgnarl/s-interr__sigaction.adb: Likewise.
4001         * libgnarl/s-interr__vxworks.adb: Likewise.
4002         * libgnarl/s-intman.ads: Likewise.
4003         * libgnarl/s-intman__android.adb: Likewise.
4004         * libgnarl/s-intman__dummy.adb: Likewise.
4005         * libgnarl/s-intman__lynxos.adb: Likewise.
4006         * libgnarl/s-intman__mingw.adb: Likewise.
4007         * libgnarl/s-intman__posix.adb: Likewise.
4008         * libgnarl/s-intman__qnx.adb: Likewise.
4009         * libgnarl/s-intman__rtems.adb: Likewise.
4010         * libgnarl/s-intman__rtems.ads: Likewise.
4011         * libgnarl/s-intman__solaris.adb: Likewise.
4012         * libgnarl/s-intman__susv3.adb: Likewise.
4013         * libgnarl/s-intman__vxworks.adb: Likewise.
4014         * libgnarl/s-intman__vxworks.ads: Likewise.
4015         * libgnarl/s-linux.ads: Likewise.
4016         * libgnarl/s-linux__alpha.ads: Likewise.
4017         * libgnarl/s-linux__android.ads: Likewise.
4018         * libgnarl/s-linux__hppa.ads: Likewise.
4019         * libgnarl/s-linux__mips.ads: Likewise.
4020         * libgnarl/s-linux__riscv.ads: Likewise.
4021         * libgnarl/s-linux__sparc.ads: Likewise.
4022         * libgnarl/s-linux__x32.ads: Likewise.
4023         * libgnarl/s-mudido.adb: Likewise.
4024         * libgnarl/s-mudido__affinity.adb: Likewise.
4025         * libgnarl/s-osinte__aix.adb: Likewise.
4026         * libgnarl/s-osinte__aix.ads: Likewise.
4027         * libgnarl/s-osinte__android.adb: Likewise.
4028         * libgnarl/s-osinte__android.ads: Likewise.
4029         * libgnarl/s-osinte__darwin.adb: Likewise.
4030         * libgnarl/s-osinte__darwin.ads: Likewise.
4031         * libgnarl/s-osinte__dragonfly.adb: Likewise.
4032         * libgnarl/s-osinte__dragonfly.ads: Likewise.
4033         * libgnarl/s-osinte__dummy.ads: Likewise.
4034         * libgnarl/s-osinte__freebsd.adb: Likewise.
4035         * libgnarl/s-osinte__freebsd.ads: Likewise.
4036         * libgnarl/s-osinte__gnu.adb: Likewise.
4037         * libgnarl/s-osinte__gnu.ads: Likewise.
4038         * libgnarl/s-osinte__hpux-dce.adb: Likewise.
4039         * libgnarl/s-osinte__hpux-dce.ads: Likewise.
4040         * libgnarl/s-osinte__hpux.ads: Likewise.
4041         * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
4042         * libgnarl/s-osinte__linux.ads: Likewise.
4043         * libgnarl/s-osinte__lynxos178.adb: Likewise.
4044         * libgnarl/s-osinte__lynxos178e.ads: Likewise.
4045         * libgnarl/s-osinte__mingw.ads: Likewise.
4046         * libgnarl/s-osinte__posix.adb: Likewise.
4047         * libgnarl/s-osinte__qnx.adb: Likewise.
4048         * libgnarl/s-osinte__qnx.ads: Likewise.
4049         * libgnarl/s-osinte__rtems.adb: Likewise.
4050         * libgnarl/s-osinte__rtems.ads: Likewise.
4051         * libgnarl/s-osinte__solaris.adb: Likewise.
4052         * libgnarl/s-osinte__solaris.ads: Likewise.
4053         * libgnarl/s-osinte__vxworks.adb: Likewise.
4054         * libgnarl/s-osinte__vxworks.ads: Likewise.
4055         * libgnarl/s-osinte__x32.adb: Likewise.
4056         * libgnarl/s-proinf.adb: Likewise.
4057         * libgnarl/s-proinf.ads: Likewise.
4058         * libgnarl/s-putaim.adb: Likewise.
4059         * libgnarl/s-putaim.ads: Likewise.
4060         * libgnarl/s-qnx.ads: Likewise.
4061         * libgnarl/s-solita.adb: Likewise.
4062         * libgnarl/s-solita.ads: Likewise.
4063         * libgnarl/s-stusta.adb: Likewise.
4064         * libgnarl/s-stusta.ads: Likewise.
4065         * libgnarl/s-taasde.adb: Likewise.
4066         * libgnarl/s-taasde.ads: Likewise.
4067         * libgnarl/s-tadeca.adb: Likewise.
4068         * libgnarl/s-tadeca.ads: Likewise.
4069         * libgnarl/s-tadert.adb: Likewise.
4070         * libgnarl/s-tadert.ads: Likewise.
4071         * libgnarl/s-taenca.adb: Likewise.
4072         * libgnarl/s-taenca.ads: Likewise.
4073         * libgnarl/s-taprob.adb: Likewise.
4074         * libgnarl/s-taprob.ads: Likewise.
4075         * libgnarl/s-taprop.ads: Likewise.
4076         * libgnarl/s-taprop__dummy.adb: Likewise.
4077         * libgnarl/s-taprop__hpux-dce.adb: Likewise.
4078         * libgnarl/s-taprop__linux.adb: Likewise.
4079         * libgnarl/s-taprop__mingw.adb: Likewise.
4080         * libgnarl/s-taprop__posix.adb: Likewise.
4081         * libgnarl/s-taprop__qnx.adb: Likewise.
4082         * libgnarl/s-taprop__rtems.adb: Likewise.
4083         * libgnarl/s-taprop__solaris.adb: Likewise.
4084         * libgnarl/s-taprop__vxworks.adb: Likewise.
4085         * libgnarl/s-tarest.adb: Likewise.
4086         * libgnarl/s-tarest.ads: Likewise.
4087         * libgnarl/s-tasdeb.adb: Likewise.
4088         * libgnarl/s-tasdeb.ads: Likewise.
4089         * libgnarl/s-tasinf.adb: Likewise.
4090         * libgnarl/s-tasinf.ads: Likewise.
4091         * libgnarl/s-tasinf__linux.adb: Likewise.
4092         * libgnarl/s-tasinf__linux.ads: Likewise.
4093         * libgnarl/s-tasinf__mingw.adb: Likewise.
4094         * libgnarl/s-tasinf__mingw.ads: Likewise.
4095         * libgnarl/s-tasinf__solaris.adb: Likewise.
4096         * libgnarl/s-tasinf__solaris.ads: Likewise.
4097         * libgnarl/s-tasinf__vxworks.ads: Likewise.
4098         * libgnarl/s-tasini.adb: Likewise.
4099         * libgnarl/s-tasini.ads: Likewise.
4100         * libgnarl/s-taskin.adb: Likewise.
4101         * libgnarl/s-taskin.ads: Likewise.
4102         * libgnarl/s-taspri__dummy.ads: Likewise.
4103         * libgnarl/s-taspri__hpux-dce.ads: Likewise.
4104         * libgnarl/s-taspri__lynxos.ads: Likewise.
4105         * libgnarl/s-taspri__mingw.ads: Likewise.
4106         * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
4107         * libgnarl/s-taspri__posix.ads: Likewise.
4108         * libgnarl/s-taspri__solaris.ads: Likewise.
4109         * libgnarl/s-taspri__vxworks.ads: Likewise.
4110         * libgnarl/s-tasque.adb: Likewise.
4111         * libgnarl/s-tasque.ads: Likewise.
4112         * libgnarl/s-tasren.adb: Likewise.
4113         * libgnarl/s-tasren.ads: Likewise.
4114         * libgnarl/s-tasres.ads: Likewise.
4115         * libgnarl/s-tassta.adb: Likewise.
4116         * libgnarl/s-tassta.ads: Likewise.
4117         * libgnarl/s-tasuti.adb: Likewise.
4118         * libgnarl/s-tasuti.ads: Likewise.
4119         * libgnarl/s-tataat.adb: Likewise.
4120         * libgnarl/s-tataat.ads: Likewise.
4121         * libgnarl/s-tpinop.adb: Likewise.
4122         * libgnarl/s-tpinop.ads: Likewise.
4123         * libgnarl/s-tpoaal.adb: Likewise.
4124         * libgnarl/s-tpoben.adb: Likewise.
4125         * libgnarl/s-tpoben.ads: Likewise.
4126         * libgnarl/s-tpobmu.adb: Likewise.
4127         * libgnarl/s-tpobmu.ads: Likewise.
4128         * libgnarl/s-tpobop.adb: Likewise.
4129         * libgnarl/s-tpobop.ads: Likewise.
4130         * libgnarl/s-tpopmo.adb: Likewise.
4131         * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
4132         * libgnarl/s-tpopsp__posix.adb: Likewise.
4133         * libgnarl/s-tpopsp__solaris.adb: Likewise.
4134         * libgnarl/s-tpopsp__tls.adb: Likewise.
4135         * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
4136         * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
4137         * libgnarl/s-tpopsp__vxworks.adb: Likewise.
4138         * libgnarl/s-tporft.adb: Likewise.
4139         * libgnarl/s-tposen.adb: Likewise.
4140         * libgnarl/s-tposen.ads: Likewise.
4141         * libgnarl/s-vxwext.adb: Likewise.
4142         * libgnarl/s-vxwext.ads: Likewise.
4143         * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
4144         * libgnarl/s-vxwext__kernel.adb: Likewise.
4145         * libgnarl/s-vxwext__kernel.ads: Likewise.
4146         * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
4147         * libgnarl/s-vxwext__rtp.adb: Likewise.
4148         * libgnarl/s-vxwext__rtp.ads: Likewise.
4149         * libgnarl/s-vxwork__aarch64.ads: Likewise.
4150         * libgnarl/s-vxwork__arm.ads: Likewise.
4151         * libgnarl/s-vxwork__ppc.ads: Likewise.
4152         * libgnarl/s-vxwork__x86.ads: Likewise.
4153         * libgnarl/thread.c: Likewise.
4154         * libgnat/a-assert.adb: Likewise.
4155         * libgnat/a-assert.ads: Likewise.
4156         * libgnat/a-btgbso.adb: Likewise.
4157         * libgnat/a-btgbso.ads: Likewise.
4158         * libgnat/a-calari.adb: Likewise.
4159         * libgnat/a-calari.ads: Likewise.
4160         * libgnat/a-calcon.adb: Likewise.
4161         * libgnat/a-calcon.ads: Likewise.
4162         * libgnat/a-caldel.adb: Likewise.
4163         * libgnat/a-caldel.ads: Likewise.
4164         * libgnat/a-calend.adb: Likewise.
4165         * libgnat/a-calend.ads: Likewise.
4166         * libgnat/a-calfor.adb: Likewise.
4167         * libgnat/a-calfor.ads: Likewise.
4168         * libgnat/a-catizo.adb: Likewise.
4169         * libgnat/a-cbdlli.adb: Likewise.
4170         * libgnat/a-cbdlli.ads: Likewise.
4171         * libgnat/a-cbhama.adb: Likewise.
4172         * libgnat/a-cbhama.ads: Likewise.
4173         * libgnat/a-cbhase.adb: Likewise.
4174         * libgnat/a-cbhase.ads: Likewise.
4175         * libgnat/a-cbmutr.adb: Likewise.
4176         * libgnat/a-cbmutr.ads: Likewise.
4177         * libgnat/a-cborma.adb: Likewise.
4178         * libgnat/a-cborma.ads: Likewise.
4179         * libgnat/a-cborse.adb: Likewise.
4180         * libgnat/a-cborse.ads: Likewise.
4181         * libgnat/a-cbprqu.adb: Likewise.
4182         * libgnat/a-cbprqu.ads: Likewise.
4183         * libgnat/a-cbsyqu.adb: Likewise.
4184         * libgnat/a-cbsyqu.ads: Likewise.
4185         * libgnat/a-cdlili.adb: Likewise.
4186         * libgnat/a-cdlili.ads: Likewise.
4187         * libgnat/a-cfdlli.adb: Likewise.
4188         * libgnat/a-cfdlli.ads: Likewise.
4189         * libgnat/a-cfhama.adb: Likewise.
4190         * libgnat/a-cfhama.ads: Likewise.
4191         * libgnat/a-cfhase.adb: Likewise.
4192         * libgnat/a-cfhase.ads: Likewise.
4193         * libgnat/a-cfinve.adb: Likewise.
4194         * libgnat/a-cfinve.ads: Likewise.
4195         * libgnat/a-cforma.adb: Likewise.
4196         * libgnat/a-cforma.ads: Likewise.
4197         * libgnat/a-cforse.adb: Likewise.
4198         * libgnat/a-cforse.ads: Likewise.
4199         * libgnat/a-cgaaso.adb: Likewise.
4200         * libgnat/a-cgaaso.ads: Likewise.
4201         * libgnat/a-cgarso.adb: Likewise.
4202         * libgnat/a-cgcaso.adb: Likewise.
4203         * libgnat/a-chacon.adb: Likewise.
4204         * libgnat/a-chacon.ads: Likewise.
4205         * libgnat/a-chahan.adb: Likewise.
4206         * libgnat/a-chahan.ads: Likewise.
4207         * libgnat/a-chlat9.ads: Likewise.
4208         * libgnat/a-chtgbk.adb: Likewise.
4209         * libgnat/a-chtgbk.ads: Likewise.
4210         * libgnat/a-chtgbo.adb: Likewise.
4211         * libgnat/a-chtgbo.ads: Likewise.
4212         * libgnat/a-chtgke.adb: Likewise.
4213         * libgnat/a-chtgke.ads: Likewise.
4214         * libgnat/a-chtgop.adb: Likewise.
4215         * libgnat/a-chtgop.ads: Likewise.
4216         * libgnat/a-chzla1.ads: Likewise.
4217         * libgnat/a-chzla9.ads: Likewise.
4218         * libgnat/a-cidlli.adb: Likewise.
4219         * libgnat/a-cidlli.ads: Likewise.
4220         * libgnat/a-cihama.adb: Likewise.
4221         * libgnat/a-cihama.ads: Likewise.
4222         * libgnat/a-cihase.adb: Likewise.
4223         * libgnat/a-cihase.ads: Likewise.
4224         * libgnat/a-cimutr.adb: Likewise.
4225         * libgnat/a-cimutr.ads: Likewise.
4226         * libgnat/a-ciorma.adb: Likewise.
4227         * libgnat/a-ciorma.ads: Likewise.
4228         * libgnat/a-ciormu.adb: Likewise.
4229         * libgnat/a-ciormu.ads: Likewise.
4230         * libgnat/a-ciorse.adb: Likewise.
4231         * libgnat/a-ciorse.ads: Likewise.
4232         * libgnat/a-clrefi.adb: Likewise.
4233         * libgnat/a-clrefi.ads: Likewise.
4234         * libgnat/a-coboho.adb: Likewise.
4235         * libgnat/a-coboho.ads: Likewise.
4236         * libgnat/a-cobove.adb: Likewise.
4237         * libgnat/a-cobove.ads: Likewise.
4238         * libgnat/a-cofove.adb: Likewise.
4239         * libgnat/a-cofove.ads: Likewise.
4240         * libgnat/a-cofuba.adb: Likewise.
4241         * libgnat/a-cofuba.ads: Likewise.
4242         * libgnat/a-cofuma.adb: Likewise.
4243         * libgnat/a-cofuma.ads: Likewise.
4244         * libgnat/a-cofuse.adb: Likewise.
4245         * libgnat/a-cofuse.ads: Likewise.
4246         * libgnat/a-cofuve.adb: Likewise.
4247         * libgnat/a-cofuve.ads: Likewise.
4248         * libgnat/a-cogeso.adb: Likewise.
4249         * libgnat/a-cogeso.ads: Likewise.
4250         * libgnat/a-cohama.adb: Likewise.
4251         * libgnat/a-cohama.ads: Likewise.
4252         * libgnat/a-cohase.adb: Likewise.
4253         * libgnat/a-cohase.ads: Likewise.
4254         * libgnat/a-cohata.ads: Likewise.
4255         * libgnat/a-coinho.adb: Likewise.
4256         * libgnat/a-coinho.ads: Likewise.
4257         * libgnat/a-coinho__shared.adb: Likewise.
4258         * libgnat/a-coinho__shared.ads: Likewise.
4259         * libgnat/a-coinve.adb: Likewise.
4260         * libgnat/a-coinve.ads: Likewise.
4261         * libgnat/a-colien.adb: Likewise.
4262         * libgnat/a-colien.ads: Likewise.
4263         * libgnat/a-colire.adb: Likewise.
4264         * libgnat/a-colire.ads: Likewise.
4265         * libgnat/a-comlin.adb: Likewise.
4266         * libgnat/a-comlin.ads: Likewise.
4267         * libgnat/a-comutr.adb: Likewise.
4268         * libgnat/a-comutr.ads: Likewise.
4269         * libgnat/a-conhel.adb: Likewise.
4270         * libgnat/a-conhel.ads: Likewise.
4271         * libgnat/a-convec.adb: Likewise.
4272         * libgnat/a-convec.ads: Likewise.
4273         * libgnat/a-coorma.adb: Likewise.
4274         * libgnat/a-coorma.ads: Likewise.
4275         * libgnat/a-coormu.adb: Likewise.
4276         * libgnat/a-coormu.ads: Likewise.
4277         * libgnat/a-coorse.adb: Likewise.
4278         * libgnat/a-coorse.ads: Likewise.
4279         * libgnat/a-coprnu.adb: Likewise.
4280         * libgnat/a-coprnu.ads: Likewise.
4281         * libgnat/a-costso.adb: Likewise.
4282         * libgnat/a-costso.ads: Likewise.
4283         * libgnat/a-crbltr.ads: Likewise.
4284         * libgnat/a-crbtgk.adb: Likewise.
4285         * libgnat/a-crbtgk.ads: Likewise.
4286         * libgnat/a-crbtgo.adb: Likewise.
4287         * libgnat/a-crbtgo.ads: Likewise.
4288         * libgnat/a-crdlli.adb: Likewise.
4289         * libgnat/a-crdlli.ads: Likewise.
4290         * libgnat/a-csquin.ads: Likewise.
4291         * libgnat/a-cuprqu.adb: Likewise.
4292         * libgnat/a-cuprqu.ads: Likewise.
4293         * libgnat/a-cusyqu.adb: Likewise.
4294         * libgnat/a-cusyqu.ads: Likewise.
4295         * libgnat/a-cwila1.ads: Likewise.
4296         * libgnat/a-cwila9.ads: Likewise.
4297         * libgnat/a-decima.adb: Likewise.
4298         * libgnat/a-decima.ads: Likewise.
4299         * libgnat/a-decima__128.ads: Likewise.
4300         * libgnat/a-dhfina.adb: Likewise.
4301         * libgnat/a-dhfina.ads: Likewise.
4302         * libgnat/a-diocst.adb: Likewise.
4303         * libgnat/a-diocst.ads: Likewise.
4304         * libgnat/a-direct.adb: Likewise.
4305         * libgnat/a-direct.ads: Likewise.
4306         * libgnat/a-direio.adb: Likewise.
4307         * libgnat/a-direio.ads: Likewise.
4308         * libgnat/a-dirval.adb: Likewise.
4309         * libgnat/a-dirval.ads: Likewise.
4310         * libgnat/a-dirval__mingw.adb: Likewise.
4311         * libgnat/a-einuoc.adb: Likewise.
4312         * libgnat/a-einuoc.ads: Likewise.
4313         * libgnat/a-elchha.adb: Likewise.
4314         * libgnat/a-elchha.ads: Likewise.
4315         * libgnat/a-envvar.adb: Likewise.
4316         * libgnat/a-excach.adb: Likewise.
4317         * libgnat/a-except.adb: Likewise.
4318         * libgnat/a-except.ads: Likewise.
4319         * libgnat/a-exctra.adb: Likewise.
4320         * libgnat/a-exctra.ads: Likewise.
4321         * libgnat/a-exexda.adb: Likewise.
4322         * libgnat/a-exexpr.adb: Likewise.
4323         * libgnat/a-exextr.adb: Likewise.
4324         * libgnat/a-exstat.adb: Likewise.
4325         * libgnat/a-finali.adb: Likewise.
4326         * libgnat/a-finali.ads: Likewise.
4327         * libgnat/a-locale.adb: Likewise.
4328         * libgnat/a-locale.ads: Likewise.
4329         * libgnat/a-nagefl.ads: Likewise.
4330         * libgnat/a-naliop.ads: Likewise.
4331         * libgnat/a-naliop__nolibm.ads: Likewise.
4332         * libgnat/a-nallfl.ads: Likewise.
4333         * libgnat/a-nallfl__wraplf.ads: Likewise.
4334         * libgnat/a-nalofl.ads: Likewise.
4335         * libgnat/a-nashfl.ads: Likewise.
4336         * libgnat/a-nashfl__wraplf.ads: Likewise.
4337         * libgnat/a-nbnbig.adb: Likewise.
4338         * libgnat/a-nbnbin.adb: Likewise.
4339         * libgnat/a-nbnbin__gmp.adb: Likewise.
4340         * libgnat/a-nbnbre.adb: Likewise.
4341         * libgnat/a-ngcefu.adb: Likewise.
4342         * libgnat/a-ngcoar.adb: Likewise.
4343         * libgnat/a-ngcoty.adb: Likewise.
4344         * libgnat/a-ngcoty.ads: Likewise.
4345         * libgnat/a-ngelfu.adb: Likewise.
4346         * libgnat/a-ngelfu.ads: Likewise.
4347         * libgnat/a-ngrear.adb: Likewise.
4348         * libgnat/a-ngrear.ads: Likewise.
4349         * libgnat/a-nuauco.ads: Likewise.
4350         * libgnat/a-nuauco__x86.ads: Likewise.
4351         * libgnat/a-nuaufl.ads: Likewise.
4352         * libgnat/a-nuaufl__wraplf.ads: Likewise.
4353         * libgnat/a-nudira.adb: Likewise.
4354         * libgnat/a-nudira.ads: Likewise.
4355         * libgnat/a-nuflra.adb: Likewise.
4356         * libgnat/a-nuflra.ads: Likewise.
4357         * libgnat/a-numaux.ads: Likewise.
4358         * libgnat/a-rbtgbk.adb: Likewise.
4359         * libgnat/a-rbtgbk.ads: Likewise.
4360         * libgnat/a-rbtgbo.adb: Likewise.
4361         * libgnat/a-rbtgbo.ads: Likewise.
4362         * libgnat/a-rbtgso.adb: Likewise.
4363         * libgnat/a-rbtgso.ads: Likewise.
4364         * libgnat/a-sbecin.adb: Likewise.
4365         * libgnat/a-sbecin.ads: Likewise.
4366         * libgnat/a-sbhcin.adb: Likewise.
4367         * libgnat/a-sbhcin.ads: Likewise.
4368         * libgnat/a-sblcin.adb: Likewise.
4369         * libgnat/a-sblcin.ads: Likewise.
4370         * libgnat/a-secain.adb: Likewise.
4371         * libgnat/a-secain.ads: Likewise.
4372         * libgnat/a-sequio.adb: Likewise.
4373         * libgnat/a-sequio.ads: Likewise.
4374         * libgnat/a-sfecin.ads: Likewise.
4375         * libgnat/a-sfhcin.ads: Likewise.
4376         * libgnat/a-sflcin.ads: Likewise.
4377         * libgnat/a-shcain.adb: Likewise.
4378         * libgnat/a-shcain.ads: Likewise.
4379         * libgnat/a-siocst.adb: Likewise.
4380         * libgnat/a-siocst.ads: Likewise.
4381         * libgnat/a-slcain.adb: Likewise.
4382         * libgnat/a-slcain.ads: Likewise.
4383         * libgnat/a-ssicst.adb: Likewise.
4384         * libgnat/a-ssicst.ads: Likewise.
4385         * libgnat/a-stboha.adb: Likewise.
4386         * libgnat/a-stbubo.adb: Likewise.
4387         * libgnat/a-stbubo.ads: Likewise.
4388         * libgnat/a-stbufi.adb: Likewise.
4389         * libgnat/a-stbufi.ads: Likewise.
4390         * libgnat/a-stbufo.adb: Likewise.
4391         * libgnat/a-stbufo.ads: Likewise.
4392         * libgnat/a-stbuun.adb: Likewise.
4393         * libgnat/a-stbuut.adb: Likewise.
4394         * libgnat/a-stbuut.ads: Likewise.
4395         * libgnat/a-stmaco.ads: Likewise.
4396         * libgnat/a-storio.adb: Likewise.
4397         * libgnat/a-strbou.adb: Likewise.
4398         * libgnat/a-strbou.ads: Likewise.
4399         * libgnat/a-stream.adb: Likewise.
4400         * libgnat/a-stream.ads: Likewise.
4401         * libgnat/a-strfix.adb: Likewise.
4402         * libgnat/a-strhas.adb: Likewise.
4403         * libgnat/a-strmap.adb: Likewise.
4404         * libgnat/a-strmap.ads: Likewise.
4405         * libgnat/a-strsea.adb: Likewise.
4406         * libgnat/a-strsea.ads: Likewise.
4407         * libgnat/a-strsto.ads: Likewise.
4408         * libgnat/a-strsup.adb: Likewise.
4409         * libgnat/a-strsup.ads: Likewise.
4410         * libgnat/a-strunb.adb: Likewise.
4411         * libgnat/a-strunb.ads: Likewise.
4412         * libgnat/a-strunb__shared.adb: Likewise.
4413         * libgnat/a-strunb__shared.ads: Likewise.
4414         * libgnat/a-ststbo.adb: Likewise.
4415         * libgnat/a-ststbo.ads: Likewise.
4416         * libgnat/a-ststio.adb: Likewise.
4417         * libgnat/a-ststio.ads: Likewise.
4418         * libgnat/a-ststun.adb: Likewise.
4419         * libgnat/a-ststun.ads: Likewise.
4420         * libgnat/a-sttebu.adb: Likewise.
4421         * libgnat/a-stunau.adb: Likewise.
4422         * libgnat/a-stunau.ads: Likewise.
4423         * libgnat/a-stunau__shared.adb: Likewise.
4424         * libgnat/a-stunha.adb: Likewise.
4425         * libgnat/a-stuten.adb: Likewise.
4426         * libgnat/a-stwibo.adb: Likewise.
4427         * libgnat/a-stwibo.ads: Likewise.
4428         * libgnat/a-stwifi.adb: Likewise.
4429         * libgnat/a-stwiha.adb: Likewise.
4430         * libgnat/a-stwima.adb: Likewise.
4431         * libgnat/a-stwima.ads: Likewise.
4432         * libgnat/a-stwise.adb: Likewise.
4433         * libgnat/a-stwise.ads: Likewise.
4434         * libgnat/a-stwisu.adb: Likewise.
4435         * libgnat/a-stwisu.ads: Likewise.
4436         * libgnat/a-stwiun.adb: Likewise.
4437         * libgnat/a-stwiun.ads: Likewise.
4438         * libgnat/a-stwiun__shared.adb: Likewise.
4439         * libgnat/a-stwiun__shared.ads: Likewise.
4440         * libgnat/a-stzbou.adb: Likewise.
4441         * libgnat/a-stzbou.ads: Likewise.
4442         * libgnat/a-stzfix.adb: Likewise.
4443         * libgnat/a-stzhas.adb: Likewise.
4444         * libgnat/a-stzmap.adb: Likewise.
4445         * libgnat/a-stzmap.ads: Likewise.
4446         * libgnat/a-stzsea.adb: Likewise.
4447         * libgnat/a-stzsea.ads: Likewise.
4448         * libgnat/a-stzsup.adb: Likewise.
4449         * libgnat/a-stzsup.ads: Likewise.
4450         * libgnat/a-stzunb.adb: Likewise.
4451         * libgnat/a-stzunb.ads: Likewise.
4452         * libgnat/a-stzunb__shared.adb: Likewise.
4453         * libgnat/a-stzunb__shared.ads: Likewise.
4454         * libgnat/a-suecin.adb: Likewise.
4455         * libgnat/a-suecin.ads: Likewise.
4456         * libgnat/a-suenco.adb: Likewise.
4457         * libgnat/a-suenst.adb: Likewise.
4458         * libgnat/a-suewst.adb: Likewise.
4459         * libgnat/a-suezst.adb: Likewise.
4460         * libgnat/a-suhcin.adb: Likewise.
4461         * libgnat/a-suhcin.ads: Likewise.
4462         * libgnat/a-sulcin.adb: Likewise.
4463         * libgnat/a-sulcin.ads: Likewise.
4464         * libgnat/a-suteio.adb: Likewise.
4465         * libgnat/a-suteio.ads: Likewise.
4466         * libgnat/a-suteio__shared.adb: Likewise.
4467         * libgnat/a-swbwha.adb: Likewise.
4468         * libgnat/a-swmwco.ads: Likewise.
4469         * libgnat/a-swunau.adb: Likewise.
4470         * libgnat/a-swunau.ads: Likewise.
4471         * libgnat/a-swunau__shared.adb: Likewise.
4472         * libgnat/a-swuwha.adb: Likewise.
4473         * libgnat/a-swuwti.adb: Likewise.
4474         * libgnat/a-swuwti.ads: Likewise.
4475         * libgnat/a-swuwti__shared.adb: Likewise.
4476         * libgnat/a-szbzha.adb: Likewise.
4477         * libgnat/a-szmzco.ads: Likewise.
4478         * libgnat/a-szunau.adb: Likewise.
4479         * libgnat/a-szunau.ads: Likewise.
4480         * libgnat/a-szunau__shared.adb: Likewise.
4481         * libgnat/a-szuzha.adb: Likewise.
4482         * libgnat/a-szuzti.adb: Likewise.
4483         * libgnat/a-szuzti.ads: Likewise.
4484         * libgnat/a-szuzti__shared.adb: Likewise.
4485         * libgnat/a-tags.adb: Likewise.
4486         * libgnat/a-tags.ads: Likewise.
4487         * libgnat/a-teioed.adb: Likewise.
4488         * libgnat/a-teioed.ads: Likewise.
4489         * libgnat/a-textio.adb: Likewise.
4490         * libgnat/a-textio.ads: Likewise.
4491         * libgnat/a-tiboio.adb: Likewise.
4492         * libgnat/a-ticoau.adb: Likewise.
4493         * libgnat/a-ticoau.ads: Likewise.
4494         * libgnat/a-ticoio.adb: Likewise.
4495         * libgnat/a-ticoio.ads: Likewise.
4496         * libgnat/a-tideau.adb: Likewise.
4497         * libgnat/a-tideau.ads: Likewise.
4498         * libgnat/a-tideio.adb: Likewise.
4499         * libgnat/a-tideio.ads: Likewise.
4500         * libgnat/a-tideio__128.adb: Likewise.
4501         * libgnat/a-tienau.adb: Likewise.
4502         * libgnat/a-tienau.ads: Likewise.
4503         * libgnat/a-tienio.adb: Likewise.
4504         * libgnat/a-tifiau.adb: Likewise.
4505         * libgnat/a-tifiau.ads: Likewise.
4506         * libgnat/a-tifiio.adb: Likewise.
4507         * libgnat/a-tifiio__128.adb: Likewise.
4508         * libgnat/a-tiflau.adb: Likewise.
4509         * libgnat/a-tiflau.ads: Likewise.
4510         * libgnat/a-tiflio.adb: Likewise.
4511         * libgnat/a-tiflio.ads: Likewise.
4512         * libgnat/a-tigeau.adb: Likewise.
4513         * libgnat/a-tigeau.ads: Likewise.
4514         * libgnat/a-tigeli.adb: Likewise.
4515         * libgnat/a-tiinau.adb: Likewise.
4516         * libgnat/a-tiinau.ads: Likewise.
4517         * libgnat/a-tiinio.adb: Likewise.
4518         * libgnat/a-tiinio.ads: Likewise.
4519         * libgnat/a-tiinio__128.adb: Likewise.
4520         * libgnat/a-timoio.adb: Likewise.
4521         * libgnat/a-timoio.ads: Likewise.
4522         * libgnat/a-timoio__128.adb: Likewise.
4523         * libgnat/a-tiocst.adb: Likewise.
4524         * libgnat/a-tiocst.ads: Likewise.
4525         * libgnat/a-tirsfi.adb: Likewise.
4526         * libgnat/a-tirsfi.ads: Likewise.
4527         * libgnat/a-titest.adb: Likewise.
4528         * libgnat/a-undesu.adb: Likewise.
4529         * libgnat/a-wichha.adb: Likewise.
4530         * libgnat/a-wichun.adb: Likewise.
4531         * libgnat/a-wichun.ads: Likewise.
4532         * libgnat/a-witeio.adb: Likewise.
4533         * libgnat/a-witeio.ads: Likewise.
4534         * libgnat/a-wrstfi.adb: Likewise.
4535         * libgnat/a-wrstfi.ads: Likewise.
4536         * libgnat/a-wtcoau.adb: Likewise.
4537         * libgnat/a-wtcoau.ads: Likewise.
4538         * libgnat/a-wtcoio.adb: Likewise.
4539         * libgnat/a-wtcstr.adb: Likewise.
4540         * libgnat/a-wtcstr.ads: Likewise.
4541         * libgnat/a-wtdeau.adb: Likewise.
4542         * libgnat/a-wtdeau.ads: Likewise.
4543         * libgnat/a-wtdeio.adb: Likewise.
4544         * libgnat/a-wtdeio__128.adb: Likewise.
4545         * libgnat/a-wtedit.adb: Likewise.
4546         * libgnat/a-wtedit.ads: Likewise.
4547         * libgnat/a-wtenau.adb: Likewise.
4548         * libgnat/a-wtenau.ads: Likewise.
4549         * libgnat/a-wtenio.adb: Likewise.
4550         * libgnat/a-wtfiau.adb: Likewise.
4551         * libgnat/a-wtfiau.ads: Likewise.
4552         * libgnat/a-wtfiio.adb: Likewise.
4553         * libgnat/a-wtfiio__128.adb: Likewise.
4554         * libgnat/a-wtflau.adb: Likewise.
4555         * libgnat/a-wtflau.ads: Likewise.
4556         * libgnat/a-wtflio.adb: Likewise.
4557         * libgnat/a-wtgeau.adb: Likewise.
4558         * libgnat/a-wtgeau.ads: Likewise.
4559         * libgnat/a-wtinau.adb: Likewise.
4560         * libgnat/a-wtinau.ads: Likewise.
4561         * libgnat/a-wtinio.adb: Likewise.
4562         * libgnat/a-wtinio__128.adb: Likewise.
4563         * libgnat/a-wtmoio.adb: Likewise.
4564         * libgnat/a-wtmoio.ads: Likewise.
4565         * libgnat/a-wtmoio__128.adb: Likewise.
4566         * libgnat/a-wttest.adb: Likewise.
4567         * libgnat/a-wwboio.adb: Likewise.
4568         * libgnat/a-zchhan.adb: Likewise.
4569         * libgnat/a-zchuni.adb: Likewise.
4570         * libgnat/a-zchuni.ads: Likewise.
4571         * libgnat/a-zrstfi.adb: Likewise.
4572         * libgnat/a-zrstfi.ads: Likewise.
4573         * libgnat/a-ztcoau.adb: Likewise.
4574         * libgnat/a-ztcoio.adb: Likewise.
4575         * libgnat/a-ztcstr.adb: Likewise.
4576         * libgnat/a-ztcstr.ads: Likewise.
4577         * libgnat/a-ztdeau.adb: Likewise.
4578         * libgnat/a-ztdeau.ads: Likewise.
4579         * libgnat/a-ztdeio.adb: Likewise.
4580         * libgnat/a-ztdeio__128.adb: Likewise.
4581         * libgnat/a-ztedit.adb: Likewise.
4582         * libgnat/a-ztedit.ads: Likewise.
4583         * libgnat/a-ztenau.adb: Likewise.
4584         * libgnat/a-ztenau.ads: Likewise.
4585         * libgnat/a-ztenio.adb: Likewise.
4586         * libgnat/a-ztexio.adb: Likewise.
4587         * libgnat/a-ztexio.ads: Likewise.
4588         * libgnat/a-ztfiau.adb: Likewise.
4589         * libgnat/a-ztfiau.ads: Likewise.
4590         * libgnat/a-ztfiio.adb: Likewise.
4591         * libgnat/a-ztfiio__128.adb: Likewise.
4592         * libgnat/a-ztflau.adb: Likewise.
4593         * libgnat/a-ztflau.ads: Likewise.
4594         * libgnat/a-ztflio.adb: Likewise.
4595         * libgnat/a-ztgeau.adb: Likewise.
4596         * libgnat/a-ztgeau.ads: Likewise.
4597         * libgnat/a-ztinau.adb: Likewise.
4598         * libgnat/a-ztinau.ads: Likewise.
4599         * libgnat/a-ztinio.adb: Likewise.
4600         * libgnat/a-ztinio__128.adb: Likewise.
4601         * libgnat/a-ztmoio.adb: Likewise.
4602         * libgnat/a-ztmoio__128.adb: Likewise.
4603         * libgnat/a-zttest.adb: Likewise.
4604         * libgnat/a-zzboio.adb: Likewise.
4605         * libgnat/g-allein.ads: Likewise.
4606         * libgnat/g-alleve.adb: Likewise.
4607         * libgnat/g-alleve.ads: Likewise.
4608         * libgnat/g-alleve__hard.adb: Likewise.
4609         * libgnat/g-alleve__hard.ads: Likewise.
4610         * libgnat/g-altcon.adb: Likewise.
4611         * libgnat/g-altcon.ads: Likewise.
4612         * libgnat/g-altive.ads: Likewise.
4613         * libgnat/g-alveop.adb: Likewise.
4614         * libgnat/g-alveop.ads: Likewise.
4615         * libgnat/g-alvety.ads: Likewise.
4616         * libgnat/g-alvevi.ads: Likewise.
4617         * libgnat/g-arrspl.adb: Likewise.
4618         * libgnat/g-arrspl.ads: Likewise.
4619         * libgnat/g-awk.adb: Likewise.
4620         * libgnat/g-awk.ads: Likewise.
4621         * libgnat/g-binenv.adb: Likewise.
4622         * libgnat/g-binenv.ads: Likewise.
4623         * libgnat/g-brapre.ads: Likewise.
4624         * libgnat/g-bubsor.adb: Likewise.
4625         * libgnat/g-bubsor.ads: Likewise.
4626         * libgnat/g-busora.adb: Likewise.
4627         * libgnat/g-busora.ads: Likewise.
4628         * libgnat/g-busorg.adb: Likewise.
4629         * libgnat/g-busorg.ads: Likewise.
4630         * libgnat/g-byorma.adb: Likewise.
4631         * libgnat/g-byorma.ads: Likewise.
4632         * libgnat/g-bytswa.adb: Likewise.
4633         * libgnat/g-bytswa.ads: Likewise.
4634         * libgnat/g-calend.adb: Likewise.
4635         * libgnat/g-calend.ads: Likewise.
4636         * libgnat/g-casuti.adb: Likewise.
4637         * libgnat/g-casuti.ads: Likewise.
4638         * libgnat/g-catiio.adb: Likewise.
4639         * libgnat/g-catiio.ads: Likewise.
4640         * libgnat/g-cgi.adb: Likewise.
4641         * libgnat/g-cgi.ads: Likewise.
4642         * libgnat/g-cgicoo.adb: Likewise.
4643         * libgnat/g-cgicoo.ads: Likewise.
4644         * libgnat/g-cgideb.adb: Likewise.
4645         * libgnat/g-cgideb.ads: Likewise.
4646         * libgnat/g-comlin.adb: Likewise.
4647         * libgnat/g-comlin.ads: Likewise.
4648         * libgnat/g-comver.adb: Likewise.
4649         * libgnat/g-comver.ads: Likewise.
4650         * libgnat/g-cppexc.adb: Likewise.
4651         * libgnat/g-cppexc.ads: Likewise.
4652         * libgnat/g-crc32.adb: Likewise.
4653         * libgnat/g-crc32.ads: Likewise.
4654         * libgnat/g-ctrl_c.adb: Likewise.
4655         * libgnat/g-ctrl_c.ads: Likewise.
4656         * libgnat/g-curexc.ads: Likewise.
4657         * libgnat/g-debpoo.adb: Likewise.
4658         * libgnat/g-debpoo.ads: Likewise.
4659         * libgnat/g-debuti.adb: Likewise.
4660         * libgnat/g-debuti.ads: Likewise.
4661         * libgnat/g-decstr.adb: Likewise.
4662         * libgnat/g-decstr.ads: Likewise.
4663         * libgnat/g-deutst.ads: Likewise.
4664         * libgnat/g-diopit.adb: Likewise.
4665         * libgnat/g-diopit.ads: Likewise.
4666         * libgnat/g-dirope.adb: Likewise.
4667         * libgnat/g-dirope.ads: Likewise.
4668         * libgnat/g-dynhta.adb: Likewise.
4669         * libgnat/g-dynhta.ads: Likewise.
4670         * libgnat/g-dyntab.adb: Likewise.
4671         * libgnat/g-dyntab.ads: Likewise.
4672         * libgnat/g-eacodu.adb: Likewise.
4673         * libgnat/g-encstr.adb: Likewise.
4674         * libgnat/g-encstr.ads: Likewise.
4675         * libgnat/g-enutst.ads: Likewise.
4676         * libgnat/g-excact.adb: Likewise.
4677         * libgnat/g-excact.ads: Likewise.
4678         * libgnat/g-except.ads: Likewise.
4679         * libgnat/g-exctra.adb: Likewise.
4680         * libgnat/g-exctra.ads: Likewise.
4681         * libgnat/g-expect.adb: Likewise.
4682         * libgnat/g-expect.ads: Likewise.
4683         * libgnat/g-exptty.adb: Likewise.
4684         * libgnat/g-exptty.ads: Likewise.
4685         * libgnat/g-flocon.ads: Likewise.
4686         * libgnat/g-forstr.adb: Likewise.
4687         * libgnat/g-forstr.ads: Likewise.
4688         * libgnat/g-graphs.adb: Likewise.
4689         * libgnat/g-graphs.ads: Likewise.
4690         * libgnat/g-heasor.adb: Likewise.
4691         * libgnat/g-heasor.ads: Likewise.
4692         * libgnat/g-hesora.adb: Likewise.
4693         * libgnat/g-hesora.ads: Likewise.
4694         * libgnat/g-hesorg.adb: Likewise.
4695         * libgnat/g-hesorg.ads: Likewise.
4696         * libgnat/g-htable.adb: Likewise.
4697         * libgnat/g-htable.ads: Likewise.
4698         * libgnat/g-io.adb: Likewise.
4699         * libgnat/g-io.ads: Likewise.
4700         * libgnat/g-io_aux.adb: Likewise.
4701         * libgnat/g-io_aux.ads: Likewise.
4702         * libgnat/g-lists.adb: Likewise.
4703         * libgnat/g-lists.ads: Likewise.
4704         * libgnat/g-locfil.adb: Likewise.
4705         * libgnat/g-locfil.ads: Likewise.
4706         * libgnat/g-mbdira.adb: Likewise.
4707         * libgnat/g-mbdira.ads: Likewise.
4708         * libgnat/g-mbflra.adb: Likewise.
4709         * libgnat/g-mbflra.ads: Likewise.
4710         * libgnat/g-md5.adb: Likewise.
4711         * libgnat/g-md5.ads: Likewise.
4712         * libgnat/g-memdum.adb: Likewise.
4713         * libgnat/g-memdum.ads: Likewise.
4714         * libgnat/g-moreex.adb: Likewise.
4715         * libgnat/g-moreex.ads: Likewise.
4716         * libgnat/g-os_lib.adb: Likewise.
4717         * libgnat/g-os_lib.ads: Likewise.
4718         * libgnat/g-pehage.adb: Likewise.
4719         * libgnat/g-pehage.ads: Likewise.
4720         * libgnat/g-rannum.adb: Likewise.
4721         * libgnat/g-rannum.ads: Likewise.
4722         * libgnat/g-regexp.adb: Likewise.
4723         * libgnat/g-regexp.ads: Likewise.
4724         * libgnat/g-regist.adb: Likewise.
4725         * libgnat/g-regist.ads: Likewise.
4726         * libgnat/g-regpat.adb: Likewise.
4727         * libgnat/g-regpat.ads: Likewise.
4728         * libgnat/g-rewdat.adb: Likewise.
4729         * libgnat/g-rewdat.ads: Likewise.
4730         * libgnat/g-sechas.adb: Likewise.
4731         * libgnat/g-sechas.ads: Likewise.
4732         * libgnat/g-sehamd.adb: Likewise.
4733         * libgnat/g-sehamd.ads: Likewise.
4734         * libgnat/g-sehash.adb: Likewise.
4735         * libgnat/g-sehash.ads: Likewise.
4736         * libgnat/g-sercom.adb: Likewise.
4737         * libgnat/g-sercom.ads: Likewise.
4738         * libgnat/g-sercom__linux.adb: Likewise.
4739         * libgnat/g-sercom__mingw.adb: Likewise.
4740         * libgnat/g-sestin.ads: Likewise.
4741         * libgnat/g-sets.adb: Likewise.
4742         * libgnat/g-sets.ads: Likewise.
4743         * libgnat/g-sha1.adb: Likewise.
4744         * libgnat/g-sha1.ads: Likewise.
4745         * libgnat/g-sha224.ads: Likewise.
4746         * libgnat/g-sha256.ads: Likewise.
4747         * libgnat/g-sha384.ads: Likewise.
4748         * libgnat/g-sha512.ads: Likewise.
4749         * libgnat/g-shsh32.adb: Likewise.
4750         * libgnat/g-shsh32.ads: Likewise.
4751         * libgnat/g-shsh64.adb: Likewise.
4752         * libgnat/g-shsh64.ads: Likewise.
4753         * libgnat/g-shshco.adb: Likewise.
4754         * libgnat/g-shshco.ads: Likewise.
4755         * libgnat/g-soccon.ads: Likewise.
4756         * libgnat/g-socket.adb: Likewise.
4757         * libgnat/g-socket.ads: Likewise.
4758         * libgnat/g-socket__dummy.adb: Likewise.
4759         * libgnat/g-socket__dummy.ads: Likewise.
4760         * libgnat/g-socpol.adb: Likewise.
4761         * libgnat/g-socpol.ads: Likewise.
4762         * libgnat/g-socpol__dummy.adb: Likewise.
4763         * libgnat/g-socpol__dummy.ads: Likewise.
4764         * libgnat/g-socthi.adb: Likewise.
4765         * libgnat/g-socthi.ads: Likewise.
4766         * libgnat/g-socthi__dummy.adb: Likewise.
4767         * libgnat/g-socthi__dummy.ads: Likewise.
4768         * libgnat/g-socthi__mingw.adb: Likewise.
4769         * libgnat/g-socthi__mingw.ads: Likewise.
4770         * libgnat/g-socthi__vxworks.adb: Likewise.
4771         * libgnat/g-socthi__vxworks.ads: Likewise.
4772         * libgnat/g-soliop.ads: Likewise.
4773         * libgnat/g-soliop__lynxos.ads: Likewise.
4774         * libgnat/g-soliop__mingw.ads: Likewise.
4775         * libgnat/g-soliop__qnx.ads: Likewise.
4776         * libgnat/g-soliop__solaris.ads: Likewise.
4777         * libgnat/g-sopowa.adb: Likewise.
4778         * libgnat/g-sopowa__mingw.adb: Likewise.
4779         * libgnat/g-sopowa__posix.adb: Likewise.
4780         * libgnat/g-sothco.adb: Likewise.
4781         * libgnat/g-sothco.ads: Likewise.
4782         * libgnat/g-sothco__dummy.adb: Likewise.
4783         * libgnat/g-sothco__dummy.ads: Likewise.
4784         * libgnat/g-souinf.ads: Likewise.
4785         * libgnat/g-spchge.adb: Likewise.
4786         * libgnat/g-spchge.ads: Likewise.
4787         * libgnat/g-speche.adb: Likewise.
4788         * libgnat/g-speche.ads: Likewise.
4789         * libgnat/g-spipat.adb: Likewise.
4790         * libgnat/g-spipat.ads: Likewise.
4791         * libgnat/g-spitbo.adb: Likewise.
4792         * libgnat/g-spitbo.ads: Likewise.
4793         * libgnat/g-spogwa.adb: Likewise.
4794         * libgnat/g-spogwa.ads: Likewise.
4795         * libgnat/g-sptabo.ads: Likewise.
4796         * libgnat/g-sptain.ads: Likewise.
4797         * libgnat/g-sptavs.ads: Likewise.
4798         * libgnat/g-sse.ads: Likewise.
4799         * libgnat/g-ssvety.ads: Likewise.
4800         * libgnat/g-sthcso.adb: Likewise.
4801         * libgnat/g-stheme.adb: Likewise.
4802         * libgnat/g-strhas.ads: Likewise.
4803         * libgnat/g-string.adb: Likewise.
4804         * libgnat/g-string.ads: Likewise.
4805         * libgnat/g-strspl.ads: Likewise.
4806         * libgnat/g-stseme.adb: Likewise.
4807         * libgnat/g-stsifd__sockets.adb: Likewise.
4808         * libgnat/g-table.adb: Likewise.
4809         * libgnat/g-table.ads: Likewise.
4810         * libgnat/g-tasloc.adb: Likewise.
4811         * libgnat/g-tasloc.ads: Likewise.
4812         * libgnat/g-timsta.adb: Likewise.
4813         * libgnat/g-timsta.ads: Likewise.
4814         * libgnat/g-traceb.adb: Likewise.
4815         * libgnat/g-traceb.ads: Likewise.
4816         * libgnat/g-trasym.adb: Likewise.
4817         * libgnat/g-trasym.ads: Likewise.
4818         * libgnat/g-tty.adb: Likewise.
4819         * libgnat/g-tty.ads: Likewise.
4820         * libgnat/g-u3spch.adb: Likewise.
4821         * libgnat/g-u3spch.ads: Likewise.
4822         * libgnat/g-utf_32.adb: Likewise.
4823         * libgnat/g-utf_32.ads: Likewise.
4824         * libgnat/g-wispch.adb: Likewise.
4825         * libgnat/g-wispch.ads: Likewise.
4826         * libgnat/g-wistsp.ads: Likewise.
4827         * libgnat/g-zspche.adb: Likewise.
4828         * libgnat/g-zspche.ads: Likewise.
4829         * libgnat/g-zstspl.ads: Likewise.
4830         * libgnat/gnat.ads: Likewise.
4831         * libgnat/i-c.adb: Likewise.
4832         * libgnat/i-cexten.ads: Likewise.
4833         * libgnat/i-cexten__128.ads: Likewise.
4834         * libgnat/i-cobol.adb: Likewise.
4835         * libgnat/i-cobol.ads: Likewise.
4836         * libgnat/i-cpoint.adb: Likewise.
4837         * libgnat/i-cpoint.ads: Likewise.
4838         * libgnat/i-cstrea.adb: Likewise.
4839         * libgnat/i-cstrea.ads: Likewise.
4840         * libgnat/i-cstrin.adb: Likewise.
4841         * libgnat/i-cstrin.ads: Likewise.
4842         * libgnat/i-fortra.adb: Likewise.
4843         * libgnat/i-pacdec.adb: Likewise.
4844         * libgnat/i-pacdec.ads: Likewise.
4845         * libgnat/i-vxwoio.adb: Likewise.
4846         * libgnat/i-vxwoio.ads: Likewise.
4847         * libgnat/i-vxwork.ads: Likewise.
4848         * libgnat/i-vxwork__x86.ads: Likewise.
4849         * libgnat/interfac.ads: Likewise.
4850         * libgnat/interfac__2020.ads: Likewise.
4851         * libgnat/memtrack.adb: Likewise.
4852         * libgnat/s-addima.adb: Likewise.
4853         * libgnat/s-addima.ads: Likewise.
4854         * libgnat/s-addope.adb: Likewise.
4855         * libgnat/s-addope.ads: Likewise.
4856         * libgnat/s-aoinar.adb: Likewise.
4857         * libgnat/s-aoinar.ads: Likewise.
4858         * libgnat/s-aomoar.adb: Likewise.
4859         * libgnat/s-aomoar.ads: Likewise.
4860         * libgnat/s-aotase.adb: Likewise.
4861         * libgnat/s-aotase.ads: Likewise.
4862         * libgnat/s-aridou.adb: Likewise.
4863         * libgnat/s-aridou.ads: Likewise.
4864         * libgnat/s-arit128.adb: Likewise.
4865         * libgnat/s-arit128.ads: Likewise.
4866         * libgnat/s-arit32.adb: Likewise.
4867         * libgnat/s-arit32.ads: Likewise.
4868         * libgnat/s-arit64.adb: Likewise.
4869         * libgnat/s-arit64.ads: Likewise.
4870         * libgnat/s-assert.adb: Likewise.
4871         * libgnat/s-assert.ads: Likewise.
4872         * libgnat/s-atacco.adb: Likewise.
4873         * libgnat/s-atacco.ads: Likewise.
4874         * libgnat/s-atocou.adb: Likewise.
4875         * libgnat/s-atocou.ads: Likewise.
4876         * libgnat/s-atocou__builtin.adb: Likewise.
4877         * libgnat/s-atoope.ads: Likewise.
4878         * libgnat/s-atopex.adb: Likewise.
4879         * libgnat/s-atopex.ads: Likewise.
4880         * libgnat/s-atopri.adb: Likewise.
4881         * libgnat/s-atopri.ads: Likewise.
4882         * libgnat/s-auxdec.adb: Likewise.
4883         * libgnat/s-auxdec.ads: Likewise.
4884         * libgnat/s-bignum.adb: Likewise.
4885         * libgnat/s-bignum.ads: Likewise.
4886         * libgnat/s-bitfie.ads: Likewise.
4887         * libgnat/s-bitops.adb: Likewise.
4888         * libgnat/s-bitops.ads: Likewise.
4889         * libgnat/s-bituti.adb: Likewise.
4890         * libgnat/s-bituti.ads: Likewise.
4891         * libgnat/s-boarop.ads: Likewise.
4892         * libgnat/s-boustr.adb: Likewise.
4893         * libgnat/s-boustr.ads: Likewise.
4894         * libgnat/s-bytswa.ads: Likewise.
4895         * libgnat/s-carsi8.adb: Likewise.
4896         * libgnat/s-carsi8.ads: Likewise.
4897         * libgnat/s-carun8.adb: Likewise.
4898         * libgnat/s-carun8.ads: Likewise.
4899         * libgnat/s-casi128.adb: Likewise.
4900         * libgnat/s-casi128.ads: Likewise.
4901         * libgnat/s-casi16.adb: Likewise.
4902         * libgnat/s-casi16.ads: Likewise.
4903         * libgnat/s-casi32.adb: Likewise.
4904         * libgnat/s-casi32.ads: Likewise.
4905         * libgnat/s-casi64.adb: Likewise.
4906         * libgnat/s-casi64.ads: Likewise.
4907         * libgnat/s-casuti.adb: Likewise.
4908         * libgnat/s-casuti.ads: Likewise.
4909         * libgnat/s-caun128.adb: Likewise.
4910         * libgnat/s-caun128.ads: Likewise.
4911         * libgnat/s-caun16.adb: Likewise.
4912         * libgnat/s-caun16.ads: Likewise.
4913         * libgnat/s-caun32.adb: Likewise.
4914         * libgnat/s-caun32.ads: Likewise.
4915         * libgnat/s-caun64.adb: Likewise.
4916         * libgnat/s-caun64.ads: Likewise.
4917         * libgnat/s-chepoo.ads: Likewise.
4918         * libgnat/s-commun.adb: Likewise.
4919         * libgnat/s-commun.ads: Likewise.
4920         * libgnat/s-conca2.adb: Likewise.
4921         * libgnat/s-conca2.ads: Likewise.
4922         * libgnat/s-conca3.adb: Likewise.
4923         * libgnat/s-conca3.ads: Likewise.
4924         * libgnat/s-conca4.adb: Likewise.
4925         * libgnat/s-conca4.ads: Likewise.
4926         * libgnat/s-conca5.adb: Likewise.
4927         * libgnat/s-conca5.ads: Likewise.
4928         * libgnat/s-conca6.adb: Likewise.
4929         * libgnat/s-conca6.ads: Likewise.
4930         * libgnat/s-conca7.adb: Likewise.
4931         * libgnat/s-conca7.ads: Likewise.
4932         * libgnat/s-conca8.adb: Likewise.
4933         * libgnat/s-conca8.ads: Likewise.
4934         * libgnat/s-conca9.adb: Likewise.
4935         * libgnat/s-conca9.ads: Likewise.
4936         * libgnat/s-crc32.adb: Likewise.
4937         * libgnat/s-crc32.ads: Likewise.
4938         * libgnat/s-crtl.ads: Likewise.
4939         * libgnat/s-dfmkio.ads: Likewise.
4940         * libgnat/s-dfmopr.ads: Likewise.
4941         * libgnat/s-dgmgop.ads: Likewise.
4942         * libgnat/s-diflio.adb: Likewise.
4943         * libgnat/s-diflio.ads: Likewise.
4944         * libgnat/s-diflmk.ads: Likewise.
4945         * libgnat/s-digemk.ads: Likewise.
4946         * libgnat/s-diinio.adb: Likewise.
4947         * libgnat/s-diinio.ads: Likewise.
4948         * libgnat/s-dilomk.ads: Likewise.
4949         * libgnat/s-dim.ads: Likewise.
4950         * libgnat/s-dimkio.ads: Likewise.
4951         * libgnat/s-dimmks.ads: Likewise.
4952         * libgnat/s-direio.adb: Likewise.
4953         * libgnat/s-direio.ads: Likewise.
4954         * libgnat/s-dlmkio.ads: Likewise.
4955         * libgnat/s-dlmopr.ads: Likewise.
4956         * libgnat/s-dmotpr.ads: Likewise.
4957         * libgnat/s-dorepr.adb: Likewise.
4958         * libgnat/s-dorepr__fma.adb: Likewise.
4959         * libgnat/s-dourea.adb: Likewise.
4960         * libgnat/s-dourea.ads: Likewise.
4961         * libgnat/s-dsaser.ads: Likewise.
4962         * libgnat/s-dwalin.adb: Likewise.
4963         * libgnat/s-dwalin.ads: Likewise.
4964         * libgnat/s-elaall.adb: Likewise.
4965         * libgnat/s-elaall.ads: Likewise.
4966         * libgnat/s-excdeb.adb: Likewise.
4967         * libgnat/s-excdeb.ads: Likewise.
4968         * libgnat/s-except.adb: Likewise.
4969         * libgnat/s-except.ads: Likewise.
4970         * libgnat/s-excmac__arm.adb: Likewise.
4971         * libgnat/s-excmac__arm.ads: Likewise.
4972         * libgnat/s-excmac__gcc.adb: Likewise.
4973         * libgnat/s-excmac__gcc.ads: Likewise.
4974         * libgnat/s-exctab.adb: Likewise.
4975         * libgnat/s-exctab.ads: Likewise.
4976         * libgnat/s-exctra.adb: Likewise.
4977         * libgnat/s-exctra.ads: Likewise.
4978         * libgnat/s-exnflt.ads: Likewise.
4979         * libgnat/s-exnint.adb: Likewise.
4980         * libgnat/s-exnint.ads: Likewise.
4981         * libgnat/s-exnlfl.ads: Likewise.
4982         * libgnat/s-exnllf.adb: Likewise.
4983         * libgnat/s-exnllf.ads: Likewise.
4984         * libgnat/s-exnlli.adb: Likewise.
4985         * libgnat/s-exnlli.ads: Likewise.
4986         * libgnat/s-exnllli.ads: Likewise.
4987         * libgnat/s-expint.adb: Likewise.
4988         * libgnat/s-expint.ads: Likewise.
4989         * libgnat/s-explli.adb: Likewise.
4990         * libgnat/s-explli.ads: Likewise.
4991         * libgnat/s-expllli.ads: Likewise.
4992         * libgnat/s-explllu.ads: Likewise.
4993         * libgnat/s-expllu.adb: Likewise.
4994         * libgnat/s-expllu.ads: Likewise.
4995         * libgnat/s-expmod.adb: Likewise.
4996         * libgnat/s-expmod.ads: Likewise.
4997         * libgnat/s-exponn.adb: Likewise.
4998         * libgnat/s-exponn.ads: Likewise.
4999         * libgnat/s-exponr.adb: Likewise.
5000         * libgnat/s-exponr.ads: Likewise.
5001         * libgnat/s-expont.adb: Likewise.
5002         * libgnat/s-expont.ads: Likewise.
5003         * libgnat/s-exponu.adb: Likewise.
5004         * libgnat/s-exponu.ads: Likewise.
5005         * libgnat/s-expuns.adb: Likewise.
5006         * libgnat/s-expuns.ads: Likewise.
5007         * libgnat/s-fatflt.ads: Likewise.
5008         * libgnat/s-fatgen.adb: Likewise.
5009         * libgnat/s-fatgen.ads: Likewise.
5010         * libgnat/s-fatlfl.ads: Likewise.
5011         * libgnat/s-fatllf.ads: Likewise.
5012         * libgnat/s-ficobl.ads: Likewise.
5013         * libgnat/s-filatt.ads: Likewise.
5014         * libgnat/s-fileio.adb: Likewise.
5015         * libgnat/s-fileio.ads: Likewise.
5016         * libgnat/s-finmas.adb: Likewise.
5017         * libgnat/s-finmas.ads: Likewise.
5018         * libgnat/s-finroo.adb: Likewise.
5019         * libgnat/s-finroo.ads: Likewise.
5020         * libgnat/s-flocon.adb: Likewise.
5021         * libgnat/s-flocon.ads: Likewise.
5022         * libgnat/s-flocon__none.adb: Likewise.
5023         * libgnat/s-fode128.ads: Likewise.
5024         * libgnat/s-fode32.ads: Likewise.
5025         * libgnat/s-fode64.ads: Likewise.
5026         * libgnat/s-fofi128.ads: Likewise.
5027         * libgnat/s-fofi32.ads: Likewise.
5028         * libgnat/s-fofi64.ads: Likewise.
5029         * libgnat/s-fore_d.adb: Likewise.
5030         * libgnat/s-fore_d.ads: Likewise.
5031         * libgnat/s-fore_f.adb: Likewise.
5032         * libgnat/s-fore_f.ads: Likewise.
5033         * libgnat/s-forrea.adb: Likewise.
5034         * libgnat/s-forrea.ads: Likewise.
5035         * libgnat/s-gearop.adb: Likewise.
5036         * libgnat/s-gearop.ads: Likewise.
5037         * libgnat/s-genbig.adb: Likewise.
5038         * libgnat/s-genbig.ads: Likewise.
5039         * libgnat/s-geveop.adb: Likewise.
5040         * libgnat/s-geveop.ads: Likewise.
5041         * libgnat/s-gloloc.adb: Likewise.
5042         * libgnat/s-gloloc.ads: Likewise.
5043         * libgnat/s-gloloc__mingw.adb: Likewise.
5044         * libgnat/s-htable.adb: Likewise.
5045         * libgnat/s-htable.ads: Likewise.
5046         * libgnat/s-imageb.adb: Likewise.
5047         * libgnat/s-imageb.ads: Likewise.
5048         * libgnat/s-imaged.adb: Likewise.
5049         * libgnat/s-imaged.ads: Likewise.
5050         * libgnat/s-imagef.adb: Likewise.
5051         * libgnat/s-imagef.ads: Likewise.
5052         * libgnat/s-imagei.adb: Likewise.
5053         * libgnat/s-imagei.ads: Likewise.
5054         * libgnat/s-imagen.adb: Likewise.
5055         * libgnat/s-imagen.ads: Likewise.
5056         * libgnat/s-imager.adb: Likewise.
5057         * libgnat/s-imager.ads: Likewise.
5058         * libgnat/s-imageu.adb: Likewise.
5059         * libgnat/s-imageu.ads: Likewise.
5060         * libgnat/s-imagew.adb: Likewise.
5061         * libgnat/s-imagew.ads: Likewise.
5062         * libgnat/s-imde128.ads: Likewise.
5063         * libgnat/s-imde32.ads: Likewise.
5064         * libgnat/s-imde64.ads: Likewise.
5065         * libgnat/s-imen16.ads: Likewise.
5066         * libgnat/s-imen32.ads: Likewise.
5067         * libgnat/s-imenu8.ads: Likewise.
5068         * libgnat/s-imfi128.ads: Likewise.
5069         * libgnat/s-imfi32.ads: Likewise.
5070         * libgnat/s-imfi64.ads: Likewise.
5071         * libgnat/s-imgbiu.adb: Likewise.
5072         * libgnat/s-imgbiu.ads: Likewise.
5073         * libgnat/s-imgboo.adb: Likewise.
5074         * libgnat/s-imgboo.ads: Likewise.
5075         * libgnat/s-imgcha.adb: Likewise.
5076         * libgnat/s-imgcha.ads: Likewise.
5077         * libgnat/s-imgflt.ads: Likewise.
5078         * libgnat/s-imgint.adb: Likewise.
5079         * libgnat/s-imgint.ads: Likewise.
5080         * libgnat/s-imglfl.ads: Likewise.
5081         * libgnat/s-imgllb.adb: Likewise.
5082         * libgnat/s-imgllb.ads: Likewise.
5083         * libgnat/s-imgllf.ads: Likewise.
5084         * libgnat/s-imglli.adb: Likewise.
5085         * libgnat/s-imglli.ads: Likewise.
5086         * libgnat/s-imglllb.ads: Likewise.
5087         * libgnat/s-imgllli.ads: Likewise.
5088         * libgnat/s-imglllu.ads: Likewise.
5089         * libgnat/s-imglllw.ads: Likewise.
5090         * libgnat/s-imgllu.adb: Likewise.
5091         * libgnat/s-imgllu.ads: Likewise.
5092         * libgnat/s-imgllw.adb: Likewise.
5093         * libgnat/s-imgllw.ads: Likewise.
5094         * libgnat/s-imgrea.adb: Likewise.
5095         * libgnat/s-imgrea.ads: Likewise.
5096         * libgnat/s-imguns.adb: Likewise.
5097         * libgnat/s-imguns.ads: Likewise.
5098         * libgnat/s-imguti.adb: Likewise.
5099         * libgnat/s-imguti.ads: Likewise.
5100         * libgnat/s-imgwch.adb: Likewise.
5101         * libgnat/s-imgwch.ads: Likewise.
5102         * libgnat/s-imgwiu.adb: Likewise.
5103         * libgnat/s-imgwiu.ads: Likewise.
5104         * libgnat/s-io.adb: Likewise.
5105         * libgnat/s-io.ads: Likewise.
5106         * libgnat/s-llflex.ads: Likewise.
5107         * libgnat/s-maccod.ads: Likewise.
5108         * libgnat/s-mantis.adb: Likewise.
5109         * libgnat/s-mantis.ads: Likewise.
5110         * libgnat/s-mastop.adb: Likewise.
5111         * libgnat/s-mastop.ads: Likewise.
5112         * libgnat/s-memcop.ads: Likewise.
5113         * libgnat/s-memory.adb: Likewise.
5114         * libgnat/s-memory.ads: Likewise.
5115         * libgnat/s-mmap.adb: Likewise.
5116         * libgnat/s-mmap.ads: Likewise.
5117         * libgnat/s-mmauni__long.ads: Likewise.
5118         * libgnat/s-mmosin__mingw.adb: Likewise.
5119         * libgnat/s-mmosin__mingw.ads: Likewise.
5120         * libgnat/s-mmosin__unix.adb: Likewise.
5121         * libgnat/s-mmosin__unix.ads: Likewise.
5122         * libgnat/s-multip.adb: Likewise.
5123         * libgnat/s-objrea.adb: Likewise.
5124         * libgnat/s-objrea.ads: Likewise.
5125         * libgnat/s-optide.adb: Likewise.
5126         * libgnat/s-os_lib.adb: Likewise.
5127         * libgnat/s-os_lib.ads: Likewise.
5128         * libgnat/s-osprim.ads: Likewise.
5129         * libgnat/s-osprim__darwin.adb: Likewise.
5130         * libgnat/s-osprim__lynxos.ads: Likewise.
5131         * libgnat/s-osprim__mingw.adb: Likewise.
5132         * libgnat/s-osprim__posix.adb: Likewise.
5133         * libgnat/s-osprim__posix2008.adb: Likewise.
5134         * libgnat/s-osprim__rtems.adb: Likewise.
5135         * libgnat/s-osprim__solaris.adb: Likewise.
5136         * libgnat/s-osprim__unix.adb: Likewise.
5137         * libgnat/s-osprim__x32.adb: Likewise.
5138         * libgnat/s-pack03.adb: Likewise.
5139         * libgnat/s-pack03.ads: Likewise.
5140         * libgnat/s-pack05.adb: Likewise.
5141         * libgnat/s-pack05.ads: Likewise.
5142         * libgnat/s-pack06.adb: Likewise.
5143         * libgnat/s-pack06.ads: Likewise.
5144         * libgnat/s-pack07.adb: Likewise.
5145         * libgnat/s-pack07.ads: Likewise.
5146         * libgnat/s-pack09.adb: Likewise.
5147         * libgnat/s-pack09.ads: Likewise.
5148         * libgnat/s-pack10.adb: Likewise.
5149         * libgnat/s-pack10.ads: Likewise.
5150         * libgnat/s-pack100.adb: Likewise.
5151         * libgnat/s-pack100.ads: Likewise.
5152         * libgnat/s-pack101.adb: Likewise.
5153         * libgnat/s-pack101.ads: Likewise.
5154         * libgnat/s-pack102.adb: Likewise.
5155         * libgnat/s-pack102.ads: Likewise.
5156         * libgnat/s-pack103.adb: Likewise.
5157         * libgnat/s-pack103.ads: Likewise.
5158         * libgnat/s-pack104.adb: Likewise.
5159         * libgnat/s-pack104.ads: Likewise.
5160         * libgnat/s-pack105.adb: Likewise.
5161         * libgnat/s-pack105.ads: Likewise.
5162         * libgnat/s-pack106.adb: Likewise.
5163         * libgnat/s-pack106.ads: Likewise.
5164         * libgnat/s-pack107.adb: Likewise.
5165         * libgnat/s-pack107.ads: Likewise.
5166         * libgnat/s-pack108.adb: Likewise.
5167         * libgnat/s-pack108.ads: Likewise.
5168         * libgnat/s-pack109.adb: Likewise.
5169         * libgnat/s-pack109.ads: Likewise.
5170         * libgnat/s-pack11.adb: Likewise.
5171         * libgnat/s-pack11.ads: Likewise.
5172         * libgnat/s-pack110.adb: Likewise.
5173         * libgnat/s-pack110.ads: Likewise.
5174         * libgnat/s-pack111.adb: Likewise.
5175         * libgnat/s-pack111.ads: Likewise.
5176         * libgnat/s-pack112.adb: Likewise.
5177         * libgnat/s-pack112.ads: Likewise.
5178         * libgnat/s-pack113.adb: Likewise.
5179         * libgnat/s-pack113.ads: Likewise.
5180         * libgnat/s-pack114.adb: Likewise.
5181         * libgnat/s-pack114.ads: Likewise.
5182         * libgnat/s-pack115.adb: Likewise.
5183         * libgnat/s-pack115.ads: Likewise.
5184         * libgnat/s-pack116.adb: Likewise.
5185         * libgnat/s-pack116.ads: Likewise.
5186         * libgnat/s-pack117.adb: Likewise.
5187         * libgnat/s-pack117.ads: Likewise.
5188         * libgnat/s-pack118.adb: Likewise.
5189         * libgnat/s-pack118.ads: Likewise.
5190         * libgnat/s-pack119.adb: Likewise.
5191         * libgnat/s-pack119.ads: Likewise.
5192         * libgnat/s-pack12.adb: Likewise.
5193         * libgnat/s-pack12.ads: Likewise.
5194         * libgnat/s-pack120.adb: Likewise.
5195         * libgnat/s-pack120.ads: Likewise.
5196         * libgnat/s-pack121.adb: Likewise.
5197         * libgnat/s-pack121.ads: Likewise.
5198         * libgnat/s-pack122.adb: Likewise.
5199         * libgnat/s-pack122.ads: Likewise.
5200         * libgnat/s-pack123.adb: Likewise.
5201         * libgnat/s-pack123.ads: Likewise.
5202         * libgnat/s-pack124.adb: Likewise.
5203         * libgnat/s-pack124.ads: Likewise.
5204         * libgnat/s-pack125.adb: Likewise.
5205         * libgnat/s-pack125.ads: Likewise.
5206         * libgnat/s-pack126.adb: Likewise.
5207         * libgnat/s-pack126.ads: Likewise.
5208         * libgnat/s-pack127.adb: Likewise.
5209         * libgnat/s-pack127.ads: Likewise.
5210         * libgnat/s-pack13.adb: Likewise.
5211         * libgnat/s-pack13.ads: Likewise.
5212         * libgnat/s-pack14.adb: Likewise.
5213         * libgnat/s-pack14.ads: Likewise.
5214         * libgnat/s-pack15.adb: Likewise.
5215         * libgnat/s-pack15.ads: Likewise.
5216         * libgnat/s-pack17.adb: Likewise.
5217         * libgnat/s-pack17.ads: Likewise.
5218         * libgnat/s-pack18.adb: Likewise.
5219         * libgnat/s-pack18.ads: Likewise.
5220         * libgnat/s-pack19.adb: Likewise.
5221         * libgnat/s-pack19.ads: Likewise.
5222         * libgnat/s-pack20.adb: Likewise.
5223         * libgnat/s-pack20.ads: Likewise.
5224         * libgnat/s-pack21.adb: Likewise.
5225         * libgnat/s-pack21.ads: Likewise.
5226         * libgnat/s-pack22.adb: Likewise.
5227         * libgnat/s-pack22.ads: Likewise.
5228         * libgnat/s-pack23.adb: Likewise.
5229         * libgnat/s-pack23.ads: Likewise.
5230         * libgnat/s-pack24.adb: Likewise.
5231         * libgnat/s-pack24.ads: Likewise.
5232         * libgnat/s-pack25.adb: Likewise.
5233         * libgnat/s-pack25.ads: Likewise.
5234         * libgnat/s-pack26.adb: Likewise.
5235         * libgnat/s-pack26.ads: Likewise.
5236         * libgnat/s-pack27.adb: Likewise.
5237         * libgnat/s-pack27.ads: Likewise.
5238         * libgnat/s-pack28.adb: Likewise.
5239         * libgnat/s-pack28.ads: Likewise.
5240         * libgnat/s-pack29.adb: Likewise.
5241         * libgnat/s-pack29.ads: Likewise.
5242         * libgnat/s-pack30.adb: Likewise.
5243         * libgnat/s-pack30.ads: Likewise.
5244         * libgnat/s-pack31.adb: Likewise.
5245         * libgnat/s-pack31.ads: Likewise.
5246         * libgnat/s-pack33.adb: Likewise.
5247         * libgnat/s-pack33.ads: Likewise.
5248         * libgnat/s-pack34.adb: Likewise.
5249         * libgnat/s-pack34.ads: Likewise.
5250         * libgnat/s-pack35.adb: Likewise.
5251         * libgnat/s-pack35.ads: Likewise.
5252         * libgnat/s-pack36.adb: Likewise.
5253         * libgnat/s-pack36.ads: Likewise.
5254         * libgnat/s-pack37.adb: Likewise.
5255         * libgnat/s-pack37.ads: Likewise.
5256         * libgnat/s-pack38.adb: Likewise.
5257         * libgnat/s-pack38.ads: Likewise.
5258         * libgnat/s-pack39.adb: Likewise.
5259         * libgnat/s-pack39.ads: Likewise.
5260         * libgnat/s-pack40.adb: Likewise.
5261         * libgnat/s-pack40.ads: Likewise.
5262         * libgnat/s-pack41.adb: Likewise.
5263         * libgnat/s-pack41.ads: Likewise.
5264         * libgnat/s-pack42.adb: Likewise.
5265         * libgnat/s-pack42.ads: Likewise.
5266         * libgnat/s-pack43.adb: Likewise.
5267         * libgnat/s-pack43.ads: Likewise.
5268         * libgnat/s-pack44.adb: Likewise.
5269         * libgnat/s-pack44.ads: Likewise.
5270         * libgnat/s-pack45.adb: Likewise.
5271         * libgnat/s-pack45.ads: Likewise.
5272         * libgnat/s-pack46.adb: Likewise.
5273         * libgnat/s-pack46.ads: Likewise.
5274         * libgnat/s-pack47.adb: Likewise.
5275         * libgnat/s-pack47.ads: Likewise.
5276         * libgnat/s-pack48.adb: Likewise.
5277         * libgnat/s-pack48.ads: Likewise.
5278         * libgnat/s-pack49.adb: Likewise.
5279         * libgnat/s-pack49.ads: Likewise.
5280         * libgnat/s-pack50.adb: Likewise.
5281         * libgnat/s-pack50.ads: Likewise.
5282         * libgnat/s-pack51.adb: Likewise.
5283         * libgnat/s-pack51.ads: Likewise.
5284         * libgnat/s-pack52.adb: Likewise.
5285         * libgnat/s-pack52.ads: Likewise.
5286         * libgnat/s-pack53.adb: Likewise.
5287         * libgnat/s-pack53.ads: Likewise.
5288         * libgnat/s-pack54.adb: Likewise.
5289         * libgnat/s-pack54.ads: Likewise.
5290         * libgnat/s-pack55.adb: Likewise.
5291         * libgnat/s-pack55.ads: Likewise.
5292         * libgnat/s-pack56.adb: Likewise.
5293         * libgnat/s-pack56.ads: Likewise.
5294         * libgnat/s-pack57.adb: Likewise.
5295         * libgnat/s-pack57.ads: Likewise.
5296         * libgnat/s-pack58.adb: Likewise.
5297         * libgnat/s-pack58.ads: Likewise.
5298         * libgnat/s-pack59.adb: Likewise.
5299         * libgnat/s-pack59.ads: Likewise.
5300         * libgnat/s-pack60.adb: Likewise.
5301         * libgnat/s-pack60.ads: Likewise.
5302         * libgnat/s-pack61.adb: Likewise.
5303         * libgnat/s-pack61.ads: Likewise.
5304         * libgnat/s-pack62.adb: Likewise.
5305         * libgnat/s-pack62.ads: Likewise.
5306         * libgnat/s-pack63.adb: Likewise.
5307         * libgnat/s-pack63.ads: Likewise.
5308         * libgnat/s-pack65.adb: Likewise.
5309         * libgnat/s-pack65.ads: Likewise.
5310         * libgnat/s-pack66.adb: Likewise.
5311         * libgnat/s-pack66.ads: Likewise.
5312         * libgnat/s-pack67.adb: Likewise.
5313         * libgnat/s-pack67.ads: Likewise.
5314         * libgnat/s-pack68.adb: Likewise.
5315         * libgnat/s-pack68.ads: Likewise.
5316         * libgnat/s-pack69.adb: Likewise.
5317         * libgnat/s-pack69.ads: Likewise.
5318         * libgnat/s-pack70.adb: Likewise.
5319         * libgnat/s-pack70.ads: Likewise.
5320         * libgnat/s-pack71.adb: Likewise.
5321         * libgnat/s-pack71.ads: Likewise.
5322         * libgnat/s-pack72.adb: Likewise.
5323         * libgnat/s-pack72.ads: Likewise.
5324         * libgnat/s-pack73.adb: Likewise.
5325         * libgnat/s-pack73.ads: Likewise.
5326         * libgnat/s-pack74.adb: Likewise.
5327         * libgnat/s-pack74.ads: Likewise.
5328         * libgnat/s-pack75.adb: Likewise.
5329         * libgnat/s-pack75.ads: Likewise.
5330         * libgnat/s-pack76.adb: Likewise.
5331         * libgnat/s-pack76.ads: Likewise.
5332         * libgnat/s-pack77.adb: Likewise.
5333         * libgnat/s-pack77.ads: Likewise.
5334         * libgnat/s-pack78.adb: Likewise.
5335         * libgnat/s-pack78.ads: Likewise.
5336         * libgnat/s-pack79.adb: Likewise.
5337         * libgnat/s-pack79.ads: Likewise.
5338         * libgnat/s-pack80.adb: Likewise.
5339         * libgnat/s-pack80.ads: Likewise.
5340         * libgnat/s-pack81.adb: Likewise.
5341         * libgnat/s-pack81.ads: Likewise.
5342         * libgnat/s-pack82.adb: Likewise.
5343         * libgnat/s-pack82.ads: Likewise.
5344         * libgnat/s-pack83.adb: Likewise.
5345         * libgnat/s-pack83.ads: Likewise.
5346         * libgnat/s-pack84.adb: Likewise.
5347         * libgnat/s-pack84.ads: Likewise.
5348         * libgnat/s-pack85.adb: Likewise.
5349         * libgnat/s-pack85.ads: Likewise.
5350         * libgnat/s-pack86.adb: Likewise.
5351         * libgnat/s-pack86.ads: Likewise.
5352         * libgnat/s-pack87.adb: Likewise.
5353         * libgnat/s-pack87.ads: Likewise.
5354         * libgnat/s-pack88.adb: Likewise.
5355         * libgnat/s-pack88.ads: Likewise.
5356         * libgnat/s-pack89.adb: Likewise.
5357         * libgnat/s-pack89.ads: Likewise.
5358         * libgnat/s-pack90.adb: Likewise.
5359         * libgnat/s-pack90.ads: Likewise.
5360         * libgnat/s-pack91.adb: Likewise.
5361         * libgnat/s-pack91.ads: Likewise.
5362         * libgnat/s-pack92.adb: Likewise.
5363         * libgnat/s-pack92.ads: Likewise.
5364         * libgnat/s-pack93.adb: Likewise.
5365         * libgnat/s-pack93.ads: Likewise.
5366         * libgnat/s-pack94.adb: Likewise.
5367         * libgnat/s-pack94.ads: Likewise.
5368         * libgnat/s-pack95.adb: Likewise.
5369         * libgnat/s-pack95.ads: Likewise.
5370         * libgnat/s-pack96.adb: Likewise.
5371         * libgnat/s-pack96.ads: Likewise.
5372         * libgnat/s-pack97.adb: Likewise.
5373         * libgnat/s-pack97.ads: Likewise.
5374         * libgnat/s-pack98.adb: Likewise.
5375         * libgnat/s-pack98.ads: Likewise.
5376         * libgnat/s-pack99.adb: Likewise.
5377         * libgnat/s-pack99.ads: Likewise.
5378         * libgnat/s-parame.adb: Likewise.
5379         * libgnat/s-parame.ads: Likewise.
5380         * libgnat/s-parame__hpux.ads: Likewise.
5381         * libgnat/s-parame__posix2008.ads: Likewise.
5382         * libgnat/s-parame__rtems.adb: Likewise.
5383         * libgnat/s-parame__vxworks.adb: Likewise.
5384         * libgnat/s-parame__vxworks.ads: Likewise.
5385         * libgnat/s-parint.adb: Likewise.
5386         * libgnat/s-parint.ads: Likewise.
5387         * libgnat/s-pehage.adb: Likewise.
5388         * libgnat/s-pehage.ads: Likewise.
5389         * libgnat/s-pooglo.adb: Likewise.
5390         * libgnat/s-pooglo.ads: Likewise.
5391         * libgnat/s-pooloc.adb: Likewise.
5392         * libgnat/s-pooloc.ads: Likewise.
5393         * libgnat/s-poosiz.adb: Likewise.
5394         * libgnat/s-poosiz.ads: Likewise.
5395         * libgnat/s-powflt.ads: Likewise.
5396         * libgnat/s-powlfl.ads: Likewise.
5397         * libgnat/s-powllf.ads: Likewise.
5398         * libgnat/s-purexc.ads: Likewise.
5399         * libgnat/s-putima.adb: Likewise.
5400         * libgnat/s-putima.ads: Likewise.
5401         * libgnat/s-rannum.adb: Likewise.
5402         * libgnat/s-rannum.ads: Likewise.
5403         * libgnat/s-ransee.adb: Likewise.
5404         * libgnat/s-ransee.ads: Likewise.
5405         * libgnat/s-regexp.adb: Likewise.
5406         * libgnat/s-regexp.ads: Likewise.
5407         * libgnat/s-regpat.adb: Likewise.
5408         * libgnat/s-regpat.ads: Likewise.
5409         * libgnat/s-resfil.adb: Likewise.
5410         * libgnat/s-resfil.ads: Likewise.
5411         * libgnat/s-restri.adb: Likewise.
5412         * libgnat/s-restri.ads: Likewise.
5413         * libgnat/s-rident.ads: Likewise.
5414         * libgnat/s-rpc.adb: Likewise.
5415         * libgnat/s-rpc.ads: Likewise.
5416         * libgnat/s-scaval.adb: Likewise.
5417         * libgnat/s-scaval.ads: Likewise.
5418         * libgnat/s-scaval__128.adb: Likewise.
5419         * libgnat/s-scaval__128.ads: Likewise.
5420         * libgnat/s-secsta.adb: Likewise.
5421         * libgnat/s-secsta.ads: Likewise.
5422         * libgnat/s-sequio.adb: Likewise.
5423         * libgnat/s-sequio.ads: Likewise.
5424         * libgnat/s-shabig.ads: Likewise.
5425         * libgnat/s-shasto.adb: Likewise.
5426         * libgnat/s-shasto.ads: Likewise.
5427         * libgnat/s-soflin.adb: Likewise.
5428         * libgnat/s-soflin.ads: Likewise.
5429         * libgnat/s-soliin.adb: Likewise.
5430         * libgnat/s-soliin.ads: Likewise.
5431         * libgnat/s-spsufi.adb: Likewise.
5432         * libgnat/s-spsufi.ads: Likewise.
5433         * libgnat/s-stache.adb: Likewise.
5434         * libgnat/s-stache.ads: Likewise.
5435         * libgnat/s-stalib.adb: Likewise.
5436         * libgnat/s-stalib.ads: Likewise.
5437         * libgnat/s-statxd.adb: Likewise.
5438         * libgnat/s-statxd.ads: Likewise.
5439         * libgnat/s-stausa.adb: Likewise.
5440         * libgnat/s-stausa.ads: Likewise.
5441         * libgnat/s-stchop.adb: Likewise.
5442         * libgnat/s-stchop.ads: Likewise.
5443         * libgnat/s-stchop__limit.ads: Likewise.
5444         * libgnat/s-stchop__vxworks.adb: Likewise.
5445         * libgnat/s-stoele.adb: Likewise.
5446         * libgnat/s-stoele.ads: Likewise.
5447         * libgnat/s-stopoo.adb: Likewise.
5448         * libgnat/s-stopoo.ads: Likewise.
5449         * libgnat/s-stposu.adb: Likewise.
5450         * libgnat/s-stposu.ads: Likewise.
5451         * libgnat/s-stratt.adb: Likewise.
5452         * libgnat/s-stratt.ads: Likewise.
5453         * libgnat/s-strcom.adb: Likewise.
5454         * libgnat/s-strcom.ads: Likewise.
5455         * libgnat/s-strhas.adb: Likewise.
5456         * libgnat/s-strhas.ads: Likewise.
5457         * libgnat/s-string.adb: Likewise.
5458         * libgnat/s-string.ads: Likewise.
5459         * libgnat/s-ststop.adb: Likewise.
5460         * libgnat/s-ststop.ads: Likewise.
5461         * libgnat/s-tasloc.adb: Likewise.
5462         * libgnat/s-tasloc.ads: Likewise.
5463         * libgnat/s-traceb.adb: Likewise.
5464         * libgnat/s-traceb.ads: Likewise.
5465         * libgnat/s-traceb__hpux.adb: Likewise.
5466         * libgnat/s-traceb__mastop.adb: Likewise.
5467         * libgnat/s-traent.adb: Likewise.
5468         * libgnat/s-traent.ads: Likewise.
5469         * libgnat/s-trasym.adb: Likewise.
5470         * libgnat/s-trasym.ads: Likewise.
5471         * libgnat/s-trasym__dwarf.adb: Likewise.
5472         * libgnat/s-tsmona.adb: Likewise.
5473         * libgnat/s-tsmona__linux.adb: Likewise.
5474         * libgnat/s-tsmona__mingw.adb: Likewise.
5475         * libgnat/s-unstyp.ads: Likewise.
5476         * libgnat/s-utf_32.adb: Likewise.
5477         * libgnat/s-utf_32.ads: Likewise.
5478         * libgnat/s-vade128.ads: Likewise.
5479         * libgnat/s-vade32.ads: Likewise.
5480         * libgnat/s-vade64.ads: Likewise.
5481         * libgnat/s-vaen16.ads: Likewise.
5482         * libgnat/s-vaen32.ads: Likewise.
5483         * libgnat/s-vaenu8.ads: Likewise.
5484         * libgnat/s-vafi128.ads: Likewise.
5485         * libgnat/s-vafi32.ads: Likewise.
5486         * libgnat/s-vafi64.ads: Likewise.
5487         * libgnat/s-valboo.adb: Likewise.
5488         * libgnat/s-valboo.ads: Likewise.
5489         * libgnat/s-valcha.adb: Likewise.
5490         * libgnat/s-valcha.ads: Likewise.
5491         * libgnat/s-valflt.ads: Likewise.
5492         * libgnat/s-valint.adb: Likewise.
5493         * libgnat/s-valint.ads: Likewise.
5494         * libgnat/s-vallfl.ads: Likewise.
5495         * libgnat/s-valllf.ads: Likewise.
5496         * libgnat/s-vallli.adb: Likewise.
5497         * libgnat/s-vallli.ads: Likewise.
5498         * libgnat/s-valllli.ads: Likewise.
5499         * libgnat/s-vallllu.ads: Likewise.
5500         * libgnat/s-valllu.adb: Likewise.
5501         * libgnat/s-valllu.ads: Likewise.
5502         * libgnat/s-valrea.adb: Likewise.
5503         * libgnat/s-valrea.ads: Likewise.
5504         * libgnat/s-valued.adb: Likewise.
5505         * libgnat/s-valued.ads: Likewise.
5506         * libgnat/s-valuef.adb: Likewise.
5507         * libgnat/s-valuef.ads: Likewise.
5508         * libgnat/s-valuei.adb: Likewise.
5509         * libgnat/s-valuei.ads: Likewise.
5510         * libgnat/s-valuen.adb: Likewise.
5511         * libgnat/s-valuen.ads: Likewise.
5512         * libgnat/s-valuer.adb: Likewise.
5513         * libgnat/s-valuer.ads: Likewise.
5514         * libgnat/s-valueu.adb: Likewise.
5515         * libgnat/s-valueu.ads: Likewise.
5516         * libgnat/s-valuns.adb: Likewise.
5517         * libgnat/s-valuns.ads: Likewise.
5518         * libgnat/s-valuti.adb: Likewise.
5519         * libgnat/s-valuti.ads: Likewise.
5520         * libgnat/s-valwch.adb: Likewise.
5521         * libgnat/s-valwch.ads: Likewise.
5522         * libgnat/s-veboop.adb: Likewise.
5523         * libgnat/s-veboop.ads: Likewise.
5524         * libgnat/s-vector.ads: Likewise.
5525         * libgnat/s-vercon.adb: Likewise.
5526         * libgnat/s-vercon.ads: Likewise.
5527         * libgnat/s-wchcnv.adb: Likewise.
5528         * libgnat/s-wchcnv.ads: Likewise.
5529         * libgnat/s-wchcon.adb: Likewise.
5530         * libgnat/s-wchcon.ads: Likewise.
5531         * libgnat/s-wchjis.adb: Likewise.
5532         * libgnat/s-wchjis.ads: Likewise.
5533         * libgnat/s-wchstw.adb: Likewise.
5534         * libgnat/s-wchstw.ads: Likewise.
5535         * libgnat/s-wchwts.adb: Likewise.
5536         * libgnat/s-wchwts.ads: Likewise.
5537         * libgnat/s-widboo.adb: Likewise.
5538         * libgnat/s-widboo.ads: Likewise.
5539         * libgnat/s-widcha.adb: Likewise.
5540         * libgnat/s-widcha.ads: Likewise.
5541         * libgnat/s-widenu.adb: Likewise.
5542         * libgnat/s-widenu.ads: Likewise.
5543         * libgnat/s-widint.ads: Likewise.
5544         * libgnat/s-widlli.adb: Likewise.
5545         * libgnat/s-widlli.ads: Likewise.
5546         * libgnat/s-widllli.ads: Likewise.
5547         * libgnat/s-widlllu.ads: Likewise.
5548         * libgnat/s-widllu.adb: Likewise.
5549         * libgnat/s-widllu.ads: Likewise.
5550         * libgnat/s-widthi.adb: Likewise.
5551         * libgnat/s-widthi.ads: Likewise.
5552         * libgnat/s-widthu.adb: Likewise.
5553         * libgnat/s-widthu.ads: Likewise.
5554         * libgnat/s-widuns.ads: Likewise.
5555         * libgnat/s-widwch.adb: Likewise.
5556         * libgnat/s-widwch.ads: Likewise.
5557         * libgnat/s-win32.ads: Likewise.
5558         * libgnat/s-winext.ads: Likewise.
5559         * libgnat/s-wwdcha.adb: Likewise.
5560         * libgnat/s-wwdcha.ads: Likewise.
5561         * libgnat/s-wwdenu.adb: Likewise.
5562         * libgnat/s-wwdenu.ads: Likewise.
5563         * libgnat/s-wwdwch.adb: Likewise.
5564         * libgnat/s-wwdwch.ads: Likewise.
5565         * libgnat/system-aix.ads: Likewise.
5566         * libgnat/system-darwin-arm.ads: Likewise.
5567         * libgnat/system-darwin-ppc.ads: Likewise.
5568         * libgnat/system-darwin-x86.ads: Likewise.
5569         * libgnat/system-djgpp.ads: Likewise.
5570         * libgnat/system-dragonfly-x86_64.ads: Likewise.
5571         * libgnat/system-freebsd.ads: Likewise.
5572         * libgnat/system-hpux-ia64.ads: Likewise.
5573         * libgnat/system-hpux.ads: Likewise.
5574         * libgnat/system-linux-alpha.ads: Likewise.
5575         * libgnat/system-linux-arm.ads: Likewise.
5576         * libgnat/system-linux-hppa.ads: Likewise.
5577         * libgnat/system-linux-ia64.ads: Likewise.
5578         * libgnat/system-linux-m68k.ads: Likewise.
5579         * libgnat/system-linux-mips.ads: Likewise.
5580         * libgnat/system-linux-ppc.ads: Likewise.
5581         * libgnat/system-linux-riscv.ads: Likewise.
5582         * libgnat/system-linux-s390.ads: Likewise.
5583         * libgnat/system-linux-sh4.ads: Likewise.
5584         * libgnat/system-linux-sparc.ads: Likewise.
5585         * libgnat/system-linux-x86.ads: Likewise.
5586         * libgnat/system-lynxos178-ppc.ads: Likewise.
5587         * libgnat/system-lynxos178-x86.ads: Likewise.
5588         * libgnat/system-mingw.ads: Likewise.
5589         * libgnat/system-qnx-aarch64.ads: Likewise.
5590         * libgnat/system-rtems.ads: Likewise.
5591         * libgnat/system-solaris-sparc.ads: Likewise.
5592         * libgnat/system-solaris-x86.ads: Likewise.
5593         * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
5594         * libgnat/system-vxworks-arm-rtp.ads: Likewise.
5595         * libgnat/system-vxworks-arm.ads: Likewise.
5596         * libgnat/system-vxworks-e500-kernel.ads: Likewise.
5597         * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
5598         * libgnat/system-vxworks-e500-rtp.ads: Likewise.
5599         * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
5600         * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
5601         * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
5602         * libgnat/system-vxworks-x86-kernel.ads: Likewise.
5603         * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
5604         * libgnat/system-vxworks-x86-rtp.ads: Likewise.
5605         * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
5606         * libgnat/system-vxworks7-aarch64.ads: Likewise.
5607         * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
5608         * libgnat/system-vxworks7-arm.ads: Likewise.
5609         * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
5610         * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
5611         * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
5612         * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
5613         * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
5614         * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
5615         * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
5616         * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
5617         * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
5618         * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
5619         * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
5620         * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
5621         * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
5622         * link.c: Likewise.
5623         * live.adb: Likewise.
5624         * live.ads: Likewise.
5625         * locales.c: Likewise.
5626         * make.adb: Likewise.
5627         * make.ads: Likewise.
5628         * make_util.adb: Likewise.
5629         * make_util.ads: Likewise.
5630         * makeusg.adb: Likewise.
5631         * makeusg.ads: Likewise.
5632         * mdll-fil.adb: Likewise.
5633         * mdll-fil.ads: Likewise.
5634         * mdll-utl.adb: Likewise.
5635         * mdll-utl.ads: Likewise.
5636         * mdll.adb: Likewise.
5637         * mdll.ads: Likewise.
5638         * mingw32.h: Likewise.
5639         * mkdir.c: Likewise.
5640         * namet-sp.adb: Likewise.
5641         * namet-sp.ads: Likewise.
5642         * namet.adb: Likewise.
5643         * namet.ads: Likewise.
5644         * namet.h: Likewise.
5645         * nlists.adb: Likewise.
5646         * nlists.ads: Likewise.
5647         * nlists.h: Likewise.
5648         * opt.adb: Likewise.
5649         * opt.ads: Likewise.
5650         * osint-b.adb: Likewise.
5651         * osint-b.ads: Likewise.
5652         * osint-c.adb: Likewise.
5653         * osint-c.ads: Likewise.
5654         * osint-l.adb: Likewise.
5655         * osint-l.ads: Likewise.
5656         * osint-m.adb: Likewise.
5657         * osint-m.ads: Likewise.
5658         * osint.adb: Likewise.
5659         * osint.ads: Likewise.
5660         * output.adb: Likewise.
5661         * output.ads: Likewise.
5662         * par-ch10.adb: Likewise.
5663         * par-ch11.adb: Likewise.
5664         * par-ch12.adb: Likewise.
5665         * par-ch13.adb: Likewise.
5666         * par-ch2.adb: Likewise.
5667         * par-ch3.adb: Likewise.
5668         * par-ch4.adb: Likewise.
5669         * par-ch5.adb: Likewise.
5670         * par-ch6.adb: Likewise.
5671         * par-ch7.adb: Likewise.
5672         * par-ch8.adb: Likewise.
5673         * par-ch9.adb: Likewise.
5674         * par-endh.adb: Likewise.
5675         * par-labl.adb: Likewise.
5676         * par-load.adb: Likewise.
5677         * par-prag.adb: Likewise.
5678         * par-sync.adb: Likewise.
5679         * par-tchk.adb: Likewise.
5680         * par-util.adb: Likewise.
5681         * par.adb: Likewise.
5682         * par.ads: Likewise.
5683         * par_sco.adb: Likewise.
5684         * par_sco.ads: Likewise.
5685         * pprint.adb: Likewise.
5686         * pprint.ads: Likewise.
5687         * prep.adb: Likewise.
5688         * prep.ads: Likewise.
5689         * prepcomp.adb: Likewise.
5690         * prepcomp.ads: Likewise.
5691         * put_scos.adb: Likewise.
5692         * put_scos.ads: Likewise.
5693         * raise-gcc.c: Likewise.
5694         * raise.c: Likewise.
5695         * raise.h: Likewise.
5696         * repinfo-input.adb: Likewise.
5697         * repinfo-input.ads: Likewise.
5698         * repinfo.adb: Likewise.
5699         * repinfo.ads: Likewise.
5700         * repinfo.h: Likewise.
5701         * restrict.adb: Likewise.
5702         * restrict.ads: Likewise.
5703         * rident.ads: Likewise.
5704         * rtfinal.c: Likewise.
5705         * rtinit.c: Likewise.
5706         * rtsfind.adb: Likewise.
5707         * rtsfind.ads: Likewise.
5708         * runtime.h: Likewise.
5709         * s-oscons-tmplt.c: Likewise.
5710         * sa_messages.adb: Likewise.
5711         * sa_messages.ads: Likewise.
5712         * scans.adb: Likewise.
5713         * scans.ads: Likewise.
5714         * scil_ll.adb: Likewise.
5715         * scil_ll.ads: Likewise.
5716         * scn.adb: Likewise.
5717         * scn.ads: Likewise.
5718         * scng.adb: Likewise.
5719         * scng.ads: Likewise.
5720         * scos.adb: Likewise.
5721         * scos.ads: Likewise.
5722         * scos.h: Likewise.
5723         * sdefault.ads: Likewise.
5724         * seh_init.c: Likewise.
5725         * sem.adb: Likewise.
5726         * sem.ads: Likewise.
5727         * sem_aggr.adb: Likewise.
5728         * sem_aggr.ads: Likewise.
5729         * sem_attr.adb: Likewise.
5730         * sem_attr.ads: Likewise.
5731         * sem_aux.adb: Likewise.
5732         * sem_aux.ads: Likewise.
5733         * sem_case.adb: Likewise.
5734         * sem_case.ads: Likewise.
5735         * sem_cat.adb: Likewise.
5736         * sem_cat.ads: Likewise.
5737         * sem_ch10.adb: Likewise.
5738         * sem_ch10.ads: Likewise.
5739         * sem_ch11.adb: Likewise.
5740         * sem_ch11.ads: Likewise.
5741         * sem_ch12.adb: Likewise.
5742         * sem_ch12.ads: Likewise.
5743         * sem_ch13.adb: Likewise.
5744         * sem_ch13.ads: Likewise.
5745         * sem_ch2.adb: Likewise.
5746         * sem_ch2.ads: Likewise.
5747         * sem_ch3.adb: Likewise.
5748         * sem_ch3.ads: Likewise.
5749         * sem_ch4.adb: Likewise.
5750         * sem_ch4.ads: Likewise.
5751         * sem_ch5.adb: Likewise.
5752         * sem_ch5.ads: Likewise.
5753         * sem_ch6.adb: Likewise.
5754         * sem_ch6.ads: Likewise.
5755         * sem_ch7.adb: Likewise.
5756         * sem_ch7.ads: Likewise.
5757         * sem_ch8.adb: Likewise.
5758         * sem_ch8.ads: Likewise.
5759         * sem_ch9.adb: Likewise.
5760         * sem_ch9.ads: Likewise.
5761         * sem_dim.adb: Likewise.
5762         * sem_dim.ads: Likewise.
5763         * sem_disp.adb: Likewise.
5764         * sem_disp.ads: Likewise.
5765         * sem_dist.adb: Likewise.
5766         * sem_dist.ads: Likewise.
5767         * sem_elab.adb: Likewise.
5768         * sem_elab.ads: Likewise.
5769         * sem_elim.adb: Likewise.
5770         * sem_elim.ads: Likewise.
5771         * sem_eval.adb: Likewise.
5772         * sem_eval.ads: Likewise.
5773         * sem_intr.adb: Likewise.
5774         * sem_intr.ads: Likewise.
5775         * sem_mech.adb: Likewise.
5776         * sem_mech.ads: Likewise.
5777         * sem_prag.adb: Likewise.
5778         * sem_prag.ads: Likewise.
5779         * sem_res.adb: Likewise.
5780         * sem_res.ads: Likewise.
5781         * sem_scil.adb: Likewise.
5782         * sem_scil.ads: Likewise.
5783         * sem_smem.adb: Likewise.
5784         * sem_smem.ads: Likewise.
5785         * sem_type.adb: Likewise.
5786         * sem_type.ads: Likewise.
5787         * sem_util.adb: Likewise.
5788         * sem_util.ads: Likewise.
5789         * sem_warn.adb: Likewise.
5790         * sem_warn.ads: Likewise.
5791         * set_targ.adb: Likewise.
5792         * set_targ.ads: Likewise.
5793         * sfn_scan.adb: Likewise.
5794         * sfn_scan.ads: Likewise.
5795         * sigtramp-armdroid.c: Likewise.
5796         * sigtramp-ios.c: Likewise.
5797         * sigtramp-qnx.c: Likewise.
5798         * sigtramp-vxworks-target.h: Likewise.
5799         * sigtramp-vxworks.c: Likewise.
5800         * sigtramp.h: Likewise.
5801         * sinfo-cn.adb: Likewise.
5802         * sinfo-cn.ads: Likewise.
5803         * sinfo-utils.adb: Likewise.
5804         * sinfo-utils.ads: Likewise.
5805         * sinfo.adb: Likewise.
5806         * sinfo.ads: Likewise.
5807         * sinput-c.adb: Likewise.
5808         * sinput-c.ads: Likewise.
5809         * sinput-d.adb: Likewise.
5810         * sinput-d.ads: Likewise.
5811         * sinput-l.adb: Likewise.
5812         * sinput-l.ads: Likewise.
5813         * sinput.adb: Likewise.
5814         * sinput.ads: Likewise.
5815         * socket.c: Likewise.
5816         * spark_xrefs.adb: Likewise.
5817         * spark_xrefs.ads: Likewise.
5818         * sprint.adb: Likewise.
5819         * sprint.ads: Likewise.
5820         * stand.ads: Likewise.
5821         * stringt.adb: Likewise.
5822         * stringt.ads: Likewise.
5823         * stringt.h: Likewise.
5824         * strub.adb: Likewise.
5825         * strub.ads: Likewise.
5826         * style.adb: Likewise.
5827         * style.ads: Likewise.
5828         * styleg.adb: Likewise.
5829         * styleg.ads: Likewise.
5830         * stylesw.adb: Likewise.
5831         * stylesw.ads: Likewise.
5832         * switch-b.adb: Likewise.
5833         * switch-b.ads: Likewise.
5834         * switch-c.adb: Likewise.
5835         * switch-c.ads: Likewise.
5836         * switch-m.adb: Likewise.
5837         * switch-m.ads: Likewise.
5838         * switch.adb: Likewise.
5839         * switch.ads: Likewise.
5840         * sysdep.c: Likewise.
5841         * table.adb: Likewise.
5842         * table.ads: Likewise.
5843         * targext.c: Likewise.
5844         * targparm.adb: Likewise.
5845         * targparm.ads: Likewise.
5846         * tbuild.adb: Likewise.
5847         * tbuild.ads: Likewise.
5848         * tempdir.adb: Likewise.
5849         * tempdir.ads: Likewise.
5850         * terminals.c: Likewise.
5851         * tracebak.c: Likewise.
5852         * treepr.adb: Likewise.
5853         * treepr.ads: Likewise.
5854         * ttypes.ads: Likewise.
5855         * types.adb: Likewise.
5856         * types.ads: Likewise.
5857         * types.h: Likewise.
5858         * uintp.adb: Likewise.
5859         * uintp.ads: Likewise.
5860         * uintp.h: Likewise.
5861         * uname.adb: Likewise.
5862         * uname.ads: Likewise.
5863         * urealp.adb: Likewise.
5864         * urealp.ads: Likewise.
5865         * urealp.h: Likewise.
5866         * usage.adb: Likewise.
5867         * usage.ads: Likewise.
5868         * validsw.adb: Likewise.
5869         * validsw.ads: Likewise.
5870         * vast.adb: Likewise.
5871         * vast.ads: Likewise.
5872         * warnsw.adb: Likewise.
5873         * warnsw.ads: Likewise.
5874         * widechar.adb: Likewise.
5875         * widechar.ads: Likewise.
5876         * xoscons.adb: Likewise.
5877         * xr_tabls.adb: Likewise.
5878         * xr_tabls.ads: Likewise.
5879         * xref_lib.adb: Likewise.
5880         * xref_lib.ads: Likewise.
5881         * xsnamest.adb: Likewise.
5882         * xutil.adb: Likewise.
5883         * xutil.ads: Likewise.
5885 2022-01-11  Richard Kenner  <kenner@adacore.com>
5887         * debug.adb: Add documentation for new -gnatd_u and old -gnatd_R
5888         flags used for GNAT LLVM and its CCG.
5890 2022-01-11  Piotr Trojanek  <trojanek@adacore.com>
5892         * Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of
5893         System.Atomic_Counters.
5894         * libgnat/s-atocou__x86.adb: Remove.
5896 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
5898         * gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype.
5899         (elaborate_profile): New function.
5900         (Call_to_gnu): Call it on the formals and the result type before
5901         retrieving the translated result type from the subprogram type.
5903 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
5905         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix
5906         computation of boolean result in the unchecked union case.
5907         (components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT
5908         and remove local variable of the same name.  Pass NULL recursively
5909         as P_GNU_REP_LIST for nested variants in the unchecked union case.
5911 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
5913         * gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case.
5914         <N_Pragma_Argument_Association>: Likewise.
5915         (Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding
5916         variable of a constant before marking it as addressable.
5918 2022-01-10  Arnaud Charlet  <charlet@adacore.com>
5920         * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove
5921         s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?.  Update list of object
5922         files accordingly.
5924 2022-01-10  Piotr Trojanek  <trojanek@adacore.com>
5926         * libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces
5927         deprecated Sync_Compare_And_Swap.
5928         * libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync
5929         to __atomic builtins.
5931 2022-01-10  Piotr Trojanek  <trojanek@adacore.com>
5933         * libgnat/s-exponn.adb, libgnat/s-expont.adb,
5934         libgnat/s-exponu.adb, libgnat/s-widthi.adb,
5935         libgnat/s-widthu.adb: Remove CodePeer annotations for pragma
5936         Loop_Variant.
5938 2022-01-10  Piotr Trojanek  <trojanek@adacore.com>
5940         * exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion
5941         in CodePeer mode.
5943 2022-01-10  Piotr Trojanek  <trojanek@adacore.com>
5945         * sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment.
5947 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
5949         * exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply
5950         the canonical adjustment to its alignment.
5952 2022-01-10  Piotr Trojanek  <trojanek@adacore.com>
5954         * libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch
5955         from __sync to __atomic builtins; use 'Address to be consistent
5956         with System.Atomic_Primitives.
5958 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
5960         * exp_pakd.adb (Install_PAT): Do not reset the alignment here.
5961         * layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having
5962         copied the RM_Size onto the Esize when the latter is too small.
5964 2022-01-10  Justin Squirek  <squirek@adacore.com>
5966         * sem_warn.adb (Check_References): Handle arrays of tasks
5967         similar to task objects.
5969 2022-01-07  Patrick Bernardi  <bernardi@adacore.com>
5971         * libgnat/a-direct.adb (Search_Data): Remove type.
5972         (Directory_Vectors): New package instantiation.
5973         (Search_State): New type.
5974         (Fetch_Next_Entry): Remove.
5975         (Close): Remove.
5976         (Finalize): Rewritten.
5977         (Full_Name): Ditto.
5978         (Get_Next_Entry): Return next entry from Search results vector
5979         rather than querying the directory directly using readdir.
5980         (Kind): Rewritten.
5981         (Modification_Time): Rewritten.
5982         (More_Entries): Use Search state cursor to determine if more
5983         entries are available for users to read.
5984         (Simple_Name): Rewritten.
5985         (Size): Rewritten.
5986         (Start_Search_Internal): Rewritten to load the contents of the
5987         directory that matches the pattern and filter into the search
5988         object.
5989         * libgnat/a-direct.ads (Search_Type): New type.
5990         (Search_Ptr): Ditto.
5991         (Directory_Entry_Type): Rewritten to support new Start_Search
5992         procedure.
5993         * libgnat/s-filatt.ads (File_Length_Attr): New function.
5995 2022-01-07  Etienne Servais  <servais@adacore.com>
5997         * sem_attr.adb (Check_Reference): Fix condition.
5999 2022-01-07  Ghjuvan Lacambre  <lacambre@adacore.com>
6001         * libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma
6002         Unreferenced" for Result.
6003         (Timed_Delay): Likewise.
6005 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6007         * gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a
6008         dedicated line, so that the current indentation is taken into
6009         account.
6011 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6013         * exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style
6014         in comments and code.
6016 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6018         * exp_aggr.adb (Gen_Assign): Remove explicit initialization for
6019         components of access types.
6020         (Get_Assoc_Expr): Enable initialization for components of all
6021         types that require simple initialization.
6023 2022-01-07  Javier Miranda  <miranda@adacore.com>
6025         * atree.ads (Traverse_Func_With_Parent): New generic subprogram.
6026         (Traverse_Proc_With_Parent): Likewise.
6027         * atree.adb (Parents_Stack): New table used to traverse trees
6028         passing the parent field of each node.
6029         (Internal_Traverse_With_Parent): New generic subprogram.
6030         (Traverse_Func_With_Parent): Likewise.
6031         (Traverse_Proc_With_Parent): Likewise.
6032         * contracts.adb (Fix_Parents): New subprogram.
6033         (Restore_Original_Selected_Component): Enhanced to fix the
6034         parent field of restored nodes.
6035         (Inherit_Condition): Adding assertions to check the parent field
6036         of inherited conditions and to ensure that the built inherited
6037         condition has no reference to the formals of the parent
6038         subprogram.
6039         * sem_util.ads, sem_util.adb (Check_Parents): New subprogram.
6041 2022-01-07  Etienne Servais  <servais@adacore.com>
6043         * sem_attr.adb (Check_Placement_In_Test_Case): Fix typo.
6045 2022-01-07  Justin Squirek  <squirek@adacore.com>
6047         * comperr.adb (Delete_SCIL_Files): Replace unnecessary
6048         Unreferenced pragma with specific pragma Warnings.
6049         * doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced):
6050         Add documentation for new behavior.
6051         * gnat_rm.texi: Regenerate.
6052         * erroutc.adb (Set_At): Remove useless assignment.
6053         * exp_ch2.adb (In_Assignment_Context): Deleted.
6054         (Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to
6055         Known_To_Be_Assigned.
6056         (Expand_Current_Value): Replace calls to May_Be_Lvalue with
6057         calls to Known_To_Be_Assigned.
6058         (Expand_Entry_Paramter): Replace calls to In_Assignment_Context
6059         with calls to Known_To_Be_Assigned.
6060         * exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced
6061         pragma.
6062         * exp_imgv.adb (Build_Enumeration_Image_Tables): Default
6063         initialize S_N.
6064         * ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue
6065         with call to Known_To_Be_Assigned.
6066         * lib-xref.adb (Is_On_LHS): Deleted.
6067         (OK_To_Set_Referenced): Rewrite subprogram to encompass the new
6068         pragma Unreferenced behavior.
6069         (Process_Deferred_References): Replace call to Is_LHS with call
6070         to Known_To_Be_Assigned.
6071         * libgnarl/s-taasde.adb, libgnarl/s-tasren.adb,
6072         libgnarl/s-tpobop.adb, libgnat/a-calend.adb,
6073         libgnat/a-calfor.adb, libgnat/a-cbdlli.adb,
6074         libgnat/a-cbhama.adb, libgnat/a-cbhase.adb,
6075         libgnat/a-cbmutr.adb, libgnat/a-cborma.adb,
6076         libgnat/a-cborse.adb, libgnat/a-cdlili.adb,
6077         libgnat/a-cfhama.adb, libgnat/a-cforse.adb,
6078         libgnat/a-cidlli.adb, libgnat/a-cihama.adb,
6079         libgnat/a-cihase.adb, libgnat/a-cimutr.adb,
6080         libgnat/a-ciorma.adb, libgnat/a-ciormu.adb,
6081         libgnat/a-ciorse.adb, libgnat/a-cohama.adb,
6082         libgnat/a-cohase.adb, libgnat/a-comutr.adb,
6083         libgnat/a-convec.adb, libgnat/a-coorma.adb,
6084         libgnat/a-coormu.adb, libgnat/a-coorse.adb,
6085         libgnat/a-crdlli.adb, libgnat/a-tigeau.adb,
6086         libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb,
6087         libgnat/g-calend.adb, libgnat/g-comlin.adb,
6088         libgnat/g-expect.adb, libgnat/g-mbflra.adb,
6089         libgnat/g-spipat.adb, libgnat/s-fatgen.adb,
6090         libgnat/s-fileio.adb, libgnat/s-os_lib.adb,
6091         libgnat/s-regpat.adb, libgnat/s-valued.adb,
6092         libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas
6093         * sem_ch10.adb (Process_Spec_Clauses): Remove useless
6094         assignments.
6095         * sem_ch13.adb (Validate_Literal_Aspect): Default initialize I.
6096         * sem_ch3.adb (Build_Derived_Concurrent_Type): Default
6097         initialize Corr_Decl.
6098         * sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to
6099         Known_To_Be_Assigned.
6100         (In_Abstract_View_Pragma): Likewise.
6101         * sem_eval.adb (Eval_Selected_Component): Replace calls to
6102         Is_LHS with calls to Known_To_Be_Assigned.
6103         * sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue
6104         with calls to Known_To_Be_Assigned.
6105         * sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize
6106         Owner.
6107         (Explain_Limited_Type): Default initialize Expr_Func.
6108         (Find_Actual): Modified to handle entry families.
6109         (Is_LHS): Deleted.
6110         (May_Be_Lvalue): Deleted.
6111         (Known_To_Be_Assigned): Modified and improved to handle all
6112         cases.
6113         * sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue
6114         with calls to Known_To_Be_Assigned.
6115         (Check_Ref): Modify error on unreferenced out parameters to take
6116         into account different warning flags.
6118 2022-01-07  Javier Miranda  <miranda@adacore.com>
6120         * sem_ch3.adb (Reorder_Interfaces): When the conflicting
6121         interface is identified we just replace the interface in the
6122         list of interfaces of the tagged type (instead of adding a
6123         duplicate to the list of interfaces).
6125 2022-01-07  Dmitriy Anisimkov  <anisimko@adacore.com>
6127         * adaint.c (__gnat_kill): Terminate process only in case of
6128         SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT.  Do not call
6129         OpenProcess if not going to terminate process.
6131 2022-01-07  Eric Botcazou  <ebotcazou@adacore.com>
6133         * exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass
6134         over the arguments of the pragma.  Set the Address_Taken flag on
6135         them and use the Has_Delayed_Freeze flag to spot those which have
6136         their elaboration delayed.  Reuse the location variable Loc.
6138 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6140         * osint.adb (To_Lower): Clarify that only To_Lower function
6141         causes bootstrap issues; fix style.
6142         * treepr.adb (Print_Str_Mixed_Case): Reuse existing case
6143         conversion routine.
6144         (To_Mixed): Rename from Capitalize; reuse System.Case_Util
6145         procedure and explain the bootstrap issue.
6147 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6149         * exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary
6150         initialization of Must_Hook; change Detect_Subprogram_Call from
6151         function to procedure; adapt caller.
6153 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6155         * exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb,
6156         sem_ch13.adb: Remove extra space before THEN that occurs at the
6157         end of a line.
6159 2022-01-07  Dmitriy Anisimkov  <anisimko@adacore.com>
6161         * expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS,
6162         WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status
6163         or signal that caused the child process to terminate/stop.  Do
6164         not process exit status in case of error in waitpid call.
6165         * adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is
6166         removed in Windows variant as it actually is not working and was
6167         terminating the calling process.  Set signal number into exit
6168         code parameter of TerminateProcess to work the same like in
6169         Linux.
6171 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6173         * exp_ch5.adb (Expand_N_Case_Statement): Remove explicit
6174         expansion.
6176 2022-01-07  Etienne Servais  <servais@adacore.com>
6178         * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
6179         Update -gnatwr documentation.
6180         * gnat_ugn.texi: Regenerate.
6182 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6184         * exp_unst.adb (Unnest_Subprogram): Sync comment with the
6185         current code.
6187 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6189         * exp_ch4.adb (Raise_Accessibility_Error): Move exception name
6190         to the message string; move << control characters to the end,
6191         for consistency.
6192         * sem_ch6.adb (Analyze_Function_Return): Likewise.
6193         * sem_util.adb (Compile_Time_Constraint_Error): Likewise.
6194         * gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes
6195         around Storage_Error.
6196         * gcc-interface/trans.c (gnat_to_gnu): Remove quotes around
6197         Constraint_Error.
6199 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6201         * errout.adb (Error_Msg): Move warning suppression code from
6202         Error_Msg_NLE
6203         (Error_Msg_NLE): Warning suppression is now done by the internal
6204         call to Error_Msg.
6206 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6208         * exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary
6209         guards.
6210         * exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment.
6211         * exp_ch5.adb (Expand_N_If_Statement,
6212         Expand_Iterator_Loop_Over_Container): Likewise.
6213         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant
6214         guard.
6215         * freeze.adb (Freeze_All_Ent): Reduce scope of a local variable.
6217 2022-01-07  Piotr Trojanek  <trojanek@adacore.com>
6219         * exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard.
6220         * exp_disp.adb (Make_DT): Likewise.
6221         * sem_ch12.adb (Analyze_Associations): Likewise.
6223 2022-01-07  Etienne Servais  <servais@adacore.com>
6225         * sem_res.adb (Resolve_Op_Concat_Arg): Check range when
6226         concatenating scalars.
6228 2022-01-07  Bob Duff  <duff@adacore.com>
6230         * treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to
6231         "Is_Discrete_Type".
6233 2022-01-07  Richard Kenner  <kenner@adacore.com>
6235         * libgnat/g-spipat.ads (Boolean_Func, Natural_Func,
6236         VString_Func): Mark as Favor_Top_Level.
6237         * sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using
6238         internal representation if Unchecked_Conversion between
6239         an access to subprogram and System.Address within the same unit.
6241 2022-01-07  Bob Duff  <duff@adacore.com>
6243         * treepr.adb (Print_Node_Ref): Print the value if available.
6245 2022-01-07  Richard Kenner  <kenner@adacore.com>
6247         * sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to
6248         not recurse and return the next-most-fullest view.
6250 2022-01-07  Bob Duff  <duff@adacore.com>
6252         * sem_ch10.adb (Check_Redundant_Withs): Add a warning if a
6253         library unit with's its own ancestor. Note that this warning is
6254         not triggered for something like "with P.R;" in P.Q, because
6255         there the "with P;" is considered implicit.
6256         * fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads,
6257         libgnat/a-calfor.adb, libgnat/a-tiboio.adb,
6258         libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb,
6259         libgnat/s-bitops.adb, libgnat/s-bitops.ads,
6260         libgnat/s-direio.adb, libgnat/s-dwalin.adb,
6261         libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb,
6262         libgnat/s-os_lib.adb, libgnat/s-os_lib.ads,
6263         libgnat/s-pooglo.ads, libgnat/s-secsta.adb,
6264         libgnat/s-shasto.adb, libgnat/s-stausa.ads,
6265         libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of
6266         parent.
6267         * sinfo.ads: Minor comment fix.
6269 2022-01-07  Bob Duff  <duff@adacore.com>
6271         * osint-m.adb: Remove with_clause and pragma.
6273 2022-01-06  Bob Duff  <duff@adacore.com>
6275         * sem_res.adb (Resolve_Range): Warn on null range, unless we are
6276         inside a generic unit or an instance thereof.
6277         * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
6278         negative.
6280 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6282         * errout.adb (Adjust_Name_Case): Remove unnecessary declare
6283         block.
6285 2022-01-06  Yannick Moy  <moy@adacore.com>
6287         * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
6288         instance.
6289         * libgnat/a-ngrear.adb: Likewise.
6290         * libgnat/s-gearop.adb: Prove implementation is free of runtime
6291         errors.
6292         * libgnat/s-gearop.ads: Add contracts to protect against runtime
6293         errors in the generic part.
6295 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6297         * errout.adb (Remove_Warning_Messages): Use traversal procedure
6298         instead of traversal function, since we discard status of each
6299         step anyway.
6301 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6303         * exp_ch4.adb (Expand_Concatenate): There is no reason for using
6304         declaring, raising and catching an exception; a simple return
6305         statement is enough.
6307 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6309         * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
6310         calls to Apply_Compile_Time_Constraint_Error related to division
6311         by zero.
6313 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6315         * errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
6316         * exp_util.adb (Kill_Dead_Code): Likewise.
6317         * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
6318         * sem_ch3.adb (Build_Derived_Record_Type): Likewise.
6319         * sem_ch4.adb (Traverse_Interfaces): Likewise.
6320         * sem_eval.adb (Traverse_Interfaces): Likewise.
6321         * sem_util.adb (Collect_Interfaces): Likewise.
6322         (Has_Non_Null_Statements, Side_Effect_Free_Statements):
6323         Likewise; turn into WHILE loops, for consistency.
6325 2022-01-06  Etienne Servais  <servais@adacore.com>
6327         * sem_type.adb (Full_View_Covers): Fix typo.
6329 2022-01-06  Eric Botcazou  <ebotcazou@adacore.com>
6331         * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
6332         the outer level, do not jump over following instantiations in
6333         the list.
6335 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6337         * err_vars.ads (Warn_On_Instance): Remove; it was a relic from
6338         the previous handling of warning in instances that was removed
6339         decades ago.
6341 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6343         * errout.adb (Error_Msg_Internal): Reorder words.
6344         * erroutc.ads (Is_Warning_Msg): Add closing paren.
6345         * sem_util.adb (Compile_Time_Constraint_Error): Fix casing.
6347 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6349         * sem_res.adb (Resolve_String_Literal): Simplify pointer
6350         arithmetic.
6352 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6354         * sem_res.adb (Resolve_String_Literal): Avoid unnecessary
6355         conversions inside "<" and ">" bodies.
6357 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6359         * checks.adb (Null_Exclusion_Static_Checks,
6360         Selected_Range_Checks): Fix style.
6362 2022-01-06  Eric Botcazou  <ebotcazou@adacore.com>
6364         * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
6365         special units when the name of the renaming is a generic instance,
6366         which is the case for package instantiations in the GNAT model.
6368 2022-01-06  Steve Baird  <baird@adacore.com>
6370         * sem_util.adb (Build_Discriminant_Reference): In the unexpected
6371         case where we previously would fail an assertion, we instead
6372         revert to the old behavior.
6374 2022-01-06  Steve Baird  <baird@adacore.com>
6376         * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
6377         local function, Build_Discriminant_Reference, and call it in
6378         each of the three cases where Make_Selected_Component was
6379         previously being called to construct a discriminant reference (2
6380         in Build_Actual_Array_Constraint and 1 in
6381         Build_Actual_Record_Constraint). Instead of unconditionally
6382         using the passed-in object name as the prefix for the new
6383         selected component node, this new function checks to see if
6384         perhaps a prefix of that name should be used instead.
6386 2022-01-06  Etienne Servais  <servais@adacore.com>
6388         * atree.adb: Fix typo.
6389         * einfo.ads: Likewise.
6390         * exp_aggr.adb: Likewise.
6391         * exp_ch6.adb: Likewise.
6392         * exp_ch7.adb: Likewise.
6393         * exp_ch9.adb: Likewise.
6394         * exp_prag.adb: Likewise.
6395         * exp_unst.adb: Likewise.
6396         * exp_unst.ads: Likewise.
6397         * exp_util.adb: Likewise.
6398         * par-endh.adb: Likewise.
6399         * par.adb: Likewise.
6400         * restrict.adb: Likewise.
6401         * sem.ads: Likewise.
6402         * sem_ch4.adb: Likewise.
6403         * sem_ch5.adb: Likewise.
6404         * sem_ch6.adb: Likewise.
6405         * sem_ch8.adb: Likewise.
6406         * sem_ch12.adb: Likewise.
6407         * sem_ch13.adb: Likewise.
6408         * sem_dim.adb: Likewise.
6409         * sem_elab.adb: Likewise.
6410         * sem_prag.adb: Likewise.
6411         * sem_res.adb: Likewise.
6412         * sem_util.adb: Likewise.
6413         * sem_util.ads: Likewise.
6414         * sinfo.ads: Likewise.
6415         * sprint.adb: Likewise.
6416         * urealp.adb: Likewise.
6418 2022-01-06  Justin Squirek  <squirek@adacore.com>
6420         * exp_ch3.adb (Build_Assignment): Replace current instance of
6421         type with Init_Proc formal.
6422         * sem_attr.adb (OK_Self_Reference): Handle recognition of
6423         Current_Instance to detect certain expansion.
6424         * sem_ch4.adb (Analyze_One_Call): Set actual's type when the
6425         actual in question is a current instance and its corresponding
6426         formal is an incomplete type.
6427         * sem_util.adb (Is_Current_Instance): Add check for incomplete
6428         views and add comment.
6430 2022-01-06  Bob Duff  <duff@adacore.com>
6432         * libgnat/s-rident.ads (No_Tagged_Type_Registration): New
6433         restriction identifier.
6434         * restrict.ads (Implementation_Restriction): Add restriction.
6435         * exp_ch7.adb (Process_Declarations): Suppress
6436         tagged-type-related finalization actions if the restriction is
6437         active.  Call RTE_Available last.
6438         * exp_disp.adb (Make_DT): Likewise.
6439         * exp_util.adb (Requires_Cleanup_Actions): Return False for a
6440         tagged type declaration if No_Tagged_Type_Registration is
6441         active.
6442         * sem_attr.adb (Check_Stream_Attribute): Check restriction
6443         No_Tagged_Type_Registration.
6444         * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
6445         avoid stopping at a warning in gdb.
6446         * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
6447         Document new restriction.
6448         * gnat_rm.texi: Regenerate.
6450 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6452         * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
6453         * prep.adb (Parse_Def_File): Likewise; remove Empty_String.
6455 2022-01-06  Eric Botcazou  <ebotcazou@adacore.com>
6457         * stand.ads (Any_Access): Delete.
6458         (Universal_Access): New entity.
6459         * einfo.ads: Remove obsolete reference to Any_Access.
6460         * gen_il-gen-gen_entities.adb: Likewise.
6461         * cstand.adb (Create_Standard): Do not create Any_Access and create
6462         Universal_Access as a full type instead.
6463         * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
6464         Any_Access and deal with Universal_Access instead.
6465         * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
6466         Universal_Access.
6467         * sem_ch4.adb (Analyze_Null): Likewise.
6468         (Find_Non_Universal_Interpretations): Likewise.
6469         (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
6470         by renaming a local variable of the same name.
6471         * sem_res.adb (Make_Call_Into_Operato): Likewise.
6472         (Resolve_Equality_Op): Likewise.
6473         * sem_type.adb (Covers): Likewise.
6474         (Specific_Type): Likewise.
6476 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6478         * treepr.adb (Destroy): Prevent spurious check from CodePeer.
6480 2022-01-06  Yannick Moy  <moy@adacore.com>
6482         * libgnat/s-exponu.adb (Exponu): Add annotation.
6484 2022-01-06  Justin Squirek  <squirek@adacore.com>
6486         * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
6487         regarding special handling of components which depend on
6488         discriminants.
6489         * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
6490         for calls to Has_Stream_Attribute_Definition.
6491         (Build_To_Any_Function): Likewise.
6492         (Build_TypeCode_Function): Likewise.
6493         * freeze.adb (Freeze_Entity): Add missing comment for Test_E.
6494         * libgnat/s-utf_32.adb: Remove disabled warning comments and
6495         temporarily inserted pragma warnings.  Remove very old (2006 and
6496         2012) comments about bootstrapping older versions.
6497         * par.adb (P_Identifier): Add new parameter Force_Msg.
6498         * par-ch2.adb (P_Identifier): Restructure and clean up function.
6499         * par-ch3.adb (P_Defining_Identifier): Remove code duplication
6500         for parsing identifiers.
6501         * sem_attr.adb (Stream_Attribute_Available): Add missing
6502         comments and add Real_Rep actual for calls to
6503         Has_Stream_Attribute_Definition.
6504         * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
6505         for calls to Has_Stream_Attribute_Definition.
6506         (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
6507         recursive calls. Add default value for Real_Rep.
6508         * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
6509         parameter "Real_Rep".
6510         * sem_type.adb (Add_Entry): Add condition to avoid passing
6511         non-function calls to Function_Interp_Has_Abstract_Op.
6512         (Function_Interp_Has_Abstract_Op): Add missing comments and
6513         remove check for Is_Overloadable.
6514         * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
6515         duplicated code.
6517 2022-01-06  Javier Miranda  <miranda@adacore.com>
6519         * contracts.adb (Restore_Original_Selected_Component): New
6520         subprogram that traverses a preanalyzed expression searching for
6521         dispatching calls to functions whose original node was a
6522         selected component, and replacing them with their original node.
6523         This functionality is required because the preanalyis of
6524         dispatching calls using the Object.Operation notation transforms
6525         such calls, and we need the original condition to properly
6526         inherit and extend the condition expression on tagged type
6527         derivations.  This functionality was previously provided by the
6528         routine Install_Original_Selected_Component (as part of
6529         inheriting conditions); now it is performed as part of the
6530         preanalysis of the condition, thus avoiding repeatedly
6531         installing and restoring such nodes.
6532         (Install_Original_Selected_Component): Removed.
6533         (Restore_Dispatching_Calls): Removed.
6535 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6537         * treepr.adb (Visit_Node): Simplify repeated call to
6538         Next_Entity.
6540 2022-01-06  Piotr Trojanek  <trojanek@adacore.com>
6542         * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
6543         style in comments.
6544         * treepr.adb (Serial_Numbers): Hash table instance.
6545         (Hash): Hashing routine.
6546         (Print_Field): Fix style.
6547         (Print_Init): Adapt to simple hash table.
6548         (Print_Term): Likewise.
6549         (Serial_Numbers): Likewise.
6550         (Set_Serial_Number): Likewise.
6552 2022-01-06  Yannick Moy  <moy@adacore.com>
6554         * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
6555         * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.
6557 2022-01-06  Yannick Moy  <moy@adacore.com>
6559         * libgnat/s-explllu.ads: Mark in SPARK.
6560         * libgnat/s-expllu.ads: Mark in SPARK.
6561         * libgnat/s-exponu.adb: Add loop invariants and needed
6562         assertions.
6563         * libgnat/s-exponu.ads: Add functional contract.
6564         * libgnat/s-expuns.ads: Mark in SPARK.
6566 2022-01-05  Steve Baird  <baird@adacore.com>
6568         * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug
6569         that was introduced in the previous commit.  The previous
6570         version initialized a Boolean constant Declare_Copy before the
6571         variable Decl had been initialized properly.
6573 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6575         * sem_prag.adb (Adjust_External_Name_Case): Use membership test.
6577 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6579         * exp_ch3.adb (Make_Controlling_Function_Wrappers): For
6580         GNATprove build the wrapper as an expression function.
6582 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6584         * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move
6585         declaration from body to spec, so it can be called by
6586         SPARK-specific expansion.
6587         * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise.
6588         * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of
6589         wrappers for function with controlling result types.
6591 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6593         * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with
6594         Add_Char_To_Name_Buffer.
6596 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6598         * gnatls.adb (Gnatls): Use Name_Find function.
6599         * targparm.adb (Get_Target_Parameters): Likewise.
6601 2022-01-05  Bob Duff  <duff@adacore.com>
6603         * repinfo.adb (List_Entities): The code was assuming that if we
6604         encounter a package in the current scope, then it must be
6605         a (physically) nested package.  That was wrong, because it could
6606         be a child package.  Avoid recursing into child packages; they
6607         have not been annotated with representation information, and
6608         -gnatR2 queries that information.
6610 2022-01-05  Marc Poulhiès  <poulhies@adacore.com>
6612         * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove.
6613         * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove.
6614         * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove.
6615         * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove.
6616         * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed
6617         units.
6618         * gcc-interface/Make-lang.in (ada/sdefault.o): Remove
6619         dependencies on removed units.
6620         (GNATBIND_OBJS): Remove occurences of removed units.
6622 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6624         * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace.
6625         * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.
6627 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6629         * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in
6630         spec of the generated array validation function; it was
6631         redundant, just like it would be in a user-written code.
6633 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6635         * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace.
6636         * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise.
6637         (Reduce): Likewise.
6639 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6641         * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace.
6642         * libgnat/a-cofuve.ads (Add): Likewise.
6643         * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.
6645 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6647         * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body,
6648         Make_Predefined_Primitive_Eq_Spec,
6649         Make_Predefined_Primitive_Specs): Fix whitespace.
6651 2022-01-05  Etienne Servais  <servais@adacore.com>
6653         * sem_ch3.adb (Analyze_Component_Declaration): Rework condition
6654         to build subtypes.
6655         (Analyze_Object_Declaration): Likewise.
6656         (Should_Build_Subtype): New.
6658 2022-01-05  Yannick Moy  <moy@adacore.com>
6660         * libgnat/s-arit128.adb: Mark in SPARK.
6661         * libgnat/s-arit128.ads: Add functional contracts.
6663 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6665         * sem_util.adb (String_From_Numeric_Literal): Simplify using
6666         membership tests and ranges; fix whitespace.
6668 2022-01-05  Yannick Moy  <moy@adacore.com>
6670         * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to
6671         package.
6672         * libgnat/s-explli.ads: Likewise.
6673         * libgnat/s-expllli.ads: Likewise.
6674         * libgnat/s-expont.adb: Add lemmas and ghost code.
6675         * libgnat/s-expont.ads: Add functional contract.
6677 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6679         * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard.
6681 2022-01-05  Claire Dross  <dross@adacore.com>
6683         * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost
6684         function to determine if a string is recognized as something
6685         which might be an exponent.
6686         (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a
6687         string has the correct format for an optional exponent.
6688         (Scan_Exponent): Use ghost functions to factorize contracts.
6690 2022-01-05  Bob Duff  <duff@adacore.com>
6692         * exp_util.ads (Get_Current_Value_Condition): Belt: Add a
6693         postcondition that Val /= Var.
6694         * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if
6695         Get_Current_Value_Condition returned the same value. This will
6696         be enabled even without assertions, because infinite recursion
6697         is a nuisance -- better to crash if this bug ever occurs.
6699 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6701         * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing
6702         Copy_Subprogram_Spec.
6703         * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter.
6704         * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to
6705         New_Copy_Tree.
6707 2022-01-05  Yannick Moy  <moy@adacore.com>
6709         * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to
6710         package.
6711         * libgnat/s-exnlli.ads: Likewise.
6712         * libgnat/s-exnllli.ads: Likewise.
6713         * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case
6714         value zero as Left or Right to simplify proof.
6715         * libgnat/s-exponn.ads: Transform the generic function into a
6716         generic package with a function inside. Add a functional
6717         contract.
6719 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6721         * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant
6722         call to Set_Defining_Unit_Name; a similar call is done few lines
6723         below.
6725 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6727         * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create
6728         distinct copies of parameter lists for spec and body with
6729         Copy_Parameter_List; cleanup.
6730         (Make_Null_Procedure_Specs): Fix style in comments; remove a
6731         potentially unnecessary initialization of a local variable.
6733 2022-01-05  Bob Duff  <duff@adacore.com>
6735         * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias):
6736         Change Node_Id to Entity_Id.
6738 2022-01-05  Piotr Trojanek  <trojanek@adacore.com>
6740         * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper):
6741         Remove unreferenced spec.
6742         * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper):
6743         Remove dead bodies.
6745 2022-01-05  Yannick Moy  <moy@adacore.com>
6747         * libgnat/s-aridou.adb: Apply replacement.
6749 2022-01-05  Yannick Moy  <moy@adacore.com>
6751         * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for
6752         instances with other values of Single_Size.
6754 2022-01-05  Marc Poulhiès  <poulhies@adacore.com>
6756         * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit)
6757         (Compiler_Unit_Warning): Remove.
6758         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
6759         * libgnat/g-dynhta.ads: Add comment indicating this unit is
6760         built during stage1.
6761         * libgnat/g-dyntab.ads: Likewise.
6762         * libgnat/g-graphs.ads: Likewise.
6763         * libgnat/g-lists.ads: Likewise.
6764         * libgnat/g-sets.ads: Likewise.
6765         * libgnat/gnat.ads: Likewise.
6766         * libgnat/s-pehage.ads: Likewise.
6767         * libgnat/s-resfil.ads: Likewise.
6768         * libgnat/s-rident.ads: Likewise.
6769         * libgnat/s-utf_32.ads: Likewise.
6770         * errout.ads: Update comment.
6771         * opt.ads (Opt): Remove Compiler_Unit.
6772         * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit.
6773         * sem_prag.adb (Analyze_Pragma): Likewise.
6774         * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression)
6775         (Analyze_Set_Membership, Record_Interp): Likewise.
6776         * sem_ch11.adb (Analyze_Raise_Expression): Likewise.
6777         * sem_ch6.adb: Remove Restric package reference.
6778         (Analyze_Extended_Return_Statement): Remove call to
6779         Check_Compiler_Unit.
6780         * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
6781         Remove handling of Pragma_Compiler_Unit[_Warning}.
6782         * restrict.adb (Check_Compiler_Unit): Remove both.
6783         * restrict.ads: Likewise.
6784         * snames.ads-tmpl (Pragma_Id): Remove
6785         Pragma_Compiler_Unit[_Warning].
6786         * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning.
6787         * libgnat/a-chlat1.ads: Likewise.
6788         * libgnat/a-elchha.adb: Likewise.
6789         * libgnat/a-elchha.ads: Likewise.
6790         * libgnat/a-ioexce.ads: Likewise.
6791         * libgnat/a-strhas.ads: Likewise.
6792         * libgnat/g-byorma.adb: Likewise.
6793         * libgnat/g-byorma.ads: Likewise.
6794         * libgnat/g-dyntab.adb: Likewise.
6795         * libgnat/g-heasor.ads: Likewise.
6796         * libgnat/g-hesora.adb: Likewise.
6797         * libgnat/g-hesora.ads: Likewise.
6798         * libgnat/g-htable.adb: Likewise.
6799         * libgnat/g-htable.ads: Likewise.
6800         * libgnat/g-spchge.adb: Likewise.
6801         * libgnat/g-spchge.ads: Likewise.
6802         * libgnat/g-speche.adb: Likewise.
6803         * libgnat/g-speche.ads: Likewise.
6804         * libgnat/g-table.ads: Likewise.
6805         * libgnat/g-u3spch.adb: Likewise.
6806         * libgnat/g-u3spch.ads: Likewise.
6807         * libgnat/interfac.ads: Likewise.
6808         * libgnat/s-addope.adb: Likewise.
6809         * libgnat/s-addope.ads: Likewise.
6810         * libgnat/s-assert.adb: Likewise.
6811         * libgnat/s-assert.ads: Likewise.
6812         * libgnat/s-bitops.adb: Likewise.
6813         * libgnat/s-bitops.ads: Likewise.
6814         * libgnat/s-carun8.adb: Likewise.
6815         * libgnat/s-carun8.ads: Likewise.
6816         * libgnat/s-casuti.adb: Likewise.
6817         * libgnat/s-casuti.ads: Likewise.
6818         * libgnat/s-conca2.adb: Likewise.
6819         * libgnat/s-conca2.ads: Likewise.
6820         * libgnat/s-conca3.adb: Likewise.
6821         * libgnat/s-conca3.ads: Likewise.
6822         * libgnat/s-conca4.adb: Likewise.
6823         * libgnat/s-conca4.ads: Likewise.
6824         * libgnat/s-conca5.adb: Likewise.
6825         * libgnat/s-conca5.ads: Likewise.
6826         * libgnat/s-conca6.adb: Likewise.
6827         * libgnat/s-conca6.ads: Likewise.
6828         * libgnat/s-conca7.adb: Likewise.
6829         * libgnat/s-conca7.ads: Likewise.
6830         * libgnat/s-conca8.adb: Likewise.
6831         * libgnat/s-conca8.ads: Likewise.
6832         * libgnat/s-conca9.adb: Likewise.
6833         * libgnat/s-conca9.ads: Likewise.
6834         * libgnat/s-crc32.adb: Likewise.
6835         * libgnat/s-crc32.ads: Likewise.
6836         * libgnat/s-crtl.ads: Likewise.
6837         * libgnat/s-excdeb.adb: Likewise.
6838         * libgnat/s-excdeb.ads: Likewise.
6839         * libgnat/s-except.ads: Likewise.
6840         * libgnat/s-exctab.adb: Likewise.
6841         * libgnat/s-exctab.ads: Likewise.
6842         * libgnat/s-finmas.ads: Likewise.
6843         * libgnat/s-htable.adb: Likewise.
6844         * libgnat/s-htable.ads: Likewise.
6845         * libgnat/s-mastop.adb: Likewise.
6846         * libgnat/s-mastop.ads: Likewise.
6847         * libgnat/s-memory.adb: Likewise.
6848         * libgnat/s-memory.ads: Likewise.
6849         * libgnat/s-os_lib.ads: Likewise.
6850         * libgnat/s-parame.adb: Likewise.
6851         * libgnat/s-parame.ads: Likewise.
6852         * libgnat/s-parame__posix2008.ads: Likewise.
6853         * libgnat/s-purexc.ads: Likewise.
6854         * libgnat/s-resfil.adb: Likewise.
6855         * libgnat/s-restri.adb: Likewise.
6856         * libgnat/s-restri.ads: Likewise.
6857         * libgnat/s-secsta.adb: Likewise.
6858         * libgnat/s-secsta.ads: Likewise.
6859         * libgnat/s-soflin.adb: Likewise.
6860         * libgnat/s-soflin.ads: Likewise.
6861         * libgnat/s-sopco3.adb: Likewise.
6862         * libgnat/s-sopco3.ads: Likewise.
6863         * libgnat/s-sopco4.adb: Likewise.
6864         * libgnat/s-sopco4.ads: Likewise.
6865         * libgnat/s-sopco5.adb: Likewise.
6866         * libgnat/s-sopco5.ads: Likewise.
6867         * libgnat/s-spsufi.ads: Likewise.
6868         * libgnat/s-stache.adb: Likewise.
6869         * libgnat/s-stache.ads: Likewise.
6870         * libgnat/s-stalib.adb: Likewise.
6871         * libgnat/s-stalib.ads: Likewise.
6872         * libgnat/s-stoele.adb: Likewise.
6873         * libgnat/s-stoele.ads: Likewise.
6874         * libgnat/s-strcom.adb: Likewise.
6875         * libgnat/s-strcom.ads: Likewise.
6876         * libgnat/s-strhas.adb: Likewise.
6877         * libgnat/s-string.adb: Likewise.
6878         * libgnat/s-string.ads: Likewise.
6879         * libgnat/s-strops.adb: Likewise.
6880         * libgnat/s-strops.ads: Likewise.
6881         * libgnat/s-ststop.adb: Likewise.
6882         * libgnat/s-ststop.ads: Likewise.
6883         * libgnat/s-traceb.adb: Likewise.
6884         * libgnat/s-traceb.ads: Likewise.
6885         * libgnat/s-traent.adb: Likewise.
6886         * libgnat/s-traent.ads: Likewise.
6887         * libgnat/s-utf_32.adb: Likewise.
6888         * libgnat/s-unstyp.ads: Likewise.
6889         * libgnat/s-wchcnv.adb: Likewise.
6890         * libgnat/s-wchcnv.ads: Likewise.
6891         * libgnat/s-wchcon.adb: Likewise.
6892         * libgnat/s-wchcon.ads: Likewise.
6893         * libgnat/s-wchjis.adb: Likewise.
6894         * libgnat/s-wchjis.ads: Likewise.
6896 2022-01-05  Arnaud Charlet  <charlet@adacore.com>
6898         * osint.adb (File_Names_Equal): Declare To_Lower locally.
6899         * osint.ads (Null_FD): New.
6900         * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
6901         * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
6902         simplify the bootstrap dependencies.
6904 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
6906         * gnat_ugn.texi: Bump @copying's copyright year.
6907         * gnat_rm.texi: Likewise.
6910 Copyright (C) 2022 Free Software Foundation, Inc.
6912 Copying and distribution of this file, with or without modification,
6913 are permitted in any medium without royalty provided the copyright
6914 notice and this notice are preserved.