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