]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
7ff79341
GA
12023-06-15 Marek Polacek <polacek@redhat.com>
2
3 * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS. Add
4 PICFLAG. Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o.
5 * gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set.
6 Remove NO_PIE_FLAG.
7
82023-06-15 Marc Poulhiès <poulhies@adacore.com>
9
10 * vxworks7-cert-rtp-base-link.spec: Removed.
11 * vxworks7-cert-rtp-base-link__ppc64.spec: Removed.
12 * vxworks7-cert-rtp-base-link__x86.spec: Removed.
13 * vxworks7-cert-rtp-base-link__x86_64.spec: Removed.
14 * vxworks7-cert-rtp-link.spec: Removed.
15 * vxworks7-cert-rtp-link__ppcXX.spec: Removed.
16
172023-06-15 Eric Botcazou <ebotcazou@adacore.com>
18
19 * gcc-interface/utils2.cc (build_binary_op) <MODIFY_EXPR>: Do not
20 remove a VIEW_CONVERT_EXPR on the LHS if it is also on the RHS.
21
222023-06-15 Eric Botcazou <ebotcazou@adacore.com>
23
24 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Restrict
25 the special handling of temporaries created for return values and
26 subject to a renaming to the top level.
27
282023-06-15 Ronan Desplanques <desplanques@adacore.com>
29
30 * doc/gnat_ugn/about_this_guide.rst: Fix typo. Uniformize punctuation.
31 * doc/gnat_ugn/the_gnat_compilation_model.rst: Uniformize punctuation.
32 Fix capitalization. Fix indentation of code block. Fix RST formatting
33 syntax errors.
34 * gnat_ugn.texi: Regenerate.
35
362023-06-15 Yannick Moy <moy@adacore.com>
37
38 * sem_attr.adb (Analyze_Attribute): Reject case of Loop_Entry
39 inside the prefix of Loop_Entry, as per SPARK RM 5.5.3.1(4,8).
40
412023-06-15 Eric Botcazou <ebotcazou@adacore.com>
42
43 * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that
44 determines the type used for the allocation and add assertions.
45 * exp_util.adb (Has_Tag_Of_Type): Also return true for extension
46 aggregates.
47
482023-06-15 Eric Botcazou <ebotcazou@adacore.com>
49
50 * sinfo.ads (Iterator_Filter): Document field.
51 * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around.
52 (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator
53 filter, if any.
54 * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built
55 when an iterator filter is present.
56
572023-06-15 Eric Botcazou <ebotcazou@adacore.com>
58
59 * exp_util.adb (Find_Hook_Context): Revert latest change.
60
612023-06-15 Eric Botcazou <ebotcazou@adacore.com>
62
63 * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically
64 with an aggregate returned through an object of a class-wide type.
65
662023-06-15 Eric Botcazou <ebotcazou@adacore.com>
67
68 * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Do not insert
69 an always empty list. Remove unused parameter Isc.
70 (Expand_Iterator_Loop): Adjust call to above procedure.
71
722023-06-15 Ronan Desplanques <desplanques@adacore.com>
73
74 * targparm.adb: Allow pragma Style_Checks in some forms.
75 * targparm.ads: Document new pragma permission.
76
772023-06-15 Eric Botcazou <ebotcazou@adacore.com>
78
79 * exp_util.ads (Within_Case_Or_If_Expression): Adjust description.
80 * exp_util.adb (Find_Hook_Context): Stop the search for the topmost
81 conditional expression, if within one, at contexts where temporaries
82 may be contained.
83 (Within_Case_Or_If_Expression): Return false upon first encoutering
84 contexts where temporaries may be contained.
85
862023-06-15 Johannes Kliemann <kliemann@adacore.com>
87
88 * libgnarl/s-osinte__qnx.adb: Adjust priority conversion function.
89 * libgnat/system-qnx-arm.ads: Adjust priority range and default
90 priority.
91
922023-06-15 Ronan Desplanques <desplanques@adacore.com>
93
94 * targparm.ads: Remove references to front-end-based exceptions. Fix
95 thinko.
96
972023-06-15 Piotr Trojanek <trojanek@adacore.com>
98
99 * contracts.adb (Add_Contract_Item): Add pragma Always_Terminates to
100 package contract.
101 * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates on
102 packages and generic packages, but only when it has no arguments.
103
1042023-06-15 Piotr Trojanek <trojanek@adacore.com>
105
106 * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates when
107 it applies to an entry.
108
1092023-06-15 Piotr Trojanek <trojanek@adacore.com>
110
111 * sem_prag.adb (Analyze_Pragma): Reject pragma Always_Terminates when
112 it applies to a function or generic function.
113
1142023-06-15 Eric Botcazou <ebotcazou@adacore.com>
115
116 * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence
117 of an incomplete view of a type on a function call.
118
1192023-06-15 Ronan Desplanques <desplanques@adacore.com>
120
121 * ttypes.ads: Remove reference to Ttypef in comment. Fix typo in
122 comment.
123
1242023-06-15 Eric Botcazou <ebotcazou@adacore.com>
125
126 * get_targ.ads (Get_Max_Unaligned_Field): Delete.
127 * ada_get_targ.adb (Get_Max_Unaligned_Field): Likewise.
128 * get_targ.adb (Get_Max_Unaligned_Field): Likewise.
129 * set_targ.ads (Max_Unaligned_Field): Adjust comment.
130 * set_targ.adb: Set Max_Unaligned_Field to 1 during elaboration.
131 * ttypes.ads (Max_Unaligned_Field): Delete.
132
1332023-06-15 Eric Botcazou <ebotcazou@adacore.com>
134
135 * sem_type.adb (Disambiguate): Fix pasto in the implementation of
136 the RM 8.4(10) clause for operators.
137
1382023-06-15 Piotr Trojanek <trojanek@adacore.com>
139
140 * aspects.adb
141 (Base_Aspect): Fix layout.
142 * aspects.ads
143 (Aspect_Argument): Expression for Always_Terminates is optional.
144 * sem_prag.adb
145 (Analyze_Always_Terminates_In_Decl_Part): Only analyze expression when
146 pragma argument is present.
147 (Analyze_Pragma): Argument for Always_Terminates is optional; fix
148 whitespace for Async_Readers.
149
1502023-06-15 Javier Miranda <miranda@adacore.com>
151
152 * sem_util.adb
153 (Is_CPP_Constructor_Call): Add missing support for calls to
154 functions returning a private type.
155
1562023-06-15 Eric Botcazou <ebotcazou@adacore.com>
157
158 * exp_util.ads (Build_Transient_Object_Statements): Remove obsolete
159 references to array and record aggregates in documentation.
160
1612023-06-15 Eric Botcazou <ebotcazou@adacore.com>
162
163 * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items
164 in the list of aspects handled by means of Insert_Pragma.
165 <Aspect_Linker_Section>: Remove obsolete code. Do not delay the
166 processing of the aspect if the entity is already frozen.
167
1682023-06-15 Piotr Trojanek <trojanek@adacore.com>
169
170 * sem_aggr.adb
171 (Resolve_Array_Aggregate): Simplify comment.
172 (Resolve_Iterated_Component_Association): Tune comment; change variable
173 to constant.
174
532fb120
GA
1752023-06-13 Piotr Trojanek <trojanek@adacore.com>
176
177 * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve
178 the expression.
179
1802023-06-13 Bob Duff <duff@adacore.com>
181
182 * exp_ch4.adb
183 (Expand_N_Quantified_Expression): Detect the secondary-stack
184 case, and find the innermost scope where we should mark/release,
185 and Set_Uses_Sec_Stack on that. Skip intermediate blocks and loops
186 that are part of expansion.
187
1882023-06-13 Piotr Trojanek <trojanek@adacore.com>
189
190 * sem_util.adb (Is_Repeatedly_Evaluated): Recognize iterated component
191 association as repeatedly evaluated.
192
1932023-06-13 Piotr Trojanek <trojanek@adacore.com>
194
195 * sem_util.adb (Is_Potentially_Unevaluated): Recognize iterated
196 component association as potentially unevaluated.
197
1982023-06-13 Piotr Trojanek <trojanek@adacore.com>
199
200 * sem_res.adb (Resolve_Call): Replace early call to
201 In_Quantified_Expression with a call to Is_Potentially_Unevaluated that
202 was only done when Full_Analysis is true.
203
2042023-06-13 Piotr Trojanek <trojanek@adacore.com>
205
206 * aspects.ads (Aspect_Id): Add new aspect.
207 (Implementation_Defined_Aspect): New aspect is
208 implementation-defined.
209 (Aspect_Argument): New aspect has an expression argument.
210 (Is_Representation_Aspect): New aspect is not a representation
211 aspect.
212 (Aspect_Names): Link new aspect identifier with a name.
213 (Aspect_Delay): New aspect is never delayed.
214 * contracts.adb (Expand_Subprogram_Contract): Mention new aspect
215 in comment.
216 (Add_Contract_Item): Attach pragma corresponding to the new aspect
217 to contract items.
218 (Analyze_Entry_Or_Subprogram_Contract): Analyze pragma
219 corresponding to the new aspect that appears with subprogram spec.
220 (Analyze_Subprogram_Body_Stub_Contract): Expand pragma
221 corresponding to the new aspect.
222 * contracts.ads
223 (Add_Contract_Item, Analyze_Entry_Or_Subprogram_Contract)
224 (Analyze_Entry_Or_Subprogram_Body_Contract)
225 (Analyze_Subprogram_Body_Stub_Contract): Mention new aspect in
226 comment.
227 * einfo-utils.adb (Get_Pragma): Return pragma attached to
228 contract.
229 * einfo-utils.ads (Get_Pragma): Mention new contract in comment.
230 * exp_prag.adb (Expand_Pragma_Always_Terminates): Placeholder for
231 possibly expanding new aspect.
232 * exp_prag.ads (Expand_Pragma_Always_Terminates): Dedicated
233 routine for expansion of the new aspect.
234 * inline.adb (Remove_Aspects_And_Pragmas): Remove aspect from
235 inlined bodies.
236 * par-prag.adb (Prag): Postpone checking of the pragma until
237 analysis.
238 * sem_ch12.adb: Mention new aspect in explanation of handling
239 contracts on generic units.
240 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert new aspect
241 into a corresponding pragma.
242 (Check_Aspect_At_Freeze_Point): Don't expect new aspect.
243 * sem_prag.adb (Analyze_Always_Terminates_In_Decl_Part): Analyze
244 pragma corresponding to the new aspect.
245 (Analyze_Pragma): Handle pragma corresponding to the new aspect.
246 (Is_Non_Significant_Pragma_Reference): Handle references appearing
247 within new aspect.
248 * sem_prag.ads (Aspect_Specifying_Pragma): New aspect can be
249 emulated with a pragma.
250 (Assertion_Expression_Pragma): New aspect has an assertion
251 expression.
252 (Pragma_Significant_To_Subprograms): New aspect is significant to
253 subprograms.
254 (Analyze_Always_Terminates_In_Decl_Part): Add spec for routine
255 that analyses new aspect.
256 (Find_Related_Declaration_Or_Body): Mention new aspect in comment.
257 * sem_util.adb (Is_Subprogram_Contract_Annotation): New aspect is
258 a subprogram contract annotation.
259 * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
260 aspect in comment.
261 * sinfo.ads (Is_Generic_Contract_Pragma): New pragma is a generic
262 contract.
263 (Contract): Explain attaching new pragma to subprogram contract.
264 * snames.ads-tmpl (Name_Always_Terminates): New name for the new
265 contract.
266 (Pragma_Always_Terminates): New pragma identifier.
267
2682023-06-13 Piotr Trojanek <trojanek@adacore.com>
269
270 * sem_elab.adb (Check_Overriding_Primitive): Prevent Corresponding_Body
271 to be called with entity of an abstract subprogram.
272
2732023-06-13 Eric Botcazou <ebotcazou@adacore.com>
274
275 * sem_ch12.adb (Save_References_In_Identifier): In the case where
276 the identifier has been turned into a function call by analysis,
277 call Set_Global_Type on the entity if it is global.
278
2792023-06-13 Marc Poulhiès <poulhies@adacore.com>
280
281 * sem_aggr.adb (Resolve_Iterated_Component_Association): Call
282 Preanalyze_And_Resolve instead of Resolve_Aggr_Expr except for
283 aggregate.
284 Co-authored-by: Ed Schonberg <schonberg@adacore.com>
285
2862023-06-13 Eric Botcazou <ebotcazou@adacore.com>
287
288 * contracts.adb (Contract_Error): New exception.
289 (Add_Contract_Item): Raise Contract_Error instead of Program_Error.
290 (Add_Generic_Contract_Pragma): Deal with Contract_Error.
291
2922023-06-13 Eric Botcazou <ebotcazou@adacore.com>
293
294 * sem_attr.adb (Eval_Attribute): Add more exceptions to the early
295 return for a prefix which is a nonfrozen generic actual type.
296 * sem_ch12.adb (Copy_Generic_Node): Also check private views in the
297 case of an entity name or operator analyzed as a function call.
298 (Set_Global_Type): Make it a child of Save_Global_References.
299 (Save_References_In_Operator): In the case where the operator has
300 been turned into a function call, call Set_Global_Type on the entity
301 if it is global.
302
3032023-06-13 Eric Botcazou <ebotcazou@adacore.com>
304
305 * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a
306 subprogram body that has no contracts and does not come from source,
307 make sure that contracts on its corresponding spec are analyzed, if
308 any, before expanding them.
309
3102023-06-13 Eric Botcazou <ebotcazou@adacore.com>
311
312 * gen_il-fields.ads (Opt_Field_Enum): Add No_Finalize_Actions and
313 remove No_Side_Effect_Removal.
314 * gen_il-gen-gen_nodes.adb (N_Function_Call): Remove semantic flag
315 No_Side_Effect_Removal
316 (N_Assignment_Statement): Add semantic flag No_Finalize_Actions.
317 * sinfo.ads (No_Ctrl_Actions): Adjust comment.
318 (No_Finalize_Actions): New flag on assignment statements.
319 (No_Side_Effect_Removal): Delete.
320 * exp_aggr.adb (Build_Record_Aggr_Code): Remove obsolete comment and
321 Ancestor_Is_Expression variable. In the case of an extension, do
322 not generate a call to Adjust manually, call Set_No_Finalize_Actions
323 instead. Do not set the tags, replace call to Make_Unsuppress_Block
324 by Make_Suppress_Block and remove useless assertions.
325 In the general case, call Initialize_Component.
326 (Initialize_Controlled_Component): Delete.
327 (Initialize_Simple_Component): Delete.
328 (Initialize_Component): Do the low-level processing, but do not
329 generate a call to Adjust manually, call Set_No_Finalize_Actions.
330 (Process_Transient_Component): Delete.
331 (Process_Transient_Component_Completion): Likewise.
332 * exp_ch5.adb (Expand_Assign_Array): Deal with No_Finalize_Actions.
333 (Expand_Assign_Array_Loop): Likewise.
334 (Expand_N_Assignment_Statement): Likewise.
335 (Make_Tag_Ctrl_Assignment): Likewise.
336 * exp_util.adb (Remove_Side_Effects): Do not test the
337 No_Side_Effect_Removal flag.
338 * sem_prag.adb (Process_Suppress_Unsuppress): Give the warning in
339 SPARK mode only for pragma Suppress.
340 * tbuild.ads (Make_Suppress_Block): New declaration.
341 (Make_Unsuppress_Block): Adjust comment.
342 * tbuild.adb (Make_Suppress_Block): New procedure.
343 (Make_Unsuppress_Block): Unsuppress instead of suppressing.
344
3452023-06-13 Eric Botcazou <ebotcazou@adacore.com>
346
347 * sem_ch5.adb (Analyze_Assignment): Turn Rhs into a constant and
348 remove calls to the following subprograms.
349 (Transform_BIP_Assignment): Delete.
350 (Should_Transform_BIP_Assignment): Likewise.
351
3522023-06-13 Piotr Trojanek <trojanek@adacore.com>
353
354 * sem_util.ads (Is_Inherited_Operation_For_Type): Remove spec.
355 * sem_util.adb (Is_Inherited_Operation_For_Type): Remove body.
356
3572023-06-13 Eric Botcazou <ebotcazou@adacore.com>
358
359 * exp_aggr.adb (Build_Record_Aggr_Code): Add new variable Ancestor_Q
360 to store the result of Unqualify on Ancestor. Remove the dead call
361 to Generate_Finalization_Actions in the case of another aggregate as
362 ancestor part. Remove the redundant setting of Assignment_OK. Use
363 Init_Typ in lieu of Etype (Ancestor) more consistently.
364
3652023-06-13 Eric Botcazou <ebotcazou@adacore.com>
366
367 * exp_aggr.adb (Build_Record_Aggr_Code): In the case of an extension
368 aggregate of a limited type whose ancestor part is an aggregate, do
369 not skip the final code assigning the tag of the extension.
370
3712023-06-13 Yannick Moy <moy@adacore.com>
372
373 * ghost.adb (Check_Ghost_Context): Allow absence of Ghost_Id
374 for attribute. Update error message to mention Ghost_Predicate.
375 (Is_Ghost_Attribute_Reference): New query.
376 * ghost.ads (Is_Ghost_Attribute_Reference): New query.
377 * sem_attr.adb (Resolve_Attribute): Check ghost context for ghost
378 attributes.
379
3802023-06-13 Daniel King <dmking@adacore.com>
381
382 * libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma.
383
3842023-06-13 Eric Botcazou <ebotcazou@adacore.com>
385
386 * exp_util.ads (Make_Tag_Assignment_From_Type): Declare.
387 * exp_util.adb (Make_Tag_Assignment_From_Type): New function.
388 * exp_aggr.adb (Build_Record_Aggr_Code): Call the above function.
389 (Initialize_Simple_Component): Likewise.
390 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Likewise.
391 (Build_Record_Init_Proc.Build_Init_Procedure ): Likewise.
392 (Make_Tag_Assignment): Likewise. Rename local variable and call
393 Unqualify to go through qualified expressions.
394 * exp_ch4.adb (Expand_Allocator_Expression): Likewise.
395
3962023-06-13 Yannick Moy <moy@adacore.com>
397
398 * libgnat/a-strsup.ads: Change predicate aspect.
399 * sem_ch13.adb (Add_Predicate): Fix for first predicate.
400
4012023-06-13 Eric Botcazou <ebotcazou@adacore.com>
402
403 * exp_aggr.adb (Initialize_Component): Perform immediate expansion
404 of the initialization expression if it is a conditional expression
405 and the component type is controlled.
406
4072023-06-13 Eric Botcazou <ebotcazou@adacore.com>
408
409 * exp_aggr.adb (Initialize_Component): New procedure factored out
410 from the processing of array and record aggregates.
411 (Initialize_Controlled_Component): Likewise.
412 (Initialize_Simple_Component): Likewise.
413 (Build_Array_Aggr_Code.Gen_Assign): Remove In_Loop parameter.
414 Call Initialize_Component to initialize the component.
415 (Initialize_Array_Component): Delete.
416 (Initialize_Ctrl_Array_Component): Likewise.
417 (Build_Array_Aggr_Code): Adjust calls to Gen_Assign.
418 (Build_Record_Aggr_Code): Call Initialize_Simple_Component or
419 Initialize_Component to initialize the component.
420 (Initialize_Ctrl_Record_Component): Delete.
421 (Initialize_Record_Component): Likewise.
422
4232023-06-13 Piotr Trojanek <trojanek@adacore.com>
424
425 * exp_ch11.adb (Expand_N_Raise_Statement): Expansion of raise statements
426 never happens in GNATprove mode.
427
4282023-06-13 Piotr Trojanek <trojanek@adacore.com>
429
430 * exp_ch11.adb (Find_Local_Handler): Replace guard against other
431 constructs appearing in the list of exception handlers with iteration
432 using First_Non_Pragma/Next_Non_Pragma.
433
4342023-06-13 Piotr Trojanek <trojanek@adacore.com>
435
436 * exp_ch11.ads (Find_Local_Handler): Fix typo in comment.
437 * exp_ch11.adb (Find_Local_Handler): Remove redundant check for the
438 Exception_Handler list being present; use membership test to eliminate
439 local object LCN; fold nested IF statements. Remove useless ELSIF
440 condition.
441
4422023-06-13 Piotr Trojanek <trojanek@adacore.com>
443
444 * sem_util.adb (Check_Function_Writable_Actuals): Tune style; use
445 subtype name to detect membership test nodes.
446
4472023-06-13 Piotr Trojanek <trojanek@adacore.com>
448
449 * exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Use a single call
450 to New_List.
451
4522023-06-13 Yannick Moy <moy@adacore.com>
453
454 * doc/gnat_rm/implementation_defined_aspects.rst: Document new
455 aspect.
456 * doc/gnat_rm/implementation_defined_pragmas.rst: Whitespace.
457 * aspects.adb (Init_Canonical_Aspect): Set it to Predicate.
458 * aspects.ads: Set global constants for new aspect.
459 * einfo.ads: Describe new flag related to new aspect.
460 * exp_ch6.adb (Can_Fold_Predicate_Call): Do not fold new aspect.
461 * exp_util.adb (Make_Predicate_Check): Add comment.
462 * gen_il-fields.ads: Add new flag.
463 * gen_il-gen-gen_entities.adb: Add new flag.
464 * ghost.adb (Is_OK_Ghost_Context): Ghost predicate is an OK
465 ghost context.
466 (Mark_Ghost_Pragma): Add overloading with ghost mode parameter.
467 * ghost.ads (Mark_Ghost_Pragma): Add overloading with ghpst mode
468 parameter.
469 (Name_To_Ghost_Mode): Make function public.
470 * sem_aggr.adb: Issue error for violation of valid use.
471 * sem_case.adb: Issue error for violation of valid use.
472 * sem_ch13.adb: Adapt for new aspect.
473 * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove dead code
474 which was trying to propagate Has_Predicates flag in the wrong
475 direction (from derived to parent type).
476 (Analyze_Number_Declaration): Issue error for violation of valid
477 use.
478 (Build_Derived_Type): Cleanup inheritance of predicate flags from
479 parent to derived type.
480 (Build_Predicate_Function): Only add a predicate check when it
481 is not ignored as Ghost code.
482 * sem_ch4.adb (Analyze_Membership_Op): Issue an error for use of
483 a subtype with a ghost predicate as name in a membership test.
484 * sem_ch5.adb (Check_Predicate_Use): Issue error for violation of
485 valid use.
486 * sem_eval.adb: Adapt code for Dynamic_Predicate to account for
487 Ghost_Predicate too.
488 * sem_prag.adb (Analyze_Pragma): Make pragma ghost or not.
489 * sem_util.adb (Bad_Predicated_Subtype_Use): Adapt to new aspect.
490 (Inherit_Predicate_Flags): Add inheritance of flag. Add parameter
491 to apply to derived types.
492 * sem_util.ads (Inherit_Predicate_Flags): Change signature.
493 * snames.ads-tmpl: Add new aspect name.
494 * gnat_rm.texi: Regenerate.
495
4962023-06-13 Piotr Trojanek <trojanek@adacore.com>
497
498 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Remove early
499 decoration.
500
df2762ac
GA
5012023-05-30 Eric Botcazou <ebotcazou@adacore.com>
502
503 * gcc-interface/trans.cc (get_storage_model_access): Also strip any
504 type conversion in the node when unwinding the components.
505
5062023-05-30 Eric Botcazou <ebotcazou@adacore.com>
507
508 * gcc-interface/trans.cc (node_is_component): Remove parentheses.
509 (node_is_type_conversion): New predicate.
510 (get_atomic_access): Use it.
511 (get_storage_model_access): Likewise and look into the parent to
512 find a component if it returns true.
513 (present_in_lhs_or_actual_p): Likewise.
514
5152023-05-30 Eric Botcazou <ebotcazou@adacore.com>
516
517 * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Check that
518 the storage model has Copy_From before instantiating loads for it.
519 <Attr_Length>: Likewise.
520 <Attr_Bit_Position>: Likewise.
521 (gnat_to_gnu) <N_Indexed_Component>: Likewise.
522 <N_Slice>: Likewise.
523
5242023-05-30 Marc Poulhiès <poulhies@adacore.com>
525
526 * gcc-interface/trans.cc (Attribute_to_gnu): Also strip conversion
527 in case of DECL.
528
5292023-05-30 Eric Botcazou <ebotcazou@adacore.com>
530
531 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a
532 local variable for the GNAT index type.
533 <E_Array_Subtype>: Likewise. Call Is_Null_Range on the bounds and
534 force the zero on TYPE_SIZE and TYPE_SIZE_UNIT if it returns true.
535
5362023-05-30 Eric Botcazou <ebotcazou@adacore.com>
537
538 * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: Test the
539 precision of the operation rather than that of the result type.
540
5412023-05-30 Eric Botcazou <ebotcazou@adacore.com>
542
543 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Replace
544 integer_zero_node with null_pointer_node for pointer types.
545 * gcc-interface/trans.cc (gnat_gimplify_expr) <NULL_EXPR>: Likewise.
546 * gcc-interface/utils.cc (maybe_pad_type): Do not attempt to make a
547 packable type from a fat pointer type.
548 * gcc-interface/utils2.cc (build_atomic_load): Use a local variable.
549 (build_atomic_store): Likewise.
550
5512023-05-30 Eric Botcazou <ebotcazou@adacore.com>
552
553 * gcc-interface/misc.cc (internal_error_function): Be prepared for
554 an input_location set to UNKNOWN_LOCATION.
555
5562023-05-30 Eric Botcazou <ebotcazou@adacore.com>
557
558 * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Tweak.
559 (gnat_to_gnu) <N_Assignment_Statement>: Declare a local variable.
560 For a target with a storage model, use the Actual_Designated_Subtype
561 to compute the size if it is present.
562
5632023-05-30 Eric Botcazou <ebotcazou@adacore.com>
564
565 * gcc-interface/trans.cc (Call_to_gnu): Remove code implementing the
566 by-copy semantics for actuals with nonnative storage models.
567 (gnat_to_gnu) <N_Assignment_Statement>: Remove code instantiating a
568 temporary for assignments between nonnative storage models.
569
5702023-05-30 Eric Botcazou <ebotcazou@adacore.com>
571
572 * gcc-interface/decl.cc (range_cannot_be_superflat): Return true
573 immediately if Cannot_Be_Superflat is set.
574 * gcc-interface/misc.cc (gnat_post_options): Do not override the
575 -Wstringop-overflow setting.
576
5772023-05-30 Eric Botcazou <ebotcazou@adacore.com>
578
579 * gcc-interface/Make-lang.in (ADA_CFLAGS): Move up.
580 (ALL_ADAFLAGS): Add $(NO_PIE_CFLAGS).
581 (ada/mdll.o): Remove.
582 (ada/mdll-fil.o): Likewise.
583 (ada/mdll-utl.o): Likewise.
584
5852023-05-30 Marc Poulhiès <poulhies@adacore.com>
586
587 * gcc-interface/trans.cc (get_storage_model_access): Don't require
588 storage model access for dereference used as lvalue or renamings.
589
5902023-05-30 Eric Botcazou <ebotcazou@adacore.com>
591
592 * exp_aggr.adb (Build_Array_Aggr_Code): Move the declaration of Typ
593 to the beginning.
594 (Initialize_Array_Component): Test the unqualified version of the
595 expression for the nested array case.
596 (Initialize_Ctrl_Array_Component): Do not duplicate the expression
597 here. Do the pattern matching of the unqualified version of it.
598 (Gen_Assign): Call Unqualify to compute Expr_Q and use Expr_Q in
599 subsequent pattern matching.
600 (Initialize_Ctrl_Record_Component): Do the pattern matching of the
601 unqualified version of the aggregate.
602 (Build_Record_Aggr_Code): Call Unqualify.
603 (Convert_Aggr_In_Assignment): Likewise.
604 (Convert_Aggr_In_Object_Decl): Likewise.
605 (Component_OK_For_Backend): Likewise.
606 (Is_Delayed_Aggregate): Likewise.
607
6082023-05-30 Eric Botcazou <ebotcazou@adacore.com>
609
610 * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the
611 expression here instead of...
612 (Build_Array_Aggr_Code): ...here.
613
6142023-05-30 Eric Botcazou <ebotcazou@adacore.com>
615
616 * freeze.adb (Check_Large_Modular_Array): Fix head comment, use
617 Standard_Long_Long_Integer_Size directly and generate a reference
618 just before the raise statement if the Etype of the object is an
619 itype declared in an open scope.
620
6212023-05-30 Eric Botcazou <ebotcazou@adacore.com>
622
623 * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in
624 the scope table instead of the scope's entity.
625 (Establish_Transient_Scope): If an enclosing scope already exists,
626 do not set the Uses_Sec_Stack flag on it if the node to be wrapped
627 is a return statement which requires secondary stack management.
628
6292023-05-30 Joel Brobecker <brobecker@adacore.com>
630
631 * Makefile.rtl: Use libgnat/s-tsmona__linux.adb on
632 aarch64-linux. Link libgnat with -ldl, as the use of
633 s-tsmona__linux.adb requires it.
634
6352023-05-30 Piotr Trojanek <trojanek@adacore.com>
636
637 * exp_ch3.adb
638 (Build_Access_Subprogram_Wrapper_Body): Build wrapper body if requested
639 by routine that builds wrapper spec.
640 * sem_ch3.adb
641 (Analyze_Full_Type_Declaration): Only build wrapper when expander is
642 active.
643 (Build_Access_Subprogram_Wrapper):
644 Remove special-case for GNATprove.
645
6462023-05-30 Ronan Desplanques <desplanques@adacore.com>
647
648 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor issues.
649 * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix minor issues.
650 * gnat_ugn.texi: Regenerate.
651
6522023-05-30 Johannes Kliemann <kliemann@adacore.com>
653
654 * libgnat/s-parame.adb: Check that Default_Stack_Size >=
655 Minimum_Stack_size.
656 * libgnat/s-parame__rtems.adb: Ditto.
657 * libgnat/s-parame__vxworks.adb: Check that Default_Stack_Size >=
658 Minimum_Stack_size and use the proper Minimum_Stack_Size if
659 Stack_Check_Limits is enabled.
660
6612023-05-30 Eric Botcazou <ebotcazou@adacore.com>
662
663 * sem_res.adb (Resolve_Call): Restrict previous change to calls that
664 return on the same stack as the enclosing function. Tidy up.
665
6662023-05-30 Eric Botcazou <ebotcazou@adacore.com>
667
668 * libgnat/a-cidlli.adb (Put_Image): Simplify.
669 * libgnat/a-coinve.adb (Put_Image): Likewise.
670
6712023-05-30 Eric Botcazou <ebotcazou@adacore.com>
672
673 * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside
674 a generic unit, preanalyze the expression directly.
675 (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise.
676
6772023-05-30 Cedric Landet <landet@adacore.com>
678
679 * init.c: Replace FIXME by ???
680
b4c15a14
GA
6812023-05-29 Cedric Landet <landet@adacore.com>
682
683 * s-oscons-tmplt.c: move the definition of sigset out of the
684 HAVE_SOCKETS bloc.
685
6862023-05-29 Cedric Landet <landet@adacore.com>
687
688 * Makefile.rtl: Move g-spogwa$(objext) from GNATRTL_NONTASKING_OBJS
689 to GNATRTL_SOCKETS_OBJS
690
6912023-05-29 Eric Botcazou <ebotcazou@adacore.com>
692
693 * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in
694 both cases to copy the spec of the subprogram.
695
6962023-05-29 Eric Botcazou <ebotcazou@adacore.com>
697
698 * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context):
699 Bail out for a simple return statement only if the transient scope
700 and the function both require secondary stack management, or else
701 if the function is a thunk.
702 * sem_res.adb (Resolve_Call): Do not create a transient scope when
703 the call is the expression of a simple return statement.
704
7052023-05-29 Patrick Bernardi <bernardi@adacore.com>
706
707 * libgnat/a-excach.adb (Call_Chain): Replace
708 Code_Address_For_AAA/ZZZ functions with AAA/ZZZ'Code_Address.
709 * libgnat/a-except.adb (Code_Address_For_AAA/ZZZ): Delete.
710 (AAA/ZZZ): New null procedures.
711 * libgnat/g-debpoo.adb
712 (Code_Address_For_Allocate_End): Delete.
713 (Code_Address_For_Deallocate_End): Delete.
714 (Code_Address_For_Dereference_End): Delete.
715 (Allocate): Remove label and use Code_Address attribute to
716 determine subprogram addresses.
717 (Dellocate): Likewise.
718 (Dereference): Likewise.
719 (Allocate_End): Convert to null procedure.
720 (Dellocate_End): Likewise.
721 (Dereference_End): Likewise.
722
7232023-05-29 Eric Botcazou <ebotcazou@adacore.com>
724
725 * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions
726 consistently when rewriting the expression.
727
7282023-05-29 Eric Botcazou <ebotcazou@adacore.com>
729
730 * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container):
731 New predicate to detect a temporary created to hold the result of
732 a constant indexing on a container.
733 (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple
734 of obsolete comments.
735 (Is_Finalizable_Transient): Return False if Is_Indexed_Container
736 returns True on the object.
737
7382023-05-29 Eric Botcazou <ebotcazou@adacore.com>
739
740 * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear
741 that the predicate also checks the node itself.
742 (Try_User_Defined_Literal): Move current implementation to...
743 Deal only with literals, named numbers and conditional expressions
744 whose dependent expressions are literals or named numbers.
745 (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple
746 return False statements and put a single one at the end.
747 (Resolve): Call Try_User_Defined_Literal instead of directly
748 Has_Applicable_User_Defined_Literal for all nodes. Call
749 Try_User_Defined_Literal_For_Operator for operator nodes.
750
7512023-05-29 Piotr Trojanek <trojanek@adacore.com>
752
753 * sem_res.adb (Invoked_With_Different_Arguments): Use Get_Called_Entity,
754 which properly deals with calls via an access-to-subprogram; fix
755 inconsistent use of a Call object declared in enclosing subprogram.
756
7572023-05-29 Piotr Trojanek <trojanek@adacore.com>
758
759 * contracts.adb
760 (Add_Pre_Post_Condition): Attach pre/post aspects to E_Subprogram_Type
761 entity.
762 (Analyze_Entry_Or_Subprogram_Contract): Adapt to use full type
763 declaration for a contract attached to E_Subprogram_Type entity.
764 * sem_prag.adb
765 (Analyze_Pre_Post_Condition): Add pre/post aspects to the designed type.
766
7672023-05-29 Piotr Trojanek <trojanek@adacore.com>
768
769 * sem_util.adb (Check_Function_Writable_Actuals): Remove guard against
770 a membership test with no alternatives; simplify with a membership test.
771
7722023-05-29 Piotr Trojanek <trojanek@adacore.com>
773
774 * doc/gnat_ugn/gnat_and_program_execution.rst
775 (Some Useful Memory Pools): Remove extra whitespace from examples.
776 * sem_aggr.adb (Make_String_Into_Aggregate): Remove extra whitespace.
777 * gnat_ugn.texi: Regenerate.
778
7792023-05-29 Piotr Trojanek <trojanek@adacore.com>
780
781 * exp_aggr.adb (Convert_Aggr_In_Allocator): Replace Get_TSS_Name
782 with a high-level Is_TSS.
783 * sem_ch6.adb (Check_Conformance): Replace DECLARE block and
784 nested IF with a call to Get_TSS_Name and a membership test.
785 (Has_Reliable_Extra_Formals): Refactor repeated calls to
786 Get_TSS_Name.
787 * sem_disp.adb (Check_Dispatching_Operation): Replace repeated
788 calls to Get_TSS_Name with a membership test.
789
7902023-05-29 Eric Botcazou <ebotcazou@adacore.com>
791
792 * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement
793 if it is the node to be wrapped by a transient scope.
794
7952023-05-29 Eric Botcazou <ebotcazou@adacore.com>
796
797 * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer
798 anything to the back-end when the main unit is generic.
799
8002023-05-29 Eric Botcazou <ebotcazou@adacore.com>
801
802 * sem_res.adb (Try_User_Defined_Literal): Restrict previous change
803 to non-leaf nodes.
804
8052023-05-29 Eric Botcazou <ebotcazou@adacore.com>
806
807 * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators,
808 also accept operands whose type is covered by the resolution type.
809
8102023-05-29 Eric Botcazou <ebotcazou@adacore.com>
811
812 * exp_aggr.adb (Initialize_Array_Component): Fix condition detecting
813 the nested case that requires an adjustment.
814
8152023-05-29 Eric Botcazou <ebotcazou@adacore.com>
816
817 * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand.
818
8192023-05-29 Eric Botcazou <ebotcazou@adacore.com>
820
821 * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting
822 of the simple return during the adjustment of its expression.
823
8242023-05-29 Eric Botcazou <ebotcazou@adacore.com>
825
826 * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return
827 statements enclosing the conditional expression into the dependent
828 expressions in almost all cases.
829 (Expand_N_If_Expression): Likewise.
830 (Process_Transient_In_Expression): Adjust to the above distribution.
831 * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the
832 dependent expressions of a conditional expression.
833 * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of
834 a simple return statement during the resolution of its expression.
835
8362023-05-29 Piotr Trojanek <trojanek@adacore.com>
837
838 * sem_res.adb (Resolve_Entity_Name): Refine rules for Exceptional_Cases.
839
8402023-05-29 Marc Poulhiès <poulhies@adacore.com>
841
842 * exp_aggr.adb (Convert_To_Assignments): Do not mark node for
843 delayed expansion if parent type has the Aggregate aspect.
844 * sem_util.adb (Is_Container_Aggregate): Move...
845 * sem_util.ads (Is_Container_Aggregate): ... here and make it
846 public.
847
8482023-05-29 Piotr Trojanek <trojanek@adacore.com>
849
850 * sem_res.adb (Resolve_Entity_Name): Relax rules for Exceptional_Cases.
851
8522023-05-29 Eric Botcazou <ebotcazou@adacore.com>
853
854 * sem_ch4.ads (Unresolved_Operator): New procedure.
855 * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into...
856 (Has_Possible_User_Defined_Literal): ...this. Tidy up.
857 (Operator_Check): Accept again unresolved operators if they have a
858 possible user-defined literal as operand. Factor out the handling
859 of the general error message into...
860 (Unresolved_Operator): ...this new procedure.
861 * sem_res.adb (Resolve): Be prepared for unresolved operators on
862 entry in Ada 2022 or later. If they are still unresolved on exit,
863 call Unresolved_Operator to give the error message.
864 (Try_User_Defined_Literal): Tidy up.
865
8662023-05-29 Steve Baird <baird@adacore.com>
867
868 * exp_ch3.adb
869 (Expand_N_Object_Declaration.Default_Initialize_Object): Add test for
870 specified Default_Component_Value aspect when deciding whether
871 either Initialize_Scalars or Normalize_Scalars impacts default
872 initialization of an array object.
873
8742023-05-29 Javier Miranda <miranda@adacore.com>
875
876 * sem_aggr.adb
877 (Resolve_Record_Aggregate): For aggregates of derived tagged
878 record types with discriminants, when collecting components
879 from ancestors, pass to subprogram Gather_Components the
880 parent type. Required to report errors on wrong aggregate
881 components.
882
8832023-05-29 Piotr Trojanek <trojanek@adacore.com>
884
885 * sem_util.adb (Check_Result_And_Post_State): Replace low-level
886 navigation with a high-level Unique_Entity.
887
8882023-05-29 Piotr Trojanek <trojanek@adacore.com>
889
890 * sem_util.adb (Check_Result_And_Post_State): Properly handle entry
891 bodies.
892
8932023-05-29 Piotr Trojanek <trojanek@adacore.com>
894
895 * contracts.adb (Fix_Parent): Fir part both for lists and nodes.
896
8972023-05-29 Arnaud Charlet <charlet@adacore.com>
898
899 * sem_ch7.adb: Refine handling of inlining for CCG
900
9012023-05-29 Eric Botcazou <ebotcazou@adacore.com>
902
903 * sem_ch12.adb (Copy_Generic_Node): Test the original node kind
904 for the sake of consistency. For identifiers and other entity
905 names and operators, accept an expanded name as associated node.
906 Replace "or" with "or else" in condtion and fix its formatting.
907
9082023-05-29 Piotr Trojanek <trojanek@adacore.com>
909
910 * sem_util.adb (Check_Result_And_Post_State): Tune message.
911
9122023-05-29 Piotr Trojanek <trojanek@adacore.com>
913
914 * contracts.adb (Remove_Formals): Remove.
915 (Preanalyze_Condition): Replace Pop_Scope with End_Scope.
916 * sem_ch13.adb (Build_Discrete_Static_Predicate): Replace
917 Pop_Scope with End_Scope; enclose Install_Formals within
918 Push_Scope/End_Scope.
919
9202023-05-29 Piotr Trojanek <trojanek@adacore.com>
921
922 * sem_prag.adb (Analyze_Pre_Post_Condition): Tune error message.
923
9242023-05-29 Javier Miranda <miranda@adacore.com>
925
926 * scans.ads (Inside_Interpolated_String_Expression): New variable.
927 * par-ch2.adb (P_Interpolated_String_Literal): Set/clear new
928 variable when parsing interpolated string expressions.
929 * scng.adb (Set_String): Skip processing operator symbols when we
930 arescanning an interpolated string literal.
931
9322023-05-29 Johannes Kliemann <kliemann@adacore.com>
933
934 * Makefile.rtl (QNX): Use s-parame__qnx.adb for s-parame.adb.
935 * libgnat/s-parame__qnx.adb: Add QNX specific version of
936 System.Parameters.
937
9382023-05-29 Yannick Moy <moy@adacore.com>
939
940 * libgnat/a-ngelfu.ads: Restore SPARK_Mode from context.
941
9422023-05-29 Marc Poulhiès <poulhies@adacore.com>
943
944 * contracts.adb (Restore_Original_Selected_Component): Adjust assertion.
945
9462023-05-29 Piotr Trojanek <trojanek@adacore.com>
947
948 * contracts.adb
949 (Add_Pre_Post_Condition): Adapt to handle pre/post of an
950 access-to-subprogram type.
951 (Analyze_Type_Contract): Analyze pre/post of an
952 access-to-subprogram.
953 * contracts.ads
954 (Analyze_Type_Contract): Adapt comment.
955 * sem_ch3.adb
956 (Build_Access_Subprogram_Wrapper): Copy pre/post aspects to
957 wrapper spec and keep it on the type.
958 * sem_prag.adb
959 (Analyze_Pre_Post_Condition): Expect pre/post aspects on
960 access-to-subprogram and complain if they appear without -gnat2022
961 switch.
962 (Analyze_Pre_Post_Condition_In_Decl_Part): Adapt to handle
963 pre/post on an access-to-subprogram type entity.
964 * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
965 (Result): Likewise.
966
6e6bb373
GA
9672023-05-26 Bob Duff <duff@adacore.com>
968
969 * sem_ch3.adb
970 (Build_Derived_Record_Type): Temporarily set the state of the
971 Derived_Type to "self-hidden" while processing constraints
972 and discriminants of a record extension.
973
9742023-05-26 Bob Duff <duff@adacore.com>
975
976 * einfo.ads: Add comma.
977 * contracts.adb: Fix typos.
978 * exp_attr.adb: Likewise.
979 * exp_ch5.adb: Likewise.
980 * exp_ch6.adb: Likewise.
981 * lib-xref.adb: Likewise.
982
9832023-05-26 Eric Botcazou <ebotcazou@adacore.com>
984
985 * debug.adb (d.N): Document new usage.
986 * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate
987 flag when rewriting a floating-point to fixed-point conversion as
988 a floating-point to integer conversion.
989 * exp_fixd.adb: Add with and use clauses for Debug.
990 (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases
991 except if the result is explicitly rounded.
992 (Expand_Convert_Integer_To_Fixed): Likewise.
993 (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind
994 of fixed-point types, except if the result is explicitly rounded, or
995 -gnatd.N is specified and the type is an ordinary fixed-point type.
996 * sinfo.ads (Float_Truncate): Document usage for floating-point to
997 fixed-point conversions.
998
9992023-05-26 Javier Miranda <miranda@adacore.com>
1000
1001 * exp_ch4.adb
1002 (Expand_N_Allocator): If an allocator with constraints is called
1003 in the return statement of a function returning a general access
1004 type, then propagate to the itype the master of the general
1005 access type (since it is the master associated with the
1006 returned object).
1007
10082023-05-26 Yannick Moy <moy@adacore.com>
1009
1010 * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and
1011 assertion that clarifies when we reassigned to a useful value.
1012
10132023-05-26 Yannick Moy <moy@adacore.com>
1014
1015 * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on
1016 pattern matching limitation.
1017 * gnat_rm.texi: Regenerate.
1018 * gnat_ugn.texi: Regenerate.
1019
10202023-05-26 Yannick Moy <moy@adacore.com>
1021
1022 * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may
1023 raise Time_Error.
1024 * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may
1025 lead to an overflow (which is not the case of Tan with one parameter for
1026 example, or Arctanh or Arcoth, despite their mathematical range covering
1027 the reals).
1028 * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as
1029 this is now compulsory for functions to always return in SPARK.
1030 * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure
1031 which may not return.
1032
10332023-05-26 Bob Duff <duff@adacore.com>
1034
1035 * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as
1036 'Image.
1037 * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand
1038 to 'Image instead of 'Img.
1039 * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads:
1040 Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove
1041 unnecessary qualifications. DRY: Don't repeat "True".
1042
10432023-05-26 Piotr Trojanek <trojanek@adacore.com>
1044
1045 * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present.
1046 * sem_util.adb (Find_Untagged_Type_Of): Likewise.
1047
10482023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1049
1050 * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code.
1051 (Expand_Array_Aggregate): In the case where a temporary is created
1052 and the parent is an assignment statement with No_Ctrl_Actions set,
1053 set Is_Ignored_Transient on the temporary.
1054
10552023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1056
1057 * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to
1058 that of the instance only after loading the generic's parent.
1059 (Instantiate_Subprogram_Body): Likewise.
1060
10612023-05-26 Piotr Trojanek <trojanek@adacore.com>
1062
1063 * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else.
1064
10652023-05-26 Piotr Trojanek <trojanek@adacore.com>
1066
1067 * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to
1068 Unqual_Conv; consequently, change object from variable to constant;
1069 replace an IF statement with an AND THEN expression.
1070
10712023-05-26 Piotr Trojanek <trojanek@adacore.com>
1072
1073 * exp_ch9.adb
1074 (Build_Entry_Count_Expression): Remove loop over component declaration;
1075 consequently remove a parameter that is no longer used; adapt callers.
1076 (Make_Task_Create_Call): Refine type of a local variable.
1077
10782023-05-26 Piotr Trojanek <trojanek@adacore.com>
1079
1080 * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside
1081 loop, not in the loop condition itself.
1082
10832023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1084
1085 * libgnat/a-cbdlli.ads (List): Move Nodes component to the end.
1086
10872023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1088
1089 * libgnat/a-crdlli.ads (List): Move Nodes component to the end.
1090
10912023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1092
1093 * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate.
1094 (Resolve_Attribute): Apply the static matching legality rule to an
1095 Unrestricted_Access attribute applied to an aliased prefix if the
1096 type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the
1097 aliasing legality rule as well.
1098
10992023-05-26 Piotr Trojanek <trojanek@adacore.com>
1100
1101 * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and
1102 Next_Non_Pragma to ignore pragmas within component list.
1103
11042023-05-26 Piotr Trojanek <trojanek@adacore.com>
1105
1106 * sem_prag.adb (Get_Argument): Improve detection of generic units.
1107
11082023-05-26 Piotr Trojanek <trojanek@adacore.com>
1109
1110 * sem_ch4.adb (Check_Action_OK): Replace low-level test with a
1111 high-level routine.
1112 * sem_ch13.adb (Is_Predicate_Static): Likewise.
1113
11142023-05-26 Javier Miranda <miranda@adacore.com>
1115
1116 * exp_ch9.adb
1117 (Expand_N_Conditional_Entry_Call): Factorize code to avoid
1118 duplicating subtrees; required to avoid problems when the copied
1119 code has implicit labels.
1120 * sem_util.ads (New_Copy_Separate_List): Removed.
1121 (New_Copy_Separate_Tree): Removed.
1122 * sem_util.adb (New_Copy_Separate_List): Removed.
1123 (New_Copy_Separate_Tree): Removed.
1124
11252023-05-26 Piotr Trojanek <trojanek@adacore.com>
1126
1127 * sem_ch13.adb (Check_Component_List): Local variable Compl is now
1128 a constant; a nested block is no longer needed.
1129
11302023-05-26 Piotr Trojanek <trojanek@adacore.com>
1131
1132 * sem_aggr.adb
1133 (Resolve_Record_Aggregate): Remove useless assignment.
1134 * sem_aux.adb
1135 (Has_Variant_Part): Remove useless guard; this routine is only called
1136 on type entities (and now will crash in other cases).
1137 * sem_ch3.adb
1138 (Create_Constrained_Components): Only assign Assoc_List when necessary;
1139 tune whitespace.
1140 (Is_Variant_Record): Refactor repeated calls to Parent.
1141 * sem_util.adb
1142 (Gather_Components): Assert that discriminant association has just one
1143 choice in component_association; refactor repeated calls to Next.
1144 * sem_util.ads
1145 (Gather_Components): Tune whitespace in comment.
1146
11472023-05-26 Piotr Trojanek <trojanek@adacore.com>
1148
1149 * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with
1150 First_Non_Pragma and Next_Non_Pragma.
1151 * exp_dist.adb (Append_Record_Traversal): Likewise.
1152
11532023-05-26 Javier Miranda <miranda@adacore.com>
1154
1155 * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks
1156 that have a task master entity declaration.
1157 (Build_Master_Entity): Code cleanup.
1158 * sem_util.ads (Is_Internal_Block): New subprogram.
1159 * sem_util.adb (Is_Internal_Block): New subprogram.
1160
11612023-05-26 Piotr Trojanek <trojanek@adacore.com>
1162
1163 * sem_util.adb (Gather_Components): Remove guard for empty list of
1164 components.
1165
11662023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1167
1168 * back_end.adb (Call_Back_End): Add gigi_standard_address to the
1169 signature of the gigi procedure and alphabetize other parameters.
1170 Pass Standard_Address as actual parameter for it.
1171 * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address
1172 on Standard_Address.
1173 * gcc-interface/gigi.h (gigi): Add a standard_address parameter and
1174 alphabetize others.
1175 * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address
1176 type and save it as the type for Standard.Address.
1177
11782023-05-26 Ghjuvan Lacambre <lacambre@adacore.com>
1179
1180 * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag.
1181 * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as
1182 N_Object_Declaration.
1183
11842023-05-26 Piotr Trojanek <trojanek@adacore.com>
1185
1186 * exp_aggr.adb
1187 (Build_Constrained_Type): Remove local constants that were shadowing
1188 equivalent global constants; replace a wrapper that calls
1189 Make_Integer_Literal with a numeric literal; remove explicit
1190 Aliased_Present parameter which is equivalent to the default value.
1191 (Check_Bounds): Remove unused initial value.
1192 (Expand_Array_Aggregate): Use aggregate type from the context.
1193
11942023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1195
1196 * einfo.ads (Delay_Cleanups): Document new usage.
1197 * exp_ch7.ads (Build_Finalizer): New declaration.
1198 * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat
1199 library-level package instantiations specially.
1200 (Build_Finalizer): Return early for package bodies and specs that
1201 are not compilation units instead of using a more convoluted test.
1202 (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups
1203 is set on the defining entity.
1204 (Expand_N_Package_Declaration): Likewise.
1205 * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop.
1206 (Add_Pending_Instantiation): Add Fin_Scop parameter.
1207 * inline.adb (Add_Pending_Instantiation): Likewise and copy it into
1208 the Pending_Body_Info appended to Pending_Instantiations.
1209 (Add_Scope_To_Clean): Change parameter name to Scop and remove now
1210 irrelevant processing.
1211 (Cleanup_Scopes): Deal with scopes that are package specs or bodies.
1212 (Instantiate_Body): For package instantiations, deal specially with
1213 scopes that are package bodies and with scopes that are dynamic.
1214 Pass the resulting scope to Add_Scope_To_Clean directly.
1215 * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a
1216 body is needed, compute the enclosing finalization scope and pass it
1217 in the call to Add_Pending_Instantiation.
1218 (Inline_Instance_Body): Adjust aggregate passed in the calls to
1219 Instantiate_Package_Body.
1220 (Load_Parent_Of_Generic): Likewise.
1221
12222023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1223
1224 * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind.
1225
12262023-05-26 Piotr Trojanek <trojanek@adacore.com>
1227
1228 * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count
1229 expressions in consecutive subaggregates.
1230
12312023-05-26 Doug Rupp <rupp@adacore.com>
1232
1233 * libgnarl/s-osinte__qnx.ads (sigset_t): Modify
1234 declaration to use system.os_constants computed
1235 value. Align it.
1236
12372023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1238
1239 * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo
1240 and Sinfo.Nodes.
1241 (Build_K): Always use 'Tag of the object.
1242 (Build_S_Assignment): Likewise.
1243
12442023-05-26 Piotr Trojanek <trojanek@adacore.com>
1245
1246 * accessibility.adb
1247 (Is_Formal_Of_Current_Function): This routine expects an entity
1248 reference and not the entity itself, so its parameter is a Node_Id
1249 and not an Entity_Id.
1250
12512023-05-26 Piotr Trojanek <trojanek@adacore.com>
1252
1253 * exp_aggr.adb
1254 (Build_Array_Aggr_Code): Change variable to constant.
1255 (Check_Same_Aggr_Bounds): Fix style; remove unused initial value.
1256
12572023-05-26 Ronan Desplanques <desplanques@adacore.com>
1258
1259 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals
1260 in more situations.
1261
12622023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1263
1264 * checks.adb (Selected_Range_Checks): Add guards to protect calls
1265 to Expr_Value on bounds.
1266
12672023-05-26 Eric Botcazou <ebotcazou@adacore.com>
1268
1269 * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time
1270 known bounds and add WARNING line.
1271 (Not_Null_Range): Remove requirements of compile-time known bounds.
1272 * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare.
1273 (Not_Null_Range): Likewise.
1274 * fe.h (Is_Null_Range): New predicate.
1275
47c4245b
GA
12762023-05-25 Javier Miranda <miranda@adacore.com>
1277
1278 * sem_aggr.adb
1279 (Warn_On_Null_Component_Association): New subprogram.
1280 (Empty_Range): Adding missing support for iterated component
1281 association node.
1282 (Resolve_Array_Aggregate): Report warning on iterated component
1283 association that may initialize some component of an array of
1284 null-excluding access type components with a null value.
1285 * exp_ch4.adb
1286 (Expand_N_Expression_With_Actions): Add missing type check since
1287 the subtype of the EWA node and the subtype of the expression
1288 may differ.
1289
12902023-05-25 Piotr Trojanek <trojanek@adacore.com>
1291
1292 * sem_util.adb (Determining_Expressions): Fix style; fix layout and
1293 ordering of pragma names; expect pragma Exceptional_Cases.
1294
12952023-05-25 Piotr Trojanek <trojanek@adacore.com>
1296
1297 * einfo-utils.adb (Write_Entity_Info): Use procedural Next_Index.
1298 * sem_aggr.adb (Collect_Aggr_Bounds): Reuse local constant.
1299 (Resolve_Null_Array_Aggregate): Use procedural Next_Index.
1300
13012023-05-25 Javier Miranda <miranda@adacore.com>
1302
1303 * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to
1304 aggregate components when the aggregate is empty.
1305
13062023-05-25 Johannes Kliemann <kliemann@adacore.com>
1307
1308 * libgnat/system-vxworks7-ppc-kernel.ads: Enable
1309 Support_Atomic_Primitives.
1310 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
1311
13122023-05-25 Eric Botcazou <ebotcazou@adacore.com>
1313
1314 * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when
1315 building the subtype declaration in the case of a spec expression.
1316
13172023-05-25 Tom Tromey <tromey@adacore.com>
1318
1319 * Make-generated.in (ada/stamp-snames): Check result of
1320 gnatmake.
1321
13222023-05-25 Eric Botcazou <ebotcazou@adacore.com>
1323
1324 * cstand.adb (Create_Standard): Set the Is_Descendant_Of_Address
1325 flag on Standard_Address.
1326 * freeze.adb (Freeze_Entity): Copy the modulus of System.Address
1327 onto Standard_Address.
1328
13292023-05-25 Eric Botcazou <ebotcazou@adacore.com>
1330
1331 * libgnat/system-aix.ads (Address): Likewise.
1332 * libgnat/system-darwin-arm.ads (Address): Likewise.
1333 * libgnat/system-darwin-ppc.ads (Address): Likewise.
1334 * libgnat/system-darwin-x86.ads (Address): Likewise.
1335 * libgnat/system-djgpp.ads (Address): Likewise.
1336 * libgnat/system-dragonfly-x86_64.ads (Address): Likewise.
1337 * libgnat/system-freebsd.ads (Address): Likewise.
1338 * libgnat/system-hpux-ia64.ads (Address): Likewise.
1339 * libgnat/system-hpux.ads (Address): Likewise.
1340 * libgnat/system-linux-alpha.ads (Address): Likewise.
1341 * libgnat/system-linux-arm.ads (Address): Likewise.
1342 * libgnat/system-linux-hppa.ads (Address): Likewise.
1343 * libgnat/system-linux-ia64.ads (Address): Likewise.
1344 * libgnat/system-linux-m68k.ads (Address): Likewise.
1345 * libgnat/system-linux-mips.ads (Address): Likewise.
1346 * libgnat/system-linux-ppc.ads (Address): Likewise.
1347 * libgnat/system-linux-riscv.ads (Address): Likewise.
1348 * libgnat/system-linux-s390.ads (Address): Likewise.
1349 * libgnat/system-linux-sh4.ads (Address): Likewise.
1350 * libgnat/system-linux-sparc.ads (Address): Likewise.
1351 * libgnat/system-linux-x86.ads (Address): Likewise.
1352 * libgnat/system-lynxos178-ppc.ads (Address): Likewise.
1353 * libgnat/system-lynxos178-x86.ads (Address): Likewise.
1354 * libgnat/system-mingw.ads (Address): Likewise.
1355 * libgnat/system-qnx-arm.ads (Address): Likewise.
1356 * libgnat/system-rtems.ads (Address): Likewise.
1357 * libgnat/system-solaris-sparc.ads (Address): Likewise.
1358 * libgnat/system-solaris-x86.ads (Address): Likewise.
1359 * libgnat/system-vxworks-ppc-kernel.ads (Address): Likewise.
1360 * libgnat/system-vxworks-ppc-rtp-smp.ads (Address): Likewise.
1361 * libgnat/system-vxworks-ppc-rtp.ads (Address): Likewise.
1362 * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Address): Likewise.
1363 * libgnat/system-vxworks7-aarch64.ads (Address): Likewise.
1364 * libgnat/system-vxworks7-arm-rtp-smp.ads (Address): Likewise.
1365 * libgnat/system-vxworks7-arm.ads (Address): Likewise.
1366 * libgnat/system-vxworks7-ppc-kernel.ads (Address): Likewise.
1367 * libgnat/system-vxworks7-ppc-rtp-smp.ads (Address): Likewise.
1368 * libgnat/system-vxworks7-ppc64-kernel.ads (Address): Likewise.
1369 * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Address): Likewise.
1370 * libgnat/system-vxworks7-x86-kernel.ads (Address): Likewise.
1371 * libgnat/system-vxworks7-x86-rtp-smp.ads (Address): Likewise.
1372 * libgnat/system-vxworks7-x86_64-kernel.ads (Address): Likewise.
1373 * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Address): Likewise.
1374
13752023-05-25 Marc Poulhiès <poulhies@adacore.com>
1376
1377 * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string,
1378 use existing local Ident.
1379
13802023-05-25 Bob Duff <duff@adacore.com>
1381
1382 * atree.adb (Check_Vanishing_Fields): Fix bug in the "blah type
1383 only" cases. Remove the special cases for E_Void. Misc cleanup.
1384 (Mutate_Nkind): Disallow mutating to the same kind.
1385 (Mutate_Ekind): Disallow mutating to E_Void.
1386 (From E_Void is still OK -- entities start out as E_Void by
1387 default.) Fix bug in statistics gathering -- was setting the wrong
1388 count. Enable Check_Vanishing_Fields for entities.
1389 * sem_ch8.adb (Is_Self_Hidden): New function.
1390 (Find_Direct_Name): Call Is_Self_Hidden to use the new
1391 Is_Not_Self_Hidden flag to determine whether a declaration is
1392 hidden from all visibility by itself. This replaces the old method
1393 of checking E_Void.
1394 (Find_Expanded_Name): Likewise.
1395 (Find_Selected_Component): Likewise.
1396 * sem_util.adb (Enter_Name): Remove setting of Ekind to E_Void.
1397 * sem_ch3.adb: Set the Is_Not_Self_Hidden flag in appropriate
1398 places. Comment fixes.
1399 (Inherit_Component): Remove setting of Ekind to E_Void.
1400 * sem_ch9.adb
1401 (Analyze_Protected_Type_Declaration): Update comment. Skip Itypes,
1402 which should not be turned into components.
1403 * atree.ads (Mutate_Nkind): Document error case.
1404 (Mutate_Ekind): Remove comments apologizing for E_Void mutations.
1405 Document error cases.
1406
14072023-05-25 Eric Botcazou <ebotcazou@adacore.com>
1408
1409 * libgnat/a-ststio.adb (Set_Mode): Test System.Memory_Size.
1410 * libgnat/g-debuti.ads (Address_64): Likewise.
1411 * libgnat/i-c.ads: Add with clause for System.
1412 (ptrdiff_t): Define based on the size of memory space.
1413 (size_t): Likewise.
1414 * libgnat/s-crtl.ads (size_t): Likewise.
1415 (ssize_t): Likewise.
1416 * libgnat/s-memory.ads (size_t): Likewise.
1417 * libgnat/s-parame.ads (Size_Type): Likewise.
1418 * libgnat/s-parame__hpux.ads (Size_Type): Likewise.
1419 * libgnat/s-parame__posix2008.ads (Size_Type): Likewise.
1420 * libgnat/s-parame__vxworks.ads (Size_Type): Likewise.
1421 * libgnat/s-putima.adb (Signed_Address): Likewise.
1422 (Unsigned_Address): Likewise.
1423 * libgnat/s-stoele.ads (Storage_Offset): Likewise.
1424
14252023-05-25 Piotr Trojanek <trojanek@adacore.com>
1426
1427 * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition
1428 as when it was incremented.
1429
14302023-05-25 Piotr Trojanek <trojanek@adacore.com>
1431
1432 * sem_util.ads (New_Copy_Tree): Remove Scopes_In_EWA_OK from spec;
1433 adapt comment.
1434 * sem_util.adb (New_Copy_Tree): Remove Scopes_In_EWA_OK from body;
1435 adapt code.
1436
14372023-05-25 Piotr Trojanek <trojanek@adacore.com>
1438
1439 * sem_util.adb (Update_New_Entities): Remove redundant check for entity
1440 map being present.
1441
14422023-05-25 Piotr Trojanek <trojanek@adacore.com>
1443
1444 * atree.adb (Copy_List): Call Copy_Separate_Tree for both entities and
1445 other nodes.
1446
14472023-05-25 Steve Baird <baird@adacore.com>
1448
1449 * exp_attr.adb
1450 (Cached_Streaming_Ops): A new package, providing maps to save
1451 previously-generated Read/Write/Input/Output procedures.
1452 (Expand_N_Attribute_Reference): When a new subprogram is generated
1453 for a Read/Write/Input/Output attribute reference, record that
1454 type/subp pair in the appropriate Cached_Streaming_Ops map.
1455 (Find_Stream_Subprogram): Check the appropriate
1456 Cached_Streaming_Ops map to see if an appropriate subprogram has
1457 already been generated. If so, then return it. The appropriateness
1458 test includes a call to a new nested subprogram,
1459 In_Available_Context.
1460 * exp_strm.ads, exp_strm.adb: Do not pass in a Loc parameter (or a
1461 source-location-bearing Nod parameter) to the 16 procedures
1462 provided for building streaming-related subprograms. Use the
1463 source location of the type instead.
1464 * exp_dist.adb, exp_ch3.adb: Adapt to Exp_Strm spec changes. For
1465 these calls the source location of the type was already being
1466 used.
1467
14682023-05-25 Marc Poulhiès <poulhies@adacore.com>
1469
1470 * sem_ch6.adb (Analyze_Function_Return): Add missing
1471 Is_Access_Type check before accessing the Designated_Type field.
1472
14732023-05-25 Piotr Trojanek <trojanek@adacore.com>
1474
1475 * sem_ch6.adb (Analyze_Return_Type): Remove unused initial value.
1476
14772023-05-25 Marc Poulhiès <poulhies@adacore.com>
1478
1479 * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item.
1480 (Check_Aspect_At_Freeze_Point): Check the aspect is specified on
1481 non-array type only...
1482 (Analyze_One_Aspect): ... instead of doing it too early here.
1483 * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case
1484 the parameters failed to resolve.
1485
14862023-05-25 Piotr Trojanek <trojanek@adacore.com>
1487
1488 * sem_util.adb (Check_Internal_Protected_Use): Add standard protection
1489 against search going too far.
1490
14912023-05-25 Piotr Trojanek <trojanek@adacore.com>
1492
1493 * contracts.adb
1494 (Add_Pre_Post_Condition): Mention new aspects in the comment.
1495 * contracts.ads
1496 (Add_Contract_Item): Likewise.
1497 (Analyze_Subprogram_Body_Stub_Contract): Likewise.
1498 * sem_prag.adb
1499 (Contract_Freeze_Error): Likewise.
1500 (Ensure_Aggregate_Form): Likewise.
1501 * sem_prag.ads
1502 (Find_Related_Declaration_Or_Body): Likewise.
1503 * sinfo.ads
1504 (Is_Generic_Contract_Pragma): Likewise.
1505
15062023-05-25 Piotr Trojanek <trojanek@adacore.com>
1507
1508 * aspects.ads
1509 (Implementation_Defined_Aspect): Recently added aspects are
1510 implementation-defined, just like Contract_Cases.
1511 * sem_prag.ads
1512 (Aspect_Specifying_Pragma): Recently added aspects have corresponding
1513 pragmas, just like Contract_Cases.
1514 (Pragma_Significant_To_Subprograms): Recently added aspects are
1515 significant to subprograms, just like Contract_Cases.
1516
15172023-05-25 Piotr Trojanek <trojanek@adacore.com>
1518
1519 * sem_res.adb (Resolve_Entity_Name): Tune handling of formal parameters
1520 in contract Exceptional_Cases.
1521
15222023-05-25 Piotr Trojanek <trojanek@adacore.com>
1523
1524 * par-ch7.adb (P_Package): Remove redundant guard from call to
1525 Move_Aspects.
1526 * par-ch9.adb (P_Task): Likewise.
1527 * sem_ch6.adb (Analyze_Expression_Function, Is_Inline_Pragma): Likewise.
1528
15292023-05-25 Eric Botcazou <ebotcazou@adacore.com>
1530
1531 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Use Get_Actual_Subtype
1532 to retrieve the actual subtype for all actuals and do it in only one
1533 place for all unconstrained composite formal types.
1534
15352023-05-25 Piotr Trojanek <trojanek@adacore.com>
1536
1537 * sem_prag.adb (Analyze_Pragma): Fix references to Exceptional_Cases in
1538 code copied from handling of Subprogram_Variant.
1539
15402023-05-25 Ronan Desplanques <desplanques@adacore.com>
1541
1542 * sem_ch3.adb (Replace_Type): Add more documentation.
1543
15442023-05-25 Ronan Desplanques <desplanques@adacore.com>
1545
1546 * sem_ch3.adb (Replace_Type): Use existing constant wherever
1547 possible.
1548
15492023-05-25 Ronan Desplanques <desplanques@adacore.com>
1550
1551 * sem_ch3.adb (Replace_Type): Reduce span of variable.
1552
15532023-05-25 Bob Duff <duff@adacore.com>
1554
1555 * sem_ch9.adb (Analyze_Protected_Type_Declaration): Set the flag
1556 for protected types.
1557 (Analyze_Single_Protected_Declaration): Likewise, for singleton
1558 protected objects.
1559 (Analyze_Task_Type_Declaration): Set the flag for task types.
1560 (Analyze_Single_Task_Declaration): Likewise, for singleton task
1561 objects.
1562 * sem_ch10.adb (Decorate_Type): Set the flag for types treated as
1563 incomplete.
1564 (Build_Shadow_Entity): Set the flag for shadow entities.
1565 (Decorate_State): Set the flag for an abstract state.
1566 (Build_Limited_Views): Set the flag for limited view of package.
1567 * sem_attr.adb (Check_Not_Incomplete_Type): Disable the check when
1568 this is a current instance.
1569
15702023-05-25 Ronan Desplanques <desplanques@adacore.com>
1571
1572 * freeze.adb (Build_DTW_Body): Add appropriate type conversions for
1573 controlling access parameters.
1574 * sem_util.adb (Build_Overriding_Spec): Fix designated types in
1575 controlling access parameters.
1576
15772023-05-25 Bob Duff <duff@adacore.com>
1578
1579 * gen_il-gen-gen_entities.adb (E_Label): Add
1580 Entry_Cancel_Parameter. This is necessary because
1581 Analyze_Implicit_Label_Declaration set the Ekind to E_Label.
1582 Without this change, this field would fail the vanishing-fields
1583 check in Atree (which is currently commented out).
1584 * einfo.ads (Entry_Cancel_Parameter): Document for E_Label.
1585 * sem_eval.adb (Why_Not_Static): Protect against previous errors
1586 (no need to explain why something is not static if it's already
1587 illegal for other reasons).
1588 * sem_util.ads (Enter_Name): Fix misleading comment.
1589
15902023-05-25 Eric Botcazou <ebotcazou@adacore.com>
1591
1592 * einfo.ads (Scope_Depth): Fix circular definition.
1593 (Scope_Depth_Value): Fix value for library units.
1594
15952023-05-25 Piotr Trojanek <trojanek@adacore.com>
1596
1597 * sem_ch11.adb (Analyze_Raise_Expression): Tune warning condition.
1598 * libgnat/g-dirope.ads (Open): Remove a potentially inaccurate comment.
1599 * libgnat/g-dirope.adb (Open): Remove a potentially useless assignment;
1600 the Dir output parameter should be assigned a null value anyway by the
1601 preceding call to Free.
1602
16032023-05-25 Piotr Trojanek <trojanek@adacore.com>
1604
1605 * sem_res.adb (Resolve_Entity_Name): Allow aliased parameters; tune
1606 error message.
1607
16082023-05-25 Marc Poulhiès <poulhies@adacore.com>
1609
1610 * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as
1611 needing delayed resolution and reject the aspect on non-array
1612 type.
1613
16142023-05-25 Bob Duff <duff@adacore.com>
1615
1616 * sinfo-utils.adb: Update comment to refer to
1617 New_Node_Debugging_Output.
1618
16192023-05-25 Marc Poulhiès <poulhies@adacore.com>
1620
1621 * rtsfind.adb (Load_RTU.Restore_SPARK_Context): New.
1622 (Load_RTU): Use Restore_SPARK_Context on all exit paths.
1623 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Initialize local
1624 variable to Empty.
1625
16262023-05-25 Piotr Trojanek <trojanek@adacore.com>
1627
1628 * sem_attr.adb
1629 (Analyze_Attribute_Old_Result): Allow uses of 'Old and 'Result within
1630 the new aspect.
1631 * sem_res.adb
1632 (Within_Exceptional_Cases_Consequence): New utility routine.
1633 (Resolve_Entity_Name): Restrict use of formal parameters within the
1634 new aspect.
1635
03c7c418
GA
16362023-05-23 Piotr Trojanek <trojanek@adacore.com>
1637
1638 * aspects.ads
1639 (Aspect_Id): Add aspect identifier.
1640 (Aspect_Argument): New aspect accepts an expression.
1641 (Is_Representation_Aspect): New aspect is not a representation
1642 aspect.
1643 (Aspect_Names): Associate name with the new aspect identifier.
1644 (Aspect_Delay): New aspect is never delayed.
1645 * contracts.adb
1646 (Add_Contract_Item): Store new aspect among contract items.
1647 (Analyze_Entry_Or_Subprogram_Contract): Likewise.
1648 (Analyze_Subprogram_Body_Stub_Contract): Likewise.
1649 (Process_Contract_Cases): Expand new aspect, if present.
1650 * contracts.ads
1651 (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in
1652 spec.
1653 (Analyze_Entry_Or_Subprogram_Contract): Likewise.
1654 * einfo-utils.adb
1655 (Get_Pragma): Allow new aspect to be picked by the backend.
1656 * einfo-utils.ads
1657 (Get_Pragma): Mention new aspect in spec.
1658 * exp_prag.adb
1659 (Expand_Pragma_Exceptional_Cases): Dummy expansion routine.
1660 * exp_prag.ads
1661 (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine.
1662 * inline.adb
1663 (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline.
1664 * par-prag.adb
1665 (Par.Prag): Accept pragma in the parser, so it will be checked
1666 later.
1667 * sem_ch12.adb
1668 (Implementation of Generic Contracts): Mention new aspect in
1669 comment.
1670 * sem_ch13.adb
1671 (Analyze_Aspect_Specifications): Transform new aspect info a
1672 corresponding pragma.
1673 * sem_prag.adb
1674 (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect
1675 expression; heavily inspired by the existing code for analysis of
1676 Subprogram_Variant and exception handlers.
1677 (Analyze_Pragma): Analyze pragma corresponding to the new aspect.
1678 (Is_Non_Significant_Pragma_Reference): Add new pragma to the
1679 table.
1680 * sem_prag.ads
1681 (Assertion_Expression_Pragma): New pragma acts as an assertion
1682 expression, even though it is not currently expanded.
1683 (Analyze_Exceptional_Cases_In_Decl_Part): Add spec.
1684 * sem_util.adb
1685 (Is_Subprogram_Contract_Annotation): Mark new annotation is a
1686 subprogram contract, so the subprogram with it won't be inlined.
1687 * sem_util.ads
1688 (Is_Subprogram_Contract_Annotation): Mention new aspect in
1689 comment.
1690 * sinfo.ads
1691 (Contract_Test_Cases): Mention new aspect in comment.
1692 * snames.ads-tmpl: Add entries for the new name and pragma.
1693
16942023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1695
1696 * sem_ch13.adb (Build_Predicate_Functions): If the current scope
1697 is not that of the type, push this scope and pop it at the end.
1698 * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete.
1699 * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise.
1700 (Set_Public_Status): Call again Current_Scope.
1701
17022023-05-23 Gary Dismukes <dismukes@adacore.com>
1703
1704 * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from
1705 call to Is_Limited_Record, since that flag is now properly
1706 inherited by class-wide types.
1707 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call
1708 to Make_Class_Wide_Type, which is done too early, and will later
1709 be done in Build_Derived_Record_Type after flags such as
1710 Is_Limited_Record and Is_Controlled_Active have been set on the
1711 derived type.
1712
17132023-05-23 Patrick Bernardi <bernardi@adacore.com>
1714
1715 * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses.
1716
17172023-05-23 Piotr Trojanek <trojanek@adacore.com>
1718
1719 * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack.
1720 * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS
1721 choice.
1722 * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses.
1723
17242023-05-23 Piotr Trojanek <trojanek@adacore.com>
1725
1726 * sem_ch11.adb
1727 (Check_Duplication): Fix inconsistent iteration.
1728 (Others_Present): Iterate over handlers using First_Non_Pragma and
1729 Next_Non_Pragma just like in Check_Duplication.
1730
17312023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1732
1733 * einfo.ads (Delay_Subprogram_Descriptors): Delete.
1734 * gen_il-fields.ads (Opt_Field_Enum): Remove
1735 Delay_Subprogram_Descriptors.
1736 * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise.
1737 * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec.
1738 * sinfo.ads (Corresponding_Spec): Document new use.
1739 (N_Entry_Body): Likewise.
1740 * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for
1741 protected subprograms that have been expanded.
1742 * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code.
1743 * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the
1744 new block and propagate Uses_Sec_Stack from the corresponding spec.
1745 (Expand_N_Protected_Body) <N_Subprogram_Body>: Unconditionally reset
1746 the scopes of top-level entities in the new body.
1747 * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly.
1748 * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec.
1749 * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code
1750 setting Delay_Subprogram_Descriptors and tidy up.
1751 * sem_util.adb (Scope_Within): Deal with protected subprograms that
1752 have been expanded.
1753 (Scope_Within_Or_Same): Likewise.
1754
17552023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1756
1757 * libgnarl/s-taskin.ads (Atomic_Address): Delete.
1758 (Attribute_Array): Add pragma Atomic_Components.
1759 (Ada_Task_Control_Block): Adjust default value of Attributes.
1760 * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local
1761 variable.
1762 * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter.
1763 (To_Attribute): Adjust source type.
1764 * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements.
1765 (New_Attribute): Adjust return type.
1766 (Deallocate): Adjust type of parameter.
1767 (To_Real_Attribute): Adjust source type.
1768 (To_Address): Add target type.
1769 (To_Attribute): Adjust source type.
1770 (Fast_Path): Adjust tested type.
1771 (Finalize): Compare with Null_Address.
1772 (Reference): Likewise.
1773 (Reinitialize): Likewise.
1774 (Set_Value): Likewise. Add conversion to Integer_Address.
1775 (Value): Likewise.
1776
17772023-05-23 Raphael Amiard <amiard@adacore.com>
1778
1779 * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed
1780 by Core_Extensions_Allowed.
1781
17822023-05-23 Claire Dross <dross@adacore.com>
1783
1784 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers.
1785 * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost,
1786 Raw_Unsigned_Is_Based_Ghost): New ghost helper functions.
1787 (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost,
1788 Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new
1789 helpers.
1790
17912023-05-23 Arnaud Charlet <charlet@adacore.com>
1792
1793 * par-ch5.adb, style.ads, styleg.adb, styleg.ads
1794 (Check_Xtra_Parens): Remove extra parameter Enable.
1795 (Check_Xtra_Parens_Precedence): New.
1796 (P_Case_Statement): Add -gnatyx style check.
1797 * sem_ch4.adb: Replace calls to Check_Xtra_Parens by
1798 Check_Xtra_Parens_Precedence.
1799 * stylesw.ads, stylesw.adb, usage.adb: Add support for
1800 -gnatyz.
1801 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
1802 Update -gnatyxzg doc.
1803 * sem_prag.adb, libgnat/s-regpat.adb,
1804 libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb:
1805 Remove extra parens.
1806 * par-ch3.adb (P_Discrete_Range): Do not emit a style check if
1807 the expression is not a simple expression.
1808 * gnat_ugn.texi: Regenerate.
1809
18102023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1811
1812 * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of
1813 System.Storage_Elements to compute the offset.
1814 (Symbolic_Address): Likewise.
1815
18162023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1817
1818 * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same
1819 resolution for the special mod operator of System.Storage_Elements.
1820
18212023-05-23 Raphael Amiard <amiard@adacore.com>
1822
1823 * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst,
1824 doc/gnat_rm/implementation_defined_pragmas.rst:
1825 * gnat_rm.texi: Regenerate.
1826
18272023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1828
1829 * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special
1830 operator of System.Storage_Elements. Do not rewrite it into a rem.
1831 * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the
1832 left operand for the special mod operator of System.Storage_Elements
1833
18342023-05-23 Vadim Godunko <godunko@adacore.com>
1835
1836 * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call
1837 of Detach
1838 (Query_Element): Likewise.
1839
18402023-05-23 Ronan Desplanques <desplanques@adacore.com>
1841
1842 * sem_disp.adb: Fix reference to Ada issue in comment.
1843
18442023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1845
1846 * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface
1847 class-wide case, use 'Tag of the object as the controlling tag.
1848 (Expand_Interface_Thunk): Perform address arithmetic using operators
1849 of System.Storage_Elements.
1850
18512023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1852
1853 * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements.
1854 (Addr): Delete.
1855 (Offset): New subtype of Storage_Offset.
1856 (To_Offset): New instance of Unchecked_Conversion.
1857 (To_Pointer): Adjust.
1858 (To_Addr): Likewise.
1859 (To_Ptrdiff): Likewise.
1860 ("+"): Call To_Offset on the offset.
1861 ("-"): Likewise.
1862 * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements.
1863 (Val_Bytes): Change type to Storage_Count.
1864 (Get_Val_2): Add qualification to second operand of mod operator.
1865 (Set_Val_2): Likewise.
1866 (Copy_Bitfield): Likewise. Change type of Src_Adjust & Dest_Adjust.
1867 * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address.
1868 * libgnat/s-statxd.adb (I_AD): Adjust.
1869 (I_AS): Likewise.
1870 (W_AS): Likewise.
1871
18722023-05-23 Steve Baird <baird@adacore.com>
1873
1874 * sem_util.adb
1875 (Is_Variable): Correctly return False for a selected component
1876 name of the form Some_Object.Some_Discriminant, even if
1877 Some_Object is a variable. We don't want to allow such a name as
1878 an actual parameter in a call if the corresponding formal
1879 parameter's mode is not "in".
1880
18812023-05-23 Yannick Moy <moy@adacore.com>
1882
1883 * sem_util.adb (Check_Node): Add default init on local Id.
1884
18852023-05-23 Yannick Moy <moy@adacore.com>
1886
1887 * libgnat/i-c.adb (To_Ada): Add loop invariant.
1888
18892023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1890
1891 * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod
1892 operator of System.Storage_Elements.
1893 * exp_intr.adb (Expand_To_Integer): New procedure.
1894 (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately.
1895 (Expand_To_Address): Deal with an argument with modular type.
1896 * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic
1897 on a derived intrinsic subprogram.
1898 * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic
1899 operators not coming from source exactly as those coming from
1900 source and also generate a reference in both cases.
1901 (Resolve_Op_Expon): Likewise.
1902 (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get
1903 a nonprivate base type.
1904 * snames.ads-tmpl (Name_To_Integer): New intrinsic name.
1905 * libgnat/s-stoele.ads: Replace pragma Convention with pragma
1906 Import throughout and remove pragma Inline_Always and
1907 Pure_Function.
1908 * libgnat/s-stoele.adb: Replace entire contents with pragma
1909 No_Body.
1910 * libgnat/s-atacco.adb: Adjust comment about pragma No_Body.
1911
19122023-05-23 Javier Miranda <miranda@adacore.com>
1913
1914 * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
1915 call to preanalyze class-wide conditions since here it is too
1916 early; they must be preanalyzed when full views of private types
1917 have been analyzed.
1918 * sem_ch7.adb (Analyze_Package_Specification): Preanalyze
1919 class-wide conditions of dispatching primitives defined in nested
1920 packages.
1921
19222023-05-23 Piotr Trojanek <trojanek@adacore.com>
1923
1924 * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1"
1925 statement into a subprogram; replace assertions with defensive code;
1926 fix few more off-by-one errors.
1927
19282023-05-23 Ronan Desplanques <desplanques@adacore.com>
1929
1930 * einfo.ads: Mention full name of LSP.
1931
19322023-05-23 Piotr Trojanek <trojanek@adacore.com>
1933
1934 * errout.adb (Last_Sloc): Rewrite skipping past numeric literals.
1935
19362023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1937
1938 * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the
1939 commentary to the current implementation.
1940 * sem_util.ads (Current_Scope_No_Loops): Move around.
1941 (Current_Scope_No_Loops_No_Blocks): New declaration.
1942 (Add_Block_Identifier): Fix formatting.
1943 * sem_util.adb (Add_Block_Identifier): Likewise.
1944 (Current_Scope_No_Loops_No_Blocks): New function.
1945 (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead
1946 of Current_Scope to get the current scope.
1947
19482023-05-23 Eric Botcazou <ebotcazou@adacore.com>
1949
1950 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not
1951 manually generate a predicate check. Call Unqualify before doing
1952 pattern matching on the expression.
1953 * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual
1954 subtype when it is built in the definite case.
1955
19562023-05-23 Piotr Trojanek <trojanek@adacore.com>
1957
1958 * libgnarl/s-interr.adb
1959 (Registered_Handler): Remove default expression.
1960 (Registered_Handlers): Switch to singly-linked list.
1961 (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants.
1962 (Is_Registered): Use singly-linked list.
1963 (Register_Interrupt_Handler): Use singly-linked list and initialized
1964 allocator; sync assertion with other unit variants.
1965 * libgnarl/s-interr__sigaction.adb: Likewise.
1966 * libgnarl/s-interr__vxworks.adb: Likewise.
1967 * libgnarl/s-interr__hwint.adb: Likewise.
1968 (Is_Registered): Remove repeated declaration.
1969
19702023-05-23 Piotr Trojanek <trojanek@adacore.com>
1971
1972 * pprint.adb (Expression_Image): Restore some of the old pretty-printing
1973 for CodePeer.
1974
19752023-05-23 Piotr Trojanek <trojanek@adacore.com>
1976
1977 * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters.
1978
19792023-05-23 Piotr Trojanek <trojanek@adacore.com>
1980
1981 * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens.
1982
19832023-05-23 Piotr Trojanek <trojanek@adacore.com>
1984
1985 * pprint.adb (Expression_Image): Move Count_Parentheses and
1986 Fix_Parentheses routines from GNATprove and apply them before
1987 returning the slice of a source code buffer.
1988
19892023-05-23 Piotr Trojanek <trojanek@adacore.com>
1990
1991 * errout.adb
1992 (Paren_Required): New subsidiary routine for better handling of
1993 parentheses in First_Node/Last_Node.
1994 (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly
1995 handle generic instances and inlined subprograms; tune handling of
1996 parentheses; improve handling of literals.
1997 * pprint.adb (Expression_Image): Simplify using
1998 First_Sloc/Last_Sloc.
1999 * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis
2000 when relocating expression from expression function to simple
2001 return statement.
2002
20032023-05-23 Piotr Trojanek <trojanek@adacore.com>
2004
2005 * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of
2006 subprogram variants.
2007
20082023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2009
2010 * frontend.adb (Frontend): Merge two conditional blocks and adjust.
2011
20122023-05-23 Piotr Trojanek <trojanek@adacore.com>
2013
2014 * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment.
2015
20162023-05-23 Ronan Desplanques <desplanques@adacore.com>
2017
2018 * sem_ch7.adb: Remove duplicate comment.
2019
20202023-05-23 Javier Miranda <miranda@adacore.com>
2021
2022 * sem_ch10.adb
2023 (Analyze_Required_Limited_With_Units): New subprogram.
2024 (Depends_On_Limited_Views): New subprogram.
2025 (Has_Limited_With_Clauses): New subprogram.
2026 (Analyze_Compilation_Unit): Call the new subprogram that performs
2027 the full analysis of required limited-with units.
2028
c5300bf3
GA
20292023-05-22 Ronan Desplanques <desplanques@adacore.com>
2030
2031 * cstand.adb: Use more idiomatic procedure.
2032
20332023-05-22 Piotr Trojanek <trojanek@adacore.com>
2034
2035 * errout.adb (First_Loc): Avoid repeated calls.
2036 (Last_Loc): Likewise.
2037
20382023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2039
2040 * inline.adb (Cleanup_Scopes): Do not propagate the Uses_Sec_Stack
2041 flag from original to rewritten protected subprograms here...
2042 * exp_ch9.adb (Expand_N_Protected_Body) <N_Subprogram_Body>:
2043 ...but here instead. Add local variables and remove a useless
2044 test.
2045
20462023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2047
2048 * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get
2049 the entity of the body.
2050
20512023-05-22 Piotr Trojanek <trojanek@adacore.com>
2052
2053 * exp_attr.adb (Expand_Loop_Entry_Attribute): Use location of the
2054 attribute reference, not of the loop statement.
2055
20562023-05-22 Ronan Desplanques <desplanques@adacore.com>
2057
2058 * par-ch3.adb: Add missing word in comment.
2059
20602023-05-22 Justin Squirek <squirek@adacore.com>
2061
2062 * checks.adb (Install_Null_Excluding_Check): Avoid non-null
2063 optimizations when assertions are enabled.
2064
20652023-05-22 Marc Poulhiès <poulhies@adacore.com>
2066
2067 * exp_aggr.adb (Process_Transient_Component): Reset Analyzed flag
2068 for the copy of the initialization expression.
2069 * sem_attr.adb (Validate_Non_Static_Attribute_Function_Call): Skip
2070 error emission during Pre_Analyze.
2071
20722023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2073
2074 * exp_ch7.adb (Process_Package_Body): New procedure taken from...
2075 (Build_Finalizer.Process_Declarations): ...here. Call the above
2076 procedure to deal with both package bodies and package body stubs.
2077
20782023-05-22 Ronan Desplanques <desplanques@adacore.com>
2079
2080 * atree.ads: Remove outdated part of comment.
2081
20822023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2083
2084 * exp_ch7.adb (Build_Finalizer): Reverse the test comparing the
2085 instantiation and declaration nodes of a package instance, and
2086 therefore bail out only when they are equal. Adjust comments.
2087 (Expand_N_Package_Declaration): Do not clear the Finalizer field.
2088 * lib-writ.adb: Add with and use clauses for Sem_Util.
2089 (Write_Unit_Information): Look at unit nodes to find finalizers.
2090 * sem_ch12.adb (Analyze_Package_Instantiation): Beef up the comment
2091 about the rewriting of the instantiation node into a declaration.
2092
20932023-05-22 Bob Duff <duff@adacore.com>
2094
2095 * cstand.adb (Is_Past_Self_Hiding_Point): Rename to be
2096 Is_Not_Self_Hidden.
2097 * einfo.ads: Likewise.
2098 * exp_aggr.adb: Likewise.
2099 * gen_il-fields.ads: Likewise.
2100 * gen_il-gen-gen_entities.adb: Likewise.
2101 * sem.adb: Likewise.
2102 * sem_aggr.adb: Likewise.
2103 * sem_ch11.adb: Likewise.
2104 * sem_ch12.adb: Likewise.
2105 * sem_ch5.adb: Likewise.
2106 * sem_ch6.adb: Likewise.
2107 * sem_ch7.adb: Likewise.
2108 * sem_prag.adb: Likewise.
2109
21102023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2111
2112 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body
2113 as the expanded body of an expression function.
2114
21152023-05-22 Piotr Trojanek <trojanek@adacore.com>
2116
2117 * pprint.adb (Expression_Image): Handle several previously unsupported
2118 constructs.
2119
21202023-05-22 Piotr Trojanek <trojanek@adacore.com>
2121
2122 * sem_res.adb (Resolve_Entity_Name): Combine two IF statements that
2123 execute code only for references that come from source.
2124
21252023-05-22 Bob Duff <duff@adacore.com>
2126
2127 * einfo.ads (Is_Past_Self_Hiding_Point): Document.
2128 * gen_il-fields.ads (Is_Past_Self_Hiding_Point): Add to list of
2129 fields.
2130 * gen_il-gen-gen_entities.adb (Is_Past_Self_Hiding_Point): Declare
2131 in all entities.
2132 * exp_aggr.adb: Set Is_Past_Self_Hiding_Point as appropriate.
2133 * sem.adb: Likewise.
2134 * sem_aggr.adb: Likewise.
2135 * sem_ch11.adb: Likewise.
2136 * sem_ch12.adb: Likewise.
2137 * sem_ch5.adb: Likewise.
2138 * sem_ch7.adb: Likewise.
2139 * sem_prag.adb: Likewise.
2140 * sem_ch6.adb: Likewise.
2141 (Set_Formal_Mode): Minor cleanup: Move from spec.
2142 * sem_ch6.ads:
2143 (Set_Formal_Mode): Minor cleanup: Move to body.
2144 * cstand.adb: Call Set_Is_Past_Self_Hiding_Point on all entities
2145 as soon as they are created.
2146 * comperr.adb (Compiler_Abort): Minor cleanup -- use 'in' instead
2147 of 'or else'.
2148 * debug.adb: Minor comment cleanups.
2149
21502023-05-22 Steve Baird <baird@adacore.com>
2151
2152 * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
2153 Accept an executable pragma occuring in a declare expression as
2154 per AI22-0045. This means Assert and Inspection_Point pragmas as
2155 well as any implementation-defined pragmas that the implementation
2156 chooses to categorize as executable. Currently Assume and Debug
2157 are the only such pragmas.
2158
21592023-05-22 Piotr Trojanek <trojanek@adacore.com>
2160
2161 * sem_prag.adb
2162 (Check_Postcondition_Use_In_Inlined_Subprogram): Mention
2163 Subprogram_Variant in the comment.
2164 (Analyze_Subprogram_Variant_In_Decl_Part): Warn when contract is
2165 ignored because of pragma Inline_Always and frontend inlining.
2166
21672023-05-22 Piotr Trojanek <trojanek@adacore.com>
2168
2169 * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only
2170 emit warning when frontend inlining is enabled.
2171
21722023-05-22 Arnaud Charlet <charlet@adacore.com>
2173
2174 * par-ch3.adb, sem_ch4.adb (P_Discrete_Range, Analyze_Logical_Op,
2175 Analyze_Short_Circuit): Add calls to Check_Xtra_Parentheses.
2176 * par-ch5.adb (P_Condition): Move logic to Check_Xtra_Parentheses.
2177 * style.ads, styleg.adb, styleg.ads (Check_Xtra_Parens): Move logic
2178 related to expressions requiring parentheses here.
2179
21802023-05-22 Arnaud Charlet <charlet@adacore.com>
2181
2182 * ali-util.adb, par-endh.adb, par-prag.adb, par-ch2.adb,
2183 checks.adb, fmap.adb, libgnat/a-nbnbig.ads, libgnat/g-dynhta.adb,
2184 libgnat/s-carun8.adb, libgnat/s-strcom.adb, libgnat/a-dhfina.adb,
2185 libgnat/a-direct.adb, libgnat/a-rbtgbo.adb, libgnat/a-strsea.adb,
2186 libgnat/a-ststio.adb, libgnat/a-suenco.adb, libgnat/a-costso.adb,
2187 libgnat/a-strmap.adb, libgnat/g-alleve.adb,
2188 libgnat/g-debpoo.adb, libgnat/g-sercom__linux.adb,
2189 libgnat/s-genbig.adb, libgnat/s-mmap.adb, libgnat/s-regpat.adb,
2190 par-ch5.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb,
2191 sem_ch8.adb, sem_eval.adb, sem_prag.adb, sem_type.adb,
2192 exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb,
2193 exp_ch6.adb, exp_ch9.adb, exp_put_image.adb, freeze.adb, live.adb,
2194 sem_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch3.adb, sem_ch6.adb,
2195 sem_ch9.adb, sem_disp.adb, sem_elab.adb, sem_res.adb,
2196 sem_util.adb, sinput.adb, uintp.adb, bcheck.adb, binde.adb,
2197 binderr.adb, einfo-utils.adb, clean.adb, sem_ch4.adb, gnatls.adb,
2198 gprep.adb, sem_ch11.adb: Remove extra parentheses.
2199
22002023-05-22 Arnaud Charlet <charlet@adacore.com>
2201
2202 * sem_aggr.adb (Get_Value): Use ?? instead of ?.
2203
22042023-05-22 Piotr Trojanek <trojanek@adacore.com>
2205
2206 * exp_aggr.adb (Aggregate_Size): Remove redundant calls to
2207 Present.
2208 * exp_ch5.adb (Expand_N_If_Statement): Likewise.
2209 * sem_prag.adb (Analyze_Pragma): Likewise.
2210 * sem_warn.adb (Find_Var): Likewise.
2211
22122023-05-22 Claire Dross <dross@adacore.com>
2213
2214 * sem_util.adb (Find_Actual): On calls through dereferences,
2215 return the corresponding formal in the designated subprogram
2216 profile.
2217
22182023-05-22 Piotr Trojanek <trojanek@adacore.com>
2219
2220 * sem_util.ads (Is_Actual_Tagged_Parameter): Remove spec.
2221 * sem_util.adb (Is_Actual_Tagged_Parameter): Remove body.
2222
22232023-05-22 Joffrey Huguet <huguet@adacore.com>
2224
2225 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads
2226 (To_Unbounded_String): Add postcondition. Add aspect SPARK_Mode
2227 Off on the version that takes a Natural as parameter.
2228 (To_String): Complete postcondition.
2229 (Set_Unbounded_String): Add postcondition.
2230 (Element): Likewise.
2231 ("="): Likewise.
2232
22332023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2234
2235 * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address
2236 routine for a class-wide type if restriction No_Dispatching_Calls
2237 is in effect.
2238
22392023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2240
2241 * libgnat/s-genbig.ads (From_Bignum): New overloaded declarations.
2242 * libgnat/s-genbig.adb (LLLI): New subtype.
2243 (LLLI_Is_128): New boolean constant.
2244 (From_Bignum): Change the return type of the signed implementation
2245 to Long_Long_Long_Integer and add support for the case where its
2246 size is 128 bits. Add a wrapper around it for Long_Long_Integer.
2247 Add an unsigned implementation returning Unsigned_128 and a wrapper
2248 around it for Unsigned_64.
2249 (To_Bignum): Test LLLI_Is_128 instead of its size.
2250 (To_String.Image): Add qualification to calls to From_Bignum.
2251 * libgnat/a-nbnbin.adb (To_Big_Integer): Likewise.
2252 (Signed_Conversions.From_Big_Integer): Likewise.
2253 (Unsigned_Conversions): Likewise.
2254
22552023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2256
2257 * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec
2258 to copy the spec from the subprogram to the generated subprogram
2259 body.
2260 (Freeze_Entity): Do not wrap imported subprograms inside generics.
2261
22622023-05-22 Steve Baird <baird@adacore.com>
2263
2264 * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
2265 If Comes_From_Source (A) is False, then look at Original_Node (A)
2266 instead of A. In particular, if an (illegal) expression function
2267 is transformed into a "vanilla" function, we don't want to allow
2268 it just because Comes_From_Source is now False.
2269
22702023-05-22 Steve Baird <baird@adacore.com>
2271
2272 * sem_prag.adb (Analyze_Pragma): In Check_No_Return, call
2273 Error_Msg_Ada_2022_Feature in the case of a function. Remove code
2274 outside of Check_No_Return that was querying Ada_Version.
2275
22762023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2277
2278 * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do
2279 not look into nested blocks.
2280
22812023-05-22 Eric Botcazou <ebotcazou@adacore.com>
2282
2283 * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set
2284 the Scope of the type, and call Constrain_Array for array subtypes.
2285
22862023-05-22 Piotr Trojanek <trojanek@adacore.com>
2287
2288 * pprint.adb (Expression_Image): Reduce scope of local variables; inline
2289 local uncommented constant From_Source; concatenate string with a single
2290 character, as it is likely to execute faster; add missing cases to
2291 traversal for the rightmost node and assertion to demonstrate that the
2292 ??? comment is no longer relevant.
2293
22942023-05-22 Piotr Trojanek <trojanek@adacore.com>
2295
2296 * pprint.adb (Expr_Name): Qualify CASE expression with N_Subexpr; add
2297 missing alternative for N_Raise_Storage_Error; remove dead alternatives;
2298 explicitly list unsupported alternatives.
2299
23002023-05-22 Piotr Trojanek <trojanek@adacore.com>
2301
2302 * pprint.adb (Expr_Name): Exclude DEL from printable range.
2303
23042023-05-22 Piotr Trojanek <trojanek@adacore.com>
2305
2306 * sem_util.ads (New_Copy_Tree): Update comment.
2307 * sem_util.adb (New_Copy_Tree): Update Controlling_Argument, very
2308 much like we update the First/Next_Named_Association.
2309
23102023-05-22 Bob Duff <duff@adacore.com>
2311
2312 * fe.h: Remove Ada_With_Extensions and add commentary.
2313 * opt.ads: Rearrange code and add commentary.
2314
23152023-05-22 Bob Duff <duff@adacore.com>
2316
2317 * sem_util.adb (Process_Type): Stop the recursion.
2318 * exp_aggr.adb (Build_Record_Aggr_Code): Add assertion.
2319
b2776076
GA
23202023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2321
2322 * gcc-interface/decl.cc (gnat_to_gnu_entity): Use _P defines
2323 from tree.h.
2324 (constructor_address_p): Ditto.
2325 (elaborate_expression_1): Ditto.
2326 * gcc-interface/trans.cc (Identifier_to_gnu): Ditto.
2327 (is_nrv_p): Ditto.
2328 (Subprogram_Body_to_gnu): Ditto.
2329 (gnat_to_gnu): Ditto.
2330 (gnat_to_gnu_external): Ditto.
2331 (add_decl_expr): Ditto.
2332 (gnat_gimplify_expr): Ditto.
2333 * gcc-interface/utils.cc (create_var_decl): Ditto.
2334 * gcc-interface/utils2.cc (get_base_type): Ditto.
2335 (build_binary_op): Ditto.
2336 (build_unary_op): Ditto.
2337 (gnat_protect_expr): Ditto.
2338 (gnat_invariant_expr): Ditto.
2339
0d566057
GA
23402023-05-16 Steve Baird <baird@adacore.com>
2341
2342 * usage.adb: Generate output text describing the -gnatw_s switch
2343 (and the corresponding -gnatw_S switch).
2344
23452023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2346
2347 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Reduce>:
2348 Use the canonical accumulator type as the type of the accumulator
2349 in the prefixed case.
2350
23512023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2352
2353 * exp_aggr.adb (Expand_Array_Aggregate): Do not set Warnings_Off on
2354 the temporary created when in-place expansion is not possible.
2355
23562023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2357
2358 * freeze.adb (Freeze_Expression): When the freezing is to be done
2359 outside the current scope, skip any scope that is an internal loop.
2360
23612023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2362
2363 * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component
2364 that depends on a discriminant, create an actual subtype for it.
2365
23662023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2367
2368 * sem_ch13.adb: Add with and use clauses for Expander.
2369 (Resolve_Aspect_Expressions) <Aspect_Predicate>: Emulate a
2370 bona-fide preanalysis setup before calling
2371 Resolve_Aspect_Expression.
2372
23732023-05-16 Yannick Moy <moy@adacore.com>
2374
2375 * libgnat/s-aridou.adb (Lemma_Div_Pow2): Add assertion.
2376 * libgnat/s-arit32.adb (Lemma_Abs_Div_Commutation): Simplify.
2377 * libgnat/s-expmod.adb (Lemma_Exp_Mod): Add assertions.
2378 (Lemma_Euclidean_Mod): Add body to lemma.
2379 (Lemma_Mult_Mod): Add assertion.
2380 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Modify assertion.
2381 * libgnat/s-vauspe.ads (Raw_Unsigned_Last_Ghost): Add
2382 postcondition.
2383 * libgnat/s-widthi.adb: Use more precise types.
2384
23852023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2386
2387 * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the
2388 same processing for derived untagged types as for tagged types.
2389 * sem_util.ads (Corresponding_Primitive_Op): Adjust description.
2390 * sem_util.adb (Corresponding_Primitive_Op): Handle untagged
2391 types.
2392
23932023-05-16 Javier Miranda <miranda@adacore.com>
2394
2395 * sem_attr.adb
2396 (Analyze_Attribute_Old_Result): When preanalyzing a class-wide
2397 condition, search in the scopes stack for the subprogram that has
2398 the condition. This is required because returning the current
2399 scope causes reporting spurious errors when the occurrence of the
2400 attribute is found, for example, in a quantified expression.
2401
24022023-05-16 Javier Miranda <miranda@adacore.com>
2403
2404 * exp_ch6.adb
2405 (Needs_BIP_Alloc_Form): Return False for functions with foreign
2406 convention since we never use build-in-place for such functions.
2407
24082023-05-16 Piotr Trojanek <trojanek@adacore.com>
2409
2410 * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early
2411 when preanalysing in GNATprove mode. Now the condition is
2412 consistent with other similar conditions in other code.
2413
24142023-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
2415
2416 * usage.adb (Usage): Document -gnatyD.
2417
24182023-05-16 Marc Poulhiès <poulhies@adacore.com>
2419
2420 * libgnat/s-tsmona__linux.adb (link_map, r_debug_type): Add
2421 'aliased' on all components.
2422
24232023-05-16 Johannes Kliemann <kliemann@adacore.com>
2424
2425 * libgnat/system-linux-ppc.ads: Add Support_Atomic_Primitives.
2426 * libgnat/s-atopri__32.ads: Add 32 bit version of s-atopri.ads.
2427 * Makefile.rtl: Use s-atopro__32.ads for ppc-linux.
2428
24292023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2430
2431 * sem_util.adb (Get_Actual_Subtype): For an explicit dereference,
2432 return the Actual_Designated_Subtype if it is present.
2433 (Get_Actual_Subtype_If_Available): Likewise.
2434
24352023-05-16 Arnaud Charlet <charlet@adacore.com>
2436
2437 * errout.ads: Update comment.
2438 * errout.adb (Skip_Msg_Insertion_Warning): Update to take e.g.
2439 -gnatyM into account.
2440 * erroutc.adb (Get_Warning_Option, Get_Warning_Tag)
2441 (Prescan_Message): Add support for Style tags.
2442 * par-ch5.adb, par-ch6.adb, par-ch7.adb, par-endh.adb,
2443 par-util.adb, style.adb, styleg.adb: Set tag on all style
2444 messages.
2445
24462023-05-16 Tom Tromey <tromey@adacore.com>
2447
2448 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2449 (Switches_for_gnatbind): Fix typo.
2450 * libgnat/g-spipat.ads: Fix typo.
2451 * gnat_ugn.texi: Regenerate.
2452
24532023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2454
2455 * exp_aggr.adb (Build_Assignment_With_Temporary): Adjust comment
2456 and fix type of second parameter. Create the temporary on the
2457 secondary stack by calling Build_Temporary_On_Secondary_Stack.
2458 (Convert_Array_Aggr_In_Allocator): Adjust formatting.
2459 (Expand_Array_Aggregate): Likewise.
2460 * exp_ch4.adb (Expand_N_Allocator): Set Actual_Designated_Subtype
2461 on the dereference in the initialization for all composite types.
2462 * exp_ch5.adb (Expand_N_Assignment_Statement): Create a temporary
2463 on the host for an assignment between nonnative storage models.
2464 Suppress more checks when Suppress_Assignment_Checks is set.
2465 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Deal with actuals
2466 that are dereferences with an Actual_Designated_Subtype. Add
2467 support for nonnative storage models.
2468 (Expand_Actuals): Create a copy if the actual is a dereference
2469 with a nonnative storage model.
2470 * exp_util.ads (Build_Temporary_On_Secondary_Stack): Declare.
2471 * exp_util.adb (Build_Temporary_On_Secondary_Stack): New function.
2472 * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Do not
2473 build an actual subtype for dereferences with an
2474 Actual_Designated_Subtype
2475 * sinfo.ads (Actual_Designated_Subtype): Adjust documentation.
2476 (Suppress_Assignment_Checks): Likewise.
2477
24782023-05-16 Piotr Trojanek <trojanek@adacore.com>
2479
2480 * exp_spark.adb (SPARK_Freeze_Type): Copy whole handling of DIC
2481 and Type_Invariant from Freeze_Type.
2482
24832023-05-16 Richard Kenner <kenner@adacore.com>
2484
2485 * sem_util.adb (Subprogram_Name): If what's passed is already an
2486 entity, use that for the name.
2487
24882023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2489
2490 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
2491 (No_Dependence): Give examples of new No_Dependence restrictions.
2492 * gnat_rm.texi: Regenerate.
2493
24942023-05-16 Arnaud Charlet <charlet@adacore.com>
2495
2496 * snames.ads-tmpl (Name_ASCII): New.
2497 * style.adb (Check_Identifier): Fix handling of ASCII.
2498
24992023-05-16 Eric Botcazou <ebotcazou@adacore.com>
2500
2501 * gen_il-fields.ads (Opt_Field_Enum): Add Cannot_Be_Superflat.
2502 * gen_il-gen-gen_nodes.adb (N_Range): Add Cannot_Be_Superflat as
2503 semantical flag and change Includes_Infinities to semantical.
2504 * sinfo.ads (Cannot_Be_Superflat): Document it for N_Range.
2505 * exp_ch4.adb (Expand_Concatenate): Set Cannot_Be_Superflat on the
2506 range of the result if the result cannot be null.
2507
25082023-05-16 Richard Kenner <kenner@adacore.com>
2509
2510 * gen_il-gen-gen_nodes.adb (Present_Expr): Type is now Uint.
2511
25122023-05-16 Yannick Moy <moy@adacore.com>
2513
2514 * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition)
2515 (Is_Scaled_Mult_Decomposition): Add annotation for inlining.
2516 (Double_Divide, Scaled_Divide): Simplify and remove ghost code.
2517 (Prove_Multiplication): Add calls to lemmas to make proof go
2518 through.
2519 * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation
2520 for inlining.
2521
25222023-05-16 Yannick Moy <moy@adacore.com>
2523
2524 * libgnat/a-strsup.adb: Add intermediate assertions.
2525
25262023-05-16 Arnaud Charlet <charlet@adacore.com>
2527
2528 * gnat1drv.adb: Ensure all dependencies are recorded even when not
2529 generating code.
2530
25312023-05-16 Yannick Moy <moy@adacore.com>
2532
2533 * libgnat/a-strsup.adb: Set assertion policy for Loop_Variant.
2534
25352023-05-16 Marc Poulhiès <poulhies@adacore.com>
2536
2537 * sem_ch12.adb (Instantiate_Package_Body): Simplify if/then/else.
2538 (Instantiate_Subprogram_Body): Likewise.
2539
25402023-05-16 Yannick Moy <moy@adacore.com>
2541
2542 * libgnat/s-aridou.adb:
2543 (Big3): Remove override made useless.
2544 (Lemma_Quot_Rem): Add new lemma and justify it, as no prover
2545 manages to prove it.
2546 (Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem.
2547 (Prove_Scaled_Mult_Decomposition_Regroup3): Retype for
2548 simplification.
2549 (Scaled_Divide): Remove useless assertions.Decompose some
2550 assertions with cut operations. Use Assert_And_Cut for second
2551 half. Add assertions.
2552
3427b51b
GA
25532023-05-15 Marc Poulhiès <poulhies@adacore.com>
2554
2555 * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
2556
25572023-05-15 Yannick Moy <moy@adacore.com>
2558
2559 * libgnat/a-strbou.ads: Add justifications for Mapping.
2560 * libgnat/a-strfix.adb: Same.
2561 * libgnat/a-strfix.ads: Same.
2562 * libgnat/a-strsea.adb: Same.
2563 * libgnat/a-strsea.ads: Same.
2564 * libgnat/a-strsup.adb: Same and add loop variants.
2565 * libgnat/a-strsup.ads: Same and add specification of termination.
2566
25672023-05-15 Yannick Moy <moy@adacore.com>
2568
2569 * libgnat/a-strsup.adb (Super_Slice): Reorder component assignment
2570 to avoid failing predicate check related to initialization.
2571 * libgnat/s-expmod.adb (Exp_Modular): Add intermediate assertion.
2572
25732023-05-15 Yannick Moy <moy@adacore.com>
2574
2575 * libgnat/i-c.adb: Add loop variants. Remove useless
2576 initialization.
2577
25782023-05-15 Bob Duff <duff@adacore.com>
2579
2580 * einfo-utils.ads: Remove comment.
2581
25822023-05-15 Bob Duff <duff@adacore.com>
2583
2584 * einfo-utils.ads, einfo-utils.adb: Get rid of the Proc_Next_...
2585 procedures. Use Inline aspect instead of pragma Inline.
2586 Is_Discrete_Or_Fixed_Point_Type did not have pragma Inline, but
2587 now has the aspect; this was probably an oversight
2588 (which illustrates why aspects are better).
2589
25902023-05-15 Ronan Desplanques <desplanques@adacore.com>
2591
2592 * doc/gnat_ugn/gnat_utility_programs.rst: Fix formatting
2593 inconsistency.
2594
25952023-05-15 Bob Duff <duff@adacore.com>
2596
2597 * einfo-utils.adb:
2598 (Proc_Next_Component_Or_Discriminant): Call
2599 Next_Component_Or_Discriminant.
2600
26012023-05-15 Bob Duff <duff@adacore.com>
2602
2603 * einfo.ads:
2604 (First_Entity): Update comment explaining why this exists on all
2605 [sub]types, as opposed to just the ones with associated entities.
2606
26072023-05-15 Bob Duff <duff@adacore.com>
2608
2609 * atree.adb
2610 (Check_Vanishing_Fields): Disable the check for "root/base type
2611 only" fields. This is a bug fix -- if we're checking some subtype
2612 S, we don't want to reach over to the root or base type and
2613 Reinit_Field_To_Zero of that, thus modifying the field for lots of
2614 subtypes other than S. Disable in the to/from E_Void cases. Misc
2615 cleanup.
2616 * gen_il-gen-gen_entities.adb: Define First_Entity, Last_Entity,
2617 and Stored_Constraint for all type entities, because there are too
2618 many cases where Reinit_Field_To_Zero would otherwise be needed.
2619 In any case, it seems cleaner to have First_Entity and Last_Entity
2620 defined in the same entity kinds.
2621 * einfo.ads:
2622 (First_Entity, Last_Entity, Stored_Constraint): Update comments to
2623 reflect gen_il-gen-gen_entities.adb changes.
2624 (Lit_Hash): Add missing "[root type only]" comment.
2625 * exp_ch5.adb: Add Reinit_Field_To_Zero calls for vanishing
2626 fields.
2627 * sem_ch10.adb: Likewise.
2628 * sem_ch6.adb: Likewise.
2629 * sem_ch7.adb: Likewise.
2630 * sem_ch8.adb: Likewise.
2631 * sem_ch3.adb: Likewise. Also remove now-unnecessary
2632 Reinit_Field_To_Zero calls.
2633
26342023-05-15 Eric Botcazou <ebotcazou@adacore.com>
2635
2636 * sem_ch7.adb (Hide_Public_Entities): Use the same condition for
2637 subprogram bodies without specification as for those with one.
2638
26392023-05-15 Piotr Trojanek <trojanek@adacore.com>
2640
2641 * sem_util.adb (New_Copy_Tree): Remove redundant calls to Present.
2642
26432023-05-15 Ronan Desplanques <desplanques@adacore.com>
2644
2645 * sem_ch8.adb (End_Scope): Simplify lookup of predecessor in
2646 homonym chain.
2647
26482023-05-15 Piotr Trojanek <trojanek@adacore.com>
2649
2650 * sem_aggr.adb (Resolve_Aggregate): Accept aggregates with OTHERS
2651 appearing inside unchecked conversions.
2652
26532023-05-15 Steve Baird <baird@adacore.com>
2654
2655 * warnsw.ads: Add a new element,
2656 Warn_On_Ineffective_Predicate_Test, to the Opt_Warnings_Enum
2657 enumeration type.
2658 * warnsw.adb: Bind "-gnatw_s" to the new
2659 Warn_On_Ineffective_Predicate_Test switch. Add the new switch to
2660 the set of switches enabled by -gnata .
2661 * sem_ch13.adb
2662 (Build_Discrete_Static_Predicate): Declare new local procedure,
2663 Warn_If_Test_Ineffective, which conditionally generates new
2664 warning. Call this new procedure when building a new element of an
2665 RList.
2666 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
2667 Document the -gnatw_s switch (and the corresponding -gnatw_S
2668 switch).
2669 * gnat_ugn.texi: Regenerate.
2670
26712023-05-15 Yannick Moy <moy@adacore.com>
2672
2673 * sem_attr.adb: Update comment referring to rule number.
2674
26752023-05-15 Ronan Desplanques <desplanques@adacore.com>
2676
2677 * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten
2678 validity check for task types.
2679
26802023-05-15 Ronan Desplanques <desplanques@adacore.com>
2681
2682 * doc/gnat_rm/implementation_defined_characteristics.rst: Fix
2683 minor documentation formatting issue.
2684 * gnat_rm.texi: Regenerate.
2685 * gnat_ugn.texi: Regenerate.
2686
26872023-05-15 Bob Duff <duff@adacore.com>
2688
2689 * exp_ch4.adb
2690 (Expand_N_Op_Expon): Remove the too-big check. Simplify. Signed
2691 and modular cases are combined, etc. Remove code with comment "We
2692 only handle cases where the right type is a[sic] integer", because
2693 the right operand must always be an integer at this point.
2694
26952023-05-15 Bob Duff <duff@adacore.com>
2696
2697 * sem_attr.adb
2698 (Analyze_Attribute): Add a call to Check_Error_Detected.
2699
27002023-05-15 Yannick Moy <moy@adacore.com>
2701
2702 * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to
2703 expression in pragma association.
2704
27052023-05-15 Eric Botcazou <ebotcazou@adacore.com>
2706
2707 * repinfo.ads (JSON output format): Document special case of
2708 Present member of a Variant object.
2709 * repinfo.adb (List_Structural_Record_Layout): Change the type of
2710 Ext_Level parameter to Integer. Restrict the first recursion with
2711 increasing levels to the fixed part and implement a second
2712 recursion with decreasing levels for the variant part. Deal with
2713 an extension of a type with unknown discriminants.
2714
27152023-05-15 Claire Dross <dross@adacore.com>
2716
2717 * libgnat/s-valueu.adb: Use cut operations inside assertion to
2718 restore proofs
2719 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-spark and
2720 s-spcuop dependencies.
2721
27222023-05-15 Yannick Moy <moy@adacore.com>
2723
2724 * sem_prag.adb (Check_Grouping): Allow Annotate pragmas between
2725 loop pragmas.
2726
27272023-05-15 Javier Miranda <miranda@adacore.com>
2728
2729 * doc/gnat_rm/implementation_defined_pragmas.rst
2730 (Extensions_Allowed): Document string interpolation.
2731 * gnat_rm.texi: Regenerate.
2732 * gnat_ugn.texi: Regenerate.
2733
27342023-05-15 Joel Brobecker <brobecker@adacore.com>
2735
2736 * doc/gnat_ugn/platform_specific_information.rst
2737 (_PIE_Enabled_By_Default_On_Linux): New section.
2738 * gnat-style.texi: Regenerate.
2739 * gnat_ugn.texi: Regenerate.
2740
27412023-05-15 Javier Miranda <miranda@adacore.com>
2742
2743 * exp_disp.adb
2744 (Has_Dispatching_Constructor_Call): New subprogram.
2745 (Expand_Interface_Conversion): No need to perform dynamic
2746 interface conversion when the operand and the target type are
2747 interface types and the target interface type is an ancestor of
2748 the operand type. The unique exception to this rule is when the
2749 operand has a dispatching constructor call (as documented in the
2750 sources).
2751
27522023-05-15 Piotr Trojanek <trojanek@adacore.com>
2753
2754 * sem_attr.adb (Analyze_Attribute): Reject attribute Initialized
2755 on unchecked unions; fix grammar in comment.
2756
27572023-05-15 Ronan Desplanques <desplanques@adacore.com>
2758
2759 * sem_ch13.adb (Validate_Unchecked_Conversion): Fix behavior on
2760 System.Address to access to subprogram subtype conversion.
2761
27622023-05-15 Piotr Trojanek <trojanek@adacore.com>
2763
2764 * atree.ads
2765 (Is_Syntactic_Node): Refactored from New_Copy_Tree.
2766 * atree.adb
2767 (Is_Syntactic_Node): Likewise.
2768 (Copy_Separate_Tree): Use Is_Syntactic_Node.
2769 * sem_util.adb
2770 (Has_More_Ids): Move to Atree.
2771 (Is_Syntactic_Node): Likewise.
2772
d5cd3ead
GA
27732023-04-18 Jin Ma <jinma@linux.alibaba.com>
2774
758d916c 2775 * gcc-interface/utils.cc (unchecked_convert): Fix typo.
d5cd3ead 2776
56b288f5
GA
27772023-04-17 Martin Liska <mliska@suse.cz>
2778
2779 * gnatvsn.ads: Bump Library_Version to 14.
2780
55085c7e
GA
27812023-04-15 Eric Botcazou <ebotcazou@adacore.com>
2782
2783 PR bootstrap/109510
2784 * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Do not reset
2785 align to zero in any case. Set TYPE_USER_ALIGN on the type only if
2786 it is an aggregate type, or else a type whose default alignment is
2787 specifically capped on selected platforms.
2788
1aee19f9
GA
27892023-04-14 Eric Botcazou <ebotcazou@adacore.com>
2790
2791 PR bootstrap/109510
2792 * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Reset align
2793 to zero if its value is equal to TYPE_ALIGN and the type is scalar.
2794 Set TYPE_USER_ALIGN on the type only if align is positive.
2795
3dd4ada4
GA
27962023-03-06 Javier Miranda <miranda@adacore.com>
2797
2798 PR ada/108858
2799 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For functions with
2800 separate spec, if their return type was visible through a limited-
2801 with context clause, their extra formals were not added when the
2802 spec was analyzed. Now the full view must be available, and the
2803 extra formals can be created and Returns_By_Ref computed.
2804
28052023-03-06 Eric Botcazou <ebotcazou@adacore.com>
2806
2807 PR ada/108909
2808 PR ada/108983
2809 * Make-generated.in: Do not use GNATMAKE.
2810 * gcc-interface/Makefile.in: Ditto.
2811
2cd665b1
GA
28122023-02-26 Peter Foley <pefoley2@pefoley.com>
2813
2814 PR ada/108909
2815 * Make-generated.in: Use GNATMAKE.
2816 * gcc-interface/Makefile.in: Ditto.
2817
05467d08
GA
28182023-02-14 Eric Botcazou <ebotcazou@adacore.com>
2819
2820 * gcc-interface/trans.cc (gnat_gimplify_expr): Add missing guard.
2821
28222023-02-14 Dongsheng Song <dongsheng.song@gmail.com>
2823
2824 * adaint.c [Linux]: Include <features.h>.
2825 (__gnat_get_executable_load_address) [Linux]: Enable only for
2826 glibc and uClibc.
2827
f457a62e
GA
28282023-01-16 Marc Poulhiès <poulhies@adacore.com>
2829
2830 * gcc-interface/Make-lang.in: Update copyright years.
2831 * gcc-interface/Makefile.in: Likewise.
2832 * gcc-interface/ada-builtin-types.def: Likewise.
2833 * gcc-interface/ada-builtins.def: Likewise.
2834 * gcc-interface/ada-tree.def: Likewise.
2835 * gcc-interface/ada-tree.h: Likewise.
2836 * gcc-interface/ada.h: Likewise.
2837 * gcc-interface/config-lang.in: Likewise.
2838 * gcc-interface/cuintp.cc: Likewise.
2839 * gcc-interface/decl.cc: Likewise.
2840 * gcc-interface/gadaint.h: Likewise.
2841 * gcc-interface/gigi.h: Likewise.
2842 * gcc-interface/lang-specs.h: Likewise.
2843 * gcc-interface/lang.opt: Likewise.
2844 * gcc-interface/misc.cc: Likewise.
2845 * gcc-interface/system.ads: Likewise.
2846 * gcc-interface/targtyps.cc: Likewise.
2847 * gcc-interface/trans.cc: Likewise.
2848 * gcc-interface/utils.cc: Likewise.
2849 * gcc-interface/utils2.cc: Likewise.
2850
28512023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2852
2853 * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
2854
28552023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2856
2857 * exp_ch3.adb (Make_Allocator_For_Return): Convert the expression
2858 to the return object's type in the constrained array case as well.
2859
28602023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2861
2862 * exp_ch3.adb (Expand_N_Object_Declaration): For a class-wide non-
2863 interface stand-alone object initialized by a function call, call
2864 Remove_Side_Effects on the expression to capture the result.
2865
28662023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2867
2868 * exp_util.ads (Has_Tag_Of_Type): Declare.
2869 * exp_util.adb (Has_Tag_Of_Type): Move to package level. Recurse on
2870 qualified expressions.
2871 * exp_ch3.adb (Expand_N_Object_Declaration): Use a static reference
2872 to the interface tag in more cases for class-wide interface objects.
2873
28742023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2875
2876 * exp_util.adb (Make_CW_Equivalent_Type.Has_Tag_Of_Type): Fix pasto.
2877
28782023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2879
2880 * exp_util.adb (Is_Temporary_For_Interface_Object): Delete.
2881 (Is_Finalizable_Transient.Is_Aliased): Deal with the specific case
2882 of temporaries generated for interface objects.
2883
28842023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2885
2886 * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a back-
2887 and-forth displacement of the object's address when using a renaming
2888 for an interface object with an expression of the same type.
2889 * exp_ch4.adb (Expand_Allocator_Expression): Do not remove the side
2890 effects of the expression up front for the simple allocators. Do not
2891 call the Adjust primitive if the expression is a function call.
2892 * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not expand the call
2893 unnecessarily for a special return object.
2894 (Expand_Simple_Function_Return): Restore the displacement of the
2895 return object's address in the case where the expression is the call
2896 to a function whose result type is a type that needs finalization.
2897 * exp_util.adb (Expand_Subtype_From_Expr): Do not remove the side
2898 effects of the expression before calling Make_Subtype_From_Expr.
2899 (Make_CW_Equivalent_Type): If the expression has the tag of its type
2900 and this type has a uniform size, use 'Object_Size of this type in
2901 lieu of 'Size of the expression to compute the expression's size.
2902
29032023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2904
2905 * exp_ch3.adb (Make_Allocator_For_Return): Put back an interface
2906 conversion for expressions with non-interface class-wide type.
2907
29082023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2909
2910 * exp_ch3.adb (Expand_N_Object_Declaration): Also optimize aliased
2911 objects if their nominal subtype is not an unconstrained array.
2912
29132023-01-16 Eric Botcazou <ebotcazou@adacore.com>
2914
2915 * exp_ch3.adb (Expand_N_Object_Declaration): Factor out conditions
2916 needed for an initializating expression that is a function call to
2917 be renamable into the Is_Renamable_Function_Call predicate.
2918 Use it to implement the renaming in the case of class-wide interface
2919 objects. Remove an interface conversion on all paths, separate and
2920 optimize the renaming path in the special expansion for interfaces.
2921 (Is_Renamable_Function_Call): New predicate.
2922 (Make_Allocator_For_Return): Put back an interface conversion.
2923 * exp_ch6.adb (Apply_CW_Accessibility_Check): Remove useless access
2924 checks on RE_Tag_Ptr.
2925
84723aca
GA
29262023-01-09 Arnaud Charlet <charlet@adacore.com>
2927
2928 * accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year.
2929 * adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise.
2930 * adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise.
2931 * ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise.
2932 * aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise.
2933 * aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise.
2934 * backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise.
2935 * binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise.
2936 * bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise.
2937 * bindo-builders.ads, bindo-diagnostics.adb: Likewise.
2938 * bindo-diagnostics.ads, bindo-elaborators.adb: Likewise.
2939 * bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise.
2940 * bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise.
2941 * bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise.
2942 * bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise.
2943 * butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise.
2944 * checks.ads, cio.c, clean.adb, clean.ads: Likewise.
2945 * comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise.
2946 * csets.adb, csets.ads, cstand.adb: Likewise.
2947 * cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise.
2948 * debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise.
2949 * einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise.
2950 * env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise.
2951 * erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise.
2952 * eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise.
2953 * exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise.
2954 * exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise.
2955 * exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise.
2956 * exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise.
2957 * exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise.
2958 * exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise.
2959 * exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise.
2960 * exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise.
2961 * exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise.
2962 * exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise.
2963 * exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise.
2964 * exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise.
2965 * exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise.
2966 * exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise.
2967 * exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise.
2968 * exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise.
2969 * final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise.
2970 * fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise.
2971 * freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise.
2972 * gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise.
2973 * gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise.
2974 * gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise.
2975 * gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise.
2976 * get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise.
2977 * gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise.
2978 * gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise.
2979 * gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise.
2980 * gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise.
2981 * gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise.
2982 * gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise.
2983 * gprep.adb, gprep.ads, gsocket.h: Likewise.
2984 * hostparm.ads: Likewise.
2985 * impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise.
2986 * indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise.
2987 * initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise.
2988 * krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise.
2989 * lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise.
2990 * lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise.
2991 * lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise.
2992 * lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise.
2993 * libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise.
2994 * libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise.
2995 * libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise.
2996 * libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise.
2997 * libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise.
2998 * libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise.
2999 * libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise.
3000 * libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise.
3001 * libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise.
3002 * libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise.
3003 * libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise.
3004 * libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise.
3005 * libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise.
3006 * libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise.
3007 * libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise.
3008 * libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise.
3009 * libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise.
3010 * libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise.
3011 * libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise.
3012 * libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise.
3013 * libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise.
3014 * libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise.
3015 * libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise.
3016 * libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise.
3017 * libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise.
3018 * libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise.
3019 * libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise.
3020 * libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise.
3021 * libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise.
3022 * libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise.
3023 * libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise.
3024 * libgnarl/s-interr__sigaction.adb: Likewise.
3025 * libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise.
3026 * libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise.
3027 * libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise.
3028 * libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise.
3029 * libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise.
3030 * libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise.
3031 * libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise.
3032 * libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise.
3033 * libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise.
3034 * libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise.
3035 * libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise.
3036 * libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise.
3037 * libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise.
3038 * libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise.
3039 * libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise.
3040 * libgnarl/s-osinte__dragonfly.adb: Likewise.
3041 * libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise.
3042 * libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise.
3043 * libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise.
3044 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
3045 * libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise.
3046 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
3047 * libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise.
3048 * libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise.
3049 * libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise.
3050 * libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise.
3051 * libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise.
3052 * libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise.
3053 * libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise.
3054 * libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise.
3055 * libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise.
3056 * libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise.
3057 * libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise.
3058 * libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise.
3059 * libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise.
3060 * libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise.
3061 * libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise.
3062 * libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise.
3063 * libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise.
3064 * libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise.
3065 * libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise.
3066 * libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise.
3067 * libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise.
3068 * libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise.
3069 * libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise.
3070 * libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise.
3071 * libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise.
3072 * libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise.
3073 * libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise.
3074 * libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise.
3075 * libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise.
3076 * libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise.
3077 * libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise.
3078 * libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise.
3079 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
3080 * libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise.
3081 * libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise.
3082 * libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise.
3083 * libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise.
3084 * libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise.
3085 * libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise.
3086 * libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise.
3087 * libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise.
3088 * libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise.
3089 * libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise.
3090 * libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise.
3091 * libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise.
3092 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
3093 * libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise.
3094 * libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
3095 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
3096 * libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise.
3097 * libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise.
3098 * libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise.
3099 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
3100 * libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise.
3101 * libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise.
3102 * libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise.
3103 * libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise.
3104 * libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise.
3105 * libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise.
3106 * libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise.
3107 * libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise.
3108 * libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise.
3109 * libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise.
3110 * libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise.
3111 * libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise.
3112 * libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise.
3113 * libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise.
3114 * libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise.
3115 * libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise.
3116 * libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise.
3117 * libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise.
3118 * libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise.
3119 * libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise.
3120 * libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise.
3121 * libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise.
3122 * libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise.
3123 * libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise.
3124 * libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise.
3125 * libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise.
3126 * libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise.
3127 * libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise.
3128 * libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise.
3129 * libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise.
3130 * libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise.
3131 * libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise.
3132 * libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise.
3133 * libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise.
3134 * libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise.
3135 * libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise.
3136 * libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise.
3137 * libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise.
3138 * libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise.
3139 * libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise.
3140 * libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise.
3141 * libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise.
3142 * libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise.
3143 * libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise.
3144 * libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise.
3145 * libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise.
3146 * libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise.
3147 * libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise.
3148 * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise.
3149 * libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise.
3150 * libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise.
3151 * libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise.
3152 * libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise.
3153 * libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise.
3154 * libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise.
3155 * libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise.
3156 * libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise.
3157 * libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise.
3158 * libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise.
3159 * libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise.
3160 * libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise.
3161 * libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise.
3162 * libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise.
3163 * libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise.
3164 * libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise.
3165 * libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise.
3166 * libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise.
3167 * libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise.
3168 * libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise.
3169 * libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise.
3170 * libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise.
3171 * libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise.
3172 * libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise.
3173 * libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise.
3174 * libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise.
3175 * libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise.
3176 * libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise.
3177 * libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise.
3178 * libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise.
3179 * libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise.
3180 * libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise.
3181 * libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise.
3182 * libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise.
3183 * libgnat/a-excach.adb, libgnat/a-except.adb: Likewise.
3184 * libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise.
3185 * libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise.
3186 * libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise.
3187 * libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise.
3188 * libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise.
3189 * libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise.
3190 * libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise.
3191 * libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise.
3192 * libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise.
3193 * libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise.
3194 * libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise.
3195 * libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise.
3196 * libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise.
3197 * libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise.
3198 * libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise.
3199 * libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise.
3200 * libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise.
3201 * libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise.
3202 * libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise.
3203 * libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise.
3204 * libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise.
3205 * libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise.
3206 * libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise.
3207 * libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise.
3208 * libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise.
3209 * libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise.
3210 * libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise.
3211 * libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise.
3212 * libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise.
3213 * libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise.
3214 * libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise.
3215 * libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise.
3216 * libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise.
3217 * libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise.
3218 * libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise.
3219 * libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise.
3220 * libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise.
3221 * libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise.
3222 * libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise.
3223 * libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise.
3224 * libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise.
3225 * libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise.
3226 * libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise.
3227 * libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise.
3228 * libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise.
3229 * libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise.
3230 * libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise.
3231 * libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise.
3232 * libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise.
3233 * libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise.
3234 * libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise.
3235 * libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise.
3236 * libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise.
3237 * libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise.
3238 * libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise.
3239 * libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise.
3240 * libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise.
3241 * libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise.
3242 * libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise.
3243 * libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise.
3244 * libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise.
3245 * libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise.
3246 * libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise.
3247 * libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise.
3248 * libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise.
3249 * libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise.
3250 * libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise.
3251 * libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise.
3252 * libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise.
3253 * libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise.
3254 * libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise.
3255 * libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise.
3256 * libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise.
3257 * libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise.
3258 * libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise.
3259 * libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise.
3260 * libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise.
3261 * libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise.
3262 * libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise.
3263 * libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise.
3264 * libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise.
3265 * libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise.
3266 * libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise.
3267 * libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise.
3268 * libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise.
3269 * libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise.
3270 * libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise.
3271 * libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise.
3272 * libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise.
3273 * libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise.
3274 * libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise.
3275 * libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise.
3276 * libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise.
3277 * libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise.
3278 * libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise.
3279 * libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise.
3280 * libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise.
3281 * libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise.
3282 * libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise.
3283 * libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise.
3284 * libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise.
3285 * libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise.
3286 * libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise.
3287 * libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise.
3288 * libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise.
3289 * libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise.
3290 * libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise.
3291 * libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise.
3292 * libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise.
3293 * libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise.
3294 * libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise.
3295 * libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise.
3296 * libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise.
3297 * libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise.
3298 * libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise.
3299 * libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise.
3300 * libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise.
3301 * libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise.
3302 * libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise.
3303 * libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise.
3304 * libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise.
3305 * libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise.
3306 * libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise.
3307 * libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise.
3308 * libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise.
3309 * libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise.
3310 * libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise.
3311 * libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise.
3312 * libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise.
3313 * libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise.
3314 * libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise.
3315 * libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise.
3316 * libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise.
3317 * libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise.
3318 * libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise.
3319 * libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise.
3320 * libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise.
3321 * libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise.
3322 * libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise.
3323 * libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise.
3324 * libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise.
3325 * libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise.
3326 * libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise.
3327 * libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise.
3328 * libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise.
3329 * libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise.
3330 * libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise.
3331 * libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise.
3332 * libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise.
3333 * libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise.
3334 * libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise.
3335 * libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise.
3336 * libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise.
3337 * libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise.
3338 * libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise.
3339 * libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise.
3340 * libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise.
3341 * libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise.
3342 * libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise.
3343 * libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise.
3344 * libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise.
3345 * libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise.
3346 * libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise.
3347 * libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise.
3348 * libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise.
3349 * libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise.
3350 * libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise.
3351 * libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise.
3352 * libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise.
3353 * libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise.
3354 * libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise.
3355 * libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise.
3356 * libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise.
3357 * libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise.
3358 * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise.
3359 * libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise.
3360 * libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise.
3361 * libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise.
3362 * libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise.
3363 * libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise.
3364 * libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise.
3365 * libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise.
3366 * libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise.
3367 * libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise.
3368 * libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise.
3369 * libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise.
3370 * libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise.
3371 * libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise.
3372 * libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise.
3373 * libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise.
3374 * libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise.
3375 * libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise.
3376 * libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise.
3377 * libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise.
3378 * libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise.
3379 * libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise.
3380 * libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise.
3381 * libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise.
3382 * libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise.
3383 * libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise.
3384 * libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise.
3385 * libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise.
3386 * libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise.
3387 * libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise.
3388 * libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise.
3389 * libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise.
3390 * libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise.
3391 * libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise.
3392 * libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise.
3393 * libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise.
3394 * libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise.
3395 * libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise.
3396 * libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise.
3397 * libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise.
3398 * libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise.
3399 * libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise.
3400 * libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise.
3401 * libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise.
3402 * libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise.
3403 * libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise.
3404 * libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise.
3405 * libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise.
3406 * libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise.
3407 * libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise.
3408 * libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise.
3409 * libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise.
3410 * libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise.
3411 * libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise.
3412 * libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise.
3413 * libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise.
3414 * libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise.
3415 * libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise.
3416 * libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise.
3417 * libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise.
3418 * libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise.
3419 * libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise.
3420 * libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise.
3421 * libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise.
3422 * libgnat/g-string.adb, libgnat/g-string.ads: Likewise.
3423 * libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise.
3424 * libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise.
3425 * libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise.
3426 * libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise.
3427 * libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise.
3428 * libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise.
3429 * libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise.
3430 * libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise.
3431 * libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise.
3432 * libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise.
3433 * libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise.
3434 * libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise.
3435 * libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise.
3436 * libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise.
3437 * libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise.
3438 * libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise.
3439 * libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise.
3440 * libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise.
3441 * libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise.
3442 * libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise.
3443 * libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise.
3444 * libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise.
3445 * libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise.
3446 * libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise.
3447 * libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise.
3448 * libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise.
3449 * libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise.
3450 * libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise.
3451 * libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise.
3452 * libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise.
3453 * libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise.
3454 * libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise.
3455 * libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise.
3456 * libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise.
3457 * libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise.
3458 * libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise.
3459 * libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise.
3460 * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise.
3461 * libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise.
3462 * libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise.
3463 * libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise.
3464 * libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise.
3465 * libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise.
3466 * libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise.
3467 * libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise.
3468 * libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise.
3469 * libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise.
3470 * libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise.
3471 * libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise.
3472 * libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise.
3473 * libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise.
3474 * libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise.
3475 * libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise.
3476 * libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise.
3477 * libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise.
3478 * libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise.
3479 * libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise.
3480 * libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise.
3481 * libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise.
3482 * libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise.
3483 * libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise.
3484 * libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise.
3485 * libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise.
3486 * libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise.
3487 * libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise.
3488 * libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise.
3489 * libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise.
3490 * libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise.
3491 * libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise.
3492 * libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise.
3493 * libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise.
3494 * libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise.
3495 * libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise.
3496 * libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise.
3497 * libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise.
3498 * libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise.
3499 * libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise.
3500 * libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise.
3501 * libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise.
3502 * libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise.
3503 * libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise.
3504 * libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise.
3505 * libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise.
3506 * libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise.
3507 * libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise.
3508 * libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise.
3509 * libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise.
3510 * libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise.
3511 * libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise.
3512 * libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise.
3513 * libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise.
3514 * libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise.
3515 * libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise.
3516 * libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise.
3517 * libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise.
3518 * libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise.
3519 * libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise.
3520 * libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise.
3521 * libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise.
3522 * libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise.
3523 * libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise.
3524 * libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise.
3525 * libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise.
3526 * libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise.
3527 * libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise.
3528 * libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise.
3529 * libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise.
3530 * libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise.
3531 * libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise.
3532 * libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise.
3533 * libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise.
3534 * libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise.
3535 * libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise.
3536 * libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise.
3537 * libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise.
3538 * libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise.
3539 * libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise.
3540 * libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise.
3541 * libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise.
3542 * libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise.
3543 * libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise.
3544 * libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise.
3545 * libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise.
3546 * libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise.
3547 * libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise.
3548 * libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise.
3549 * libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise.
3550 * libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise.
3551 * libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise.
3552 * libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise.
3553 * libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise.
3554 * libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise.
3555 * libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise.
3556 * libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise.
3557 * libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise.
3558 * libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise.
3559 * libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise.
3560 * libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise.
3561 * libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise.
3562 * libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise.
3563 * libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise.
3564 * libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise.
3565 * libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise.
3566 * libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise.
3567 * libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise.
3568 * libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise.
3569 * libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise.
3570 * libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise.
3571 * libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise.
3572 * libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise.
3573 * libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise.
3574 * libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise.
3575 * libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise.
3576 * libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise.
3577 * libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise.
3578 * libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise.
3579 * libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise.
3580 * libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise.
3581 * libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise.
3582 * libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise.
3583 * libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise.
3584 * libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise.
3585 * libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise.
3586 * libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise.
3587 * libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise.
3588 * libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise.
3589 * libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise.
3590 * libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise.
3591 * libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise.
3592 * libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise.
3593 * libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise.
3594 * libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise.
3595 * libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise.
3596 * libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise.
3597 * libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise.
3598 * libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise.
3599 * libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise.
3600 * libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise.
3601 * libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise.
3602 * libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise.
3603 * libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise.
3604 * libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise.
3605 * libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise.
3606 * libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise.
3607 * libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise.
3608 * libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise.
3609 * libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise.
3610 * libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise.
3611 * libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise.
3612 * libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise.
3613 * libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise.
3614 * libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise.
3615 * libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise.
3616 * libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise.
3617 * libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise.
3618 * libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise.
3619 * libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise.
3620 * libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise.
3621 * libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise.
3622 * libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise.
3623 * libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise.
3624 * libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise.
3625 * libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise.
3626 * libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise.
3627 * libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise.
3628 * libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise.
3629 * libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise.
3630 * libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise.
3631 * libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise.
3632 * libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise.
3633 * libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise.
3634 * libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise.
3635 * libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise.
3636 * libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise.
3637 * libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise.
3638 * libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise.
3639 * libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise.
3640 * libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise.
3641 * libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise.
3642 * libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise.
3643 * libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise.
3644 * libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise.
3645 * libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise.
3646 * libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise.
3647 * libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise.
3648 * libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise.
3649 * libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise.
3650 * libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise.
3651 * libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise.
3652 * libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise.
3653 * libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise.
3654 * libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise.
3655 * libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise.
3656 * libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise.
3657 * libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise.
3658 * libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise.
3659 * libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise.
3660 * libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise.
3661 * libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise.
3662 * libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise.
3663 * libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise.
3664 * libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise.
3665 * libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise.
3666 * libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise.
3667 * libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise.
3668 * libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise.
3669 * libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise.
3670 * libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise.
3671 * libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise.
3672 * libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise.
3673 * libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise.
3674 * libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise.
3675 * libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise.
3676 * libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise.
3677 * libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise.
3678 * libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise.
3679 * libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise.
3680 * libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise.
3681 * libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise.
3682 * libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise.
3683 * libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise.
3684 * libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise.
3685 * libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise.
3686 * libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise.
3687 * libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise.
3688 * libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise.
3689 * libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise.
3690 * libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise.
3691 * libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise.
3692 * libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise.
3693 * libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise.
3694 * libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise.
3695 * libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise.
3696 * libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise.
3697 * libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise.
3698 * libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise.
3699 * libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise.
3700 * libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise.
3701 * libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise.
3702 * libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise.
3703 * libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise.
3704 * libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise.
3705 * libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise.
3706 * libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise.
3707 * libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise.
3708 * libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise.
3709 * libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise.
3710 * libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise.
3711 * libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise.
3712 * libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise.
3713 * libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise.
3714 * libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise.
3715 * libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise.
3716 * libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise.
3717 * libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise.
3718 * libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise.
3719 * libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise.
3720 * libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise.
3721 * libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise.
3722 * libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise.
3723 * libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise.
3724 * libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise.
3725 * libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise.
3726 * libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise.
3727 * libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise.
3728 * libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise.
3729 * libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise.
3730 * libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise.
3731 * libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise.
3732 * libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise.
3733 * libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise.
3734 * libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise.
3735 * libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise.
3736 * libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise.
3737 * libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise.
3738 * libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise.
3739 * libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise.
3740 * libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise.
3741 * libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise.
3742 * libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise.
3743 * libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise.
3744 * libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise.
3745 * libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise.
3746 * libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise.
3747 * libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise.
3748 * libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise.
3749 * libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise.
3750 * libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise.
3751 * libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise.
3752 * libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise.
3753 * libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise.
3754 * libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise.
3755 * libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise.
3756 * libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise.
3757 * libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise.
3758 * libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise.
3759 * libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise.
3760 * libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise.
3761 * libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise.
3762 * libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise.
3763 * libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise.
3764 * libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise.
3765 * libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise.
3766 * libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise.
3767 * libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise.
3768 * libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise.
3769 * libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise.
3770 * libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise.
3771 * libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise.
3772 * libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise.
3773 * libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise.
3774 * libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise.
3775 * libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise.
3776 * libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise.
3777 * libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise.
3778 * libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise.
3779 * libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise.
3780 * libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise.
3781 * libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise.
3782 * libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise.
3783 * libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise.
3784 * libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise.
3785 * libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise.
3786 * libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise.
3787 * libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise.
3788 * libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise.
3789 * libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise.
3790 * libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise.
3791 * libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise.
3792 * libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise.
3793 * libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise.
3794 * libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise.
3795 * libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise.
3796 * libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise.
3797 * libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise.
3798 * libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise.
3799 * libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise.
3800 * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise.
3801 * libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise.
3802 * libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise.
3803 * libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise.
3804 * libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise.
3805 * libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise.
3806 * libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise.
3807 * libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise.
3808 * libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise.
3809 * libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise.
3810 * libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise.
3811 * libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise.
3812 * libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise.
3813 * libgnat/system-solaris-sparc.ads: Likewise.
3814 * libgnat/system-solaris-x86.ads: Likewise.
3815 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
3816 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
3817 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
3818 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
3819 * libgnat/system-vxworks7-aarch64.ads: Likewise.
3820 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
3821 * libgnat/system-vxworks7-arm.ads: Likewise.
3822 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
3823 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
3824 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
3825 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
3826 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
3827 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
3828 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
3829 * libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise.
3830 * live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise.
3831 * make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise.
3832 * mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise.
3833 * mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise.
3834 * namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise.
3835 * opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise.
3836 * osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise.
3837 * osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise.
3838 * par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise.
3839 * par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise.
3840 * par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise.
3841 * par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise.
3842 * par.ads, par_sco.adb, par_sco.ads: Likewise.
3843 * pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise.
3844 * prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise.
3845 * raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise.
3846 * repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise.
3847 * restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise.
3848 * rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise.
3849 * scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise.
3850 * scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise.
3851 * scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise.
3852 * sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise.
3853 * sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise.
3854 * sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise.
3855 * sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise.
3856 * sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise.
3857 * sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise.
3858 * sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise.
3859 * sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise.
3860 * sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise.
3861 * sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise.
3862 * sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise.
3863 * sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise.
3864 * sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise.
3865 * sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise.
3866 * sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise.
3867 * sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise.
3868 * sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise.
3869 * sigtramp-ios.c, sigtramp-qnx.c: Likewise.
3870 * sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise.
3871 * sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise.
3872 * sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise.
3873 * sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise.
3874 * sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise.
3875 * sprint.adb, sprint.ads, stand.ads: Likewise.
3876 * stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise.
3877 * style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise.
3878 * stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise.
3879 * switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise.
3880 * switch.ads, sysdep.c, table.adb: Likewise.
3881 * table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise.
3882 * tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise.
3883 * treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise.
3884 * types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise.
3885 * urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise.
3886 * validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise.
3887 * warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise.
3888 * xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise.
3889 * gnatvsn.ads (Current_Year): Likewise and bump to 2023.
3890
38912023-01-09 Eric Botcazou <ebotcazou@adacore.com>
3892
3893 * exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement.
3894 (Make_Final_Call): Likewise.
3895
38962023-01-09 Eric Botcazou <ebotcazou@adacore.com>
3897
3898 * exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete.
3899 (Is_Displacement_Of_Object_Or_Function_Result): Likewise.
3900 * exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to...
3901 (Is_Temporary_For_Interface_Object): ...this.
3902 (Is_Finalizable_Transient): Adjust call to above renaming.
3903 (Is_Displacement_Of_Object_Or_Function_Result): Delete.
3904 (Requires_Cleanup_Actions): Remove special handling of the
3905 temporaries created for interface objects.
3906 * exp_ch7.adb (Build_Finalizer): Likewise.
3907
d901bf8a
GA
39082023-01-07 LIU Hao <lh_mouse@126.com>
3909
3910 PR middle-end/108300
3911 * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include
3912 <windows.h>`.
3913 * cio.c: Likewise.
3914 * ctrl_c.c: Likewise.
3915 * expect.c: Likewise.
3916 * gsocket.h: Likewise.
3917 * mingw32.h: Likewise.
3918 * mkdir.c: Likewise.
3919 * rtfinal.c: Likewise.
3920 * rtinit.c: Likewise.
3921 * seh_init.c: Likewise.
3922 * sysdep.c: Likewise.
3923 * terminals.c: Likewise.
3924 * tracebak.c: Likewise.
3925
53ef7c1d
GA
39262023-01-05 Eric Botcazou <ebotcazou@adacore.com>
3927
3928 * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: Tweak.
3929
39302023-01-05 Eric Botcazou <ebotcazou@adacore.com>
3931
3932 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite the end of the
3933 handling of objects with (class-wide) interface type by using the
3934 same idiom as the other cases generating a renaming.
3935 * exp_util.adb (Is_Displacement_Of_Object_Or_Function_Result): Tweak
3936 pattern matching code and exclude special return objects.
3937 (Requires_Cleanup_Actions): Adjust comment.
3938 * exp_ch7.adb (Build_Finalizer): Likewise.
3939
39402023-01-05 Piotr Trojanek <trojanek@adacore.com>
3941
3942 * freeze.adb (Build_Renamed_Body): Rewrite subprogram renaming to
3943 subprogram declaration early and then set the Body_To_Inling flag.
3944
39452023-01-05 Piotr Trojanek <trojanek@adacore.com>
3946
3947 * freeze.adb (Build_Renamed_Body): Revert a special case for
3948 GNATprove; remove unnecessary initialization of a local variable.
3949
39502023-01-05 Marc Poulhiès <poulhies@adacore.com>
3951
3952 * sem_ch12.adb (Instantiate_Package_Body): Better filtering when
3953 installing parent on the scope stack.
3954
39552023-01-05 Eric Botcazou <ebotcazou@adacore.com>
3956
3957 * repinfo.ads (The JSON output format): Document change.
3958 * urealp.adb (UR_Write_To_JSON): Output a fraction instead of a
3959 decimal approximation.
3960
39612023-01-05 Eric Botcazou <ebotcazou@adacore.com>
3962
3963 * exp_ch3.adb (Expand_N_Object_Declaration): New local variable
3964 Func_Id holding the function for a special return object.
3965 Use a direct renaming in the class-wide case when the initializing
3966 expression is a captured function call, except for a special return
3967 object when the two functions do not return on the same stack.
3968 Apply the accessibility check for class-wide special return objects.
3969 * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: New.
3970 Do not force a dispatching call to the primitive operation _Size if
3971 the expression is known to statically have the tag of its type.
3972
39732023-01-05 Eric Botcazou <ebotcazou@adacore.com>
3974
3975 * exp_ch3.adb (Expand_N_Object_Declaration): Fix pasto in comment.
3976
39772023-01-05 Ronan Desplanques <desplanques@adacore.com>
3978
3979 * sem_aggr.adb (Resolve_Array_Aggregate): Tweak conditions for
3980 warning about use of parentheses for array aggregates.
3981
39822023-01-05 Javier Miranda <miranda@adacore.com>
3983
3984 * scans.ads (Tok_Left_Curly_Bracket, Tok_Right_Curly_Bracket)
3985 (Tok_Left_Interpolated_String): Placed in no category since they
3986 don't fit well in the existing categories. Fix typo in comment.
3987 (Inside_Interpolated_String_Literal): New scan state variable.
3988 * scng.adb (Slit): Scan interpolated string literals,
3989 continuations of interpolated string literals and escaped
3990 characters found in interpolated string literals.
3991 (Scan): Handle consecutive interpolated expressions. Handle ending
3992 delimiter placed immediately after an interpolated expression.
3993 Handle string literal placed after interpolated expression. Handle
3994 left and right curly brackets; when extensions are not allowed
3995 they are treated as left and right paren; when extensions are
3996 allowed they are handled as delimiters of interpolated string
3997 literals.
3998 * sinfo.ads (N_Interpolated_String_Literal): New node.
3999 * gen_il-gen-gen_nodes.adb (N_Interpolated_String_Literal): Define
4000 N_String_Literal node.
4001 * gen_il-types.ads (Opt_Type_Enum): Define N_String_Literal as
4002 concrete node type.
4003 * par-ch2.adb (P_Interpolated_String_Literal): New subprogram.
4004 * par-ch4.adb (P_Simple_Expression): Handle '}' as expression
4005 terminator when scanning an interpolated expression; disable error
4006 recovery machinery for binary operator when we are processing an
4007 interpolated string literal and reach the expression terminator
4008 '}'.
4009 (P_Primary): Call P_Interpolated_String_Literal when the opening
4010 interpolated-string-literal delimiter is found (that is, the left
4011 curly bracket '{').
4012 * par-tchk.adb (T_Right_Curly_Bracket): New subprogram.
4013 * par.adb (P_Interpolated_String_Literal): New declaration.
4014 (T_Right_Curly_Bracket): New declaration.
4015 * sem.adb (Analyze): Call Analyze_Interpolated_String_Literal.
4016 * sem_ch2.ads (Analyze_Interpolated_String_Literal): New
4017 subprogram
4018 * sem_ch2.adb (Analyze_Interpolated_String_Literal): Likewise.
4019 * sem_util.adb (Is_User_Defined_Literal): Complete mapping of
4020 literal aspects adding that interpolated string literals have no
4021 correspondence with any aspect.
4022 * sem_res.adb (Resolve_Interpolated_String_Literal): New
4023 subprogram.
4024 (Has_Applicable_User_Defined_Literal): Complete mapping of literal
4025 aspects adding that interpolated string literals have no
4026 correspondency with any aspect.
4027 * expander.adb (Expand): Add call to
4028 Expand_N_Interpolated_String_Literal.
4029 * exp_util.adb (Insert_Actions): Handle
4030 N_Interpolated_String_Literal nodes; that is, continue climbing.
4031 * exp_ch2.ads (Expand_N_Interpolated_String_Literal): New
4032 subprogram.
4033 * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Likewise.
4034 * exp_put_image.adb (Build_Elementary_Put_Image_Call): Add missing
4035 conversion to force dispatching call. Required to handle calls to
4036 descendants.
4037 (Build_String_Put_Image_Call): Do not output string delimiters
4038 when the put_image call is part of an interpolated string literal.
4039 * rtsfind.ads (RTU_Id): Add RE_Set_Trim_Leading_Spaces.
4040 * sprint.adb (Sprint_Node): Output interpolated string contents.
4041 * libgnat/a-stbubo.adb (Get_UTF_8): Add default value for
4042 Trim_Leading_White_Spaces component in aggregate.
4043 (Buffer_Type_Implementation): Update Trim_Leading_White_Spaces.
4044 * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
4045 (Buffer_Type_Implementation): Likewise.
4046 * libgnat/a-sttebu.ads (Set_Trim_Leading_Spaces): New subprogram.
4047 (Trim_Leading_Spaces): New subprogram.
4048 (Root_Buffer_Type): Adding Trim_Leading_While_Spaces component.
4049 * libgnat/a-sttebu.adb (procedure Set_Trim_Leading_Spaces): New
4050 subprogram.
4051 (Trim_Leading_Space): New subprogram.
4052 (Put_UTF_8): Handle Trim_Leading_White_Spaces.
4053 (New_Line): Likewise.
4054 * libgnat/s-putima.ads (Put_Image_String): Adding formal
4055 (with_delimiters).
4056 (Put_Image_Wide_String): Likewise.
4057 (Put_Image_Wide_Wide_String): Likewise.
4058 * libgnat/s-putima.adb (Put_Image_String): Adding support for new
4059 formal.
4060 (Put_Image_Wide_String): Likewise.
4061 (Put_Image_Wide_Wide_String): Likewise.
4062
40632023-01-05 Joao Azevedo <azevedo@adacore.com>
4064
4065 * doc/gnat_ugn/gnat_utility_programs.rst: add gnatpp --layout
4066 switch and update legacy switches.
4067
40682023-01-05 Eric Botcazou <ebotcazou@adacore.com>
4069
4070 * freeze.adb (Freeze_Entity): For the purpose of deciding whether to
4071 freeze an entity coming from an outer scope in an inner scope, treat
4072 the internal subprogram generated because of post-conditions as also
4073 coming from source if the original subprogram itself does.
4074
40752023-01-05 Eric Botcazou <ebotcazou@adacore.com>
4076
4077 * contracts.adb (Build_Subprogram_Contract_Wrapper): Generate an
4078 extended return statement in all cases.
4079 (Expand_Subprogram_Contract): Adjust comment.
4080
40812023-01-05 Ronan Desplanques <desplanques@adacore.com>
4082
4083 * libgnat/g-forstr.adb (F_Kind): Rename enumeration literal.
4084 (P_Flt_Format): Adjust handling of "%g".
4085 (Determine_Notation_And_Aft): New procedure.
4086 (Decimal_Exponent): New function.
4087 (Increment_Integral_Part): New procedure.
4088 (Remove_Extraneous_Decimal_Digit): New procedure.
4089 (Trim_Fractional_Part): New procedure.
4090 * libgnat/g-forstr.ads: Change description of "%g" specifier.
4091
40922023-01-05 Marc Poulhiès <poulhies@adacore.com>
4093
4094 * sem_ch12.adb (Instantiate_Package_Body): Correctly find the
4095 parent instance to place on the scope stack.
4096
40972023-01-05 Justin Squirek <squirek@adacore.com>
4098
4099 * sem_ch8.adb (Set_Entity_Or_Discriminal): Verify we are actually
4100 resetting the entity field of a non-prefixed discriminant
4101 reference.
4102
41032023-01-05 Eric Botcazou <ebotcazou@adacore.com>
4104
4105 * exp_ch3.adb (Expand_N_Object_Declaration): New local variable used
4106 throughout instead of testing Is_Special_Return_Object every time.
4107 Do not rename an OK_To_Rename object for a special return object.
4108 * exp_ch4.adb (Expand_Concatenate): Revert to constrained allocation
4109 if the result is allocated on the secondary stack.
4110
41112023-01-05 Steve Baird <baird@adacore.com>
4112
4113 * sem_prag.adb (Analyze_Pragma): Fix Is_Configuration_Pragma
4114 function to handle case where the pragma's parent is an
4115 N_Aspect_Specification node. In analyzing a Discard_Names pragma,
4116 do not assume that a nonzero number of arguments implies that the
4117 pragma is not a configuration pragma; that assumption only holds
4118 for legal programs.
4119
41202023-01-05 Bob Duff <duff@adacore.com>
4121
4122 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
4123 Add RM references.
4124 * gnat_ugn.texi: Regenerate.
4125
41262023-01-05 Eric Botcazou <ebotcazou@adacore.com>
4127
4128 * exp_ch3.adb (Expand_N_Object_Declaration): For a special return
4129 object of an interface type that is not inherently limited, make
4130 a call to the Adjust primitive after doing the copy. For a special
4131 return object of a non-class-wide type initialized by a function
4132 call, use a direct renaming only if the object doing the capture
4133 is flagged by Is_Related_To_Func_Return. For a special return
4134 object using a direct renaming, reassign the tag, if need be.
4135 * exp_ch6.adb (Expand_Simple_Function_Return): Fix comment.
4136 * exp_util.adb (Is_Related_To_Func_Return): Accept both regular and
4137 renaming object declarations for return objects.
4138
41392023-01-05 Bob Duff <duff@adacore.com>
4140
4141 * sem_ch5.adb (Analyze_Assignment): Fix the bug by checking
4142 Original_Node. The renaming might be elsewhere, but the (original)
4143 reference is right here.
4144 * errout.adb: Remove pragma Unreferenced which was added because
4145 of the above bug.
4146 * einfo.ads: Misc cleanup.
4147 * lib.adb: Likewise.
4148 * lib.ads: Likewise.
4149
0f8fbb57
GA
41502023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
4151
4152 * errout.adb (Write_JSON_Span): Escape subprogram name.
4153
41542023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
4155
4156 * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol.
4157
41582023-01-03 Ronan Desplanques <desplanques@adacore.com>
4159
4160 * libgnat/g-forstr.adb (P_Flt_Format): Add "*" syntax handling.
4161
41622023-01-03 Ronan Desplanques <desplanques@adacore.com>
4163
4164 * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug.
4165
41662023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4167
4168 * exp_ch6.adb (Expand_Simple_Function_Return): Make sure that a
4169 captured function call also verifies Is_Related_To_Func_Return.
4170 Do not generate an actual subtype for special return objects.
4171 * exp_util.ads (Is_Related_To_Func_Return): Add commentary.
4172
41732023-01-03 Ronan Desplanques <desplanques@adacore.com>
4174
4175 * libgnat/g-forstr.adb
4176 (Advance_And_Accumulate_Until_Next_Specifier): New procedure.
4177 ("-"): Replace inline code with call to
4178 Advance_And_Accumulate_Until_Next_Specifier.
4179 (Next_Format): likewise.
4180
41812023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4182
4183 * checks.adb (Apply_Discriminant_Check.Denotes_Explicit_Dereference):
4184 Return false for artificial dereferences generated by the expander.
4185
41862023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4187
4188 * exp_ch6.adb (Is_Build_In_Place_Function): Adjust comment.
4189 * sem_util.adb (Compute_Returns_By_Ref): Do not set Returns_By_Ref
4190 on functions with foreign convention.
4191
41922023-01-03 Marc Poulhiès <poulhies@adacore.com>
4193
4194 * exp_aggr.adb (Build_Assignment_With_Temporary): New.
4195 (Expand_Array_Aggregate): Tune backend optimization
4196 and insert a temporary in the case of an access with
4197 Designated_Storage_Model aspect.
4198 (Convert_Array_Aggr_In_Allocator): Likewise.
4199
42002023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4201
4202 * sem_res.adb (Resolve_Membership_Op): Adjust again latest change.
4203
42042023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4205
4206 * sem_util.ads (Set_Debug_Info_Defining_Id): Adjust comment.
4207 * sem_util.adb (Is_Aliased_View) <N_Explicit_Dereference>: Return
4208 false for more artificial dereferences generated by the expander.
4209 (Set_Debug_Info_Defining_Id): Set Debug_Info_Needed unconditionally
4210 in -gnatD mode.
4211 * exp_ch6.adb (Replace_Renaming_Declaration_Id): Also preserve the
4212 Is_Aliased flag.
4213
42142023-01-03 Joel Brobecker <brobecker@adacore.com>
4215
4216 * doc/gnat_ugn/platform_specific_information.rst
4217 (_Platform_Specific_Information): Minor rewording of intro text.
4218 * gnat_ugn.texi: Regenerate.
4219
42202023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4221
4222 * exp_util.ads (Is_Captured_Function_Call): Declare.
4223 * exp_util.adb (Is_Captured_Function_Call): New predicate.
4224 * exp_ch3.adb (Expand_N_Object_Declaration): Use it to detect a
4225 rewritten function call as the initializing expression.
4226 * exp_ch6.adb (Expand_Simple_Function_Return): Use it to detect a
4227 rewritten function call as the returned expression.
4228
42292023-01-03 Bob Duff <duff@adacore.com>
4230
4231 * exp_util.adb (Integer_Type_For): Assertion and comment.
4232 (Small_Integer_Type_For): Remove some code and call
4233 Integer_Type_For instead.
4234 * sem_util.ads (Rep_To_Pos_Flag): Improve comments. "Standard_..."
4235 seems overly pedantic here.
4236 * exp_attr.adb (Succ, Pred): Clean up: make the code as similar as
4237 possible.
4238 * exp_ch4.adb: Minor: named notation.
4239
42402023-01-03 Javier Miranda <miranda@adacore.com>
4241
4242 * ghost.adb (Is_OK_Declaration): A reference to a Ghost entity may
4243 appear within the class-wide precondition of a helper subprogram.
4244 This context is treated as suitable because it was already
4245 verified when we were analyzing the original class-wide
4246 precondition.
4247
42482023-01-03 Eric Botcazou <ebotcazou@adacore.com>
4249
4250 * exp_tss.adb (Base_Init_Proc): Do not return the Init_Proc of the
4251 ancestor type for a derived array type.
4252 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Factor out the
4253 common processing done on representation items.
4254 For Default_Component_Value and Default_Value, look into the first
4255 subtype to find out the representation items.
4256
fee53a31
GA
42572023-01-02 Iain Sandoe <iain@sandoe.co.uk>
4258
4259 PR ada/108202
4260 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS, GCC_LDFLAGS):
4261 Versions of ALL_LINKERFLAGS, LDFLAGS with -Werror and
4262 -static-libgcc filtered out for Darwin8 and 9 (-Werror is filtered
4263 out for other hosts).
4264
42652023-01-02 Jakub Jelinek <jakub@redhat.com>
4266
4267 * gnat_ugn.texi: Bump @copying's copyright year.
4268 * gnat_rm.texi: Likewise.
4269
848830dc 4270\f
d64f8779 4271Copyright (C) 2023 Free Software Foundation, Inc.
848830dc
PMR
4272
4273Copying and distribution of this file, with or without modification,
4274are permitted in any medium without royalty provided the copyright
4275notice and this notice are preserved.