]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
d820cd78
GA
12023-09-05 Eric Botcazou <ebotcazou@adacore.com>
2
3 * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on
4 the simple return statement.
5
62023-09-05 Tom Tromey <tromey@adacore.com>
7
8 * gcc-interface/decl.cc (gnat_to_gnu_entity): Set bit-packed for
9 constrained and unconstrained array types.
10 * gcc-interface/misc.cc (gnat_get_array_descr_info): Examine
11 BIT_PACKED_ARRAY_TYPE_P.
12
132023-09-05 Piotr Trojanek <trojanek@adacore.com>
14
15 * sem_type.adb (Interface_Present_In_Ancestor): Remove guard against no
16 list of interfaces; fix style in comments (trailing dots).
17
182023-09-05 Piotr Trojanek <trojanek@adacore.com>
19
20 * sem_type.adb (Iface_Present_In_Ancestor): Only look at the list of
21 interfaces for types that allow it. The guard is a high-level equivalent
22 of the entity kinds listed in the preconditon of the Interfaces query.
23
242023-09-05 Piotr Trojanek <trojanek@adacore.com>
25
26 * sem_type.adb (Iface_Present_In_Ancestor): Remove guard for empty list
27 of interfaces; the following loop will work just fine without it.
28
292023-09-05 Eric Botcazou <ebotcazou@adacore.com>
30
31 * exp_ch9.adb (Build_Protected_Entry): Move the At_End procedure
32 from the entry body to the inner block statement.
33
342023-09-05 Bob Duff <duff@adacore.com>
35
36 * sem_ch4.adb (Find_Component_In_Instance): Check that
37 Declaration_Node (Par) is not Empty, as it is for itypes.
38
392023-09-05 Ronan Desplanques <desplanques@adacore.com>
40
41 * sem_ch7.adb (Analyze_Package_Declaration): Restrict calls to
42 `Sem_Warn.Check_References` and adjust comment accordingly.
43
442023-09-05 Eric Botcazou <ebotcazou@adacore.com>
45
46 * freeze.adb (Freeze_Enumeration_Type): Give an error on a type with
47 both representation clause and too large size.
48
492023-09-05 Liaiss Merzougue <merzougue@adacore.com>
50
51 * libgnat/s-imguti.adb: Remove comment.
52
532023-09-05 Javier Miranda <miranda@adacore.com>
54
55 * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): New
56 subprogram.
57 * accessibility.adb (Needs_Result_Accessibility_Level_Param): New
58 subprogram.
59 (Needs_Result_Accessibility_Extra_Formal): New subprogram,
60 temporarily keep the previous behavior of the frontend.
61 * sem_ch6.adb (Create_Extra_Formals): Replace occurrences of
62 function Needs_Result_Accessibility_Level_Param by calls to
63 function Needs_Result_Accessibility_Extra_Formal.
64 (Extra_Formals_OK): Ditto.
65
662023-09-05 Alexandre Oliva <oliva@adacore.com>
67
68 * libgnat/system-vxworks-ppc-rtp-smp.ads: Add -msmp to
69 Linker_Options pragma.
70
712023-09-05 Javier Miranda <miranda@adacore.com>
72
73 * exp_aggr.adb (Expand_Container_Aggregate): Report warning on
74 infinite recursion if an empty container aggregate appears in the
75 return statement of its Empty function. Fix typo in comment.
76 * sem_aggr.adb (Resolve_Aggregate): Resolve Ada 2022 empty
77 aggregate that initializes a record type that has defined its
78 container aggregate aspects.
79 (Resolve_Iterated_Association): Protect access to attribute Etype.
80 * sem_ch13.adb (Resolve_Aspect_Aggregate): Fix typo in comment.
81
822023-09-05 Steve Baird <baird@adacore.com>
83
84 * sem_attr.adb (Denote_Same_Function): Handle the case where
85 Has_Homonym (Pref_Id) returns True but Homonym (Pref_Id) returns
86 an empty result.
87
882023-09-05 Steve Baird <baird@adacore.com>
89
90 * sem_res.adb (Resolve_Unary_Op): In deciding whether to emit a
91 warning about a modular type's unary minus operator being applied
92 to an integer literal, ignore integer literals for which
93 Comes_From_Source is False.
94
952023-09-05 Johannes Kliemann <kliemann@adacore.com>
96
97 * libgnarl/s-taprop__qnx.adb: Implement Set_Task_Affinity.
98
992023-09-05 Ghjuvan Lacambre <lacambre@adacore.com>
100
101 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix
102 index.
103 * gnat_ugn.texi: Regenerate.
104
1052023-09-05 Daniel King <dmking@adacore.com>
106
107 * libgnat/s-carsi8.adb: Use operations from
108 System.Storage_Elements for address arithmetic.
109 * libgnat/s-carun8.adb: Likewise
110 * libgnat/s-casi128.adb: Likewise
111 * libgnat/s-casi16.adb: Likewise
112 * libgnat/s-casi32.adb: Likewise
113 * libgnat/s-casi64.adb: Likewise
114 * libgnat/s-caun128.adb: Likewise
115 * libgnat/s-caun16.adb: Likewise
116 * libgnat/s-caun32.adb: Likewise
117 * libgnat/s-caun64.adb: Likewise
118 * libgnat/s-geveop.adb: Likewise
119
1202023-09-05 Eric Botcazou <ebotcazou@adacore.com>
121
122 * sem_ch12.adb (Component_Type_For_Private_View): New function.
123 (Check_Generic_Actuals): For an actual type parameter, also check
124 its component type if it is an array type.
125 (Check_Private_View): Use Component_Type_For_Private_View in the
126 case of an array type.
127 (Instantiate_Type): Likewise.
128 (Save_Global_References.Set_Global_Type): Likewise.
129
1302023-09-05 Sheri Bernstein <bernstein@adacore.com>
131
132 * libgnat/s-aridou.adb: Add pragma to exempt Metrics_LSLOC.
133 (Double_Divide): Add pragma to exempt
134 Metrics_Cyclomatic_Complexity.
135 (Scaled_Divide): Likewise.
136 * libgnat/s-vauspe.ads (Uns_Option): Add pragma to exempt
137 Discriminated_Records.
138
1392023-09-05 Ronan Desplanques <desplanques@adacore.com>
140
141 * Makefile.rtl: Add missing units.
142
1432023-09-05 Sheri Bernstein <bernstein@adacore.com>
144
145 * libgnarl/a-reatim.adb (Time_Of): Add pragma to exempt
146 Discriminated_Records.
147 * libgnat/s-imguti.adb (Round, Set_Decimal_Digits): Likewise.
148 * libgnat/s-multip.adb (Number_Of_CPUs): Likewise.
149 * libgnarl/s-tpopsp__posix-foreign.adb (Self): Refactor multiple
150 returns.
151
1522023-09-05 Javier Miranda <miranda@adacore.com>
153
154 * sem_ch3.adb (Add_Internal_Interface_Entities): Add missing
155 subtype-conformance check on primitives implementing interface
156 primitives.
157 (Error_Posted_In_Formals): New subprogram.
158
1592023-09-05 Ronan Desplanques <desplanques@adacore.com>
160
161 * libgnarl/s-tassta.adb: Tweak comment.
162
1632023-09-05 Yang Yujie <yangyujie@loongson.cn>
164
165 * Makefile.rtl: Add LoongArch support.
166 * libgnarl/s-linux__loongarch.ads: New file.
167 * libgnat/system-linux-loongarch.ads: New file.
168
4b92dba7
GA
1692023-08-07 Sheri Bernstein <bernstein@adacore.com>
170
171 * libgnat/s-parame__qnx.adb: Refactor multiple returns.
172
1732023-08-07 Piotr Trojanek <trojanek@adacore.com>
174
175 * libgnat/i-cstrin.ads (Value): Extend preconditions; adapt comment for
176 the package.
177
1782023-08-07 Yannick Moy <moy@adacore.com>
179
180 * sem_res.adb (Resolve_Call): Always call Cannot_Inline so that
181 subprogram called is marked as not always inlined.
182
1832023-08-07 Javier Miranda <miranda@adacore.com>
184
185 * sem_res.adb (Resolve_Type_Conversion): Do not warn on conversion
186 to class-wide type on internally build helpers of class-wide
187 preconditions.
188
86fa4433
GA
1892023-08-03 Sheri Bernstein <bernstein@adacore.com>
190
191 * libgnat/s-aridou.adb: Add pragma to exempt Improper_Returns.
192 * libgnat/s-atopri.adb (Lock_Free_Try_Write): Likewise.
193 * libgnat/s-bitops.adb (Bit_Eq): Likewise.
194 * libgnat/s-carsi8.adb: Likewise.
195 * libgnat/s-carun8.adb: Likewise.
196 * libgnat/s-casi16.adb: Likewise.
197 * libgnat/s-casi32.adb: Likewise.
198 * libgnat/s-casi64.adb: Likewise.
199 * libgnat/s-caun16.adb: Likewise.
200 * libgnat/s-caun32.adb: Likewise.
201 * libgnat/s-caun64.adb: Likewise.
202 * libgnat/s-exponn.adb: Likewise.
203 * libgnat/s-expont.adb: Likewise.
204 * libgnat/s-valspe.adb: Likewise.
205 * libgnat/s-vauspe.adb: Likewise.
206
2072023-08-03 Vasiliy Fofanov <fofanov@adacore.com>
208
209 * libgnat/s-imageb.adb (Set_Image_Based_Unsigned): Rewritten.
210 * libgnat/s-imagew.adb (Set_Image_Width_Unsigned): Likewise.
211
2122023-08-03 Eric Botcazou <ebotcazou@adacore.com>
213
214 * exp_util.adb (Make_Invariant_Call): Convert the expression to
215 the type of the formal parameter if need be.
216
2172023-08-03 Eric Botcazou <ebotcazou@adacore.com>
218
219 * libgnat/s-dwalin.adb ("-"): New subtraction operator.
220 (Enable_Cache): Use it to compute the offset.
221 (Symbolic_Address): Likewise.
222
cf58b896
GA
2232023-08-01 Yannick Moy <moy@adacore.com>
224
225 * repinfo.adb (Compute_Max_Length): Set parameter to print number
226 in decimal notation.
227 (List_Component_Layout): Same.
228
2292023-08-01 Yannick Moy <moy@adacore.com>
230
231 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check for
232 Skip_Proof and Skip_Flow_And_Proof annotations for deciding
233 whether a subprogram can be inlined.
234
2352023-08-01 Steve Baird <baird@adacore.com>
236
237 * sem_ch3.adb (Constrain_Corresponding_Record): When copying
238 information from the unconstrained record type to a newly
239 constructed constrained record subtype, the
240 Direct_Primitive_Operations attribute must be copied.
241
2422023-08-01 Steve Baird <baird@adacore.com>
243
244 * sem_ch3.adb (Analyze_Component_Declaration): Remove
245 Build_Default_Subtype_OK call and code that could only executed in
246 the case where the removed call would have returned True. Other
247 calls to Build_Default_Subtype_Ok are unaffected by this change.
248
2492023-08-01 Pascal Obry <obry@adacore.com>
250
251 * aspects.ads (Find_Aspect): Add Boolean parameter Or_Rep_Item
252 (defaulted to False).
253 * aspects.adb (Find_Aspect): If new Boolean parameter Or_Rep_Item
254 is True, then instead of returning an empty result if no
255 appropriate N_Aspect_Specification node is found, return an
256 appropriate N_Attribute_Definition_Clause if one is found.
257 * exp_put_image.ads: Change name of Enable_Put_Image function to
258 Put_Image_Enabled.
259 * exp_put_image.adb (Build_Record_Put_Image_Procedure): Detect the
260 case where a call to the Put_Image procedure of a derived type can
261 be transformed into a call to the parent type's Put_Image
262 procedure (with a type conversion to the parent type as the actual
263 parameter).
264 (Put_Image_Enabled): Change name of function (previously
265 Enable_Put_Image). Return True in more cases. In particular,
266 return True for a type with an explicitly specified Put_Image
267 aspect even if the type is declared in a predefined unit (or in an
268 instance of a predefined generic unit).
269 * exp_attr.adb: Changes due to Put_Image_Enabled function name
270 change.
271
2722023-08-01 Yannick Moy <moy@adacore.com>
273
274 * repinfo.adb (List_Common_Type_Info): Fix output when alignment
275 is not statically known, and fix assertion when expansion is not
276 enabled.
277
2782023-08-01 Bob Duff <duff@adacore.com>
279
280 * atree.adb (Field_Present): New function to detect whether or not
281 a given field is present in a given node, based on either the node
282 kind or the entity kind as appropriate.
283 (Get_Field_Value): Check that the field begin fetched exists.
284 However, disable the check in the case of Scope_Depth_Value,
285 because we have failures in that case. Those failures need to be
286 fixed, and then the check can be enabled for all fields.
287 (Set_Field_Value): Check that the field begin set exists.
288
2892023-08-01 Léo Creuse <creuse@adacore.com>
290
291 * par_sco.adb (Process_Decisions): Traverse all attributes of
292 quantified expressions nodes.
293
e0f91730
GA
2942023-07-28 Eric Botcazou <ebotcazou@adacore.com>
295
296 * gcc-interface/trans.cc (gnat_to_gnu): Restrict previous change to
297 the case where the simple return statement has got no storage pool.
298
2992023-07-28 Clément Chigot <chigot@adacore.com>
300
301 * libgnarl/s-inmaop__posix.adb: Add assert after sigwait in
302 Interrupt_Wait
303
3042023-07-28 Javier Miranda <miranda@adacore.com>
305
306 * einfo-utils.adb (Underlying_Type): Protect recursion call
307 against non-available attribute Etype.
308 * einfo.ads (Protected_Subprogram): Fix typo in documentation.
309 * exp_ch3.adb (BIP_Function_Call_Id): New subprogram.
310 (Expand_N_Object_Declaration): Improve code that evaluates if the
311 object is initialized with a BIP function call.
312 * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): New
313 subprogram.
314 (Add_Task_Actuals_To_Build_In_Place_Call): Add dummy actuals if
315 the function does not require the BIP task actuals but it is a
316 dispatching operation that inherited them.
317 (Build_In_Place_Formal): Improve code to avoid never-ending loop
318 if the BIP formal is not found.
319 (Add_Dummy_Build_In_Place_Actuals): New subprogram.
320 (Expand_Call_Helper): Add calls to
321 Add_Dummy_Build_In_Place_Actuals.
322 (Expand_N_Extended_Return_Statement): Adjust assertion.
323 (Expand_Simple_Function_Return): Adjust assertion.
324 (Make_Build_In_Place_Call_In_Allocator): No action needed if the
325 called function inherited the BIP extra formals but it is not a
326 true BIP function.
327 (Make_Build_In_Place_Call_In_Assignment): Ditto.
328 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove code
329 reporting unsupported case (since this patch adds support for it).
330 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Adding assertion
331 to ensure matching of BIP formals when setting the
332 Protected_Formal field of a protected subprogram to reference the
333 corresponding extra formal of the subprogram that implements it.
334 (Might_Need_BIP_Task_Actuals): New subprogram.
335 (Create_Extra_Formals): Improve code adding inherited extra
336 formals.
337
3382023-07-28 Pascal Obry <obry@adacore.com>
339
340 * s-oscons-tmplt.c: Add support for SO_BINDTODEVICE constant.
341 * libgnat/g-socket.ads (Set_Socket_Option): Handle SO_BINDTODEVICE option.
342 (Get_Socket_Option): Handle SO_BINDTODEVICE option.
343 * libgnat/g-socket.adb: Likewise.
344 (Get_Socket_Option): Handle the case where IF_NAMESIZE is not defined
345 and so equal to -1.
346
3472023-07-28 Léo Creuse <creuse@adacore.com>
348
349 * par_sco.adb (Has_Decision): Consider that quantified expressions
350 contain decisions.
351
3522023-07-28 Ronan Desplanques <desplanques@adacore.com>
353
354 * libgnarl/s-tposen.adb: Fix race condition. Add comment to justify
355 the locking timing.
356
3572023-07-28 Viljar Indus <indus@adacore.com>
358
359 * exp_util.adb (Find_Optional_Prim_Op): use "No" instead of "= Empty"
360
3612023-07-28 Piotr Trojanek <trojanek@adacore.com>
362
363 * sem_res.adb (Resolve_Actuals): Add guard for the call to
364 Class_Preconditions_Subprogram.
365
3662023-07-28 Eric Botcazou <ebotcazou@adacore.com>
367
368 * exp_aggr.adb (Is_Two_Dim_Packed_Array): Return true only if the
369 component type of the array is scalar.
370
3712023-07-28 Piotr Trojanek <trojanek@adacore.com>
372
373 * sem_ch6.adb (Check_Statement_Sequence): Only warn about missing return
374 statements and let GNATprove emit a check when needed.
375
3762023-07-28 Tom Tromey <tromey@adacore.com>
377
378 * fe.h (Convention): Now inline function.
379 * gen_il-gen.adb (Put_C_Type_And_Subtypes.Put_Enum_Lit)
380 (Put_C_Type_And_Subtypes.Put_Kind_Subtype, Put_C_Getter):
381 Emit enum.
382 * snames.h-tmpl (Name_Id, Name_, Attribute_Id, Attribute_)
383 (Convention_Id, Convention_, Pragma_Id, Pragma_): Now enum.
384 (Get_Attribute_Id, Get_Pragma_Id): Now inline functions.
385 * types.h (Node_Kind, Entity_Kind, Convention_Id, Name_Id):
386 Now enum.
387 * xsnamest.adb (Output_Header_Line, Make_Value): Emit enum.
388
3892023-07-28 Piotr Trojanek <trojanek@adacore.com>
390
391 * libgnat/a-except.ads (Save_Occurrence): Fix typo.
392
3932023-07-28 Piotr Trojanek <trojanek@adacore.com>
394
395 * einfo-utils.adb (Number_Formals): Change types in body.
396 * einfo-utils.ads (Number_Formals): Change type in spec.
397 * einfo.ads (Number_Formals): Change type in comment.
398 * sem_ch13.adb (Is_Property_Function): Fix style in a caller of
399 Number_Formals that was likely to crash because of missing guards.
400
4012023-07-28 Piotr Trojanek <trojanek@adacore.com>
402
403 * sem_warn.adb (Check_Infinite_Loop_Warning): Don't look at the type of
404 actual parameter when it has no type at all, e.g. because the entire
405 subprogram call is illegal.
406
ec842611
GA
4072023-07-18 Tom Tromey <tromey@adacore.com>
408
409 * gcc-interface/decl.cc (check_ok_for_atomic_type): Use Pragma_Id.
410 * gcc-interface/trans.cc (lvalue_required_p, Pragma_to_gnu): Use
411 Pragma_Id.
412 (get_type_length, Attribute_to_gnu, get_atomic_access): Use
413 Attribute_Id.
414
4152023-07-18 Javier Miranda <miranda@adacore.com>
416
417 * exp_imgv.adb (Rewrite_Object_Image): fix type of formal. Found
418 reading sources.
419 (Expand_Wide_Image_Attribute): ditto.
420 (Expand_Wide_Wide_Image_Attribute): ditto.
421 (Rewrite_Object_Image): ditto.
422 * exp_put_image.adb (Build_Image_Call): For class-wide interface
423 type prefix generate code to displace the pointer to the object to
424 reference the base of the underlying object.
425
4262023-07-18 Viljar Indus <indus@adacore.com>
427
428 * sem_aggr.adb (Resolve_Iterated_Association): Add temporary scope
429 when analyzing the Iterator Specification. Use preanalysis instead
430 of Analysis to avoid polluting the tree.
431
4322023-07-18 Viljar Indus <indus@adacore.com>
433
434 * sem_aggr.adb (Resolve_Iterated_Association): Use the element
435 type for the iterator in a container aggregate with an iterator
436 specification.
437
4382023-07-18 Viljar Indus <indus@adacore.com>
439
440 * exp_aggr.adb (Expand_Container_Aggregate): Use the positional
441 addition method only when dealing with a container aggregate
442 without an Iterator Specification e.g. with a loop parameter
443 specification
444
4452023-07-18 Eric Botcazou <ebotcazou@adacore.com>
446
447 * sem_util.ads (Wrong_Type): Add Multiple parameter defaulting to
448 False and document it.
449 * sem_util.adb (Wrong_Type): Do not return early if an error has
450 already been posted on Expr and Multiple is True.
451 * sem_ch4.adb (Analyze_One_Call): Pass All_Errors_Mode as the
452 actual parameter for Multiple to Wrong_Type.
453
4542023-07-18 Javier Miranda <miranda@adacore.com>
455
456 * exp_disp.adb (Has_Dispatching_Constructor_Call): Removed.
457 (Expand_Interface_Conversion): Reverse patch.
458
4592023-07-18 Ronan Desplanques <desplanques@adacore.com>
460
461 * libgnarl/s-taprop__linux.adb (Set_Task_Affinity, Create_Task): Tweak
462 handling of CPU affinities.
463
4642023-07-18 Eric Botcazou <ebotcazou@adacore.com>
465
466 * sem_type.ads (Is_Ancestor): Remove mention of tagged type.
467 * exp_aggr.adb: Add with and use clauses for Sem_Type.
468 (Build_Record_Aggr_Code.Replace_Type): Call Is_Ancestor to spot
469 self-references to the type of the aggregate.
470 * sem_aggr.adb (Resolve_Record_Aggregate.Add_Discriminant_Values):
471 Likewise.
472
4732023-07-18 Eric Botcazou <ebotcazou@adacore.com>
474
475 * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component):
476 In the case of private discriminated types, explicitly check that we
477 have a private declaration before examining its discriminant part.
478
4792023-07-18 Alexandre Oliva <oliva@adacore.com>
480
481 * libgnat/a-except.ads (Raise_Exception): Mark expected_throw.
482 (Reraise_Occurrence): Likewise.
483 (Raise_Exception_Always): Likewise.
484 (Raise_From_Controlled_Operation): Likewise.
485 (Reraise_Occurrence_Always): Likewise.
486 (Reraise_Occurrence_No_Defer): Likewise.
487 * libgnat/a-except.adb
488 (Exception_Propagation.Propagate_Exception): Likewise.
489 (Complete_And_Propagate_Occurrence): Likewise.
490 (Raise_Exception_No_Defer): Likewise.
491 (Raise_From_Signal_Handler): Likewise.
492 (Raise_With_Msg): Likewise.
493 (Raise_With_Location_And_Msg): Likewise.
494 (Raise_Constraint_Error): Likewise.
495 (Raise_Constraint_Error_Msg): Likewise.
496 (Raise_Program_Error): Likewise.
497 (Raise_Program_Error_Msg): Likewise.
498 (Raise_Storage_Error): Likewise.
499 (Raise_Storage_Error_Msg): Likewise.
500 (Reraise, Rcheck_*): Likewise.
501 * doc/gnat_rm/security_hardening_features.rst (Control Flow
502 Hardening): Note the influence of expected_throw.
503 * gnat_rm.texi: Regenerate.
504 * gnat_ugn.texi: Regenerate.
505 * gcc-interface/utils.cc (handle_expected_throw_attribute): New.
506 (gnat_internal_attribute_table): Add expected_throw.
507
5082023-07-18 Vasiliy Fofanov <fofanov@adacore.com>
509
510 * libgnat/s-pack03.adb: Update copyright year; refactor return statements.
511 * libgnat/s-pack05.adb: Likewise.
512 * libgnat/s-pack06.adb: Likewise.
513 * libgnat/s-pack07.adb: Likewise.
514 * libgnat/s-pack09.adb: Likewise.
515 * libgnat/s-pack10.adb: Likewise.
516 * libgnat/s-pack100.adb: Likewise.
517 * libgnat/s-pack101.adb: Likewise.
518 * libgnat/s-pack102.adb: Likewise.
519 * libgnat/s-pack103.adb: Likewise.
520 * libgnat/s-pack104.adb: Likewise.
521 * libgnat/s-pack105.adb: Likewise.
522 * libgnat/s-pack106.adb: Likewise.
523 * libgnat/s-pack107.adb: Likewise.
524 * libgnat/s-pack108.adb: Likewise.
525 * libgnat/s-pack109.adb: Likewise.
526 * libgnat/s-pack11.adb: Likewise.
527 * libgnat/s-pack110.adb: Likewise.
528 * libgnat/s-pack111.adb: Likewise.
529 * libgnat/s-pack112.adb: Likewise.
530 * libgnat/s-pack113.adb: Likewise.
531 * libgnat/s-pack114.adb: Likewise.
532 * libgnat/s-pack115.adb: Likewise.
533 * libgnat/s-pack116.adb: Likewise.
534 * libgnat/s-pack117.adb: Likewise.
535 * libgnat/s-pack118.adb: Likewise.
536 * libgnat/s-pack119.adb: Likewise.
537 * libgnat/s-pack12.adb: Likewise.
538 * libgnat/s-pack120.adb: Likewise.
539 * libgnat/s-pack121.adb: Likewise.
540 * libgnat/s-pack122.adb: Likewise.
541 * libgnat/s-pack123.adb: Likewise.
542 * libgnat/s-pack124.adb: Likewise.
543 * libgnat/s-pack125.adb: Likewise.
544 * libgnat/s-pack126.adb: Likewise.
545 * libgnat/s-pack127.adb: Likewise.
546 * libgnat/s-pack13.adb: Likewise.
547 * libgnat/s-pack14.adb: Likewise.
548 * libgnat/s-pack15.adb: Likewise.
549 * libgnat/s-pack17.adb: Likewise.
550 * libgnat/s-pack18.adb: Likewise.
551 * libgnat/s-pack19.adb: Likewise.
552 * libgnat/s-pack20.adb: Likewise.
553 * libgnat/s-pack21.adb: Likewise.
554 * libgnat/s-pack22.adb: Likewise.
555 * libgnat/s-pack23.adb: Likewise.
556 * libgnat/s-pack24.adb: Likewise.
557 * libgnat/s-pack25.adb: Likewise.
558 * libgnat/s-pack26.adb: Likewise.
559 * libgnat/s-pack27.adb: Likewise.
560 * libgnat/s-pack28.adb: Likewise.
561 * libgnat/s-pack29.adb: Likewise.
562 * libgnat/s-pack30.adb: Likewise.
563 * libgnat/s-pack31.adb: Likewise.
564 * libgnat/s-pack33.adb: Likewise.
565 * libgnat/s-pack34.adb: Likewise.
566 * libgnat/s-pack35.adb: Likewise.
567 * libgnat/s-pack36.adb: Likewise.
568 * libgnat/s-pack37.adb: Likewise.
569 * libgnat/s-pack38.adb: Likewise.
570 * libgnat/s-pack39.adb: Likewise.
571 * libgnat/s-pack40.adb: Likewise.
572 * libgnat/s-pack41.adb: Likewise.
573 * libgnat/s-pack42.adb: Likewise.
574 * libgnat/s-pack43.adb: Likewise.
575 * libgnat/s-pack44.adb: Likewise.
576 * libgnat/s-pack45.adb: Likewise.
577 * libgnat/s-pack46.adb: Likewise.
578 * libgnat/s-pack47.adb: Likewise.
579 * libgnat/s-pack48.adb: Likewise.
580 * libgnat/s-pack49.adb: Likewise.
581 * libgnat/s-pack50.adb: Likewise.
582 * libgnat/s-pack51.adb: Likewise.
583 * libgnat/s-pack52.adb: Likewise.
584 * libgnat/s-pack53.adb: Likewise.
585 * libgnat/s-pack54.adb: Likewise.
586 * libgnat/s-pack55.adb: Likewise.
587 * libgnat/s-pack56.adb: Likewise.
588 * libgnat/s-pack57.adb: Likewise.
589 * libgnat/s-pack58.adb: Likewise.
590 * libgnat/s-pack59.adb: Likewise.
591 * libgnat/s-pack60.adb: Likewise.
592 * libgnat/s-pack61.adb: Likewise.
593 * libgnat/s-pack62.adb: Likewise.
594 * libgnat/s-pack63.adb: Likewise.
595 * libgnat/s-pack65.adb: Likewise.
596 * libgnat/s-pack66.adb: Likewise.
597 * libgnat/s-pack67.adb: Likewise.
598 * libgnat/s-pack68.adb: Likewise.
599 * libgnat/s-pack69.adb: Likewise.
600 * libgnat/s-pack70.adb: Likewise.
601 * libgnat/s-pack71.adb: Likewise.
602 * libgnat/s-pack72.adb: Likewise.
603 * libgnat/s-pack73.adb: Likewise.
604 * libgnat/s-pack74.adb: Likewise.
605 * libgnat/s-pack75.adb: Likewise.
606 * libgnat/s-pack76.adb: Likewise.
607 * libgnat/s-pack77.adb: Likewise.
608 * libgnat/s-pack78.adb: Likewise.
609 * libgnat/s-pack79.adb: Likewise.
610 * libgnat/s-pack80.adb: Likewise.
611 * libgnat/s-pack81.adb: Likewise.
612 * libgnat/s-pack82.adb: Likewise.
613 * libgnat/s-pack83.adb: Likewise.
614 * libgnat/s-pack84.adb: Likewise.
615 * libgnat/s-pack85.adb: Likewise.
616 * libgnat/s-pack86.adb: Likewise.
617 * libgnat/s-pack87.adb: Likewise.
618 * libgnat/s-pack88.adb: Likewise.
619 * libgnat/s-pack89.adb: Likewise.
620 * libgnat/s-pack90.adb: Likewise.
621 * libgnat/s-pack91.adb: Likewise.
622 * libgnat/s-pack92.adb: Likewise.
623 * libgnat/s-pack93.adb: Likewise.
624 * libgnat/s-pack94.adb: Likewise.
625 * libgnat/s-pack95.adb: Likewise.
626 * libgnat/s-pack96.adb: Likewise.
627 * libgnat/s-pack97.adb: Likewise.
628 * libgnat/s-pack98.adb: Likewise.
629 * libgnat/s-pack99.adb: Likewise.
630
6312023-07-18 Yannick Moy <moy@adacore.com>
632
633 * errout.adb (Error_Msg_Internal): Remove call to
634 Prescan_Message on the special continuation for the explain code
635 command, as this does not play well with the setting of global
636 variables for the message (like its status as a warning or not).
637 Instead, set directly the global variables regarding content of
638 the message in terms of special characters.
639
6402023-07-18 Eric Botcazou <ebotcazou@adacore.com>
641
642 * sem_util.ads (Validated_View): Document enhanced behavior.
643 * sem_util.adb (Validated_View): Return the nonlimited view, if any,
644 of types coming from a limited with.
645
af3d3ce3
GA
6462023-07-11 Bob Duff <duff@adacore.com>
647
648 * exp_ch3.adb (Expand_N_Object_Declaration): Avoid transforming to
649 a renaming in case of constrained array that comes from source.
650
6512023-07-11 Eric Botcazou <ebotcazou@adacore.com>
652
653 * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component):
654 In the case of private discriminated types, return a discriminant
655 only if it is listed in the discriminant part of the declaration.
656
322d17ae
GA
6572023-07-10 Eric Botcazou <ebotcazou@adacore.com>
658
659 * adaint.c [_WIN32]: Undefine 'abort' macro.
660
6612023-07-10 Tom Tromey <tromey@adacore.com>
662
663 * snames.h-tmpl (Name_Id, Attribute_Id, Convention_Id)
664 (Pragma_Id): New typedefs.
665 (Get_Attribute_Id, Get_Pragma_Id): Use typedef.
666
6672023-07-10 Yannick Moy <moy@adacore.com>
668
669 * libgnat/s-aridou.adb (Lemma_Powers_Of_2_Commutation): Rewrite
670 assertion.
671
6722023-07-10 Bob Duff <duff@adacore.com>
673
674 * doc/gnat_rm/gnat_language_extensions.rst
675 (Local Declarations Without Block): Document the feature very
676 briefly, and refer the reader to the RFC for details and examples.
677 * gnat_rm.texi: Regenerate.
678 * gnat_ugn.texi: Regenerate.
679
6802023-07-10 Alexandre Oliva <oliva@adacore.com>
681
682 * doc/gnat_rm/security_hardening_features.rst (Control Flow
683 Hardening): Document -fhardcfr-skip-leaf.
684 * gnat_rm.texi: Regenerate.
685
6862023-07-10 Alexandre Oliva <oliva@adacore.com>
687
688 * doc/gnat_rm/security_hardening_features.rst (Control Flow
689 Redundancy): Add -fhardcfr-check-noreturn-calls=no-xthrow.
690 * gnat_rm.texi: Regenerate.
691
6922023-07-10 Yannick Moy <moy@adacore.com>
693
694 * libgnat/s-aridou.adb (Lemma_Div_Mult): New simple lemma.
695 (Lemma_Powers_Of_2_Commutation): State post in else branch.
696 (Lemma_Div_Pow2): Introduce local lemma and use it.
697 (Scaled_Divide): Use cut operations in assertions, lemmas, new
698 assertions. Introduce local lemma and use it.
699
7002023-07-10 Alexandre Oliva <oliva@adacore.com>
701
702 * doc/gnat_rm/security_hardening_features.rst (Register
703 Scrubbing): Document leafy mode.
704 * gnat_rm.texi: Regenerate.
705
738808bd
GA
7062023-07-06 Claire Dross <dross@adacore.com>
707
708 * gcc-interface/Make-lang.in: Add object files of specification
709 files.
710
7112023-07-06 Claire Dross <dross@adacore.com>
712
713 * libgnat/s-vs_int.ads: Instance of Value_I_Spec for Integer.
714 * libgnat/s-vs_lli.ads: Instance of Value_I_Spec for
715 Long_Long_Integer.
716 * libgnat/s-vsllli.ads: Instance of Value_I_Spec for
717 Long_Long_Long_Integer.
718 * libgnat/s-vs_uns.ads: Instance of Value_U_Spec for Unsigned.
719 * libgnat/s-vs_llu.ads: Instance of Value_U_Spec for
720 Long_Long_Unsigned.
721 * libgnat/s-vslllu.ads: Instance of Value_U_Spec for
722 Long_Long_Long_Unsigned.
723 * libgnat/s-imagei.ads: Take instances of Value_*_Spec as
724 parameters.
725 * libgnat/s-imagei.adb: Idem.
726 * libgnat/s-imageu.ads: Idem.
727 * libgnat/s-imageu.adb: Idem.
728 * libgnat/s-valuei.ads: Idem.
729 * libgnat/s-valuei.adb: Idem.
730 * libgnat/s-valueu.ads: Idem.
731 * libgnat/s-valueu.adb: Idem.
732 * libgnat/s-imgint.ads: Adapt instance to new ghost parameters.
733 * libgnat/s-imglli.ads: Adapt instance to new ghost parameters.
734 * libgnat/s-imgllli.ads: Adapt instance to new ghost parameters.
735 * libgnat/s-imglllu.ads: Adapt instance to new ghost parameters.
736 * libgnat/s-imgllu.ads: Adapt instance to new ghost parameters.
737 * libgnat/s-imguns.ads: Adapt instance to new ghost parameters.
738 * libgnat/s-valint.ads: Adapt instance to new ghost parameters.
739 * libgnat/s-vallli.ads: Adapt instance to new ghost parameters.
740 * libgnat/s-valllli.ads: Adapt instance to new ghost parameters.
741 * libgnat/s-vallllu.ads: Adapt instance to new ghost parameters.
742 * libgnat/s-valllu.ads: Adapt instance to new ghost parameters.
743 * libgnat/s-valuns.ads: Adapt instance to new ghost parameters.
744 * libgnat/s-vaispe.ads: Take instance of Value_U_Spec as parameter
745 and remove unused declaration.
746 * libgnat/s-vaispe.adb: Idem.
747 * libgnat/s-vauspe.ads: Remove unused declaration.
748 * libgnat/s-valspe.ads: Factor out the specification part of
749 Val_Util.
750 * libgnat/s-valspe.adb: Idem.
751 * libgnat/s-valuti.ads: Move specification to Val_Spec.
752 * libgnat/s-valuti.adb: Idem.
753 * libgnat/s-valboo.ads: Use Val_Spec.
754 * libgnat/s-valboo.adb: Idem.
755 * libgnat/s-imgboo.adb: Idem.
756 * libgnat/s-imagef.adb: Adapt instances to new ghost parameters.
757 * Makefile.rtl: List new files.
758
7592023-07-06 Viljar Indus <indus@adacore.com>
760
761 * sem_attr.adb (analyze_attribute.check_array_type): Replace valid
762 indexes with their staticly evaluated values.
763
7642023-07-06 Viljar Indus <indus@adacore.com>
765
766 * doc/gnat_ugn/the_gnat_compilation_model.rst: Reference "Binding
767 with Non-Ada Main Programs" from "Creating a Stand-alone Library
768 to be used in a non-Ada context".
769 * gnat_ugn.texi: Regenerate.
770
7712023-07-06 Viljar Indus <indus@adacore.com>
772
773 * sem_util.adb (Is_Fully_Initialized_Type): Avoid recalculating
774 the underlying type twice.
775
7762023-07-06 Viljar Indus <indus@adacore.com>
777
778 * exp_util.adb (Find_Optional_Prim_Op): Stop deriving primitive
779 operation if there is no underlying type to derive it from.
780
7812023-07-06 Yannick Moy <moy@adacore.com>
782
783 * errout.ads: Add explain code.
784 * sem_prag.adb (Check_Library_Level_Entity): Refine error message
785 and add explain code.
786
7872023-07-06 Steve Baird <baird@adacore.com>
788
789 * exp_ch7.adb (Make_Final_Call): Add assertion that if no
790 finalization call is generated, then the type of the object being
791 finalized does not require finalization.
792 * freeze.adb (Freeze_Entity): If freezing an already-frozen
793 subtype, do not assume that nothing needs to be done. In the case
794 of a frozen subtype of a non-frozen type or subtype (which is
795 possible), freeze the non-frozen entity.
796
6d966f9f
GA
7972023-07-04 Eric Botcazou <ebotcazou@adacore.com>
798
799 * exp_ch5.adb (Expand_Assign_Array): Adjust comment above the
800 calls to Possible_Bit_Aligned_Component on the LHS and RHS. Do not
801 call Is_Possibly_Unaligned_Slice in the slice case.
802 * exp_util.ads (Component_May_Be_Bit_Aligned): Add For_Slice
803 boolean parameter.
804 (Possible_Bit_Aligned_Component): Likewise.
805 * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return False
806 for the slice of a small record or bit-packed array component.
807 (Possible_Bit_Aligned_Component): Pass For_Slice in recursive
808 calls, except in the slice case where True is passed, as well as
809 in call to Component_May_Be_Bit_Aligned.
810
8112023-07-04 Eric Botcazou <ebotcazou@adacore.com>
812
813 * exp_ch4.ads (Expand_Unchecked_Union_Equality): Only take a
814 single parameter.
815 * exp_ch4.adb (Expand_Unchecked_Union_Equality): Add guard against
816 repeated invocation on the same node.
817 * exp_ch6.adb (Expand_Call): Only pass a single actual parameter
818 in the call to Expand_Unchecked_Union_Equality.
819
8202023-07-04 Viljar Indus <indus@adacore.com>
821
822 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
823 add No_Use_Of_Attribute & No_Use_Of_Pragma restrictions.
824 * gnat_rm.texi: Regenerate.
825 * gnat_ugn.texi: Regenerate.
826
8272023-07-04 Yannick Moy <moy@adacore.com>
828
829 * sem_disp.adb (Inherited_Subprograms): Add parameter to filter
830 out results.
831 * sem_disp.ads: Likewise.
832
092f54cb
GA
8332023-07-03 Eric Botcazou <ebotcazou@adacore.com>
834
835 * exp_ch3.ads (Build_Variant_Record_Equality): Add Spec_Id as second
836 parameter.
837 * exp_ch3.adb (Build_Variant_Record_Equality): For unchecked union
838 types, build the additional parameters as extra formal parameters.
839 (Expand_Freeze_Record_Type.Build_Variant_Record_Equality): Pass
840 Empty as Spec_Id in call to Build_Variant_Record_Equality.
841 * exp_ch4.ads (Expand_Unchecked_Union_Equality): New procedure.
842 * exp_ch4.adb (Expand_Composite_Equality): In the presence of a
843 function implementing composite equality, do not special case the
844 unchecked union types, and only convert the operands if the base
845 types are not the same like in Build_Equality_Call.
846 (Build_Equality_Call): Do not special case the unchecked union types
847 and relocate the operands only once.
848 (Expand_N_Op_Eq): Do not special case the unchecked union types.
849 (Expand_Unchecked_Union_Equality): New procedure implementing the
850 specific expansion of calls to the predefined equality function.
851 * exp_ch6.adb (Is_Unchecked_Union_Equality): New predicate.
852 (Expand_Call): Call Is_Unchecked_Union_Equality to determine whether
853 to call Expand_Unchecked_Union_Equality or Expand_Call_Helper.
854 * exp_ch8.adb (Build_Body_For_Renaming): Set Has_Delayed_Freeze flag
855 earlier on Id and pass Id in call to Build_Variant_Record_Equality.
856
8572023-07-03 Eric Botcazou <ebotcazou@adacore.com>
858
859 * exp_ch3.adb (Build_Untagged_Equality): Rename into...
860 (Build_Untagged_Record_Equality): ...this.
861 (Expand_Freeze_Record_Type): Adjust to above renaming and invoke
862 the procedure also for discriminated types without a variant part.
863
8642023-07-03 Eric Botcazou <ebotcazou@adacore.com>
865
866 * sem_util.adb (Has_Inferable_Discriminants): In the case of a
867 component with a per-object constraint, also return true if the
868 enclosing object is not of an unchecked union type.
869 In the default case, remove a useless call to Base_Type.
870
14bfda60
GA
8712023-06-29 Richard Sandiford <richard.sandiford@arm.com>
872
873 * gcc-interface/decl.cc (gt_pch_nx): Remove overloads for Entity_Id.
874
878a9fee
GA
8752023-06-27 Eric Botcazou <ebotcazou@adacore.com>
876
877 * gcc-interface/Makefile.in (LIBIBERTY): Fix condition.
878 (TOOLS_LIBS): Add @LD_PICFLAG@.
879
8802023-06-27 Eric Botcazou <ebotcazou@adacore.com>
881
882 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Add guard to the
883 code turning the type of the RESULT_DECL into a reference type.
884 (maybe_make_gnu_thunk): Use a more precise guard in the same case.
885
8862023-06-27 Eric Botcazou <ebotcazou@adacore.com>
887
888 * gcc-interface/trans.cc (Case_Statement_to_gnu): Rename boolean
889 constant and use From_Conditional_Expression flag for its value.
890
8912023-06-27 Eric Botcazou <ebotcazou@adacore.com>
892
893 * debug.adb (d.L): Remove documentation.
894 * exp_ch4.adb (Expand_N_Case_Expression): In the not-by-copy case,
895 do not wrap the case statement in an Expression_With_Actions node.
896 (Expand_N_If_Expression): Do not test
897 Back_End_Handles_Limited_Types
898 * gnat1drv.adb (Adjust_Global_Switches): Do not set it.
899 * opt.ads (Back_End_Handles_Limited_Types): Delete.
900
9012023-06-27 Eric Botcazou <ebotcazou@adacore.com>
902
903 * sem_ch12.adb (Check_Generic_Actuals): Check the component type
904 of constants and variables of an array type.
905 (Copy_Generic_Node): Fix bogus handling of iterator
906 specifications.
907
9082023-06-27 Claire Dross <dross@adacore.com>
909
910 * libgnat/a-textio.ads (Get_Line): Use Relaxed_Initialization on
911 the Item parameter of Get_Line.
912
9132023-06-27 Eric Botcazou <ebotcazou@adacore.com>
914
915 * exp_ch4.adb (Expand_N_Quantified_Expression): Revert the latest
916 change as it is subsumed by the machinery in Sem_Ch5.
917 * sem_ch5.adb (Prepare_Iterator_Loop): Also wrap the loop
918 statement in a block in the name contains a function call that
919 returns on the secondary stack.
920
9212023-06-27 Eric Botcazou <ebotcazou@adacore.com>
922
923 * sem_ch12.adb (Scope_Within_Body_Or_Same): New predicate.
924 (Check_Actual_Type): Take into account packages nested in bodies
925 to compute the enclosing scope by means of
926 Scope_Within_Body_Or_Same.
927
9282023-06-27 Eric Botcazou <ebotcazou@adacore.com>
929
930 * sem_ch12.adb (Check_Private_View): Also check the type of
931 visible discriminants in record and concurrent types.
932
9332023-06-27 Viljar Indus <indus@adacore.com>
934
935 * sprint.adb (Print_Node_Actual): Print homogeneous N_Aggregate
936 nodes with brackets.
937
9382023-06-27 Viljar Indus <indus@adacore.com>
939
940 * exp_aggr.adb (Expand_N_Aggregate): Ensure that container
941 aggregate expressions do not get expanded as records but instead
942 as container aggregates.
943
bfc6d29f
GA
9442023-06-20 Eric Botcazou <ebotcazou@adacore.com>
945
946 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Pass
947 the NULL_TREE explicitly and test imported_p in lieu of
948 Is_Imported. <E_Function>: Remove public_flag local variable and
949 make extern_flag local variable a constant.
950
9512023-06-20 Yannick Moy <moy@adacore.com>
952
953 * sem_res.adb (Resolve_Call): Fix change that replaced test for
954 quantified expressions by the test for potentially unevaluated
955 contexts. Both should be performed.
956
9572023-06-20 Eric Botcazou <ebotcazou@adacore.com>
958
959 * exp_ch7.adb (Convert_View): Detect more cases of mismatches for
960 private types and use Implementation_Base_Type as main criterion.
961 * gen_il-fields.ads (Opt_Field_Enum): Add
962 Has_Secondary_Private_View
963 * gen_il-gen-gen_nodes.adb (N_Expanded_Name): Likewise.
964 (N_Direct_Name): Likewise.
965 (N_Op): Likewise.
966 * sem_ch12.ads (Check_Private_View): Document the usage of second
967 flag Has_Secondary_Private_View.
968 * sem_ch12.adb (Get_Associated_Entity): New function to retrieve
969 the ultimate associated entity, if any.
970 (Check_Private_View): Implement Has_Secondary_Private_View
971 support.
972 (Copy_Generic_Node): Remove specific treatment for Component_Type
973 of an array type and Designated_Type of an access type. Add
974 specific treatment for comparison and equality operators, as well
975 as iterator and loop parameter specifications.
976 (Instantiate_Type): Implement Has_Secondary_Private_View support.
977 (Requires_Delayed_Save): Call Get_Associated_Entity.
978 (Set_Global_Type): Implement Has_Secondary_Private_View support.
979 * sem_ch6.adb (Conforming_Types): Remove bypass for private views
980 in instances.
981 * sem_type.adb (Covers): Return true if Is_Subtype_Of does so.
982 Remove bypass for private views in instances.
983 (Specific_Type): Likewise.
984 * sem_util.adb (Wrong_Type): Likewise.
985 * sinfo.ads (Has_Secondary_Private_View): Document new flag.
986
9872023-06-20 Ronan Desplanques <desplanques@adacore.com>
988
989 * libgnarl/s-mudido.ads: Remove outdated comment.
990
9912023-06-20 Eric Botcazou <ebotcazou@adacore.com>
992
993 * doc/gnat_ugn/gnat_and_program_execution.rst (Overflows in GNAT)
994 <Default Settings>: Remove obsolete paragraph about -gnato.
995 <Implementation Notes>: Replace CHECKED with STRICT.
996 * gnat_ugn.texi: Regenerate.
997
9982023-06-20 Yannick Moy <moy@adacore.com>
999
1000 * sem_util.adb (Check_Result_And_Post_State): Do not warn in cases
1001 where the warning could be spurious.
1002
10032023-06-20 Yannick Moy <moy@adacore.com>
1004
1005 * err_vars.ads (Error_Msg_Code): New variable for error codes.
1006 * errout.adb (Error_Msg_Internal): Display continuation message
1007 when an error code was present.
1008 (Set_Msg_Text): Handle character sequence [] for error codes.
1009 * errout.ads: Document new insertion sequence [].
1010 (Error_Msg_Code): New renaming.
1011 * erroutc.adb (Prescan_Message): Detect presence of error code.
1012 (Set_Msg_Insertion_Code): Handle new insertion sequence [].
1013 * erroutc.ads (Has_Error_Code): New variable for prescan.
1014 (Set_Msg_Insertion_Code): Handle new insertion sequence [].
1015 * contracts.adb (Check_Type_Or_Object_External_Properties):
1016 Replace reference to SPARK RM section by an error code.
1017 * sem_elab.adb (SPARK_Processor): Same.
1018 * sem_prag.adb (Check_Missing_Part_Of): Same.
1019 * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Same.
1020
10212023-06-20 Piotr Trojanek <trojanek@adacore.com>
1022
1023 * sem_res.adb (Resolve_Entity_Name): Handle Range like First and Last.
1024
10252023-06-20 Jose Ruiz <ruiz@adacore.com>
1026
1027 * doc/gnat_ugn/the_gnat_compilation_model.rst
1028 (Partition-Wide Settings): add this subsection to document
1029 configuration settings made by the Ada run time.
1030 * gnat_ugn.texi: Regenerate.
1031
10322023-06-20 Piotr Trojanek <trojanek@adacore.com>
1033
1034 * sem_res.adb (Resolve_Entity_Name): Ignore implicit loop scopes
1035 introduced by quantified expressions.
1036
10372023-06-20 Bob Duff <duff@adacore.com>
1038
1039 * sem_ch3.adb (Analyze_Object_Declaration): Remove predicate-check
1040 generation if there is an address clause. These are unnecessary,
1041 and cause gigi to crash.
1042 * exp_util.ads (Following_Address_Clause): Remove obsolete "???"
1043 comments. The suggested changes were done long ago.
1044
10452023-06-20 Eric Botcazou <ebotcazou@adacore.com>
1046
1047 * einfo.ads (Has_Private_Ancestor): Fix inaccuracy in description.
1048 * sem_ch12.adb (Check_Actual_Type): Do not switch the view of the
1049 type if it has a private ancestor.
1050
10512023-06-20 Daniel King <dmking@adacore.com>
1052
1053 * libgnat/i-cheri.ads: Add CHERI intrinsics and helper functions.
1054 * libgnat/i-cheri.adb: Likewise
1055
10562023-06-20 Eric Botcazou <ebotcazou@adacore.com>
1057
1058 * exp_ch7.adb (Convert_View): Remove Ind parameter and adjust.
1059 * sem_ch12.adb (Check_Generic_Actuals): Check the type of both in
1060 and in out actual objects, as well as the type of formal parameters
1061 of actual subprograms. Extend the condition under which the views
1062 are swapped to nested generic constructs.
1063 (Save_References_In_Identifier): Call Set_Global_Type on a global
1064 identifier rewritten as an explicit dereference, either directly
1065 or after having first been rewritten as a function call.
1066 (Save_References_In_Operator): Set N2 unconditionally and reuse it.
1067 * sem_ch3.adb (Build_Derived_Record_Type): Add missing comment.
1068 * sem_res.adb (Resolve_Implicit_Dereference): Remove special bypass
1069 for private views in instances.
1070
10712023-06-20 Eric Botcazou <ebotcazou@adacore.com>
1072
1073 * exp_aggr.adb (Convert_To_Assignments): Tweak comment.
1074 (Expand_Array_Aggregate): Do not delay the expansion if the parent
1075 node is a container aggregate.
1076
10772023-06-20 Ghjuvan Lacambre <lacambre@adacore.com>
1078
1079 * errout.adb (Output_Messages): Fix loop termination condition.
1080
10812023-06-20 Eric Botcazou <ebotcazou@adacore.com>
1082
1083 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Compiler
1084 Switches): Document -gnateH.
1085 * opt.ads (Reverse_Bit_Order_Threshold): New variable.
1086 * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Use its value
1087 if it is nonnegative instead of System_Max_Integer_Size.
1088 * switch-c.adb (Scan_Front_End_Switches): Deal with -gnateH.
1089 * usage.adb (Usage): Print -gnateH.
1090 * gnat_ugn.texi: Regenerate.
1091
10922023-06-20 Yannick Moy <moy@adacore.com>
1093
1094 * libgnat/s-aridou.adb (Scaled_Divide): Add assertions.
1095 * libgnat/s-valuti.adb: Add Loop_Variant.
1096 * libgnat/s-valuti.ads: Add Exceptional_Cases on No_Return
1097 procedure.
1098
10992023-06-20 Marc Poulhiès <poulhies@adacore.com>
1100
1101 * sem_ch3.adb (Build_Derived_Record_Type): Use full view as
1102 Parent_Base if needed.
1103
11042023-06-20 Ghjuvan Lacambre <lacambre@adacore.com>
1105
1106 * lib-load.adb (Load_Unit): Pass Error_Node to calls to Error_Msg.
1107
11082023-06-20 Claire Dross <dross@adacore.com>
1109
1110 * libgnat/a-strfix.ads: Replace Might_Not_Return annotations by
1111 Exceptional_Cases and Always_Terminates aspects.
1112 * libgnat/a-tideio.ads: Idem.
1113 * libgnat/a-tienio.ads: Idem.
1114 * libgnat/a-tifiio.ads: Idem.
1115 * libgnat/a-tiflio.ads: Idem.
1116 * libgnat/a-tiinio.ads: Idem.
1117 * libgnat/a-timoio.ads: Idem.
1118 * libgnat/a-textio.ads: Idem. Also mark functions Name, Col, Line,
1119 and Page as out of SPARK as they might raise Layout_Error.
1120 * libgnarl/a-reatim.ads: Replace Always_Return annotations by
1121 Always_Terminates aspects.
1122 * libgnat/a-chahan.ads: Idem.
1123 * libgnat/a-nbnbig.ads: Idem.
1124 * libgnat/a-nbnbin.ads: Idem.
1125 * libgnat/a-nbnbre.ads: Idem.
1126 * libgnat/a-ngelfu.ads: Idem.
1127 * libgnat/a-nlelfu.ads: Idem.
1128 * libgnat/a-nllefu.ads: Idem.
1129 * libgnat/a-nselfu.ads: Idem.
1130 * libgnat/a-nuelfu.ads: Idem.
1131 * libgnat/a-strbou.ads: Idem.
1132 * libgnat/a-strmap.ads: Idem.
1133 * libgnat/a-strsea.ads: Idem.
1134 * libgnat/a-strsup.ads: Idem.
1135 * libgnat/a-strunb.ads: Idem.
1136 * libgnat/a-strunb__shared.ads: Idem.
1137 * libgnat/g-souinf.ads: Idem.
1138 * libgnat/i-c.ads: Idem.
1139 * libgnat/interfac.ads: Idem.
1140 * libgnat/interfac__2020.ads: Idem.
1141 * libgnat/s-aridou.adb: Idem.
1142 * libgnat/s-arit32.adb: Idem.
1143 * libgnat/s-atacco.ads: Idem.
1144 * libgnat/s-spcuop.ads: Idem.
1145 * libgnat/s-stoele.ads: Idem.
1146 * libgnat/s-vaispe.ads: Idem.
1147 * libgnat/s-vauspe.ads: Idem.
1148 * libgnat/i-cstrin.ads: Add a precondition instead of a
1149 Might_Not_Return annotation.
1150
11512023-06-20 Javier Miranda <miranda@adacore.com>
1152
1153 * sem_ch4.adb
1154 (Try_Selected_Component_In_Instance): New subprogram; factorizes
1155 existing code.
1156 (Find_Component_In_Instance) Moved inside the new subprogram.
1157 (Analyze_Selected_Component): Invoke the new subprogram before
1158 trying the Object.Operation notation.
1159
11602023-06-20 Ronan Desplanques <desplanques@adacore.com>
1161
1162 * libgnat/a-calfor.adb (Time_Of): Fix handling of special case.
1163
7ff79341
GA
11642023-06-15 Marek Polacek <polacek@redhat.com>
1165
1166 * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS. Add
1167 PICFLAG. Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o.
1168 * gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set.
1169 Remove NO_PIE_FLAG.
1170
11712023-06-15 Marc Poulhiès <poulhies@adacore.com>
1172
1173 * vxworks7-cert-rtp-base-link.spec: Removed.
1174 * vxworks7-cert-rtp-base-link__ppc64.spec: Removed.
1175 * vxworks7-cert-rtp-base-link__x86.spec: Removed.
1176 * vxworks7-cert-rtp-base-link__x86_64.spec: Removed.
1177 * vxworks7-cert-rtp-link.spec: Removed.
1178 * vxworks7-cert-rtp-link__ppcXX.spec: Removed.
1179
11802023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1181
1182 * gcc-interface/utils2.cc (build_binary_op) <MODIFY_EXPR>: Do not
1183 remove a VIEW_CONVERT_EXPR on the LHS if it is also on the RHS.
1184
11852023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1186
1187 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Restrict
1188 the special handling of temporaries created for return values and
1189 subject to a renaming to the top level.
1190
11912023-06-15 Ronan Desplanques <desplanques@adacore.com>
1192
1193 * doc/gnat_ugn/about_this_guide.rst: Fix typo. Uniformize punctuation.
1194 * doc/gnat_ugn/the_gnat_compilation_model.rst: Uniformize punctuation.
1195 Fix capitalization. Fix indentation of code block. Fix RST formatting
1196 syntax errors.
1197 * gnat_ugn.texi: Regenerate.
1198
11992023-06-15 Yannick Moy <moy@adacore.com>
1200
1201 * sem_attr.adb (Analyze_Attribute): Reject case of Loop_Entry
1202 inside the prefix of Loop_Entry, as per SPARK RM 5.5.3.1(4,8).
1203
12042023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1205
1206 * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that
1207 determines the type used for the allocation and add assertions.
1208 * exp_util.adb (Has_Tag_Of_Type): Also return true for extension
1209 aggregates.
1210
12112023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1212
1213 * sinfo.ads (Iterator_Filter): Document field.
1214 * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around.
1215 (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator
1216 filter, if any.
1217 * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built
1218 when an iterator filter is present.
1219
12202023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1221
1222 * exp_util.adb (Find_Hook_Context): Revert latest change.
1223
12242023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1225
1226 * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically
1227 with an aggregate returned through an object of a class-wide type.
1228
12292023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1230
1231 * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Do not insert
1232 an always empty list. Remove unused parameter Isc.
1233 (Expand_Iterator_Loop): Adjust call to above procedure.
1234
12352023-06-15 Ronan Desplanques <desplanques@adacore.com>
1236
1237 * targparm.adb: Allow pragma Style_Checks in some forms.
1238 * targparm.ads: Document new pragma permission.
1239
12402023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1241
1242 * exp_util.ads (Within_Case_Or_If_Expression): Adjust description.
1243 * exp_util.adb (Find_Hook_Context): Stop the search for the topmost
1244 conditional expression, if within one, at contexts where temporaries
1245 may be contained.
1246 (Within_Case_Or_If_Expression): Return false upon first encoutering
1247 contexts where temporaries may be contained.
1248
12492023-06-15 Johannes Kliemann <kliemann@adacore.com>
1250
1251 * libgnarl/s-osinte__qnx.adb: Adjust priority conversion function.
1252 * libgnat/system-qnx-arm.ads: Adjust priority range and default
1253 priority.
1254
12552023-06-15 Ronan Desplanques <desplanques@adacore.com>
1256
1257 * targparm.ads: Remove references to front-end-based exceptions. Fix
1258 thinko.
1259
12602023-06-15 Piotr Trojanek <trojanek@adacore.com>
1261
1262 * contracts.adb (Add_Contract_Item): Add pragma Always_Terminates to
1263 package contract.
1264 * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates on
1265 packages and generic packages, but only when it has no arguments.
1266
12672023-06-15 Piotr Trojanek <trojanek@adacore.com>
1268
1269 * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates when
1270 it applies to an entry.
1271
12722023-06-15 Piotr Trojanek <trojanek@adacore.com>
1273
1274 * sem_prag.adb (Analyze_Pragma): Reject pragma Always_Terminates when
1275 it applies to a function or generic function.
1276
12772023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1278
1279 * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence
1280 of an incomplete view of a type on a function call.
1281
12822023-06-15 Ronan Desplanques <desplanques@adacore.com>
1283
1284 * ttypes.ads: Remove reference to Ttypef in comment. Fix typo in
1285 comment.
1286
12872023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1288
1289 * get_targ.ads (Get_Max_Unaligned_Field): Delete.
1290 * ada_get_targ.adb (Get_Max_Unaligned_Field): Likewise.
1291 * get_targ.adb (Get_Max_Unaligned_Field): Likewise.
1292 * set_targ.ads (Max_Unaligned_Field): Adjust comment.
1293 * set_targ.adb: Set Max_Unaligned_Field to 1 during elaboration.
1294 * ttypes.ads (Max_Unaligned_Field): Delete.
1295
12962023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1297
1298 * sem_type.adb (Disambiguate): Fix pasto in the implementation of
1299 the RM 8.4(10) clause for operators.
1300
13012023-06-15 Piotr Trojanek <trojanek@adacore.com>
1302
1303 * aspects.adb
1304 (Base_Aspect): Fix layout.
1305 * aspects.ads
1306 (Aspect_Argument): Expression for Always_Terminates is optional.
1307 * sem_prag.adb
1308 (Analyze_Always_Terminates_In_Decl_Part): Only analyze expression when
1309 pragma argument is present.
1310 (Analyze_Pragma): Argument for Always_Terminates is optional; fix
1311 whitespace for Async_Readers.
1312
13132023-06-15 Javier Miranda <miranda@adacore.com>
1314
1315 * sem_util.adb
1316 (Is_CPP_Constructor_Call): Add missing support for calls to
1317 functions returning a private type.
1318
13192023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1320
1321 * exp_util.ads (Build_Transient_Object_Statements): Remove obsolete
1322 references to array and record aggregates in documentation.
1323
13242023-06-15 Eric Botcazou <ebotcazou@adacore.com>
1325
1326 * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items
1327 in the list of aspects handled by means of Insert_Pragma.
1328 <Aspect_Linker_Section>: Remove obsolete code. Do not delay the
1329 processing of the aspect if the entity is already frozen.
1330
13312023-06-15 Piotr Trojanek <trojanek@adacore.com>
1332
1333 * sem_aggr.adb
1334 (Resolve_Array_Aggregate): Simplify comment.
1335 (Resolve_Iterated_Component_Association): Tune comment; change variable
1336 to constant.
1337
532fb120
GA
13382023-06-13 Piotr Trojanek <trojanek@adacore.com>
1339
1340 * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve
1341 the expression.
1342
13432023-06-13 Bob Duff <duff@adacore.com>
1344
1345 * exp_ch4.adb
1346 (Expand_N_Quantified_Expression): Detect the secondary-stack
1347 case, and find the innermost scope where we should mark/release,
1348 and Set_Uses_Sec_Stack on that. Skip intermediate blocks and loops
1349 that are part of expansion.
1350
13512023-06-13 Piotr Trojanek <trojanek@adacore.com>
1352
1353 * sem_util.adb (Is_Repeatedly_Evaluated): Recognize iterated component
1354 association as repeatedly evaluated.
1355
13562023-06-13 Piotr Trojanek <trojanek@adacore.com>
1357
1358 * sem_util.adb (Is_Potentially_Unevaluated): Recognize iterated
1359 component association as potentially unevaluated.
1360
13612023-06-13 Piotr Trojanek <trojanek@adacore.com>
1362
1363 * sem_res.adb (Resolve_Call): Replace early call to
1364 In_Quantified_Expression with a call to Is_Potentially_Unevaluated that
1365 was only done when Full_Analysis is true.
1366
13672023-06-13 Piotr Trojanek <trojanek@adacore.com>
1368
1369 * aspects.ads (Aspect_Id): Add new aspect.
1370 (Implementation_Defined_Aspect): New aspect is
1371 implementation-defined.
1372 (Aspect_Argument): New aspect has an expression argument.
1373 (Is_Representation_Aspect): New aspect is not a representation
1374 aspect.
1375 (Aspect_Names): Link new aspect identifier with a name.
1376 (Aspect_Delay): New aspect is never delayed.
1377 * contracts.adb (Expand_Subprogram_Contract): Mention new aspect
1378 in comment.
1379 (Add_Contract_Item): Attach pragma corresponding to the new aspect
1380 to contract items.
1381 (Analyze_Entry_Or_Subprogram_Contract): Analyze pragma
1382 corresponding to the new aspect that appears with subprogram spec.
1383 (Analyze_Subprogram_Body_Stub_Contract): Expand pragma
1384 corresponding to the new aspect.
1385 * contracts.ads
1386 (Add_Contract_Item, Analyze_Entry_Or_Subprogram_Contract)
1387 (Analyze_Entry_Or_Subprogram_Body_Contract)
1388 (Analyze_Subprogram_Body_Stub_Contract): Mention new aspect in
1389 comment.
1390 * einfo-utils.adb (Get_Pragma): Return pragma attached to
1391 contract.
1392 * einfo-utils.ads (Get_Pragma): Mention new contract in comment.
1393 * exp_prag.adb (Expand_Pragma_Always_Terminates): Placeholder for
1394 possibly expanding new aspect.
1395 * exp_prag.ads (Expand_Pragma_Always_Terminates): Dedicated
1396 routine for expansion of the new aspect.
1397 * inline.adb (Remove_Aspects_And_Pragmas): Remove aspect from
1398 inlined bodies.
1399 * par-prag.adb (Prag): Postpone checking of the pragma until
1400 analysis.
1401 * sem_ch12.adb: Mention new aspect in explanation of handling
1402 contracts on generic units.
1403 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert new aspect
1404 into a corresponding pragma.
1405 (Check_Aspect_At_Freeze_Point): Don't expect new aspect.
1406 * sem_prag.adb (Analyze_Always_Terminates_In_Decl_Part): Analyze
1407 pragma corresponding to the new aspect.
1408 (Analyze_Pragma): Handle pragma corresponding to the new aspect.
1409 (Is_Non_Significant_Pragma_Reference): Handle references appearing
1410 within new aspect.
1411 * sem_prag.ads (Aspect_Specifying_Pragma): New aspect can be
1412 emulated with a pragma.
1413 (Assertion_Expression_Pragma): New aspect has an assertion
1414 expression.
1415 (Pragma_Significant_To_Subprograms): New aspect is significant to
1416 subprograms.
1417 (Analyze_Always_Terminates_In_Decl_Part): Add spec for routine
1418 that analyses new aspect.
1419 (Find_Related_Declaration_Or_Body): Mention new aspect in comment.
1420 * sem_util.adb (Is_Subprogram_Contract_Annotation): New aspect is
1421 a subprogram contract annotation.
1422 * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
1423 aspect in comment.
1424 * sinfo.ads (Is_Generic_Contract_Pragma): New pragma is a generic
1425 contract.
1426 (Contract): Explain attaching new pragma to subprogram contract.
1427 * snames.ads-tmpl (Name_Always_Terminates): New name for the new
1428 contract.
1429 (Pragma_Always_Terminates): New pragma identifier.
1430
14312023-06-13 Piotr Trojanek <trojanek@adacore.com>
1432
1433 * sem_elab.adb (Check_Overriding_Primitive): Prevent Corresponding_Body
1434 to be called with entity of an abstract subprogram.
1435
14362023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1437
1438 * sem_ch12.adb (Save_References_In_Identifier): In the case where
1439 the identifier has been turned into a function call by analysis,
1440 call Set_Global_Type on the entity if it is global.
1441
14422023-06-13 Marc Poulhiès <poulhies@adacore.com>
1443
1444 * sem_aggr.adb (Resolve_Iterated_Component_Association): Call
1445 Preanalyze_And_Resolve instead of Resolve_Aggr_Expr except for
1446 aggregate.
1447 Co-authored-by: Ed Schonberg <schonberg@adacore.com>
1448
14492023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1450
1451 * contracts.adb (Contract_Error): New exception.
1452 (Add_Contract_Item): Raise Contract_Error instead of Program_Error.
1453 (Add_Generic_Contract_Pragma): Deal with Contract_Error.
1454
14552023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1456
1457 * sem_attr.adb (Eval_Attribute): Add more exceptions to the early
1458 return for a prefix which is a nonfrozen generic actual type.
1459 * sem_ch12.adb (Copy_Generic_Node): Also check private views in the
1460 case of an entity name or operator analyzed as a function call.
1461 (Set_Global_Type): Make it a child of Save_Global_References.
1462 (Save_References_In_Operator): In the case where the operator has
1463 been turned into a function call, call Set_Global_Type on the entity
1464 if it is global.
1465
14662023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1467
1468 * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a
1469 subprogram body that has no contracts and does not come from source,
1470 make sure that contracts on its corresponding spec are analyzed, if
1471 any, before expanding them.
1472
14732023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1474
1475 * gen_il-fields.ads (Opt_Field_Enum): Add No_Finalize_Actions and
1476 remove No_Side_Effect_Removal.
1477 * gen_il-gen-gen_nodes.adb (N_Function_Call): Remove semantic flag
1478 No_Side_Effect_Removal
1479 (N_Assignment_Statement): Add semantic flag No_Finalize_Actions.
1480 * sinfo.ads (No_Ctrl_Actions): Adjust comment.
1481 (No_Finalize_Actions): New flag on assignment statements.
1482 (No_Side_Effect_Removal): Delete.
1483 * exp_aggr.adb (Build_Record_Aggr_Code): Remove obsolete comment and
1484 Ancestor_Is_Expression variable. In the case of an extension, do
1485 not generate a call to Adjust manually, call Set_No_Finalize_Actions
1486 instead. Do not set the tags, replace call to Make_Unsuppress_Block
1487 by Make_Suppress_Block and remove useless assertions.
1488 In the general case, call Initialize_Component.
1489 (Initialize_Controlled_Component): Delete.
1490 (Initialize_Simple_Component): Delete.
1491 (Initialize_Component): Do the low-level processing, but do not
1492 generate a call to Adjust manually, call Set_No_Finalize_Actions.
1493 (Process_Transient_Component): Delete.
1494 (Process_Transient_Component_Completion): Likewise.
1495 * exp_ch5.adb (Expand_Assign_Array): Deal with No_Finalize_Actions.
1496 (Expand_Assign_Array_Loop): Likewise.
1497 (Expand_N_Assignment_Statement): Likewise.
1498 (Make_Tag_Ctrl_Assignment): Likewise.
1499 * exp_util.adb (Remove_Side_Effects): Do not test the
1500 No_Side_Effect_Removal flag.
1501 * sem_prag.adb (Process_Suppress_Unsuppress): Give the warning in
1502 SPARK mode only for pragma Suppress.
1503 * tbuild.ads (Make_Suppress_Block): New declaration.
1504 (Make_Unsuppress_Block): Adjust comment.
1505 * tbuild.adb (Make_Suppress_Block): New procedure.
1506 (Make_Unsuppress_Block): Unsuppress instead of suppressing.
1507
15082023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1509
1510 * sem_ch5.adb (Analyze_Assignment): Turn Rhs into a constant and
1511 remove calls to the following subprograms.
1512 (Transform_BIP_Assignment): Delete.
1513 (Should_Transform_BIP_Assignment): Likewise.
1514
15152023-06-13 Piotr Trojanek <trojanek@adacore.com>
1516
1517 * sem_util.ads (Is_Inherited_Operation_For_Type): Remove spec.
1518 * sem_util.adb (Is_Inherited_Operation_For_Type): Remove body.
1519
15202023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1521
1522 * exp_aggr.adb (Build_Record_Aggr_Code): Add new variable Ancestor_Q
1523 to store the result of Unqualify on Ancestor. Remove the dead call
1524 to Generate_Finalization_Actions in the case of another aggregate as
1525 ancestor part. Remove the redundant setting of Assignment_OK. Use
1526 Init_Typ in lieu of Etype (Ancestor) more consistently.
1527
15282023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1529
1530 * exp_aggr.adb (Build_Record_Aggr_Code): In the case of an extension
1531 aggregate of a limited type whose ancestor part is an aggregate, do
1532 not skip the final code assigning the tag of the extension.
1533
15342023-06-13 Yannick Moy <moy@adacore.com>
1535
1536 * ghost.adb (Check_Ghost_Context): Allow absence of Ghost_Id
1537 for attribute. Update error message to mention Ghost_Predicate.
1538 (Is_Ghost_Attribute_Reference): New query.
1539 * ghost.ads (Is_Ghost_Attribute_Reference): New query.
1540 * sem_attr.adb (Resolve_Attribute): Check ghost context for ghost
1541 attributes.
1542
15432023-06-13 Daniel King <dmking@adacore.com>
1544
1545 * libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma.
1546
15472023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1548
1549 * exp_util.ads (Make_Tag_Assignment_From_Type): Declare.
1550 * exp_util.adb (Make_Tag_Assignment_From_Type): New function.
1551 * exp_aggr.adb (Build_Record_Aggr_Code): Call the above function.
1552 (Initialize_Simple_Component): Likewise.
1553 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Likewise.
1554 (Build_Record_Init_Proc.Build_Init_Procedure ): Likewise.
1555 (Make_Tag_Assignment): Likewise. Rename local variable and call
1556 Unqualify to go through qualified expressions.
1557 * exp_ch4.adb (Expand_Allocator_Expression): Likewise.
1558
15592023-06-13 Yannick Moy <moy@adacore.com>
1560
1561 * libgnat/a-strsup.ads: Change predicate aspect.
1562 * sem_ch13.adb (Add_Predicate): Fix for first predicate.
1563
15642023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1565
1566 * exp_aggr.adb (Initialize_Component): Perform immediate expansion
1567 of the initialization expression if it is a conditional expression
1568 and the component type is controlled.
1569
15702023-06-13 Eric Botcazou <ebotcazou@adacore.com>
1571
1572 * exp_aggr.adb (Initialize_Component): New procedure factored out
1573 from the processing of array and record aggregates.
1574 (Initialize_Controlled_Component): Likewise.
1575 (Initialize_Simple_Component): Likewise.
1576 (Build_Array_Aggr_Code.Gen_Assign): Remove In_Loop parameter.
1577 Call Initialize_Component to initialize the component.
1578 (Initialize_Array_Component): Delete.
1579 (Initialize_Ctrl_Array_Component): Likewise.
1580 (Build_Array_Aggr_Code): Adjust calls to Gen_Assign.
1581 (Build_Record_Aggr_Code): Call Initialize_Simple_Component or
1582 Initialize_Component to initialize the component.
1583 (Initialize_Ctrl_Record_Component): Delete.
1584 (Initialize_Record_Component): Likewise.
1585
15862023-06-13 Piotr Trojanek <trojanek@adacore.com>
1587
1588 * exp_ch11.adb (Expand_N_Raise_Statement): Expansion of raise statements
1589 never happens in GNATprove mode.
1590
15912023-06-13 Piotr Trojanek <trojanek@adacore.com>
1592
1593 * exp_ch11.adb (Find_Local_Handler): Replace guard against other
1594 constructs appearing in the list of exception handlers with iteration
1595 using First_Non_Pragma/Next_Non_Pragma.
1596
15972023-06-13 Piotr Trojanek <trojanek@adacore.com>
1598
1599 * exp_ch11.ads (Find_Local_Handler): Fix typo in comment.
1600 * exp_ch11.adb (Find_Local_Handler): Remove redundant check for the
1601 Exception_Handler list being present; use membership test to eliminate
1602 local object LCN; fold nested IF statements. Remove useless ELSIF
1603 condition.
1604
16052023-06-13 Piotr Trojanek <trojanek@adacore.com>
1606
1607 * sem_util.adb (Check_Function_Writable_Actuals): Tune style; use
1608 subtype name to detect membership test nodes.
1609
16102023-06-13 Piotr Trojanek <trojanek@adacore.com>
1611
1612 * exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Use a single call
1613 to New_List.
1614
16152023-06-13 Yannick Moy <moy@adacore.com>
1616
1617 * doc/gnat_rm/implementation_defined_aspects.rst: Document new
1618 aspect.
1619 * doc/gnat_rm/implementation_defined_pragmas.rst: Whitespace.
1620 * aspects.adb (Init_Canonical_Aspect): Set it to Predicate.
1621 * aspects.ads: Set global constants for new aspect.
1622 * einfo.ads: Describe new flag related to new aspect.
1623 * exp_ch6.adb (Can_Fold_Predicate_Call): Do not fold new aspect.
1624 * exp_util.adb (Make_Predicate_Check): Add comment.
1625 * gen_il-fields.ads: Add new flag.
1626 * gen_il-gen-gen_entities.adb: Add new flag.
1627 * ghost.adb (Is_OK_Ghost_Context): Ghost predicate is an OK
1628 ghost context.
1629 (Mark_Ghost_Pragma): Add overloading with ghost mode parameter.
1630 * ghost.ads (Mark_Ghost_Pragma): Add overloading with ghpst mode
1631 parameter.
1632 (Name_To_Ghost_Mode): Make function public.
1633 * sem_aggr.adb: Issue error for violation of valid use.
1634 * sem_case.adb: Issue error for violation of valid use.
1635 * sem_ch13.adb: Adapt for new aspect.
1636 * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove dead code
1637 which was trying to propagate Has_Predicates flag in the wrong
1638 direction (from derived to parent type).
1639 (Analyze_Number_Declaration): Issue error for violation of valid
1640 use.
1641 (Build_Derived_Type): Cleanup inheritance of predicate flags from
1642 parent to derived type.
1643 (Build_Predicate_Function): Only add a predicate check when it
1644 is not ignored as Ghost code.
1645 * sem_ch4.adb (Analyze_Membership_Op): Issue an error for use of
1646 a subtype with a ghost predicate as name in a membership test.
1647 * sem_ch5.adb (Check_Predicate_Use): Issue error for violation of
1648 valid use.
1649 * sem_eval.adb: Adapt code for Dynamic_Predicate to account for
1650 Ghost_Predicate too.
1651 * sem_prag.adb (Analyze_Pragma): Make pragma ghost or not.
1652 * sem_util.adb (Bad_Predicated_Subtype_Use): Adapt to new aspect.
1653 (Inherit_Predicate_Flags): Add inheritance of flag. Add parameter
1654 to apply to derived types.
1655 * sem_util.ads (Inherit_Predicate_Flags): Change signature.
1656 * snames.ads-tmpl: Add new aspect name.
1657 * gnat_rm.texi: Regenerate.
1658
16592023-06-13 Piotr Trojanek <trojanek@adacore.com>
1660
1661 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Remove early
1662 decoration.
1663
df2762ac
GA
16642023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1665
1666 * gcc-interface/trans.cc (get_storage_model_access): Also strip any
1667 type conversion in the node when unwinding the components.
1668
16692023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1670
1671 * gcc-interface/trans.cc (node_is_component): Remove parentheses.
1672 (node_is_type_conversion): New predicate.
1673 (get_atomic_access): Use it.
1674 (get_storage_model_access): Likewise and look into the parent to
1675 find a component if it returns true.
1676 (present_in_lhs_or_actual_p): Likewise.
1677
16782023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1679
1680 * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Check that
1681 the storage model has Copy_From before instantiating loads for it.
1682 <Attr_Length>: Likewise.
1683 <Attr_Bit_Position>: Likewise.
1684 (gnat_to_gnu) <N_Indexed_Component>: Likewise.
1685 <N_Slice>: Likewise.
1686
16872023-05-30 Marc Poulhiès <poulhies@adacore.com>
1688
1689 * gcc-interface/trans.cc (Attribute_to_gnu): Also strip conversion
1690 in case of DECL.
1691
16922023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1693
1694 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a
1695 local variable for the GNAT index type.
1696 <E_Array_Subtype>: Likewise. Call Is_Null_Range on the bounds and
1697 force the zero on TYPE_SIZE and TYPE_SIZE_UNIT if it returns true.
1698
16992023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1700
1701 * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: Test the
1702 precision of the operation rather than that of the result type.
1703
17042023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1705
1706 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Replace
1707 integer_zero_node with null_pointer_node for pointer types.
1708 * gcc-interface/trans.cc (gnat_gimplify_expr) <NULL_EXPR>: Likewise.
1709 * gcc-interface/utils.cc (maybe_pad_type): Do not attempt to make a
1710 packable type from a fat pointer type.
1711 * gcc-interface/utils2.cc (build_atomic_load): Use a local variable.
1712 (build_atomic_store): Likewise.
1713
17142023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1715
1716 * gcc-interface/misc.cc (internal_error_function): Be prepared for
1717 an input_location set to UNKNOWN_LOCATION.
1718
17192023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1720
1721 * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Size>: Tweak.
1722 (gnat_to_gnu) <N_Assignment_Statement>: Declare a local variable.
1723 For a target with a storage model, use the Actual_Designated_Subtype
1724 to compute the size if it is present.
1725
17262023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1727
1728 * gcc-interface/trans.cc (Call_to_gnu): Remove code implementing the
1729 by-copy semantics for actuals with nonnative storage models.
1730 (gnat_to_gnu) <N_Assignment_Statement>: Remove code instantiating a
1731 temporary for assignments between nonnative storage models.
1732
17332023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1734
1735 * gcc-interface/decl.cc (range_cannot_be_superflat): Return true
1736 immediately if Cannot_Be_Superflat is set.
1737 * gcc-interface/misc.cc (gnat_post_options): Do not override the
1738 -Wstringop-overflow setting.
1739
17402023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1741
1742 * gcc-interface/Make-lang.in (ADA_CFLAGS): Move up.
1743 (ALL_ADAFLAGS): Add $(NO_PIE_CFLAGS).
1744 (ada/mdll.o): Remove.
1745 (ada/mdll-fil.o): Likewise.
1746 (ada/mdll-utl.o): Likewise.
1747
17482023-05-30 Marc Poulhiès <poulhies@adacore.com>
1749
1750 * gcc-interface/trans.cc (get_storage_model_access): Don't require
1751 storage model access for dereference used as lvalue or renamings.
1752
17532023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1754
1755 * exp_aggr.adb (Build_Array_Aggr_Code): Move the declaration of Typ
1756 to the beginning.
1757 (Initialize_Array_Component): Test the unqualified version of the
1758 expression for the nested array case.
1759 (Initialize_Ctrl_Array_Component): Do not duplicate the expression
1760 here. Do the pattern matching of the unqualified version of it.
1761 (Gen_Assign): Call Unqualify to compute Expr_Q and use Expr_Q in
1762 subsequent pattern matching.
1763 (Initialize_Ctrl_Record_Component): Do the pattern matching of the
1764 unqualified version of the aggregate.
1765 (Build_Record_Aggr_Code): Call Unqualify.
1766 (Convert_Aggr_In_Assignment): Likewise.
1767 (Convert_Aggr_In_Object_Decl): Likewise.
1768 (Component_OK_For_Backend): Likewise.
1769 (Is_Delayed_Aggregate): Likewise.
1770
17712023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1772
1773 * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the
1774 expression here instead of...
1775 (Build_Array_Aggr_Code): ...here.
1776
17772023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1778
1779 * freeze.adb (Check_Large_Modular_Array): Fix head comment, use
1780 Standard_Long_Long_Integer_Size directly and generate a reference
1781 just before the raise statement if the Etype of the object is an
1782 itype declared in an open scope.
1783
17842023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1785
1786 * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in
1787 the scope table instead of the scope's entity.
1788 (Establish_Transient_Scope): If an enclosing scope already exists,
1789 do not set the Uses_Sec_Stack flag on it if the node to be wrapped
1790 is a return statement which requires secondary stack management.
1791
17922023-05-30 Joel Brobecker <brobecker@adacore.com>
1793
1794 * Makefile.rtl: Use libgnat/s-tsmona__linux.adb on
1795 aarch64-linux. Link libgnat with -ldl, as the use of
1796 s-tsmona__linux.adb requires it.
1797
17982023-05-30 Piotr Trojanek <trojanek@adacore.com>
1799
1800 * exp_ch3.adb
1801 (Build_Access_Subprogram_Wrapper_Body): Build wrapper body if requested
1802 by routine that builds wrapper spec.
1803 * sem_ch3.adb
1804 (Analyze_Full_Type_Declaration): Only build wrapper when expander is
1805 active.
1806 (Build_Access_Subprogram_Wrapper):
1807 Remove special-case for GNATprove.
1808
18092023-05-30 Ronan Desplanques <desplanques@adacore.com>
1810
1811 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor issues.
1812 * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix minor issues.
1813 * gnat_ugn.texi: Regenerate.
1814
18152023-05-30 Johannes Kliemann <kliemann@adacore.com>
1816
1817 * libgnat/s-parame.adb: Check that Default_Stack_Size >=
1818 Minimum_Stack_size.
1819 * libgnat/s-parame__rtems.adb: Ditto.
1820 * libgnat/s-parame__vxworks.adb: Check that Default_Stack_Size >=
1821 Minimum_Stack_size and use the proper Minimum_Stack_Size if
1822 Stack_Check_Limits is enabled.
1823
18242023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1825
1826 * sem_res.adb (Resolve_Call): Restrict previous change to calls that
1827 return on the same stack as the enclosing function. Tidy up.
1828
18292023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1830
1831 * libgnat/a-cidlli.adb (Put_Image): Simplify.
1832 * libgnat/a-coinve.adb (Put_Image): Likewise.
1833
18342023-05-30 Eric Botcazou <ebotcazou@adacore.com>
1835
1836 * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside
1837 a generic unit, preanalyze the expression directly.
1838 (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise.
1839
18402023-05-30 Cedric Landet <landet@adacore.com>
1841
1842 * init.c: Replace FIXME by ???
1843
b4c15a14
GA
18442023-05-29 Cedric Landet <landet@adacore.com>
1845
1846 * s-oscons-tmplt.c: move the definition of sigset out of the
1847 HAVE_SOCKETS bloc.
1848
18492023-05-29 Cedric Landet <landet@adacore.com>
1850
1851 * Makefile.rtl: Move g-spogwa$(objext) from GNATRTL_NONTASKING_OBJS
1852 to GNATRTL_SOCKETS_OBJS
1853
18542023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1855
1856 * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in
1857 both cases to copy the spec of the subprogram.
1858
18592023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1860
1861 * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context):
1862 Bail out for a simple return statement only if the transient scope
1863 and the function both require secondary stack management, or else
1864 if the function is a thunk.
1865 * sem_res.adb (Resolve_Call): Do not create a transient scope when
1866 the call is the expression of a simple return statement.
1867
18682023-05-29 Patrick Bernardi <bernardi@adacore.com>
1869
1870 * libgnat/a-excach.adb (Call_Chain): Replace
1871 Code_Address_For_AAA/ZZZ functions with AAA/ZZZ'Code_Address.
1872 * libgnat/a-except.adb (Code_Address_For_AAA/ZZZ): Delete.
1873 (AAA/ZZZ): New null procedures.
1874 * libgnat/g-debpoo.adb
1875 (Code_Address_For_Allocate_End): Delete.
1876 (Code_Address_For_Deallocate_End): Delete.
1877 (Code_Address_For_Dereference_End): Delete.
1878 (Allocate): Remove label and use Code_Address attribute to
1879 determine subprogram addresses.
1880 (Dellocate): Likewise.
1881 (Dereference): Likewise.
1882 (Allocate_End): Convert to null procedure.
1883 (Dellocate_End): Likewise.
1884 (Dereference_End): Likewise.
1885
18862023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1887
1888 * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions
1889 consistently when rewriting the expression.
1890
18912023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1892
1893 * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container):
1894 New predicate to detect a temporary created to hold the result of
1895 a constant indexing on a container.
1896 (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple
1897 of obsolete comments.
1898 (Is_Finalizable_Transient): Return False if Is_Indexed_Container
1899 returns True on the object.
1900
19012023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1902
1903 * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear
1904 that the predicate also checks the node itself.
1905 (Try_User_Defined_Literal): Move current implementation to...
1906 Deal only with literals, named numbers and conditional expressions
1907 whose dependent expressions are literals or named numbers.
1908 (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple
1909 return False statements and put a single one at the end.
1910 (Resolve): Call Try_User_Defined_Literal instead of directly
1911 Has_Applicable_User_Defined_Literal for all nodes. Call
1912 Try_User_Defined_Literal_For_Operator for operator nodes.
1913
19142023-05-29 Piotr Trojanek <trojanek@adacore.com>
1915
1916 * sem_res.adb (Invoked_With_Different_Arguments): Use Get_Called_Entity,
1917 which properly deals with calls via an access-to-subprogram; fix
1918 inconsistent use of a Call object declared in enclosing subprogram.
1919
19202023-05-29 Piotr Trojanek <trojanek@adacore.com>
1921
1922 * contracts.adb
1923 (Add_Pre_Post_Condition): Attach pre/post aspects to E_Subprogram_Type
1924 entity.
1925 (Analyze_Entry_Or_Subprogram_Contract): Adapt to use full type
1926 declaration for a contract attached to E_Subprogram_Type entity.
1927 * sem_prag.adb
1928 (Analyze_Pre_Post_Condition): Add pre/post aspects to the designed type.
1929
19302023-05-29 Piotr Trojanek <trojanek@adacore.com>
1931
1932 * sem_util.adb (Check_Function_Writable_Actuals): Remove guard against
1933 a membership test with no alternatives; simplify with a membership test.
1934
19352023-05-29 Piotr Trojanek <trojanek@adacore.com>
1936
1937 * doc/gnat_ugn/gnat_and_program_execution.rst
1938 (Some Useful Memory Pools): Remove extra whitespace from examples.
1939 * sem_aggr.adb (Make_String_Into_Aggregate): Remove extra whitespace.
1940 * gnat_ugn.texi: Regenerate.
1941
19422023-05-29 Piotr Trojanek <trojanek@adacore.com>
1943
1944 * exp_aggr.adb (Convert_Aggr_In_Allocator): Replace Get_TSS_Name
1945 with a high-level Is_TSS.
1946 * sem_ch6.adb (Check_Conformance): Replace DECLARE block and
1947 nested IF with a call to Get_TSS_Name and a membership test.
1948 (Has_Reliable_Extra_Formals): Refactor repeated calls to
1949 Get_TSS_Name.
1950 * sem_disp.adb (Check_Dispatching_Operation): Replace repeated
1951 calls to Get_TSS_Name with a membership test.
1952
19532023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1954
1955 * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement
1956 if it is the node to be wrapped by a transient scope.
1957
19582023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1959
1960 * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer
1961 anything to the back-end when the main unit is generic.
1962
19632023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1964
1965 * sem_res.adb (Try_User_Defined_Literal): Restrict previous change
1966 to non-leaf nodes.
1967
19682023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1969
1970 * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators,
1971 also accept operands whose type is covered by the resolution type.
1972
19732023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1974
1975 * exp_aggr.adb (Initialize_Array_Component): Fix condition detecting
1976 the nested case that requires an adjustment.
1977
19782023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1979
1980 * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand.
1981
19822023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1983
1984 * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting
1985 of the simple return during the adjustment of its expression.
1986
19872023-05-29 Eric Botcazou <ebotcazou@adacore.com>
1988
1989 * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return
1990 statements enclosing the conditional expression into the dependent
1991 expressions in almost all cases.
1992 (Expand_N_If_Expression): Likewise.
1993 (Process_Transient_In_Expression): Adjust to the above distribution.
1994 * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the
1995 dependent expressions of a conditional expression.
1996 * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of
1997 a simple return statement during the resolution of its expression.
1998
19992023-05-29 Piotr Trojanek <trojanek@adacore.com>
2000
2001 * sem_res.adb (Resolve_Entity_Name): Refine rules for Exceptional_Cases.
2002
20032023-05-29 Marc Poulhiès <poulhies@adacore.com>
2004
2005 * exp_aggr.adb (Convert_To_Assignments): Do not mark node for
2006 delayed expansion if parent type has the Aggregate aspect.
2007 * sem_util.adb (Is_Container_Aggregate): Move...
2008 * sem_util.ads (Is_Container_Aggregate): ... here and make it
2009 public.
2010
20112023-05-29 Piotr Trojanek <trojanek@adacore.com>
2012
2013 * sem_res.adb (Resolve_Entity_Name): Relax rules for Exceptional_Cases.
2014
20152023-05-29 Eric Botcazou <ebotcazou@adacore.com>
2016
2017 * sem_ch4.ads (Unresolved_Operator): New procedure.
2018 * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into...
2019 (Has_Possible_User_Defined_Literal): ...this. Tidy up.
2020 (Operator_Check): Accept again unresolved operators if they have a
2021 possible user-defined literal as operand. Factor out the handling
2022 of the general error message into...
2023 (Unresolved_Operator): ...this new procedure.
2024 * sem_res.adb (Resolve): Be prepared for unresolved operators on
2025 entry in Ada 2022 or later. If they are still unresolved on exit,
2026 call Unresolved_Operator to give the error message.
2027 (Try_User_Defined_Literal): Tidy up.
2028
20292023-05-29 Steve Baird <baird@adacore.com>
2030
2031 * exp_ch3.adb
2032 (Expand_N_Object_Declaration.Default_Initialize_Object): Add test for
2033 specified Default_Component_Value aspect when deciding whether
2034 either Initialize_Scalars or Normalize_Scalars impacts default
2035 initialization of an array object.
2036
20372023-05-29 Javier Miranda <miranda@adacore.com>
2038
2039 * sem_aggr.adb
2040 (Resolve_Record_Aggregate): For aggregates of derived tagged
2041 record types with discriminants, when collecting components
2042 from ancestors, pass to subprogram Gather_Components the
2043 parent type. Required to report errors on wrong aggregate
2044 components.
2045
20462023-05-29 Piotr Trojanek <trojanek@adacore.com>
2047
2048 * sem_util.adb (Check_Result_And_Post_State): Replace low-level
2049 navigation with a high-level Unique_Entity.
2050
20512023-05-29 Piotr Trojanek <trojanek@adacore.com>
2052
2053 * sem_util.adb (Check_Result_And_Post_State): Properly handle entry
2054 bodies.
2055
20562023-05-29 Piotr Trojanek <trojanek@adacore.com>
2057
2058 * contracts.adb (Fix_Parent): Fir part both for lists and nodes.
2059
20602023-05-29 Arnaud Charlet <charlet@adacore.com>
2061
2062 * sem_ch7.adb: Refine handling of inlining for CCG
2063
20642023-05-29 Eric Botcazou <ebotcazou@adacore.com>
2065
2066 * sem_ch12.adb (Copy_Generic_Node): Test the original node kind
2067 for the sake of consistency. For identifiers and other entity
2068 names and operators, accept an expanded name as associated node.
2069 Replace "or" with "or else" in condtion and fix its formatting.
2070
20712023-05-29 Piotr Trojanek <trojanek@adacore.com>
2072
2073 * sem_util.adb (Check_Result_And_Post_State): Tune message.
2074
20752023-05-29 Piotr Trojanek <trojanek@adacore.com>
2076
2077 * contracts.adb (Remove_Formals): Remove.
2078 (Preanalyze_Condition): Replace Pop_Scope with End_Scope.
2079 * sem_ch13.adb (Build_Discrete_Static_Predicate): Replace
2080 Pop_Scope with End_Scope; enclose Install_Formals within
2081 Push_Scope/End_Scope.
2082
20832023-05-29 Piotr Trojanek <trojanek@adacore.com>
2084
2085 * sem_prag.adb (Analyze_Pre_Post_Condition): Tune error message.
2086
20872023-05-29 Javier Miranda <miranda@adacore.com>
2088
2089 * scans.ads (Inside_Interpolated_String_Expression): New variable.
2090 * par-ch2.adb (P_Interpolated_String_Literal): Set/clear new
2091 variable when parsing interpolated string expressions.
2092 * scng.adb (Set_String): Skip processing operator symbols when we
2093 arescanning an interpolated string literal.
2094
20952023-05-29 Johannes Kliemann <kliemann@adacore.com>
2096
2097 * Makefile.rtl (QNX): Use s-parame__qnx.adb for s-parame.adb.
2098 * libgnat/s-parame__qnx.adb: Add QNX specific version of
2099 System.Parameters.
2100
21012023-05-29 Yannick Moy <moy@adacore.com>
2102
2103 * libgnat/a-ngelfu.ads: Restore SPARK_Mode from context.
2104
21052023-05-29 Marc Poulhiès <poulhies@adacore.com>
2106
2107 * contracts.adb (Restore_Original_Selected_Component): Adjust assertion.
2108
21092023-05-29 Piotr Trojanek <trojanek@adacore.com>
2110
2111 * contracts.adb
2112 (Add_Pre_Post_Condition): Adapt to handle pre/post of an
2113 access-to-subprogram type.
2114 (Analyze_Type_Contract): Analyze pre/post of an
2115 access-to-subprogram.
2116 * contracts.ads
2117 (Analyze_Type_Contract): Adapt comment.
2118 * sem_ch3.adb
2119 (Build_Access_Subprogram_Wrapper): Copy pre/post aspects to
2120 wrapper spec and keep it on the type.
2121 * sem_prag.adb
2122 (Analyze_Pre_Post_Condition): Expect pre/post aspects on
2123 access-to-subprogram and complain if they appear without -gnat2022
2124 switch.
2125 (Analyze_Pre_Post_Condition_In_Decl_Part): Adapt to handle
2126 pre/post on an access-to-subprogram type entity.
2127 * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
2128 (Result): Likewise.
2129
6e6bb373
GA
21302023-05-26 Bob Duff <duff@adacore.com>
2131
2132 * sem_ch3.adb
2133 (Build_Derived_Record_Type): Temporarily set the state of the
2134 Derived_Type to "self-hidden" while processing constraints
2135 and discriminants of a record extension.
2136
21372023-05-26 Bob Duff <duff@adacore.com>
2138
2139 * einfo.ads: Add comma.
2140 * contracts.adb: Fix typos.
2141 * exp_attr.adb: Likewise.
2142 * exp_ch5.adb: Likewise.
2143 * exp_ch6.adb: Likewise.
2144 * lib-xref.adb: Likewise.
2145
21462023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2147
2148 * debug.adb (d.N): Document new usage.
2149 * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate
2150 flag when rewriting a floating-point to fixed-point conversion as
2151 a floating-point to integer conversion.
2152 * exp_fixd.adb: Add with and use clauses for Debug.
2153 (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases
2154 except if the result is explicitly rounded.
2155 (Expand_Convert_Integer_To_Fixed): Likewise.
2156 (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind
2157 of fixed-point types, except if the result is explicitly rounded, or
2158 -gnatd.N is specified and the type is an ordinary fixed-point type.
2159 * sinfo.ads (Float_Truncate): Document usage for floating-point to
2160 fixed-point conversions.
2161
21622023-05-26 Javier Miranda <miranda@adacore.com>
2163
2164 * exp_ch4.adb
2165 (Expand_N_Allocator): If an allocator with constraints is called
2166 in the return statement of a function returning a general access
2167 type, then propagate to the itype the master of the general
2168 access type (since it is the master associated with the
2169 returned object).
2170
21712023-05-26 Yannick Moy <moy@adacore.com>
2172
2173 * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and
2174 assertion that clarifies when we reassigned to a useful value.
2175
21762023-05-26 Yannick Moy <moy@adacore.com>
2177
2178 * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on
2179 pattern matching limitation.
2180 * gnat_rm.texi: Regenerate.
2181 * gnat_ugn.texi: Regenerate.
2182
21832023-05-26 Yannick Moy <moy@adacore.com>
2184
2185 * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may
2186 raise Time_Error.
2187 * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may
2188 lead to an overflow (which is not the case of Tan with one parameter for
2189 example, or Arctanh or Arcoth, despite their mathematical range covering
2190 the reals).
2191 * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as
2192 this is now compulsory for functions to always return in SPARK.
2193 * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure
2194 which may not return.
2195
21962023-05-26 Bob Duff <duff@adacore.com>
2197
2198 * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as
2199 'Image.
2200 * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand
2201 to 'Image instead of 'Img.
2202 * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads:
2203 Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove
2204 unnecessary qualifications. DRY: Don't repeat "True".
2205
22062023-05-26 Piotr Trojanek <trojanek@adacore.com>
2207
2208 * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present.
2209 * sem_util.adb (Find_Untagged_Type_Of): Likewise.
2210
22112023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2212
2213 * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code.
2214 (Expand_Array_Aggregate): In the case where a temporary is created
2215 and the parent is an assignment statement with No_Ctrl_Actions set,
2216 set Is_Ignored_Transient on the temporary.
2217
22182023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2219
2220 * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to
2221 that of the instance only after loading the generic's parent.
2222 (Instantiate_Subprogram_Body): Likewise.
2223
22242023-05-26 Piotr Trojanek <trojanek@adacore.com>
2225
2226 * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else.
2227
22282023-05-26 Piotr Trojanek <trojanek@adacore.com>
2229
2230 * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to
2231 Unqual_Conv; consequently, change object from variable to constant;
2232 replace an IF statement with an AND THEN expression.
2233
22342023-05-26 Piotr Trojanek <trojanek@adacore.com>
2235
2236 * exp_ch9.adb
2237 (Build_Entry_Count_Expression): Remove loop over component declaration;
2238 consequently remove a parameter that is no longer used; adapt callers.
2239 (Make_Task_Create_Call): Refine type of a local variable.
2240
22412023-05-26 Piotr Trojanek <trojanek@adacore.com>
2242
2243 * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside
2244 loop, not in the loop condition itself.
2245
22462023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2247
2248 * libgnat/a-cbdlli.ads (List): Move Nodes component to the end.
2249
22502023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2251
2252 * libgnat/a-crdlli.ads (List): Move Nodes component to the end.
2253
22542023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2255
2256 * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate.
2257 (Resolve_Attribute): Apply the static matching legality rule to an
2258 Unrestricted_Access attribute applied to an aliased prefix if the
2259 type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the
2260 aliasing legality rule as well.
2261
22622023-05-26 Piotr Trojanek <trojanek@adacore.com>
2263
2264 * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and
2265 Next_Non_Pragma to ignore pragmas within component list.
2266
22672023-05-26 Piotr Trojanek <trojanek@adacore.com>
2268
2269 * sem_prag.adb (Get_Argument): Improve detection of generic units.
2270
22712023-05-26 Piotr Trojanek <trojanek@adacore.com>
2272
2273 * sem_ch4.adb (Check_Action_OK): Replace low-level test with a
2274 high-level routine.
2275 * sem_ch13.adb (Is_Predicate_Static): Likewise.
2276
22772023-05-26 Javier Miranda <miranda@adacore.com>
2278
2279 * exp_ch9.adb
2280 (Expand_N_Conditional_Entry_Call): Factorize code to avoid
2281 duplicating subtrees; required to avoid problems when the copied
2282 code has implicit labels.
2283 * sem_util.ads (New_Copy_Separate_List): Removed.
2284 (New_Copy_Separate_Tree): Removed.
2285 * sem_util.adb (New_Copy_Separate_List): Removed.
2286 (New_Copy_Separate_Tree): Removed.
2287
22882023-05-26 Piotr Trojanek <trojanek@adacore.com>
2289
2290 * sem_ch13.adb (Check_Component_List): Local variable Compl is now
2291 a constant; a nested block is no longer needed.
2292
22932023-05-26 Piotr Trojanek <trojanek@adacore.com>
2294
2295 * sem_aggr.adb
2296 (Resolve_Record_Aggregate): Remove useless assignment.
2297 * sem_aux.adb
2298 (Has_Variant_Part): Remove useless guard; this routine is only called
2299 on type entities (and now will crash in other cases).
2300 * sem_ch3.adb
2301 (Create_Constrained_Components): Only assign Assoc_List when necessary;
2302 tune whitespace.
2303 (Is_Variant_Record): Refactor repeated calls to Parent.
2304 * sem_util.adb
2305 (Gather_Components): Assert that discriminant association has just one
2306 choice in component_association; refactor repeated calls to Next.
2307 * sem_util.ads
2308 (Gather_Components): Tune whitespace in comment.
2309
23102023-05-26 Piotr Trojanek <trojanek@adacore.com>
2311
2312 * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with
2313 First_Non_Pragma and Next_Non_Pragma.
2314 * exp_dist.adb (Append_Record_Traversal): Likewise.
2315
23162023-05-26 Javier Miranda <miranda@adacore.com>
2317
2318 * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks
2319 that have a task master entity declaration.
2320 (Build_Master_Entity): Code cleanup.
2321 * sem_util.ads (Is_Internal_Block): New subprogram.
2322 * sem_util.adb (Is_Internal_Block): New subprogram.
2323
23242023-05-26 Piotr Trojanek <trojanek@adacore.com>
2325
2326 * sem_util.adb (Gather_Components): Remove guard for empty list of
2327 components.
2328
23292023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2330
2331 * back_end.adb (Call_Back_End): Add gigi_standard_address to the
2332 signature of the gigi procedure and alphabetize other parameters.
2333 Pass Standard_Address as actual parameter for it.
2334 * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address
2335 on Standard_Address.
2336 * gcc-interface/gigi.h (gigi): Add a standard_address parameter and
2337 alphabetize others.
2338 * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address
2339 type and save it as the type for Standard.Address.
2340
23412023-05-26 Ghjuvan Lacambre <lacambre@adacore.com>
2342
2343 * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag.
2344 * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as
2345 N_Object_Declaration.
2346
23472023-05-26 Piotr Trojanek <trojanek@adacore.com>
2348
2349 * exp_aggr.adb
2350 (Build_Constrained_Type): Remove local constants that were shadowing
2351 equivalent global constants; replace a wrapper that calls
2352 Make_Integer_Literal with a numeric literal; remove explicit
2353 Aliased_Present parameter which is equivalent to the default value.
2354 (Check_Bounds): Remove unused initial value.
2355 (Expand_Array_Aggregate): Use aggregate type from the context.
2356
23572023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2358
2359 * einfo.ads (Delay_Cleanups): Document new usage.
2360 * exp_ch7.ads (Build_Finalizer): New declaration.
2361 * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat
2362 library-level package instantiations specially.
2363 (Build_Finalizer): Return early for package bodies and specs that
2364 are not compilation units instead of using a more convoluted test.
2365 (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups
2366 is set on the defining entity.
2367 (Expand_N_Package_Declaration): Likewise.
2368 * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop.
2369 (Add_Pending_Instantiation): Add Fin_Scop parameter.
2370 * inline.adb (Add_Pending_Instantiation): Likewise and copy it into
2371 the Pending_Body_Info appended to Pending_Instantiations.
2372 (Add_Scope_To_Clean): Change parameter name to Scop and remove now
2373 irrelevant processing.
2374 (Cleanup_Scopes): Deal with scopes that are package specs or bodies.
2375 (Instantiate_Body): For package instantiations, deal specially with
2376 scopes that are package bodies and with scopes that are dynamic.
2377 Pass the resulting scope to Add_Scope_To_Clean directly.
2378 * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a
2379 body is needed, compute the enclosing finalization scope and pass it
2380 in the call to Add_Pending_Instantiation.
2381 (Inline_Instance_Body): Adjust aggregate passed in the calls to
2382 Instantiate_Package_Body.
2383 (Load_Parent_Of_Generic): Likewise.
2384
23852023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2386
2387 * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind.
2388
23892023-05-26 Piotr Trojanek <trojanek@adacore.com>
2390
2391 * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count
2392 expressions in consecutive subaggregates.
2393
23942023-05-26 Doug Rupp <rupp@adacore.com>
2395
2396 * libgnarl/s-osinte__qnx.ads (sigset_t): Modify
2397 declaration to use system.os_constants computed
2398 value. Align it.
2399
24002023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2401
2402 * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo
2403 and Sinfo.Nodes.
2404 (Build_K): Always use 'Tag of the object.
2405 (Build_S_Assignment): Likewise.
2406
24072023-05-26 Piotr Trojanek <trojanek@adacore.com>
2408
2409 * accessibility.adb
2410 (Is_Formal_Of_Current_Function): This routine expects an entity
2411 reference and not the entity itself, so its parameter is a Node_Id
2412 and not an Entity_Id.
2413
24142023-05-26 Piotr Trojanek <trojanek@adacore.com>
2415
2416 * exp_aggr.adb
2417 (Build_Array_Aggr_Code): Change variable to constant.
2418 (Check_Same_Aggr_Bounds): Fix style; remove unused initial value.
2419
24202023-05-26 Ronan Desplanques <desplanques@adacore.com>
2421
2422 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals
2423 in more situations.
2424
24252023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2426
2427 * checks.adb (Selected_Range_Checks): Add guards to protect calls
2428 to Expr_Value on bounds.
2429
24302023-05-26 Eric Botcazou <ebotcazou@adacore.com>
2431
2432 * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time
2433 known bounds and add WARNING line.
2434 (Not_Null_Range): Remove requirements of compile-time known bounds.
2435 * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare.
2436 (Not_Null_Range): Likewise.
2437 * fe.h (Is_Null_Range): New predicate.
2438
47c4245b
GA
24392023-05-25 Javier Miranda <miranda@adacore.com>
2440
2441 * sem_aggr.adb
2442 (Warn_On_Null_Component_Association): New subprogram.
2443 (Empty_Range): Adding missing support for iterated component
2444 association node.
2445 (Resolve_Array_Aggregate): Report warning on iterated component
2446 association that may initialize some component of an array of
2447 null-excluding access type components with a null value.
2448 * exp_ch4.adb
2449 (Expand_N_Expression_With_Actions): Add missing type check since
2450 the subtype of the EWA node and the subtype of the expression
2451 may differ.
2452
24532023-05-25 Piotr Trojanek <trojanek@adacore.com>
2454
2455 * sem_util.adb (Determining_Expressions): Fix style; fix layout and
2456 ordering of pragma names; expect pragma Exceptional_Cases.
2457
24582023-05-25 Piotr Trojanek <trojanek@adacore.com>
2459
2460 * einfo-utils.adb (Write_Entity_Info): Use procedural Next_Index.
2461 * sem_aggr.adb (Collect_Aggr_Bounds): Reuse local constant.
2462 (Resolve_Null_Array_Aggregate): Use procedural Next_Index.
2463
24642023-05-25 Javier Miranda <miranda@adacore.com>
2465
2466 * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to
2467 aggregate components when the aggregate is empty.
2468
24692023-05-25 Johannes Kliemann <kliemann@adacore.com>
2470
2471 * libgnat/system-vxworks7-ppc-kernel.ads: Enable
2472 Support_Atomic_Primitives.
2473 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
2474
24752023-05-25 Eric Botcazou <ebotcazou@adacore.com>
2476
2477 * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when
2478 building the subtype declaration in the case of a spec expression.
2479
24802023-05-25 Tom Tromey <tromey@adacore.com>
2481
2482 * Make-generated.in (ada/stamp-snames): Check result of
2483 gnatmake.
2484
24852023-05-25 Eric Botcazou <ebotcazou@adacore.com>
2486
2487 * cstand.adb (Create_Standard): Set the Is_Descendant_Of_Address
2488 flag on Standard_Address.
2489 * freeze.adb (Freeze_Entity): Copy the modulus of System.Address
2490 onto Standard_Address.
2491
24922023-05-25 Eric Botcazou <ebotcazou@adacore.com>
2493
2494 * libgnat/system-aix.ads (Address): Likewise.
2495 * libgnat/system-darwin-arm.ads (Address): Likewise.
2496 * libgnat/system-darwin-ppc.ads (Address): Likewise.
2497 * libgnat/system-darwin-x86.ads (Address): Likewise.
2498 * libgnat/system-djgpp.ads (Address): Likewise.
2499 * libgnat/system-dragonfly-x86_64.ads (Address): Likewise.
2500 * libgnat/system-freebsd.ads (Address): Likewise.
2501 * libgnat/system-hpux-ia64.ads (Address): Likewise.
2502 * libgnat/system-hpux.ads (Address): Likewise.
2503 * libgnat/system-linux-alpha.ads (Address): Likewise.
2504 * libgnat/system-linux-arm.ads (Address): Likewise.
2505 * libgnat/system-linux-hppa.ads (Address): Likewise.
2506 * libgnat/system-linux-ia64.ads (Address): Likewise.
2507 * libgnat/system-linux-m68k.ads (Address): Likewise.
2508 * libgnat/system-linux-mips.ads (Address): Likewise.
2509 * libgnat/system-linux-ppc.ads (Address): Likewise.
2510 * libgnat/system-linux-riscv.ads (Address): Likewise.
2511 * libgnat/system-linux-s390.ads (Address): Likewise.
2512 * libgnat/system-linux-sh4.ads (Address): Likewise.
2513 * libgnat/system-linux-sparc.ads (Address): Likewise.
2514 * libgnat/system-linux-x86.ads (Address): Likewise.
2515 * libgnat/system-lynxos178-ppc.ads (Address): Likewise.
2516 * libgnat/system-lynxos178-x86.ads (Address): Likewise.
2517 * libgnat/system-mingw.ads (Address): Likewise.
2518 * libgnat/system-qnx-arm.ads (Address): Likewise.
2519 * libgnat/system-rtems.ads (Address): Likewise.
2520 * libgnat/system-solaris-sparc.ads (Address): Likewise.
2521 * libgnat/system-solaris-x86.ads (Address): Likewise.
2522 * libgnat/system-vxworks-ppc-kernel.ads (Address): Likewise.
2523 * libgnat/system-vxworks-ppc-rtp-smp.ads (Address): Likewise.
2524 * libgnat/system-vxworks-ppc-rtp.ads (Address): Likewise.
2525 * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Address): Likewise.
2526 * libgnat/system-vxworks7-aarch64.ads (Address): Likewise.
2527 * libgnat/system-vxworks7-arm-rtp-smp.ads (Address): Likewise.
2528 * libgnat/system-vxworks7-arm.ads (Address): Likewise.
2529 * libgnat/system-vxworks7-ppc-kernel.ads (Address): Likewise.
2530 * libgnat/system-vxworks7-ppc-rtp-smp.ads (Address): Likewise.
2531 * libgnat/system-vxworks7-ppc64-kernel.ads (Address): Likewise.
2532 * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Address): Likewise.
2533 * libgnat/system-vxworks7-x86-kernel.ads (Address): Likewise.
2534 * libgnat/system-vxworks7-x86-rtp-smp.ads (Address): Likewise.
2535 * libgnat/system-vxworks7-x86_64-kernel.ads (Address): Likewise.
2536 * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Address): Likewise.
2537
25382023-05-25 Marc Poulhiès <poulhies@adacore.com>
2539
2540 * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string,
2541 use existing local Ident.
2542
25432023-05-25 Bob Duff <duff@adacore.com>
2544
2545 * atree.adb (Check_Vanishing_Fields): Fix bug in the "blah type
2546 only" cases. Remove the special cases for E_Void. Misc cleanup.
2547 (Mutate_Nkind): Disallow mutating to the same kind.
2548 (Mutate_Ekind): Disallow mutating to E_Void.
2549 (From E_Void is still OK -- entities start out as E_Void by
2550 default.) Fix bug in statistics gathering -- was setting the wrong
2551 count. Enable Check_Vanishing_Fields for entities.
2552 * sem_ch8.adb (Is_Self_Hidden): New function.
2553 (Find_Direct_Name): Call Is_Self_Hidden to use the new
2554 Is_Not_Self_Hidden flag to determine whether a declaration is
2555 hidden from all visibility by itself. This replaces the old method
2556 of checking E_Void.
2557 (Find_Expanded_Name): Likewise.
2558 (Find_Selected_Component): Likewise.
2559 * sem_util.adb (Enter_Name): Remove setting of Ekind to E_Void.
2560 * sem_ch3.adb: Set the Is_Not_Self_Hidden flag in appropriate
2561 places. Comment fixes.
2562 (Inherit_Component): Remove setting of Ekind to E_Void.
2563 * sem_ch9.adb
2564 (Analyze_Protected_Type_Declaration): Update comment. Skip Itypes,
2565 which should not be turned into components.
2566 * atree.ads (Mutate_Nkind): Document error case.
2567 (Mutate_Ekind): Remove comments apologizing for E_Void mutations.
2568 Document error cases.
2569
25702023-05-25 Eric Botcazou <ebotcazou@adacore.com>
2571
2572 * libgnat/a-ststio.adb (Set_Mode): Test System.Memory_Size.
2573 * libgnat/g-debuti.ads (Address_64): Likewise.
2574 * libgnat/i-c.ads: Add with clause for System.
2575 (ptrdiff_t): Define based on the size of memory space.
2576 (size_t): Likewise.
2577 * libgnat/s-crtl.ads (size_t): Likewise.
2578 (ssize_t): Likewise.
2579 * libgnat/s-memory.ads (size_t): Likewise.
2580 * libgnat/s-parame.ads (Size_Type): Likewise.
2581 * libgnat/s-parame__hpux.ads (Size_Type): Likewise.
2582 * libgnat/s-parame__posix2008.ads (Size_Type): Likewise.
2583 * libgnat/s-parame__vxworks.ads (Size_Type): Likewise.
2584 * libgnat/s-putima.adb (Signed_Address): Likewise.
2585 (Unsigned_Address): Likewise.
2586 * libgnat/s-stoele.ads (Storage_Offset): Likewise.
2587
25882023-05-25 Piotr Trojanek <trojanek@adacore.com>
2589
2590 * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition
2591 as when it was incremented.
2592
25932023-05-25 Piotr Trojanek <trojanek@adacore.com>
2594
2595 * sem_util.ads (New_Copy_Tree): Remove Scopes_In_EWA_OK from spec;
2596 adapt comment.
2597 * sem_util.adb (New_Copy_Tree): Remove Scopes_In_EWA_OK from body;
2598 adapt code.
2599
26002023-05-25 Piotr Trojanek <trojanek@adacore.com>
2601
2602 * sem_util.adb (Update_New_Entities): Remove redundant check for entity
2603 map being present.
2604
26052023-05-25 Piotr Trojanek <trojanek@adacore.com>
2606
2607 * atree.adb (Copy_List): Call Copy_Separate_Tree for both entities and
2608 other nodes.
2609
26102023-05-25 Steve Baird <baird@adacore.com>
2611
2612 * exp_attr.adb
2613 (Cached_Streaming_Ops): A new package, providing maps to save
2614 previously-generated Read/Write/Input/Output procedures.
2615 (Expand_N_Attribute_Reference): When a new subprogram is generated
2616 for a Read/Write/Input/Output attribute reference, record that
2617 type/subp pair in the appropriate Cached_Streaming_Ops map.
2618 (Find_Stream_Subprogram): Check the appropriate
2619 Cached_Streaming_Ops map to see if an appropriate subprogram has
2620 already been generated. If so, then return it. The appropriateness
2621 test includes a call to a new nested subprogram,
2622 In_Available_Context.
2623 * exp_strm.ads, exp_strm.adb: Do not pass in a Loc parameter (or a
2624 source-location-bearing Nod parameter) to the 16 procedures
2625 provided for building streaming-related subprograms. Use the
2626 source location of the type instead.
2627 * exp_dist.adb, exp_ch3.adb: Adapt to Exp_Strm spec changes. For
2628 these calls the source location of the type was already being
2629 used.
2630
26312023-05-25 Marc Poulhiès <poulhies@adacore.com>
2632
2633 * sem_ch6.adb (Analyze_Function_Return): Add missing
2634 Is_Access_Type check before accessing the Designated_Type field.
2635
26362023-05-25 Piotr Trojanek <trojanek@adacore.com>
2637
2638 * sem_ch6.adb (Analyze_Return_Type): Remove unused initial value.
2639
26402023-05-25 Marc Poulhiès <poulhies@adacore.com>
2641
2642 * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item.
2643 (Check_Aspect_At_Freeze_Point): Check the aspect is specified on
2644 non-array type only...
2645 (Analyze_One_Aspect): ... instead of doing it too early here.
2646 * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case
2647 the parameters failed to resolve.
2648
26492023-05-25 Piotr Trojanek <trojanek@adacore.com>
2650
2651 * sem_util.adb (Check_Internal_Protected_Use): Add standard protection
2652 against search going too far.
2653
26542023-05-25 Piotr Trojanek <trojanek@adacore.com>
2655
2656 * contracts.adb
2657 (Add_Pre_Post_Condition): Mention new aspects in the comment.
2658 * contracts.ads
2659 (Add_Contract_Item): Likewise.
2660 (Analyze_Subprogram_Body_Stub_Contract): Likewise.
2661 * sem_prag.adb
2662 (Contract_Freeze_Error): Likewise.
2663 (Ensure_Aggregate_Form): Likewise.
2664 * sem_prag.ads
2665 (Find_Related_Declaration_Or_Body): Likewise.
2666 * sinfo.ads
2667 (Is_Generic_Contract_Pragma): Likewise.
2668
26692023-05-25 Piotr Trojanek <trojanek@adacore.com>
2670
2671 * aspects.ads
2672 (Implementation_Defined_Aspect): Recently added aspects are
2673 implementation-defined, just like Contract_Cases.
2674 * sem_prag.ads
2675 (Aspect_Specifying_Pragma): Recently added aspects have corresponding
2676 pragmas, just like Contract_Cases.
2677 (Pragma_Significant_To_Subprograms): Recently added aspects are
2678 significant to subprograms, just like Contract_Cases.
2679
26802023-05-25 Piotr Trojanek <trojanek@adacore.com>
2681
2682 * sem_res.adb (Resolve_Entity_Name): Tune handling of formal parameters
2683 in contract Exceptional_Cases.
2684
26852023-05-25 Piotr Trojanek <trojanek@adacore.com>
2686
2687 * par-ch7.adb (P_Package): Remove redundant guard from call to
2688 Move_Aspects.
2689 * par-ch9.adb (P_Task): Likewise.
2690 * sem_ch6.adb (Analyze_Expression_Function, Is_Inline_Pragma): Likewise.
2691
26922023-05-25 Eric Botcazou <ebotcazou@adacore.com>
2693
2694 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Use Get_Actual_Subtype
2695 to retrieve the actual subtype for all actuals and do it in only one
2696 place for all unconstrained composite formal types.
2697
26982023-05-25 Piotr Trojanek <trojanek@adacore.com>
2699
2700 * sem_prag.adb (Analyze_Pragma): Fix references to Exceptional_Cases in
2701 code copied from handling of Subprogram_Variant.
2702
27032023-05-25 Ronan Desplanques <desplanques@adacore.com>
2704
2705 * sem_ch3.adb (Replace_Type): Add more documentation.
2706
27072023-05-25 Ronan Desplanques <desplanques@adacore.com>
2708
2709 * sem_ch3.adb (Replace_Type): Use existing constant wherever
2710 possible.
2711
27122023-05-25 Ronan Desplanques <desplanques@adacore.com>
2713
2714 * sem_ch3.adb (Replace_Type): Reduce span of variable.
2715
27162023-05-25 Bob Duff <duff@adacore.com>
2717
2718 * sem_ch9.adb (Analyze_Protected_Type_Declaration): Set the flag
2719 for protected types.
2720 (Analyze_Single_Protected_Declaration): Likewise, for singleton
2721 protected objects.
2722 (Analyze_Task_Type_Declaration): Set the flag for task types.
2723 (Analyze_Single_Task_Declaration): Likewise, for singleton task
2724 objects.
2725 * sem_ch10.adb (Decorate_Type): Set the flag for types treated as
2726 incomplete.
2727 (Build_Shadow_Entity): Set the flag for shadow entities.
2728 (Decorate_State): Set the flag for an abstract state.
2729 (Build_Limited_Views): Set the flag for limited view of package.
2730 * sem_attr.adb (Check_Not_Incomplete_Type): Disable the check when
2731 this is a current instance.
2732
27332023-05-25 Ronan Desplanques <desplanques@adacore.com>
2734
2735 * freeze.adb (Build_DTW_Body): Add appropriate type conversions for
2736 controlling access parameters.
2737 * sem_util.adb (Build_Overriding_Spec): Fix designated types in
2738 controlling access parameters.
2739
27402023-05-25 Bob Duff <duff@adacore.com>
2741
2742 * gen_il-gen-gen_entities.adb (E_Label): Add
2743 Entry_Cancel_Parameter. This is necessary because
2744 Analyze_Implicit_Label_Declaration set the Ekind to E_Label.
2745 Without this change, this field would fail the vanishing-fields
2746 check in Atree (which is currently commented out).
2747 * einfo.ads (Entry_Cancel_Parameter): Document for E_Label.
2748 * sem_eval.adb (Why_Not_Static): Protect against previous errors
2749 (no need to explain why something is not static if it's already
2750 illegal for other reasons).
2751 * sem_util.ads (Enter_Name): Fix misleading comment.
2752
27532023-05-25 Eric Botcazou <ebotcazou@adacore.com>
2754
2755 * einfo.ads (Scope_Depth): Fix circular definition.
2756 (Scope_Depth_Value): Fix value for library units.
2757
27582023-05-25 Piotr Trojanek <trojanek@adacore.com>
2759
2760 * sem_ch11.adb (Analyze_Raise_Expression): Tune warning condition.
2761 * libgnat/g-dirope.ads (Open): Remove a potentially inaccurate comment.
2762 * libgnat/g-dirope.adb (Open): Remove a potentially useless assignment;
2763 the Dir output parameter should be assigned a null value anyway by the
2764 preceding call to Free.
2765
27662023-05-25 Piotr Trojanek <trojanek@adacore.com>
2767
2768 * sem_res.adb (Resolve_Entity_Name): Allow aliased parameters; tune
2769 error message.
2770
27712023-05-25 Marc Poulhiès <poulhies@adacore.com>
2772
2773 * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as
2774 needing delayed resolution and reject the aspect on non-array
2775 type.
2776
27772023-05-25 Bob Duff <duff@adacore.com>
2778
2779 * sinfo-utils.adb: Update comment to refer to
2780 New_Node_Debugging_Output.
2781
27822023-05-25 Marc Poulhiès <poulhies@adacore.com>
2783
2784 * rtsfind.adb (Load_RTU.Restore_SPARK_Context): New.
2785 (Load_RTU): Use Restore_SPARK_Context on all exit paths.
2786 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Initialize local
2787 variable to Empty.
2788
27892023-05-25 Piotr Trojanek <trojanek@adacore.com>
2790
2791 * sem_attr.adb
2792 (Analyze_Attribute_Old_Result): Allow uses of 'Old and 'Result within
2793 the new aspect.
2794 * sem_res.adb
2795 (Within_Exceptional_Cases_Consequence): New utility routine.
2796 (Resolve_Entity_Name): Restrict use of formal parameters within the
2797 new aspect.
2798
03c7c418
GA
27992023-05-23 Piotr Trojanek <trojanek@adacore.com>
2800
2801 * aspects.ads
2802 (Aspect_Id): Add aspect identifier.
2803 (Aspect_Argument): New aspect accepts an expression.
2804 (Is_Representation_Aspect): New aspect is not a representation
2805 aspect.
2806 (Aspect_Names): Associate name with the new aspect identifier.
2807 (Aspect_Delay): New aspect is never delayed.
2808 * contracts.adb
2809 (Add_Contract_Item): Store new aspect among contract items.
2810 (Analyze_Entry_Or_Subprogram_Contract): Likewise.
2811 (Analyze_Subprogram_Body_Stub_Contract): Likewise.
2812 (Process_Contract_Cases): Expand new aspect, if present.
2813 * contracts.ads
2814 (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in
2815 spec.
2816 (Analyze_Entry_Or_Subprogram_Contract): Likewise.
2817 * einfo-utils.adb
2818 (Get_Pragma): Allow new aspect to be picked by the backend.
2819 * einfo-utils.ads
2820 (Get_Pragma): Mention new aspect in spec.
2821 * exp_prag.adb
2822 (Expand_Pragma_Exceptional_Cases): Dummy expansion routine.
2823 * exp_prag.ads
2824 (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine.
2825 * inline.adb
2826 (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline.
2827 * par-prag.adb
2828 (Par.Prag): Accept pragma in the parser, so it will be checked
2829 later.
2830 * sem_ch12.adb
2831 (Implementation of Generic Contracts): Mention new aspect in
2832 comment.
2833 * sem_ch13.adb
2834 (Analyze_Aspect_Specifications): Transform new aspect info a
2835 corresponding pragma.
2836 * sem_prag.adb
2837 (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect
2838 expression; heavily inspired by the existing code for analysis of
2839 Subprogram_Variant and exception handlers.
2840 (Analyze_Pragma): Analyze pragma corresponding to the new aspect.
2841 (Is_Non_Significant_Pragma_Reference): Add new pragma to the
2842 table.
2843 * sem_prag.ads
2844 (Assertion_Expression_Pragma): New pragma acts as an assertion
2845 expression, even though it is not currently expanded.
2846 (Analyze_Exceptional_Cases_In_Decl_Part): Add spec.
2847 * sem_util.adb
2848 (Is_Subprogram_Contract_Annotation): Mark new annotation is a
2849 subprogram contract, so the subprogram with it won't be inlined.
2850 * sem_util.ads
2851 (Is_Subprogram_Contract_Annotation): Mention new aspect in
2852 comment.
2853 * sinfo.ads
2854 (Contract_Test_Cases): Mention new aspect in comment.
2855 * snames.ads-tmpl: Add entries for the new name and pragma.
2856
28572023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2858
2859 * sem_ch13.adb (Build_Predicate_Functions): If the current scope
2860 is not that of the type, push this scope and pop it at the end.
2861 * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete.
2862 * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise.
2863 (Set_Public_Status): Call again Current_Scope.
2864
28652023-05-23 Gary Dismukes <dismukes@adacore.com>
2866
2867 * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from
2868 call to Is_Limited_Record, since that flag is now properly
2869 inherited by class-wide types.
2870 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call
2871 to Make_Class_Wide_Type, which is done too early, and will later
2872 be done in Build_Derived_Record_Type after flags such as
2873 Is_Limited_Record and Is_Controlled_Active have been set on the
2874 derived type.
2875
28762023-05-23 Patrick Bernardi <bernardi@adacore.com>
2877
2878 * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses.
2879
28802023-05-23 Piotr Trojanek <trojanek@adacore.com>
2881
2882 * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack.
2883 * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS
2884 choice.
2885 * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses.
2886
28872023-05-23 Piotr Trojanek <trojanek@adacore.com>
2888
2889 * sem_ch11.adb
2890 (Check_Duplication): Fix inconsistent iteration.
2891 (Others_Present): Iterate over handlers using First_Non_Pragma and
2892 Next_Non_Pragma just like in Check_Duplication.
2893
28942023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2895
2896 * einfo.ads (Delay_Subprogram_Descriptors): Delete.
2897 * gen_il-fields.ads (Opt_Field_Enum): Remove
2898 Delay_Subprogram_Descriptors.
2899 * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise.
2900 * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec.
2901 * sinfo.ads (Corresponding_Spec): Document new use.
2902 (N_Entry_Body): Likewise.
2903 * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for
2904 protected subprograms that have been expanded.
2905 * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code.
2906 * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the
2907 new block and propagate Uses_Sec_Stack from the corresponding spec.
2908 (Expand_N_Protected_Body) <N_Subprogram_Body>: Unconditionally reset
2909 the scopes of top-level entities in the new body.
2910 * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly.
2911 * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec.
2912 * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code
2913 setting Delay_Subprogram_Descriptors and tidy up.
2914 * sem_util.adb (Scope_Within): Deal with protected subprograms that
2915 have been expanded.
2916 (Scope_Within_Or_Same): Likewise.
2917
29182023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2919
2920 * libgnarl/s-taskin.ads (Atomic_Address): Delete.
2921 (Attribute_Array): Add pragma Atomic_Components.
2922 (Ada_Task_Control_Block): Adjust default value of Attributes.
2923 * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local
2924 variable.
2925 * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter.
2926 (To_Attribute): Adjust source type.
2927 * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements.
2928 (New_Attribute): Adjust return type.
2929 (Deallocate): Adjust type of parameter.
2930 (To_Real_Attribute): Adjust source type.
2931 (To_Address): Add target type.
2932 (To_Attribute): Adjust source type.
2933 (Fast_Path): Adjust tested type.
2934 (Finalize): Compare with Null_Address.
2935 (Reference): Likewise.
2936 (Reinitialize): Likewise.
2937 (Set_Value): Likewise. Add conversion to Integer_Address.
2938 (Value): Likewise.
2939
29402023-05-23 Raphael Amiard <amiard@adacore.com>
2941
2942 * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed
2943 by Core_Extensions_Allowed.
2944
29452023-05-23 Claire Dross <dross@adacore.com>
2946
2947 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers.
2948 * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost,
2949 Raw_Unsigned_Is_Based_Ghost): New ghost helper functions.
2950 (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost,
2951 Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new
2952 helpers.
2953
29542023-05-23 Arnaud Charlet <charlet@adacore.com>
2955
2956 * par-ch5.adb, style.ads, styleg.adb, styleg.ads
2957 (Check_Xtra_Parens): Remove extra parameter Enable.
2958 (Check_Xtra_Parens_Precedence): New.
2959 (P_Case_Statement): Add -gnatyx style check.
2960 * sem_ch4.adb: Replace calls to Check_Xtra_Parens by
2961 Check_Xtra_Parens_Precedence.
2962 * stylesw.ads, stylesw.adb, usage.adb: Add support for
2963 -gnatyz.
2964 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
2965 Update -gnatyxzg doc.
2966 * sem_prag.adb, libgnat/s-regpat.adb,
2967 libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb:
2968 Remove extra parens.
2969 * par-ch3.adb (P_Discrete_Range): Do not emit a style check if
2970 the expression is not a simple expression.
2971 * gnat_ugn.texi: Regenerate.
2972
29732023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2974
2975 * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of
2976 System.Storage_Elements to compute the offset.
2977 (Symbolic_Address): Likewise.
2978
29792023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2980
2981 * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same
2982 resolution for the special mod operator of System.Storage_Elements.
2983
29842023-05-23 Raphael Amiard <amiard@adacore.com>
2985
2986 * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst,
2987 doc/gnat_rm/implementation_defined_pragmas.rst:
2988 * gnat_rm.texi: Regenerate.
2989
29902023-05-23 Eric Botcazou <ebotcazou@adacore.com>
2991
2992 * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special
2993 operator of System.Storage_Elements. Do not rewrite it into a rem.
2994 * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the
2995 left operand for the special mod operator of System.Storage_Elements
2996
29972023-05-23 Vadim Godunko <godunko@adacore.com>
2998
2999 * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call
3000 of Detach
3001 (Query_Element): Likewise.
3002
30032023-05-23 Ronan Desplanques <desplanques@adacore.com>
3004
3005 * sem_disp.adb: Fix reference to Ada issue in comment.
3006
30072023-05-23 Eric Botcazou <ebotcazou@adacore.com>
3008
3009 * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface
3010 class-wide case, use 'Tag of the object as the controlling tag.
3011 (Expand_Interface_Thunk): Perform address arithmetic using operators
3012 of System.Storage_Elements.
3013
30142023-05-23 Eric Botcazou <ebotcazou@adacore.com>
3015
3016 * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements.
3017 (Addr): Delete.
3018 (Offset): New subtype of Storage_Offset.
3019 (To_Offset): New instance of Unchecked_Conversion.
3020 (To_Pointer): Adjust.
3021 (To_Addr): Likewise.
3022 (To_Ptrdiff): Likewise.
3023 ("+"): Call To_Offset on the offset.
3024 ("-"): Likewise.
3025 * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements.
3026 (Val_Bytes): Change type to Storage_Count.
3027 (Get_Val_2): Add qualification to second operand of mod operator.
3028 (Set_Val_2): Likewise.
3029 (Copy_Bitfield): Likewise. Change type of Src_Adjust & Dest_Adjust.
3030 * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address.
3031 * libgnat/s-statxd.adb (I_AD): Adjust.
3032 (I_AS): Likewise.
3033 (W_AS): Likewise.
3034
30352023-05-23 Steve Baird <baird@adacore.com>
3036
3037 * sem_util.adb
3038 (Is_Variable): Correctly return False for a selected component
3039 name of the form Some_Object.Some_Discriminant, even if
3040 Some_Object is a variable. We don't want to allow such a name as
3041 an actual parameter in a call if the corresponding formal
3042 parameter's mode is not "in".
3043
30442023-05-23 Yannick Moy <moy@adacore.com>
3045
3046 * sem_util.adb (Check_Node): Add default init on local Id.
3047
30482023-05-23 Yannick Moy <moy@adacore.com>
3049
3050 * libgnat/i-c.adb (To_Ada): Add loop invariant.
3051
30522023-05-23 Eric Botcazou <ebotcazou@adacore.com>
3053
3054 * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod
3055 operator of System.Storage_Elements.
3056 * exp_intr.adb (Expand_To_Integer): New procedure.
3057 (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately.
3058 (Expand_To_Address): Deal with an argument with modular type.
3059 * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic
3060 on a derived intrinsic subprogram.
3061 * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic
3062 operators not coming from source exactly as those coming from
3063 source and also generate a reference in both cases.
3064 (Resolve_Op_Expon): Likewise.
3065 (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get
3066 a nonprivate base type.
3067 * snames.ads-tmpl (Name_To_Integer): New intrinsic name.
3068 * libgnat/s-stoele.ads: Replace pragma Convention with pragma
3069 Import throughout and remove pragma Inline_Always and
3070 Pure_Function.
3071 * libgnat/s-stoele.adb: Replace entire contents with pragma
3072 No_Body.
3073 * libgnat/s-atacco.adb: Adjust comment about pragma No_Body.
3074
30752023-05-23 Javier Miranda <miranda@adacore.com>
3076
3077 * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
3078 call to preanalyze class-wide conditions since here it is too
3079 early; they must be preanalyzed when full views of private types
3080 have been analyzed.
3081 * sem_ch7.adb (Analyze_Package_Specification): Preanalyze
3082 class-wide conditions of dispatching primitives defined in nested
3083 packages.
3084
30852023-05-23 Piotr Trojanek <trojanek@adacore.com>
3086
3087 * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1"
3088 statement into a subprogram; replace assertions with defensive code;
3089 fix few more off-by-one errors.
3090
30912023-05-23 Ronan Desplanques <desplanques@adacore.com>
3092
3093 * einfo.ads: Mention full name of LSP.
3094
30952023-05-23 Piotr Trojanek <trojanek@adacore.com>
3096
3097 * errout.adb (Last_Sloc): Rewrite skipping past numeric literals.
3098
30992023-05-23 Eric Botcazou <ebotcazou@adacore.com>
3100
3101 * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the
3102 commentary to the current implementation.
3103 * sem_util.ads (Current_Scope_No_Loops): Move around.
3104 (Current_Scope_No_Loops_No_Blocks): New declaration.
3105 (Add_Block_Identifier): Fix formatting.
3106 * sem_util.adb (Add_Block_Identifier): Likewise.
3107 (Current_Scope_No_Loops_No_Blocks): New function.
3108 (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead
3109 of Current_Scope to get the current scope.
3110
31112023-05-23 Eric Botcazou <ebotcazou@adacore.com>
3112
3113 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not
3114 manually generate a predicate check. Call Unqualify before doing
3115 pattern matching on the expression.
3116 * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual
3117 subtype when it is built in the definite case.
3118
31192023-05-23 Piotr Trojanek <trojanek@adacore.com>
3120
3121 * libgnarl/s-interr.adb
3122 (Registered_Handler): Remove default expression.
3123 (Registered_Handlers): Switch to singly-linked list.
3124 (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants.
3125 (Is_Registered): Use singly-linked list.
3126 (Register_Interrupt_Handler): Use singly-linked list and initialized
3127 allocator; sync assertion with other unit variants.
3128 * libgnarl/s-interr__sigaction.adb: Likewise.
3129 * libgnarl/s-interr__vxworks.adb: Likewise.
3130 * libgnarl/s-interr__hwint.adb: Likewise.
3131 (Is_Registered): Remove repeated declaration.
3132
31332023-05-23 Piotr Trojanek <trojanek@adacore.com>
3134
3135 * pprint.adb (Expression_Image): Restore some of the old pretty-printing
3136 for CodePeer.
3137
31382023-05-23 Piotr Trojanek <trojanek@adacore.com>
3139
3140 * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters.
3141
31422023-05-23 Piotr Trojanek <trojanek@adacore.com>
3143
3144 * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens.
3145
31462023-05-23 Piotr Trojanek <trojanek@adacore.com>
3147
3148 * pprint.adb (Expression_Image): Move Count_Parentheses and
3149 Fix_Parentheses routines from GNATprove and apply them before
3150 returning the slice of a source code buffer.
3151
31522023-05-23 Piotr Trojanek <trojanek@adacore.com>
3153
3154 * errout.adb
3155 (Paren_Required): New subsidiary routine for better handling of
3156 parentheses in First_Node/Last_Node.
3157 (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly
3158 handle generic instances and inlined subprograms; tune handling of
3159 parentheses; improve handling of literals.
3160 * pprint.adb (Expression_Image): Simplify using
3161 First_Sloc/Last_Sloc.
3162 * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis
3163 when relocating expression from expression function to simple
3164 return statement.
3165
31662023-05-23 Piotr Trojanek <trojanek@adacore.com>
3167
3168 * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of
3169 subprogram variants.
3170
31712023-05-23 Eric Botcazou <ebotcazou@adacore.com>
3172
3173 * frontend.adb (Frontend): Merge two conditional blocks and adjust.
3174
31752023-05-23 Piotr Trojanek <trojanek@adacore.com>
3176
3177 * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment.
3178
31792023-05-23 Ronan Desplanques <desplanques@adacore.com>
3180
3181 * sem_ch7.adb: Remove duplicate comment.
3182
31832023-05-23 Javier Miranda <miranda@adacore.com>
3184
3185 * sem_ch10.adb
3186 (Analyze_Required_Limited_With_Units): New subprogram.
3187 (Depends_On_Limited_Views): New subprogram.
3188 (Has_Limited_With_Clauses): New subprogram.
3189 (Analyze_Compilation_Unit): Call the new subprogram that performs
3190 the full analysis of required limited-with units.
3191
c5300bf3
GA
31922023-05-22 Ronan Desplanques <desplanques@adacore.com>
3193
3194 * cstand.adb: Use more idiomatic procedure.
3195
31962023-05-22 Piotr Trojanek <trojanek@adacore.com>
3197
3198 * errout.adb (First_Loc): Avoid repeated calls.
3199 (Last_Loc): Likewise.
3200
32012023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3202
3203 * inline.adb (Cleanup_Scopes): Do not propagate the Uses_Sec_Stack
3204 flag from original to rewritten protected subprograms here...
3205 * exp_ch9.adb (Expand_N_Protected_Body) <N_Subprogram_Body>:
3206 ...but here instead. Add local variables and remove a useless
3207 test.
3208
32092023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3210
3211 * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get
3212 the entity of the body.
3213
32142023-05-22 Piotr Trojanek <trojanek@adacore.com>
3215
3216 * exp_attr.adb (Expand_Loop_Entry_Attribute): Use location of the
3217 attribute reference, not of the loop statement.
3218
32192023-05-22 Ronan Desplanques <desplanques@adacore.com>
3220
3221 * par-ch3.adb: Add missing word in comment.
3222
32232023-05-22 Justin Squirek <squirek@adacore.com>
3224
3225 * checks.adb (Install_Null_Excluding_Check): Avoid non-null
3226 optimizations when assertions are enabled.
3227
32282023-05-22 Marc Poulhiès <poulhies@adacore.com>
3229
3230 * exp_aggr.adb (Process_Transient_Component): Reset Analyzed flag
3231 for the copy of the initialization expression.
3232 * sem_attr.adb (Validate_Non_Static_Attribute_Function_Call): Skip
3233 error emission during Pre_Analyze.
3234
32352023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3236
3237 * exp_ch7.adb (Process_Package_Body): New procedure taken from...
3238 (Build_Finalizer.Process_Declarations): ...here. Call the above
3239 procedure to deal with both package bodies and package body stubs.
3240
32412023-05-22 Ronan Desplanques <desplanques@adacore.com>
3242
3243 * atree.ads: Remove outdated part of comment.
3244
32452023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3246
3247 * exp_ch7.adb (Build_Finalizer): Reverse the test comparing the
3248 instantiation and declaration nodes of a package instance, and
3249 therefore bail out only when they are equal. Adjust comments.
3250 (Expand_N_Package_Declaration): Do not clear the Finalizer field.
3251 * lib-writ.adb: Add with and use clauses for Sem_Util.
3252 (Write_Unit_Information): Look at unit nodes to find finalizers.
3253 * sem_ch12.adb (Analyze_Package_Instantiation): Beef up the comment
3254 about the rewriting of the instantiation node into a declaration.
3255
32562023-05-22 Bob Duff <duff@adacore.com>
3257
3258 * cstand.adb (Is_Past_Self_Hiding_Point): Rename to be
3259 Is_Not_Self_Hidden.
3260 * einfo.ads: Likewise.
3261 * exp_aggr.adb: Likewise.
3262 * gen_il-fields.ads: Likewise.
3263 * gen_il-gen-gen_entities.adb: Likewise.
3264 * sem.adb: Likewise.
3265 * sem_aggr.adb: Likewise.
3266 * sem_ch11.adb: Likewise.
3267 * sem_ch12.adb: Likewise.
3268 * sem_ch5.adb: Likewise.
3269 * sem_ch6.adb: Likewise.
3270 * sem_ch7.adb: Likewise.
3271 * sem_prag.adb: Likewise.
3272
32732023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3274
3275 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body
3276 as the expanded body of an expression function.
3277
32782023-05-22 Piotr Trojanek <trojanek@adacore.com>
3279
3280 * pprint.adb (Expression_Image): Handle several previously unsupported
3281 constructs.
3282
32832023-05-22 Piotr Trojanek <trojanek@adacore.com>
3284
3285 * sem_res.adb (Resolve_Entity_Name): Combine two IF statements that
3286 execute code only for references that come from source.
3287
32882023-05-22 Bob Duff <duff@adacore.com>
3289
3290 * einfo.ads (Is_Past_Self_Hiding_Point): Document.
3291 * gen_il-fields.ads (Is_Past_Self_Hiding_Point): Add to list of
3292 fields.
3293 * gen_il-gen-gen_entities.adb (Is_Past_Self_Hiding_Point): Declare
3294 in all entities.
3295 * exp_aggr.adb: Set Is_Past_Self_Hiding_Point as appropriate.
3296 * sem.adb: Likewise.
3297 * sem_aggr.adb: Likewise.
3298 * sem_ch11.adb: Likewise.
3299 * sem_ch12.adb: Likewise.
3300 * sem_ch5.adb: Likewise.
3301 * sem_ch7.adb: Likewise.
3302 * sem_prag.adb: Likewise.
3303 * sem_ch6.adb: Likewise.
3304 (Set_Formal_Mode): Minor cleanup: Move from spec.
3305 * sem_ch6.ads:
3306 (Set_Formal_Mode): Minor cleanup: Move to body.
3307 * cstand.adb: Call Set_Is_Past_Self_Hiding_Point on all entities
3308 as soon as they are created.
3309 * comperr.adb (Compiler_Abort): Minor cleanup -- use 'in' instead
3310 of 'or else'.
3311 * debug.adb: Minor comment cleanups.
3312
33132023-05-22 Steve Baird <baird@adacore.com>
3314
3315 * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
3316 Accept an executable pragma occuring in a declare expression as
3317 per AI22-0045. This means Assert and Inspection_Point pragmas as
3318 well as any implementation-defined pragmas that the implementation
3319 chooses to categorize as executable. Currently Assume and Debug
3320 are the only such pragmas.
3321
33222023-05-22 Piotr Trojanek <trojanek@adacore.com>
3323
3324 * sem_prag.adb
3325 (Check_Postcondition_Use_In_Inlined_Subprogram): Mention
3326 Subprogram_Variant in the comment.
3327 (Analyze_Subprogram_Variant_In_Decl_Part): Warn when contract is
3328 ignored because of pragma Inline_Always and frontend inlining.
3329
33302023-05-22 Piotr Trojanek <trojanek@adacore.com>
3331
3332 * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only
3333 emit warning when frontend inlining is enabled.
3334
33352023-05-22 Arnaud Charlet <charlet@adacore.com>
3336
3337 * par-ch3.adb, sem_ch4.adb (P_Discrete_Range, Analyze_Logical_Op,
3338 Analyze_Short_Circuit): Add calls to Check_Xtra_Parentheses.
3339 * par-ch5.adb (P_Condition): Move logic to Check_Xtra_Parentheses.
3340 * style.ads, styleg.adb, styleg.ads (Check_Xtra_Parens): Move logic
3341 related to expressions requiring parentheses here.
3342
33432023-05-22 Arnaud Charlet <charlet@adacore.com>
3344
3345 * ali-util.adb, par-endh.adb, par-prag.adb, par-ch2.adb,
3346 checks.adb, fmap.adb, libgnat/a-nbnbig.ads, libgnat/g-dynhta.adb,
3347 libgnat/s-carun8.adb, libgnat/s-strcom.adb, libgnat/a-dhfina.adb,
3348 libgnat/a-direct.adb, libgnat/a-rbtgbo.adb, libgnat/a-strsea.adb,
3349 libgnat/a-ststio.adb, libgnat/a-suenco.adb, libgnat/a-costso.adb,
3350 libgnat/a-strmap.adb, libgnat/g-alleve.adb,
3351 libgnat/g-debpoo.adb, libgnat/g-sercom__linux.adb,
3352 libgnat/s-genbig.adb, libgnat/s-mmap.adb, libgnat/s-regpat.adb,
3353 par-ch5.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb,
3354 sem_ch8.adb, sem_eval.adb, sem_prag.adb, sem_type.adb,
3355 exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb,
3356 exp_ch6.adb, exp_ch9.adb, exp_put_image.adb, freeze.adb, live.adb,
3357 sem_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch3.adb, sem_ch6.adb,
3358 sem_ch9.adb, sem_disp.adb, sem_elab.adb, sem_res.adb,
3359 sem_util.adb, sinput.adb, uintp.adb, bcheck.adb, binde.adb,
3360 binderr.adb, einfo-utils.adb, clean.adb, sem_ch4.adb, gnatls.adb,
3361 gprep.adb, sem_ch11.adb: Remove extra parentheses.
3362
33632023-05-22 Arnaud Charlet <charlet@adacore.com>
3364
3365 * sem_aggr.adb (Get_Value): Use ?? instead of ?.
3366
33672023-05-22 Piotr Trojanek <trojanek@adacore.com>
3368
3369 * exp_aggr.adb (Aggregate_Size): Remove redundant calls to
3370 Present.
3371 * exp_ch5.adb (Expand_N_If_Statement): Likewise.
3372 * sem_prag.adb (Analyze_Pragma): Likewise.
3373 * sem_warn.adb (Find_Var): Likewise.
3374
33752023-05-22 Claire Dross <dross@adacore.com>
3376
3377 * sem_util.adb (Find_Actual): On calls through dereferences,
3378 return the corresponding formal in the designated subprogram
3379 profile.
3380
33812023-05-22 Piotr Trojanek <trojanek@adacore.com>
3382
3383 * sem_util.ads (Is_Actual_Tagged_Parameter): Remove spec.
3384 * sem_util.adb (Is_Actual_Tagged_Parameter): Remove body.
3385
33862023-05-22 Joffrey Huguet <huguet@adacore.com>
3387
3388 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads
3389 (To_Unbounded_String): Add postcondition. Add aspect SPARK_Mode
3390 Off on the version that takes a Natural as parameter.
3391 (To_String): Complete postcondition.
3392 (Set_Unbounded_String): Add postcondition.
3393 (Element): Likewise.
3394 ("="): Likewise.
3395
33962023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3397
3398 * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address
3399 routine for a class-wide type if restriction No_Dispatching_Calls
3400 is in effect.
3401
34022023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3403
3404 * libgnat/s-genbig.ads (From_Bignum): New overloaded declarations.
3405 * libgnat/s-genbig.adb (LLLI): New subtype.
3406 (LLLI_Is_128): New boolean constant.
3407 (From_Bignum): Change the return type of the signed implementation
3408 to Long_Long_Long_Integer and add support for the case where its
3409 size is 128 bits. Add a wrapper around it for Long_Long_Integer.
3410 Add an unsigned implementation returning Unsigned_128 and a wrapper
3411 around it for Unsigned_64.
3412 (To_Bignum): Test LLLI_Is_128 instead of its size.
3413 (To_String.Image): Add qualification to calls to From_Bignum.
3414 * libgnat/a-nbnbin.adb (To_Big_Integer): Likewise.
3415 (Signed_Conversions.From_Big_Integer): Likewise.
3416 (Unsigned_Conversions): Likewise.
3417
34182023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3419
3420 * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec
3421 to copy the spec from the subprogram to the generated subprogram
3422 body.
3423 (Freeze_Entity): Do not wrap imported subprograms inside generics.
3424
34252023-05-22 Steve Baird <baird@adacore.com>
3426
3427 * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok):
3428 If Comes_From_Source (A) is False, then look at Original_Node (A)
3429 instead of A. In particular, if an (illegal) expression function
3430 is transformed into a "vanilla" function, we don't want to allow
3431 it just because Comes_From_Source is now False.
3432
34332023-05-22 Steve Baird <baird@adacore.com>
3434
3435 * sem_prag.adb (Analyze_Pragma): In Check_No_Return, call
3436 Error_Msg_Ada_2022_Feature in the case of a function. Remove code
3437 outside of Check_No_Return that was querying Ada_Version.
3438
34392023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3440
3441 * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do
3442 not look into nested blocks.
3443
34442023-05-22 Eric Botcazou <ebotcazou@adacore.com>
3445
3446 * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set
3447 the Scope of the type, and call Constrain_Array for array subtypes.
3448
34492023-05-22 Piotr Trojanek <trojanek@adacore.com>
3450
3451 * pprint.adb (Expression_Image): Reduce scope of local variables; inline
3452 local uncommented constant From_Source; concatenate string with a single
3453 character, as it is likely to execute faster; add missing cases to
3454 traversal for the rightmost node and assertion to demonstrate that the
3455 ??? comment is no longer relevant.
3456
34572023-05-22 Piotr Trojanek <trojanek@adacore.com>
3458
3459 * pprint.adb (Expr_Name): Qualify CASE expression with N_Subexpr; add
3460 missing alternative for N_Raise_Storage_Error; remove dead alternatives;
3461 explicitly list unsupported alternatives.
3462
34632023-05-22 Piotr Trojanek <trojanek@adacore.com>
3464
3465 * pprint.adb (Expr_Name): Exclude DEL from printable range.
3466
34672023-05-22 Piotr Trojanek <trojanek@adacore.com>
3468
3469 * sem_util.ads (New_Copy_Tree): Update comment.
3470 * sem_util.adb (New_Copy_Tree): Update Controlling_Argument, very
3471 much like we update the First/Next_Named_Association.
3472
34732023-05-22 Bob Duff <duff@adacore.com>
3474
3475 * fe.h: Remove Ada_With_Extensions and add commentary.
3476 * opt.ads: Rearrange code and add commentary.
3477
34782023-05-22 Bob Duff <duff@adacore.com>
3479
3480 * sem_util.adb (Process_Type): Stop the recursion.
3481 * exp_aggr.adb (Build_Record_Aggr_Code): Add assertion.
3482
b2776076
GA
34832023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3484
3485 * gcc-interface/decl.cc (gnat_to_gnu_entity): Use _P defines
3486 from tree.h.
3487 (constructor_address_p): Ditto.
3488 (elaborate_expression_1): Ditto.
3489 * gcc-interface/trans.cc (Identifier_to_gnu): Ditto.
3490 (is_nrv_p): Ditto.
3491 (Subprogram_Body_to_gnu): Ditto.
3492 (gnat_to_gnu): Ditto.
3493 (gnat_to_gnu_external): Ditto.
3494 (add_decl_expr): Ditto.
3495 (gnat_gimplify_expr): Ditto.
3496 * gcc-interface/utils.cc (create_var_decl): Ditto.
3497 * gcc-interface/utils2.cc (get_base_type): Ditto.
3498 (build_binary_op): Ditto.
3499 (build_unary_op): Ditto.
3500 (gnat_protect_expr): Ditto.
3501 (gnat_invariant_expr): Ditto.
3502
0d566057
GA
35032023-05-16 Steve Baird <baird@adacore.com>
3504
3505 * usage.adb: Generate output text describing the -gnatw_s switch
3506 (and the corresponding -gnatw_S switch).
3507
35082023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3509
3510 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Reduce>:
3511 Use the canonical accumulator type as the type of the accumulator
3512 in the prefixed case.
3513
35142023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3515
3516 * exp_aggr.adb (Expand_Array_Aggregate): Do not set Warnings_Off on
3517 the temporary created when in-place expansion is not possible.
3518
35192023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3520
3521 * freeze.adb (Freeze_Expression): When the freezing is to be done
3522 outside the current scope, skip any scope that is an internal loop.
3523
35242023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3525
3526 * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component
3527 that depends on a discriminant, create an actual subtype for it.
3528
35292023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3530
3531 * sem_ch13.adb: Add with and use clauses for Expander.
3532 (Resolve_Aspect_Expressions) <Aspect_Predicate>: Emulate a
3533 bona-fide preanalysis setup before calling
3534 Resolve_Aspect_Expression.
3535
35362023-05-16 Yannick Moy <moy@adacore.com>
3537
3538 * libgnat/s-aridou.adb (Lemma_Div_Pow2): Add assertion.
3539 * libgnat/s-arit32.adb (Lemma_Abs_Div_Commutation): Simplify.
3540 * libgnat/s-expmod.adb (Lemma_Exp_Mod): Add assertions.
3541 (Lemma_Euclidean_Mod): Add body to lemma.
3542 (Lemma_Mult_Mod): Add assertion.
3543 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Modify assertion.
3544 * libgnat/s-vauspe.ads (Raw_Unsigned_Last_Ghost): Add
3545 postcondition.
3546 * libgnat/s-widthi.adb: Use more precise types.
3547
35482023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3549
3550 * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the
3551 same processing for derived untagged types as for tagged types.
3552 * sem_util.ads (Corresponding_Primitive_Op): Adjust description.
3553 * sem_util.adb (Corresponding_Primitive_Op): Handle untagged
3554 types.
3555
35562023-05-16 Javier Miranda <miranda@adacore.com>
3557
3558 * sem_attr.adb
3559 (Analyze_Attribute_Old_Result): When preanalyzing a class-wide
3560 condition, search in the scopes stack for the subprogram that has
3561 the condition. This is required because returning the current
3562 scope causes reporting spurious errors when the occurrence of the
3563 attribute is found, for example, in a quantified expression.
3564
35652023-05-16 Javier Miranda <miranda@adacore.com>
3566
3567 * exp_ch6.adb
3568 (Needs_BIP_Alloc_Form): Return False for functions with foreign
3569 convention since we never use build-in-place for such functions.
3570
35712023-05-16 Piotr Trojanek <trojanek@adacore.com>
3572
3573 * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early
3574 when preanalysing in GNATprove mode. Now the condition is
3575 consistent with other similar conditions in other code.
3576
35772023-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
3578
3579 * usage.adb (Usage): Document -gnatyD.
3580
35812023-05-16 Marc Poulhiès <poulhies@adacore.com>
3582
3583 * libgnat/s-tsmona__linux.adb (link_map, r_debug_type): Add
3584 'aliased' on all components.
3585
35862023-05-16 Johannes Kliemann <kliemann@adacore.com>
3587
3588 * libgnat/system-linux-ppc.ads: Add Support_Atomic_Primitives.
3589 * libgnat/s-atopri__32.ads: Add 32 bit version of s-atopri.ads.
3590 * Makefile.rtl: Use s-atopro__32.ads for ppc-linux.
3591
35922023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3593
3594 * sem_util.adb (Get_Actual_Subtype): For an explicit dereference,
3595 return the Actual_Designated_Subtype if it is present.
3596 (Get_Actual_Subtype_If_Available): Likewise.
3597
35982023-05-16 Arnaud Charlet <charlet@adacore.com>
3599
3600 * errout.ads: Update comment.
3601 * errout.adb (Skip_Msg_Insertion_Warning): Update to take e.g.
3602 -gnatyM into account.
3603 * erroutc.adb (Get_Warning_Option, Get_Warning_Tag)
3604 (Prescan_Message): Add support for Style tags.
3605 * par-ch5.adb, par-ch6.adb, par-ch7.adb, par-endh.adb,
3606 par-util.adb, style.adb, styleg.adb: Set tag on all style
3607 messages.
3608
36092023-05-16 Tom Tromey <tromey@adacore.com>
3610
3611 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
3612 (Switches_for_gnatbind): Fix typo.
3613 * libgnat/g-spipat.ads: Fix typo.
3614 * gnat_ugn.texi: Regenerate.
3615
36162023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3617
3618 * exp_aggr.adb (Build_Assignment_With_Temporary): Adjust comment
3619 and fix type of second parameter. Create the temporary on the
3620 secondary stack by calling Build_Temporary_On_Secondary_Stack.
3621 (Convert_Array_Aggr_In_Allocator): Adjust formatting.
3622 (Expand_Array_Aggregate): Likewise.
3623 * exp_ch4.adb (Expand_N_Allocator): Set Actual_Designated_Subtype
3624 on the dereference in the initialization for all composite types.
3625 * exp_ch5.adb (Expand_N_Assignment_Statement): Create a temporary
3626 on the host for an assignment between nonnative storage models.
3627 Suppress more checks when Suppress_Assignment_Checks is set.
3628 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Deal with actuals
3629 that are dereferences with an Actual_Designated_Subtype. Add
3630 support for nonnative storage models.
3631 (Expand_Actuals): Create a copy if the actual is a dereference
3632 with a nonnative storage model.
3633 * exp_util.ads (Build_Temporary_On_Secondary_Stack): Declare.
3634 * exp_util.adb (Build_Temporary_On_Secondary_Stack): New function.
3635 * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Do not
3636 build an actual subtype for dereferences with an
3637 Actual_Designated_Subtype
3638 * sinfo.ads (Actual_Designated_Subtype): Adjust documentation.
3639 (Suppress_Assignment_Checks): Likewise.
3640
36412023-05-16 Piotr Trojanek <trojanek@adacore.com>
3642
3643 * exp_spark.adb (SPARK_Freeze_Type): Copy whole handling of DIC
3644 and Type_Invariant from Freeze_Type.
3645
36462023-05-16 Richard Kenner <kenner@adacore.com>
3647
3648 * sem_util.adb (Subprogram_Name): If what's passed is already an
3649 entity, use that for the name.
3650
36512023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3652
3653 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
3654 (No_Dependence): Give examples of new No_Dependence restrictions.
3655 * gnat_rm.texi: Regenerate.
3656
36572023-05-16 Arnaud Charlet <charlet@adacore.com>
3658
3659 * snames.ads-tmpl (Name_ASCII): New.
3660 * style.adb (Check_Identifier): Fix handling of ASCII.
3661
36622023-05-16 Eric Botcazou <ebotcazou@adacore.com>
3663
3664 * gen_il-fields.ads (Opt_Field_Enum): Add Cannot_Be_Superflat.
3665 * gen_il-gen-gen_nodes.adb (N_Range): Add Cannot_Be_Superflat as
3666 semantical flag and change Includes_Infinities to semantical.
3667 * sinfo.ads (Cannot_Be_Superflat): Document it for N_Range.
3668 * exp_ch4.adb (Expand_Concatenate): Set Cannot_Be_Superflat on the
3669 range of the result if the result cannot be null.
3670
36712023-05-16 Richard Kenner <kenner@adacore.com>
3672
3673 * gen_il-gen-gen_nodes.adb (Present_Expr): Type is now Uint.
3674
36752023-05-16 Yannick Moy <moy@adacore.com>
3676
3677 * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition)
3678 (Is_Scaled_Mult_Decomposition): Add annotation for inlining.
3679 (Double_Divide, Scaled_Divide): Simplify and remove ghost code.
3680 (Prove_Multiplication): Add calls to lemmas to make proof go
3681 through.
3682 * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation
3683 for inlining.
3684
36852023-05-16 Yannick Moy <moy@adacore.com>
3686
3687 * libgnat/a-strsup.adb: Add intermediate assertions.
3688
36892023-05-16 Arnaud Charlet <charlet@adacore.com>
3690
3691 * gnat1drv.adb: Ensure all dependencies are recorded even when not
3692 generating code.
3693
36942023-05-16 Yannick Moy <moy@adacore.com>
3695
3696 * libgnat/a-strsup.adb: Set assertion policy for Loop_Variant.
3697
36982023-05-16 Marc Poulhiès <poulhies@adacore.com>
3699
3700 * sem_ch12.adb (Instantiate_Package_Body): Simplify if/then/else.
3701 (Instantiate_Subprogram_Body): Likewise.
3702
37032023-05-16 Yannick Moy <moy@adacore.com>
3704
3705 * libgnat/s-aridou.adb:
3706 (Big3): Remove override made useless.
3707 (Lemma_Quot_Rem): Add new lemma and justify it, as no prover
3708 manages to prove it.
3709 (Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem.
3710 (Prove_Scaled_Mult_Decomposition_Regroup3): Retype for
3711 simplification.
3712 (Scaled_Divide): Remove useless assertions.Decompose some
3713 assertions with cut operations. Use Assert_And_Cut for second
3714 half. Add assertions.
3715
3427b51b
GA
37162023-05-15 Marc Poulhiès <poulhies@adacore.com>
3717
3718 * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
3719
37202023-05-15 Yannick Moy <moy@adacore.com>
3721
3722 * libgnat/a-strbou.ads: Add justifications for Mapping.
3723 * libgnat/a-strfix.adb: Same.
3724 * libgnat/a-strfix.ads: Same.
3725 * libgnat/a-strsea.adb: Same.
3726 * libgnat/a-strsea.ads: Same.
3727 * libgnat/a-strsup.adb: Same and add loop variants.
3728 * libgnat/a-strsup.ads: Same and add specification of termination.
3729
37302023-05-15 Yannick Moy <moy@adacore.com>
3731
3732 * libgnat/a-strsup.adb (Super_Slice): Reorder component assignment
3733 to avoid failing predicate check related to initialization.
3734 * libgnat/s-expmod.adb (Exp_Modular): Add intermediate assertion.
3735
37362023-05-15 Yannick Moy <moy@adacore.com>
3737
3738 * libgnat/i-c.adb: Add loop variants. Remove useless
3739 initialization.
3740
37412023-05-15 Bob Duff <duff@adacore.com>
3742
3743 * einfo-utils.ads: Remove comment.
3744
37452023-05-15 Bob Duff <duff@adacore.com>
3746
3747 * einfo-utils.ads, einfo-utils.adb: Get rid of the Proc_Next_...
3748 procedures. Use Inline aspect instead of pragma Inline.
3749 Is_Discrete_Or_Fixed_Point_Type did not have pragma Inline, but
3750 now has the aspect; this was probably an oversight
3751 (which illustrates why aspects are better).
3752
37532023-05-15 Ronan Desplanques <desplanques@adacore.com>
3754
3755 * doc/gnat_ugn/gnat_utility_programs.rst: Fix formatting
3756 inconsistency.
3757
37582023-05-15 Bob Duff <duff@adacore.com>
3759
3760 * einfo-utils.adb:
3761 (Proc_Next_Component_Or_Discriminant): Call
3762 Next_Component_Or_Discriminant.
3763
37642023-05-15 Bob Duff <duff@adacore.com>
3765
3766 * einfo.ads:
3767 (First_Entity): Update comment explaining why this exists on all
3768 [sub]types, as opposed to just the ones with associated entities.
3769
37702023-05-15 Bob Duff <duff@adacore.com>
3771
3772 * atree.adb
3773 (Check_Vanishing_Fields): Disable the check for "root/base type
3774 only" fields. This is a bug fix -- if we're checking some subtype
3775 S, we don't want to reach over to the root or base type and
3776 Reinit_Field_To_Zero of that, thus modifying the field for lots of
3777 subtypes other than S. Disable in the to/from E_Void cases. Misc
3778 cleanup.
3779 * gen_il-gen-gen_entities.adb: Define First_Entity, Last_Entity,
3780 and Stored_Constraint for all type entities, because there are too
3781 many cases where Reinit_Field_To_Zero would otherwise be needed.
3782 In any case, it seems cleaner to have First_Entity and Last_Entity
3783 defined in the same entity kinds.
3784 * einfo.ads:
3785 (First_Entity, Last_Entity, Stored_Constraint): Update comments to
3786 reflect gen_il-gen-gen_entities.adb changes.
3787 (Lit_Hash): Add missing "[root type only]" comment.
3788 * exp_ch5.adb: Add Reinit_Field_To_Zero calls for vanishing
3789 fields.
3790 * sem_ch10.adb: Likewise.
3791 * sem_ch6.adb: Likewise.
3792 * sem_ch7.adb: Likewise.
3793 * sem_ch8.adb: Likewise.
3794 * sem_ch3.adb: Likewise. Also remove now-unnecessary
3795 Reinit_Field_To_Zero calls.
3796
37972023-05-15 Eric Botcazou <ebotcazou@adacore.com>
3798
3799 * sem_ch7.adb (Hide_Public_Entities): Use the same condition for
3800 subprogram bodies without specification as for those with one.
3801
38022023-05-15 Piotr Trojanek <trojanek@adacore.com>
3803
3804 * sem_util.adb (New_Copy_Tree): Remove redundant calls to Present.
3805
38062023-05-15 Ronan Desplanques <desplanques@adacore.com>
3807
3808 * sem_ch8.adb (End_Scope): Simplify lookup of predecessor in
3809 homonym chain.
3810
38112023-05-15 Piotr Trojanek <trojanek@adacore.com>
3812
3813 * sem_aggr.adb (Resolve_Aggregate): Accept aggregates with OTHERS
3814 appearing inside unchecked conversions.
3815
38162023-05-15 Steve Baird <baird@adacore.com>
3817
3818 * warnsw.ads: Add a new element,
3819 Warn_On_Ineffective_Predicate_Test, to the Opt_Warnings_Enum
3820 enumeration type.
3821 * warnsw.adb: Bind "-gnatw_s" to the new
3822 Warn_On_Ineffective_Predicate_Test switch. Add the new switch to
3823 the set of switches enabled by -gnata .
3824 * sem_ch13.adb
3825 (Build_Discrete_Static_Predicate): Declare new local procedure,
3826 Warn_If_Test_Ineffective, which conditionally generates new
3827 warning. Call this new procedure when building a new element of an
3828 RList.
3829 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
3830 Document the -gnatw_s switch (and the corresponding -gnatw_S
3831 switch).
3832 * gnat_ugn.texi: Regenerate.
3833
38342023-05-15 Yannick Moy <moy@adacore.com>
3835
3836 * sem_attr.adb: Update comment referring to rule number.
3837
38382023-05-15 Ronan Desplanques <desplanques@adacore.com>
3839
3840 * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten
3841 validity check for task types.
3842
38432023-05-15 Ronan Desplanques <desplanques@adacore.com>
3844
3845 * doc/gnat_rm/implementation_defined_characteristics.rst: Fix
3846 minor documentation formatting issue.
3847 * gnat_rm.texi: Regenerate.
3848 * gnat_ugn.texi: Regenerate.
3849
38502023-05-15 Bob Duff <duff@adacore.com>
3851
3852 * exp_ch4.adb
3853 (Expand_N_Op_Expon): Remove the too-big check. Simplify. Signed
3854 and modular cases are combined, etc. Remove code with comment "We
3855 only handle cases where the right type is a[sic] integer", because
3856 the right operand must always be an integer at this point.
3857
38582023-05-15 Bob Duff <duff@adacore.com>
3859
3860 * sem_attr.adb
3861 (Analyze_Attribute): Add a call to Check_Error_Detected.
3862
38632023-05-15 Yannick Moy <moy@adacore.com>
3864
3865 * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to
3866 expression in pragma association.
3867
38682023-05-15 Eric Botcazou <ebotcazou@adacore.com>
3869
3870 * repinfo.ads (JSON output format): Document special case of
3871 Present member of a Variant object.
3872 * repinfo.adb (List_Structural_Record_Layout): Change the type of
3873 Ext_Level parameter to Integer. Restrict the first recursion with
3874 increasing levels to the fixed part and implement a second
3875 recursion with decreasing levels for the variant part. Deal with
3876 an extension of a type with unknown discriminants.
3877
38782023-05-15 Claire Dross <dross@adacore.com>
3879
3880 * libgnat/s-valueu.adb: Use cut operations inside assertion to
3881 restore proofs
3882 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-spark and
3883 s-spcuop dependencies.
3884
38852023-05-15 Yannick Moy <moy@adacore.com>
3886
3887 * sem_prag.adb (Check_Grouping): Allow Annotate pragmas between
3888 loop pragmas.
3889
38902023-05-15 Javier Miranda <miranda@adacore.com>
3891
3892 * doc/gnat_rm/implementation_defined_pragmas.rst
3893 (Extensions_Allowed): Document string interpolation.
3894 * gnat_rm.texi: Regenerate.
3895 * gnat_ugn.texi: Regenerate.
3896
38972023-05-15 Joel Brobecker <brobecker@adacore.com>
3898
3899 * doc/gnat_ugn/platform_specific_information.rst
3900 (_PIE_Enabled_By_Default_On_Linux): New section.
3901 * gnat-style.texi: Regenerate.
3902 * gnat_ugn.texi: Regenerate.
3903
39042023-05-15 Javier Miranda <miranda@adacore.com>
3905
3906 * exp_disp.adb
3907 (Has_Dispatching_Constructor_Call): New subprogram.
3908 (Expand_Interface_Conversion): No need to perform dynamic
3909 interface conversion when the operand and the target type are
3910 interface types and the target interface type is an ancestor of
3911 the operand type. The unique exception to this rule is when the
3912 operand has a dispatching constructor call (as documented in the
3913 sources).
3914
39152023-05-15 Piotr Trojanek <trojanek@adacore.com>
3916
3917 * sem_attr.adb (Analyze_Attribute): Reject attribute Initialized
3918 on unchecked unions; fix grammar in comment.
3919
39202023-05-15 Ronan Desplanques <desplanques@adacore.com>
3921
3922 * sem_ch13.adb (Validate_Unchecked_Conversion): Fix behavior on
3923 System.Address to access to subprogram subtype conversion.
3924
39252023-05-15 Piotr Trojanek <trojanek@adacore.com>
3926
3927 * atree.ads
3928 (Is_Syntactic_Node): Refactored from New_Copy_Tree.
3929 * atree.adb
3930 (Is_Syntactic_Node): Likewise.
3931 (Copy_Separate_Tree): Use Is_Syntactic_Node.
3932 * sem_util.adb
3933 (Has_More_Ids): Move to Atree.
3934 (Is_Syntactic_Node): Likewise.
3935
d5cd3ead
GA
39362023-04-18 Jin Ma <jinma@linux.alibaba.com>
3937
758d916c 3938 * gcc-interface/utils.cc (unchecked_convert): Fix typo.
d5cd3ead 3939
56b288f5
GA
39402023-04-17 Martin Liska <mliska@suse.cz>
3941
3942 * gnatvsn.ads: Bump Library_Version to 14.
3943
55085c7e
GA
39442023-04-15 Eric Botcazou <ebotcazou@adacore.com>
3945
3946 PR bootstrap/109510
3947 * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Do not reset
3948 align to zero in any case. Set TYPE_USER_ALIGN on the type only if
3949 it is an aggregate type, or else a type whose default alignment is
3950 specifically capped on selected platforms.
3951
1aee19f9
GA
39522023-04-14 Eric Botcazou <ebotcazou@adacore.com>
3953
3954 PR bootstrap/109510
3955 * gcc-interface/decl.cc (gnat_to_gnu_entity) <types>: Reset align
3956 to zero if its value is equal to TYPE_ALIGN and the type is scalar.
3957 Set TYPE_USER_ALIGN on the type only if align is positive.
3958
3dd4ada4
GA
39592023-03-06 Javier Miranda <miranda@adacore.com>
3960
3961 PR ada/108858
3962 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For functions with
3963 separate spec, if their return type was visible through a limited-
3964 with context clause, their extra formals were not added when the
3965 spec was analyzed. Now the full view must be available, and the
3966 extra formals can be created and Returns_By_Ref computed.
3967
39682023-03-06 Eric Botcazou <ebotcazou@adacore.com>
3969
3970 PR ada/108909
3971 PR ada/108983
3972 * Make-generated.in: Do not use GNATMAKE.
3973 * gcc-interface/Makefile.in: Ditto.
3974
2cd665b1
GA
39752023-02-26 Peter Foley <pefoley2@pefoley.com>
3976
3977 PR ada/108909
3978 * Make-generated.in: Use GNATMAKE.
3979 * gcc-interface/Makefile.in: Ditto.
3980
05467d08
GA
39812023-02-14 Eric Botcazou <ebotcazou@adacore.com>
3982
3983 * gcc-interface/trans.cc (gnat_gimplify_expr): Add missing guard.
3984
39852023-02-14 Dongsheng Song <dongsheng.song@gmail.com>
3986
3987 * adaint.c [Linux]: Include <features.h>.
3988 (__gnat_get_executable_load_address) [Linux]: Enable only for
3989 glibc and uClibc.
3990
f457a62e
GA
39912023-01-16 Marc Poulhiès <poulhies@adacore.com>
3992
3993 * gcc-interface/Make-lang.in: Update copyright years.
3994 * gcc-interface/Makefile.in: Likewise.
3995 * gcc-interface/ada-builtin-types.def: Likewise.
3996 * gcc-interface/ada-builtins.def: Likewise.
3997 * gcc-interface/ada-tree.def: Likewise.
3998 * gcc-interface/ada-tree.h: Likewise.
3999 * gcc-interface/ada.h: Likewise.
4000 * gcc-interface/config-lang.in: Likewise.
4001 * gcc-interface/cuintp.cc: Likewise.
4002 * gcc-interface/decl.cc: Likewise.
4003 * gcc-interface/gadaint.h: Likewise.
4004 * gcc-interface/gigi.h: Likewise.
4005 * gcc-interface/lang-specs.h: Likewise.
4006 * gcc-interface/lang.opt: Likewise.
4007 * gcc-interface/misc.cc: Likewise.
4008 * gcc-interface/system.ads: Likewise.
4009 * gcc-interface/targtyps.cc: Likewise.
4010 * gcc-interface/trans.cc: Likewise.
4011 * gcc-interface/utils.cc: Likewise.
4012 * gcc-interface/utils2.cc: Likewise.
4013
40142023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4015
4016 * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment.
4017
40182023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4019
4020 * exp_ch3.adb (Make_Allocator_For_Return): Convert the expression
4021 to the return object's type in the constrained array case as well.
4022
40232023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4024
4025 * exp_ch3.adb (Expand_N_Object_Declaration): For a class-wide non-
4026 interface stand-alone object initialized by a function call, call
4027 Remove_Side_Effects on the expression to capture the result.
4028
40292023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4030
4031 * exp_util.ads (Has_Tag_Of_Type): Declare.
4032 * exp_util.adb (Has_Tag_Of_Type): Move to package level. Recurse on
4033 qualified expressions.
4034 * exp_ch3.adb (Expand_N_Object_Declaration): Use a static reference
4035 to the interface tag in more cases for class-wide interface objects.
4036
40372023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4038
4039 * exp_util.adb (Make_CW_Equivalent_Type.Has_Tag_Of_Type): Fix pasto.
4040
40412023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4042
4043 * exp_util.adb (Is_Temporary_For_Interface_Object): Delete.
4044 (Is_Finalizable_Transient.Is_Aliased): Deal with the specific case
4045 of temporaries generated for interface objects.
4046
40472023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4048
4049 * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a back-
4050 and-forth displacement of the object's address when using a renaming
4051 for an interface object with an expression of the same type.
4052 * exp_ch4.adb (Expand_Allocator_Expression): Do not remove the side
4053 effects of the expression up front for the simple allocators. Do not
4054 call the Adjust primitive if the expression is a function call.
4055 * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not expand the call
4056 unnecessarily for a special return object.
4057 (Expand_Simple_Function_Return): Restore the displacement of the
4058 return object's address in the case where the expression is the call
4059 to a function whose result type is a type that needs finalization.
4060 * exp_util.adb (Expand_Subtype_From_Expr): Do not remove the side
4061 effects of the expression before calling Make_Subtype_From_Expr.
4062 (Make_CW_Equivalent_Type): If the expression has the tag of its type
4063 and this type has a uniform size, use 'Object_Size of this type in
4064 lieu of 'Size of the expression to compute the expression's size.
4065
40662023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4067
4068 * exp_ch3.adb (Make_Allocator_For_Return): Put back an interface
4069 conversion for expressions with non-interface class-wide type.
4070
40712023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4072
4073 * exp_ch3.adb (Expand_N_Object_Declaration): Also optimize aliased
4074 objects if their nominal subtype is not an unconstrained array.
4075
40762023-01-16 Eric Botcazou <ebotcazou@adacore.com>
4077
4078 * exp_ch3.adb (Expand_N_Object_Declaration): Factor out conditions
4079 needed for an initializating expression that is a function call to
4080 be renamable into the Is_Renamable_Function_Call predicate.
4081 Use it to implement the renaming in the case of class-wide interface
4082 objects. Remove an interface conversion on all paths, separate and
4083 optimize the renaming path in the special expansion for interfaces.
4084 (Is_Renamable_Function_Call): New predicate.
4085 (Make_Allocator_For_Return): Put back an interface conversion.
4086 * exp_ch6.adb (Apply_CW_Accessibility_Check): Remove useless access
4087 checks on RE_Tag_Ptr.
4088
84723aca
GA
40892023-01-09 Arnaud Charlet <charlet@adacore.com>
4090
4091 * accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year.
4092 * adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise.
4093 * adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise.
4094 * ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise.
4095 * aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise.
4096 * aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise.
4097 * backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise.
4098 * binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise.
4099 * bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise.
4100 * bindo-builders.ads, bindo-diagnostics.adb: Likewise.
4101 * bindo-diagnostics.ads, bindo-elaborators.adb: Likewise.
4102 * bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise.
4103 * bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise.
4104 * bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise.
4105 * bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise.
4106 * butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise.
4107 * checks.ads, cio.c, clean.adb, clean.ads: Likewise.
4108 * comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise.
4109 * csets.adb, csets.ads, cstand.adb: Likewise.
4110 * cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise.
4111 * debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise.
4112 * einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise.
4113 * env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise.
4114 * erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise.
4115 * eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise.
4116 * exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise.
4117 * exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise.
4118 * exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise.
4119 * exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise.
4120 * exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise.
4121 * exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise.
4122 * exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise.
4123 * exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise.
4124 * exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise.
4125 * exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise.
4126 * exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise.
4127 * exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise.
4128 * exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise.
4129 * exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise.
4130 * exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise.
4131 * exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise.
4132 * final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise.
4133 * fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise.
4134 * freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise.
4135 * gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise.
4136 * gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise.
4137 * gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise.
4138 * gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise.
4139 * get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise.
4140 * gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise.
4141 * gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise.
4142 * gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise.
4143 * gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise.
4144 * gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise.
4145 * gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise.
4146 * gprep.adb, gprep.ads, gsocket.h: Likewise.
4147 * hostparm.ads: Likewise.
4148 * impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise.
4149 * indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise.
4150 * initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise.
4151 * krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise.
4152 * lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise.
4153 * lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise.
4154 * lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise.
4155 * lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise.
4156 * libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise.
4157 * libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise.
4158 * libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise.
4159 * libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise.
4160 * libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise.
4161 * libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise.
4162 * libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise.
4163 * libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise.
4164 * libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise.
4165 * libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise.
4166 * libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise.
4167 * libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise.
4168 * libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise.
4169 * libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise.
4170 * libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise.
4171 * libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise.
4172 * libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise.
4173 * libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise.
4174 * libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise.
4175 * libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise.
4176 * libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise.
4177 * libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise.
4178 * libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise.
4179 * libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise.
4180 * libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise.
4181 * libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise.
4182 * libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise.
4183 * libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise.
4184 * libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise.
4185 * libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise.
4186 * libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise.
4187 * libgnarl/s-interr__sigaction.adb: Likewise.
4188 * libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise.
4189 * libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise.
4190 * libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise.
4191 * libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise.
4192 * libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise.
4193 * libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise.
4194 * libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise.
4195 * libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise.
4196 * libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise.
4197 * libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise.
4198 * libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise.
4199 * libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise.
4200 * libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise.
4201 * libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise.
4202 * libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise.
4203 * libgnarl/s-osinte__dragonfly.adb: Likewise.
4204 * libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise.
4205 * libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise.
4206 * libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise.
4207 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
4208 * libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise.
4209 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
4210 * libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise.
4211 * libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise.
4212 * libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise.
4213 * libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise.
4214 * libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise.
4215 * libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise.
4216 * libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise.
4217 * libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise.
4218 * libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise.
4219 * libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise.
4220 * libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise.
4221 * libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise.
4222 * libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise.
4223 * libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise.
4224 * libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise.
4225 * libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise.
4226 * libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise.
4227 * libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise.
4228 * libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise.
4229 * libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise.
4230 * libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise.
4231 * libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise.
4232 * libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise.
4233 * libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise.
4234 * libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise.
4235 * libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise.
4236 * libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise.
4237 * libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise.
4238 * libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise.
4239 * libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise.
4240 * libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise.
4241 * libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise.
4242 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
4243 * libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise.
4244 * libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise.
4245 * libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise.
4246 * libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise.
4247 * libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise.
4248 * libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise.
4249 * libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise.
4250 * libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise.
4251 * libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise.
4252 * libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise.
4253 * libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise.
4254 * libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise.
4255 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
4256 * libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise.
4257 * libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
4258 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
4259 * libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise.
4260 * libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise.
4261 * libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise.
4262 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
4263 * libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise.
4264 * libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise.
4265 * libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise.
4266 * libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise.
4267 * libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise.
4268 * libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise.
4269 * libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise.
4270 * libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise.
4271 * libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise.
4272 * libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise.
4273 * libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise.
4274 * libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise.
4275 * libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise.
4276 * libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise.
4277 * libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise.
4278 * libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise.
4279 * libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise.
4280 * libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise.
4281 * libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise.
4282 * libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise.
4283 * libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise.
4284 * libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise.
4285 * libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise.
4286 * libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise.
4287 * libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise.
4288 * libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise.
4289 * libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise.
4290 * libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise.
4291 * libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise.
4292 * libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise.
4293 * libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise.
4294 * libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise.
4295 * libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise.
4296 * libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise.
4297 * libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise.
4298 * libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise.
4299 * libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise.
4300 * libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise.
4301 * libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise.
4302 * libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise.
4303 * libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise.
4304 * libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise.
4305 * libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise.
4306 * libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise.
4307 * libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise.
4308 * libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise.
4309 * libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise.
4310 * libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise.
4311 * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise.
4312 * libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise.
4313 * libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise.
4314 * libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise.
4315 * libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise.
4316 * libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise.
4317 * libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise.
4318 * libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise.
4319 * libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise.
4320 * libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise.
4321 * libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise.
4322 * libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise.
4323 * libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise.
4324 * libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise.
4325 * libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise.
4326 * libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise.
4327 * libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise.
4328 * libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise.
4329 * libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise.
4330 * libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise.
4331 * libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise.
4332 * libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise.
4333 * libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise.
4334 * libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise.
4335 * libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise.
4336 * libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise.
4337 * libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise.
4338 * libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise.
4339 * libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise.
4340 * libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise.
4341 * libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise.
4342 * libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise.
4343 * libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise.
4344 * libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise.
4345 * libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise.
4346 * libgnat/a-excach.adb, libgnat/a-except.adb: Likewise.
4347 * libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise.
4348 * libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise.
4349 * libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise.
4350 * libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise.
4351 * libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise.
4352 * libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise.
4353 * libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise.
4354 * libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise.
4355 * libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise.
4356 * libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise.
4357 * libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise.
4358 * libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise.
4359 * libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise.
4360 * libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise.
4361 * libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise.
4362 * libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise.
4363 * libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise.
4364 * libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise.
4365 * libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise.
4366 * libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise.
4367 * libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise.
4368 * libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise.
4369 * libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise.
4370 * libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise.
4371 * libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise.
4372 * libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise.
4373 * libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise.
4374 * libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise.
4375 * libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise.
4376 * libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise.
4377 * libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise.
4378 * libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise.
4379 * libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise.
4380 * libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise.
4381 * libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise.
4382 * libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise.
4383 * libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise.
4384 * libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise.
4385 * libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise.
4386 * libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise.
4387 * libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise.
4388 * libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise.
4389 * libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise.
4390 * libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise.
4391 * libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise.
4392 * libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise.
4393 * libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise.
4394 * libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise.
4395 * libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise.
4396 * libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise.
4397 * libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise.
4398 * libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise.
4399 * libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise.
4400 * libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise.
4401 * libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise.
4402 * libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise.
4403 * libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise.
4404 * libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise.
4405 * libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise.
4406 * libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise.
4407 * libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise.
4408 * libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise.
4409 * libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise.
4410 * libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise.
4411 * libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise.
4412 * libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise.
4413 * libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise.
4414 * libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise.
4415 * libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise.
4416 * libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise.
4417 * libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise.
4418 * libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise.
4419 * libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise.
4420 * libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise.
4421 * libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise.
4422 * libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise.
4423 * libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise.
4424 * libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise.
4425 * libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise.
4426 * libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise.
4427 * libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise.
4428 * libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise.
4429 * libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise.
4430 * libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise.
4431 * libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise.
4432 * libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise.
4433 * libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise.
4434 * libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise.
4435 * libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise.
4436 * libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise.
4437 * libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise.
4438 * libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise.
4439 * libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise.
4440 * libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise.
4441 * libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise.
4442 * libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise.
4443 * libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise.
4444 * libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise.
4445 * libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise.
4446 * libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise.
4447 * libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise.
4448 * libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise.
4449 * libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise.
4450 * libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise.
4451 * libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise.
4452 * libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise.
4453 * libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise.
4454 * libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise.
4455 * libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise.
4456 * libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise.
4457 * libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise.
4458 * libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise.
4459 * libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise.
4460 * libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise.
4461 * libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise.
4462 * libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise.
4463 * libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise.
4464 * libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise.
4465 * libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise.
4466 * libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise.
4467 * libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise.
4468 * libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise.
4469 * libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise.
4470 * libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise.
4471 * libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise.
4472 * libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise.
4473 * libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise.
4474 * libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise.
4475 * libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise.
4476 * libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise.
4477 * libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise.
4478 * libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise.
4479 * libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise.
4480 * libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise.
4481 * libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise.
4482 * libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise.
4483 * libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise.
4484 * libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise.
4485 * libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise.
4486 * libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise.
4487 * libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise.
4488 * libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise.
4489 * libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise.
4490 * libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise.
4491 * libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise.
4492 * libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise.
4493 * libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise.
4494 * libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise.
4495 * libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise.
4496 * libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise.
4497 * libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise.
4498 * libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise.
4499 * libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise.
4500 * libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise.
4501 * libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise.
4502 * libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise.
4503 * libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise.
4504 * libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise.
4505 * libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise.
4506 * libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise.
4507 * libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise.
4508 * libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise.
4509 * libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise.
4510 * libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise.
4511 * libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise.
4512 * libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise.
4513 * libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise.
4514 * libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise.
4515 * libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise.
4516 * libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise.
4517 * libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise.
4518 * libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise.
4519 * libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise.
4520 * libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise.
4521 * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise.
4522 * libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise.
4523 * libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise.
4524 * libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise.
4525 * libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise.
4526 * libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise.
4527 * libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise.
4528 * libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise.
4529 * libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise.
4530 * libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise.
4531 * libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise.
4532 * libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise.
4533 * libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise.
4534 * libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise.
4535 * libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise.
4536 * libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise.
4537 * libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise.
4538 * libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise.
4539 * libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise.
4540 * libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise.
4541 * libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise.
4542 * libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise.
4543 * libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise.
4544 * libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise.
4545 * libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise.
4546 * libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise.
4547 * libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise.
4548 * libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise.
4549 * libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise.
4550 * libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise.
4551 * libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise.
4552 * libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise.
4553 * libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise.
4554 * libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise.
4555 * libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise.
4556 * libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise.
4557 * libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise.
4558 * libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise.
4559 * libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise.
4560 * libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise.
4561 * libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise.
4562 * libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise.
4563 * libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise.
4564 * libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise.
4565 * libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise.
4566 * libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise.
4567 * libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise.
4568 * libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise.
4569 * libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise.
4570 * libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise.
4571 * libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise.
4572 * libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise.
4573 * libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise.
4574 * libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise.
4575 * libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise.
4576 * libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise.
4577 * libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise.
4578 * libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise.
4579 * libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise.
4580 * libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise.
4581 * libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise.
4582 * libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise.
4583 * libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise.
4584 * libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise.
4585 * libgnat/g-string.adb, libgnat/g-string.ads: Likewise.
4586 * libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise.
4587 * libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise.
4588 * libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise.
4589 * libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise.
4590 * libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise.
4591 * libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise.
4592 * libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise.
4593 * libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise.
4594 * libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise.
4595 * libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise.
4596 * libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise.
4597 * libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise.
4598 * libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise.
4599 * libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise.
4600 * libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise.
4601 * libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise.
4602 * libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise.
4603 * libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise.
4604 * libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise.
4605 * libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise.
4606 * libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise.
4607 * libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise.
4608 * libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise.
4609 * libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise.
4610 * libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise.
4611 * libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise.
4612 * libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise.
4613 * libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise.
4614 * libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise.
4615 * libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise.
4616 * libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise.
4617 * libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise.
4618 * libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise.
4619 * libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise.
4620 * libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise.
4621 * libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise.
4622 * libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise.
4623 * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise.
4624 * libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise.
4625 * libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise.
4626 * libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise.
4627 * libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise.
4628 * libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise.
4629 * libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise.
4630 * libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise.
4631 * libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise.
4632 * libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise.
4633 * libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise.
4634 * libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise.
4635 * libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise.
4636 * libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise.
4637 * libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise.
4638 * libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise.
4639 * libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise.
4640 * libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise.
4641 * libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise.
4642 * libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise.
4643 * libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise.
4644 * libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise.
4645 * libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise.
4646 * libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise.
4647 * libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise.
4648 * libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise.
4649 * libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise.
4650 * libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise.
4651 * libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise.
4652 * libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise.
4653 * libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise.
4654 * libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise.
4655 * libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise.
4656 * libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise.
4657 * libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise.
4658 * libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise.
4659 * libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise.
4660 * libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise.
4661 * libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise.
4662 * libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise.
4663 * libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise.
4664 * libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise.
4665 * libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise.
4666 * libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise.
4667 * libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise.
4668 * libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise.
4669 * libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise.
4670 * libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise.
4671 * libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise.
4672 * libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise.
4673 * libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise.
4674 * libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise.
4675 * libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise.
4676 * libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise.
4677 * libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise.
4678 * libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise.
4679 * libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise.
4680 * libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise.
4681 * libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise.
4682 * libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise.
4683 * libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise.
4684 * libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise.
4685 * libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise.
4686 * libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise.
4687 * libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise.
4688 * libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise.
4689 * libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise.
4690 * libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise.
4691 * libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise.
4692 * libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise.
4693 * libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise.
4694 * libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise.
4695 * libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise.
4696 * libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise.
4697 * libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise.
4698 * libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise.
4699 * libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise.
4700 * libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise.
4701 * libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise.
4702 * libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise.
4703 * libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise.
4704 * libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise.
4705 * libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise.
4706 * libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise.
4707 * libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise.
4708 * libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise.
4709 * libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise.
4710 * libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise.
4711 * libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise.
4712 * libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise.
4713 * libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise.
4714 * libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise.
4715 * libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise.
4716 * libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise.
4717 * libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise.
4718 * libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise.
4719 * libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise.
4720 * libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise.
4721 * libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise.
4722 * libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise.
4723 * libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise.
4724 * libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise.
4725 * libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise.
4726 * libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise.
4727 * libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise.
4728 * libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise.
4729 * libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise.
4730 * libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise.
4731 * libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise.
4732 * libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise.
4733 * libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise.
4734 * libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise.
4735 * libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise.
4736 * libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise.
4737 * libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise.
4738 * libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise.
4739 * libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise.
4740 * libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise.
4741 * libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise.
4742 * libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise.
4743 * libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise.
4744 * libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise.
4745 * libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise.
4746 * libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise.
4747 * libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise.
4748 * libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise.
4749 * libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise.
4750 * libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise.
4751 * libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise.
4752 * libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise.
4753 * libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise.
4754 * libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise.
4755 * libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise.
4756 * libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise.
4757 * libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise.
4758 * libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise.
4759 * libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise.
4760 * libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise.
4761 * libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise.
4762 * libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise.
4763 * libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise.
4764 * libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise.
4765 * libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise.
4766 * libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise.
4767 * libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise.
4768 * libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise.
4769 * libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise.
4770 * libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise.
4771 * libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise.
4772 * libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise.
4773 * libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise.
4774 * libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise.
4775 * libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise.
4776 * libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise.
4777 * libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise.
4778 * libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise.
4779 * libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise.
4780 * libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise.
4781 * libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise.
4782 * libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise.
4783 * libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise.
4784 * libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise.
4785 * libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise.
4786 * libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise.
4787 * libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise.
4788 * libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise.
4789 * libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise.
4790 * libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise.
4791 * libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise.
4792 * libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise.
4793 * libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise.
4794 * libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise.
4795 * libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise.
4796 * libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise.
4797 * libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise.
4798 * libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise.
4799 * libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise.
4800 * libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise.
4801 * libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise.
4802 * libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise.
4803 * libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise.
4804 * libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise.
4805 * libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise.
4806 * libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise.
4807 * libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise.
4808 * libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise.
4809 * libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise.
4810 * libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise.
4811 * libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise.
4812 * libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise.
4813 * libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise.
4814 * libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise.
4815 * libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise.
4816 * libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise.
4817 * libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise.
4818 * libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise.
4819 * libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise.
4820 * libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise.
4821 * libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise.
4822 * libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise.
4823 * libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise.
4824 * libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise.
4825 * libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise.
4826 * libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise.
4827 * libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise.
4828 * libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise.
4829 * libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise.
4830 * libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise.
4831 * libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise.
4832 * libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise.
4833 * libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise.
4834 * libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise.
4835 * libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise.
4836 * libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise.
4837 * libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise.
4838 * libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise.
4839 * libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise.
4840 * libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise.
4841 * libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise.
4842 * libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise.
4843 * libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise.
4844 * libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise.
4845 * libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise.
4846 * libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise.
4847 * libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise.
4848 * libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise.
4849 * libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise.
4850 * libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise.
4851 * libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise.
4852 * libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise.
4853 * libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise.
4854 * libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise.
4855 * libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise.
4856 * libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise.
4857 * libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise.
4858 * libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise.
4859 * libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise.
4860 * libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise.
4861 * libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise.
4862 * libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise.
4863 * libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise.
4864 * libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise.
4865 * libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise.
4866 * libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise.
4867 * libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise.
4868 * libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise.
4869 * libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise.
4870 * libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise.
4871 * libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise.
4872 * libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise.
4873 * libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise.
4874 * libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise.
4875 * libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise.
4876 * libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise.
4877 * libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise.
4878 * libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise.
4879 * libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise.
4880 * libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise.
4881 * libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise.
4882 * libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise.
4883 * libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise.
4884 * libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise.
4885 * libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise.
4886 * libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise.
4887 * libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise.
4888 * libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise.
4889 * libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise.
4890 * libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise.
4891 * libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise.
4892 * libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise.
4893 * libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise.
4894 * libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise.
4895 * libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise.
4896 * libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise.
4897 * libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise.
4898 * libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise.
4899 * libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise.
4900 * libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise.
4901 * libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise.
4902 * libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise.
4903 * libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise.
4904 * libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise.
4905 * libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise.
4906 * libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise.
4907 * libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise.
4908 * libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise.
4909 * libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise.
4910 * libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise.
4911 * libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise.
4912 * libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise.
4913 * libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise.
4914 * libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise.
4915 * libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise.
4916 * libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise.
4917 * libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise.
4918 * libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise.
4919 * libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise.
4920 * libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise.
4921 * libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise.
4922 * libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise.
4923 * libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise.
4924 * libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise.
4925 * libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise.
4926 * libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise.
4927 * libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise.
4928 * libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise.
4929 * libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise.
4930 * libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise.
4931 * libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise.
4932 * libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise.
4933 * libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise.
4934 * libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise.
4935 * libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise.
4936 * libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise.
4937 * libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise.
4938 * libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise.
4939 * libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise.
4940 * libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise.
4941 * libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise.
4942 * libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise.
4943 * libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise.
4944 * libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise.
4945 * libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise.
4946 * libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise.
4947 * libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise.
4948 * libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise.
4949 * libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise.
4950 * libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise.
4951 * libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise.
4952 * libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise.
4953 * libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise.
4954 * libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise.
4955 * libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise.
4956 * libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise.
4957 * libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise.
4958 * libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise.
4959 * libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise.
4960 * libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise.
4961 * libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise.
4962 * libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise.
4963 * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise.
4964 * libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise.
4965 * libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise.
4966 * libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise.
4967 * libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise.
4968 * libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise.
4969 * libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise.
4970 * libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise.
4971 * libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise.
4972 * libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise.
4973 * libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise.
4974 * libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise.
4975 * libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise.
4976 * libgnat/system-solaris-sparc.ads: Likewise.
4977 * libgnat/system-solaris-x86.ads: Likewise.
4978 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
4979 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
4980 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
4981 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
4982 * libgnat/system-vxworks7-aarch64.ads: Likewise.
4983 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
4984 * libgnat/system-vxworks7-arm.ads: Likewise.
4985 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
4986 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
4987 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
4988 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
4989 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
4990 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
4991 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
4992 * libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise.
4993 * live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise.
4994 * make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise.
4995 * mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise.
4996 * mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise.
4997 * namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise.
4998 * opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise.
4999 * osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise.
5000 * osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise.
5001 * par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise.
5002 * par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise.
5003 * par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise.
5004 * par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise.
5005 * par.ads, par_sco.adb, par_sco.ads: Likewise.
5006 * pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise.
5007 * prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise.
5008 * raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise.
5009 * repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise.
5010 * restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise.
5011 * rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise.
5012 * scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise.
5013 * scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise.
5014 * scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise.
5015 * sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise.
5016 * sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise.
5017 * sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise.
5018 * sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise.
5019 * sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise.
5020 * sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise.
5021 * sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise.
5022 * sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise.
5023 * sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise.
5024 * sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise.
5025 * sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise.
5026 * sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise.
5027 * sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise.
5028 * sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise.
5029 * sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise.
5030 * sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise.
5031 * sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise.
5032 * sigtramp-ios.c, sigtramp-qnx.c: Likewise.
5033 * sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise.
5034 * sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise.
5035 * sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise.
5036 * sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise.
5037 * sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise.
5038 * sprint.adb, sprint.ads, stand.ads: Likewise.
5039 * stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise.
5040 * style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise.
5041 * stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise.
5042 * switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise.
5043 * switch.ads, sysdep.c, table.adb: Likewise.
5044 * table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise.
5045 * tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise.
5046 * treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise.
5047 * types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise.
5048 * urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise.
5049 * validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise.
5050 * warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise.
5051 * xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise.
5052 * gnatvsn.ads (Current_Year): Likewise and bump to 2023.
5053
50542023-01-09 Eric Botcazou <ebotcazou@adacore.com>
5055
5056 * exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement.
5057 (Make_Final_Call): Likewise.
5058
50592023-01-09 Eric Botcazou <ebotcazou@adacore.com>
5060
5061 * exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete.
5062 (Is_Displacement_Of_Object_Or_Function_Result): Likewise.
5063 * exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to...
5064 (Is_Temporary_For_Interface_Object): ...this.
5065 (Is_Finalizable_Transient): Adjust call to above renaming.
5066 (Is_Displacement_Of_Object_Or_Function_Result): Delete.
5067 (Requires_Cleanup_Actions): Remove special handling of the
5068 temporaries created for interface objects.
5069 * exp_ch7.adb (Build_Finalizer): Likewise.
5070
d901bf8a
GA
50712023-01-07 LIU Hao <lh_mouse@126.com>
5072
5073 PR middle-end/108300
5074 * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include
5075 <windows.h>`.
5076 * cio.c: Likewise.
5077 * ctrl_c.c: Likewise.
5078 * expect.c: Likewise.
5079 * gsocket.h: Likewise.
5080 * mingw32.h: Likewise.
5081 * mkdir.c: Likewise.
5082 * rtfinal.c: Likewise.
5083 * rtinit.c: Likewise.
5084 * seh_init.c: Likewise.
5085 * sysdep.c: Likewise.
5086 * terminals.c: Likewise.
5087 * tracebak.c: Likewise.
5088
53ef7c1d
GA
50892023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5090
5091 * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: Tweak.
5092
50932023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5094
5095 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite the end of the
5096 handling of objects with (class-wide) interface type by using the
5097 same idiom as the other cases generating a renaming.
5098 * exp_util.adb (Is_Displacement_Of_Object_Or_Function_Result): Tweak
5099 pattern matching code and exclude special return objects.
5100 (Requires_Cleanup_Actions): Adjust comment.
5101 * exp_ch7.adb (Build_Finalizer): Likewise.
5102
51032023-01-05 Piotr Trojanek <trojanek@adacore.com>
5104
5105 * freeze.adb (Build_Renamed_Body): Rewrite subprogram renaming to
5106 subprogram declaration early and then set the Body_To_Inling flag.
5107
51082023-01-05 Piotr Trojanek <trojanek@adacore.com>
5109
5110 * freeze.adb (Build_Renamed_Body): Revert a special case for
5111 GNATprove; remove unnecessary initialization of a local variable.
5112
51132023-01-05 Marc Poulhiès <poulhies@adacore.com>
5114
5115 * sem_ch12.adb (Instantiate_Package_Body): Better filtering when
5116 installing parent on the scope stack.
5117
51182023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5119
5120 * repinfo.ads (The JSON output format): Document change.
5121 * urealp.adb (UR_Write_To_JSON): Output a fraction instead of a
5122 decimal approximation.
5123
51242023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5125
5126 * exp_ch3.adb (Expand_N_Object_Declaration): New local variable
5127 Func_Id holding the function for a special return object.
5128 Use a direct renaming in the class-wide case when the initializing
5129 expression is a captured function call, except for a special return
5130 object when the two functions do not return on the same stack.
5131 Apply the accessibility check for class-wide special return objects.
5132 * exp_util.adb (Make_CW_Equivalent_Type) <Has_Tag_Of_Type>: New.
5133 Do not force a dispatching call to the primitive operation _Size if
5134 the expression is known to statically have the tag of its type.
5135
51362023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5137
5138 * exp_ch3.adb (Expand_N_Object_Declaration): Fix pasto in comment.
5139
51402023-01-05 Ronan Desplanques <desplanques@adacore.com>
5141
5142 * sem_aggr.adb (Resolve_Array_Aggregate): Tweak conditions for
5143 warning about use of parentheses for array aggregates.
5144
51452023-01-05 Javier Miranda <miranda@adacore.com>
5146
5147 * scans.ads (Tok_Left_Curly_Bracket, Tok_Right_Curly_Bracket)
5148 (Tok_Left_Interpolated_String): Placed in no category since they
5149 don't fit well in the existing categories. Fix typo in comment.
5150 (Inside_Interpolated_String_Literal): New scan state variable.
5151 * scng.adb (Slit): Scan interpolated string literals,
5152 continuations of interpolated string literals and escaped
5153 characters found in interpolated string literals.
5154 (Scan): Handle consecutive interpolated expressions. Handle ending
5155 delimiter placed immediately after an interpolated expression.
5156 Handle string literal placed after interpolated expression. Handle
5157 left and right curly brackets; when extensions are not allowed
5158 they are treated as left and right paren; when extensions are
5159 allowed they are handled as delimiters of interpolated string
5160 literals.
5161 * sinfo.ads (N_Interpolated_String_Literal): New node.
5162 * gen_il-gen-gen_nodes.adb (N_Interpolated_String_Literal): Define
5163 N_String_Literal node.
5164 * gen_il-types.ads (Opt_Type_Enum): Define N_String_Literal as
5165 concrete node type.
5166 * par-ch2.adb (P_Interpolated_String_Literal): New subprogram.
5167 * par-ch4.adb (P_Simple_Expression): Handle '}' as expression
5168 terminator when scanning an interpolated expression; disable error
5169 recovery machinery for binary operator when we are processing an
5170 interpolated string literal and reach the expression terminator
5171 '}'.
5172 (P_Primary): Call P_Interpolated_String_Literal when the opening
5173 interpolated-string-literal delimiter is found (that is, the left
5174 curly bracket '{').
5175 * par-tchk.adb (T_Right_Curly_Bracket): New subprogram.
5176 * par.adb (P_Interpolated_String_Literal): New declaration.
5177 (T_Right_Curly_Bracket): New declaration.
5178 * sem.adb (Analyze): Call Analyze_Interpolated_String_Literal.
5179 * sem_ch2.ads (Analyze_Interpolated_String_Literal): New
5180 subprogram
5181 * sem_ch2.adb (Analyze_Interpolated_String_Literal): Likewise.
5182 * sem_util.adb (Is_User_Defined_Literal): Complete mapping of
5183 literal aspects adding that interpolated string literals have no
5184 correspondence with any aspect.
5185 * sem_res.adb (Resolve_Interpolated_String_Literal): New
5186 subprogram.
5187 (Has_Applicable_User_Defined_Literal): Complete mapping of literal
5188 aspects adding that interpolated string literals have no
5189 correspondency with any aspect.
5190 * expander.adb (Expand): Add call to
5191 Expand_N_Interpolated_String_Literal.
5192 * exp_util.adb (Insert_Actions): Handle
5193 N_Interpolated_String_Literal nodes; that is, continue climbing.
5194 * exp_ch2.ads (Expand_N_Interpolated_String_Literal): New
5195 subprogram.
5196 * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Likewise.
5197 * exp_put_image.adb (Build_Elementary_Put_Image_Call): Add missing
5198 conversion to force dispatching call. Required to handle calls to
5199 descendants.
5200 (Build_String_Put_Image_Call): Do not output string delimiters
5201 when the put_image call is part of an interpolated string literal.
5202 * rtsfind.ads (RTU_Id): Add RE_Set_Trim_Leading_Spaces.
5203 * sprint.adb (Sprint_Node): Output interpolated string contents.
5204 * libgnat/a-stbubo.adb (Get_UTF_8): Add default value for
5205 Trim_Leading_White_Spaces component in aggregate.
5206 (Buffer_Type_Implementation): Update Trim_Leading_White_Spaces.
5207 * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
5208 (Buffer_Type_Implementation): Likewise.
5209 * libgnat/a-sttebu.ads (Set_Trim_Leading_Spaces): New subprogram.
5210 (Trim_Leading_Spaces): New subprogram.
5211 (Root_Buffer_Type): Adding Trim_Leading_While_Spaces component.
5212 * libgnat/a-sttebu.adb (procedure Set_Trim_Leading_Spaces): New
5213 subprogram.
5214 (Trim_Leading_Space): New subprogram.
5215 (Put_UTF_8): Handle Trim_Leading_White_Spaces.
5216 (New_Line): Likewise.
5217 * libgnat/s-putima.ads (Put_Image_String): Adding formal
5218 (with_delimiters).
5219 (Put_Image_Wide_String): Likewise.
5220 (Put_Image_Wide_Wide_String): Likewise.
5221 * libgnat/s-putima.adb (Put_Image_String): Adding support for new
5222 formal.
5223 (Put_Image_Wide_String): Likewise.
5224 (Put_Image_Wide_Wide_String): Likewise.
5225
52262023-01-05 Joao Azevedo <azevedo@adacore.com>
5227
5228 * doc/gnat_ugn/gnat_utility_programs.rst: add gnatpp --layout
5229 switch and update legacy switches.
5230
52312023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5232
5233 * freeze.adb (Freeze_Entity): For the purpose of deciding whether to
5234 freeze an entity coming from an outer scope in an inner scope, treat
5235 the internal subprogram generated because of post-conditions as also
5236 coming from source if the original subprogram itself does.
5237
52382023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5239
5240 * contracts.adb (Build_Subprogram_Contract_Wrapper): Generate an
5241 extended return statement in all cases.
5242 (Expand_Subprogram_Contract): Adjust comment.
5243
52442023-01-05 Ronan Desplanques <desplanques@adacore.com>
5245
5246 * libgnat/g-forstr.adb (F_Kind): Rename enumeration literal.
5247 (P_Flt_Format): Adjust handling of "%g".
5248 (Determine_Notation_And_Aft): New procedure.
5249 (Decimal_Exponent): New function.
5250 (Increment_Integral_Part): New procedure.
5251 (Remove_Extraneous_Decimal_Digit): New procedure.
5252 (Trim_Fractional_Part): New procedure.
5253 * libgnat/g-forstr.ads: Change description of "%g" specifier.
5254
52552023-01-05 Marc Poulhiès <poulhies@adacore.com>
5256
5257 * sem_ch12.adb (Instantiate_Package_Body): Correctly find the
5258 parent instance to place on the scope stack.
5259
52602023-01-05 Justin Squirek <squirek@adacore.com>
5261
5262 * sem_ch8.adb (Set_Entity_Or_Discriminal): Verify we are actually
5263 resetting the entity field of a non-prefixed discriminant
5264 reference.
5265
52662023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5267
5268 * exp_ch3.adb (Expand_N_Object_Declaration): New local variable used
5269 throughout instead of testing Is_Special_Return_Object every time.
5270 Do not rename an OK_To_Rename object for a special return object.
5271 * exp_ch4.adb (Expand_Concatenate): Revert to constrained allocation
5272 if the result is allocated on the secondary stack.
5273
52742023-01-05 Steve Baird <baird@adacore.com>
5275
5276 * sem_prag.adb (Analyze_Pragma): Fix Is_Configuration_Pragma
5277 function to handle case where the pragma's parent is an
5278 N_Aspect_Specification node. In analyzing a Discard_Names pragma,
5279 do not assume that a nonzero number of arguments implies that the
5280 pragma is not a configuration pragma; that assumption only holds
5281 for legal programs.
5282
52832023-01-05 Bob Duff <duff@adacore.com>
5284
5285 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
5286 Add RM references.
5287 * gnat_ugn.texi: Regenerate.
5288
52892023-01-05 Eric Botcazou <ebotcazou@adacore.com>
5290
5291 * exp_ch3.adb (Expand_N_Object_Declaration): For a special return
5292 object of an interface type that is not inherently limited, make
5293 a call to the Adjust primitive after doing the copy. For a special
5294 return object of a non-class-wide type initialized by a function
5295 call, use a direct renaming only if the object doing the capture
5296 is flagged by Is_Related_To_Func_Return. For a special return
5297 object using a direct renaming, reassign the tag, if need be.
5298 * exp_ch6.adb (Expand_Simple_Function_Return): Fix comment.
5299 * exp_util.adb (Is_Related_To_Func_Return): Accept both regular and
5300 renaming object declarations for return objects.
5301
53022023-01-05 Bob Duff <duff@adacore.com>
5303
5304 * sem_ch5.adb (Analyze_Assignment): Fix the bug by checking
5305 Original_Node. The renaming might be elsewhere, but the (original)
5306 reference is right here.
5307 * errout.adb: Remove pragma Unreferenced which was added because
5308 of the above bug.
5309 * einfo.ads: Misc cleanup.
5310 * lib.adb: Likewise.
5311 * lib.ads: Likewise.
5312
0f8fbb57
GA
53132023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
5314
5315 * errout.adb (Write_JSON_Span): Escape subprogram name.
5316
53172023-01-03 Ghjuvan Lacambre <lacambre@adacore.com>
5318
5319 * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol.
5320
53212023-01-03 Ronan Desplanques <desplanques@adacore.com>
5322
5323 * libgnat/g-forstr.adb (P_Flt_Format): Add "*" syntax handling.
5324
53252023-01-03 Ronan Desplanques <desplanques@adacore.com>
5326
5327 * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug.
5328
53292023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5330
5331 * exp_ch6.adb (Expand_Simple_Function_Return): Make sure that a
5332 captured function call also verifies Is_Related_To_Func_Return.
5333 Do not generate an actual subtype for special return objects.
5334 * exp_util.ads (Is_Related_To_Func_Return): Add commentary.
5335
53362023-01-03 Ronan Desplanques <desplanques@adacore.com>
5337
5338 * libgnat/g-forstr.adb
5339 (Advance_And_Accumulate_Until_Next_Specifier): New procedure.
5340 ("-"): Replace inline code with call to
5341 Advance_And_Accumulate_Until_Next_Specifier.
5342 (Next_Format): likewise.
5343
53442023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5345
5346 * checks.adb (Apply_Discriminant_Check.Denotes_Explicit_Dereference):
5347 Return false for artificial dereferences generated by the expander.
5348
53492023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5350
5351 * exp_ch6.adb (Is_Build_In_Place_Function): Adjust comment.
5352 * sem_util.adb (Compute_Returns_By_Ref): Do not set Returns_By_Ref
5353 on functions with foreign convention.
5354
53552023-01-03 Marc Poulhiès <poulhies@adacore.com>
5356
5357 * exp_aggr.adb (Build_Assignment_With_Temporary): New.
5358 (Expand_Array_Aggregate): Tune backend optimization
5359 and insert a temporary in the case of an access with
5360 Designated_Storage_Model aspect.
5361 (Convert_Array_Aggr_In_Allocator): Likewise.
5362
53632023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5364
5365 * sem_res.adb (Resolve_Membership_Op): Adjust again latest change.
5366
53672023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5368
5369 * sem_util.ads (Set_Debug_Info_Defining_Id): Adjust comment.
5370 * sem_util.adb (Is_Aliased_View) <N_Explicit_Dereference>: Return
5371 false for more artificial dereferences generated by the expander.
5372 (Set_Debug_Info_Defining_Id): Set Debug_Info_Needed unconditionally
5373 in -gnatD mode.
5374 * exp_ch6.adb (Replace_Renaming_Declaration_Id): Also preserve the
5375 Is_Aliased flag.
5376
53772023-01-03 Joel Brobecker <brobecker@adacore.com>
5378
5379 * doc/gnat_ugn/platform_specific_information.rst
5380 (_Platform_Specific_Information): Minor rewording of intro text.
5381 * gnat_ugn.texi: Regenerate.
5382
53832023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5384
5385 * exp_util.ads (Is_Captured_Function_Call): Declare.
5386 * exp_util.adb (Is_Captured_Function_Call): New predicate.
5387 * exp_ch3.adb (Expand_N_Object_Declaration): Use it to detect a
5388 rewritten function call as the initializing expression.
5389 * exp_ch6.adb (Expand_Simple_Function_Return): Use it to detect a
5390 rewritten function call as the returned expression.
5391
53922023-01-03 Bob Duff <duff@adacore.com>
5393
5394 * exp_util.adb (Integer_Type_For): Assertion and comment.
5395 (Small_Integer_Type_For): Remove some code and call
5396 Integer_Type_For instead.
5397 * sem_util.ads (Rep_To_Pos_Flag): Improve comments. "Standard_..."
5398 seems overly pedantic here.
5399 * exp_attr.adb (Succ, Pred): Clean up: make the code as similar as
5400 possible.
5401 * exp_ch4.adb: Minor: named notation.
5402
54032023-01-03 Javier Miranda <miranda@adacore.com>
5404
5405 * ghost.adb (Is_OK_Declaration): A reference to a Ghost entity may
5406 appear within the class-wide precondition of a helper subprogram.
5407 This context is treated as suitable because it was already
5408 verified when we were analyzing the original class-wide
5409 precondition.
5410
54112023-01-03 Eric Botcazou <ebotcazou@adacore.com>
5412
5413 * exp_tss.adb (Base_Init_Proc): Do not return the Init_Proc of the
5414 ancestor type for a derived array type.
5415 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Factor out the
5416 common processing done on representation items.
5417 For Default_Component_Value and Default_Value, look into the first
5418 subtype to find out the representation items.
5419
fee53a31
GA
54202023-01-02 Iain Sandoe <iain@sandoe.co.uk>
5421
5422 PR ada/108202
5423 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS, GCC_LDFLAGS):
5424 Versions of ALL_LINKERFLAGS, LDFLAGS with -Werror and
5425 -static-libgcc filtered out for Darwin8 and 9 (-Werror is filtered
5426 out for other hosts).
5427
54282023-01-02 Jakub Jelinek <jakub@redhat.com>
5429
5430 * gnat_ugn.texi: Bump @copying's copyright year.
5431 * gnat_rm.texi: Likewise.
5432
848830dc 5433\f
d64f8779 5434Copyright (C) 2023 Free Software Foundation, Inc.
848830dc
PMR
5435
5436Copying and distribution of this file, with or without modification,
5437are permitted in any medium without royalty provided the copyright
5438notice and this notice are preserved.