1 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
3 * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix
4 a couple of minor issues in the commentary.
6 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
8 * gcc-interface/trans.cc (gigi): Report a violation of No_Dependence
9 on System.Stack_Checking if Stack_Check_Probes_On_Target is not set
10 and -fstack-check is specified.
11 (build_binary_op_trapv): Report violatiosn of No_Dependence on both
12 System.Arith_64 and System.Arith_128.
13 (add_decl_expr): If an initialized variable, report a violation of
14 No_Dependence on System.Memory_Copy for large aggregate types.
15 (gnat_to_gnu) <N_Op_Eq>: Report a violation
16 of No_Dependence on System.Memory_Compare for large aggregate types.
17 <N_Assignment_Statement>! Report a violation of No_Dependence on
18 System.Memory_Set, System.Memory_Move or else System.Memory_Copy for
19 large aggregate types.
20 * gcc-interface/utils2.cc (maybe_wrap_malloc): Report a violation of
21 No_Dependence on System.Memory.
22 (maybe_wrap_free): Add GNAT_NODE parameter and report a violation of
23 No_Dependence on System.Memory.
24 (build_call_alloc_dealloc): Adjust call to maybe_wrap_free.
26 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
28 * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not set the debug
29 type for vector types.
31 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
33 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>:
34 Undo questionable renaming.
36 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
38 * gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case.
40 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
42 * gcc-interface/trans.cc (gigi): Add one more leading underscore to
43 name of stack checking function.
45 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
47 * gcc-interface/decl.cc (Gigi_Cloned_Subtype): New function.
48 (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call it to get the
49 cloned subtype, if any.
50 <E_Floating_Point_Subtype>: Likewise.
51 <E_Array_Subtype>: Likewise.
52 <E_Record_Subtype>: Likewise.
53 <E_Access_Subtype>: Likewise.
54 Deal with all cloned subtypes on the main path.
56 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
58 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: Do
59 not reuse the TYPE_DECL of the base type.
61 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
63 * gcc-interface/utils.cc (gnat_pushdecl): Build DECL_ORIGINAL_TYPE
64 only for pointer types.
66 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
68 * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Also accept
69 pointer-to-function types that are not variant of each other.
71 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
73 * gcc-interface/utils.cc (unchecked_convert): Also pad in most cases
74 if the source is not a scalar type but the destination is.
76 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
78 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Save
79 and restore the alias set of the dummy pointer-to-array type.
81 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
83 * snames.ads-tmpl (Name_Memory_Compare): New package name.
84 (Name_Memory_Copy): Likewise.
85 (Name_Memory_Move): Likewise.
86 (Name_Memory_Set): Likewise.
88 2022-07-13 Gary Dismukes <dismukes@adacore.com>
90 * sem_ch13.adb (Check_And_Resolve_Storage_Model_Type_Argument):
91 Call the System.Case_Util.To_Mixed procedure rather than the
92 function, to avoid bootstrap problems.
94 2022-07-13 Gary Dismukes <dismukes@adacore.com>
96 * aspects.ads (Aspect_Argument): Change the association for
97 Aspect_Storage_Model_Type from Expression to
99 * exp_util.ads (Find_Storage_Op): Update comment to indicate
100 that Empty can be returned in the case where a storage-model
101 operation is defaulted.
102 * exp_util.adb (Find_Storage_Op): Allow the function to return
103 Empty in Storage_Model_Type case rather than raising
104 Program_Error, so that Procedure_To_Call fields in N_Allocator
105 and N_Free_Statement nodes will be set to Empty in the defaulted
106 native storage-model case.
107 * sem_ch13.adb: Add with and use of System.Case_Util (and
108 reformat context_clause).
109 (Check_Aspect_At_Freeze_Point): Return with no action for a
110 Storage_Model_Type aspect with no expression (fully-defaulted
111 native memory-model case).
112 (Resolve_Storage_Model_Type_Argument): If an Address_Type has
113 not been explicitly specified, then set Addr_Type to denote type
115 (Validate_Storage_Model_Type_Aspect): Return immediately in the
116 case where the aspect has no Expression (fully-defaulted native
117 memory-model case). No longer issue an error when Address_Type
118 isn't specified, and instead use type System.Address as the
119 default address type. When the address type is
120 System.Address (whether specified or defaulted), no longer issue
121 errors for any other "subaspects" that aren't specified, since
122 in that case those are allowed to default as well. Remove ???
123 comment about needing to check for duplicates, which is now
125 (Check_And_Resolve_Storage_Model_Type_Argument): New procedure
126 to check that an association for a storage-model subaspect in
127 the aggregate has not been specified earlier in the aggregate,
128 and to then resolve the expression of the association and save
129 the resolved entity. Called by
130 Validate_Storage_Model_Type_Aspect.
131 * sem_util.ads (Storage_Model_Support): Update comments on specs
132 of the functions Get_Storage_Model_Type_Entity,
133 Storage_Model_Address_Type, and Storage_Model_Null_Address to
134 indicate the behavior when the address type is System.Address
135 (the native memory-model case).
137 (Storage_Model_Support.Get_Storage_Model_Type_Entity): Suppress
138 the search for the given subaspect name (Nam) when the
139 Storage_Model_Type aspect is fully defaulted (i.e., no
140 Expression is present) and simply return. In cases where the
141 search is done, but no association that matches Nam is found,
142 return System.Address for the Name_Address_Type case, return
143 System.Null_Address for the Name_Null_Address case, and return
144 Empty for all other cases.
146 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
148 * sem_ch13.adb (Relocate_Expression): New routine with code that
149 previously was only applied to Pre and Post aspects.
150 (Analyze_Aspect_Specifications): Apply the above routine to
151 other aspects, in particular to aspects Address, Attach_Handler,
152 Predicate and Interrupt_Priority.
154 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
156 * inline.adb (Build_Body_To_Inline): Instead of manipulating the
157 Full_Analysis flag, use the Inside_A_Generic flag (which is
158 conveniently manipulated by Start_Generic/End_Generic, together
159 with Expander_Active).
160 * sem_attr.adb (Analyze_Attribute_Old_Result): Adapt comment and
161 assertion to different flag that is set while building
164 2022-07-13 Alexandre Oliva <oliva@adacore.com>
166 * doc/gnat_rm/security_hardening_features.rst: Clarify the need
167 for choices after -fzero-call-used-regs and -fstrub.
168 * gnat_rm.texi: Regenerate.
170 2022-07-13 Yannick Moy <moy@adacore.com>
172 * sem_prag.adb (Analyze_Pragma): Recognize a generated subtype
173 with Ghost pragma for generic instantiations.
175 2022-07-13 Yannick Moy <moy@adacore.com>
177 * libgnat/s-aridou.adb (Lemma_Mult_Div, Lemma_Powers): New
179 (Prove_Sign_Quotient): New local lemma.
180 (Prove_Signs): Expand definition of Big_R and Big_Q in the
181 postcondition. Add intermediate assertions.
182 (Double_Divide): Call new lemma.
183 (Lemma_Div_Eq): Provide body for proving lemma.
184 (Lemma_Powers_Of_2, Lemma_Shift_Without_Drop,
185 Prove_Dividend_Scaling, Prove_Multiplication, Prove_Z_Low): Call
186 lemmas, add intermediate assertions.
188 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
190 * inline.adb (Has_Single_Return): Add guard for the subsequent
193 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
195 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec
196 earlier if the body is not the completion of a declaration.
197 (Check_Untagged_Equality): Deal with subprogram bodies that are
198 not the completion of a declaration and make sure that they are
199 not flagged when they cause the freezing of the type themselves.
200 Give a warning on the freezing point of the type in more cases.
201 * sem_res.adb (Resolve_Equality_Op): Revert latest change.
203 2022-07-13 Yannick Moy <moy@adacore.com>
205 * libgnat/s-arit32.adb (Scaled_Divide32): Add an assertion, move
206 the call of Prove_Sign_R around.
208 2022-07-13 Marc Poulhiès <poulhies@adacore.com>
210 * exp_ch4.adb (Expand_N_If_Expression): Test for compile time
211 known bounds when handling slices.
213 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
215 * exp_util.ads (Integer_Type_For): Mention Small_Integer_Type_For.
216 (Small_Integer_Type_For): Mention Integer_Type_For.
218 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
220 * sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined
221 operator of an untagged record type is declared ahead of an instance
222 before using it to resolve the equality operator in the instance.
224 2022-07-13 Justin Squirek <squirek@adacore.com>
226 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Add default
227 initialization for Stmts.
228 * sem_ch12.adb (Analyze_Associations): Add default
229 initialization for Match.
230 * libgnat/a-ztenau.adb (Scan_Enum_Lit): Remove duplicated
232 * libgnat/g-spipat.adb (XMatch): Combine duplicated cases.
234 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
236 * par-prag.adb (Check_Arg_Count): Change parameter type from Int
237 to Nat, because this parameter is compared to Arg_Count variable
238 which is of type Nat. Also, it wouldn't make sense to check for
239 negative number of pragma arguments.
241 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
243 * exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment
244 with declaration in System.Standard_Library.
246 2022-07-12 Marc Poulhiès <poulhies@adacore.com>
248 * libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full
249 chunk before computing the available size.
251 2022-07-12 Steve Baird <baird@adacore.com>
253 * exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op):
254 Reimplement choice of which predefined type to use for the
255 implementation of a predefined operation of a modular type with
256 a non-power-of-two modulus.
258 2022-07-12 Justin Squirek <squirek@adacore.com>
260 * einfo.ads: Modify documentation for In_Use flag to include
261 scope stack manipulation.
262 * sem_ch8.adb (Use_One_Type): Add condition to return when
263 attempting to detect redundant use_type_clauses in child units
266 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
268 * restrict.ads (type ND_Entry): Add System_Child component.
269 (Check_Restriction_No_Dependence_On_System): Declare.
270 * restrict.adb (Global_Restriction_No_Tasking): Move around.
271 (Violation_Of_No_Dependence): New procedure.
272 (Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence
273 to report a violation.
274 (Check_Restriction_No_Dependence_On_System): New procedure.
275 (Set_Restriction_No_Dependenc): Set System_Child component if the
276 unit is a child of System.
277 * snames.ads-tmpl (Name_Arith_64): New package name.
278 (Name_Arith_128): Likewise.
279 (Name_Memory): Likewise.
280 (Name_Stack_Checking): Likewise.
281 * fe.h (Check_Restriction_No_Dependence_On_System): Declare.
283 2022-07-12 Bob Duff <duff@adacore.com>
285 * par.adb (P_Declarative_Items): New function to parse a
286 sequence of declarative items.
287 (P_Sequence_Of_Statements): Add Handled flag, to indicate
288 whether to wrap the result in a block statement.
289 * par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items
290 to be P_Declarative_Item, because it really only parses a single
291 declarative item, and to avoid conflict with the new
292 P_Declarative_Items. Add In_Statements. We keep the old
293 error-recovery mechanisms in place when In_Statements is False.
294 When True, we don't want to complain about statements, because
295 we are parsing a sequence of statements.
296 (P_Identifier_Declarations): If In_Statements, and we see what
297 looks like a statement, we no longer give an error. We return to
298 P_Sequence_Of_Statements with Done = True, so it can parse the
300 * par-ch5.adb (P_Sequence_Of_Statements): Call
301 P_Declarative_Items to parse declarative items that appear in
302 the statement list. Remove error handling code that complained
303 about such items. Check some errors conservatively. Wrap the
304 result in a block statement when necessary.
305 * par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass
306 Handled => True to P_Sequence_Of_Statements.
307 * types.ads (No, Present): New functions for querying
308 Source_Ptrs (equal, not equal No_Location).
310 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
312 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
313 Fix range of iteration.
315 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
317 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
318 Do not process expression of unknown restrictions.
320 2022-07-12 Vasiliy Fofanov <fofanov@adacore.com>
323 doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P
324 to the top of switches list and make it clear that gnatmake
325 passes the ball to gprbuild if -P is set.
326 * gnat_ugn.texi: Regenerate.
328 2022-07-12 Bob Duff <duff@adacore.com>
330 * libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning.
332 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
334 * sem_attr.adb (Set_Boolean_Result): Simplify using
337 2022-07-12 Yannick Moy <moy@adacore.com>
339 * errout.adb (Record_Compilation_Errors): Remove global
341 (Compilation_Errors): Simplify.
342 (Initialize): Inline Reset_Warnings.
343 (Reset_Warnings): Remove.
344 * errout.ads (Reset_Warnings): Remove.
345 (Compilation_Errors): Update comment.
346 * gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend
347 warnings in GNATprove mode, except regarding elaboration and
348 suspicious contracts.
350 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
352 * sem_util.adb (Caller_Known_Size_Record): Make entry assertion
353 more robust and add guard for null argument. For protected
354 types, invoke Caller_Known_Size_Record on
355 Corresponding_Record_Type.
356 (Needs_Secondary_Stack): Likewise.
358 2022-07-12 Doug Rupp <rupp@adacore.com>
360 * libgnat/system-vxworks7-ppc-rtp.ads: Remove
361 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
363 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
365 * sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious
366 call to Set_Comes_From_Source.
368 2022-07-12 Bob Duff <duff@adacore.com>
370 * sem_ch5.adb (Check_Unreachable_Code): Refine heuristics.
371 * sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove
372 this; instead we have a new function Is_Simple_Case in
373 Sem_Ch5.Check_Unreachable_Code.
375 2022-07-12 Bob Duff <duff@adacore.com>
377 * gnatls.adb (Output_License_Information): Remove pragma
378 No_Return; call sites deal with Exit_Program.
379 * libgnat/g-socthi.adb (C_Connect): Suppress warning about
381 * sem_ch5.adb (Check_Unreachable_Code): Special-case if
382 statements with static conditions. If we remove unreachable
383 code (including the return statement) from a function, add
384 "raise Program_Error", so we won't warn about missing returns.
385 Remove Original_Node in test for N_Raise_Statement; it's not
386 needed. Remove test for CodePeer_Mode; if Operating_Mode =
387 Generate_Code, then CodePeer_Mode can't be True. Misc cleanup.
388 Do not reuse Nxt variable for unrelated purpose (the usage in
389 the Kill_Dead_Code loop is entirely local to the loop).
390 * sem_ch6.adb: Add check for Is_Transfer. Misc cleanup.
391 * sem_prag.adb: Minor.
392 * sem_res.adb: Minor.
393 * sem_util.adb: Minor cleanup.
394 (Is_Trivial_Boolean): Move to nonnested place, so it can be
395 called from elsewhere.
396 (Is_Static_Constant_Boolean): New function.
397 * sem_util.ads (Is_Trivial_Boolean): Export.
398 (Is_Static_Constant_Boolean): New function.
400 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
402 * libgnat/s-stchop.ads: Use a double underscore prefix for symbols.
404 2022-07-12 Ed Schonberg <schonberg@adacore.com>
406 * freeze.adb (Check_Expression_Function.Find_Constant): Add a
407 check that a type that is referenced as the prefix of an
408 attribute is fully declared.
409 (Freeze_And_Append): Do not freeze the profile when freezing an
411 (Freeze_Entity): When a tagged type is frozen, also freeze any
412 primitive operations of the type that are expression functions.
413 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent
414 freezing associated with an expression function body if the
415 function is a dispatching op.
417 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
419 * sem_ch7.adb (Analyze_Package_Declaration): Check references to
422 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
424 * sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind,
425 not at the declaration kind.
427 2022-07-12 Joffrey Huguet <huguet@adacore.com>
429 * libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads,
430 libgnat/a-cfhama.ads, libgnat/a-cfhase.ads,
431 libgnat/a-cfinse.ads, libgnat/a-cfinve.ads,
432 libgnat/a-cforma.ads, libgnat/a-cforse.ads,
433 libgnat/a-chahan.ads, libgnat/a-cofove.ads,
434 libgnat/a-cofuma.ads, libgnat/a-cofuse.ads,
435 libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads,
436 libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads,
437 libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads,
438 libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads,
439 libgnat/a-strbou.ads, libgnat/a-strfix.ads,
440 libgnat/a-strmap.ads, libgnat/a-strunb.ads,
441 libgnat/a-strunb__shared.ads, libgnat/a-strsea.ads,
442 libgnat/a-textio.ads, libgnat/a-tideio.ads,
443 libgnat/a-tienio.ads, libgnat/a-tifiio.ads,
444 libgnat/a-tiflio.ads, libgnat/a-tiinio.ads,
445 libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads,
446 libgnat/interfac__2020.ads, libgnat/s-atacco.ads,
447 libgnat/s-stoele.ads: Annotate packages and subprograms with
448 returning annotations.
450 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
452 * rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values.
453 (RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries.
454 * libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment.
455 (Str_Concat_Bounds_2): Delete.
456 * libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last
457 input to size the last assignment.
458 (Str_Concat_Bounds_2): Delete.
459 * libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment.
460 (Str_Concat_Bounds_3): Delete.
461 * libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last
462 input to size the last assignment.
463 (Str_Concat_Bounds_3): Delete.
464 * libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment.
465 (Str_Concat_Bounds_4): Delete.
466 * libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last
467 input to size the last assignment.
468 (Str_Concat_Bounds_4): Delete.
469 * libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment.
470 (Str_Concat_Bounds_5): Delete.
471 * libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last
472 input to size the last assignment.
473 (Str_Concat_Bounds_5): Delete.
474 * libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment.
475 (Str_Concat_Bounds_6): Delete.
476 * libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last
477 input to size the last assignment.
478 (Str_Concat_Bounds_6): Delete.
479 * libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment.
480 (Str_Concat_Bounds_7): Delete.
481 * libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last
482 input to size the last assignment.
483 (Str_Concat_Bounds_7): Delete.
484 * libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment.
485 (Str_Concat_Bounds_8): Delete.
486 * libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last
487 input to size the last assignment.
488 (Str_Concat_Bounds_8): Delete.
489 * libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment.
490 (Str_Concat_Bounds_9): Delete.
491 * libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last
492 input to size the last assignment.
493 (Str_Concat_Bounds_9): Delete.
495 2022-07-12 Bob Duff <duff@adacore.com>
497 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and
498 _Previous in the optimized expansion of "for ... of". No longer
499 need to check parameter profiles for these, because the
500 leading-underscore names are unique.
501 * libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and
502 Previous, to avoid namespace pollution.
503 * libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads,
504 libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads,
505 libgnat/a-cborma.ads, libgnat/a-cborse.ads,
506 libgnat/a-cdlili.ads, libgnat/a-cidlli.ads,
507 libgnat/a-cihama.ads, libgnat/a-cihase.ads,
508 libgnat/a-cimutr.ads, libgnat/a-ciorma.ads,
509 libgnat/a-ciorse.ads, libgnat/a-cobove.ads,
510 libgnat/a-cohama.ads, libgnat/a-cohase.ads,
511 libgnat/a-coinve.ads, libgnat/a-comutr.ads,
512 libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise. Also,
513 remove duplicated comments -- refer to one comment about _Next,
514 _Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY.
515 * scng.adb (Scan): Allow leading underscores in identifiers in
516 the run-time library.
517 * snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with
520 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
522 * sem_ch5.adb (Check_Unreachable_Code): Extend suppression to
523 calls with No_Return aspect, but narrow it to functions.
524 * sem_res.adb (Resolve_Call): Warn about unreachable code after
525 calls with No_Return.
527 2022-07-12 Bob Duff <duff@adacore.com>
529 * scans.ads: Fix obsolete comments about Tok_Special, and give
530 Special_Character a predicate assuring it is one of the two
531 characters used in preprocessing.
532 * scng.ads: Clean up comments.
533 * scng.adb: Clean up handling of Tok_Special. Remove comment
534 about '@' (target_name), which doesn't seem very helpful.
535 Set_Special_Character will now blow up if given anything other
536 than '#' and '$', because of the predicate on Special_Character;
537 it's not clear why it used to say "when others => null;".
538 Remove Comment_Is_Token, which is not used.
539 * scn.ads: Remove commented-out use clause. Remove redundant
541 * ali-util.adb: Use "is null" for do-nothing procedures.
542 * gprep.adb (Post_Scan): Use "is null".
544 2022-07-12 Bob Duff <duff@adacore.com>
546 * libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all
547 exceptions propagated by Specific_Handler.
548 * libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor.
550 2022-07-12 Marc Poulhiès <poulhies@adacore.com>
552 * sem.adb (Preanalyze): Suppress checks when not in GNATprove
554 * sem_res.adb (Preanalyze_And_Resolve): Add cross reference in
555 comment to above procedure.
556 * sinfo.ads: Typo fix in comment.
558 2022-07-12 Julien Bortolussi <bortolussi@adacore.com>
560 * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation
561 files of the formal unbounded indefinite list.
562 * Makefile.rtl, impunit.adb: Take into account the add of the
565 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
567 * sem_util.adb (Is_Variable): Remove excessive guard.
569 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
571 * gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads):
572 Simplify regular expression. The "interval expression",
573 i.e. \{8\} is part of the POSIX regular expressions, so it
574 should not be a problem for modern implementations of sed.
576 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
578 * gcc-interface/trans.cc (gnat_to_gnu): Update comment.
580 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
582 * gcc-interface/gigi.h (simple_constant_p): Declare.
583 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Strip
584 the qualifiers from the type of a simple constant.
585 (simple_constant_p): New predicate.
586 * gcc-interface/trans.cc (node_is_atomic): Return true for objects
587 with atomic type except for simple constants.
588 (node_is_volatile_full_access): Return false for simple constants
591 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
593 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Create a
594 local constant holding the underlying GNAT type of the object. Do
595 not fiddle with the object size for an unconstrained array.
597 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
599 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Constify a
600 local variable and move a couple of others around.
602 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
604 * gcc-interface/trans.cc (gnat_gimplify_expr) <SAVE_EXPR>: New case.
606 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
608 * exp_ch6.adb (Function return mechanisms): New paragraph.
610 2022-07-06 Yannick Moy <moy@adacore.com>
612 * sem_util.adb (Is_Non_Preelaborable_Construct): Fix for
615 2022-07-06 Justin Squirek <squirek@adacore.com>
617 * libgnat/s-regpat.adb, libgnat/s-regpat.ads (Compile): Add a
618 new defaulted parameter Error_When_Too_Small to trigger an
619 error, if specified true, when Matcher is too small to hold the
620 compiled regex program.
622 2022-07-06 Justin Squirek <squirek@adacore.com>
624 * sem_ch4.adb (Analyze_Selected_Component): Add condition to
625 avoid interpreting derived type components as candidates for
626 selected components in preanalysis of inherited class
629 2022-07-06 Yannick Moy <moy@adacore.com>
631 * ghost.adb (Check_Ghost_Context): Delay checking for generic
633 (Check_Ghost_Context_In_Generic_Association): Perform ghost
634 checking in analyzed generic associations.
635 (Check_Ghost_Formal_Procedure_Or_Package): Check SPARK RM
636 6.9(13-14) for formal procedures and packages.
637 (Check_Ghost_Formal_Variable): Check SPARK RM 6.9(13-14) for
639 * ghost.ads: Declarations for the above.
640 * sem_ch12.adb (Analyze_Associations): Apply delayed checking
641 for generic associations.
642 (Analyze_Formal_Object_Declaration): Same.
643 (Analyze_Formal_Subprogram_Declaration): Same.
644 (Instantiate_Formal_Package): Same.
645 (Instantiate_Formal_Subprogram): Same.
646 (Instantiate_Object): Same. Copy ghost aspect to newly declared
647 object for actual for IN formal object. Use new function
648 Get_Enclosing_Deep_Object to retrieve root object.
649 (Instantiate_Type): Copy ghost aspect to declared subtype for
650 actual for formal type.
651 * sem_prag.adb (Analyze_Pragma): Recognize new allowed
653 * sem_util.adb (Copy_Ghost_Aspect): Copy the ghost aspect
655 (Get_Enclosing_Deep_Object): New function to return enclosing
656 deep object (or root for reachable part).
657 * sem_util.ads (Copy_Ghost_Aspect): Same.
658 (Get_Enclosing_Deep_Object): Same.
659 * libgnat/s-imageu.ads: Declare formal subprograms as ghost.
660 * libgnat/s-valuei.ads: Same.
661 * libgnat/s-valuti.ads: Same.
663 2022-07-06 Javier Miranda <miranda@adacore.com>
665 * sem_res.adb (Resolve_Type_Conversion): Code cleanup since the
666 previous static check has been moved to Valid_Tagged_Conversion.
667 (Valid_Tagged_Conversion): Fix the code checking conversion
668 to/from interface types since incorrectly returns True when the
669 parent type of the operand type (or the target type) is an
670 interface type; add missing static checks on interface type
673 2022-07-06 Marc Poulhiès <poulhies@adacore.com>
675 * libgnat/s-secsta.ads (SS_Allocate): Add new Alignment
677 (Memory_Alignment): Remove.
678 * libgnat/s-secsta.adb (Align_Addr): New.
679 (SS_Allocate): Add new Alignment parameter. Realign pointer if
680 needed. Don't allocate anything for 0-sized allocations.
681 * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add
682 allocated object's alignment as last parameter to allocation
685 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
687 * libgnat/g-socket.adb (Get_Address_Info): Reduce scope of the
688 Found variable; avoid repeated assignment inside the loop.
690 2022-07-06 Doug Rupp <rupp@adacore.com>
692 * Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel
693 build macros and set an error variable if needed.
694 [x86,x86_vxworks7]: Likewise.
695 [ppc,ppc64]: Set an error variable if needed.
696 (rts-err): New phony Makefile target.
697 (setup-rts): Depend on rts-err.
699 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
701 * exp_ch3.adb (Make_Allocator_For_BIP_Return): New local function.
702 (Expand_N_Object_Declaration): Use it to build the three allocators
703 for a Build-In-Place return with an unconstrained type. Update the
704 head comment after other recent changes.
706 2022-07-06 Doug Rupp <rupp@adacore.com>
708 * libgnat/system-vxworks7-e500-kernel.ads: Remove.
709 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
710 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
712 2022-07-06 Justin Squirek <squirek@adacore.com>
714 * gnat_cuda.adb (Empty_CUDA_Global_Subprogram): Set
715 Specification and Corresponding_Spec to match the original
718 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
720 * exp_ch6.adb (Build_Static_Check_Helper_Call): Replace explicit
721 call to Make_Unchecked_Type_Conversion with a call to
722 Unchecked_Convert_To.
723 * tbuild.adb (Unchecked_Convert_To): Fix whitespace.
725 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
727 * sem_res.adb (Resolve_Actuals): Restore first sentence of a
730 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
732 * exp_aggr.adb (Expand_Record_Aggregate): Do not call
733 Is_Full_Access_Aggregate here.
734 * freeze.ads (Is_Full_Access_Aggregate): Delete.
735 * freeze.adb (Is_Full_Access_Aggregate): Move to...
736 (Freeze_Entity): Do not call Is_Full_Access_Aggregate here.
737 * sem_aggr.adb (Is_Full_Access_Aggregate): ...here
738 (Resolve_Aggregate): Call Is_Full_Access_Aggregate here.
740 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
742 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
743 (Warning Message Control): Update description of switch -gnatwj.
744 * gnat_ugn.texi: Regenerate.
745 * sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for
746 obsolete renamed units; in Ada 83 mode do not consider
747 predefined renamings to be obsolete.
749 2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
751 * exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty.
752 * sem_util.adb (Visit_Itype): Remove ??? comment.
754 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
756 * sem_attr.adb (Note_Possible_Modification): Revert a
757 special-case for validity checks on Long_Float type.
758 * snames.ads-tmpl (Name_Attr_Long_Float): Remove name added
759 exclusively for the mentioned fix.
761 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
763 * sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of
766 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
768 * sem_ch6.adb (Process_Formals): Avoid repeated calls to
771 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
773 * exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List.
774 * par_sco.adb (Process_Decisions): Likewise.
775 * sem_ch13.adb (Check_Component_List): Likewise.
776 * sem_ch6.adb (FCL): Likewise.
778 2022-07-05 Doug Rupp <rupp@adacore.com>
780 * cstreams.c (__gnat_full_name) [QNX]: Remove block.
782 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
784 * osint.adb (Locate_File): Use Name_Find with a parameter and
785 not with a global buffer.
787 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
789 * exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
790 * exp_prag.adb (Arg_N): Likewise.
792 2022-07-05 Yannick Moy <moy@adacore.com>
794 * ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object
797 2022-07-05 Bob Duff <duff@adacore.com>
799 * exp_ch7.adb: Change two constants Is_Protected_Body and
800 Is_Prot_Body to be Is_Protected_Subp_Body; these are not true
801 for protected bodies, but for protected subprogram bodies.
802 (Expand_Cleanup_Actions): No need to search for
803 Activation_Chain_Entity; just use Activation_Chain_Entity.
804 * sem_ch8.adb (Find_Direct_Name): Use Entyp constant.
805 * atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads
806 (Parent): Provide nonoverloaded versions of Parent, so that they
807 can be easily found in the debugger.
808 * debug_a.adb, debug_a.ads: Clarify that we're talking about the
809 -gnatda switch; switches are case sensitive. Print out the
810 Chars field if appropriate, which makes it easier to find things
812 (Debug_Output_Astring): Simplify. Also fix an off-by-one
813 bug ("for I in Vbars'Length .." should have been "for I in
814 Vbars'Length + 1 .."). Before, it was printing Debug_A_Depth +
815 1 '|' characters if Debug_A_Depth > Vbars'Length.
817 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
819 * sem_prag.adb (Analyze_Pragma): Remove unnecessary call to
822 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
824 * libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect.
825 (Raise_GAI_Error): Likewise.
826 * libgnat/g-socket.ads (Raise_Socket_Error): Likewise.
828 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
830 * sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace;
831 refactor repeated code; replace a ??? comment with an
832 explanation based on the comment for the routine spec.
834 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
836 * sem_util.ads (Note_Possible_Modification): Fix occurrence of
837 May_Be_Modified in comment.
838 * sem_warn.ads (Check_Unset_Reference): Fix occurrence of
839 Not_Assigned in comment.
841 2022-07-05 Yannick Moy <moy@adacore.com>
843 * sem_attr.adb (Analyze_Attribute): Take into account the
844 possibility of homonyms.
846 2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
848 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming
849 for any nonaliased local object with nominal unconstrained subtype
850 originally initialized with the result of a function call that has
851 been rewritten as the dereference of a reference to the result.
852 * sem_ch3.adb (Analyze_Object_Declaration): Do not do it here
854 2022-07-05 Arnaud Charlet <charlet@adacore.com>
856 * exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable
857 perfect hash in GNAT_Mode.
858 * raise-gcc.c (__gnat_Unwind_RaiseException): Add support for
859 disabling exception propagation.
860 * sem_eval.adb (Compile_Time_Known_Value): Update comment and
861 remove wrong call to Check_Error_Detected.
862 * sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma):
863 Remove exception propagation during bootstrap.
865 2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
867 * exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code.
868 Delay the expansion of aggregates initializing return objects of
869 build-in-place functions.
870 * exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete.
871 * exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to...
872 (Expand_N_Object_Declaration): ...here.
873 Perform the expansion of return objects of build-in-place functions
875 * exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare.
876 * exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here.
877 (Is_Build_In_Place_Result_Type): Alphabetize.
878 (Is_Build_In_Place_Return_Object): New predicate.
879 * exp_ch7.adb (Enclosing_Function): Delete.
880 (Process_Object_Declaration): Tidy up handling of return objects.
881 * sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and
882 freeze the actual type if it is the same as the nominal type.
883 * sem_ch6.adb: Remove use and with clauses for Exp_Ch3.
884 (Analyze_Function_Return): Analyze again all return objects.
885 (Create_Extra_Formals): Do not force the definition of an Itype
886 if the subprogram is a compilation unit.
888 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
890 * gnatls.adb (Corresponding_Sdep_Entry): Remove dead return
891 statement in defensive path; there is another return statement
892 for a normal execution of this routine, so rule Ada RM 6.5(5),
893 which requires function to have at least one return statement is
895 (Gnatls): Remove dead, call to nonreturning Exit_Program after
896 Output_License_Information which itself does not return.
897 * libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was
898 meant to please some ancient version of GNAT.
899 * libgnat/g-awk.adb (Raise_With_Info): Likewise.
900 * sem_attr.adb (Check_Reference): Remove dead return statement;
901 rule Ada RM 6.5(5), which requires function to have at least one
902 return statement is still satisfied.
903 (Analyze_Attribute): Remove dead exit statement.
904 (Check_Reference): Same as above.
905 * sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise
906 statement; it was inconsistent with other calls to
907 Abandon_Instantiation, which are not followed by a raise
909 * sem_prag.adb (Process_Convention): Remove dead defensive
911 (Interrupt_State): Remove dead defensive exit statement.
912 (Do_SPARK_Mode): Likewise.
913 * sfn_scan.adb (Scan_String): Remove dead defensive assignment.
915 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
917 * sem_attr.adb, sem_prag.adb: Remove dead return statements
918 after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and
919 Placement_Error. All these calls raise exceptions that are
920 handled to gently recover from errors.
922 2022-07-05 Doug Rupp <rupp@adacore.com>
924 * libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute
925 based on Standard'Word_Size.
926 (Memory_Size): Compute based on Word_Size.
927 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
928 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
930 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
932 * sem_attr.adb (Analyze_Attribute): Move call to
933 Set_Address_Taken so that it is executed when the prefix
936 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
938 * sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of
939 Sloc; this should also help when we finally use Source_Span for
940 prettier error messages.
942 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
944 * sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard;
945 the call to Present wasn't needed either.
947 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
949 * sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with
950 No_List is safe and will return zero.
952 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
954 * sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule.
956 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
958 * sem_ch6.adb (Check_Missing_Return): Remove outdated comment.
960 2022-07-05 Dmitriy Anisimkov <anisimko@adacore.com>
962 * adaint.h (convert_addresses): Remove function declaration.
964 2022-07-05 Doug Rupp <rupp@adacore.com>
966 * Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code.
967 * vxworks-arm-link.spec: Remove.
968 * vxworks-e500-link.spec: Likewise.
969 * vxworks-smp-arm-link.spec: Likewise.
970 * vxworks-smp-e500-link.spec: Likewise.
971 * vxworks-smp-x86-link.spec: Likewise.
972 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
973 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
974 * libgnat/system-vxworks-arm.ads: Likewise.
975 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
976 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
977 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
978 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
979 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
980 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
982 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
984 * sem_disp.adb (Check_Dispatching_Call): Merge the two special cases
985 where there are no controlling actuals but tag-indeternminate ones.
987 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
989 * exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls
990 that are dispatching on tagged result.
992 2022-07-04 Doug Rupp <rupp@adacore.com>
994 * Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads.
996 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
998 * exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New
1000 <Rewrite_As_Renaming>: Change to a local variable whose value is
1001 computed once and generate a call to Finalize after this is done.
1002 Simplify the code creating the renaming at the end.
1004 2022-07-04 Doug Rupp <rupp@adacore.com>
1006 * Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files.
1008 2022-07-04 Piotr Trojanek <trojanek@adacore.com>
1010 * sem_attr.adb (Resolve_Attribute): Refactor duplicated code for
1011 Count and Index attributes.
1013 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1015 * checks.adb (Apply_Length_Check_On_Assignment): Return early if
1016 the Suppress_Assignment_Checks flag is set.
1017 (Selected_Range_Checks): Deal with conditional expressions.
1018 * exp_ch4.adb (Too_Large_Length_For_Array): New constant.
1019 (Expand_Concatenate): Use it in lieu of Too_Large_Max_Length.
1020 (Expand_N_If_Expression): If the result has a unidimensional array
1021 type but the dependent expressions have constrained subtypes with
1022 known bounds, create a static temporary on the stack with a subtype
1023 covering the result.
1024 (Get_First_Index_Bounds): Deal with string literals.
1025 * uintp.ads (Uint_256): New deferred constant.
1026 * sinfo.ads (Suppress_Assignment_Checks): Document new usage.
1028 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1030 * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
1031 Do not rewrite if the declaration has got constraints.
1032 * sinfo.ads (Case Expression Alternative): Fix typo.
1034 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1036 * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
1037 Be prepared for slices.
1038 * exp_ch4.adb (Get_First_Index_Bounds): New procedure.
1039 (Expand_Array_Comparison.Length_Less_Than_4): Call it.
1040 (Expand_Concatenate): Try to compute a maximum length for
1041 operands with variable length and a maximum total length at the
1042 end. If the concatenation is dynamic, but a sensible maximum
1043 total length has been computed, use this length to create a
1044 static array subtype for the temporary and return a slice of it.
1046 2022-07-04 Steve Baird <baird@adacore.com>
1048 * sem_ch3.adb (Check_Possible_Deferred_Completion): Delete
1049 Prev_Obj_Def formal parameter. Reorganize code so that
1050 statically matching check is also performed in the case where
1051 the subtype given in the initial declaration is constrained and
1052 the subtype given in the completion is not.
1054 2022-07-04 Bob Duff <duff@adacore.com>
1056 * einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E
1057 and N. Change some parameters to use the unpredicated subtypes,
1058 because they sometimes return e.g. Empty. Note that N_Entity_Id
1059 has a predicate; Entity_Id does not.
1060 * exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E,
1061 because otherwise we fail the predicate. We shouldn't be
1062 referring to single-letter names from far away anyway.
1063 * sem_aux.adb (Is_Derived_Type): Likewise.
1064 * sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for
1066 * types.ads (Entity_Id): Add comment explaining the difference
1067 between Entity_Id and N_Entity_Id.
1069 2022-07-04 Justin Squirek <squirek@adacore.com>
1071 * exp_util.adb (Remove_Side_Effects): Combine identical
1073 * sem_attr.adb (Analyze_Attribute): Combine identical cases
1074 Attribute_Has_Same_Storage and Attribute_Overlaps_Storage.
1075 * sem_prag.adb (Check_Role): Combine E_Out_Parameter case with
1076 general case for parameters.
1077 * sem_util.adb (Accessibility_Level): Combine identical
1079 * sprint.adb (Sprint_Node_Actual): Combine cases for
1080 N_Real_Range_Specification and N_Signed_Integer_Type_Definition.
1082 2022-07-04 Justin Squirek <squirek@adacore.com>
1084 * libgnat/s-os_lib.adb (Quote_Argument): Modify the result
1085 buffer size calculation to handle the case where Arg'Length is
1088 2022-07-04 Bob Duff <duff@adacore.com>
1090 * exp_util.adb (Expand_Subtype_From_Expr): Generate a new
1091 subtype when Is_Constr_Subt_For_UN_Aliased is True, so the
1092 Is_Constr_Subt_For_U_Nominal flag will not be set on the
1093 preexisting subtype.
1094 * sem_attr.adb, sem_ch3.adb: Minor.
1096 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1098 * debug.adb (d.9): Remove usage.
1099 * exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant
1100 test on Debug_Flag_Dot_L.
1101 (Is_Build_In_Place_Result_Type): Return false for nonlimited types.
1102 (Is_Build_In_Place_Function): Tidy up and remove redundant test on
1105 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1107 * exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object
1108 if the expression is a function call.
1109 <Rewrite_As_Renaming>: Return true if the object needs finalization
1110 and is initialized with the result of a function call returned on
1111 the secondary stack.
1112 * exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean
1113 parameter. Early return if the parent is an object declaration and
1114 Use_Sec_Stack is false.
1115 (Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call.
1116 * exp_ch7.adb (Find_Last_Init): Be prepared for initialization still
1117 present in the object declaration.
1118 * sem_ch3.adb (Analyze_Object_Declaration): Call the predicates
1119 Needs_Secondary_Stack and Needs_Finalization to guard the renaming
1122 2022-07-04 Bob Duff <duff@adacore.com>
1124 * libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
1125 libgnat/a-cihase.ads, libgnat/a-ciorse.ads,
1126 libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function
1127 that takes a Container parameter, implemented as an expression
1128 function, so it is self explanatory (doesn't need a comment).
1130 2022-07-04 Vasiliy Fofanov <fofanov@adacore.com>
1132 * doc/gnat_rm/the_gnat_library.rst: Fix length of title
1135 2022-07-04 Steve Baird <baird@adacore.com>
1137 * sem_ch4.adb (Analyze_Allocator): After calling Insert_Action
1138 to insert a subtype declaration associated with an allocator,
1139 the subtype declaration will usually be analyzed. But not
1140 always. Add an explicit call to Preanalyze to cope with the
1141 unusual case. The subtype declaration must be at least
1142 preanalyzed before the call to Sem_Ch3.Process_Subtype a little
1143 while later, during which we analyze an identifier that refers
1146 2022-07-04 Steve Baird <baird@adacore.com>
1148 * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
1149 generate a warning if the expression in question is an assertion
1150 expression, or a subexpression thereof. But do call
1151 Test_Comparison so that it can generate warnings for the cases
1152 that it generates warnings for.
1153 * sem_prag.ads: Modify Assertion_Expression_Pragma constant so
1154 that the predicate Sem_Util.In_Assertion_Expression_Pragma
1155 returns True for the expression of a Compile_Time_Error pragma.
1157 2022-07-04 Julien Bortolussi <bortolussi@adacore.com>
1159 * doc/gnat_rm/the_gnat_library.rst: Add the new entry.
1160 * gnat_rm.texi: Regenerate.
1162 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1164 * sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands
1166 (Resolve_Equality_Op): Likewise, except for the case of the implicit
1167 inequality operator created for a user-defined operator that is not
1168 an intrinsic subprogram.
1170 2022-07-04 Bob Duff <duff@adacore.com>
1172 * libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
1173 libgnat/a-cborse.adb, libgnat/a-cborse.ads,
1174 libgnat/a-cihase.adb, libgnat/a-cihase.ads,
1175 libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
1176 libgnat/a-cohase.adb, libgnat/a-cohase.ads,
1177 libgnat/a-conhel.adb, libgnat/a-conhel.ads,
1178 libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element,
1179 Element, Query_Element, and Next subprograms that take a Set
1180 parameter. Add Tampering_With_Cursors_Prohibited function. These
1181 are all new in Ada 2022.
1183 2022-07-04 Claire Dross <dross@adacore.com>
1185 * doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets,
1186 and maps are now controlled.
1187 * gnat_rm.texi: Regenerate.
1189 2022-07-04 Claire Dross <dross@adacore.com>
1191 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
1192 (Debugging and Assertion Control): Add GNAT specific assertion
1193 pragmas to the equivalent Assertion_Policy for the -gnata
1195 * gnat_ugn.texi: Regenerate.
1197 2022-07-04 Justin Squirek <squirek@adacore.com>
1199 * sem_disp.adb (Most_Descendant_Use_Clause): Remove call to
1200 deprecated Is_Internal.
1201 * sem_util.adb (Innermost_Master_Scope_Depth): Use
1202 Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid
1203 cases where relevant scopes get skipped leading to an incorrect
1204 scope depth calculation.
1206 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1208 * exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref
1209 for the function if the extra formals were not built initially.
1211 2022-07-04 Piotr Trojanek <trojanek@adacore.com>
1213 * sem_ch13.adb (Resolve_Iterable_Operation): Add guard to
1214 prevent crash when the examined function has no formal
1215 parameters and Etype is called on Empty entity.
1217 2022-07-04 Julien Bortolussi <bortolussi@adacore.com>
1219 * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation
1220 files of the sequence.
1221 * Makefile.rtl, impunit.adb: Take into account the add of the
1224 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1226 * doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function):
1227 Fix ambiguous wording about context dependence.
1228 * gnat_rm.texi: Regenerate.
1230 2022-06-02 David Malcolm <dmalcolm@redhat.com>
1232 * gcc-interface/misc.cc (gnat_get_sarif_source_language): New.
1233 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
1235 2022-06-02 Pierre-Marie de Rodat <derodat@adacore.com>
1237 * gcc-interface/gigi.h: Update copyright notice.
1238 * gcc-interface/lang-specs.h: Likewise.
1239 * gcc-interface/utils.cc: Likewise.
1241 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1243 * gcc-interface/gigi.h (enum standard_datatypes): Remove values
1244 for the SJLJ exception mechanism.
1245 (jmpbuf_type): Delete.
1246 (jmpbuf_ptr_type): Likewise.
1247 (get_jmpbuf_decl): Likewise.
1248 (set_jmpbuf_decl): Likewise.
1249 (get_excptr_decl): Likewise.
1250 (not_handled_by_others_decl): Likewise.
1251 (setjmp_decl): Likewise.
1252 (update_setjmp_buf_decl): Likewise.
1253 (raise_nodefer_decl): Likewise.
1254 (set_block_jmpbuf_decl): Likewise.
1255 (get_block_jmpbuf_decl): Likewise.
1256 * gcc-interface/trans.cc (gigi): Delete dead code.
1257 * gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL.
1258 (gnat_pushlevel): Do not clear it.
1259 (set_block_jmpbuf_decl): Delete.
1260 (get_block_jmpbuf_decl): Likewise.
1262 2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
1264 * gcc-interface/decl.cc (warn_on_field_placement): Add insertion
1265 character '.q' to warning string.
1267 2022-06-02 Arnaud Charlet <charlet@adacore.com>
1269 * gcc-interface/Makefile.in (gnatlib-shared-default): Add
1272 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1274 * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the
1275 scope of anonymous access Itypes.
1276 * gcc-interface/trans.cc (Identifier_to_gnu): Do not translate
1277 the return type of a subprogram here.
1279 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1281 * exp_ch7.adb (Expand_N_Package_Body): Build static dispatch
1282 tables only for units that are not compilation units, unless
1283 they are generic instances. Do not push a scope for this.
1284 (Expand_N_Package_Declaration): Build static dispatch tables
1285 only for units that are both not compilation units and generic
1287 * exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant
1288 early return. Push a scope for package bodies.
1289 * sem_ch10.adb: Add with and use clauses for Exp_Disp.
1290 (Analyze_Compilation_Unit): Build static dispatch tables here.
1292 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1294 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public
1297 2022-06-02 Piotr Trojanek <trojanek@adacore.com>
1299 * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb,
1300 sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb,
1301 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
1302 sem_util.adb: Remove checks for the missing list before
1303 iterating with First/Next; reindent code and refill comments.
1305 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1307 * einfo.ads (Has_Controlling_Result): Document new usage.
1308 (Is_Thunk): Document secondary stack thunks.
1309 (Returns_By_Ref): Adjust.
1310 * exp_ch6.adb (Caller_Known_Size): Return true for tagged types.
1311 (Expand_N_Extended_Return_Statement): Do not call Set_By_Ref.
1312 (Expand_Simple_Function_Return): For a BIP return with an Alloc_Form
1313 parameter, mark the node as returning on the secondary stack.
1314 Replace call to Is_Limited_Interface with Is_Limited_View. Deal wit
1315 secondary stack thunks. Do not call Set_By_Ref. Optimize the case
1316 of a call to a function whose type also needs finalization.
1317 (Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target.
1318 (Needs_BIP_Finalization_Master): Cosmetic fixes.
1319 (Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and
1320 return true for tagged types.
1321 * exp_ch7.adb (Transient Scope Management): Update description.
1322 * exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref
1323 on designated type if the call is dispatching on result. Tidy up.
1324 (Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to
1325 List_Id. Change type of local variables from Node_Id to Entity_Id.
1326 Propagate Aliased_Present flag to create the formals and explicitly
1327 set Has_Controlling_Result to False. Build a secondary stack thunk
1328 if necessary in the function case.
1329 (Expand_Secondary_Stack_Thunk): New function.
1330 (Make_Secondary_DT): Build secondary stack thunks if necessary.
1331 (Make_DT): Likewise.
1332 (Register_Predefined_Primitive): Likewise.
1333 (Register_Primitive): Likewise.
1334 * exp_util.ads (Is_Secondary_Stack_Thunk): Declare.
1335 (Thunk_Target): Likewise.
1336 * exp_util.adb (Is_Secondary_Stack_Thunk): New function.
1337 (Thunk_Target): Likewise.
1338 * fe.h (Is_Secondary_Stack_Thunk): Declare.
1339 (Thunk_Target): Likewise.
1340 * gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref.
1341 * gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise.
1342 (N_Extended_Return_Statement): Likewise.
1343 * sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for
1344 abstract return type in the thunk case.
1345 (Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target.
1346 * sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case.
1347 * sem_util.adb: Add use and with clauses for Exp_Ch6.
1348 (Compute_Returns_By_Ref): Do not process procedures and only set
1349 the flag for direct return by reference.
1350 (Needs_Secondary_Stack): Do not return true for specific tagged
1351 types and adjust comments accordingly.
1352 * sinfo.ads (By_Ref): Delete.
1353 (N_Simple_Return_Statement): Remove By_Ref.
1354 (N_Extended_Return_Statement): Likewise.
1355 * gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete.
1356 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it.
1357 Return by direct reference if the return type needs the secondary
1358 stack as well as for secondary stack thunks.
1359 * gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter.
1360 * gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change.
1361 * gcc-interface/trans.cc (finalize_nrv): Replace test on
1362 TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P.
1363 (Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for
1364 secondary stack thunks.
1365 (Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P.
1366 (gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct
1367 reference case, test for the presence of Storage_Pool on the node
1368 to build an allocator.
1369 (maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target.
1370 * gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter.
1372 2022-06-02 Marc Poulhiès <poulhies@adacore.com>
1374 * einfo.ads: Fix reference to Global_Entity_Suppress and
1375 Local_Entity_Suppress variable in the comments.
1376 * sem.ads: Likewise.
1377 * sem_prag.adb: Likewise.
1379 2022-06-02 Claire Dross <dross@adacore.com>
1381 * libgnat/s-aridou.adb: Use Always_Return instead of Terminating
1382 to annotate termination for GNATprove.
1383 * libgnat/s-arit32.adb: Idem.
1384 * libgnat/s-spcuop.ads: Idem.
1386 2022-06-02 Julien Bortolussi <bortolussi@adacore.com>
1388 * libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
1389 libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and
1390 Num_Overlaps return Big_Natural.
1391 * libgnat/a-cforse.ads, libgnat/a-cforse.adb,
1392 libgnat/a-cforma.adb, libgnat/a-cfhase.ads,
1393 libgnat/a-cfhase.adb, libgnat/a-cfhama.adb,
1394 libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead
1397 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1399 * exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the
1400 Offset_Func component by means of 'Unrestricted_Access.
1402 2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
1404 * errout.adb (Write_JSON_Span): Add subprogram name to emitted
1407 2022-06-02 Arnaud Charlet <charlet@adacore.com>
1409 * sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local
1410 procedure, used for code refactoring. Also take into account
1411 Inline_Always pragma when deciding to make a symbol public for
1414 2022-06-02 Yannick Moy <moy@adacore.com>
1416 * atree.adb (New_Copy): Reset flags related to ghost entities
1417 before marking the new node.
1419 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1421 * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move
1423 * exp_disp.ads (Expand_Interface_Thunk): Move declaration to...
1424 (Register_Predefined_Primitive): Declare.
1425 * exp_disp.adb (Expand_Interface_Thunk): ...here.
1426 (Register_Predefined_Primitive): ...here and change into a function
1429 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1431 * exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment.
1432 (Expand_N_Object_Declaration): Do not build static dispatch tables.
1433 * exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure.
1434 (Build_Static_Dispatch_Tables): Call it to build the dispatch tables
1435 and wrap them in the Actions list of a freeze node.
1437 2022-06-02 Doug Rupp <rupp@adacore.com>
1439 * libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives):
1441 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
1442 * libgnat/system-vxworks7-aarch64.ads: Likewise.
1443 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise:
1445 2022-06-02 Javier Miranda <miranda@adacore.com>
1447 * libgnat/g-dyntab.ads (Table_Type): Update documentation.
1449 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1451 * freeze.adb (Check_Expression_Function.Find_Constant): Make test
1452 for deferred constants more robust.
1454 2022-06-02 Joffrey Huguet <huguet@adacore.com>
1456 * libgnat/i-cstrin.ads (Update): Update precondition.
1458 2022-06-02 Yannick Moy <moy@adacore.com>
1460 * sem_ch2.adb (Analyze_Identifier): Add checking for ghost
1462 * sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat
1463 implicit labels like other entities by setting their ghost
1464 status according to context.
1465 * ghost.adb (Check_Ghost_Context): Adapt checking.
1467 2022-06-02 Joffrey Huguet <huguet@adacore.com>
1469 * libgnat/i-cstrin.ads (Update): Add precondition.
1471 2022-06-02 Yannick Moy <moy@adacore.com>
1473 * sem_ch5.adb (Analyze_Label_Entity): Remove body.
1474 * sem_ch5.ads (Analyze_Label_Entity): Remove spec.
1476 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
1478 * sem_util.adb (Propagate_DIC_Attributes): Add ??? comment.
1479 (Propagate_Invariant_Attributes): Likewise. Propagate the
1480 Has_Inheritable_Invariants and Has_Inherited_Invariants to
1481 the base type of the target type.
1483 2022-06-02 Doug Rupp <rupp@adacore.com>
1485 * libgnat/system-linux-arm.ads (Memory_Size): Compute based on
1488 2022-06-02 Doug Rupp <rupp@adacore.com>
1490 * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size):
1491 Compute based on Standard'Word_Size. (Memory_Size): Compute
1493 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
1494 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
1495 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
1496 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
1497 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
1498 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
1499 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
1500 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
1502 2022-06-02 Justin Squirek <squirek@adacore.com>
1504 * gnatbind.adb (Gnatbind): Add initialize call for Uintp
1505 * gnatls.adb (Gnatls): Likewise.
1506 * gprep.adb (Gnatprep): Likewise.
1507 * make.adb (Initialize): Likewise.
1509 2022-06-02 Claire Dross <dross@adacore.com>
1511 * libgnat/a-cfinve.ads (Element): Change the type of the
1512 Position parameter to Extended_Index.
1513 * libgnat/a-cfinve.adb (Element): Idem.
1514 * libgnat/a-cofove.ads (Element): Idem.
1515 * libgnat/a-cofove.adb (Element): Idem.
1517 2022-06-02 Joffrey Huguet <huguet@adacore.com>
1519 * libgnat/s-atacco.ads (To_Pointer): Add Global => null.
1520 (To_Address): Add SPARK_Mode => Off.
1522 2022-06-02 Joffrey Huguet <huguet@adacore.com>
1524 * libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off.
1526 (New_Char_Array): Add global contracts and Volatile attribute.
1527 (New_String): Likewise.
1528 (Value, Strlen, Update): Add global contracts and preconditions.
1529 * libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package
1532 2022-06-01 Yannick Moy <moy@adacore.com>
1534 * contracts.adb (Check_Type_Or_Object_External_Properties): Check
1535 the validity of combinations only when No_Caching is not used.
1536 * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check
1537 valid combinations with No_Caching.
1539 2022-06-01 Doug Rupp <rupp@adacore.com>
1541 * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute
1542 based on Standard'Word_Size. (Memory_Size): Compute based
1544 * libgnat/system-vxworks7-arm.ads: Likewise.
1545 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
1546 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
1547 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
1548 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
1549 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
1551 2022-06-01 Doug Rupp <rupp@adacore.com>
1553 * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on
1556 2022-06-01 Piotr Trojanek <trojanek@adacore.com>
1558 * par-util.adb (Ignore): Add missing space to message string.
1560 2022-06-01 Yannick Moy <moy@adacore.com>
1562 * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for
1563 pragma Subprogram_Variant.
1565 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1567 * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in
1568 lieu of Returns_On_Secondary_Stack.
1569 (Expand_Call_Helper): Likewise.
1570 (Expand_Simple_Function_Return): Likewise.
1571 (Needs_BIP_Alloc_Form): Likewise.
1572 * exp_ch7.adb (Wrap_Transient_Declaration): Likewise.
1573 * sem_res.adb (Resolve_Call): Likewise.
1574 (Resolve_Entry_Call): Likewise.
1575 * sem_util.ads (Returns_On_Secondary_Stack): Rename into...
1576 (Needs_Secondary_Stack): ...this.
1577 * sem_util.adb (Returns_On_Secondary_Stack): Rename into...
1578 (Needs_Secondary_Stack): ...this.
1579 * fe.h (Returns_On_Secondary_Stack): Delete.
1580 (Needs_Secondary_Stack): New function.
1581 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call
1582 to Returns_On_Secondary_Stack with Needs_Secondary_Stack.
1584 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1586 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where
1587 there is no previous declaration, freeze the body entity only after
1588 it has been processed as a new overloaded name.
1589 Use Was_Expression_Function to recognize expression functions.
1590 * sem_disp.adb (Check_Dispatching_Operation): Do not require a body
1591 which is the last primitive to be frozen here.
1593 2022-06-01 Julien Bortolussi <bortolussi@adacore.com>
1595 * libgnat/a-cfdlli.adb ("="): Make the function properly loop
1596 over the right list.
1598 2022-06-01 Marc Poulhiès <poulhies@adacore.com>
1600 * checks.adb (Apply_Predicate_Check): Refine condition for
1601 applying optimization.
1602 * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to
1603 Should_Build_Subtype.
1604 (Analyze_Object_Declaration): Likewise.
1605 (Should_Build_Subtype): Rename/move to ...
1606 * sem_util.ads (Build_Default_Subtype_OK): ... this.
1607 * sem_util.adb (Build_Default_Subtype_OK): Moved from
1610 2022-06-01 Doug Rupp <rupp@adacore.com>
1612 * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump
1613 the pc an extra byte.
1615 2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
1617 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
1618 Document new behavior.
1619 * errout.adb (Write_JSON_Location): Output absolute paths when
1621 * switch-c.adb (Scan_Front_End_Switches): Update -gnatef
1623 * usage.adb (Usage): Update description of -gnatef.
1624 * gnat_ugn.texi: Regenerate.
1626 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1628 * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined
1629 unconditionnally on the procedure entity.
1631 2022-06-01 Piotr Trojanek <trojanek@adacore.com>
1633 * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag
1636 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1638 * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about
1639 a finalization issue.
1641 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1643 * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack
1644 instead of Requires_Transient_Scope and tidy up.
1645 (Needs_BIP_Alloc_Form): Likewise.
1646 * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return
1647 true if the build-in-place function call has no BIPalloc parameter.
1648 (Is_Finalizable_Transient): Remove redundant test.
1650 2022-06-01 Alexandre Oliva <oliva@adacore.com>
1652 * doc/gnat_rm/security_hardening_features.rst: Note that hardening
1653 features are experimental.
1654 * gnat_rm.texi: Regenerate.
1656 2022-06-01 Steve Baird <baird@adacore.com>
1658 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the
1659 Corresponding_Spec field of a wrapper subprogram body before
1660 analyzing the subprogram body; the field will be set (again)
1661 during analysis, but we need it to be set earlier.
1662 * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram
1663 bodies to the list of declarations for which we do not want to
1666 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1668 * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment.
1670 2022-06-01 Doug Rupp <rupp@adacore.com>
1672 * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx.
1674 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1677 (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly
1678 check the dependence on discriminants for the variant part, if
1679 any, instead of calling the Is_Definite_Subtype predicate.
1681 2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
1683 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag.
1685 2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
1687 * sem_warn.adb (Check_References): Adjust conditions under which
1688 warning messages should be emitted and their tags as well.
1690 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1692 * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim.
1693 * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op
1694 earlier, do not initialize Iface_Formal, use No idiom and tweaks
1696 (Register_Primitive): Declare L earlier and tweak comments.
1697 * sem_disp.adb (Check_Dispatching_Operation): Move tests out of
1700 2022-06-01 Steve Baird <baird@adacore.com>
1702 * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which
1703 did not need to be visible - it was not referenced outside this
1704 package) with Build_Or_Copy_Discr_Checking_Funcs.
1705 * exp_ch3.adb: Refactor existing code into 3 procedures -
1706 Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and
1707 Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended
1708 to be semantics-preserving.
1709 * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a
1710 call should be generated to the Discriminant_Checking_Func for
1711 the component in question, but that subprogram does not yet
1713 * sem_ch13.adb (Freeze_Entity_Checks): Immediately before
1714 calling Build_Predicate_Function, add a call to
1715 Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure
1716 that Discriminant_Checking_Func attributes are already set when
1717 Build_Predicate_Function is called.
1718 * sem_ch6.adb (Analyze_Expression_Function): If the expression
1719 of a static expression function has been transformed into an
1720 N_Raise_xxx_Error node, then we need to copy the original
1721 expression in order to check the requirement that the expression
1722 must be a potentially static expression. We also want to set
1723 aside a copy the untransformed expression for later use in
1724 checking calls to the expression function via
1725 Inline_Static_Function_Call. So introduce a new function,
1726 Make_Expr_Copy, for use in these situations.
1727 * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain
1728 expressions (e.g., a default parameter expression in a
1729 subprogram declaration) we want to suppress checks. However, we
1730 do not want to suppress checks for the expression of an
1731 expression function.
1733 2022-06-01 Bob Duff <duff@adacore.com>
1735 * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each
1736 subprogram found, assert that the variable is Empty, so we can
1737 detect bugs where we find two or more things with the same name.
1738 Without this patch, that bug would happen when we add the new
1739 Next procedure. For Step, make sure we pick the right one, by
1740 checking name and number of parameters. For Get_Element_Access,
1741 check that we're picking a function. That's not really
1742 necessary, because there is no procedure with that name, but it
1743 seems cleaner this way.
1744 * rtsfind.ads: Minor comment improvement. It seems kind of odd
1745 to say "under no circumstances", and then immediately contradict
1746 that with "The one exception is...".
1748 2022-06-01 Doug Rupp <rupp@adacore.com>
1750 * init.c (QNX): __gnat_adjust_context_for_raise: New
1751 implementation for arm-qnx.
1753 2022-06-01 Julien Bortolussi <bortolussi@adacore.com>
1755 * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference
1758 2022-06-01 Yannick Moy <moy@adacore.com>
1760 * sem_ch8.adb (Use_One_Package): Possibly warn.
1761 * sem_util.adb (Enter_Name): Factor out warning on hidden entity.
1762 (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and
1763 generalize it to be applied also on use_clause.
1764 * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure.
1766 2022-06-01 Yannick Moy <moy@adacore.com>
1768 * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error
1769 message to benefit from existing codefix.
1770 (P_Record_Definition): Detect out-of-order keywords in record
1771 definition and issue appropriate messages. Other cases are
1772 already caught at appropriate places.
1774 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
1776 * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put
1777 the actions into the Actions field of the freeze node instead of
1778 inserting them after it.
1780 2022-06-01 Marc Poulhiès <poulhies@adacore.com>
1782 * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate
1783 and Is_Enum_Array_Aggregate.
1785 2022-06-01 Bob Duff <duff@adacore.com>
1787 * einfo-utils.adb (Set_Convention): Call Set_Convention
1788 recursively, so that Set_Can_Use_Internal_Rep is called (if
1789 appropriate) on the anonymous access type of the object, and its
1790 designated subprogram type.
1791 * sem_ch3.adb (Access_Definition): Remove redundant call to
1792 Set_Can_Use_Internal_Rep.
1794 2022-06-01 Bob Duff <duff@adacore.com>
1796 * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned
1798 * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because
1799 this is not used in gigi.
1800 * opt.ads (Assume_No_Invalid_Values): Improve the comment. We
1801 don't need to "clearly prove"; we can just "prove". Remove the
1802 comment about fe.h, which is no longer true.
1804 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1806 * erroutc.adb (Get_Warning_Option): Don't consider `?` as a
1807 valid option switch.
1809 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1811 * erroutc.ads (Get_Warning_Option): New function returning the
1812 option responsible for a warning if it exists.
1813 * erroutc.adb (Get_Warning_Option): Likewise.
1814 (Get_Warning_Tag): Rely on Get_Warning_Option when possible.
1815 * errout.adb (Output_JSON_Message): Emit option field.
1817 2022-05-30 Julien Bortolussi <bortolussi@adacore.com>
1819 * libgnat/a-cfdlli.ads (Insert): Remove the duplication.
1821 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
1823 * exp_ch6.adb (Check_Subprogram_Variant): Ignore structural
1826 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
1828 * osint.adb (Locate_File): Change variable to constant and
1829 initialize it by concatenation of directory, file name and NUL.
1831 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
1833 * doc/gnat_rm/implementation_advice.rst (Packed Types): Remove
1834 duplicated and wrongly placed paragraph.
1835 * gnat_rm.texi: Regenerate.
1837 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1839 * inline.adb (Check_Package_Body_For_Inlining): Add insertion
1842 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1844 * freeze.adb (Warn_Overlay): Add 'o' insertion character.
1845 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise.
1846 * sem_util.adb (Note_Possible_Modifications): Likewise.
1848 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1850 * sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion
1853 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1855 * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
1856 Fix insertion character.
1858 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
1860 * sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f'
1861 insertion characters.
1863 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
1865 * lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
1866 Process_Deferred_References, Has_Deferred_Reference): Remove
1868 * lib-xref.adb (Deferred_References, Defer_Reference,
1869 Has_Deferred_Reference, Process_Deferred_References): Remove
1871 * frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
1872 sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.
1874 2022-05-30 Bob Duff <duff@adacore.com>
1876 * exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in
1877 the case of function bodies. We include all subprogram bodies,
1878 because it's harmless for procedures. We cannot easily avoid
1879 creating this block in ALL cases, because some transformations
1880 of (e.g.) task bodies end up moving some code such that the
1881 wrong exception handlers apply to that code.
1882 (Build_Finalizer_Call): Remove code for creating a new block.
1883 This was unreachable code, given that Wrap_HSS_In_Block has
1884 already done that, but with the above change to
1885 Wrap_HSS_In_Block, this code becomes reachable, and triggers
1886 essentially the same bug.
1887 * exp_ch7.ads: Adjust comment.
1889 2022-05-30 Justin Squirek <squirek@adacore.com>
1891 * par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
1892 formals instead of just the last in a formal id list.
1893 * sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
1894 generic procedures as trivial in order to avoid spurious
1895 unreferenced warnings.
1897 2022-05-30 Romain Beguet <beguet@adacore.com>
1899 * libgnat/s-dwalin.adb: Add a subtype declaration to fix the
1902 2022-05-30 Steve Baird <baird@adacore.com>
1904 * sem_ch13.adb (Is_Predicate_Static): Do not generate warnings
1905 about subexpressions of enclosing expressions. Generate warnings
1906 for predicates that are known to be always true or always false,
1907 except in the case where the predicate is expressed as a Boolean
1908 literal. Deal with non-predicate-static expressions that have
1909 been transformed into predicate-static expressions. Add missing
1910 Is_Type_Ref call to N_Membership_Test case.
1912 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
1914 * exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate):
1915 Skip the discriminants at the start of the component list before
1916 looking for the components inherited from the parent in the case
1917 of a tagged extension.
1919 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
1921 * exp_disp.adb (Make_DT): Remove remaining freezing code.
1923 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
1925 * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze
1926 the body of an expression function in the case of a dispatch table.
1928 2022-05-30 Arnaud Charlet <charlet@adacore.com>
1930 * gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode.
1932 2022-05-30 Yannick Moy <moy@adacore.com>
1934 * Makefile.rtl: Add new units.
1935 * libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers.
1936 * libgnat/s-spcuop.adb: New unit for ghost cut operations.
1937 * libgnat/s-spcuop.ads: New unit for ghost cut operations.
1938 * libgnat/s-spark.ads: New unit.
1940 2022-05-30 Alexandre Oliva <oliva@adacore.com>
1942 * doc/gnat_rm/security_hardening_features.rst: Mention
1943 availability in other languages when applicable.
1944 (Stack Scrubbing): Associate the attribute with types, expand
1945 some comments, fix the example involving access to variables.
1946 * gnat_rm.texi: Regenerate.
1948 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
1950 * libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment.
1952 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
1954 * sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the
1955 overriding of the "=" operator for tagged types.
1957 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
1959 * exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT.
1960 * exp_disp.ads (Building_Static_DT): Remove pragma Inline.
1961 (Building_Static_Secondary_DT): Likewise.
1962 (Convert_Tag_To_Interface): Likewise.
1963 (Make_DT): Remove second parameter.
1964 * exp_disp.adb (Make_DT): Likewise.
1965 (Check_Premature_Freezing): Delete.
1966 Pass Do_Freeze_Profile as False in call to Freeze_Entity.
1967 * freeze.ads (Freezing_Library_Level_Tagged_Type): Delete.
1968 * freeze.adb (Freeze_Profile): Remove obsolete code.
1969 (Freeze_Entity): Tweak comment.
1971 2022-05-30 Yannick Moy <moy@adacore.com>
1973 * libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up.
1975 2022-05-30 Yannick Moy <moy@adacore.com>
1978 * libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic
1979 bodies making use of additional assertions or ghost code.
1980 * libgnat/s-gearop.ads: Remove confusing Assertion_Policy.
1982 2022-05-30 Steve Baird <baird@adacore.com>
1984 * exp_ch11.adb (Expand_N_Raise_Expression): Remove
1985 Convert_To_Return_False test.
1986 * gen_il-fields.ads: Remove Convert_To_Return_False field.
1987 * gen_il-gen-gen_nodes.adb: Remove use of
1988 Convert_To_Return_False field.
1989 * sinfo.ads: Remove comment describing Convert_To_Return_False
1992 2022-05-30 Julien Bortolussi <bortolussi@adacore.com>
1994 * libgnat/a-cofuma.ads, libgnat/a-cofuma.adb,
1995 libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
1996 libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty
1999 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
2001 * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA
2003 (Gen_CUDA_Defs): New function, generating definitions
2004 initialized by Gen_CUDA_Init.
2005 (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of
2007 (Gen_Adainit): Call Gen_CUDA_Init.
2009 2022-05-28 Alexandre Oliva <oliva@adacore.com>
2011 * gcc-interface/Makefile.in (OSCONS_CC): Rename to...
2012 (GCC_FOR_ADA_RTS): ... this. Adjust users.
2013 (gnatlib): Pass it down as CC.
2014 (gnatlib-shared-default): Likewise.
2015 (gnatlib-shared-win32, gnatlib-shared-darwin): Likewise.
2017 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2019 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
2020 a constant related to a return in a function specially.
2021 * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
2022 if the target is a return object.
2023 (gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
2024 to a return in a function specially.
2026 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2028 * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING
2029 on the decl if Comes_From_Source is false for the associated node.
2031 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2033 * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up.
2035 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2037 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
2038 process_attributes for built-in functions.
2039 (prepend_one_attribute_pragma): Deal with "simd" attribute.
2040 * gcc-interface/utils.cc (handle_simd_attribute): New function.
2041 (gnat_internal_attribute_table): Add entry for "simd" attribute.
2043 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2045 * gcc-interface/decl.cc (components_to_record): Use NULL recursively
2046 as P_GNU_REP_LIST for the innermost variant level in the unchecked
2047 union case with a fixed part.
2049 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2051 * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node
2052 to a node without location.
2054 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2056 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And
2057 skip the elaboration of the designated subtype when that of its base
2058 type has been delayed.
2060 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2062 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If
2063 it is a special subtype designated by an access subtype, then defer
2064 the completion of incomplete types.
2066 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2068 * gcc-interface/ada-tree.h, gcc-interface/ada.h,
2069 gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust
2072 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2074 * gcc-interface/utils.cc (unchecked_convert): Do not fold a string
2075 constant if the target type is pointer to character.
2077 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
2079 * sem_prag.adb (Analyze_Pragma): Remove redundant call to
2082 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
2084 * sem_ch8.adb (Find_Expanded_Name): Emit a main error message
2085 before adding a continuation with the call to
2086 Error_Missing_With_Of_Known_Unit.
2088 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2090 * sem_util.ads (Requires_Transient_Scope): Add pragma Inline.
2092 2022-05-19 Steve Baird <baird@adacore.com>
2094 * sem_ch13.adb (Build_Predicate_Functions): If a semantic error
2095 has been detected then ignore Predicate_Failure aspect
2096 specifications in the same way as is done for CodePeer and
2097 SPARK. This avoids an internal compiler error if
2098 Ancestor_Predicate_Function_Called is True but Result_Expr is
2099 not an N_And_Then node (and is therefore unsuitable as an
2100 argument in a call to Left_Opnd).
2102 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2104 * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack
2105 to enclosing function if it does not return on the secondary stack.
2106 * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope
2107 with Manage_Sec_Stack set to True only when necessary.
2108 * sem_res.adb (Resolve_Call): Likewise.
2109 (Resolve_Entry_Call): Likewise.
2111 2022-05-19 Daniel Mercier <mercier@adacore.com>
2113 * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
2114 failure in CodePeer mode.
2116 2022-05-19 Arnaud Charlet <charlet@adacore.com>
2118 * raise-gcc.c: Fix compilation with -DSTANDALONE under windows.
2120 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2122 * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype.
2124 2022-05-19 Javier Miranda <miranda@adacore.com>
2126 * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New
2127 subprogram which factorizes code.
2128 (Expand_N_Attribute_Reference): Call the new subprogram to add
2129 the missing implicit interface type conversion.
2131 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
2133 * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
2134 failure in GNATprove mode.
2136 2022-05-19 Steve Baird <baird@adacore.com>
2138 * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M
2139 function and Set_Predicate_Function_M procedure.
2140 * einfo.ads: Delete comments for Is_Predicate_Function_M and
2141 Predicate_Function_M functions. Add comment for new
2142 Predicate_Expression function. Update comment describing
2143 predicate functions.
2144 * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem
2145 formal parameter with Static_Mem and Dynamic_Mem formals.
2146 (Make_Predicate_Check): Delete Add_Failure_Expression and call
2148 * exp_ch4.adb (Expand_N_In.Predicate_Check): Update
2149 Make_Predicate_Call call to match profile change.
2150 * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add
2151 Predicate_Expression field.
2152 * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M
2153 use, add Predicate_Expression use.
2154 * sem_ch13.adb (Build_Predicate_Functions): Rename as singular,
2155 not plural; we no longer build a Predicate_M function. Delete
2156 Predicate_M references. Add new Boolean parameter for predicate
2157 functions when needed. Restructure body of generated predicate
2158 functions to implement required Predicate_Failure behavior and
2159 to set new Predicate_Expression attribute. Remove special
2160 treatment of raise expressions within predicate expressions.
2161 * sem_util.ads (Predicate_Failure_Expression,
2162 Predicate_Function_Needs_Membership_Parameter): New functions.
2163 * sem_util.adb (Is_Current_Instance): Fix bugs which caused
2165 (Is_Current_Instance_Reference_In_Type_Aspect): Delete
2166 Is_Predicate_Function_M reference.
2167 (Predicate_Failure_Expression): New function.
2168 (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M
2171 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2173 * exp_ch6.adb (Expand_Call_Helper): Adjust comment.
2174 (Expand_Simple_Function_Return): For the case of a type which needs
2175 finalization and is returned on the primary stack, do not create a
2176 copy if the expression originates from a function call.
2177 * exp_ch7.adb (Transient Scope Management): Adjust comment.
2178 * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line.
2179 * fe.h (Is_Related_To_Func_Return): Declare.
2181 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
2183 * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts
2184 from the constructed IF statement.
2186 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
2188 * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose
2189 condition was true-by-construction; remove excessive assertion
2190 (since the call to Elsif_Parts will check that Nod is present
2191 and it is an if-statement).
2193 2022-05-19 Arnaud Charlet <charlet@adacore.com>
2195 * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref.
2196 * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
2197 doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto.
2198 * gnat_ugn.texi: Regenerate.
2199 * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads,
2200 xref_lib.adb, xref_lib.ads: Removed, no longer used.
2202 2022-05-19 Claire Dross <dross@adacore.com>
2204 * libgnat/a-strfix.adb: Add assertions.
2205 * libgnat/a-strsup.adb: Idem.
2207 2022-05-19 Ed Schonberg <schonberg@adacore.com>
2209 * erroutc.ads: Fix a single-character typo in a comment.
2210 * exp_aggr.adb: Fix a single-character typo in a comment.
2211 Replace several pairs of calls to Low_Bound and
2212 High_Bound (which do not handle an identifier that denotes a
2213 scalar subtype) with corresponding calls to Get_Index_Bounds
2214 (which does handle that case).
2215 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the
2216 Component_Associations attribute of a null array aggregate to
2218 * sem_aggr.ads: New visible function
2219 Is_Null_Array_Aggregate_High_Bound.
2220 * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound,
2221 Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions.
2222 (Resolve_Aggregate): Recognize null array aggregates (using
2223 Is_Null_Aggregate) and, when one is recognized, resolve
2224 it (using Resolve_Null_Array_Aggregate). Avoid calling
2225 Array_Aggr_Subtype for a null array aggregate; the needed
2226 subtype is built in Resolve_Null_Array_Aggregate. Do not
2227 incorrectly flag a null aggregate (after it is transformed by
2228 expansion) as being both positional and named.
2229 * sem_attr.adb (Eval_Attribute): Special treatment for null
2230 array aggregate high bounds to avoid incorrectly flagging
2231 something like Integer'Pred (Integer'First) as an illegal static
2233 * sem_eval.adb (Out_Of_Range): Special treatment for null array
2234 aggregate high bounds to avoid incorrectly flagging something
2235 like Integer'Pred (Integer'First) as an illegal static
2238 2022-05-19 Yannick Moy <moy@adacore.com>
2240 * libgnat/s-aridou.adb (Lemma_Abs_Range,
2241 Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas.
2242 (Double_Divide): Add ghost code.
2243 (Lemma_Concat_Definition, Lemma_Double_Shift_Left,
2244 Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas.
2245 (Scaled_Divide): Add ghost code.
2247 2022-05-19 Bob Duff <duff@adacore.com>
2249 * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same*
2250 modular type, with a check for any modular type, and assert that
2251 the two types have the same modulus and so on.
2252 * exp_pakd.ads: Minor comment improvements.
2254 2022-05-19 Bob Duff <duff@adacore.com>
2256 * style.adb (Check_Identifier): Deal with the case where a
2257 record component definition has been transformed; we want to
2258 warn if the original came from source.
2259 * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF
2261 * uname.adb: Fix casing of Chars to be consistent.
2262 * sem_util.ads: Minor comment fix.
2264 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2266 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta.
2267 * debug.adb (d_r): Document usage.
2268 * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool.
2269 * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to
2270 Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal
2271 with types that need finalization returned on the primary stack,
2272 use CW_Or_Needs_Finalization for those returned on the secondary.
2273 * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early
2274 for the return stack pool.
2275 (Remove_Side_Effects): Call CW_Or_Needs_Finalization.
2276 * fe.h (Requires_Transient_Scope): Delete.
2277 (Returns_On_Secondary_Stack): Declare.
2278 * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot
2279 to False when generating C code or if -gnatd_r is specified.
2280 * opt.ads (Back_End_Return_Slot): New boolean variable.
2281 * rtsfind.ads (RTU_Id): Add System_Return_Stack.
2282 (RE_Id): Add RE_RS_Allocate and RE_RS_Pool.
2283 (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool.
2284 * sem_util.ads (CW_Or_Has_Controlled_Part): Delete.
2285 (CW_Or_Needs_Finalization): Declare.
2286 (Requires_Transient_Scope): Adjust description.
2287 (Returns_On_Secondary_Stack): Declare.
2288 * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types
2289 which need finalization if they are returned on the secondary stack.
2290 (CW_Or_Has_Controlled_Part): Rename to...
2291 (CW_Or_Needs_Finalization): ...this.
2292 (Requires_Transient_Scope): Move bulk of implementation to...
2293 (Returns_On_Secondary_Stack): ...here. Return true for types which
2294 need finalization only if the back-end return slot is not supported.
2295 * libgnat/s-retsta.ads: New file.
2296 * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define.
2297 * gcc-interface/ada-builtins.def (return_slot): Likewise.
2298 * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise.
2299 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to
2300 Requires_Transient_Scope with Returns_On_Secondary_Stack.
2301 * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>:
2302 In the return by invisible reference, skip the copy if the source
2303 is the same as the destination.
2304 * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with
2305 the return stack pool.
2307 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2309 * gcc-interface/trans.cc: Fix formatting issues in comments.
2310 (Subprogram_Body_to_gnu): Tidy up.
2311 (Exception_Handler_to_gnu_gcc): Rename into...
2312 (Exception_Handler_to_gnu): ...this.
2313 (gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming.
2315 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2317 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple
2318 of local variables and use Is_Generic_Subprogram predicate.
2319 (process_decls): Likewise.
2321 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
2323 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with
2324 inlining heuristics for expression functions here but...
2325 * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead
2326 and do not override them at -Os.
2328 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
2330 * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code
2331 which expected Scope to return E_Subprogram_Body entity.
2333 2022-05-18 Claire Dross <dross@adacore.com>
2335 * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion.
2337 2022-05-18 Doug Rupp <rupp@adacore.com>
2339 * sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *.
2341 2022-05-18 Doug Rupp <rupp@adacore.com>
2343 * sigtramp-arm-qnx.c: Rewrite.
2345 2022-05-18 Yannick Moy <moy@adacore.com>
2347 * libgnat/s-aridou.adb (Big3): Change return type.
2348 (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder
2350 (Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New
2352 (Double_Divide, Scaled_Divide): Add assertions.
2354 2022-05-18 Claire Dross <dross@adacore.com>
2356 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions.
2358 2022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
2360 * libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output
2361 parameter in case we return early.
2363 2022-05-18 Bob Duff <duff@adacore.com>
2365 * libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads,
2366 libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
2367 libgnat/a-cbhase.adb, libgnat/a-cdlili.adb,
2368 libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb,
2369 libgnat/a-cfhase.adb, libgnat/a-cidlli.adb,
2370 libgnat/a-cihama.adb, libgnat/a-cihase.adb,
2371 libgnat/a-cohama.adb, libgnat/a-cohase.adb,
2372 libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb
2373 (Vet): Make the Vet functions do nothing when
2374 Container_Checks'Enabled is False, and inline them, so the calls
2375 disappear when optimizing.
2377 2022-05-18 Doug Rupp <rupp@adacore.com>
2379 * Makefile.rtl (arm-qnx): Use default (non-fma) target pair.
2381 2022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
2383 * libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to
2384 changes in the signature of Read_Aranges_*.
2385 (Debug_Info_Lookup): Do not control address size read from
2387 (Read_Aranges_Header): Do not control address size read from
2388 DWARF; return this size.
2389 (Read_Aranges_Entry): Use the size returned by
2390 Read_Aranges_Header.
2392 2022-05-18 Gary Dismukes <dismukes@adacore.com>
2394 * errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and
2396 * errout.adb (Error_Msg_GNAT_Extension): Condition message on
2397 the flag Ada_Version_Pragma, and add suggestion to use of pragma
2398 Extensions_Allowed in messages.
2399 * par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb,
2400 par-ch12.adb: Add actual Token_Ptr on calls to
2401 Error_Msg_GNAT_Extension.
2402 * par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for
2403 error calls related to use of extension features.
2404 * sem_ch13.adb: Likewise.
2406 2022-05-18 Johannes Kliemann <kliemann@adacore.com>
2408 * libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
2411 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
2413 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form.
2415 2022-05-18 Javier Miranda <miranda@adacore.com>
2417 * sem_ch6.adb (Find_Corresponding_Spec): Avoid calling
2418 Is_Null_Extension with a class-wide type entity.
2419 (Overrides_Visible_Function): Handle alias entities.
2420 * sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion
2421 not needed if the result type of the call is class-wide or if
2422 the result type matches the context type.
2423 * sem_util.ads (Is_Null_Extension): Adding documentation.
2424 (Is_Null_Extension_Of): Adding documentation.
2425 * sem_util.adb (Is_Null_Extension): Adding assertion.
2426 (Is_Null_Extension_Of): Adding assertions.
2428 2022-05-18 Javier Miranda <miranda@adacore.com>
2430 * snames.ads-tmpl (Name_Index): New attribute name.
2431 (Attribute_Id): Adding Attribute_Index as regular attribute.
2432 * sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
2434 (Analyze_Index_Attribute): Check that 'Index appears in a
2435 pre-/postcondition aspect or pragma associated with an entry
2437 (Analyze_Attribute): Adding semantic analysis for 'Index.
2438 (Eval_Attribute): Register 'Index as can never be folded.
2439 (Resolve_Attribute): Resolve attribute 'Index.
2440 * sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
2442 (Analyze_Requeue): Check that the requeue target shall not have
2443 an applicable specific or class-wide postcondition which
2444 includes an Index attribute reference.
2445 * exp_attr.adb (Expand_N_Attribute_Reference): Transform
2446 attribute Index into a renaming of the second formal of the
2447 wrapper built for an entry family that has contract cases.
2448 * einfo.ads (Is_Entry_Wrapper): Complete documentation.
2450 2022-05-18 Yannick Moy <moy@adacore.com>
2452 * libgnat/s-imagei.adb (Set_Digits): Add assertion.
2453 * libgnat/s-imgboo.adb (Image_Boolean): Add assertions.
2454 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
2456 2022-05-18 Arnaud Charlet <charlet@adacore.com>
2458 * sem_aux.adb (Is_Immutably_Limited_Type): Do not look through
2459 private types as per RM 7.5(8.1).
2460 * sem_ch6.adb (Analyze_Function_Return): Use
2461 Is_Immutably_Limited_Type as per RM 6.5(5.10).
2463 2022-05-18 Marc Poulhiès <poulhies@adacore.com>
2465 * gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add
2466 Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes.
2467 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting.
2468 * sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets
2469 for record aggregate.
2470 (Resolve_Record_Aggregate): Uniformise error message.
2472 2022-05-18 Arnaud Charlet <charlet@adacore.com>
2474 * ali.adb (Scan_ALI): Special case a-tags.ali when setting
2476 * bindgen.adb (Gen_Adainit): Simplify handling of secondary
2477 stack related code, and only import __gnat_binder_ss_count when
2479 * libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to
2482 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
2484 * libgnat/s-dourea.adb ("/"): Add guard for zero and infinite
2486 * libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large
2489 2022-05-18 Yannick Moy <moy@adacore.com>
2491 * sem_elab.adb (Is_Suitable_Construct): Fix for generated
2494 2022-05-18 Marc Poulhiès <poulhies@adacore.com>
2496 * sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check
2497 for type conversion if object's subtype and expression's subtype
2499 * exp_prag.adb (Expand_Pragma_Check): Typo fix in comment.
2501 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
2503 * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo.
2504 * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the
2505 renaming only for actuals of formal objects.
2507 2022-05-18 Gary Dismukes <dismukes@adacore.com>
2509 * sem_ch3.adb (Check_Abstract_Overriding): If the type is
2510 derived from an untagged type, then don't perform any of the
2511 abstract overriding error checks.
2513 2022-05-18 Piotr Trojanek <trojanek@adacore.com>
2515 * exp_aggr.adb (Component_Count): Calculate size as an Uint and
2516 only then check if it is in the range of Int, as otherwise the
2517 multiplication of Int values can overflow.
2519 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
2521 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext).
2522 (SIMD_PATH_TARGET_PAIRS): New variable.
2523 (TRASYM_DWARF_COMMON_OBJS): Minor tweak.
2524 (x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS.
2525 (x32/Linux): Likewise.
2526 * doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions):
2528 * gnat_rm.texi: Regenerate.
2529 * impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu.
2530 * sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for
2531 instances of generic packages that do not have a body.
2532 * libgnat/a-nalofl__simd.ads: New SIMD-enabled version.
2533 * libgnat/a-nuaufl__simd.ads: Likewise.
2534 * libgnat/g-gfmafu.ads: New package renaming unit.
2536 2022-05-18 Arnaud Charlet <charlet@adacore.com>
2538 * freeze.adb (Should_Freeze_Type): Fix handling of freezing in
2541 2022-05-18 Marc Poulhiès <poulhies@adacore.com>
2543 * sem_ch12.adb (Check_Generic_Parent): Use
2544 Get_Unit_Instantiation_Node instead of Next.
2546 2022-05-18 Alexandre Oliva <oliva@adacore.com>
2548 * libgnat/a-nagefl.ads: Replace mentions of C/unix math library
2550 * libgnat/a-nallfl.ads: Likewise. State compatibility
2552 * libgnat/a-nalofl.ads: Likewise.
2553 * libgnat/a-nuaufl.ads: Likewise.
2555 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
2557 * sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
2558 In_Instance to outer condition.
2560 2022-05-18 Doug Rupp <rupp@adacore.com>
2562 * Makefile.rtl: Rename system-qnx-aarch64.ads to
2564 (AARCH64 QNX section): Modify to handle both arm and arch64.
2565 * tracebak.c (__QNX__): Add new __ARMEL__ section.
2566 * sigtramp-arm-qnx.c: New file.
2567 * libgnat/system-qnx-aarch64.ads: Renamed to ...
2568 * libgnat/system-qnx-arm.ads: this.
2570 2022-05-17 Piotr Trojanek <trojanek@adacore.com>
2572 * sem_res.adb (Flag_Effectively_Volatile_Objects): Restore
2575 2022-05-17 Gary Dismukes <dismukes@adacore.com>
2577 * sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for
2578 the case of a renamed subprogram given by an expanded name whose
2579 outermost prefix names a unit that is hidden by the name of the
2581 (Ult_Expanded_Prefix): New local expression function to return
2582 the ultimate prefix of an expanded name.
2584 2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
2586 * gnat_cuda.ads: Update package-level comments.
2587 (Build_And_Insert_CUDA_Initialization): Remove function.
2588 * gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove
2590 (Expand_CUDA_Package): Remove call to
2591 Build_And_Insert_CUDA_Initialization.
2593 2022-05-17 Etienne Servais <servais@adacore.com>
2595 * freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance
2596 message and silence warning for size > 32.
2598 2022-05-17 Yannick Moy <moy@adacore.com>
2600 * exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no
2602 * inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New
2604 * inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New
2606 (Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding
2607 inlining for subprograms inside generics.
2608 * sem_ch12.adb (Copy_Generic_Node): Preserve global entities
2609 when inlining in GNATprove mode.
2610 * sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to
2611 inline if renaming is detected in GNATprove mode.
2613 2022-05-17 Gary Dismukes <dismukes@adacore.com>
2615 * exp_ch4.adb (Expand_N_Allocator): For an allocator with an
2616 unconstrained discriminated designated type, and whose
2617 allocation subtype is constrained, set the
2618 Actual_Designated_Subtype of the dereference passed to the init
2619 proc of the designated type to be the allocation subtype.
2620 * sinfo.ads: Add documentation of new setting of
2621 Actual_Designated_Subtype on a dereference used as an actual
2622 parameter of call to an init proc associated with an allocator.
2623 Also add missing syntax and documentation for the GNAT language
2624 extension that allows an expression as a default for a concrete
2625 generic formal function.
2627 2022-05-17 Bob Duff <duff@adacore.com>
2629 * sinfo.ads: Remove From_At_End. Update comments.
2630 * gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb:
2632 * exp_ch11.adb (Expand_At_End_Handler): Remove assertion.
2633 * fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC,
2634 Has_Invariants, Is_List_Member, List_Containing): Remove
2635 declarations that are not used in gigi.
2636 * opt.ads (Exception_Mechanism): This is not used in gigi.
2637 * exp_util.ads: Minor comment fix.
2639 2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
2641 * impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list.
2643 2022-05-17 Yannick Moy <moy@adacore.com>
2645 * sem_ch5.adb (Analyze_Iterator_Specification): Use
2646 Insert_Action when possibly inside an expression.
2648 2022-05-17 Marc Poulhiès <poulhies@adacore.com>
2650 * libgnat/g-forstr.adb (Is_Number): Add scientific notation and
2651 shortest representation.
2653 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
2655 * exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N.
2657 2022-05-17 Bob Duff <duff@adacore.com>
2659 * exp_util.adb (Requires_Cleanup_Actions): Remove
2660 N_Protected_Body from the case statement, so that case will be
2661 covered by "raise Program_Error".
2663 2022-05-17 Bob Duff <duff@adacore.com>
2665 * output.adb (Pop_Output, Set_Output): Unconditionally flush
2666 output when switching from one output destination to another.
2667 Otherwise buffering can cause garbled output.
2668 (w): Push/pop the current settings, and temporarily
2669 Set_Standard_Error during these procedures.
2671 2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
2673 * libgnat/g-binsea.ads, libgnat/g-binsea.adb
2674 (GNAT.Binary_Search): New package.
2675 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list.
2676 * doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New
2678 * gnat_rm.texi: Regenerate.
2680 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
2682 * sem_ch12.ads (Is_Abbreviated_Instance): Declare.
2683 * sem_ch12.adb (Check_Abbreviated_Instance): Declare.
2684 (Requires_Conformance_Checking): Declare.
2685 (Analyze_Association.Process_Default): Fix subtype of parameter.
2686 (Analyze_Formal_Object_Declaration): Check whether it is in the
2687 visible part of abbreviated instance.
2688 (Analyze_Formal_Subprogram_Declaration): Likewise.
2689 (Analyze_Formal_Type_Declaration): Likewise.
2690 (Analyze_Package_Instantiation): Do not check for a generic child
2691 unit in the case of an abbreviated instance.
2692 (Check_Abbreviated_Instance): New procedure.
2693 (Check_Formal_Packages): Tidy up.
2694 (Copy_Generic_Elist): Fix comment.
2695 (Instantiate_Formal_Package): Tidy up. If the generic unit is a
2696 child unit, copy the qualified name onto the abbreviated instance.
2697 (Is_Abbreviated_Instance): New function.
2698 (Collect_Previous_Instances): Call Is_Abbreviated_Instance.
2699 (Requires_Conformance_Checking): New function.
2700 * sem_ch7.adb (Analyze_Package_Specification): Do not install the
2701 private declarations of the parent for an abbreviated instance.
2703 2022-05-17 Etienne Servais <servais@adacore.com>
2705 * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type
2707 (Constrain_Array): Ditto for T.
2709 2022-05-17 Arnaud Charlet <charlet@adacore.com>
2711 * sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow
2712 'Reduce for Ada 2022 and above.
2713 * sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer
2714 implementation defined.
2716 2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
2718 * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate
2719 Abort_Undefers when not Abort_Allowed.
2721 2022-05-17 Marc Poulhiès <poulhies@adacore.com>
2723 * exp_ch7.adb: Fix typo.
2725 2022-05-17 Etienne Servais <servais@adacore.com>
2727 * lib.ads: initialize `Compiler_State` to `Parsing`.
2729 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
2731 * sem_ch13.adb (Has_Compatible_Representation): Return true for
2732 derived untagged record types without representation clause.
2734 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
2736 * sem_ch13.ads (Has_Compatible_Representation): Minor tweaks.
2737 * sem_ch13.adb (Has_Compatible_Representation): Look directly into
2738 the (implementation) base types and simplifiy accordingly.
2739 * exp_ch5.adb (Change_Of_Representation): Adjust.
2740 * exp_ch6.adb (Expand_Actuals): Likewise.
2742 2022-05-17 Etienne Servais <servais@adacore.com>
2744 * sem_ch5.adb (Analyze_Assignment): Remove superfluous call to
2747 2022-05-17 Javier Miranda <miranda@adacore.com>
2749 * freeze.adb (Freeze_Entity): Protect the call to
2750 Declaration_Node against entities of expressions replaced by the
2751 frontend with an N_Raise_CE node.
2753 2022-05-17 Javier Miranda <miranda@adacore.com>
2755 * freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding
2756 indicator because the DTW wrapper overrides its wrapped
2758 * contracts.ads (Make_Class_Precondition_Subps): Adding
2761 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
2763 * exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for
2764 subprograms only if they have no actions.
2765 * exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions
2766 field of the freeze node instead of inserting them after it.
2767 * sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment.
2768 * gcc-interface/trans.cc (process_freeze_entity): Return early for
2769 freeze nodes of subprograms with Interface_Alias set.
2771 2022-05-17 Javier Miranda <miranda@adacore.com>
2773 * contracts.adb (Build_Call_Helper_Body): Improve handling of
2774 the case of a (legal) non-dispatching call to an abstract
2777 2022-05-17 Piotr Trojanek <trojanek@adacore.com>
2779 * doc/gnat_rm/implementation_defined_attributes.rst
2780 (Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume;
2782 * gnat_rm.texi: Regenerate.
2784 2022-05-17 Etienne Servais <servais@adacore.com>
2786 * par-ch3.adb (P_Access_Type_Definition): Outputs an error if
2787 token is not "access".
2789 2022-05-17 Piotr Trojanek <trojanek@adacore.com>
2791 * exp_ch2.adb (Expand_Current_Value): Remove special case for
2792 references immediately within pragma argument associations.
2793 * exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special
2796 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
2798 * sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the
2799 equality operator on the homonym chain if there is another equality
2800 operator in the private part.
2802 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
2804 * exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value
2805 propagation when analysing the constant that holds the
2806 Loop_Entry prefix value.
2808 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
2810 * sem_attr.adb (Address_Checks): Remove call to
2811 Kill_Current_Values for subprogram entities, because this
2812 routine only does something for object entities.
2814 2022-05-16 Justin Squirek <squirek@adacore.com>
2816 * exp_ch7.adb (Build_Finalizer): Disable late evaluation of
2817 postconditions for functions returning types which where
2818 Has_Unconstrained_Elements is true or are unconstrained arrays.
2820 2022-05-16 Etienne Servais <servais@adacore.com>
2822 * exp_ch4.adb (Expand_N_Qualified_Expression): Freeze
2825 2022-05-16 Yannick Moy <moy@adacore.com>
2827 * libgnat/s-aridou.adb (Double_Divide): Add intermediate
2830 2022-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
2832 * lib-writ.adb (Output_CUDA_Symbols): Check for null packages.
2834 2022-05-16 Joel Brobecker <brobecker@adacore.com>
2836 * libgnat/g-debpoo.ads: Improve documentation of the
2837 Stack_Trace_Depth parameter.
2839 2022-05-16 Joel Brobecker <brobecker@adacore.com>
2841 * init.c (__gnat_install_handler) [__QNX__]: Save sigaction's
2842 return value in err before checking err's value. Fix incorrect
2843 signal names in perror messages.
2845 2022-05-16 Joel Brobecker <brobecker@adacore.com>
2847 * init.c (__gnat_install_handler) [__QNX__]: Set
2848 act.sa_sigaction rather than act.sa_handler.
2850 2022-05-16 Joel Brobecker <brobecker@adacore.com>
2852 * cstreams.c: Add <stdlib.h> #include.
2854 2022-05-16 Joel Brobecker <brobecker@adacore.com>
2856 * terminals.c: Remove bzero #define on HP/UX or Solaris
2858 (child_setup_tty): Replace bzero call by equivalent call to
2861 2022-05-16 Gary Dismukes <dismukes@adacore.com>
2863 * sem_util.ads (Storage_Model_Support): Revise comments on most
2864 operations within this nested package to reflect that they can
2865 now be passed either a type that has aspect Storage_Model_Type
2866 or an object of such a type. Change the names of the relevant
2867 formals to SM_Obj_Or_Type. Also, add more precise semantic
2868 descriptions in some cases, and declare the subprograms in a
2870 * sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add
2871 an assertion that the type must specify aspect
2872 Designated_Storage_Model, rather than returning Empty when it
2873 doesn't specify that aspect.
2874 (Storage_Model_Support.Storage_Model_Type): Add an assertion
2875 that formal must be an object whose type specifies aspect
2876 Storage_Model_Type, rather than returning Empty for when it
2877 doesn't have such a type (and test Has_Storage_Model_Type_Aspect
2878 rather than Find_Value_Of_Aspect).
2879 (Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow
2880 both objects and types, and add an assertion that the type (or
2881 the type of the object) has a value for aspect
2884 2022-05-16 Etienne Servais <servais@adacore.com>
2886 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
2887 Fix condition to return.
2889 2022-05-16 Yannick Moy <moy@adacore.com>
2891 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment.
2893 2022-05-16 Marc Poulhiès <poulhies@adacore.com>
2895 * sem_aggr.adb (Resolve_Iterated_Association): Create scope
2896 around N_Iterated_Element_Association handling. Analyze a copy
2897 of the Loop_Parameter_Specification. Call Analyze instead
2898 Analyze_* to be more homogeneous.
2899 (Sem_Ch5): Remove now unused package.
2901 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
2903 * exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>:
2904 Climb up out of the node if the actions come from Discrete_Choices.
2906 2022-05-16 Javier Miranda <miranda@adacore.com>
2908 * sem_disp.adb (Check_Dispatching_Context): When checking to see
2909 whether an expression occurs in a class-wide pre/post-condition,
2910 also check for the possibility that it occurs in a class-wide
2911 preconditions subprogram that was introduced as part of
2912 expansion. Without this fix, some legal calls occuring in
2913 class-wide preconditions may be incorrectly flagged as violating
2914 the "a call to an abstract subprogram must be dispatching" rule.
2916 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
2918 * inline.adb (Cleanup_Scopes): Test the underlying type.
2920 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
2922 * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare.
2923 * sem_util.adb (Is_Entity_Of_Quantified_Expression): New
2925 (New_Copy_Tree): Deal with all entities of quantified
2927 * sem_ch13.adb (Build_Predicate_Functions): Get rid of
2928 superfluous tree copying and remove obsolete code.
2929 * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all
2930 entities of quantified expressions.
2932 2022-05-16 Steve Baird <baird@adacore.com>
2934 * exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call
2935 variable to keep track of the last "early finalization" call
2936 generated for type extension's finalization procedure. If
2937 non-empty, then this will indicate the point at which to insert
2938 the call to the parent type's finalization procedure. Modify
2939 nested function Process_Component_List_For_Finalize to set this
2940 variable (and avoid setting it during a recursive call). If
2941 Last_POC_Call is empty, then insert the parent finalization call
2942 before, rather than after, the finalization code for the
2943 extension components.
2945 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
2947 * einfo-utils.adb (Remove_Entity): Fix couple of oversights.
2948 * exp_ch3.adb (Is_User_Defined_Equality): Delete.
2949 (User_Defined_Eq): Call Get_User_Defined_Equality.
2950 (Make_Eq_Body): Likewise.
2951 (Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality.
2952 * exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality.
2953 (Is_Equality): Delete.
2954 (User_Defined_Primitive_Equality_Op): Likewise.
2955 (Find_Aliased_Equality): Call Is_User_Defined_Equality.
2956 (Expand_N_Op_Eq): Call Underlying_Type unconditionally.
2957 Do not implement AI12-0101 + AI05-0123 here.
2958 (Expand_Set_Membership): Call Resolve_Membership_Equality.
2959 * exp_ch6.adb (Expand_Call_Helper): Remove obsolete code.
2960 * sem_aux.ads (Is_Record_Or_Limited_Type): Delete.
2961 * sem_aux.adb (Is_Record_Or_Limited_Type): Likewise.
2962 * sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare.
2963 * sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation.
2964 (Analyze_Membership_Op): Call Resolve_Membership_Equality.
2965 (Nondispatching_Call_To_Abstract_Operation): New procedure.
2966 (Remove_Abstract_Operations): Call it.
2967 * sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and
2968 call Is_User_Defined_Equality.
2969 * sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure
2970 implementing AI12-0101 + AI05-0123.
2971 (Analyze_Package_Specification): Call it.
2972 (Declare_Inherited_Private_Subprograms): Minor tweak.
2973 (Uninstall_Declarations): Likewise.
2974 * sem_disp.adb (Check_Direct_Call): Adjust to new implementation
2975 of Is_User_Defined_Equality.
2976 * sem_res.ads (Resolve_Membership_Equality): Declare.
2977 * sem_res.adb (Resolve): Replace direct error handling with call to
2978 Nondispatching_Call_To_Abstract_Operation
2979 (Resolve_Call): Likewise.
2980 (Resolve_Equality_Op): Likewise. mplement AI12-0413.
2981 (Resolve_Membership_Equality): New procedure.
2982 (Resolve_Membership_Op): Call Get_User_Defined_Equality.
2983 * sem_util.ads (Get_User_Defined_Eq): Rename into...
2984 (Get_User_Defined_Equality): ...this.
2985 * sem_util.adb (Get_User_Defined_Eq): Rename into...
2986 (Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality.
2987 (Is_User_Defined_Equality): Also check the profile but remove tests
2988 on Comes_From_Source and Parent.
2989 * sinfo.ads (Generic_Parent_Type): Adjust field description.
2990 * uintp.ads (Ubool): Invoke user-defined equality in predicate.
2992 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
2994 * exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a
2995 call to Get_User_Defined_Eq.
2997 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
2999 * exp_ch3.adb (Build_Untagged_Equality): Exit early when the
3000 outcome of a loop is already known.
3002 2022-05-16 Olivier Hainque <hainque@adacore.com>
3004 * Makefile.rtl: Add aarch64 to the list of CPUs for which
3005 GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2.
3007 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
3009 * sem_ch4.adb (Analyze_Negation): Minor tweak.
3010 (Analyze_Unary_Op): Likewise.
3012 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
3014 * exp_ch3.adb (Build_Assignment): Adjust to the new definition of
3015 Incomplete_View field.
3016 * sem_ch10.ads (Decorate_Type): Declare.
3017 * sem_ch10.adb (Decorate_Type): Move to library level.
3018 (Install_Limited_With_Clause): In the already analyzed case, also
3019 deal with incomplete type declarations present in the sources and
3020 simplify the replacement code.
3021 (Build_Shadow_Entity): Deal with swapped views in package body.
3022 (Restore_Chain_For_Shadow): Deal with incomplete type declarations
3023 present in the sources.
3024 * sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new
3025 definition of Incomplete_View field.
3026 (Build_Incomplete_Type_Declaration): Small consistency tweak.
3027 Set the incomplete type as the Incomplete_View of the full type.
3028 If the scope is a package with a limited view, build a shadow
3029 entity for the incomplete type.
3030 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing
3031 the limited view of a CW type as designated type of an anonymous
3032 access return type, get to the CW type of the incomplete view of
3033 the tagged type, if any.
3034 (Collect_Primitive_Operations): Adjust to the new definition of
3035 Incomplete_View field.
3036 * sinfo.ads (Incomplete_View): Denote the entity itself instead
3038 * sem_util.adb: Remove call to Defining_Entity.
3040 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
3042 * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a
3043 subtype recurse into its base type.
3045 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
3047 * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify.
3049 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
3051 * sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma
3054 2022-05-16 Martin Liska <mliska@suse.cz>
3056 * locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE.
3057 (language_name_to_639_3): Likewise.
3058 (country_name_to_3166): Likewise.
3060 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3062 * gcc-interface/decl.cc (is_cplusplus_method): Build proper
3063 String for Get_External_Name.
3065 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
3067 * sem_ch3.adb (Derive_Subprogram): For a function, also copy the
3068 Returns_By_Ref flag from the parent.
3070 2022-05-13 Gary Dismukes <dismukes@adacore.com>
3072 * sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the
3073 expression of the aspect at this point, like other aspects that
3074 denote simple entities. Ensures that function
3075 Storage_Model_Object will have an entity to retrieve from the
3076 aspect expression. Also, move comment about aspects that don't
3077 require delay analysis in front of last alternative of the case
3078 statement, where it's supposed to be.
3080 2022-05-13 Javier Miranda <miranda@adacore.com>
3082 * contracts.adb (Build_Unique_Name): New subprogram.
3083 (Make_Class_Precondition_Subps): Use Build_Unique_Name to
3084 generate the names of the call helpers and the name of indirect
3086 * freeze.adb (Needs_Wrapper): Remove dead code.
3087 (Check_Inherited_Conditions): Defer building helpers and ICW
3088 until all the dispatch table wrappers have been built and
3089 analyzed. Required to ensure uniqueness in their names because
3090 when building these wrappers for overlapped subprograms their
3091 homonym number is not definite until they have been analyzed.
3093 2022-05-13 Arnaud Charlet <charlet@adacore.com>
3095 * libgnarl/s-taprop__linux.adb (Initialize): Do not use an
3096 alternate stack if no handler for SEGV is installed.
3098 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3100 * doc/gnat_rm/security_hardening_features.rst (Control Flow
3101 Redundancy): Drop mentions of noreturn and tail calls.
3102 * gnat_rm.texi: Regenerate.
3104 2022-05-13 Ghjuvan Lacambre <lacambre@adacore.com>
3106 * ali.adb: Introduce new 'K' line in ALI files, used to
3107 represent CUDA kernel entries.
3108 * ali.ads: Create new CUDA_Kernels table, which contains entries
3109 of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds
3110 to a K line in an ali file.
3111 * bindgen.adb: Introduce new Gen_CUDA_Init procedure in the
3112 binder, which generates CUDA kernel registration code.
3113 * gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to
3114 make it available to bindgen.adb.
3115 * gnat_cuda.ads: Likewise.
3116 * lib-writ.adb: Introduce new Output_CUDA_Symbols procedure,
3117 which generates one 'K' line in the ALI file per visible CUDA
3119 * opt.ads: Introduce Enable_CUDA_Expansion option, triggered by
3120 using the -gnatd_c flag.
3121 * switch-b.adb: Likewise.
3122 * switch-c.adb: Likewise.
3124 2022-05-13 Marc Poulhiès <poulhies@adacore.com>
3126 * exp_aggr.adb (Gen_Loop): Create scope for loop variable of
3127 iterated components.
3129 2022-05-13 Yannick Moy <moy@adacore.com>
3131 * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index):
3132 Remove useless functions.
3133 (Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt
3134 to removal of wrapper functions.
3135 * libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index):
3136 Remove useless functions.
3137 * libgnat/a-chtgfo.adb (Checked_Index): Remove useless function.
3138 (Clear): Delete code commented out regarding Busy and Lock
3140 (Delete_Node_At_Index): Delete unused procedure.
3141 (Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to
3142 removal of wrapper functions.
3143 * libgnat/a-chtgfo.ads (Checked_Index): Remove useless function.
3144 (Delete_Node_At_Index): Delete unused procedure.
3146 2022-05-13 Yannick Moy <moy@adacore.com>
3148 * libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid
3150 (Assign, Move): Remove address comparison.
3151 (Include): Insert constants for subtype constraints.
3152 (Insert): Rewrite to avoid aliasing and function with side-effects.
3153 * libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid
3155 (Assign, Move): Remove address comparison.
3156 (Difference, Intersection, Is_Subset, Overlap,
3157 Symmetric_Difference, Union): Remove address comparison. Insert
3158 constants for subtype constraints.
3159 (Insert): Rewrite to avoid aliasing and function with
3161 * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index,
3162 Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index):
3163 Type for hash tables not tagged anymore.
3164 (Generic_Conditional_Insert): New_Node generic formal is a
3165 procedure taking the hash table as first parameter now, to avoid
3166 aliasing in the caller.
3167 * libgnat/a-chtgfk.ads: Same.
3168 * libgnat/a-chtgfo.adb (Checked_Index, Clear,
3169 Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free,
3170 Generic_Allocate, Generic_Iteration, Generic_Read,
3171 Generic_Write, Index, Next): Type for hash tables not tagged
3173 (Generic_Equal): Removed tagged. Remove address comparison.
3174 * libgnat/a-chtgfo.ads: Same.
3175 * libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged.
3177 2022-05-13 Yannick Moy <moy@adacore.com>
3179 * Makefile.rtl: Add new files.
3180 * libgnat/a-cfhama.adb: Use formal version of hash tables.
3181 * libgnat/a-cfhama.ads: Same.
3182 * libgnat/a-cfhase.adb: Same.
3183 * libgnat/a-cfhase.ads: Same.
3184 * libgnat/a-chtgfk.adb: New unit for formal containers, modified
3185 version of Generic_Bounded_Keys.
3186 * libgnat/a-chtgfk.ads: Same.
3187 * libgnat/a-chtgfo.adb: New unit for formal containers, modified
3188 version of Generic_Bounded_Operations.
3189 * libgnat/a-chtgfo.ads: Same.
3190 * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third
3191 version of the type for hash tables, equivalent to the bounded
3192 version without tampering checks.
3194 2022-05-13 Javier Miranda <miranda@adacore.com>
3196 * freeze.adb (Check_Inherited_Conditions): Dispatch table
3197 wrappers must be placed in the list of entities of their scope
3198 at the same place of their wrapped primitive. This is required
3199 for private types since these wrappers are built when their full
3200 tagged type declaration is frozen but they may override a
3201 primitive defined in the public part of the package (and it is
3202 important to maintain the wrapper in the list of public entities
3203 of the package to ensure their correct visibility).
3205 2022-05-13 Johannes Kanig <kanig@adacore.com>
3207 * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT
3208 environment variable is set, we use that as the prefix, instead
3209 of computing the prefix from the executable location.
3211 2022-05-13 Steve Baird <baird@adacore.com>
3213 * exp_ch3.ads (Build_Intialization_Call): Add new formal
3214 parameter, Init_Control_Actual, with default value. Clients
3215 outside of package Exp_Ch3 are unaffected.
3216 * exp_ch3.adb (Initialization_Control): new package; support for
3217 this 4-valued parameter. The existing Requires_Late_Init
3218 function is moved into this new package.
3219 (Build_Initialization_Call): Add new formal parameter for
3220 subprogram body, use this new formal parameter in generating an
3222 (Build_Record_Init_Proc): Replace Set_Tag Boolean formal
3223 parameter with 4-valued Init_Control_Formal. Wrap if-statements
3224 with appropriate conditions around tag initialization, early
3225 initialization, and late initialization statements.
3226 * exp_util.adb (Build_Task_Image_Decl): Avoid problem with
3227 duplicate declarations when an init proc for a type extension
3228 calls the parent type's init proc twice.
3230 2022-05-13 Ed Schonberg <schonberg@adacore.com>
3232 * sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the
3233 case of a class-wide derived iterator.
3235 2022-05-13 Yannick Moy <moy@adacore.com>
3237 * libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
3239 * libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
3240 in code of procedure (function already uses it).
3241 * libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
3244 2022-05-13 Etienne Servais <servais@adacore.com>
3246 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code
3248 * gnat_rm.texi: Regenerate.
3250 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
3252 * aspects.adb (Find_Value_Of_Aspect): Add guard.
3253 * sem_ch4.adb (Complete_Object_Operation): Remove obsolete code.
3254 * sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard.
3256 2022-05-13 Javier Miranda <miranda@adacore.com>
3258 * exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
3259 'Address in a call to an instantiation of the implicit
3260 subprogram To_Pointer with a class-wide interface type target
3261 requires adding an implicit type conversion to force
3262 displacement of the "this" pointer.
3264 2022-05-13 Javier Miranda <miranda@adacore.com>
3266 * sem_attr.adb (Resolve_Attribute): Ensure that attribute
3267 expressions are resolved at this stage; required for preanalyzed
3268 references to discriminants since their resolution (and
3269 expansion) will take care of updating their Entity attribute to
3270 reference their discriminal.
3272 2022-05-13 Justin Squirek <squirek@adacore.com>
3274 * sem_util.adb (Wrong_Type): Avoid using the first subtype of
3275 the expected type in error messages when the expected type is
3276 not internally generated.
3278 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3280 * doc/gnat_rm/security_hardening_features.rst: Add subsection on
3281 Control Flow Redundancy.
3282 * gnat_rm.texi: Regenerate.
3284 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
3286 * exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that
3287 it is a WHILE iteration scheme before using Condition_Actions.
3289 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
3291 * atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb,
3292 sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of
3293 Unchecked_Conversion in the compiler itself.
3294 * libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads,
3295 libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb,
3296 libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the
3298 * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in
3300 * gnat_ugn.texi: Regenerate.
3302 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
3304 * butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb:
3305 Replace uses of Unchecked_Deallocation with
3306 Ada.Unchecked_Deallocation.
3307 * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the
3308 documentation; fix casing of GNAT.IO.
3309 * gnat_ugn.texi: Regenerate.
3311 2022-05-13 Marc Poulhiès <poulhies@adacore.com>
3313 * sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference.
3314 Remove useless loop.
3316 2022-05-13 Etienne Servais <servais@adacore.com>
3318 * sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in
3321 2022-05-13 Justin Squirek <squirek@adacore.com>
3323 * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
3324 generation of run-time accessibility checks to account for cases
3325 where Extra_Accessibility_Of_Result should be used versus the
3326 level of the enclosing subprogram. Use original node to avoid
3327 checking against expanded code. Disable check generation for
3329 (Is_Formal_Of_Current_Function): Added to encompass a predicate
3330 used within Check_Return_Construct_Accessibility to test if an
3331 associated expression is related to a relevant formal.
3332 * sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to
3333 accept Node_Or_Entity_Id.
3334 (Innermost_Master_Scope_Depth): Calculate level based on the
3335 subprogram of a return statement instead of the one returned by
3337 (Needs_Result_Accessibility_Level): Remove
3338 Disable_Coextension_Cases constant, and disable the tagged type
3339 case for performance reasons.
3341 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
3343 * sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore
3344 component and discriminant identifiers.
3346 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
3348 * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove
3351 2022-05-13 Justin Squirek <squirek@adacore.com>
3353 * sem_ch8.adb (Determine_Package_Scope): Created to centralize
3354 the calculation of which package a given use clause belongs to.
3355 (Most_Descendant_Use_Clause): Modified to call
3356 Determine_Package_Scope.
3357 * sem_util.adb, sem_util.ads (Enclosing_Package): Modified to
3358 handle both entity and node ids.
3360 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3362 * gnat1drv.adb (Gnat1drv): Skip postponed checks when there are
3365 2022-05-12 Arnaud Charlet <charlet@adacore.com>
3367 * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL.
3368 * gnat_ugn.texi: Regenerate.
3370 2022-05-12 Bob Duff <duff@adacore.com>
3372 * namet.ads, namet.adb (Write_Name_For_Debug): Add Quote
3373 parameter to allow conditional addition of quotes. Note that
3374 some calls to Write_Name_For_Debug, for example for file names,
3375 shouldn't have quotes, as in some_package.adb:123:45.
3376 * treepr.adb (Print_Name): Add double quotes around the name
3377 using the above Quote parameters.
3379 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3381 * sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
3382 * sem_util.adb (Replace_Null_Operand,
3383 Null_To_Null_Address_Convert_OK): Likewise.
3385 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3387 * sem_util.ads (Is_Selector_Name): Remove spec.
3388 * sem_util.adb (Is_Selector_Name): Remove body.
3390 2022-05-12 Arnaud Charlet <charlet@adacore.com>
3392 * sem_warn.adb (Has_Junk_Name): Add more dummy names.
3394 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3396 * lib-xref.adb (Generate_Reference): Fix comment and implement
3399 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3401 * atree.adb, atree.ads: Move WITH clause from spec to body; to
3402 prevent new warnings stopping the bootstrap.
3403 * fmap.adb, fname-sf.adb, libgnat/a-direct.adb,
3404 libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to
3405 prevent new warnings stopping the bootstrap.
3406 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set
3407 Is_Instantiated flag when the instance is in the extended main
3410 2022-05-12 Yannick Moy <moy@adacore.com>
3412 * libgnat/s-valuei.ads: Remove pragma Warnings Off.
3413 * libgnat/s-valueu.ads: Same.
3414 * libgnat/s-valuti.ads: Same.
3416 2022-05-12 Yannick Moy <moy@adacore.com>
3418 * sem_util.adb (Check_Result_And_Post_State): Exempt trivial
3421 2022-05-12 Arnaud Charlet <charlet@adacore.com>
3423 * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h,
3424 gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads,
3425 lib-writ.adb: Get rid of Frontend_Exceptions processing.
3426 * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads,
3427 libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads,
3428 libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads,
3429 libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads,
3430 libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads,
3431 libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads,
3432 libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads,
3433 libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads,
3434 libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads,
3435 libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads,
3436 libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads,
3437 libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads,
3438 libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads,
3439 libgnat/system-solaris-sparc.ads,
3440 libgnat/system-solaris-x86.ads,
3441 libgnat/system-vxworks-arm-rtp-smp.ads,
3442 libgnat/system-vxworks-arm-rtp.ads,
3443 libgnat/system-vxworks-arm.ads,
3444 libgnat/system-vxworks-e500-kernel.ads,
3445 libgnat/system-vxworks-e500-rtp-smp.ads,
3446 libgnat/system-vxworks-e500-rtp.ads,
3447 libgnat/system-vxworks-ppc-kernel.ads,
3448 libgnat/system-vxworks-ppc-rtp-smp.ads,
3449 libgnat/system-vxworks-ppc-rtp.ads,
3450 libgnat/system-vxworks-x86-kernel.ads,
3451 libgnat/system-vxworks-x86-rtp-smp.ads,
3452 libgnat/system-vxworks-x86-rtp.ads,
3453 libgnat/system-vxworks7-aarch64-rtp-smp.ads,
3454 libgnat/system-vxworks7-aarch64.ads,
3455 libgnat/system-vxworks7-arm-rtp-smp.ads,
3456 libgnat/system-vxworks7-arm.ads,
3457 libgnat/system-vxworks7-e500-kernel.ads,
3458 libgnat/system-vxworks7-e500-rtp-smp.ads,
3459 libgnat/system-vxworks7-e500-rtp.ads,
3460 libgnat/system-vxworks7-ppc-kernel.ads,
3461 libgnat/system-vxworks7-ppc-rtp-smp.ads,
3462 libgnat/system-vxworks7-ppc-rtp.ads,
3463 libgnat/system-vxworks7-ppc64-kernel.ads,
3464 libgnat/system-vxworks7-ppc64-rtp-smp.ads,
3465 libgnat/system-vxworks7-x86-kernel.ads,
3466 libgnat/system-vxworks7-x86-rtp-smp.ads,
3467 libgnat/system-vxworks7-x86-rtp.ads,
3468 libgnat/system-vxworks7-x86_64-kernel.ads,
3469 libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove
3470 Frontend_Exceptions line.
3471 * gcc-interface/decl.cc, gcc-interface/trans.cc
3472 (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi,
3473 gnat_to_gnu): Remove Front_End_SJLJ processing and always assume
3474 Back_End_Exceptions.
3476 2022-05-12 Bob Duff <duff@adacore.com>
3478 * namet.ads, namet.adb (Write_Name_For_Debug): New more-robust
3479 version of Write_Name.
3480 (Destroy_Global_Name_Buffer): New procedure to help detect bugs
3481 related to use of Global_Name_Buffer. Misc cleanup and comment
3482 improvements. E.g. we don't need to document every detail of
3483 debugging printouts, especially since they can change.
3484 * uname.ads, uname.adb (Write_Unit_Name_For_Debug): New
3485 more-robust version of Write_Unit_Name.
3486 (Get_Unit_Name_String): Pass buffer in, instead of using the
3487 global variable. Misc cleanup. Remove the "special fudge", which
3488 is apparently not needed, and anyway the comment "the %s or %b
3489 has already been eliminated" seems wrong.
3490 (Write_Unit_Name): Call the new version of Get_Unit_Name_String.
3491 * errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version
3492 of Get_Unit_Name_String. We pass the global variable here,
3493 because it's too much trouble to disentangle such uses in
3495 * sem_util.ads, sem_util.adb, sem_dist.adb
3496 (Get_Library_Unit_Name): New version of
3497 Get_Library_Unit_Name_String that avoids usage of the global
3499 * casing.ads, casing.adb, exp_prag.adb, exp_util.adb
3500 (Set_All_Upper_Case): Remove. There is no need for a wrapper
3501 here -- code is clearer without it.
3502 * treepr.adb (Print_Name): Call Write_Name_For_Debug, which
3503 deals with No_Name (etc), rather than duplicating that here.
3504 Note that the call to Get_Name_String was superfluous.
3505 (Tree_Dump): Call Write_Unit_Name_For_Debug instead of
3506 Write_Unit_Name, which crashes if not Is_Valid_Name.
3507 * erroutc.ads: Improve comments.
3508 * erroutc.adb (Set_Msg_Name_Buffer): Call
3509 Destroy_Global_Name_Buffer to detect potential bugs where it
3510 incorrectly looks at the global variable.
3511 * sinput.adb (Write_Location): Call Write_Name_For_Debug instead
3512 of Write_Name, so it won't blow up on invalid data.
3513 * sinput.ads: Improve comments; remove some verbosity.
3514 * libgnat/s-imagef.adb: Fix typo in comment.
3516 2022-05-12 Yannick Moy <moy@adacore.com>
3518 * libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma.
3519 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
3521 2022-05-12 Yannick Moy <moy@adacore.com>
3523 * libgnat/s-aridou.ads: Remove use-clause, add renames and
3525 * libgnat/s-exponn.ads: Same.
3526 * libgnat/s-expont.ads: Same.
3527 * libgnat/s-widthu.ads: Same.
3529 2022-05-12 Etienne Servais <servais@adacore.com>
3531 * csets.adb (Fold_Latin_9): Fix y with diaeresis.
3532 (Fold_IBM_PC_850): Fix o with stroke.
3534 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3536 * sem_type.adb (Valid_Boolean_Arg): Remove redundant guard.
3538 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3540 * sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are
3541 valid boolean arguments.
3543 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
3545 * sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add
3546 test for subtype conformance in the cases of
3547 access-to-subprogram types.
3549 2022-05-12 Yannick Moy <moy@adacore.com>
3551 * libgnat/s-imagef.adb: Justify false message from CodePeer.
3553 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
3555 * sem_ch4.adb (Analyze_Case_Expression): Rewrite.
3556 (Analyze_If_Expression): Likewise.
3557 (Possible_Type_For_Conditional_Expression): New function.
3558 * sem_type.adb (Specific_Type): Retur the base type in more
3561 2022-05-12 Yannick Moy <moy@adacore.com>
3563 * libgnat/s-imagef.adb: Adapt to new signature of Image_I, by
3564 providing ghost imported subprograms. For now, no contract is
3565 used on these subprograms, as System.Image_F is not proved.
3566 * libgnat/s-imagef.ads: Add modular type Uns as formal
3567 parameter, to use in defining Int_Params for instantiating
3569 * libgnat/s-imagei.adb: Add contracts and ghost code.
3570 * libgnat/s-imagei.ads: Replace Int formal parameter by package
3571 Int_Params, which bundles type Int and Uns with ghost
3572 subprograms. Add contracts.
3573 * libgnat/s-imfi128.ads: Adapt to new formal of Image_F.
3574 * libgnat/s-imfi32.ads: Adapt to new formal of Image_F.
3575 * libgnat/s-imfi64.ads: Adapt to new formal of Image_F.
3576 * libgnat/s-imgint.ads: Adapt to new formals of Image_I.
3577 * libgnat/s-imglli.ads: Adapt to new formals of Image_I.
3578 * libgnat/s-imgllli.ads: Adapt to new formals of Image_I.
3579 * libgnat/s-valint.ads: Adapt to new formals of Value_I.
3580 * libgnat/s-vallli.ads: Adapt to new formals of Value_I.
3581 * libgnat/s-valllli.ads: Adapt to new formals of Value_I.
3582 * libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New
3584 * libgnat/s-valuei.ads: New formal parameters to prove the new
3586 * libgnat/s-valuti.ads (Int_Params): Define a generic package to
3587 be used as a trait-like formal parameter in Image_I and other
3588 generics that need to instantiate Image_I.
3589 * libgnat/s-widthu.ads (Big_10): Qualify the 10 literal.
3591 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
3593 * sem_ch4.adb (Find_Arithmetic_Types): Use local variables.
3594 (Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types.
3596 2022-05-12 Alexandre Oliva <oliva@adacore.com>
3598 * doc/gnat_rm/security_hardening_features.rst (Hardened
3600 * exp_util.adb (Adjust_Condition): Perform validity checking on
3601 hardbool-annotated types even with -gnatVT.
3602 * gnat_rm.texi: Regenerate.
3603 * gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore
3606 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3608 * exp_ch9.adb (Build_Protected_Entry): Set scope of the nested
3609 block to spec and not the body of the procedure created for a
3612 2022-05-12 Etienne Servais <servais@adacore.com>
3614 * sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in
3617 2022-05-12 Marc Poulhiès <poulhies@adacore.com>
3619 * csets.adb (Initialize): Only treat square bracket as valid
3620 identifier character for Ada versions prior to Ada 2022.
3621 * style.ads (Check_Left_Paren): Rename...
3622 (Check_Left_Paren_Square_Bracket): ...to this.
3623 * styleg.adb (Check_Left_Bracket): Rename...
3624 (Check_Left_Paren_Square_Bracket): ...to this.
3625 * styleg.ads (Check_Left_Paren): Rename...
3626 (Check_Left_Paren_Square_Bracket): ...to this.
3627 * scng.adb (Scan): Add check for spacing around left square
3628 bracket and use new name for Check_Left_Paren_Square_Bracket.
3629 * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
3630 (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
3631 (Character_Ranges): Fix style (remove extra space).
3632 * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
3633 (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
3634 (Character_Ranges): Likewise.
3635 * opt.adb (Set_Config_Switches): Remove [ from Identifier_Char
3638 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
3640 * sem_type.adb (Specific_Type): Add swapped cases for interfaces.
3642 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3644 * doc/gnat_rm/implementation_defined_pragmas.rst:
3645 (Export_Object, Import_Object, Short_Descriptors): Fix pragma
3646 syntax specification.
3647 * gnat_rm.texi: Regenerate.
3649 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3651 * ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute
3654 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
3656 * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
3657 Pragmas): Add Aggregate_Individually_Assign; otherwise the list
3658 is complete except for some obsoleted pragmas, which most likely
3659 are intentionally omitted.
3660 * gnat_ugn.texi: Regenerate.
3662 2022-05-11 Yannick Moy <moy@adacore.com>
3664 * libgnat/s-imaged.ads: Remove Pure.
3665 * libgnat/s-imagef.ads: Remove Pure.
3666 * libgnat/s-imager.ads: Remove Pure.
3667 * libgnat/s-imageu.adb: Add ghost code.
3668 * libgnat/s-imageu.ads: Add contracts.
3669 * libgnat/s-imde128.ads: Remove Pure.
3670 * libgnat/s-imde32.ads: Remove Pure.
3671 * libgnat/s-imde64.ads: Remove Pure.
3672 * libgnat/s-imfi128.ads: Remove Pure.
3673 * libgnat/s-imfi32.ads: Remove Pure.
3674 * libgnat/s-imfi64.ads: Remove Pure.
3675 * libgnat/s-imgflt.ads: Remove Pure.
3676 * libgnat/s-imglfl.ads: Remove Pure.
3677 * libgnat/s-imgllf.ads: Remove Pure.
3678 * libgnat/s-imglllu.ads: Instantiate with ghost subprograms.
3679 * libgnat/s-imgllu.ads: Instantiate with ghost subprograms.
3680 * libgnat/s-imgrea.ads: Remove Pure.
3681 * libgnat/s-imguns.ads: Instantiate with ghost subprograms.
3682 * libgnat/s-imguti.ads: Remove Pure.
3683 * libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost,
3684 Prove_Scan_Only_Decimal_Ghost): New lemmas.
3685 * libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to
3686 be able to use it as formal in instantiations.
3687 (Only_Decimal_Ghost): New ghost query.
3688 (Prove_Iter_Scan_Based_Number_Ghost,
3689 Prove_Scan_Only_Decimal_Ghost): New lemmas.
3690 * libgnat/s-widlllu.ads: Adapt to changes in Width_U.
3691 * libgnat/s-widllu.ads: Adapt to changes in Width_U.
3692 * libgnat/s-widthu.adb: Change generic function in generic
3693 package in order to complete the postcondition. Tighten the
3694 upper bound on the result by 1.
3695 * libgnat/s-widthu.ads: Same.
3696 * libgnat/s-widuns.ads: Adapt to changes in Width_U.
3697 * gcc-interface/Make-lang.in: Add dependencies on a-nubinu,
3698 a-numeri.ads and a-widuns.ads.
3700 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3702 * snames.ads-tmpl (Detect_Blocking): Move after
3703 Default_Storage_Pool.
3705 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3707 * sem_prag.adb (Analyze_Pragma): Remove custom check for
3708 Compile_Time_Error and Compile_Time_Warning pragmas.
3709 * snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
3710 Move beyond Last_Configuration_Pragma_Name.
3712 2022-05-11 Marc Poulhiès <poulhies@adacore.com>
3714 * libgnat/a-direct.adb (Start_Search_Internal): Use parentheses
3715 for record aggregate.
3716 * libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
3717 * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
3718 * libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String):
3720 * libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping):
3722 * libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping):
3724 * libgnat/s-statxd.adb (Fields): Likewise.
3725 * libgnat/s-stausa.adb (Initialize): Likewise.
3726 * sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates
3729 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3731 * doc/gnat_rm/implementation_defined_pragmas.rst,
3732 doc/gnat_rm/implementation_of_specific_ada_features.rst,
3733 doc/gnat_rm/representation_clauses_and_pragmas.rst,
3734 doc/gnat_rm/the_gnat_library.rst,
3735 doc/gnat_rm/the_implementation_of_standard_i_o.rst,
3736 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
3737 doc/gnat_ugn/gnat_and_program_execution.rst,
3738 doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
3739 parentheses and brackets.
3740 * sem_prag.adb (pragma Obsolescent): Likewise.
3741 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
3743 2022-05-11 Marc Poulhiès <poulhies@adacore.com>
3745 * libgnat/s-rident.ads (Restriction_Id): Add
3746 No_Local_Tagged_Types, update comment for adding new GNAT
3747 specific restriction.
3748 * restrict.ads (Implementation_Restriction): Add
3749 No_Local_Tagged_Types.
3750 * sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for
3751 tagged type at library level.
3752 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
3753 Add No_Local_Tagged_Types description.
3754 * gnat_rm.texi: Regenerate.
3756 2022-05-11 Eric Botcazou <ebotcazou@adacore.com>
3758 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type
3759 in the interpretation of the operator.
3761 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3763 * sem_case.adb (Free_Value_Sets): Fix style in body header box.
3764 * sem_ch12.adb (Build_Subprogram_Wrappers): Likewise.
3765 * sem_util.adb (Statically_Denotes_Entity): Likewise.
3767 2022-05-11 Etienne Servais <servais@adacore.com>
3769 * sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if
3770 branch to avoid calling it twice.
3772 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3774 * sem_warn.adb (Find_Var): Detect all operators; replace
3775 "condition" to "expression" in comments, because when this
3776 routine is called recursively it no longer examines the
3778 (Is_Suspicious_Function_Name): Reduce scope of a local variable
3779 to avoid shadowing with a parameter of a nested
3780 Substring_Present function.
3782 2022-05-11 Yannick Moy <moy@adacore.com>
3784 * libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
3785 intermediate assertions.
3787 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3789 * libgnat/s-rident.ads (Implementation_Restriction): Remove
3790 No_Dynamic_Attachment, No_Implementation_Attributes,
3791 No_Implementation_Pragmas, No_Local_Protected_Objects,
3792 No_Protected_Type_Allocators, No_Relative_Delay,
3793 No_Requeue_Statements, No_Select_Statements,
3794 No_Task_Termination, Pure_Barriers and Simple_Barriers; add
3795 No_Dynamic_Sized_Objects,
3796 No_Implicit_Protected_Object_Allocations,
3797 No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and
3798 Static_Dispatch_Tables; sort alphabetically.
3799 * restrict.ads (Restriction_Id): Change Pure_Barriers and
3800 No_Task_Termination from GNAT to Ada restrictions.
3802 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3804 * exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
3805 libgnat/g-exptty.adb, libgnat/g-socpol.adb,
3806 libgnat/s-strhas.adb: Fix headers.
3808 2022-05-11 Joao Azevedo <azevedo@adacore.com>
3810 * doc/gnat_ugn/platform_specific_information.rst: Add
3811 glibc-locale-base-32bit as a dependency in SUSE distributions.
3812 * gnat_ugn.texi: Regenerate.
3814 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3816 * doc/gnat_ugn/gnat_and_program_execution.rst,
3817 doc/gnat_ugn/gnat_utility_programs.rst,
3818 doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
3820 * gnat_ugn.texi: Regenerate.
3822 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3824 * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
3825 blocks from plain code to Ada.
3827 2022-05-11 Gary Dismukes <dismukes@adacore.com>
3829 * exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp
3830 object approach in the case where the type of the LHS is
3831 controlled or has controlled subcomponents (Needs_Finalization
3832 is True), and use the procedure approach instead.
3834 2022-05-11 Bob Duff <duff@adacore.com>
3836 * sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the
3837 "tree" can be malformed (a DAG, not a tree) because
3838 Get_Discr_Value could be returning some subtree already attached
3841 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3843 * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
3844 proper label entities.
3846 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3848 * doc/gnat_rm/implementation_defined_characteristics.rst: Add
3849 tabularcolums directive, as explained in documentation of Sphinx
3850 and tabular LaTeX package.
3852 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3854 * doc/gnat_rm/implementation_defined_aspects.rst,
3855 doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra
3857 * gnat_rm.texi: Regenerate.
3859 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3861 * doc/gnat_rm/implementation_defined_characteristics.rst: Remove
3862 extra indent in continuation lines; indent both descriptions of
3864 * gnat_rm.texi: Regenerate.
3866 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3868 * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
3869 Eliminate): Fix markup.
3870 * gnat_rm.texi: Regenerate.
3872 2022-05-11 Johannes Kliemann <kliemann@adacore.com>
3874 * libgnat/g-sthcso.adb: Suppress warning about unneeded use type
3877 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3879 * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
3880 proper label entities.
3882 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3884 * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
3885 Ada_2022): Copy description from pragma Ada 2012 and adapt.
3886 * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
3887 Pragmas): List pragma Ada 2022.
3888 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
3890 2022-05-11 Steve Baird <baird@adacore.com>
3892 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace
3893 the existing check for an address specification for an object of
3894 a class-wide type with a more general check which rejects either
3895 the class-wide case or the case where the FE would (if the
3896 address specification were accepted) build a malformed
3897 tree (specifically, an object renaming declaration with a
3898 specified address). In the case where the check fails, reject
3899 the construct at compile time instead of generating an
3900 unconditional raise of Program_Error.
3901 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update
3902 documentation to reflect these changes.
3903 * gnat_rm.texi: Regenerate.
3905 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
3907 * gen_il-gen-gen_entities.adb (Reachable): Move from
3908 Root_Entity_Type to E_Label.
3910 2022-05-11 Alexandre Oliva <oliva@adacore.com>
3912 * exp_ch3.adb (Expand_N_Object_Declaration): Guard
3913 Set_Is_Known_Valid with Safe_To_Capture_Value.
3915 2022-05-11 Bob Duff <duff@adacore.com>
3917 * repinfo.adb (List_Object_Info): Do not try to print values
3918 that have not been computed (and so are No_Uint).
3919 (Rep_Not_Constant): Reverse sense and change name to
3920 Compile_Time_Known_Rep. This makes the code at call sites a
3921 little more readable. Simplify code to a single return
3924 2022-05-10 Martin Liska <mliska@suse.cz>
3926 * gcc-interface/decl.cc (compare_field_bitpos): Use void *
3928 * gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise.
3930 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
3932 * fe.h (Is_Expression_Function): Declare.
3933 * sem_util.ads (Is_Expression_Function): Add warning line.
3935 2022-05-10 Alexandre Oliva <oliva@adacore.com>
3937 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>:
3938 Drop redundant range check for nonstandard booleans.
3940 2022-05-10 Alexandre Oliva <oliva@adacore.com>
3942 * exp_util.adb (Adjust_Result_Type): Leave result in
3943 Standard.Boolean if it's going to be converted to another
3945 * exp_ch4.adb (Expand_N_Type_Conversion): When optimizing,
3946 convert to nonstandard booleans with an if_expression with
3949 2022-05-10 Alexandre Oliva <oliva@adacore.com>
3951 * exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to
3952 handle non-standard booleans.
3954 2022-05-10 Justin Squirek <squirek@adacore.com>
3956 * sem_ch8.adb (Use_One_Type): Remove code in charge of setting
3957 Current_Use_Clause when Id is known to be redundant, and modify
3958 the printing of errors associated with redundant use type
3959 clauses so that line number gets included in more cases.
3961 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3963 * sem_warn.adb (Check_Unset_Reference): Use variant of
3964 Earlier_In_Extended_Unit that calls Sloc internally.
3966 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3968 * par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb,
3969 treepr.adb: Simplify calculations with Source_Ptr and Loc
3972 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3974 * sem_res.adb (Resolve_Expression_With_Actions): Fix style in
3977 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3979 * atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb,
3980 sem_ch4.adb, sem_res.adb, sem_util.adb: Use
3981 Is_Rewrite_Substitution where possible.
3983 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3985 * exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb,
3986 sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb,
3987 treepr.adb: Replace /= and = operators with No and Present,
3990 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3992 * sem_warn.adb (Within_Postcondition): Guard against search
3995 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
3997 * sem_warn.adb (Check_Unset_Reference): The early test was only
3998 saving time of calls to Original_Node, Comes_From_Source and
3999 Nkind, which are all quick and cheap.
4001 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4003 * sem_ch5.adb (Check_Unreachable_Code): Remove inner declare
4004 block; refill code and comments.
4006 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4008 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace
4009 First_Entity/Next_Entity with First_Formal/Next_Formal; rename
4012 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4014 * sem_res.adb (Resolve_Declare_Expression): Check expression for
4015 references to unset objects.
4016 (Resolve_Qualified_Expression): Likewise.
4017 * sem_warn.adb (Check_Unset_Reference): Remove handling of
4018 declare and qualified expressions; clarify comment for type
4021 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4023 * sem_res.adb (Resolve_Case_Expression): Check alternative
4024 expressions for references to unset objects.
4025 (Resolve_If_Expression): Check condition, then and else
4026 expressions for references to unset objects.
4028 2022-05-10 Kévin Le Gouguec <legouguec@adacore.com>
4030 * doc/gnat_rm/implementation_defined_attributes.rst,
4031 doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos.
4032 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
4034 2022-05-10 Etienne Servais <servais@adacore.com>
4036 * sem_ch13.adb (Is_Predicate_Static): Fix typo in comment.
4038 2022-05-10 Yannick Moy <moy@adacore.com>
4040 * libgnat/s-valuei.adb: Fix indentation.
4041 * libgnat/s-valuei.ads: Same.
4043 2022-05-10 Claire Dross <dross@adacore.com>
4045 * snames.ads-tmpl: Add "Structural" as a name.
4046 * sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural"
4047 in pragmas Loop_Variant and Subprogram_Variant. Check that items
4048 associated to Structural occur alone in the pragma associations.
4049 (Analyze_Subprogram_Variant_In_Decl_Part): Idem.
4050 * exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural
4052 (Expand_Pragma_Subprogram_Variant): Idem.
4054 2022-05-10 Claire Dross <dross@adacore.com>
4056 * libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore
4057 assertions in instance and add additional ghost parameters to
4058 the instance of Value_I.
4059 * libgnat/s-vallli.ads: Idem.
4060 * libgnat/s-valllli.ads: Idem.
4061 * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
4062 parameters for ghost functions from System.Valueu. Add
4063 functional contracts.
4065 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
4067 * sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code.
4068 (Resolve_Op_Not): Likewise.
4069 * sem_type.adb (Disambiguate): Add missing test for RM 8.4(10).
4070 * libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity.
4071 (Symbolic_Address): Likewise.
4073 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
4075 * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.
4077 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4079 * exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
4080 UI_To_CC; replace magic literals with high-level routines that
4081 recognise wide and wide wide characters; reorder if-then-elsif
4082 condition, because we don't have a routine to detect wide wide
4085 2022-05-10 Etienne Servais <servais@adacore.com>
4087 * scng.adb (Nlit): Error on big UI_Scale.
4089 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4091 * exp_util.adb (Build_Task_Array_Image): Declare expanded
4092 objects as constants.
4093 (Build_Task_Image_Prefix): Likewise.
4094 (Build_Task_Record_Image): Likewise.
4096 2022-05-10 Marc Poulhiès <poulhies@adacore.com>
4098 * checks.adb (Determine_Range): Fix range refining.
4100 2022-05-10 Steve Baird <baird@adacore.com>
4102 * sem_util.adb (Get_Actual_Subtype): If a new subtype is built,
4103 do not freeze it if Expander_Active is False. The idea here is
4104 to avoid generating an unwanted Freeze_Node for a subtype that
4105 has been conjured up solely for purposes of preanalysis.
4107 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4109 * exp_util.adb (Build_Task_Array_Image): Fix style in the
4110 structure of generated code; add Pref'Length as the component of
4111 the Sum initialization expression.
4113 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
4115 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use
4117 * exp_util.adb (Build_Task_Array_Image): Simplify conversion to
4119 (Build_Task_Image_Prefix): Likewise.
4120 (Build_Task_Record_Image): Likewise.
4121 * cstand.adb (Create_Standard): Use UI_From_Int instead of
4123 * exp_ch11.adb (Expand_N_Exception_Declaration): Likewise.
4124 * sem_res.adb (Patch_Up_Value): Likewise.
4125 * stringt.adb (Write_String_Table_Entry): Use Get_Char_Code.
4127 2022-05-09 Yannick Moy <moy@adacore.com>
4129 * sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation
4132 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4134 * uintp.adb (UI_To_CC): Guard against illegal inputs; reuse
4137 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4139 * par-prag.adb (Prag): Simplify conversion of character codes.
4140 * sem_case.adb (Choice_Image): Likewise.
4143 2022-05-09 Justin Squirek <squirek@adacore.com>
4145 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>:
4146 Deal specifically wth class-wide equivalent types without a
4148 * exp_util.adb (Build_Allocate_Deallocate_Proc): Extract
4149 allocator node for calculation of alignment actual and modify
4150 alignment for allocators of class-wide types with associated
4152 (Make_CW_Equivalent_Type): Handle interface types differently
4153 when generating the equivalent record.
4154 * sem_aux.adb (First_Tag_Component): Accept class-wide
4155 equivalent types too.
4157 2022-05-09 Etienne Servais <servais@adacore.com>
4159 * repinfo.adb (List_Name): Rework termination condition.
4161 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4163 * bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb,
4164 libgnat/a-ngcefu.adb, libgnat/a-strunb.adb,
4165 libgnat/a-stwiun.adb, libgnat/a-stzunb.adb,
4166 libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb,
4167 sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +,
4170 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4172 * libgnat/s-expmod.adb: Remove CodePeer annotation for pragma
4175 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4177 * sem_util.ads (In_Statement_Condition_With_Actions): Renamed
4178 from In_While_Loop_Condition; move to fit the alphabetic order.
4179 * sem_util.adb (In_Statement_Condition_With_Actions): Detect
4180 Elsif condition; stop search on other statements; prevent search
4181 from going too far; move to fit the alphabetic order.
4182 * sem_res.adb (Resolve_Call): Adapt caller.
4184 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4186 * inline.adb (Build_Body_To_Inline): Remove redundant guards.
4187 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
4189 2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
4191 * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on
4192 Comes_From_Source in the condition dealing with the expression
4193 of an N_Unchecked_Type_Conversion node.
4195 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4197 * exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb,
4198 gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb,
4199 libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb,
4200 sem_ch13.adb, xr_tabls.adb: Fix style labels.
4202 2022-05-09 Justin Squirek <squirek@adacore.com>
4204 * err_vars.ads: Add new error message names and nodes.
4205 * erroutc.adb (Set_Msg_Insertion_Name,
4206 Set_Msg_Insertion_Name_Literal): Likewise.
4207 * errout.adb (Set_Msg_Insertion_Node): Likewise.
4208 * errout.ads: Likewise.
4209 * exp_disp.adb (Check_Premature_Freezing): Modify setting of
4210 Error_Msg_Node_2 to occur directly before Error_Msg call where
4212 * sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to
4213 handle the printing of full package names of known units.
4214 (Undefined, Find_Expanded_Name): Replace error printing with
4215 call to Error_Missing_With_Of_Known_Unit.
4217 2022-05-09 Yannick Moy <moy@adacore.com>
4219 * exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn
4222 2022-05-09 Steve Baird <baird@adacore.com>
4224 * sem_ch13.adb (Replace_Type_Ref): In the case of an identifier
4225 that names a component of the type, simplify the test to decide
4226 whether to build a prefix for it (the prefix denotes the current
4227 instance of the enclosing type): if the identifier doesn't
4228 already have a prefix, then give it one. This isn't quite right
4229 in the corner case of a quantified expression or some other such
4230 expression that declares an object with the same name as a
4231 component, but it is still an improvement.
4233 2022-05-09 Ed Schonberg <schonberg@adacore.com>
4235 * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
4236 package if array type and element type come from the same
4237 package, and the original array type is private.
4239 2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
4241 * exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
4242 thinko in the loop building the constraints for discriminants.
4243 * exp_ch5.adb (Make_Component_List_Assign): Try also to extract
4244 discriminant values for a derived type.
4246 2022-05-09 Ed Schonberg <schonberg@adacore.com>
4248 * sem_res.adb (Resolve_Declare_Expression): Traverse the
4249 expression to replace references to local variables that occur
4250 within declarations of the declare_expression; fix typos in
4253 2022-05-09 Ed Schonberg <schonberg@adacore.com>
4255 * sem_ch4.adb (Operator_Check): Fix condition.
4257 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4259 * doc/gnat_rm/implementation_defined_pragmas.rst
4260 (Abstract_State, Async_Readers, Async_Writers,
4261 Constant_After_Elaboration, Effective_Reads, Effective_Writes,
4262 Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only
4263 static Boolean expressions are allowed.
4264 * gnat_rm.texi: Regenerate.
4266 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4268 * exp_prag.adb (Expand_Pragma_Loop_Variant,
4269 Expand_Pragma_Subprogram_Variant): Adapt call via
4270 Process_Variant to Make_Variant_Comparison.
4271 * exp_util.adb (Make_Variant_Comparison): Compare Big_Integer
4272 expressions with a function call and not an operator.
4273 * exp_util.ads (Make_Variant_Comparison): Add type parameter,
4274 which is needed because the Curr_Val and Old_Val expressions
4275 might not be yet decorated.
4276 * rtsfind.ads: (RTU_Id): Add support for Big_Integers and
4278 (RE_Id): Add support for Big_Integer and its ghost variant.
4279 (RE_Unit_Table): Add mapping from Big_Integer to Big_Integers;
4280 same for the ghost variants.
4281 * rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers.
4282 * sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma
4284 (Analyze_Variant): Allow Big_Integer in pragma
4287 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4289 * sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a
4290 variant that doesn't force preanalysis to yield a specific type.
4292 2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
4294 * einfo.ads (Access Kinds): Reorder and beef up.
4295 * sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all
4296 comparison and equality operators.
4297 * sem_ch4.ads (Analyze_Comparison_Op): Delete.
4298 (Analyze_Equality_Op): Likewise.
4299 (Analyze_Comparison_Equality_Op): Declare.
4300 (Ambiguous_Operands): Likewise.
4301 * sem_ch4.adb (Ambiguous_Operands): Remove declaration.
4302 (Defined_In_Scope): Delete.
4303 (Find_Comparison_Types): Merge into...
4304 (Find_Equality_Types): Merge into...
4305 (Find_Comparison_Equality_Types): ...this. Make fully symmetrical.
4306 (Analyze_Arithmetic_Op): Minor consistency tweaks.
4307 (Analyze_Comparison_Op): Merge into...
4308 (Analyze_Equality_Op): Merge into...
4309 (Analyze_Comparison_Equality_Op): ...this. Make fully symmetrical.
4310 (Analyze_Logical_Op): Minor consistency tweaks.
4311 (Analyze_Membership_Op): Make fully symmetrical.
4312 (Analyze_One_Call): Minor comment tweak.
4313 (Analyze_Operator_Call): Call Find_Comparison_Equality_Types.
4314 (Analyze_User_Defined_Binary_Op): Make fully symmetrical.
4315 (Check_Arithmetic_Pair.Specific_Type): Delete.
4316 (Diagnose_Call): Add special handling for "+" operator.
4317 (Operator_Check): Call Analyze_Comparison_Equality_Op.
4318 * sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean
4319 operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp.
4320 comparison and equality operators.
4321 * sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator
4322 (Make_Call_Into_Operator): Use Preserve_Comes_From_Source.
4323 (Resolve_Actuals): Deal specifically with Any_Type actuals for user-
4324 defined comparison and equality operators.
4325 (Resolve_Call): Minor tweaks.
4326 (Resolve_Comparison_Op): Tidy up and give error for ambiguity.
4327 (Resolve_Equality_Op): Likewise, as well as other errors.
4328 (Rewrite_Renamed_Operator): Simplify.
4329 * sem_type.ads (Is_Invisible_Operator): Delete.
4330 (Is_Visible_Operator): Declare.
4331 (Has_Compatible_Type): Remove For_Comparison parameter.
4332 (Specific_Type): Declare.
4333 (Valid_Equality_Arg): Likewise.
4334 * sem_type.adb (Specific_Type): Remove declaration.
4335 (Add_One_Interp): Call Is_Visible_Operator for the visibility test.
4336 (Remove_Conversions): Rename into...
4337 (Remove_Conversions_And_Abstract_Operations): ...this. Do not apply
4338 numeric-type treatment to Any_Type. Expand the special handling for
4339 abstract interpretations to second operand. Remove obsolete code.
4340 (Disambiguate): Adjust to above renaming. Tweak to hidden case and
4341 call Remove_Conversions_And_Abstract_Operations for operators too.
4342 (Entity_Matches_Spec): Minor tweak.
4343 (Find_Unique_Type): Simplify and deal with user-defined literals.
4344 (Has_Compatible_Type): Remove For_Comparison parameter and adjust.
4345 Call the Is_User_Defined_Literal predicate and remove call to
4346 the Is_Invisible_Operator predicate.
4347 (Is_Invisible_Operator): Delete.
4348 (Is_Visible_Operator): New function.
4349 (Operator_Matches_Spec): Use Valid_Equality_Arg predicate.
4350 (Specific_Type): Tidy up, make fully symmetrical and deal with
4351 private views the same way as Covers.
4352 (Valid_Comparison_Arg): Return true for Any_Composite/Any_String.
4353 (Valid_Equality_Arg): New function.
4354 * sem_util.ads (Is_User_Defined_Literal): Declare.
4355 * sem_util.adb (Is_User_Defined_Literal): New function.
4357 2022-05-09 Bob Duff <duff@adacore.com>
4359 * lib-xref.adb, sem_util.adb: Change wording of warning messages
4361 * sem_prag.adb: Use Fix_Error to change wording of warnings.
4362 * doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
4364 * gnat_rm.texi: Regenerate.
4366 2022-05-09 Doug Rupp <rupp@adacore.com>
4368 * init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro.
4369 (__gnat_clear_exception_count): Remove.
4370 (__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT().
4372 2022-05-09 Fedor Rybin <frybin@adacore.com>
4374 * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest
4377 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4379 * sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for
4380 attributes Identity, Priority, Ref, Restriction_Set, To_Address
4381 and for tasking-related attributes Callable, Terminated and
4384 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4386 * sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for
4387 Bit_Order attribute.
4389 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
4391 * exp_ch5.adb (Update_Choice_Index): Simplify condition.
4392 * sem_ch8.adb (Attribute_Renaming): Likewise.
4394 2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
4396 * adaint.c (__gnat_kill): Remove close parameter.
4397 (__gnat_killprocesstree): Do not provide close parameter on call
4399 * libgnat/g-expect.adb (Kill): Remove Close parameter.
4400 (Close): Do not provide Close parameter on call to Kill.
4401 (Send_Signal): Do not provide Close parameter on call to Kill.
4402 * libgnat/s-os_lib.adb (Kill): Do not provide close parameter on
4403 call to __gnat_kill.
4405 2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
4407 * libgnat/g-expect.adb (Close): Call Kill before Close_Input.
4409 2022-04-29 Martin Liska <mliska@suse.cz>
4411 * gnatvsn.ads: Bump Library_Version to 13.
4413 2022-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
4415 * tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC
4416 ELF. Add support for RTEMS to SPARC. Merge aarch64 support of Linux
4419 2022-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
4422 * gnat1drv.adb: Remove the goto End_Of_Program.
4424 2022-03-24 Pascal Obry <obry@adacore.com>
4427 * libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1.
4428 * libgnat/g-sercom__linux.adb (Close): Likewise.
4430 2022-03-10 Richard Biener <rguenther@suse.de>
4433 * gcc-interface/Makefile.in (target_noncanonical): Substitute.
4434 (OSCONS_CPP): Pass target_noncanonical as TARGET.
4436 2022-02-13 Maciej W. Rozycki <macro@orcam.me.uk>
4440 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use
4441 wraplf version of Aux_Long_Long_Float.
4443 2022-01-31 Pierre-Marie de Rodat <derodat@adacore.com>
4445 * doc/share/conf.py: Remove spurious call to ".decode()".
4447 2022-01-31 Arnaud Charlet <charlet@adacore.com>
4450 * gnat1drv.adb (Gnat1drv): Only call Exit_Program when not
4451 generating code, otherwise instead go to End_Of_Program.
4453 2022-01-28 Eric Botcazou <ebotcazou@adacore.com>
4456 * exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if
4457 any, when rewriting the operator node.
4459 2022-01-19 H.J. Lu <hjl.tools@gmail.com>
4462 * gcc-interface/Makefile.in (target_cpu): Set to x32 for
4463 x86_64-linux-gnux32.
4465 2022-01-19 H.J. Lu <hjl.tools@gmail.com>
4468 * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add
4469 $(TRASYM_DWARF_UNIX_PAIRS),
4470 s-tsmona.adb<libgnat/s-tsmona__linux.adb,
4471 $(GNATRTL_128BIT_PAIRS).
4472 (EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS)
4473 and $(GNATRTL_128BIT_OBJS).
4475 2022-01-18 Martin Liska <mliska@suse.cz>
4477 * adaint.c: Revert filename changes in comments.
4478 * ctrl_c.c (dummy_handler): Likewise.
4479 * gsocket.h: Likewise.
4480 * init.c (__gnat_error_handler): Likewise.
4481 * libgnarl/s-intman.ads: Likewise.
4482 * libgnarl/s-osinte__android.ads: Likewise.
4483 * libgnarl/s-osinte__darwin.ads: Likewise.
4484 * libgnarl/s-osinte__hpux.ads: Likewise.
4485 * libgnarl/s-osinte__linux.ads: Likewise.
4486 * libgnarl/s-osinte__qnx.ads: Likewise.
4487 * libgnarl/s-taskin.ads: Likewise.
4488 * rtfinal.c: Likewise.
4490 2022-01-18 Martin Liska <mliska@suse.cz>
4492 * Make-generated.in: Revert renaming changes.
4493 * Makefile.rtl: Likewise.
4494 * adadecode.cc: Moved to...
4495 * adadecode.c: ...here.
4496 * affinity.cc: Moved to...
4497 * affinity.c: ...here.
4498 * argv-lynxos178-raven-cert.cc: Moved to...
4499 * argv-lynxos178-raven-cert.c: ...here.
4500 * argv.cc: Moved to...
4502 * aux-io.cc: Moved to...
4503 * aux-io.c: ...here.
4504 * cio.cc: Moved to...
4506 * cstreams.cc: Moved to...
4507 * cstreams.c: ...here.
4508 * env.cc: Moved to...
4510 * exit.cc: Moved to...
4512 * expect.cc: Moved to...
4513 * expect.c: ...here.
4514 * final.cc: Moved to...
4516 * gcc-interface/Makefile.in:
4517 * init.cc: Moved to...
4519 * initialize.cc: Moved to...
4520 * initialize.c: ...here.
4521 * libgnarl/thread.cc: Moved to...
4522 * libgnarl/thread.c: ...here.
4523 * link.cc: Moved to...
4525 * locales.cc: Moved to...
4526 * locales.c: ...here.
4527 * mkdir.cc: Moved to...
4529 * raise.cc: Moved to...
4531 * rtfinal.cc: Moved to...
4532 * rtfinal.c: ...here.
4533 * rtinit.cc: Moved to...
4534 * rtinit.c: ...here.
4535 * s-oscons-tmplt.c (CND): Revert renaming changes.
4536 * seh_init.cc: Moved to...
4537 * seh_init.c: ...here.
4538 * sigtramp-armdroid.cc: Moved to...
4539 * sigtramp-armdroid.c: ...here.
4540 * sigtramp-ios.cc: Moved to...
4541 * sigtramp-ios.c: ...here.
4542 * sigtramp-qnx.cc: Moved to...
4543 * sigtramp-qnx.c: ...here.
4544 * sigtramp-vxworks.cc: Moved to...
4545 * sigtramp-vxworks.c: ...here.
4546 * socket.cc: Moved to...
4547 * socket.c: ...here.
4548 * tracebak.cc: Moved to...
4549 * tracebak.c: ...here.
4550 * version.cc: Moved to...
4551 * version.c: ...here.
4552 * vx_stack_info.cc: Moved to...
4553 * vx_stack_info.c: ...here.
4555 2022-01-17 Martin Liska <mliska@suse.cz>
4557 * Makefile.rtl: Rename .c names to .cc.
4558 * gcc-interface/Make-lang.in: Likewise.
4559 * gcc-interface/Makefile.in: Likewise.
4561 2022-01-17 Martin Liska <mliska@suse.cz>
4563 * Make-generated.in: Rename .c names to .cc.
4564 * adaint.c: Likewise.
4565 * ctrl_c.c (dummy_handler): Likewise.
4566 * gcc-interface/Makefile.in: Likewise.
4567 * gcc-interface/config-lang.in: Likewise.
4568 * gcc-interface/decl.cc (concat_name): Likewise.
4569 (init_gnat_decl): Likewise.
4570 * gcc-interface/gigi.h (concat_name): Likewise.
4571 (init_gnat_utils): Likewise.
4572 (build_call_raise_range): Likewise.
4573 (gnat_mark_addressable): Likewise.
4574 (gnat_protect_expr): Likewise.
4575 (gnat_rewrite_reference): Likewise.
4576 * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
4577 * gcc-interface/utils.cc (GTY): Likewise.
4578 (add_deferred_type_context): Likewise.
4579 (init_gnat_utils): Likewise.
4580 * gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
4581 (gnat_protect_expr): Likewise.
4582 (gnat_stabilize_reference_1): Likewise.
4583 (gnat_rewrite_reference): Likewise.
4584 * gsocket.h: Likewise.
4585 * init.cc (__gnat_error_handler): Likewise.
4586 * libgnarl/s-intman.ads: Likewise.
4587 * libgnarl/s-osinte__android.ads: Likewise.
4588 * libgnarl/s-osinte__darwin.ads: Likewise.
4589 * libgnarl/s-osinte__hpux.ads: Likewise.
4590 * libgnarl/s-osinte__linux.ads: Likewise.
4591 * libgnarl/s-osinte__qnx.ads: Likewise.
4592 * libgnarl/s-taskin.ads: Likewise.
4593 * rtfinal.cc: Likewise.
4594 * s-oscons-tmplt.c (CND): Likewise.
4595 * set_targ.ads: Likewise.
4597 2022-01-17 Martin Liska <mliska@suse.cz>
4599 * adadecode.c: Moved to...
4600 * adadecode.cc: ...here.
4601 * affinity.c: Moved to...
4602 * affinity.cc: ...here.
4603 * argv-lynxos178-raven-cert.c: Moved to...
4604 * argv-lynxos178-raven-cert.cc: ...here.
4605 * argv.c: Moved to...
4607 * aux-io.c: Moved to...
4608 * aux-io.cc: ...here.
4609 * cio.c: Moved to...
4611 * cstreams.c: Moved to...
4612 * cstreams.cc: ...here.
4613 * env.c: Moved to...
4615 * exit.c: Moved to...
4617 * expect.c: Moved to...
4618 * expect.cc: ...here.
4619 * final.c: Moved to...
4620 * final.cc: ...here.
4621 * gcc-interface/cuintp.c: Moved to...
4622 * gcc-interface/cuintp.cc: ...here.
4623 * gcc-interface/decl.c: Moved to...
4624 * gcc-interface/decl.cc: ...here.
4625 * gcc-interface/misc.c: Moved to...
4626 * gcc-interface/misc.cc: ...here.
4627 * gcc-interface/targtyps.c: Moved to...
4628 * gcc-interface/targtyps.cc: ...here.
4629 * gcc-interface/trans.c: Moved to...
4630 * gcc-interface/trans.cc: ...here.
4631 * gcc-interface/utils.c: Moved to...
4632 * gcc-interface/utils.cc: ...here.
4633 * gcc-interface/utils2.c: Moved to...
4634 * gcc-interface/utils2.cc: ...here.
4635 * init.c: Moved to...
4637 * initialize.c: Moved to...
4638 * initialize.cc: ...here.
4639 * libgnarl/thread.c: Moved to...
4640 * libgnarl/thread.cc: ...here.
4641 * link.c: Moved to...
4643 * locales.c: Moved to...
4644 * locales.cc: ...here.
4645 * mkdir.c: Moved to...
4646 * mkdir.cc: ...here.
4647 * raise.c: Moved to...
4648 * raise.cc: ...here.
4649 * rtfinal.c: Moved to...
4650 * rtfinal.cc: ...here.
4651 * rtinit.c: Moved to...
4652 * rtinit.cc: ...here.
4653 * seh_init.c: Moved to...
4654 * seh_init.cc: ...here.
4655 * sigtramp-armdroid.c: Moved to...
4656 * sigtramp-armdroid.cc: ...here.
4657 * sigtramp-ios.c: Moved to...
4658 * sigtramp-ios.cc: ...here.
4659 * sigtramp-qnx.c: Moved to...
4660 * sigtramp-qnx.cc: ...here.
4661 * sigtramp-vxworks.c: Moved to...
4662 * sigtramp-vxworks.cc: ...here.
4663 * socket.c: Moved to...
4664 * socket.cc: ...here.
4665 * tracebak.c: Moved to...
4666 * tracebak.cc: ...here.
4667 * version.c: Moved to...
4668 * version.cc: ...here.
4669 * vx_stack_info.c: Moved to...
4670 * vx_stack_info.cc: ...here.
4672 2022-01-14 Andrew Pinski <apinski@marvell.com>
4675 * gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File
4676 goto End_Of_Program.
4678 2022-01-11 Eric Botcazou <ebotcazou@adacore.com>
4680 * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a
4681 little the assertion on designated types of pointer types.
4683 2022-01-11 Justin Squirek <squirek@adacore.com>
4685 * sem_ch8.adb (Nvis_Messages): Add generic instance name to
4688 2022-01-11 Etienne Servais <servais@adacore.com>
4690 * par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
4691 bracket as token to open an expression function.
4693 2022-01-11 Justin Squirek <squirek@adacore.com>
4695 * sem_warn.adb (Check_References): Add call to Has_Task instead
4696 of checking component type.
4698 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4700 * exp_util.ads (Insert_Declaration): Remove spec.
4701 * exp_util.adb (Insert_Declaration): Remove body.
4703 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4705 * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid
4707 * exp_ch5.adb (Expand_N_If_Statement): Likewise.
4708 * exp_ch7.adb (Process_Declarations): Likewise.
4709 * sem_elab.adb (Freeze_Node_Location): Likewise.
4710 * exp_util.adb (Insert_Actions): Likewise.
4711 (Is_OK_PF_Pragma): Likewise.
4712 (Requires_Cleanup_Actions): Remove early exit; ordinary
4713 processing path will similarly do nothing.
4715 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4717 * snames.ads-tmpl: Restore Name_Rpc.
4719 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4721 * sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF
4722 statement; refill code and comments.
4724 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4726 * sem_ch4.adb (Analyze_Allocator): Fix comment.
4727 * sem_eval.ads (Compile-Time Known Values): Likewise.
4729 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4731 * snames.ads-tmpl: Remove unreferenced names.
4733 2022-01-11 Yannick Moy <moy@adacore.com>
4735 * libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma
4736 Prove_Signs, call lemma for commutation of Big and
4738 (Multiply_With_Ovflo_Check): Adjust postcondition of
4740 (Scaled_Divide): Explicit commutation in the proof of lemma
4741 Prove_Multiplication, add new lemma Prove_Shift_Progress for
4742 congruence property that is not proved in a larger context, add
4743 assertions at the end of the loop to state loop invariant
4746 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4748 * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec.
4749 * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body.
4751 2022-01-11 Yannick Moy <moy@adacore.com>
4753 * libgnat/a-strfix.adb (Insert, Overwrite): Add assertions.
4755 2022-01-11 Arnaud Charlet <charlet@adacore.com>
4758 * osint.adb (Program_Name): Fix handling of suffixes.
4760 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4762 * exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary
4763 DECLARE block; refill code and comments.
4765 2022-01-11 Eric Botcazou <ebotcazou@adacore.com>
4767 * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array
4768 copy Packed_Array_Impl_Type manually here.
4769 (Copy_Array_Subtype_Attributes): Do not copy it here.
4771 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4773 * exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
4774 Unnest_Statement_List): Simplify with Make_Temporary.
4775 * exp_put_image.adb (Build_Image_Call): Likewise.
4776 * inline.adb (Generate_Subprogram_Body): Likewise.
4777 * sem_ch13.adb (Build_Predicate_Functions): Likewise.
4778 * sem_util.adb (New_Copy_Separate_List): Likewise.
4780 2022-01-11 Etienne Servais <servais@adacore.com>
4782 * sem_ch3.adb (Check_Dynamic_Object): Swap check order.
4784 2022-01-11 Yannick Moy <moy@adacore.com>
4786 * libgnat/s-casuti.adb: Add ghost code.
4787 * libgnat/s-casuti.ads: Add contracts.
4789 2022-01-11 Claire Dross <dross@adacore.com>
4791 * libgnat/a-tiinau.ads: Use a procedure for the Scan parameter
4792 instead of a function with side-effects.
4793 * libgnat/a-tiinau.adb: Idem.
4794 * libgnat/a-wtinau.ads: Idem.
4795 * libgnat/a-wtinau.adb: Idem.
4796 * libgnat/a-ztinau.ads: Idem.
4797 * libgnat/a-ztinau.adb: Idem.
4798 * libgnat/s-valint.ads: Change the function with side-effects
4799 Scan_Integer into a procedure
4800 * libgnat/s-vallli.ads: Idem.
4801 * libgnat/s-valllli.ads: Idem.
4802 * libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore
4803 assertions in instance.
4804 * libgnat/s-valllu.ads: Idem.
4805 * libgnat/s-valuns.ads: Idem.
4806 * libgnat/s-valuei.ads: Use a procedure for the
4807 Scan_Raw_Unsigned parameter instead of a function with
4808 side-effects and change the function with side-effects
4809 Scan_Integer into a procedure.
4810 * libgnat/s-valuei.adb: Idem.
4811 * libgnat/s-valuti.ads: Introduce a ghost function that scans an
4812 exponent and complete the postcondition of Scan_Exponent to also
4813 describe the value of Ptr after the call. Fix the postcondition
4814 of Scan_Underscore. Simplify the definition of
4816 * libgnat/s-valuti.adb: Idem.
4817 * libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to
4818 First_Non_Space_Ghost.
4819 * libgnat/s-valueu.ads: Add functional contracts.
4820 * libgnat/s-valueu.adb: Idem.
4822 2022-01-11 Yannick Moy <moy@adacore.com>
4824 * libgnat/s-expmod.adb (Exp_Modular): Add assertions.
4826 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4828 * errout.adb (Error_Msg_CRT): Build message with string
4829 concatenation; it is slightly repetitive but much easier to
4832 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4834 * exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit
4835 initialization of the exceptF object.
4837 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4839 * par-ch3.adb (P_Array_Type_Definition): Use
4840 Error_Msg_GNAT_Extension.
4842 2022-01-11 Gary Dismukes <dismukes@adacore.com>
4844 * sem_disp.adb (Check_Controlling_Type): Add test for the case
4845 where Subp is a subprogram associated with a protected
4846 subprogram and return Empty, unless Tagged_Type is the
4847 corresponding record type of the protected type.
4849 2022-01-11 Yannick Moy <moy@adacore.com>
4851 * libgnat/s-veboop.adb: Add ghost code for proof.
4852 * libgnat/s-veboop.ads: Add specification.
4854 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4856 * exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb,
4857 exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb,
4858 inline.adb, itypes.adb, lib-load.adb, lib-xref.adb,
4859 libgnat/a-cfhase.adb, libgnat/a-cforse.adb,
4860 libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb,
4861 libgnat/a-except.adb, libgnat/a-strfix.adb,
4862 libgnat/a-textio.adb, libgnat/a-tienau.adb,
4863 libgnat/a-tigeau.adb, libgnat/a-witeio.adb,
4864 libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb,
4865 libgnat/a-ztenau.adb, libgnat/a-ztexio.adb,
4866 libgnat/a-ztgeau.adb, libgnat/g-comlin.adb,
4867 libgnat/g-debpoo.adb, libgnat/g-expect.adb,
4868 libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb,
4869 libgnat/s-objrea.adb, libgnat/s-pehage.adb,
4870 libgnat/s-regpat.adb, libgnat/s-shasto.adb,
4871 libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb,
4872 par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb,
4873 repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
4874 sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb,
4875 sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style.
4877 2022-01-11 Arnaud Charlet <charlet@adacore.com>
4879 * exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb,
4880 sem_ch13.adb: Use membership tests.
4882 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4884 * erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to
4885 connect status of initial messages and their continuation; we
4886 already have several flags like this.
4887 (Error_Msg_Object): Add field Warn_Runtime_Raise to connect
4888 error reporting (when problematic code is found) and removal
4889 (when problematic code is determined to be dead).
4890 * errout.adb (Error_Msg_Internal): Handle new field when
4891 recording a continuation message; propagate status from
4892 continuation to the preceding messages.
4893 (To_Be_Removed): For dead code remove both simple warnings and
4894 warnings about constraint errors that have been escalated to
4896 (Set_Msg_Text): Recognize warnings about constraint errors that
4897 are escalated to hard errors.
4898 * errutil.adb (Error_Msg): Handle added field when recording a
4901 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
4903 * errout.adb (Error_Msg_Internal): Propagate warnings-as-error
4904 flag from continuation message to its preceding messages.
4906 2022-01-11 Arnaud Charlet <charlet@adacore.com>
4908 * gnatvsn.ads (Current_Year): Update copyright notice, bump to
4910 * ada_get_targ.adb: Update copyright notice.
4911 * adabkend.adb: Likewise.
4912 * adabkend.ads: Likewise.
4913 * adadecode.c: Likewise.
4914 * adadecode.h: Likewise.
4915 * adaint.c: Likewise.
4916 * adaint.h: Likewise.
4917 * affinity.c: Likewise.
4918 * ali-util.adb: Likewise.
4919 * ali-util.ads: Likewise.
4920 * ali.adb: Likewise.
4921 * ali.ads: Likewise.
4922 * alloc.ads: Likewise.
4923 * argv-lynxos178-raven-cert.c: Likewise.
4925 * aspects.adb: Likewise.
4926 * aspects.ads: Likewise.
4927 * atree.adb: Likewise.
4928 * atree.ads: Likewise.
4929 * atree.h: Likewise.
4930 * aux-io.c: Likewise.
4931 * back_end.adb: Likewise.
4932 * back_end.ads: Likewise.
4933 * backend_utils.adb: Likewise.
4934 * backend_utils.ads: Likewise.
4935 * bcheck.adb: Likewise.
4936 * bcheck.ads: Likewise.
4937 * binde.adb: Likewise.
4938 * binde.ads: Likewise.
4939 * binderr.adb: Likewise.
4940 * binderr.ads: Likewise.
4941 * bindgen.adb: Likewise.
4942 * bindgen.ads: Likewise.
4943 * bindo-augmentors.adb: Likewise.
4944 * bindo-augmentors.ads: Likewise.
4945 * bindo-builders.adb: Likewise.
4946 * bindo-builders.ads: Likewise.
4947 * bindo-diagnostics.adb: Likewise.
4948 * bindo-diagnostics.ads: Likewise.
4949 * bindo-elaborators.adb: Likewise.
4950 * bindo-elaborators.ads: Likewise.
4951 * bindo-graphs.adb: Likewise.
4952 * bindo-graphs.ads: Likewise.
4953 * bindo-units.adb: Likewise.
4954 * bindo-units.ads: Likewise.
4955 * bindo-validators.adb: Likewise.
4956 * bindo-validators.ads: Likewise.
4957 * bindo-writers.adb: Likewise.
4958 * bindo-writers.ads: Likewise.
4959 * bindo.adb: Likewise.
4960 * bindo.ads: Likewise.
4961 * bindusg.adb: Likewise.
4962 * bindusg.ads: Likewise.
4963 * butil.adb: Likewise.
4964 * butil.ads: Likewise.
4966 * casing.adb: Likewise.
4967 * casing.ads: Likewise.
4968 * checks.adb: Likewise.
4969 * checks.ads: Likewise.
4971 * clean.adb: Likewise.
4972 * clean.ads: Likewise.
4973 * comperr.adb: Likewise.
4974 * comperr.ads: Likewise.
4975 * contracts.adb: Likewise.
4976 * contracts.ads: Likewise.
4977 * csets.adb: Likewise.
4978 * csets.ads: Likewise.
4979 * cstand.adb: Likewise.
4980 * cstand.ads: Likewise.
4981 * cstreams.c: Likewise.
4982 * ctrl_c.c: Likewise.
4983 * debug.ads: Likewise.
4984 * debug_a.adb: Likewise.
4985 * debug_a.ads: Likewise.
4986 * einfo-utils.adb: Likewise.
4987 * einfo-utils.ads: Likewise.
4988 * einfo.adb: Likewise.
4989 * einfo.ads: Likewise.
4990 * elists.adb: Likewise.
4991 * elists.ads: Likewise.
4992 * elists.h: Likewise.
4995 * err_vars.ads: Likewise.
4996 * errno.c: Likewise.
4997 * errout.adb: Likewise.
4998 * errout.ads: Likewise.
4999 * erroutc.adb: Likewise.
5000 * erroutc.ads: Likewise.
5001 * errutil.adb: Likewise.
5002 * errutil.ads: Likewise.
5003 * eval_fat.adb: Likewise.
5004 * eval_fat.ads: Likewise.
5006 * exp_aggr.adb: Likewise.
5007 * exp_aggr.ads: Likewise.
5008 * exp_atag.adb: Likewise.
5009 * exp_atag.ads: Likewise.
5010 * exp_attr.adb: Likewise.
5011 * exp_attr.ads: Likewise.
5012 * exp_cg.adb: Likewise.
5013 * exp_cg.ads: Likewise.
5014 * exp_ch10.ads: Likewise.
5015 * exp_ch11.adb: Likewise.
5016 * exp_ch11.ads: Likewise.
5017 * exp_ch12.adb: Likewise.
5018 * exp_ch12.ads: Likewise.
5019 * exp_ch13.adb: Likewise.
5020 * exp_ch13.ads: Likewise.
5021 * exp_ch2.adb: Likewise.
5022 * exp_ch2.ads: Likewise.
5023 * exp_ch3.adb: Likewise.
5024 * exp_ch3.ads: Likewise.
5025 * exp_ch4.adb: Likewise.
5026 * exp_ch4.ads: Likewise.
5027 * exp_ch5.adb: Likewise.
5028 * exp_ch5.ads: Likewise.
5029 * exp_ch6.adb: Likewise.
5030 * exp_ch6.ads: Likewise.
5031 * exp_ch7.adb: Likewise.
5032 * exp_ch7.ads: Likewise.
5033 * exp_ch8.adb: Likewise.
5034 * exp_ch8.ads: Likewise.
5035 * exp_ch9.adb: Likewise.
5036 * exp_ch9.ads: Likewise.
5037 * exp_code.adb: Likewise.
5038 * exp_code.ads: Likewise.
5039 * exp_dbug.adb: Likewise.
5040 * exp_dbug.ads: Likewise.
5041 * exp_disp.adb: Likewise.
5042 * exp_disp.ads: Likewise.
5043 * exp_dist.adb: Likewise.
5044 * exp_dist.ads: Likewise.
5045 * exp_fixd.adb: Likewise.
5046 * exp_fixd.ads: Likewise.
5047 * exp_imgv.adb: Likewise.
5048 * exp_imgv.ads: Likewise.
5049 * exp_intr.adb: Likewise.
5050 * exp_intr.ads: Likewise.
5051 * exp_pakd.adb: Likewise.
5052 * exp_pakd.ads: Likewise.
5053 * exp_prag.adb: Likewise.
5054 * exp_prag.ads: Likewise.
5055 * exp_put_image.adb: Likewise.
5056 * exp_put_image.ads: Likewise.
5057 * exp_sel.adb: Likewise.
5058 * exp_sel.ads: Likewise.
5059 * exp_smem.adb: Likewise.
5060 * exp_smem.ads: Likewise.
5061 * exp_spark.adb: Likewise.
5062 * exp_spark.ads: Likewise.
5063 * exp_strm.adb: Likewise.
5064 * exp_strm.ads: Likewise.
5065 * exp_tss.adb: Likewise.
5066 * exp_tss.ads: Likewise.
5067 * exp_unst.adb: Likewise.
5068 * exp_unst.ads: Likewise.
5069 * exp_util.adb: Likewise.
5070 * exp_util.ads: Likewise.
5071 * expander.adb: Likewise.
5072 * expander.ads: Likewise.
5073 * expect.c: Likewise.
5075 * final.c: Likewise.
5076 * fmap.adb: Likewise.
5077 * fmap.ads: Likewise.
5078 * fname-sf.adb: Likewise.
5079 * fname-sf.ads: Likewise.
5080 * fname-uf.adb: Likewise.
5081 * fname-uf.ads: Likewise.
5082 * fname.adb: Likewise.
5083 * fname.ads: Likewise.
5084 * freeze.adb: Likewise.
5085 * freeze.ads: Likewise.
5086 * frontend.adb: Likewise.
5087 * frontend.ads: Likewise.
5088 * gen_il-fields.ads: Likewise.
5089 * gen_il-gen-gen_entities.adb: Likewise.
5090 * gen_il-gen-gen_nodes.adb: Likewise.
5091 * gen_il-gen.adb: Likewise.
5092 * gen_il-gen.ads: Likewise.
5093 * gen_il-internals.adb: Likewise.
5094 * gen_il-internals.ads: Likewise.
5095 * gen_il-main.adb: Likewise.
5096 * gen_il-types.ads: Likewise.
5097 * gen_il.adb: Likewise.
5098 * gen_il.ads: Likewise.
5099 * get_scos.adb: Likewise.
5100 * get_scos.ads: Likewise.
5101 * get_targ.adb: Likewise.
5102 * get_targ.ads: Likewise.
5103 * ghost.adb: Likewise.
5104 * ghost.ads: Likewise.
5105 * gnat1drv.adb: Likewise.
5106 * gnat1drv.ads: Likewise.
5107 * gnat_cuda.adb: Likewise.
5108 * gnat_cuda.ads: Likewise.
5109 * gnatbind.adb: Likewise.
5110 * gnatbind.ads: Likewise.
5111 * gnatchop.adb: Likewise.
5112 * gnatclean.adb: Likewise.
5113 * gnatcmd.adb: Likewise.
5114 * gnatcmd.ads: Likewise.
5115 * gnatdll.adb: Likewise.
5116 * gnatfind.adb: Likewise.
5117 * gnatkr.adb: Likewise.
5118 * gnatkr.ads: Likewise.
5119 * gnatlink.adb: Likewise.
5120 * gnatlink.ads: Likewise.
5121 * gnatls.adb: Likewise.
5122 * gnatls.ads: Likewise.
5123 * gnatmake.adb: Likewise.
5124 * gnatmake.ads: Likewise.
5125 * gnatname.adb: Likewise.
5126 * gnatname.ads: Likewise.
5127 * gnatprep.adb: Likewise.
5128 * gnatprep.ads: Likewise.
5129 * gnatvsn.adb: Likewise.
5130 * gnatxref.adb: Likewise.
5131 * gprep.adb: Likewise.
5132 * gprep.ads: Likewise.
5133 * gsocket.h: Likewise.
5134 * hostparm.ads: Likewise.
5135 * impunit.adb: Likewise.
5136 * impunit.ads: Likewise.
5137 * indepsw-aix.adb: Likewise.
5138 * indepsw-darwin.adb: Likewise.
5139 * indepsw-gnu.adb: Likewise.
5140 * indepsw.adb: Likewise.
5141 * indepsw.ads: Likewise.
5143 * initialize.c: Likewise.
5144 * inline.adb: Likewise.
5145 * inline.ads: Likewise.
5146 * itypes.adb: Likewise.
5147 * itypes.ads: Likewise.
5148 * krunch.adb: Likewise.
5149 * krunch.ads: Likewise.
5150 * layout.adb: Likewise.
5151 * layout.ads: Likewise.
5152 * lib-list.adb: Likewise.
5153 * lib-load.adb: Likewise.
5154 * lib-load.ads: Likewise.
5155 * lib-sort.adb: Likewise.
5156 * lib-util.adb: Likewise.
5157 * lib-util.ads: Likewise.
5158 * lib-writ.adb: Likewise.
5159 * lib-writ.ads: Likewise.
5160 * lib-xref-spark_specific.adb: Likewise.
5161 * lib-xref.adb: Likewise.
5162 * lib-xref.ads: Likewise.
5163 * lib.adb: Likewise.
5164 * lib.ads: Likewise.
5165 * libgnarl/a-astaco.adb: Likewise.
5166 * libgnarl/a-dispat.adb: Likewise.
5167 * libgnarl/a-dynpri.adb: Likewise.
5168 * libgnarl/a-etgrbu.ads: Likewise.
5169 * libgnarl/a-exetim__darwin.adb: Likewise.
5170 * libgnarl/a-exetim__default.ads: Likewise.
5171 * libgnarl/a-exetim__mingw.adb: Likewise.
5172 * libgnarl/a-exetim__mingw.ads: Likewise.
5173 * libgnarl/a-exetim__posix.adb: Likewise.
5174 * libgnarl/a-interr.adb: Likewise.
5175 * libgnarl/a-interr.ads: Likewise.
5176 * libgnarl/a-intnam.ads: Likewise.
5177 * libgnarl/a-intnam__aix.ads: Likewise.
5178 * libgnarl/a-intnam__darwin.ads: Likewise.
5179 * libgnarl/a-intnam__dragonfly.ads: Likewise.
5180 * libgnarl/a-intnam__dummy.ads: Likewise.
5181 * libgnarl/a-intnam__freebsd.ads: Likewise.
5182 * libgnarl/a-intnam__hpux.ads: Likewise.
5183 * libgnarl/a-intnam__linux.ads: Likewise.
5184 * libgnarl/a-intnam__lynxos.ads: Likewise.
5185 * libgnarl/a-intnam__mingw.ads: Likewise.
5186 * libgnarl/a-intnam__qnx.ads: Likewise.
5187 * libgnarl/a-intnam__rtems.ads: Likewise.
5188 * libgnarl/a-intnam__solaris.ads: Likewise.
5189 * libgnarl/a-intnam__vxworks.ads: Likewise.
5190 * libgnarl/a-reatim.adb: Likewise.
5191 * libgnarl/a-reatim.ads: Likewise.
5192 * libgnarl/a-retide.adb: Likewise.
5193 * libgnarl/a-retide.ads: Likewise.
5194 * libgnarl/a-rttiev.adb: Likewise.
5195 * libgnarl/a-rttiev.ads: Likewise.
5196 * libgnarl/a-synbar.adb: Likewise.
5197 * libgnarl/a-synbar.ads: Likewise.
5198 * libgnarl/a-synbar__posix.adb: Likewise.
5199 * libgnarl/a-synbar__posix.ads: Likewise.
5200 * libgnarl/a-sytaco.adb: Likewise.
5201 * libgnarl/a-sytaco.ads: Likewise.
5202 * libgnarl/a-tasatt.adb: Likewise.
5203 * libgnarl/a-tasatt.ads: Likewise.
5204 * libgnarl/a-taside.adb: Likewise.
5205 * libgnarl/a-taside.ads: Likewise.
5206 * libgnarl/a-tasini.adb: Likewise.
5207 * libgnarl/a-tasini.ads: Likewise.
5208 * libgnarl/a-taster.adb: Likewise.
5209 * libgnarl/g-boubuf.adb: Likewise.
5210 * libgnarl/g-boubuf.ads: Likewise.
5211 * libgnarl/g-boumai.ads: Likewise.
5212 * libgnarl/g-semaph.adb: Likewise.
5213 * libgnarl/g-semaph.ads: Likewise.
5214 * libgnarl/g-signal.adb: Likewise.
5215 * libgnarl/g-signal.ads: Likewise.
5216 * libgnarl/g-tastus.ads: Likewise.
5217 * libgnarl/g-thread.adb: Likewise.
5218 * libgnarl/g-thread.ads: Likewise.
5219 * libgnarl/i-vxinco.adb: Likewise.
5220 * libgnarl/i-vxinco.ads: Likewise.
5221 * libgnarl/s-inmaop.ads: Likewise.
5222 * libgnarl/s-inmaop__dummy.adb: Likewise.
5223 * libgnarl/s-inmaop__hwint.adb: Likewise.
5224 * libgnarl/s-inmaop__posix.adb: Likewise.
5225 * libgnarl/s-interr.adb: Likewise.
5226 * libgnarl/s-interr.ads: Likewise.
5227 * libgnarl/s-interr__dummy.adb: Likewise.
5228 * libgnarl/s-interr__hwint.adb: Likewise.
5229 * libgnarl/s-interr__sigaction.adb: Likewise.
5230 * libgnarl/s-interr__vxworks.adb: Likewise.
5231 * libgnarl/s-intman.ads: Likewise.
5232 * libgnarl/s-intman__android.adb: Likewise.
5233 * libgnarl/s-intman__dummy.adb: Likewise.
5234 * libgnarl/s-intman__lynxos.adb: Likewise.
5235 * libgnarl/s-intman__mingw.adb: Likewise.
5236 * libgnarl/s-intman__posix.adb: Likewise.
5237 * libgnarl/s-intman__qnx.adb: Likewise.
5238 * libgnarl/s-intman__rtems.adb: Likewise.
5239 * libgnarl/s-intman__rtems.ads: Likewise.
5240 * libgnarl/s-intman__solaris.adb: Likewise.
5241 * libgnarl/s-intman__susv3.adb: Likewise.
5242 * libgnarl/s-intman__vxworks.adb: Likewise.
5243 * libgnarl/s-intman__vxworks.ads: Likewise.
5244 * libgnarl/s-linux.ads: Likewise.
5245 * libgnarl/s-linux__alpha.ads: Likewise.
5246 * libgnarl/s-linux__android.ads: Likewise.
5247 * libgnarl/s-linux__hppa.ads: Likewise.
5248 * libgnarl/s-linux__mips.ads: Likewise.
5249 * libgnarl/s-linux__riscv.ads: Likewise.
5250 * libgnarl/s-linux__sparc.ads: Likewise.
5251 * libgnarl/s-linux__x32.ads: Likewise.
5252 * libgnarl/s-mudido.adb: Likewise.
5253 * libgnarl/s-mudido__affinity.adb: Likewise.
5254 * libgnarl/s-osinte__aix.adb: Likewise.
5255 * libgnarl/s-osinte__aix.ads: Likewise.
5256 * libgnarl/s-osinte__android.adb: Likewise.
5257 * libgnarl/s-osinte__android.ads: Likewise.
5258 * libgnarl/s-osinte__darwin.adb: Likewise.
5259 * libgnarl/s-osinte__darwin.ads: Likewise.
5260 * libgnarl/s-osinte__dragonfly.adb: Likewise.
5261 * libgnarl/s-osinte__dragonfly.ads: Likewise.
5262 * libgnarl/s-osinte__dummy.ads: Likewise.
5263 * libgnarl/s-osinte__freebsd.adb: Likewise.
5264 * libgnarl/s-osinte__freebsd.ads: Likewise.
5265 * libgnarl/s-osinte__gnu.adb: Likewise.
5266 * libgnarl/s-osinte__gnu.ads: Likewise.
5267 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
5268 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
5269 * libgnarl/s-osinte__hpux.ads: Likewise.
5270 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
5271 * libgnarl/s-osinte__linux.ads: Likewise.
5272 * libgnarl/s-osinte__lynxos178.adb: Likewise.
5273 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
5274 * libgnarl/s-osinte__mingw.ads: Likewise.
5275 * libgnarl/s-osinte__posix.adb: Likewise.
5276 * libgnarl/s-osinte__qnx.adb: Likewise.
5277 * libgnarl/s-osinte__qnx.ads: Likewise.
5278 * libgnarl/s-osinte__rtems.adb: Likewise.
5279 * libgnarl/s-osinte__rtems.ads: Likewise.
5280 * libgnarl/s-osinte__solaris.adb: Likewise.
5281 * libgnarl/s-osinte__solaris.ads: Likewise.
5282 * libgnarl/s-osinte__vxworks.adb: Likewise.
5283 * libgnarl/s-osinte__vxworks.ads: Likewise.
5284 * libgnarl/s-osinte__x32.adb: Likewise.
5285 * libgnarl/s-proinf.adb: Likewise.
5286 * libgnarl/s-proinf.ads: Likewise.
5287 * libgnarl/s-putaim.adb: Likewise.
5288 * libgnarl/s-putaim.ads: Likewise.
5289 * libgnarl/s-qnx.ads: Likewise.
5290 * libgnarl/s-solita.adb: Likewise.
5291 * libgnarl/s-solita.ads: Likewise.
5292 * libgnarl/s-stusta.adb: Likewise.
5293 * libgnarl/s-stusta.ads: Likewise.
5294 * libgnarl/s-taasde.adb: Likewise.
5295 * libgnarl/s-taasde.ads: Likewise.
5296 * libgnarl/s-tadeca.adb: Likewise.
5297 * libgnarl/s-tadeca.ads: Likewise.
5298 * libgnarl/s-tadert.adb: Likewise.
5299 * libgnarl/s-tadert.ads: Likewise.
5300 * libgnarl/s-taenca.adb: Likewise.
5301 * libgnarl/s-taenca.ads: Likewise.
5302 * libgnarl/s-taprob.adb: Likewise.
5303 * libgnarl/s-taprob.ads: Likewise.
5304 * libgnarl/s-taprop.ads: Likewise.
5305 * libgnarl/s-taprop__dummy.adb: Likewise.
5306 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
5307 * libgnarl/s-taprop__linux.adb: Likewise.
5308 * libgnarl/s-taprop__mingw.adb: Likewise.
5309 * libgnarl/s-taprop__posix.adb: Likewise.
5310 * libgnarl/s-taprop__qnx.adb: Likewise.
5311 * libgnarl/s-taprop__rtems.adb: Likewise.
5312 * libgnarl/s-taprop__solaris.adb: Likewise.
5313 * libgnarl/s-taprop__vxworks.adb: Likewise.
5314 * libgnarl/s-tarest.adb: Likewise.
5315 * libgnarl/s-tarest.ads: Likewise.
5316 * libgnarl/s-tasdeb.adb: Likewise.
5317 * libgnarl/s-tasdeb.ads: Likewise.
5318 * libgnarl/s-tasinf.adb: Likewise.
5319 * libgnarl/s-tasinf.ads: Likewise.
5320 * libgnarl/s-tasinf__linux.adb: Likewise.
5321 * libgnarl/s-tasinf__linux.ads: Likewise.
5322 * libgnarl/s-tasinf__mingw.adb: Likewise.
5323 * libgnarl/s-tasinf__mingw.ads: Likewise.
5324 * libgnarl/s-tasinf__solaris.adb: Likewise.
5325 * libgnarl/s-tasinf__solaris.ads: Likewise.
5326 * libgnarl/s-tasinf__vxworks.ads: Likewise.
5327 * libgnarl/s-tasini.adb: Likewise.
5328 * libgnarl/s-tasini.ads: Likewise.
5329 * libgnarl/s-taskin.adb: Likewise.
5330 * libgnarl/s-taskin.ads: Likewise.
5331 * libgnarl/s-taspri__dummy.ads: Likewise.
5332 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
5333 * libgnarl/s-taspri__lynxos.ads: Likewise.
5334 * libgnarl/s-taspri__mingw.ads: Likewise.
5335 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
5336 * libgnarl/s-taspri__posix.ads: Likewise.
5337 * libgnarl/s-taspri__solaris.ads: Likewise.
5338 * libgnarl/s-taspri__vxworks.ads: Likewise.
5339 * libgnarl/s-tasque.adb: Likewise.
5340 * libgnarl/s-tasque.ads: Likewise.
5341 * libgnarl/s-tasren.adb: Likewise.
5342 * libgnarl/s-tasren.ads: Likewise.
5343 * libgnarl/s-tasres.ads: Likewise.
5344 * libgnarl/s-tassta.adb: Likewise.
5345 * libgnarl/s-tassta.ads: Likewise.
5346 * libgnarl/s-tasuti.adb: Likewise.
5347 * libgnarl/s-tasuti.ads: Likewise.
5348 * libgnarl/s-tataat.adb: Likewise.
5349 * libgnarl/s-tataat.ads: Likewise.
5350 * libgnarl/s-tpinop.adb: Likewise.
5351 * libgnarl/s-tpinop.ads: Likewise.
5352 * libgnarl/s-tpoaal.adb: Likewise.
5353 * libgnarl/s-tpoben.adb: Likewise.
5354 * libgnarl/s-tpoben.ads: Likewise.
5355 * libgnarl/s-tpobmu.adb: Likewise.
5356 * libgnarl/s-tpobmu.ads: Likewise.
5357 * libgnarl/s-tpobop.adb: Likewise.
5358 * libgnarl/s-tpobop.ads: Likewise.
5359 * libgnarl/s-tpopmo.adb: Likewise.
5360 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
5361 * libgnarl/s-tpopsp__posix.adb: Likewise.
5362 * libgnarl/s-tpopsp__solaris.adb: Likewise.
5363 * libgnarl/s-tpopsp__tls.adb: Likewise.
5364 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
5365 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
5366 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
5367 * libgnarl/s-tporft.adb: Likewise.
5368 * libgnarl/s-tposen.adb: Likewise.
5369 * libgnarl/s-tposen.ads: Likewise.
5370 * libgnarl/s-vxwext.adb: Likewise.
5371 * libgnarl/s-vxwext.ads: Likewise.
5372 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
5373 * libgnarl/s-vxwext__kernel.adb: Likewise.
5374 * libgnarl/s-vxwext__kernel.ads: Likewise.
5375 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
5376 * libgnarl/s-vxwext__rtp.adb: Likewise.
5377 * libgnarl/s-vxwext__rtp.ads: Likewise.
5378 * libgnarl/s-vxwork__aarch64.ads: Likewise.
5379 * libgnarl/s-vxwork__arm.ads: Likewise.
5380 * libgnarl/s-vxwork__ppc.ads: Likewise.
5381 * libgnarl/s-vxwork__x86.ads: Likewise.
5382 * libgnarl/thread.c: Likewise.
5383 * libgnat/a-assert.adb: Likewise.
5384 * libgnat/a-assert.ads: Likewise.
5385 * libgnat/a-btgbso.adb: Likewise.
5386 * libgnat/a-btgbso.ads: Likewise.
5387 * libgnat/a-calari.adb: Likewise.
5388 * libgnat/a-calari.ads: Likewise.
5389 * libgnat/a-calcon.adb: Likewise.
5390 * libgnat/a-calcon.ads: Likewise.
5391 * libgnat/a-caldel.adb: Likewise.
5392 * libgnat/a-caldel.ads: Likewise.
5393 * libgnat/a-calend.adb: Likewise.
5394 * libgnat/a-calend.ads: Likewise.
5395 * libgnat/a-calfor.adb: Likewise.
5396 * libgnat/a-calfor.ads: Likewise.
5397 * libgnat/a-catizo.adb: Likewise.
5398 * libgnat/a-cbdlli.adb: Likewise.
5399 * libgnat/a-cbdlli.ads: Likewise.
5400 * libgnat/a-cbhama.adb: Likewise.
5401 * libgnat/a-cbhama.ads: Likewise.
5402 * libgnat/a-cbhase.adb: Likewise.
5403 * libgnat/a-cbhase.ads: Likewise.
5404 * libgnat/a-cbmutr.adb: Likewise.
5405 * libgnat/a-cbmutr.ads: Likewise.
5406 * libgnat/a-cborma.adb: Likewise.
5407 * libgnat/a-cborma.ads: Likewise.
5408 * libgnat/a-cborse.adb: Likewise.
5409 * libgnat/a-cborse.ads: Likewise.
5410 * libgnat/a-cbprqu.adb: Likewise.
5411 * libgnat/a-cbprqu.ads: Likewise.
5412 * libgnat/a-cbsyqu.adb: Likewise.
5413 * libgnat/a-cbsyqu.ads: Likewise.
5414 * libgnat/a-cdlili.adb: Likewise.
5415 * libgnat/a-cdlili.ads: Likewise.
5416 * libgnat/a-cfdlli.adb: Likewise.
5417 * libgnat/a-cfdlli.ads: Likewise.
5418 * libgnat/a-cfhama.adb: Likewise.
5419 * libgnat/a-cfhama.ads: Likewise.
5420 * libgnat/a-cfhase.adb: Likewise.
5421 * libgnat/a-cfhase.ads: Likewise.
5422 * libgnat/a-cfinve.adb: Likewise.
5423 * libgnat/a-cfinve.ads: Likewise.
5424 * libgnat/a-cforma.adb: Likewise.
5425 * libgnat/a-cforma.ads: Likewise.
5426 * libgnat/a-cforse.adb: Likewise.
5427 * libgnat/a-cforse.ads: Likewise.
5428 * libgnat/a-cgaaso.adb: Likewise.
5429 * libgnat/a-cgaaso.ads: Likewise.
5430 * libgnat/a-cgarso.adb: Likewise.
5431 * libgnat/a-cgcaso.adb: Likewise.
5432 * libgnat/a-chacon.adb: Likewise.
5433 * libgnat/a-chacon.ads: Likewise.
5434 * libgnat/a-chahan.adb: Likewise.
5435 * libgnat/a-chahan.ads: Likewise.
5436 * libgnat/a-chlat9.ads: Likewise.
5437 * libgnat/a-chtgbk.adb: Likewise.
5438 * libgnat/a-chtgbk.ads: Likewise.
5439 * libgnat/a-chtgbo.adb: Likewise.
5440 * libgnat/a-chtgbo.ads: Likewise.
5441 * libgnat/a-chtgke.adb: Likewise.
5442 * libgnat/a-chtgke.ads: Likewise.
5443 * libgnat/a-chtgop.adb: Likewise.
5444 * libgnat/a-chtgop.ads: Likewise.
5445 * libgnat/a-chzla1.ads: Likewise.
5446 * libgnat/a-chzla9.ads: Likewise.
5447 * libgnat/a-cidlli.adb: Likewise.
5448 * libgnat/a-cidlli.ads: Likewise.
5449 * libgnat/a-cihama.adb: Likewise.
5450 * libgnat/a-cihama.ads: Likewise.
5451 * libgnat/a-cihase.adb: Likewise.
5452 * libgnat/a-cihase.ads: Likewise.
5453 * libgnat/a-cimutr.adb: Likewise.
5454 * libgnat/a-cimutr.ads: Likewise.
5455 * libgnat/a-ciorma.adb: Likewise.
5456 * libgnat/a-ciorma.ads: Likewise.
5457 * libgnat/a-ciormu.adb: Likewise.
5458 * libgnat/a-ciormu.ads: Likewise.
5459 * libgnat/a-ciorse.adb: Likewise.
5460 * libgnat/a-ciorse.ads: Likewise.
5461 * libgnat/a-clrefi.adb: Likewise.
5462 * libgnat/a-clrefi.ads: Likewise.
5463 * libgnat/a-coboho.adb: Likewise.
5464 * libgnat/a-coboho.ads: Likewise.
5465 * libgnat/a-cobove.adb: Likewise.
5466 * libgnat/a-cobove.ads: Likewise.
5467 * libgnat/a-cofove.adb: Likewise.
5468 * libgnat/a-cofove.ads: Likewise.
5469 * libgnat/a-cofuba.adb: Likewise.
5470 * libgnat/a-cofuba.ads: Likewise.
5471 * libgnat/a-cofuma.adb: Likewise.
5472 * libgnat/a-cofuma.ads: Likewise.
5473 * libgnat/a-cofuse.adb: Likewise.
5474 * libgnat/a-cofuse.ads: Likewise.
5475 * libgnat/a-cofuve.adb: Likewise.
5476 * libgnat/a-cofuve.ads: Likewise.
5477 * libgnat/a-cogeso.adb: Likewise.
5478 * libgnat/a-cogeso.ads: Likewise.
5479 * libgnat/a-cohama.adb: Likewise.
5480 * libgnat/a-cohama.ads: Likewise.
5481 * libgnat/a-cohase.adb: Likewise.
5482 * libgnat/a-cohase.ads: Likewise.
5483 * libgnat/a-cohata.ads: Likewise.
5484 * libgnat/a-coinho.adb: Likewise.
5485 * libgnat/a-coinho.ads: Likewise.
5486 * libgnat/a-coinho__shared.adb: Likewise.
5487 * libgnat/a-coinho__shared.ads: Likewise.
5488 * libgnat/a-coinve.adb: Likewise.
5489 * libgnat/a-coinve.ads: Likewise.
5490 * libgnat/a-colien.adb: Likewise.
5491 * libgnat/a-colien.ads: Likewise.
5492 * libgnat/a-colire.adb: Likewise.
5493 * libgnat/a-colire.ads: Likewise.
5494 * libgnat/a-comlin.adb: Likewise.
5495 * libgnat/a-comlin.ads: Likewise.
5496 * libgnat/a-comutr.adb: Likewise.
5497 * libgnat/a-comutr.ads: Likewise.
5498 * libgnat/a-conhel.adb: Likewise.
5499 * libgnat/a-conhel.ads: Likewise.
5500 * libgnat/a-convec.adb: Likewise.
5501 * libgnat/a-convec.ads: Likewise.
5502 * libgnat/a-coorma.adb: Likewise.
5503 * libgnat/a-coorma.ads: Likewise.
5504 * libgnat/a-coormu.adb: Likewise.
5505 * libgnat/a-coormu.ads: Likewise.
5506 * libgnat/a-coorse.adb: Likewise.
5507 * libgnat/a-coorse.ads: Likewise.
5508 * libgnat/a-coprnu.adb: Likewise.
5509 * libgnat/a-coprnu.ads: Likewise.
5510 * libgnat/a-costso.adb: Likewise.
5511 * libgnat/a-costso.ads: Likewise.
5512 * libgnat/a-crbltr.ads: Likewise.
5513 * libgnat/a-crbtgk.adb: Likewise.
5514 * libgnat/a-crbtgk.ads: Likewise.
5515 * libgnat/a-crbtgo.adb: Likewise.
5516 * libgnat/a-crbtgo.ads: Likewise.
5517 * libgnat/a-crdlli.adb: Likewise.
5518 * libgnat/a-crdlli.ads: Likewise.
5519 * libgnat/a-csquin.ads: Likewise.
5520 * libgnat/a-cuprqu.adb: Likewise.
5521 * libgnat/a-cuprqu.ads: Likewise.
5522 * libgnat/a-cusyqu.adb: Likewise.
5523 * libgnat/a-cusyqu.ads: Likewise.
5524 * libgnat/a-cwila1.ads: Likewise.
5525 * libgnat/a-cwila9.ads: Likewise.
5526 * libgnat/a-decima.adb: Likewise.
5527 * libgnat/a-decima.ads: Likewise.
5528 * libgnat/a-decima__128.ads: Likewise.
5529 * libgnat/a-dhfina.adb: Likewise.
5530 * libgnat/a-dhfina.ads: Likewise.
5531 * libgnat/a-diocst.adb: Likewise.
5532 * libgnat/a-diocst.ads: Likewise.
5533 * libgnat/a-direct.adb: Likewise.
5534 * libgnat/a-direct.ads: Likewise.
5535 * libgnat/a-direio.adb: Likewise.
5536 * libgnat/a-direio.ads: Likewise.
5537 * libgnat/a-dirval.adb: Likewise.
5538 * libgnat/a-dirval.ads: Likewise.
5539 * libgnat/a-dirval__mingw.adb: Likewise.
5540 * libgnat/a-einuoc.adb: Likewise.
5541 * libgnat/a-einuoc.ads: Likewise.
5542 * libgnat/a-elchha.adb: Likewise.
5543 * libgnat/a-elchha.ads: Likewise.
5544 * libgnat/a-envvar.adb: Likewise.
5545 * libgnat/a-excach.adb: Likewise.
5546 * libgnat/a-except.adb: Likewise.
5547 * libgnat/a-except.ads: Likewise.
5548 * libgnat/a-exctra.adb: Likewise.
5549 * libgnat/a-exctra.ads: Likewise.
5550 * libgnat/a-exexda.adb: Likewise.
5551 * libgnat/a-exexpr.adb: Likewise.
5552 * libgnat/a-exextr.adb: Likewise.
5553 * libgnat/a-exstat.adb: Likewise.
5554 * libgnat/a-finali.adb: Likewise.
5555 * libgnat/a-finali.ads: Likewise.
5556 * libgnat/a-locale.adb: Likewise.
5557 * libgnat/a-locale.ads: Likewise.
5558 * libgnat/a-nagefl.ads: Likewise.
5559 * libgnat/a-naliop.ads: Likewise.
5560 * libgnat/a-naliop__nolibm.ads: Likewise.
5561 * libgnat/a-nallfl.ads: Likewise.
5562 * libgnat/a-nallfl__wraplf.ads: Likewise.
5563 * libgnat/a-nalofl.ads: Likewise.
5564 * libgnat/a-nashfl.ads: Likewise.
5565 * libgnat/a-nashfl__wraplf.ads: Likewise.
5566 * libgnat/a-nbnbig.adb: Likewise.
5567 * libgnat/a-nbnbin.adb: Likewise.
5568 * libgnat/a-nbnbin__gmp.adb: Likewise.
5569 * libgnat/a-nbnbre.adb: Likewise.
5570 * libgnat/a-ngcefu.adb: Likewise.
5571 * libgnat/a-ngcoar.adb: Likewise.
5572 * libgnat/a-ngcoty.adb: Likewise.
5573 * libgnat/a-ngcoty.ads: Likewise.
5574 * libgnat/a-ngelfu.adb: Likewise.
5575 * libgnat/a-ngelfu.ads: Likewise.
5576 * libgnat/a-ngrear.adb: Likewise.
5577 * libgnat/a-ngrear.ads: Likewise.
5578 * libgnat/a-nuauco.ads: Likewise.
5579 * libgnat/a-nuauco__x86.ads: Likewise.
5580 * libgnat/a-nuaufl.ads: Likewise.
5581 * libgnat/a-nuaufl__wraplf.ads: Likewise.
5582 * libgnat/a-nudira.adb: Likewise.
5583 * libgnat/a-nudira.ads: Likewise.
5584 * libgnat/a-nuflra.adb: Likewise.
5585 * libgnat/a-nuflra.ads: Likewise.
5586 * libgnat/a-numaux.ads: Likewise.
5587 * libgnat/a-rbtgbk.adb: Likewise.
5588 * libgnat/a-rbtgbk.ads: Likewise.
5589 * libgnat/a-rbtgbo.adb: Likewise.
5590 * libgnat/a-rbtgbo.ads: Likewise.
5591 * libgnat/a-rbtgso.adb: Likewise.
5592 * libgnat/a-rbtgso.ads: Likewise.
5593 * libgnat/a-sbecin.adb: Likewise.
5594 * libgnat/a-sbecin.ads: Likewise.
5595 * libgnat/a-sbhcin.adb: Likewise.
5596 * libgnat/a-sbhcin.ads: Likewise.
5597 * libgnat/a-sblcin.adb: Likewise.
5598 * libgnat/a-sblcin.ads: Likewise.
5599 * libgnat/a-secain.adb: Likewise.
5600 * libgnat/a-secain.ads: Likewise.
5601 * libgnat/a-sequio.adb: Likewise.
5602 * libgnat/a-sequio.ads: Likewise.
5603 * libgnat/a-sfecin.ads: Likewise.
5604 * libgnat/a-sfhcin.ads: Likewise.
5605 * libgnat/a-sflcin.ads: Likewise.
5606 * libgnat/a-shcain.adb: Likewise.
5607 * libgnat/a-shcain.ads: Likewise.
5608 * libgnat/a-siocst.adb: Likewise.
5609 * libgnat/a-siocst.ads: Likewise.
5610 * libgnat/a-slcain.adb: Likewise.
5611 * libgnat/a-slcain.ads: Likewise.
5612 * libgnat/a-ssicst.adb: Likewise.
5613 * libgnat/a-ssicst.ads: Likewise.
5614 * libgnat/a-stboha.adb: Likewise.
5615 * libgnat/a-stbubo.adb: Likewise.
5616 * libgnat/a-stbubo.ads: Likewise.
5617 * libgnat/a-stbufi.adb: Likewise.
5618 * libgnat/a-stbufi.ads: Likewise.
5619 * libgnat/a-stbufo.adb: Likewise.
5620 * libgnat/a-stbufo.ads: Likewise.
5621 * libgnat/a-stbuun.adb: Likewise.
5622 * libgnat/a-stbuut.adb: Likewise.
5623 * libgnat/a-stbuut.ads: Likewise.
5624 * libgnat/a-stmaco.ads: Likewise.
5625 * libgnat/a-storio.adb: Likewise.
5626 * libgnat/a-strbou.adb: Likewise.
5627 * libgnat/a-strbou.ads: Likewise.
5628 * libgnat/a-stream.adb: Likewise.
5629 * libgnat/a-stream.ads: Likewise.
5630 * libgnat/a-strfix.adb: Likewise.
5631 * libgnat/a-strhas.adb: Likewise.
5632 * libgnat/a-strmap.adb: Likewise.
5633 * libgnat/a-strmap.ads: Likewise.
5634 * libgnat/a-strsea.adb: Likewise.
5635 * libgnat/a-strsea.ads: Likewise.
5636 * libgnat/a-strsto.ads: Likewise.
5637 * libgnat/a-strsup.adb: Likewise.
5638 * libgnat/a-strsup.ads: Likewise.
5639 * libgnat/a-strunb.adb: Likewise.
5640 * libgnat/a-strunb.ads: Likewise.
5641 * libgnat/a-strunb__shared.adb: Likewise.
5642 * libgnat/a-strunb__shared.ads: Likewise.
5643 * libgnat/a-ststbo.adb: Likewise.
5644 * libgnat/a-ststbo.ads: Likewise.
5645 * libgnat/a-ststio.adb: Likewise.
5646 * libgnat/a-ststio.ads: Likewise.
5647 * libgnat/a-ststun.adb: Likewise.
5648 * libgnat/a-ststun.ads: Likewise.
5649 * libgnat/a-sttebu.adb: Likewise.
5650 * libgnat/a-stunau.adb: Likewise.
5651 * libgnat/a-stunau.ads: Likewise.
5652 * libgnat/a-stunau__shared.adb: Likewise.
5653 * libgnat/a-stunha.adb: Likewise.
5654 * libgnat/a-stuten.adb: Likewise.
5655 * libgnat/a-stwibo.adb: Likewise.
5656 * libgnat/a-stwibo.ads: Likewise.
5657 * libgnat/a-stwifi.adb: Likewise.
5658 * libgnat/a-stwiha.adb: Likewise.
5659 * libgnat/a-stwima.adb: Likewise.
5660 * libgnat/a-stwima.ads: Likewise.
5661 * libgnat/a-stwise.adb: Likewise.
5662 * libgnat/a-stwise.ads: Likewise.
5663 * libgnat/a-stwisu.adb: Likewise.
5664 * libgnat/a-stwisu.ads: Likewise.
5665 * libgnat/a-stwiun.adb: Likewise.
5666 * libgnat/a-stwiun.ads: Likewise.
5667 * libgnat/a-stwiun__shared.adb: Likewise.
5668 * libgnat/a-stwiun__shared.ads: Likewise.
5669 * libgnat/a-stzbou.adb: Likewise.
5670 * libgnat/a-stzbou.ads: Likewise.
5671 * libgnat/a-stzfix.adb: Likewise.
5672 * libgnat/a-stzhas.adb: Likewise.
5673 * libgnat/a-stzmap.adb: Likewise.
5674 * libgnat/a-stzmap.ads: Likewise.
5675 * libgnat/a-stzsea.adb: Likewise.
5676 * libgnat/a-stzsea.ads: Likewise.
5677 * libgnat/a-stzsup.adb: Likewise.
5678 * libgnat/a-stzsup.ads: Likewise.
5679 * libgnat/a-stzunb.adb: Likewise.
5680 * libgnat/a-stzunb.ads: Likewise.
5681 * libgnat/a-stzunb__shared.adb: Likewise.
5682 * libgnat/a-stzunb__shared.ads: Likewise.
5683 * libgnat/a-suecin.adb: Likewise.
5684 * libgnat/a-suecin.ads: Likewise.
5685 * libgnat/a-suenco.adb: Likewise.
5686 * libgnat/a-suenst.adb: Likewise.
5687 * libgnat/a-suewst.adb: Likewise.
5688 * libgnat/a-suezst.adb: Likewise.
5689 * libgnat/a-suhcin.adb: Likewise.
5690 * libgnat/a-suhcin.ads: Likewise.
5691 * libgnat/a-sulcin.adb: Likewise.
5692 * libgnat/a-sulcin.ads: Likewise.
5693 * libgnat/a-suteio.adb: Likewise.
5694 * libgnat/a-suteio.ads: Likewise.
5695 * libgnat/a-suteio__shared.adb: Likewise.
5696 * libgnat/a-swbwha.adb: Likewise.
5697 * libgnat/a-swmwco.ads: Likewise.
5698 * libgnat/a-swunau.adb: Likewise.
5699 * libgnat/a-swunau.ads: Likewise.
5700 * libgnat/a-swunau__shared.adb: Likewise.
5701 * libgnat/a-swuwha.adb: Likewise.
5702 * libgnat/a-swuwti.adb: Likewise.
5703 * libgnat/a-swuwti.ads: Likewise.
5704 * libgnat/a-swuwti__shared.adb: Likewise.
5705 * libgnat/a-szbzha.adb: Likewise.
5706 * libgnat/a-szmzco.ads: Likewise.
5707 * libgnat/a-szunau.adb: Likewise.
5708 * libgnat/a-szunau.ads: Likewise.
5709 * libgnat/a-szunau__shared.adb: Likewise.
5710 * libgnat/a-szuzha.adb: Likewise.
5711 * libgnat/a-szuzti.adb: Likewise.
5712 * libgnat/a-szuzti.ads: Likewise.
5713 * libgnat/a-szuzti__shared.adb: Likewise.
5714 * libgnat/a-tags.adb: Likewise.
5715 * libgnat/a-tags.ads: Likewise.
5716 * libgnat/a-teioed.adb: Likewise.
5717 * libgnat/a-teioed.ads: Likewise.
5718 * libgnat/a-textio.adb: Likewise.
5719 * libgnat/a-textio.ads: Likewise.
5720 * libgnat/a-tiboio.adb: Likewise.
5721 * libgnat/a-ticoau.adb: Likewise.
5722 * libgnat/a-ticoau.ads: Likewise.
5723 * libgnat/a-ticoio.adb: Likewise.
5724 * libgnat/a-ticoio.ads: Likewise.
5725 * libgnat/a-tideau.adb: Likewise.
5726 * libgnat/a-tideau.ads: Likewise.
5727 * libgnat/a-tideio.adb: Likewise.
5728 * libgnat/a-tideio.ads: Likewise.
5729 * libgnat/a-tideio__128.adb: Likewise.
5730 * libgnat/a-tienau.adb: Likewise.
5731 * libgnat/a-tienau.ads: Likewise.
5732 * libgnat/a-tienio.adb: Likewise.
5733 * libgnat/a-tifiau.adb: Likewise.
5734 * libgnat/a-tifiau.ads: Likewise.
5735 * libgnat/a-tifiio.adb: Likewise.
5736 * libgnat/a-tifiio__128.adb: Likewise.
5737 * libgnat/a-tiflau.adb: Likewise.
5738 * libgnat/a-tiflau.ads: Likewise.
5739 * libgnat/a-tiflio.adb: Likewise.
5740 * libgnat/a-tiflio.ads: Likewise.
5741 * libgnat/a-tigeau.adb: Likewise.
5742 * libgnat/a-tigeau.ads: Likewise.
5743 * libgnat/a-tigeli.adb: Likewise.
5744 * libgnat/a-tiinau.adb: Likewise.
5745 * libgnat/a-tiinau.ads: Likewise.
5746 * libgnat/a-tiinio.adb: Likewise.
5747 * libgnat/a-tiinio.ads: Likewise.
5748 * libgnat/a-tiinio__128.adb: Likewise.
5749 * libgnat/a-timoio.adb: Likewise.
5750 * libgnat/a-timoio.ads: Likewise.
5751 * libgnat/a-timoio__128.adb: Likewise.
5752 * libgnat/a-tiocst.adb: Likewise.
5753 * libgnat/a-tiocst.ads: Likewise.
5754 * libgnat/a-tirsfi.adb: Likewise.
5755 * libgnat/a-tirsfi.ads: Likewise.
5756 * libgnat/a-titest.adb: Likewise.
5757 * libgnat/a-undesu.adb: Likewise.
5758 * libgnat/a-wichha.adb: Likewise.
5759 * libgnat/a-wichun.adb: Likewise.
5760 * libgnat/a-wichun.ads: Likewise.
5761 * libgnat/a-witeio.adb: Likewise.
5762 * libgnat/a-witeio.ads: Likewise.
5763 * libgnat/a-wrstfi.adb: Likewise.
5764 * libgnat/a-wrstfi.ads: Likewise.
5765 * libgnat/a-wtcoau.adb: Likewise.
5766 * libgnat/a-wtcoau.ads: Likewise.
5767 * libgnat/a-wtcoio.adb: Likewise.
5768 * libgnat/a-wtcstr.adb: Likewise.
5769 * libgnat/a-wtcstr.ads: Likewise.
5770 * libgnat/a-wtdeau.adb: Likewise.
5771 * libgnat/a-wtdeau.ads: Likewise.
5772 * libgnat/a-wtdeio.adb: Likewise.
5773 * libgnat/a-wtdeio__128.adb: Likewise.
5774 * libgnat/a-wtedit.adb: Likewise.
5775 * libgnat/a-wtedit.ads: Likewise.
5776 * libgnat/a-wtenau.adb: Likewise.
5777 * libgnat/a-wtenau.ads: Likewise.
5778 * libgnat/a-wtenio.adb: Likewise.
5779 * libgnat/a-wtfiau.adb: Likewise.
5780 * libgnat/a-wtfiau.ads: Likewise.
5781 * libgnat/a-wtfiio.adb: Likewise.
5782 * libgnat/a-wtfiio__128.adb: Likewise.
5783 * libgnat/a-wtflau.adb: Likewise.
5784 * libgnat/a-wtflau.ads: Likewise.
5785 * libgnat/a-wtflio.adb: Likewise.
5786 * libgnat/a-wtgeau.adb: Likewise.
5787 * libgnat/a-wtgeau.ads: Likewise.
5788 * libgnat/a-wtinau.adb: Likewise.
5789 * libgnat/a-wtinau.ads: Likewise.
5790 * libgnat/a-wtinio.adb: Likewise.
5791 * libgnat/a-wtinio__128.adb: Likewise.
5792 * libgnat/a-wtmoio.adb: Likewise.
5793 * libgnat/a-wtmoio.ads: Likewise.
5794 * libgnat/a-wtmoio__128.adb: Likewise.
5795 * libgnat/a-wttest.adb: Likewise.
5796 * libgnat/a-wwboio.adb: Likewise.
5797 * libgnat/a-zchhan.adb: Likewise.
5798 * libgnat/a-zchuni.adb: Likewise.
5799 * libgnat/a-zchuni.ads: Likewise.
5800 * libgnat/a-zrstfi.adb: Likewise.
5801 * libgnat/a-zrstfi.ads: Likewise.
5802 * libgnat/a-ztcoau.adb: Likewise.
5803 * libgnat/a-ztcoio.adb: Likewise.
5804 * libgnat/a-ztcstr.adb: Likewise.
5805 * libgnat/a-ztcstr.ads: Likewise.
5806 * libgnat/a-ztdeau.adb: Likewise.
5807 * libgnat/a-ztdeau.ads: Likewise.
5808 * libgnat/a-ztdeio.adb: Likewise.
5809 * libgnat/a-ztdeio__128.adb: Likewise.
5810 * libgnat/a-ztedit.adb: Likewise.
5811 * libgnat/a-ztedit.ads: Likewise.
5812 * libgnat/a-ztenau.adb: Likewise.
5813 * libgnat/a-ztenau.ads: Likewise.
5814 * libgnat/a-ztenio.adb: Likewise.
5815 * libgnat/a-ztexio.adb: Likewise.
5816 * libgnat/a-ztexio.ads: Likewise.
5817 * libgnat/a-ztfiau.adb: Likewise.
5818 * libgnat/a-ztfiau.ads: Likewise.
5819 * libgnat/a-ztfiio.adb: Likewise.
5820 * libgnat/a-ztfiio__128.adb: Likewise.
5821 * libgnat/a-ztflau.adb: Likewise.
5822 * libgnat/a-ztflau.ads: Likewise.
5823 * libgnat/a-ztflio.adb: Likewise.
5824 * libgnat/a-ztgeau.adb: Likewise.
5825 * libgnat/a-ztgeau.ads: Likewise.
5826 * libgnat/a-ztinau.adb: Likewise.
5827 * libgnat/a-ztinau.ads: Likewise.
5828 * libgnat/a-ztinio.adb: Likewise.
5829 * libgnat/a-ztinio__128.adb: Likewise.
5830 * libgnat/a-ztmoio.adb: Likewise.
5831 * libgnat/a-ztmoio__128.adb: Likewise.
5832 * libgnat/a-zttest.adb: Likewise.
5833 * libgnat/a-zzboio.adb: Likewise.
5834 * libgnat/g-allein.ads: Likewise.
5835 * libgnat/g-alleve.adb: Likewise.
5836 * libgnat/g-alleve.ads: Likewise.
5837 * libgnat/g-alleve__hard.adb: Likewise.
5838 * libgnat/g-alleve__hard.ads: Likewise.
5839 * libgnat/g-altcon.adb: Likewise.
5840 * libgnat/g-altcon.ads: Likewise.
5841 * libgnat/g-altive.ads: Likewise.
5842 * libgnat/g-alveop.adb: Likewise.
5843 * libgnat/g-alveop.ads: Likewise.
5844 * libgnat/g-alvety.ads: Likewise.
5845 * libgnat/g-alvevi.ads: Likewise.
5846 * libgnat/g-arrspl.adb: Likewise.
5847 * libgnat/g-arrspl.ads: Likewise.
5848 * libgnat/g-awk.adb: Likewise.
5849 * libgnat/g-awk.ads: Likewise.
5850 * libgnat/g-binenv.adb: Likewise.
5851 * libgnat/g-binenv.ads: Likewise.
5852 * libgnat/g-brapre.ads: Likewise.
5853 * libgnat/g-bubsor.adb: Likewise.
5854 * libgnat/g-bubsor.ads: Likewise.
5855 * libgnat/g-busora.adb: Likewise.
5856 * libgnat/g-busora.ads: Likewise.
5857 * libgnat/g-busorg.adb: Likewise.
5858 * libgnat/g-busorg.ads: Likewise.
5859 * libgnat/g-byorma.adb: Likewise.
5860 * libgnat/g-byorma.ads: Likewise.
5861 * libgnat/g-bytswa.adb: Likewise.
5862 * libgnat/g-bytswa.ads: Likewise.
5863 * libgnat/g-calend.adb: Likewise.
5864 * libgnat/g-calend.ads: Likewise.
5865 * libgnat/g-casuti.adb: Likewise.
5866 * libgnat/g-casuti.ads: Likewise.
5867 * libgnat/g-catiio.adb: Likewise.
5868 * libgnat/g-catiio.ads: Likewise.
5869 * libgnat/g-cgi.adb: Likewise.
5870 * libgnat/g-cgi.ads: Likewise.
5871 * libgnat/g-cgicoo.adb: Likewise.
5872 * libgnat/g-cgicoo.ads: Likewise.
5873 * libgnat/g-cgideb.adb: Likewise.
5874 * libgnat/g-cgideb.ads: Likewise.
5875 * libgnat/g-comlin.adb: Likewise.
5876 * libgnat/g-comlin.ads: Likewise.
5877 * libgnat/g-comver.adb: Likewise.
5878 * libgnat/g-comver.ads: Likewise.
5879 * libgnat/g-cppexc.adb: Likewise.
5880 * libgnat/g-cppexc.ads: Likewise.
5881 * libgnat/g-crc32.adb: Likewise.
5882 * libgnat/g-crc32.ads: Likewise.
5883 * libgnat/g-ctrl_c.adb: Likewise.
5884 * libgnat/g-ctrl_c.ads: Likewise.
5885 * libgnat/g-curexc.ads: Likewise.
5886 * libgnat/g-debpoo.adb: Likewise.
5887 * libgnat/g-debpoo.ads: Likewise.
5888 * libgnat/g-debuti.adb: Likewise.
5889 * libgnat/g-debuti.ads: Likewise.
5890 * libgnat/g-decstr.adb: Likewise.
5891 * libgnat/g-decstr.ads: Likewise.
5892 * libgnat/g-deutst.ads: Likewise.
5893 * libgnat/g-diopit.adb: Likewise.
5894 * libgnat/g-diopit.ads: Likewise.
5895 * libgnat/g-dirope.adb: Likewise.
5896 * libgnat/g-dirope.ads: Likewise.
5897 * libgnat/g-dynhta.adb: Likewise.
5898 * libgnat/g-dynhta.ads: Likewise.
5899 * libgnat/g-dyntab.adb: Likewise.
5900 * libgnat/g-dyntab.ads: Likewise.
5901 * libgnat/g-eacodu.adb: Likewise.
5902 * libgnat/g-encstr.adb: Likewise.
5903 * libgnat/g-encstr.ads: Likewise.
5904 * libgnat/g-enutst.ads: Likewise.
5905 * libgnat/g-excact.adb: Likewise.
5906 * libgnat/g-excact.ads: Likewise.
5907 * libgnat/g-except.ads: Likewise.
5908 * libgnat/g-exctra.adb: Likewise.
5909 * libgnat/g-exctra.ads: Likewise.
5910 * libgnat/g-expect.adb: Likewise.
5911 * libgnat/g-expect.ads: Likewise.
5912 * libgnat/g-exptty.adb: Likewise.
5913 * libgnat/g-exptty.ads: Likewise.
5914 * libgnat/g-flocon.ads: Likewise.
5915 * libgnat/g-forstr.adb: Likewise.
5916 * libgnat/g-forstr.ads: Likewise.
5917 * libgnat/g-graphs.adb: Likewise.
5918 * libgnat/g-graphs.ads: Likewise.
5919 * libgnat/g-heasor.adb: Likewise.
5920 * libgnat/g-heasor.ads: Likewise.
5921 * libgnat/g-hesora.adb: Likewise.
5922 * libgnat/g-hesora.ads: Likewise.
5923 * libgnat/g-hesorg.adb: Likewise.
5924 * libgnat/g-hesorg.ads: Likewise.
5925 * libgnat/g-htable.adb: Likewise.
5926 * libgnat/g-htable.ads: Likewise.
5927 * libgnat/g-io.adb: Likewise.
5928 * libgnat/g-io.ads: Likewise.
5929 * libgnat/g-io_aux.adb: Likewise.
5930 * libgnat/g-io_aux.ads: Likewise.
5931 * libgnat/g-lists.adb: Likewise.
5932 * libgnat/g-lists.ads: Likewise.
5933 * libgnat/g-locfil.adb: Likewise.
5934 * libgnat/g-locfil.ads: Likewise.
5935 * libgnat/g-mbdira.adb: Likewise.
5936 * libgnat/g-mbdira.ads: Likewise.
5937 * libgnat/g-mbflra.adb: Likewise.
5938 * libgnat/g-mbflra.ads: Likewise.
5939 * libgnat/g-md5.adb: Likewise.
5940 * libgnat/g-md5.ads: Likewise.
5941 * libgnat/g-memdum.adb: Likewise.
5942 * libgnat/g-memdum.ads: Likewise.
5943 * libgnat/g-moreex.adb: Likewise.
5944 * libgnat/g-moreex.ads: Likewise.
5945 * libgnat/g-os_lib.adb: Likewise.
5946 * libgnat/g-os_lib.ads: Likewise.
5947 * libgnat/g-pehage.adb: Likewise.
5948 * libgnat/g-pehage.ads: Likewise.
5949 * libgnat/g-rannum.adb: Likewise.
5950 * libgnat/g-rannum.ads: Likewise.
5951 * libgnat/g-regexp.adb: Likewise.
5952 * libgnat/g-regexp.ads: Likewise.
5953 * libgnat/g-regist.adb: Likewise.
5954 * libgnat/g-regist.ads: Likewise.
5955 * libgnat/g-regpat.adb: Likewise.
5956 * libgnat/g-regpat.ads: Likewise.
5957 * libgnat/g-rewdat.adb: Likewise.
5958 * libgnat/g-rewdat.ads: Likewise.
5959 * libgnat/g-sechas.adb: Likewise.
5960 * libgnat/g-sechas.ads: Likewise.
5961 * libgnat/g-sehamd.adb: Likewise.
5962 * libgnat/g-sehamd.ads: Likewise.
5963 * libgnat/g-sehash.adb: Likewise.
5964 * libgnat/g-sehash.ads: Likewise.
5965 * libgnat/g-sercom.adb: Likewise.
5966 * libgnat/g-sercom.ads: Likewise.
5967 * libgnat/g-sercom__linux.adb: Likewise.
5968 * libgnat/g-sercom__mingw.adb: Likewise.
5969 * libgnat/g-sestin.ads: Likewise.
5970 * libgnat/g-sets.adb: Likewise.
5971 * libgnat/g-sets.ads: Likewise.
5972 * libgnat/g-sha1.adb: Likewise.
5973 * libgnat/g-sha1.ads: Likewise.
5974 * libgnat/g-sha224.ads: Likewise.
5975 * libgnat/g-sha256.ads: Likewise.
5976 * libgnat/g-sha384.ads: Likewise.
5977 * libgnat/g-sha512.ads: Likewise.
5978 * libgnat/g-shsh32.adb: Likewise.
5979 * libgnat/g-shsh32.ads: Likewise.
5980 * libgnat/g-shsh64.adb: Likewise.
5981 * libgnat/g-shsh64.ads: Likewise.
5982 * libgnat/g-shshco.adb: Likewise.
5983 * libgnat/g-shshco.ads: Likewise.
5984 * libgnat/g-soccon.ads: Likewise.
5985 * libgnat/g-socket.adb: Likewise.
5986 * libgnat/g-socket.ads: Likewise.
5987 * libgnat/g-socket__dummy.adb: Likewise.
5988 * libgnat/g-socket__dummy.ads: Likewise.
5989 * libgnat/g-socpol.adb: Likewise.
5990 * libgnat/g-socpol.ads: Likewise.
5991 * libgnat/g-socpol__dummy.adb: Likewise.
5992 * libgnat/g-socpol__dummy.ads: Likewise.
5993 * libgnat/g-socthi.adb: Likewise.
5994 * libgnat/g-socthi.ads: Likewise.
5995 * libgnat/g-socthi__dummy.adb: Likewise.
5996 * libgnat/g-socthi__dummy.ads: Likewise.
5997 * libgnat/g-socthi__mingw.adb: Likewise.
5998 * libgnat/g-socthi__mingw.ads: Likewise.
5999 * libgnat/g-socthi__vxworks.adb: Likewise.
6000 * libgnat/g-socthi__vxworks.ads: Likewise.
6001 * libgnat/g-soliop.ads: Likewise.
6002 * libgnat/g-soliop__lynxos.ads: Likewise.
6003 * libgnat/g-soliop__mingw.ads: Likewise.
6004 * libgnat/g-soliop__qnx.ads: Likewise.
6005 * libgnat/g-soliop__solaris.ads: Likewise.
6006 * libgnat/g-sopowa.adb: Likewise.
6007 * libgnat/g-sopowa__mingw.adb: Likewise.
6008 * libgnat/g-sopowa__posix.adb: Likewise.
6009 * libgnat/g-sothco.adb: Likewise.
6010 * libgnat/g-sothco.ads: Likewise.
6011 * libgnat/g-sothco__dummy.adb: Likewise.
6012 * libgnat/g-sothco__dummy.ads: Likewise.
6013 * libgnat/g-souinf.ads: Likewise.
6014 * libgnat/g-spchge.adb: Likewise.
6015 * libgnat/g-spchge.ads: Likewise.
6016 * libgnat/g-speche.adb: Likewise.
6017 * libgnat/g-speche.ads: Likewise.
6018 * libgnat/g-spipat.adb: Likewise.
6019 * libgnat/g-spipat.ads: Likewise.
6020 * libgnat/g-spitbo.adb: Likewise.
6021 * libgnat/g-spitbo.ads: Likewise.
6022 * libgnat/g-spogwa.adb: Likewise.
6023 * libgnat/g-spogwa.ads: Likewise.
6024 * libgnat/g-sptabo.ads: Likewise.
6025 * libgnat/g-sptain.ads: Likewise.
6026 * libgnat/g-sptavs.ads: Likewise.
6027 * libgnat/g-sse.ads: Likewise.
6028 * libgnat/g-ssvety.ads: Likewise.
6029 * libgnat/g-sthcso.adb: Likewise.
6030 * libgnat/g-stheme.adb: Likewise.
6031 * libgnat/g-strhas.ads: Likewise.
6032 * libgnat/g-string.adb: Likewise.
6033 * libgnat/g-string.ads: Likewise.
6034 * libgnat/g-strspl.ads: Likewise.
6035 * libgnat/g-stseme.adb: Likewise.
6036 * libgnat/g-stsifd__sockets.adb: Likewise.
6037 * libgnat/g-table.adb: Likewise.
6038 * libgnat/g-table.ads: Likewise.
6039 * libgnat/g-tasloc.adb: Likewise.
6040 * libgnat/g-tasloc.ads: Likewise.
6041 * libgnat/g-timsta.adb: Likewise.
6042 * libgnat/g-timsta.ads: Likewise.
6043 * libgnat/g-traceb.adb: Likewise.
6044 * libgnat/g-traceb.ads: Likewise.
6045 * libgnat/g-trasym.adb: Likewise.
6046 * libgnat/g-trasym.ads: Likewise.
6047 * libgnat/g-tty.adb: Likewise.
6048 * libgnat/g-tty.ads: Likewise.
6049 * libgnat/g-u3spch.adb: Likewise.
6050 * libgnat/g-u3spch.ads: Likewise.
6051 * libgnat/g-utf_32.adb: Likewise.
6052 * libgnat/g-utf_32.ads: Likewise.
6053 * libgnat/g-wispch.adb: Likewise.
6054 * libgnat/g-wispch.ads: Likewise.
6055 * libgnat/g-wistsp.ads: Likewise.
6056 * libgnat/g-zspche.adb: Likewise.
6057 * libgnat/g-zspche.ads: Likewise.
6058 * libgnat/g-zstspl.ads: Likewise.
6059 * libgnat/gnat.ads: Likewise.
6060 * libgnat/i-c.adb: Likewise.
6061 * libgnat/i-cexten.ads: Likewise.
6062 * libgnat/i-cexten__128.ads: Likewise.
6063 * libgnat/i-cobol.adb: Likewise.
6064 * libgnat/i-cobol.ads: Likewise.
6065 * libgnat/i-cpoint.adb: Likewise.
6066 * libgnat/i-cpoint.ads: Likewise.
6067 * libgnat/i-cstrea.adb: Likewise.
6068 * libgnat/i-cstrea.ads: Likewise.
6069 * libgnat/i-cstrin.adb: Likewise.
6070 * libgnat/i-cstrin.ads: Likewise.
6071 * libgnat/i-fortra.adb: Likewise.
6072 * libgnat/i-pacdec.adb: Likewise.
6073 * libgnat/i-pacdec.ads: Likewise.
6074 * libgnat/i-vxwoio.adb: Likewise.
6075 * libgnat/i-vxwoio.ads: Likewise.
6076 * libgnat/i-vxwork.ads: Likewise.
6077 * libgnat/i-vxwork__x86.ads: Likewise.
6078 * libgnat/interfac.ads: Likewise.
6079 * libgnat/interfac__2020.ads: Likewise.
6080 * libgnat/memtrack.adb: Likewise.
6081 * libgnat/s-addima.adb: Likewise.
6082 * libgnat/s-addima.ads: Likewise.
6083 * libgnat/s-addope.adb: Likewise.
6084 * libgnat/s-addope.ads: Likewise.
6085 * libgnat/s-aoinar.adb: Likewise.
6086 * libgnat/s-aoinar.ads: Likewise.
6087 * libgnat/s-aomoar.adb: Likewise.
6088 * libgnat/s-aomoar.ads: Likewise.
6089 * libgnat/s-aotase.adb: Likewise.
6090 * libgnat/s-aotase.ads: Likewise.
6091 * libgnat/s-aridou.adb: Likewise.
6092 * libgnat/s-aridou.ads: Likewise.
6093 * libgnat/s-arit128.adb: Likewise.
6094 * libgnat/s-arit128.ads: Likewise.
6095 * libgnat/s-arit32.adb: Likewise.
6096 * libgnat/s-arit32.ads: Likewise.
6097 * libgnat/s-arit64.adb: Likewise.
6098 * libgnat/s-arit64.ads: Likewise.
6099 * libgnat/s-assert.adb: Likewise.
6100 * libgnat/s-assert.ads: Likewise.
6101 * libgnat/s-atacco.adb: Likewise.
6102 * libgnat/s-atacco.ads: Likewise.
6103 * libgnat/s-atocou.adb: Likewise.
6104 * libgnat/s-atocou.ads: Likewise.
6105 * libgnat/s-atocou__builtin.adb: Likewise.
6106 * libgnat/s-atoope.ads: Likewise.
6107 * libgnat/s-atopex.adb: Likewise.
6108 * libgnat/s-atopex.ads: Likewise.
6109 * libgnat/s-atopri.adb: Likewise.
6110 * libgnat/s-atopri.ads: Likewise.
6111 * libgnat/s-auxdec.adb: Likewise.
6112 * libgnat/s-auxdec.ads: Likewise.
6113 * libgnat/s-bignum.adb: Likewise.
6114 * libgnat/s-bignum.ads: Likewise.
6115 * libgnat/s-bitfie.ads: Likewise.
6116 * libgnat/s-bitops.adb: Likewise.
6117 * libgnat/s-bitops.ads: Likewise.
6118 * libgnat/s-bituti.adb: Likewise.
6119 * libgnat/s-bituti.ads: Likewise.
6120 * libgnat/s-boarop.ads: Likewise.
6121 * libgnat/s-boustr.adb: Likewise.
6122 * libgnat/s-boustr.ads: Likewise.
6123 * libgnat/s-bytswa.ads: Likewise.
6124 * libgnat/s-carsi8.adb: Likewise.
6125 * libgnat/s-carsi8.ads: Likewise.
6126 * libgnat/s-carun8.adb: Likewise.
6127 * libgnat/s-carun8.ads: Likewise.
6128 * libgnat/s-casi128.adb: Likewise.
6129 * libgnat/s-casi128.ads: Likewise.
6130 * libgnat/s-casi16.adb: Likewise.
6131 * libgnat/s-casi16.ads: Likewise.
6132 * libgnat/s-casi32.adb: Likewise.
6133 * libgnat/s-casi32.ads: Likewise.
6134 * libgnat/s-casi64.adb: Likewise.
6135 * libgnat/s-casi64.ads: Likewise.
6136 * libgnat/s-casuti.adb: Likewise.
6137 * libgnat/s-casuti.ads: Likewise.
6138 * libgnat/s-caun128.adb: Likewise.
6139 * libgnat/s-caun128.ads: Likewise.
6140 * libgnat/s-caun16.adb: Likewise.
6141 * libgnat/s-caun16.ads: Likewise.
6142 * libgnat/s-caun32.adb: Likewise.
6143 * libgnat/s-caun32.ads: Likewise.
6144 * libgnat/s-caun64.adb: Likewise.
6145 * libgnat/s-caun64.ads: Likewise.
6146 * libgnat/s-chepoo.ads: Likewise.
6147 * libgnat/s-commun.adb: Likewise.
6148 * libgnat/s-commun.ads: Likewise.
6149 * libgnat/s-conca2.adb: Likewise.
6150 * libgnat/s-conca2.ads: Likewise.
6151 * libgnat/s-conca3.adb: Likewise.
6152 * libgnat/s-conca3.ads: Likewise.
6153 * libgnat/s-conca4.adb: Likewise.
6154 * libgnat/s-conca4.ads: Likewise.
6155 * libgnat/s-conca5.adb: Likewise.
6156 * libgnat/s-conca5.ads: Likewise.
6157 * libgnat/s-conca6.adb: Likewise.
6158 * libgnat/s-conca6.ads: Likewise.
6159 * libgnat/s-conca7.adb: Likewise.
6160 * libgnat/s-conca7.ads: Likewise.
6161 * libgnat/s-conca8.adb: Likewise.
6162 * libgnat/s-conca8.ads: Likewise.
6163 * libgnat/s-conca9.adb: Likewise.
6164 * libgnat/s-conca9.ads: Likewise.
6165 * libgnat/s-crc32.adb: Likewise.
6166 * libgnat/s-crc32.ads: Likewise.
6167 * libgnat/s-crtl.ads: Likewise.
6168 * libgnat/s-dfmkio.ads: Likewise.
6169 * libgnat/s-dfmopr.ads: Likewise.
6170 * libgnat/s-dgmgop.ads: Likewise.
6171 * libgnat/s-diflio.adb: Likewise.
6172 * libgnat/s-diflio.ads: Likewise.
6173 * libgnat/s-diflmk.ads: Likewise.
6174 * libgnat/s-digemk.ads: Likewise.
6175 * libgnat/s-diinio.adb: Likewise.
6176 * libgnat/s-diinio.ads: Likewise.
6177 * libgnat/s-dilomk.ads: Likewise.
6178 * libgnat/s-dim.ads: Likewise.
6179 * libgnat/s-dimkio.ads: Likewise.
6180 * libgnat/s-dimmks.ads: Likewise.
6181 * libgnat/s-direio.adb: Likewise.
6182 * libgnat/s-direio.ads: Likewise.
6183 * libgnat/s-dlmkio.ads: Likewise.
6184 * libgnat/s-dlmopr.ads: Likewise.
6185 * libgnat/s-dmotpr.ads: Likewise.
6186 * libgnat/s-dorepr.adb: Likewise.
6187 * libgnat/s-dorepr__fma.adb: Likewise.
6188 * libgnat/s-dourea.adb: Likewise.
6189 * libgnat/s-dourea.ads: Likewise.
6190 * libgnat/s-dsaser.ads: Likewise.
6191 * libgnat/s-dwalin.adb: Likewise.
6192 * libgnat/s-dwalin.ads: Likewise.
6193 * libgnat/s-elaall.adb: Likewise.
6194 * libgnat/s-elaall.ads: Likewise.
6195 * libgnat/s-excdeb.adb: Likewise.
6196 * libgnat/s-excdeb.ads: Likewise.
6197 * libgnat/s-except.adb: Likewise.
6198 * libgnat/s-except.ads: Likewise.
6199 * libgnat/s-excmac__arm.adb: Likewise.
6200 * libgnat/s-excmac__arm.ads: Likewise.
6201 * libgnat/s-excmac__gcc.adb: Likewise.
6202 * libgnat/s-excmac__gcc.ads: Likewise.
6203 * libgnat/s-exctab.adb: Likewise.
6204 * libgnat/s-exctab.ads: Likewise.
6205 * libgnat/s-exctra.adb: Likewise.
6206 * libgnat/s-exctra.ads: Likewise.
6207 * libgnat/s-exnflt.ads: Likewise.
6208 * libgnat/s-exnint.adb: Likewise.
6209 * libgnat/s-exnint.ads: Likewise.
6210 * libgnat/s-exnlfl.ads: Likewise.
6211 * libgnat/s-exnllf.adb: Likewise.
6212 * libgnat/s-exnllf.ads: Likewise.
6213 * libgnat/s-exnlli.adb: Likewise.
6214 * libgnat/s-exnlli.ads: Likewise.
6215 * libgnat/s-exnllli.ads: Likewise.
6216 * libgnat/s-expint.adb: Likewise.
6217 * libgnat/s-expint.ads: Likewise.
6218 * libgnat/s-explli.adb: Likewise.
6219 * libgnat/s-explli.ads: Likewise.
6220 * libgnat/s-expllli.ads: Likewise.
6221 * libgnat/s-explllu.ads: Likewise.
6222 * libgnat/s-expllu.adb: Likewise.
6223 * libgnat/s-expllu.ads: Likewise.
6224 * libgnat/s-expmod.adb: Likewise.
6225 * libgnat/s-expmod.ads: Likewise.
6226 * libgnat/s-exponn.adb: Likewise.
6227 * libgnat/s-exponn.ads: Likewise.
6228 * libgnat/s-exponr.adb: Likewise.
6229 * libgnat/s-exponr.ads: Likewise.
6230 * libgnat/s-expont.adb: Likewise.
6231 * libgnat/s-expont.ads: Likewise.
6232 * libgnat/s-exponu.adb: Likewise.
6233 * libgnat/s-exponu.ads: Likewise.
6234 * libgnat/s-expuns.adb: Likewise.
6235 * libgnat/s-expuns.ads: Likewise.
6236 * libgnat/s-fatflt.ads: Likewise.
6237 * libgnat/s-fatgen.adb: Likewise.
6238 * libgnat/s-fatgen.ads: Likewise.
6239 * libgnat/s-fatlfl.ads: Likewise.
6240 * libgnat/s-fatllf.ads: Likewise.
6241 * libgnat/s-ficobl.ads: Likewise.
6242 * libgnat/s-filatt.ads: Likewise.
6243 * libgnat/s-fileio.adb: Likewise.
6244 * libgnat/s-fileio.ads: Likewise.
6245 * libgnat/s-finmas.adb: Likewise.
6246 * libgnat/s-finmas.ads: Likewise.
6247 * libgnat/s-finroo.adb: Likewise.
6248 * libgnat/s-finroo.ads: Likewise.
6249 * libgnat/s-flocon.adb: Likewise.
6250 * libgnat/s-flocon.ads: Likewise.
6251 * libgnat/s-flocon__none.adb: Likewise.
6252 * libgnat/s-fode128.ads: Likewise.
6253 * libgnat/s-fode32.ads: Likewise.
6254 * libgnat/s-fode64.ads: Likewise.
6255 * libgnat/s-fofi128.ads: Likewise.
6256 * libgnat/s-fofi32.ads: Likewise.
6257 * libgnat/s-fofi64.ads: Likewise.
6258 * libgnat/s-fore_d.adb: Likewise.
6259 * libgnat/s-fore_d.ads: Likewise.
6260 * libgnat/s-fore_f.adb: Likewise.
6261 * libgnat/s-fore_f.ads: Likewise.
6262 * libgnat/s-forrea.adb: Likewise.
6263 * libgnat/s-forrea.ads: Likewise.
6264 * libgnat/s-gearop.adb: Likewise.
6265 * libgnat/s-gearop.ads: Likewise.
6266 * libgnat/s-genbig.adb: Likewise.
6267 * libgnat/s-genbig.ads: Likewise.
6268 * libgnat/s-geveop.adb: Likewise.
6269 * libgnat/s-geveop.ads: Likewise.
6270 * libgnat/s-gloloc.adb: Likewise.
6271 * libgnat/s-gloloc.ads: Likewise.
6272 * libgnat/s-gloloc__mingw.adb: Likewise.
6273 * libgnat/s-htable.adb: Likewise.
6274 * libgnat/s-htable.ads: Likewise.
6275 * libgnat/s-imageb.adb: Likewise.
6276 * libgnat/s-imageb.ads: Likewise.
6277 * libgnat/s-imaged.adb: Likewise.
6278 * libgnat/s-imaged.ads: Likewise.
6279 * libgnat/s-imagef.adb: Likewise.
6280 * libgnat/s-imagef.ads: Likewise.
6281 * libgnat/s-imagei.adb: Likewise.
6282 * libgnat/s-imagei.ads: Likewise.
6283 * libgnat/s-imagen.adb: Likewise.
6284 * libgnat/s-imagen.ads: Likewise.
6285 * libgnat/s-imager.adb: Likewise.
6286 * libgnat/s-imager.ads: Likewise.
6287 * libgnat/s-imageu.adb: Likewise.
6288 * libgnat/s-imageu.ads: Likewise.
6289 * libgnat/s-imagew.adb: Likewise.
6290 * libgnat/s-imagew.ads: Likewise.
6291 * libgnat/s-imde128.ads: Likewise.
6292 * libgnat/s-imde32.ads: Likewise.
6293 * libgnat/s-imde64.ads: Likewise.
6294 * libgnat/s-imen16.ads: Likewise.
6295 * libgnat/s-imen32.ads: Likewise.
6296 * libgnat/s-imenu8.ads: Likewise.
6297 * libgnat/s-imfi128.ads: Likewise.
6298 * libgnat/s-imfi32.ads: Likewise.
6299 * libgnat/s-imfi64.ads: Likewise.
6300 * libgnat/s-imgbiu.adb: Likewise.
6301 * libgnat/s-imgbiu.ads: Likewise.
6302 * libgnat/s-imgboo.adb: Likewise.
6303 * libgnat/s-imgboo.ads: Likewise.
6304 * libgnat/s-imgcha.adb: Likewise.
6305 * libgnat/s-imgcha.ads: Likewise.
6306 * libgnat/s-imgflt.ads: Likewise.
6307 * libgnat/s-imgint.adb: Likewise.
6308 * libgnat/s-imgint.ads: Likewise.
6309 * libgnat/s-imglfl.ads: Likewise.
6310 * libgnat/s-imgllb.adb: Likewise.
6311 * libgnat/s-imgllb.ads: Likewise.
6312 * libgnat/s-imgllf.ads: Likewise.
6313 * libgnat/s-imglli.adb: Likewise.
6314 * libgnat/s-imglli.ads: Likewise.
6315 * libgnat/s-imglllb.ads: Likewise.
6316 * libgnat/s-imgllli.ads: Likewise.
6317 * libgnat/s-imglllu.ads: Likewise.
6318 * libgnat/s-imglllw.ads: Likewise.
6319 * libgnat/s-imgllu.adb: Likewise.
6320 * libgnat/s-imgllu.ads: Likewise.
6321 * libgnat/s-imgllw.adb: Likewise.
6322 * libgnat/s-imgllw.ads: Likewise.
6323 * libgnat/s-imgrea.adb: Likewise.
6324 * libgnat/s-imgrea.ads: Likewise.
6325 * libgnat/s-imguns.adb: Likewise.
6326 * libgnat/s-imguns.ads: Likewise.
6327 * libgnat/s-imguti.adb: Likewise.
6328 * libgnat/s-imguti.ads: Likewise.
6329 * libgnat/s-imgwch.adb: Likewise.
6330 * libgnat/s-imgwch.ads: Likewise.
6331 * libgnat/s-imgwiu.adb: Likewise.
6332 * libgnat/s-imgwiu.ads: Likewise.
6333 * libgnat/s-io.adb: Likewise.
6334 * libgnat/s-io.ads: Likewise.
6335 * libgnat/s-llflex.ads: Likewise.
6336 * libgnat/s-maccod.ads: Likewise.
6337 * libgnat/s-mantis.adb: Likewise.
6338 * libgnat/s-mantis.ads: Likewise.
6339 * libgnat/s-mastop.adb: Likewise.
6340 * libgnat/s-mastop.ads: Likewise.
6341 * libgnat/s-memcop.ads: Likewise.
6342 * libgnat/s-memory.adb: Likewise.
6343 * libgnat/s-memory.ads: Likewise.
6344 * libgnat/s-mmap.adb: Likewise.
6345 * libgnat/s-mmap.ads: Likewise.
6346 * libgnat/s-mmauni__long.ads: Likewise.
6347 * libgnat/s-mmosin__mingw.adb: Likewise.
6348 * libgnat/s-mmosin__mingw.ads: Likewise.
6349 * libgnat/s-mmosin__unix.adb: Likewise.
6350 * libgnat/s-mmosin__unix.ads: Likewise.
6351 * libgnat/s-multip.adb: Likewise.
6352 * libgnat/s-objrea.adb: Likewise.
6353 * libgnat/s-objrea.ads: Likewise.
6354 * libgnat/s-optide.adb: Likewise.
6355 * libgnat/s-os_lib.adb: Likewise.
6356 * libgnat/s-os_lib.ads: Likewise.
6357 * libgnat/s-osprim.ads: Likewise.
6358 * libgnat/s-osprim__darwin.adb: Likewise.
6359 * libgnat/s-osprim__lynxos.ads: Likewise.
6360 * libgnat/s-osprim__mingw.adb: Likewise.
6361 * libgnat/s-osprim__posix.adb: Likewise.
6362 * libgnat/s-osprim__posix2008.adb: Likewise.
6363 * libgnat/s-osprim__rtems.adb: Likewise.
6364 * libgnat/s-osprim__solaris.adb: Likewise.
6365 * libgnat/s-osprim__unix.adb: Likewise.
6366 * libgnat/s-osprim__x32.adb: Likewise.
6367 * libgnat/s-pack03.adb: Likewise.
6368 * libgnat/s-pack03.ads: Likewise.
6369 * libgnat/s-pack05.adb: Likewise.
6370 * libgnat/s-pack05.ads: Likewise.
6371 * libgnat/s-pack06.adb: Likewise.
6372 * libgnat/s-pack06.ads: Likewise.
6373 * libgnat/s-pack07.adb: Likewise.
6374 * libgnat/s-pack07.ads: Likewise.
6375 * libgnat/s-pack09.adb: Likewise.
6376 * libgnat/s-pack09.ads: Likewise.
6377 * libgnat/s-pack10.adb: Likewise.
6378 * libgnat/s-pack10.ads: Likewise.
6379 * libgnat/s-pack100.adb: Likewise.
6380 * libgnat/s-pack100.ads: Likewise.
6381 * libgnat/s-pack101.adb: Likewise.
6382 * libgnat/s-pack101.ads: Likewise.
6383 * libgnat/s-pack102.adb: Likewise.
6384 * libgnat/s-pack102.ads: Likewise.
6385 * libgnat/s-pack103.adb: Likewise.
6386 * libgnat/s-pack103.ads: Likewise.
6387 * libgnat/s-pack104.adb: Likewise.
6388 * libgnat/s-pack104.ads: Likewise.
6389 * libgnat/s-pack105.adb: Likewise.
6390 * libgnat/s-pack105.ads: Likewise.
6391 * libgnat/s-pack106.adb: Likewise.
6392 * libgnat/s-pack106.ads: Likewise.
6393 * libgnat/s-pack107.adb: Likewise.
6394 * libgnat/s-pack107.ads: Likewise.
6395 * libgnat/s-pack108.adb: Likewise.
6396 * libgnat/s-pack108.ads: Likewise.
6397 * libgnat/s-pack109.adb: Likewise.
6398 * libgnat/s-pack109.ads: Likewise.
6399 * libgnat/s-pack11.adb: Likewise.
6400 * libgnat/s-pack11.ads: Likewise.
6401 * libgnat/s-pack110.adb: Likewise.
6402 * libgnat/s-pack110.ads: Likewise.
6403 * libgnat/s-pack111.adb: Likewise.
6404 * libgnat/s-pack111.ads: Likewise.
6405 * libgnat/s-pack112.adb: Likewise.
6406 * libgnat/s-pack112.ads: Likewise.
6407 * libgnat/s-pack113.adb: Likewise.
6408 * libgnat/s-pack113.ads: Likewise.
6409 * libgnat/s-pack114.adb: Likewise.
6410 * libgnat/s-pack114.ads: Likewise.
6411 * libgnat/s-pack115.adb: Likewise.
6412 * libgnat/s-pack115.ads: Likewise.
6413 * libgnat/s-pack116.adb: Likewise.
6414 * libgnat/s-pack116.ads: Likewise.
6415 * libgnat/s-pack117.adb: Likewise.
6416 * libgnat/s-pack117.ads: Likewise.
6417 * libgnat/s-pack118.adb: Likewise.
6418 * libgnat/s-pack118.ads: Likewise.
6419 * libgnat/s-pack119.adb: Likewise.
6420 * libgnat/s-pack119.ads: Likewise.
6421 * libgnat/s-pack12.adb: Likewise.
6422 * libgnat/s-pack12.ads: Likewise.
6423 * libgnat/s-pack120.adb: Likewise.
6424 * libgnat/s-pack120.ads: Likewise.
6425 * libgnat/s-pack121.adb: Likewise.
6426 * libgnat/s-pack121.ads: Likewise.
6427 * libgnat/s-pack122.adb: Likewise.
6428 * libgnat/s-pack122.ads: Likewise.
6429 * libgnat/s-pack123.adb: Likewise.
6430 * libgnat/s-pack123.ads: Likewise.
6431 * libgnat/s-pack124.adb: Likewise.
6432 * libgnat/s-pack124.ads: Likewise.
6433 * libgnat/s-pack125.adb: Likewise.
6434 * libgnat/s-pack125.ads: Likewise.
6435 * libgnat/s-pack126.adb: Likewise.
6436 * libgnat/s-pack126.ads: Likewise.
6437 * libgnat/s-pack127.adb: Likewise.
6438 * libgnat/s-pack127.ads: Likewise.
6439 * libgnat/s-pack13.adb: Likewise.
6440 * libgnat/s-pack13.ads: Likewise.
6441 * libgnat/s-pack14.adb: Likewise.
6442 * libgnat/s-pack14.ads: Likewise.
6443 * libgnat/s-pack15.adb: Likewise.
6444 * libgnat/s-pack15.ads: Likewise.
6445 * libgnat/s-pack17.adb: Likewise.
6446 * libgnat/s-pack17.ads: Likewise.
6447 * libgnat/s-pack18.adb: Likewise.
6448 * libgnat/s-pack18.ads: Likewise.
6449 * libgnat/s-pack19.adb: Likewise.
6450 * libgnat/s-pack19.ads: Likewise.
6451 * libgnat/s-pack20.adb: Likewise.
6452 * libgnat/s-pack20.ads: Likewise.
6453 * libgnat/s-pack21.adb: Likewise.
6454 * libgnat/s-pack21.ads: Likewise.
6455 * libgnat/s-pack22.adb: Likewise.
6456 * libgnat/s-pack22.ads: Likewise.
6457 * libgnat/s-pack23.adb: Likewise.
6458 * libgnat/s-pack23.ads: Likewise.
6459 * libgnat/s-pack24.adb: Likewise.
6460 * libgnat/s-pack24.ads: Likewise.
6461 * libgnat/s-pack25.adb: Likewise.
6462 * libgnat/s-pack25.ads: Likewise.
6463 * libgnat/s-pack26.adb: Likewise.
6464 * libgnat/s-pack26.ads: Likewise.
6465 * libgnat/s-pack27.adb: Likewise.
6466 * libgnat/s-pack27.ads: Likewise.
6467 * libgnat/s-pack28.adb: Likewise.
6468 * libgnat/s-pack28.ads: Likewise.
6469 * libgnat/s-pack29.adb: Likewise.
6470 * libgnat/s-pack29.ads: Likewise.
6471 * libgnat/s-pack30.adb: Likewise.
6472 * libgnat/s-pack30.ads: Likewise.
6473 * libgnat/s-pack31.adb: Likewise.
6474 * libgnat/s-pack31.ads: Likewise.
6475 * libgnat/s-pack33.adb: Likewise.
6476 * libgnat/s-pack33.ads: Likewise.
6477 * libgnat/s-pack34.adb: Likewise.
6478 * libgnat/s-pack34.ads: Likewise.
6479 * libgnat/s-pack35.adb: Likewise.
6480 * libgnat/s-pack35.ads: Likewise.
6481 * libgnat/s-pack36.adb: Likewise.
6482 * libgnat/s-pack36.ads: Likewise.
6483 * libgnat/s-pack37.adb: Likewise.
6484 * libgnat/s-pack37.ads: Likewise.
6485 * libgnat/s-pack38.adb: Likewise.
6486 * libgnat/s-pack38.ads: Likewise.
6487 * libgnat/s-pack39.adb: Likewise.
6488 * libgnat/s-pack39.ads: Likewise.
6489 * libgnat/s-pack40.adb: Likewise.
6490 * libgnat/s-pack40.ads: Likewise.
6491 * libgnat/s-pack41.adb: Likewise.
6492 * libgnat/s-pack41.ads: Likewise.
6493 * libgnat/s-pack42.adb: Likewise.
6494 * libgnat/s-pack42.ads: Likewise.
6495 * libgnat/s-pack43.adb: Likewise.
6496 * libgnat/s-pack43.ads: Likewise.
6497 * libgnat/s-pack44.adb: Likewise.
6498 * libgnat/s-pack44.ads: Likewise.
6499 * libgnat/s-pack45.adb: Likewise.
6500 * libgnat/s-pack45.ads: Likewise.
6501 * libgnat/s-pack46.adb: Likewise.
6502 * libgnat/s-pack46.ads: Likewise.
6503 * libgnat/s-pack47.adb: Likewise.
6504 * libgnat/s-pack47.ads: Likewise.
6505 * libgnat/s-pack48.adb: Likewise.
6506 * libgnat/s-pack48.ads: Likewise.
6507 * libgnat/s-pack49.adb: Likewise.
6508 * libgnat/s-pack49.ads: Likewise.
6509 * libgnat/s-pack50.adb: Likewise.
6510 * libgnat/s-pack50.ads: Likewise.
6511 * libgnat/s-pack51.adb: Likewise.
6512 * libgnat/s-pack51.ads: Likewise.
6513 * libgnat/s-pack52.adb: Likewise.
6514 * libgnat/s-pack52.ads: Likewise.
6515 * libgnat/s-pack53.adb: Likewise.
6516 * libgnat/s-pack53.ads: Likewise.
6517 * libgnat/s-pack54.adb: Likewise.
6518 * libgnat/s-pack54.ads: Likewise.
6519 * libgnat/s-pack55.adb: Likewise.
6520 * libgnat/s-pack55.ads: Likewise.
6521 * libgnat/s-pack56.adb: Likewise.
6522 * libgnat/s-pack56.ads: Likewise.
6523 * libgnat/s-pack57.adb: Likewise.
6524 * libgnat/s-pack57.ads: Likewise.
6525 * libgnat/s-pack58.adb: Likewise.
6526 * libgnat/s-pack58.ads: Likewise.
6527 * libgnat/s-pack59.adb: Likewise.
6528 * libgnat/s-pack59.ads: Likewise.
6529 * libgnat/s-pack60.adb: Likewise.
6530 * libgnat/s-pack60.ads: Likewise.
6531 * libgnat/s-pack61.adb: Likewise.
6532 * libgnat/s-pack61.ads: Likewise.
6533 * libgnat/s-pack62.adb: Likewise.
6534 * libgnat/s-pack62.ads: Likewise.
6535 * libgnat/s-pack63.adb: Likewise.
6536 * libgnat/s-pack63.ads: Likewise.
6537 * libgnat/s-pack65.adb: Likewise.
6538 * libgnat/s-pack65.ads: Likewise.
6539 * libgnat/s-pack66.adb: Likewise.
6540 * libgnat/s-pack66.ads: Likewise.
6541 * libgnat/s-pack67.adb: Likewise.
6542 * libgnat/s-pack67.ads: Likewise.
6543 * libgnat/s-pack68.adb: Likewise.
6544 * libgnat/s-pack68.ads: Likewise.
6545 * libgnat/s-pack69.adb: Likewise.
6546 * libgnat/s-pack69.ads: Likewise.
6547 * libgnat/s-pack70.adb: Likewise.
6548 * libgnat/s-pack70.ads: Likewise.
6549 * libgnat/s-pack71.adb: Likewise.
6550 * libgnat/s-pack71.ads: Likewise.
6551 * libgnat/s-pack72.adb: Likewise.
6552 * libgnat/s-pack72.ads: Likewise.
6553 * libgnat/s-pack73.adb: Likewise.
6554 * libgnat/s-pack73.ads: Likewise.
6555 * libgnat/s-pack74.adb: Likewise.
6556 * libgnat/s-pack74.ads: Likewise.
6557 * libgnat/s-pack75.adb: Likewise.
6558 * libgnat/s-pack75.ads: Likewise.
6559 * libgnat/s-pack76.adb: Likewise.
6560 * libgnat/s-pack76.ads: Likewise.
6561 * libgnat/s-pack77.adb: Likewise.
6562 * libgnat/s-pack77.ads: Likewise.
6563 * libgnat/s-pack78.adb: Likewise.
6564 * libgnat/s-pack78.ads: Likewise.
6565 * libgnat/s-pack79.adb: Likewise.
6566 * libgnat/s-pack79.ads: Likewise.
6567 * libgnat/s-pack80.adb: Likewise.
6568 * libgnat/s-pack80.ads: Likewise.
6569 * libgnat/s-pack81.adb: Likewise.
6570 * libgnat/s-pack81.ads: Likewise.
6571 * libgnat/s-pack82.adb: Likewise.
6572 * libgnat/s-pack82.ads: Likewise.
6573 * libgnat/s-pack83.adb: Likewise.
6574 * libgnat/s-pack83.ads: Likewise.
6575 * libgnat/s-pack84.adb: Likewise.
6576 * libgnat/s-pack84.ads: Likewise.
6577 * libgnat/s-pack85.adb: Likewise.
6578 * libgnat/s-pack85.ads: Likewise.
6579 * libgnat/s-pack86.adb: Likewise.
6580 * libgnat/s-pack86.ads: Likewise.
6581 * libgnat/s-pack87.adb: Likewise.
6582 * libgnat/s-pack87.ads: Likewise.
6583 * libgnat/s-pack88.adb: Likewise.
6584 * libgnat/s-pack88.ads: Likewise.
6585 * libgnat/s-pack89.adb: Likewise.
6586 * libgnat/s-pack89.ads: Likewise.
6587 * libgnat/s-pack90.adb: Likewise.
6588 * libgnat/s-pack90.ads: Likewise.
6589 * libgnat/s-pack91.adb: Likewise.
6590 * libgnat/s-pack91.ads: Likewise.
6591 * libgnat/s-pack92.adb: Likewise.
6592 * libgnat/s-pack92.ads: Likewise.
6593 * libgnat/s-pack93.adb: Likewise.
6594 * libgnat/s-pack93.ads: Likewise.
6595 * libgnat/s-pack94.adb: Likewise.
6596 * libgnat/s-pack94.ads: Likewise.
6597 * libgnat/s-pack95.adb: Likewise.
6598 * libgnat/s-pack95.ads: Likewise.
6599 * libgnat/s-pack96.adb: Likewise.
6600 * libgnat/s-pack96.ads: Likewise.
6601 * libgnat/s-pack97.adb: Likewise.
6602 * libgnat/s-pack97.ads: Likewise.
6603 * libgnat/s-pack98.adb: Likewise.
6604 * libgnat/s-pack98.ads: Likewise.
6605 * libgnat/s-pack99.adb: Likewise.
6606 * libgnat/s-pack99.ads: Likewise.
6607 * libgnat/s-parame.adb: Likewise.
6608 * libgnat/s-parame.ads: Likewise.
6609 * libgnat/s-parame__hpux.ads: Likewise.
6610 * libgnat/s-parame__posix2008.ads: Likewise.
6611 * libgnat/s-parame__rtems.adb: Likewise.
6612 * libgnat/s-parame__vxworks.adb: Likewise.
6613 * libgnat/s-parame__vxworks.ads: Likewise.
6614 * libgnat/s-parint.adb: Likewise.
6615 * libgnat/s-parint.ads: Likewise.
6616 * libgnat/s-pehage.adb: Likewise.
6617 * libgnat/s-pehage.ads: Likewise.
6618 * libgnat/s-pooglo.adb: Likewise.
6619 * libgnat/s-pooglo.ads: Likewise.
6620 * libgnat/s-pooloc.adb: Likewise.
6621 * libgnat/s-pooloc.ads: Likewise.
6622 * libgnat/s-poosiz.adb: Likewise.
6623 * libgnat/s-poosiz.ads: Likewise.
6624 * libgnat/s-powflt.ads: Likewise.
6625 * libgnat/s-powlfl.ads: Likewise.
6626 * libgnat/s-powllf.ads: Likewise.
6627 * libgnat/s-purexc.ads: Likewise.
6628 * libgnat/s-putima.adb: Likewise.
6629 * libgnat/s-putima.ads: Likewise.
6630 * libgnat/s-rannum.adb: Likewise.
6631 * libgnat/s-rannum.ads: Likewise.
6632 * libgnat/s-ransee.adb: Likewise.
6633 * libgnat/s-ransee.ads: Likewise.
6634 * libgnat/s-regexp.adb: Likewise.
6635 * libgnat/s-regexp.ads: Likewise.
6636 * libgnat/s-regpat.adb: Likewise.
6637 * libgnat/s-regpat.ads: Likewise.
6638 * libgnat/s-resfil.adb: Likewise.
6639 * libgnat/s-resfil.ads: Likewise.
6640 * libgnat/s-restri.adb: Likewise.
6641 * libgnat/s-restri.ads: Likewise.
6642 * libgnat/s-rident.ads: Likewise.
6643 * libgnat/s-rpc.adb: Likewise.
6644 * libgnat/s-rpc.ads: Likewise.
6645 * libgnat/s-scaval.adb: Likewise.
6646 * libgnat/s-scaval.ads: Likewise.
6647 * libgnat/s-scaval__128.adb: Likewise.
6648 * libgnat/s-scaval__128.ads: Likewise.
6649 * libgnat/s-secsta.adb: Likewise.
6650 * libgnat/s-secsta.ads: Likewise.
6651 * libgnat/s-sequio.adb: Likewise.
6652 * libgnat/s-sequio.ads: Likewise.
6653 * libgnat/s-shabig.ads: Likewise.
6654 * libgnat/s-shasto.adb: Likewise.
6655 * libgnat/s-shasto.ads: Likewise.
6656 * libgnat/s-soflin.adb: Likewise.
6657 * libgnat/s-soflin.ads: Likewise.
6658 * libgnat/s-soliin.adb: Likewise.
6659 * libgnat/s-soliin.ads: Likewise.
6660 * libgnat/s-spsufi.adb: Likewise.
6661 * libgnat/s-spsufi.ads: Likewise.
6662 * libgnat/s-stache.adb: Likewise.
6663 * libgnat/s-stache.ads: Likewise.
6664 * libgnat/s-stalib.adb: Likewise.
6665 * libgnat/s-stalib.ads: Likewise.
6666 * libgnat/s-statxd.adb: Likewise.
6667 * libgnat/s-statxd.ads: Likewise.
6668 * libgnat/s-stausa.adb: Likewise.
6669 * libgnat/s-stausa.ads: Likewise.
6670 * libgnat/s-stchop.adb: Likewise.
6671 * libgnat/s-stchop.ads: Likewise.
6672 * libgnat/s-stchop__limit.ads: Likewise.
6673 * libgnat/s-stchop__vxworks.adb: Likewise.
6674 * libgnat/s-stoele.adb: Likewise.
6675 * libgnat/s-stoele.ads: Likewise.
6676 * libgnat/s-stopoo.adb: Likewise.
6677 * libgnat/s-stopoo.ads: Likewise.
6678 * libgnat/s-stposu.adb: Likewise.
6679 * libgnat/s-stposu.ads: Likewise.
6680 * libgnat/s-stratt.adb: Likewise.
6681 * libgnat/s-stratt.ads: Likewise.
6682 * libgnat/s-strcom.adb: Likewise.
6683 * libgnat/s-strcom.ads: Likewise.
6684 * libgnat/s-strhas.adb: Likewise.
6685 * libgnat/s-strhas.ads: Likewise.
6686 * libgnat/s-string.adb: Likewise.
6687 * libgnat/s-string.ads: Likewise.
6688 * libgnat/s-ststop.adb: Likewise.
6689 * libgnat/s-ststop.ads: Likewise.
6690 * libgnat/s-tasloc.adb: Likewise.
6691 * libgnat/s-tasloc.ads: Likewise.
6692 * libgnat/s-traceb.adb: Likewise.
6693 * libgnat/s-traceb.ads: Likewise.
6694 * libgnat/s-traceb__hpux.adb: Likewise.
6695 * libgnat/s-traceb__mastop.adb: Likewise.
6696 * libgnat/s-traent.adb: Likewise.
6697 * libgnat/s-traent.ads: Likewise.
6698 * libgnat/s-trasym.adb: Likewise.
6699 * libgnat/s-trasym.ads: Likewise.
6700 * libgnat/s-trasym__dwarf.adb: Likewise.
6701 * libgnat/s-tsmona.adb: Likewise.
6702 * libgnat/s-tsmona__linux.adb: Likewise.
6703 * libgnat/s-tsmona__mingw.adb: Likewise.
6704 * libgnat/s-unstyp.ads: Likewise.
6705 * libgnat/s-utf_32.adb: Likewise.
6706 * libgnat/s-utf_32.ads: Likewise.
6707 * libgnat/s-vade128.ads: Likewise.
6708 * libgnat/s-vade32.ads: Likewise.
6709 * libgnat/s-vade64.ads: Likewise.
6710 * libgnat/s-vaen16.ads: Likewise.
6711 * libgnat/s-vaen32.ads: Likewise.
6712 * libgnat/s-vaenu8.ads: Likewise.
6713 * libgnat/s-vafi128.ads: Likewise.
6714 * libgnat/s-vafi32.ads: Likewise.
6715 * libgnat/s-vafi64.ads: Likewise.
6716 * libgnat/s-valboo.adb: Likewise.
6717 * libgnat/s-valboo.ads: Likewise.
6718 * libgnat/s-valcha.adb: Likewise.
6719 * libgnat/s-valcha.ads: Likewise.
6720 * libgnat/s-valflt.ads: Likewise.
6721 * libgnat/s-valint.adb: Likewise.
6722 * libgnat/s-valint.ads: Likewise.
6723 * libgnat/s-vallfl.ads: Likewise.
6724 * libgnat/s-valllf.ads: Likewise.
6725 * libgnat/s-vallli.adb: Likewise.
6726 * libgnat/s-vallli.ads: Likewise.
6727 * libgnat/s-valllli.ads: Likewise.
6728 * libgnat/s-vallllu.ads: Likewise.
6729 * libgnat/s-valllu.adb: Likewise.
6730 * libgnat/s-valllu.ads: Likewise.
6731 * libgnat/s-valrea.adb: Likewise.
6732 * libgnat/s-valrea.ads: Likewise.
6733 * libgnat/s-valued.adb: Likewise.
6734 * libgnat/s-valued.ads: Likewise.
6735 * libgnat/s-valuef.adb: Likewise.
6736 * libgnat/s-valuef.ads: Likewise.
6737 * libgnat/s-valuei.adb: Likewise.
6738 * libgnat/s-valuei.ads: Likewise.
6739 * libgnat/s-valuen.adb: Likewise.
6740 * libgnat/s-valuen.ads: Likewise.
6741 * libgnat/s-valuer.adb: Likewise.
6742 * libgnat/s-valuer.ads: Likewise.
6743 * libgnat/s-valueu.adb: Likewise.
6744 * libgnat/s-valueu.ads: Likewise.
6745 * libgnat/s-valuns.adb: Likewise.
6746 * libgnat/s-valuns.ads: Likewise.
6747 * libgnat/s-valuti.adb: Likewise.
6748 * libgnat/s-valuti.ads: Likewise.
6749 * libgnat/s-valwch.adb: Likewise.
6750 * libgnat/s-valwch.ads: Likewise.
6751 * libgnat/s-veboop.adb: Likewise.
6752 * libgnat/s-veboop.ads: Likewise.
6753 * libgnat/s-vector.ads: Likewise.
6754 * libgnat/s-vercon.adb: Likewise.
6755 * libgnat/s-vercon.ads: Likewise.
6756 * libgnat/s-wchcnv.adb: Likewise.
6757 * libgnat/s-wchcnv.ads: Likewise.
6758 * libgnat/s-wchcon.adb: Likewise.
6759 * libgnat/s-wchcon.ads: Likewise.
6760 * libgnat/s-wchjis.adb: Likewise.
6761 * libgnat/s-wchjis.ads: Likewise.
6762 * libgnat/s-wchstw.adb: Likewise.
6763 * libgnat/s-wchstw.ads: Likewise.
6764 * libgnat/s-wchwts.adb: Likewise.
6765 * libgnat/s-wchwts.ads: Likewise.
6766 * libgnat/s-widboo.adb: Likewise.
6767 * libgnat/s-widboo.ads: Likewise.
6768 * libgnat/s-widcha.adb: Likewise.
6769 * libgnat/s-widcha.ads: Likewise.
6770 * libgnat/s-widenu.adb: Likewise.
6771 * libgnat/s-widenu.ads: Likewise.
6772 * libgnat/s-widint.ads: Likewise.
6773 * libgnat/s-widlli.adb: Likewise.
6774 * libgnat/s-widlli.ads: Likewise.
6775 * libgnat/s-widllli.ads: Likewise.
6776 * libgnat/s-widlllu.ads: Likewise.
6777 * libgnat/s-widllu.adb: Likewise.
6778 * libgnat/s-widllu.ads: Likewise.
6779 * libgnat/s-widthi.adb: Likewise.
6780 * libgnat/s-widthi.ads: Likewise.
6781 * libgnat/s-widthu.adb: Likewise.
6782 * libgnat/s-widthu.ads: Likewise.
6783 * libgnat/s-widuns.ads: Likewise.
6784 * libgnat/s-widwch.adb: Likewise.
6785 * libgnat/s-widwch.ads: Likewise.
6786 * libgnat/s-win32.ads: Likewise.
6787 * libgnat/s-winext.ads: Likewise.
6788 * libgnat/s-wwdcha.adb: Likewise.
6789 * libgnat/s-wwdcha.ads: Likewise.
6790 * libgnat/s-wwdenu.adb: Likewise.
6791 * libgnat/s-wwdenu.ads: Likewise.
6792 * libgnat/s-wwdwch.adb: Likewise.
6793 * libgnat/s-wwdwch.ads: Likewise.
6794 * libgnat/system-aix.ads: Likewise.
6795 * libgnat/system-darwin-arm.ads: Likewise.
6796 * libgnat/system-darwin-ppc.ads: Likewise.
6797 * libgnat/system-darwin-x86.ads: Likewise.
6798 * libgnat/system-djgpp.ads: Likewise.
6799 * libgnat/system-dragonfly-x86_64.ads: Likewise.
6800 * libgnat/system-freebsd.ads: Likewise.
6801 * libgnat/system-hpux-ia64.ads: Likewise.
6802 * libgnat/system-hpux.ads: Likewise.
6803 * libgnat/system-linux-alpha.ads: Likewise.
6804 * libgnat/system-linux-arm.ads: Likewise.
6805 * libgnat/system-linux-hppa.ads: Likewise.
6806 * libgnat/system-linux-ia64.ads: Likewise.
6807 * libgnat/system-linux-m68k.ads: Likewise.
6808 * libgnat/system-linux-mips.ads: Likewise.
6809 * libgnat/system-linux-ppc.ads: Likewise.
6810 * libgnat/system-linux-riscv.ads: Likewise.
6811 * libgnat/system-linux-s390.ads: Likewise.
6812 * libgnat/system-linux-sh4.ads: Likewise.
6813 * libgnat/system-linux-sparc.ads: Likewise.
6814 * libgnat/system-linux-x86.ads: Likewise.
6815 * libgnat/system-lynxos178-ppc.ads: Likewise.
6816 * libgnat/system-lynxos178-x86.ads: Likewise.
6817 * libgnat/system-mingw.ads: Likewise.
6818 * libgnat/system-qnx-aarch64.ads: Likewise.
6819 * libgnat/system-rtems.ads: Likewise.
6820 * libgnat/system-solaris-sparc.ads: Likewise.
6821 * libgnat/system-solaris-x86.ads: Likewise.
6822 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
6823 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
6824 * libgnat/system-vxworks-arm.ads: Likewise.
6825 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
6826 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
6827 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
6828 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
6829 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
6830 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
6831 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
6832 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
6833 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
6834 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
6835 * libgnat/system-vxworks7-aarch64.ads: Likewise.
6836 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
6837 * libgnat/system-vxworks7-arm.ads: Likewise.
6838 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
6839 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
6840 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
6841 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
6842 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
6843 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
6844 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
6845 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
6846 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
6847 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
6848 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
6849 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
6850 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
6852 * live.adb: Likewise.
6853 * live.ads: Likewise.
6854 * locales.c: Likewise.
6855 * make.adb: Likewise.
6856 * make.ads: Likewise.
6857 * make_util.adb: Likewise.
6858 * make_util.ads: Likewise.
6859 * makeusg.adb: Likewise.
6860 * makeusg.ads: Likewise.
6861 * mdll-fil.adb: Likewise.
6862 * mdll-fil.ads: Likewise.
6863 * mdll-utl.adb: Likewise.
6864 * mdll-utl.ads: Likewise.
6865 * mdll.adb: Likewise.
6866 * mdll.ads: Likewise.
6867 * mingw32.h: Likewise.
6868 * mkdir.c: Likewise.
6869 * namet-sp.adb: Likewise.
6870 * namet-sp.ads: Likewise.
6871 * namet.adb: Likewise.
6872 * namet.ads: Likewise.
6873 * namet.h: Likewise.
6874 * nlists.adb: Likewise.
6875 * nlists.ads: Likewise.
6876 * nlists.h: Likewise.
6877 * opt.adb: Likewise.
6878 * opt.ads: Likewise.
6879 * osint-b.adb: Likewise.
6880 * osint-b.ads: Likewise.
6881 * osint-c.adb: Likewise.
6882 * osint-c.ads: Likewise.
6883 * osint-l.adb: Likewise.
6884 * osint-l.ads: Likewise.
6885 * osint-m.adb: Likewise.
6886 * osint-m.ads: Likewise.
6887 * osint.adb: Likewise.
6888 * osint.ads: Likewise.
6889 * output.adb: Likewise.
6890 * output.ads: Likewise.
6891 * par-ch10.adb: Likewise.
6892 * par-ch11.adb: Likewise.
6893 * par-ch12.adb: Likewise.
6894 * par-ch13.adb: Likewise.
6895 * par-ch2.adb: Likewise.
6896 * par-ch3.adb: Likewise.
6897 * par-ch4.adb: Likewise.
6898 * par-ch5.adb: Likewise.
6899 * par-ch6.adb: Likewise.
6900 * par-ch7.adb: Likewise.
6901 * par-ch8.adb: Likewise.
6902 * par-ch9.adb: Likewise.
6903 * par-endh.adb: Likewise.
6904 * par-labl.adb: Likewise.
6905 * par-load.adb: Likewise.
6906 * par-prag.adb: Likewise.
6907 * par-sync.adb: Likewise.
6908 * par-tchk.adb: Likewise.
6909 * par-util.adb: Likewise.
6910 * par.adb: Likewise.
6911 * par.ads: Likewise.
6912 * par_sco.adb: Likewise.
6913 * par_sco.ads: Likewise.
6914 * pprint.adb: Likewise.
6915 * pprint.ads: Likewise.
6916 * prep.adb: Likewise.
6917 * prep.ads: Likewise.
6918 * prepcomp.adb: Likewise.
6919 * prepcomp.ads: Likewise.
6920 * put_scos.adb: Likewise.
6921 * put_scos.ads: Likewise.
6922 * raise-gcc.c: Likewise.
6923 * raise.c: Likewise.
6924 * raise.h: Likewise.
6925 * repinfo-input.adb: Likewise.
6926 * repinfo-input.ads: Likewise.
6927 * repinfo.adb: Likewise.
6928 * repinfo.ads: Likewise.
6929 * repinfo.h: Likewise.
6930 * restrict.adb: Likewise.
6931 * restrict.ads: Likewise.
6932 * rident.ads: Likewise.
6933 * rtfinal.c: Likewise.
6934 * rtinit.c: Likewise.
6935 * rtsfind.adb: Likewise.
6936 * rtsfind.ads: Likewise.
6937 * runtime.h: Likewise.
6938 * s-oscons-tmplt.c: Likewise.
6939 * sa_messages.adb: Likewise.
6940 * sa_messages.ads: Likewise.
6941 * scans.adb: Likewise.
6942 * scans.ads: Likewise.
6943 * scil_ll.adb: Likewise.
6944 * scil_ll.ads: Likewise.
6945 * scn.adb: Likewise.
6946 * scn.ads: Likewise.
6947 * scng.adb: Likewise.
6948 * scng.ads: Likewise.
6949 * scos.adb: Likewise.
6950 * scos.ads: Likewise.
6952 * sdefault.ads: Likewise.
6953 * seh_init.c: Likewise.
6954 * sem.adb: Likewise.
6955 * sem.ads: Likewise.
6956 * sem_aggr.adb: Likewise.
6957 * sem_aggr.ads: Likewise.
6958 * sem_attr.adb: Likewise.
6959 * sem_attr.ads: Likewise.
6960 * sem_aux.adb: Likewise.
6961 * sem_aux.ads: Likewise.
6962 * sem_case.adb: Likewise.
6963 * sem_case.ads: Likewise.
6964 * sem_cat.adb: Likewise.
6965 * sem_cat.ads: Likewise.
6966 * sem_ch10.adb: Likewise.
6967 * sem_ch10.ads: Likewise.
6968 * sem_ch11.adb: Likewise.
6969 * sem_ch11.ads: Likewise.
6970 * sem_ch12.adb: Likewise.
6971 * sem_ch12.ads: Likewise.
6972 * sem_ch13.adb: Likewise.
6973 * sem_ch13.ads: Likewise.
6974 * sem_ch2.adb: Likewise.
6975 * sem_ch2.ads: Likewise.
6976 * sem_ch3.adb: Likewise.
6977 * sem_ch3.ads: Likewise.
6978 * sem_ch4.adb: Likewise.
6979 * sem_ch4.ads: Likewise.
6980 * sem_ch5.adb: Likewise.
6981 * sem_ch5.ads: Likewise.
6982 * sem_ch6.adb: Likewise.
6983 * sem_ch6.ads: Likewise.
6984 * sem_ch7.adb: Likewise.
6985 * sem_ch7.ads: Likewise.
6986 * sem_ch8.adb: Likewise.
6987 * sem_ch8.ads: Likewise.
6988 * sem_ch9.adb: Likewise.
6989 * sem_ch9.ads: Likewise.
6990 * sem_dim.adb: Likewise.
6991 * sem_dim.ads: Likewise.
6992 * sem_disp.adb: Likewise.
6993 * sem_disp.ads: Likewise.
6994 * sem_dist.adb: Likewise.
6995 * sem_dist.ads: Likewise.
6996 * sem_elab.adb: Likewise.
6997 * sem_elab.ads: Likewise.
6998 * sem_elim.adb: Likewise.
6999 * sem_elim.ads: Likewise.
7000 * sem_eval.adb: Likewise.
7001 * sem_eval.ads: Likewise.
7002 * sem_intr.adb: Likewise.
7003 * sem_intr.ads: Likewise.
7004 * sem_mech.adb: Likewise.
7005 * sem_mech.ads: Likewise.
7006 * sem_prag.adb: Likewise.
7007 * sem_prag.ads: Likewise.
7008 * sem_res.adb: Likewise.
7009 * sem_res.ads: Likewise.
7010 * sem_scil.adb: Likewise.
7011 * sem_scil.ads: Likewise.
7012 * sem_smem.adb: Likewise.
7013 * sem_smem.ads: Likewise.
7014 * sem_type.adb: Likewise.
7015 * sem_type.ads: Likewise.
7016 * sem_util.adb: Likewise.
7017 * sem_util.ads: Likewise.
7018 * sem_warn.adb: Likewise.
7019 * sem_warn.ads: Likewise.
7020 * set_targ.adb: Likewise.
7021 * set_targ.ads: Likewise.
7022 * sfn_scan.adb: Likewise.
7023 * sfn_scan.ads: Likewise.
7024 * sigtramp-armdroid.c: Likewise.
7025 * sigtramp-ios.c: Likewise.
7026 * sigtramp-qnx.c: Likewise.
7027 * sigtramp-vxworks-target.h: Likewise.
7028 * sigtramp-vxworks.c: Likewise.
7029 * sigtramp.h: Likewise.
7030 * sinfo-cn.adb: Likewise.
7031 * sinfo-cn.ads: Likewise.
7032 * sinfo-utils.adb: Likewise.
7033 * sinfo-utils.ads: Likewise.
7034 * sinfo.adb: Likewise.
7035 * sinfo.ads: Likewise.
7036 * sinput-c.adb: Likewise.
7037 * sinput-c.ads: Likewise.
7038 * sinput-d.adb: Likewise.
7039 * sinput-d.ads: Likewise.
7040 * sinput-l.adb: Likewise.
7041 * sinput-l.ads: Likewise.
7042 * sinput.adb: Likewise.
7043 * sinput.ads: Likewise.
7044 * socket.c: Likewise.
7045 * spark_xrefs.adb: Likewise.
7046 * spark_xrefs.ads: Likewise.
7047 * sprint.adb: Likewise.
7048 * sprint.ads: Likewise.
7049 * stand.ads: Likewise.
7050 * stringt.adb: Likewise.
7051 * stringt.ads: Likewise.
7052 * stringt.h: Likewise.
7053 * strub.adb: Likewise.
7054 * strub.ads: Likewise.
7055 * style.adb: Likewise.
7056 * style.ads: Likewise.
7057 * styleg.adb: Likewise.
7058 * styleg.ads: Likewise.
7059 * stylesw.adb: Likewise.
7060 * stylesw.ads: Likewise.
7061 * switch-b.adb: Likewise.
7062 * switch-b.ads: Likewise.
7063 * switch-c.adb: Likewise.
7064 * switch-c.ads: Likewise.
7065 * switch-m.adb: Likewise.
7066 * switch-m.ads: Likewise.
7067 * switch.adb: Likewise.
7068 * switch.ads: Likewise.
7069 * sysdep.c: Likewise.
7070 * table.adb: Likewise.
7071 * table.ads: Likewise.
7072 * targext.c: Likewise.
7073 * targparm.adb: Likewise.
7074 * targparm.ads: Likewise.
7075 * tbuild.adb: Likewise.
7076 * tbuild.ads: Likewise.
7077 * tempdir.adb: Likewise.
7078 * tempdir.ads: Likewise.
7079 * terminals.c: Likewise.
7080 * tracebak.c: Likewise.
7081 * treepr.adb: Likewise.
7082 * treepr.ads: Likewise.
7083 * ttypes.ads: Likewise.
7084 * types.adb: Likewise.
7085 * types.ads: Likewise.
7086 * types.h: Likewise.
7087 * uintp.adb: Likewise.
7088 * uintp.ads: Likewise.
7089 * uintp.h: Likewise.
7090 * uname.adb: Likewise.
7091 * uname.ads: Likewise.
7092 * urealp.adb: Likewise.
7093 * urealp.ads: Likewise.
7094 * urealp.h: Likewise.
7095 * usage.adb: Likewise.
7096 * usage.ads: Likewise.
7097 * validsw.adb: Likewise.
7098 * validsw.ads: Likewise.
7099 * vast.adb: Likewise.
7100 * vast.ads: Likewise.
7101 * warnsw.adb: Likewise.
7102 * warnsw.ads: Likewise.
7103 * widechar.adb: Likewise.
7104 * widechar.ads: Likewise.
7105 * xoscons.adb: Likewise.
7106 * xr_tabls.adb: Likewise.
7107 * xr_tabls.ads: Likewise.
7108 * xref_lib.adb: Likewise.
7109 * xref_lib.ads: Likewise.
7110 * xsnamest.adb: Likewise.
7111 * xutil.adb: Likewise.
7112 * xutil.ads: Likewise.
7114 2022-01-11 Richard Kenner <kenner@adacore.com>
7116 * debug.adb: Add documentation for new -gnatd_u and old -gnatd_R
7117 flags used for GNAT LLVM and its CCG.
7119 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
7121 * Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of
7122 System.Atomic_Counters.
7123 * libgnat/s-atocou__x86.adb: Remove.
7125 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
7127 * gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype.
7128 (elaborate_profile): New function.
7129 (Call_to_gnu): Call it on the formals and the result type before
7130 retrieving the translated result type from the subprogram type.
7132 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
7134 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix
7135 computation of boolean result in the unchecked union case.
7136 (components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT
7137 and remove local variable of the same name. Pass NULL recursively
7138 as P_GNU_REP_LIST for nested variants in the unchecked union case.
7140 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
7142 * gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case.
7143 <N_Pragma_Argument_Association>: Likewise.
7144 (Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding
7145 variable of a constant before marking it as addressable.
7147 2022-01-10 Arnaud Charlet <charlet@adacore.com>
7149 * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove
7150 s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?. Update list of object
7153 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
7155 * libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces
7156 deprecated Sync_Compare_And_Swap.
7157 * libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync
7158 to __atomic builtins.
7160 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
7162 * libgnat/s-exponn.adb, libgnat/s-expont.adb,
7163 libgnat/s-exponu.adb, libgnat/s-widthi.adb,
7164 libgnat/s-widthu.adb: Remove CodePeer annotations for pragma
7167 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
7169 * exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion
7172 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
7174 * sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment.
7176 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
7178 * exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply
7179 the canonical adjustment to its alignment.
7181 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
7183 * libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch
7184 from __sync to __atomic builtins; use 'Address to be consistent
7185 with System.Atomic_Primitives.
7187 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
7189 * exp_pakd.adb (Install_PAT): Do not reset the alignment here.
7190 * layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having
7191 copied the RM_Size onto the Esize when the latter is too small.
7193 2022-01-10 Justin Squirek <squirek@adacore.com>
7195 * sem_warn.adb (Check_References): Handle arrays of tasks
7196 similar to task objects.
7198 2022-01-07 Patrick Bernardi <bernardi@adacore.com>
7200 * libgnat/a-direct.adb (Search_Data): Remove type.
7201 (Directory_Vectors): New package instantiation.
7202 (Search_State): New type.
7203 (Fetch_Next_Entry): Remove.
7205 (Finalize): Rewritten.
7207 (Get_Next_Entry): Return next entry from Search results vector
7208 rather than querying the directory directly using readdir.
7210 (Modification_Time): Rewritten.
7211 (More_Entries): Use Search state cursor to determine if more
7212 entries are available for users to read.
7213 (Simple_Name): Rewritten.
7215 (Start_Search_Internal): Rewritten to load the contents of the
7216 directory that matches the pattern and filter into the search
7218 * libgnat/a-direct.ads (Search_Type): New type.
7219 (Search_Ptr): Ditto.
7220 (Directory_Entry_Type): Rewritten to support new Start_Search
7222 * libgnat/s-filatt.ads (File_Length_Attr): New function.
7224 2022-01-07 Etienne Servais <servais@adacore.com>
7226 * sem_attr.adb (Check_Reference): Fix condition.
7228 2022-01-07 Ghjuvan Lacambre <lacambre@adacore.com>
7230 * libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma
7231 Unreferenced" for Result.
7232 (Timed_Delay): Likewise.
7234 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7236 * gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a
7237 dedicated line, so that the current indentation is taken into
7240 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7242 * exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style
7243 in comments and code.
7245 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7247 * exp_aggr.adb (Gen_Assign): Remove explicit initialization for
7248 components of access types.
7249 (Get_Assoc_Expr): Enable initialization for components of all
7250 types that require simple initialization.
7252 2022-01-07 Javier Miranda <miranda@adacore.com>
7254 * atree.ads (Traverse_Func_With_Parent): New generic subprogram.
7255 (Traverse_Proc_With_Parent): Likewise.
7256 * atree.adb (Parents_Stack): New table used to traverse trees
7257 passing the parent field of each node.
7258 (Internal_Traverse_With_Parent): New generic subprogram.
7259 (Traverse_Func_With_Parent): Likewise.
7260 (Traverse_Proc_With_Parent): Likewise.
7261 * contracts.adb (Fix_Parents): New subprogram.
7262 (Restore_Original_Selected_Component): Enhanced to fix the
7263 parent field of restored nodes.
7264 (Inherit_Condition): Adding assertions to check the parent field
7265 of inherited conditions and to ensure that the built inherited
7266 condition has no reference to the formals of the parent
7268 * sem_util.ads, sem_util.adb (Check_Parents): New subprogram.
7270 2022-01-07 Etienne Servais <servais@adacore.com>
7272 * sem_attr.adb (Check_Placement_In_Test_Case): Fix typo.
7274 2022-01-07 Justin Squirek <squirek@adacore.com>
7276 * comperr.adb (Delete_SCIL_Files): Replace unnecessary
7277 Unreferenced pragma with specific pragma Warnings.
7278 * doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced):
7279 Add documentation for new behavior.
7280 * gnat_rm.texi: Regenerate.
7281 * erroutc.adb (Set_At): Remove useless assignment.
7282 * exp_ch2.adb (In_Assignment_Context): Deleted.
7283 (Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to
7284 Known_To_Be_Assigned.
7285 (Expand_Current_Value): Replace calls to May_Be_Lvalue with
7286 calls to Known_To_Be_Assigned.
7287 (Expand_Entry_Paramter): Replace calls to In_Assignment_Context
7288 with calls to Known_To_Be_Assigned.
7289 * exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced
7291 * exp_imgv.adb (Build_Enumeration_Image_Tables): Default
7293 * ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue
7294 with call to Known_To_Be_Assigned.
7295 * lib-xref.adb (Is_On_LHS): Deleted.
7296 (OK_To_Set_Referenced): Rewrite subprogram to encompass the new
7297 pragma Unreferenced behavior.
7298 (Process_Deferred_References): Replace call to Is_LHS with call
7299 to Known_To_Be_Assigned.
7300 * libgnarl/s-taasde.adb, libgnarl/s-tasren.adb,
7301 libgnarl/s-tpobop.adb, libgnat/a-calend.adb,
7302 libgnat/a-calfor.adb, libgnat/a-cbdlli.adb,
7303 libgnat/a-cbhama.adb, libgnat/a-cbhase.adb,
7304 libgnat/a-cbmutr.adb, libgnat/a-cborma.adb,
7305 libgnat/a-cborse.adb, libgnat/a-cdlili.adb,
7306 libgnat/a-cfhama.adb, libgnat/a-cforse.adb,
7307 libgnat/a-cidlli.adb, libgnat/a-cihama.adb,
7308 libgnat/a-cihase.adb, libgnat/a-cimutr.adb,
7309 libgnat/a-ciorma.adb, libgnat/a-ciormu.adb,
7310 libgnat/a-ciorse.adb, libgnat/a-cohama.adb,
7311 libgnat/a-cohase.adb, libgnat/a-comutr.adb,
7312 libgnat/a-convec.adb, libgnat/a-coorma.adb,
7313 libgnat/a-coormu.adb, libgnat/a-coorse.adb,
7314 libgnat/a-crdlli.adb, libgnat/a-tigeau.adb,
7315 libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb,
7316 libgnat/g-calend.adb, libgnat/g-comlin.adb,
7317 libgnat/g-expect.adb, libgnat/g-mbflra.adb,
7318 libgnat/g-spipat.adb, libgnat/s-fatgen.adb,
7319 libgnat/s-fileio.adb, libgnat/s-os_lib.adb,
7320 libgnat/s-regpat.adb, libgnat/s-valued.adb,
7321 libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas
7322 * sem_ch10.adb (Process_Spec_Clauses): Remove useless
7324 * sem_ch13.adb (Validate_Literal_Aspect): Default initialize I.
7325 * sem_ch3.adb (Build_Derived_Concurrent_Type): Default
7326 initialize Corr_Decl.
7327 * sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to
7328 Known_To_Be_Assigned.
7329 (In_Abstract_View_Pragma): Likewise.
7330 * sem_eval.adb (Eval_Selected_Component): Replace calls to
7331 Is_LHS with calls to Known_To_Be_Assigned.
7332 * sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue
7333 with calls to Known_To_Be_Assigned.
7334 * sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize
7336 (Explain_Limited_Type): Default initialize Expr_Func.
7337 (Find_Actual): Modified to handle entry families.
7339 (May_Be_Lvalue): Deleted.
7340 (Known_To_Be_Assigned): Modified and improved to handle all
7342 * sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue
7343 with calls to Known_To_Be_Assigned.
7344 (Check_Ref): Modify error on unreferenced out parameters to take
7345 into account different warning flags.
7347 2022-01-07 Javier Miranda <miranda@adacore.com>
7349 * sem_ch3.adb (Reorder_Interfaces): When the conflicting
7350 interface is identified we just replace the interface in the
7351 list of interfaces of the tagged type (instead of adding a
7352 duplicate to the list of interfaces).
7354 2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
7356 * adaint.c (__gnat_kill): Terminate process only in case of
7357 SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT. Do not call
7358 OpenProcess if not going to terminate process.
7360 2022-01-07 Eric Botcazou <ebotcazou@adacore.com>
7362 * exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass
7363 over the arguments of the pragma. Set the Address_Taken flag on
7364 them and use the Has_Delayed_Freeze flag to spot those which have
7365 their elaboration delayed. Reuse the location variable Loc.
7367 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7369 * osint.adb (To_Lower): Clarify that only To_Lower function
7370 causes bootstrap issues; fix style.
7371 * treepr.adb (Print_Str_Mixed_Case): Reuse existing case
7373 (To_Mixed): Rename from Capitalize; reuse System.Case_Util
7374 procedure and explain the bootstrap issue.
7376 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7378 * exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary
7379 initialization of Must_Hook; change Detect_Subprogram_Call from
7380 function to procedure; adapt caller.
7382 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7384 * exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb,
7385 sem_ch13.adb: Remove extra space before THEN that occurs at the
7388 2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
7390 * expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS,
7391 WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status
7392 or signal that caused the child process to terminate/stop. Do
7393 not process exit status in case of error in waitpid call.
7394 * adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is
7395 removed in Windows variant as it actually is not working and was
7396 terminating the calling process. Set signal number into exit
7397 code parameter of TerminateProcess to work the same like in
7400 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7402 * exp_ch5.adb (Expand_N_Case_Statement): Remove explicit
7405 2022-01-07 Etienne Servais <servais@adacore.com>
7407 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
7408 Update -gnatwr documentation.
7409 * gnat_ugn.texi: Regenerate.
7411 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7413 * exp_unst.adb (Unnest_Subprogram): Sync comment with the
7416 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7418 * exp_ch4.adb (Raise_Accessibility_Error): Move exception name
7419 to the message string; move << control characters to the end,
7421 * sem_ch6.adb (Analyze_Function_Return): Likewise.
7422 * sem_util.adb (Compile_Time_Constraint_Error): Likewise.
7423 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes
7424 around Storage_Error.
7425 * gcc-interface/trans.c (gnat_to_gnu): Remove quotes around
7428 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7430 * errout.adb (Error_Msg): Move warning suppression code from
7432 (Error_Msg_NLE): Warning suppression is now done by the internal
7435 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7437 * exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary
7439 * exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment.
7440 * exp_ch5.adb (Expand_N_If_Statement,
7441 Expand_Iterator_Loop_Over_Container): Likewise.
7442 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant
7444 * freeze.adb (Freeze_All_Ent): Reduce scope of a local variable.
7446 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
7448 * exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard.
7449 * exp_disp.adb (Make_DT): Likewise.
7450 * sem_ch12.adb (Analyze_Associations): Likewise.
7452 2022-01-07 Etienne Servais <servais@adacore.com>
7454 * sem_res.adb (Resolve_Op_Concat_Arg): Check range when
7455 concatenating scalars.
7457 2022-01-07 Bob Duff <duff@adacore.com>
7459 * treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to
7462 2022-01-07 Richard Kenner <kenner@adacore.com>
7464 * libgnat/g-spipat.ads (Boolean_Func, Natural_Func,
7465 VString_Func): Mark as Favor_Top_Level.
7466 * sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using
7467 internal representation if Unchecked_Conversion between
7468 an access to subprogram and System.Address within the same unit.
7470 2022-01-07 Bob Duff <duff@adacore.com>
7472 * treepr.adb (Print_Node_Ref): Print the value if available.
7474 2022-01-07 Richard Kenner <kenner@adacore.com>
7476 * sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to
7477 not recurse and return the next-most-fullest view.
7479 2022-01-07 Bob Duff <duff@adacore.com>
7481 * sem_ch10.adb (Check_Redundant_Withs): Add a warning if a
7482 library unit with's its own ancestor. Note that this warning is
7483 not triggered for something like "with P.R;" in P.Q, because
7484 there the "with P;" is considered implicit.
7485 * fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads,
7486 libgnat/a-calfor.adb, libgnat/a-tiboio.adb,
7487 libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb,
7488 libgnat/s-bitops.adb, libgnat/s-bitops.ads,
7489 libgnat/s-direio.adb, libgnat/s-dwalin.adb,
7490 libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb,
7491 libgnat/s-os_lib.adb, libgnat/s-os_lib.ads,
7492 libgnat/s-pooglo.ads, libgnat/s-secsta.adb,
7493 libgnat/s-shasto.adb, libgnat/s-stausa.ads,
7494 libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of
7496 * sinfo.ads: Minor comment fix.
7498 2022-01-07 Bob Duff <duff@adacore.com>
7500 * osint-m.adb: Remove with_clause and pragma.
7502 2022-01-06 Bob Duff <duff@adacore.com>
7504 * sem_res.adb (Resolve_Range): Warn on null range, unless we are
7505 inside a generic unit or an instance thereof.
7506 * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
7509 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7511 * errout.adb (Adjust_Name_Case): Remove unnecessary declare
7514 2022-01-06 Yannick Moy <moy@adacore.com>
7516 * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
7518 * libgnat/a-ngrear.adb: Likewise.
7519 * libgnat/s-gearop.adb: Prove implementation is free of runtime
7521 * libgnat/s-gearop.ads: Add contracts to protect against runtime
7522 errors in the generic part.
7524 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7526 * errout.adb (Remove_Warning_Messages): Use traversal procedure
7527 instead of traversal function, since we discard status of each
7530 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7532 * exp_ch4.adb (Expand_Concatenate): There is no reason for using
7533 declaring, raising and catching an exception; a simple return
7534 statement is enough.
7536 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7538 * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
7539 calls to Apply_Compile_Time_Constraint_Error related to division
7542 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7544 * errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
7545 * exp_util.adb (Kill_Dead_Code): Likewise.
7546 * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
7547 * sem_ch3.adb (Build_Derived_Record_Type): Likewise.
7548 * sem_ch4.adb (Traverse_Interfaces): Likewise.
7549 * sem_eval.adb (Traverse_Interfaces): Likewise.
7550 * sem_util.adb (Collect_Interfaces): Likewise.
7551 (Has_Non_Null_Statements, Side_Effect_Free_Statements):
7552 Likewise; turn into WHILE loops, for consistency.
7554 2022-01-06 Etienne Servais <servais@adacore.com>
7556 * sem_type.adb (Full_View_Covers): Fix typo.
7558 2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
7560 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
7561 the outer level, do not jump over following instantiations in
7564 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7566 * err_vars.ads (Warn_On_Instance): Remove; it was a relic from
7567 the previous handling of warning in instances that was removed
7570 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7572 * errout.adb (Error_Msg_Internal): Reorder words.
7573 * erroutc.ads (Is_Warning_Msg): Add closing paren.
7574 * sem_util.adb (Compile_Time_Constraint_Error): Fix casing.
7576 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7578 * sem_res.adb (Resolve_String_Literal): Simplify pointer
7581 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7583 * sem_res.adb (Resolve_String_Literal): Avoid unnecessary
7584 conversions inside "<" and ">" bodies.
7586 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7588 * checks.adb (Null_Exclusion_Static_Checks,
7589 Selected_Range_Checks): Fix style.
7591 2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
7593 * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
7594 special units when the name of the renaming is a generic instance,
7595 which is the case for package instantiations in the GNAT model.
7597 2022-01-06 Steve Baird <baird@adacore.com>
7599 * sem_util.adb (Build_Discriminant_Reference): In the unexpected
7600 case where we previously would fail an assertion, we instead
7601 revert to the old behavior.
7603 2022-01-06 Steve Baird <baird@adacore.com>
7605 * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
7606 local function, Build_Discriminant_Reference, and call it in
7607 each of the three cases where Make_Selected_Component was
7608 previously being called to construct a discriminant reference (2
7609 in Build_Actual_Array_Constraint and 1 in
7610 Build_Actual_Record_Constraint). Instead of unconditionally
7611 using the passed-in object name as the prefix for the new
7612 selected component node, this new function checks to see if
7613 perhaps a prefix of that name should be used instead.
7615 2022-01-06 Etienne Servais <servais@adacore.com>
7617 * atree.adb: Fix typo.
7618 * einfo.ads: Likewise.
7619 * exp_aggr.adb: Likewise.
7620 * exp_ch6.adb: Likewise.
7621 * exp_ch7.adb: Likewise.
7622 * exp_ch9.adb: Likewise.
7623 * exp_prag.adb: Likewise.
7624 * exp_unst.adb: Likewise.
7625 * exp_unst.ads: Likewise.
7626 * exp_util.adb: Likewise.
7627 * par-endh.adb: Likewise.
7628 * par.adb: Likewise.
7629 * restrict.adb: Likewise.
7630 * sem.ads: Likewise.
7631 * sem_ch4.adb: Likewise.
7632 * sem_ch5.adb: Likewise.
7633 * sem_ch6.adb: Likewise.
7634 * sem_ch8.adb: Likewise.
7635 * sem_ch12.adb: Likewise.
7636 * sem_ch13.adb: Likewise.
7637 * sem_dim.adb: Likewise.
7638 * sem_elab.adb: Likewise.
7639 * sem_prag.adb: Likewise.
7640 * sem_res.adb: Likewise.
7641 * sem_util.adb: Likewise.
7642 * sem_util.ads: Likewise.
7643 * sinfo.ads: Likewise.
7644 * sprint.adb: Likewise.
7645 * urealp.adb: Likewise.
7647 2022-01-06 Justin Squirek <squirek@adacore.com>
7649 * exp_ch3.adb (Build_Assignment): Replace current instance of
7650 type with Init_Proc formal.
7651 * sem_attr.adb (OK_Self_Reference): Handle recognition of
7652 Current_Instance to detect certain expansion.
7653 * sem_ch4.adb (Analyze_One_Call): Set actual's type when the
7654 actual in question is a current instance and its corresponding
7655 formal is an incomplete type.
7656 * sem_util.adb (Is_Current_Instance): Add check for incomplete
7657 views and add comment.
7659 2022-01-06 Bob Duff <duff@adacore.com>
7661 * libgnat/s-rident.ads (No_Tagged_Type_Registration): New
7662 restriction identifier.
7663 * restrict.ads (Implementation_Restriction): Add restriction.
7664 * exp_ch7.adb (Process_Declarations): Suppress
7665 tagged-type-related finalization actions if the restriction is
7666 active. Call RTE_Available last.
7667 * exp_disp.adb (Make_DT): Likewise.
7668 * exp_util.adb (Requires_Cleanup_Actions): Return False for a
7669 tagged type declaration if No_Tagged_Type_Registration is
7671 * sem_attr.adb (Check_Stream_Attribute): Check restriction
7672 No_Tagged_Type_Registration.
7673 * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
7674 avoid stopping at a warning in gdb.
7675 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
7676 Document new restriction.
7677 * gnat_rm.texi: Regenerate.
7679 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7681 * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
7682 * prep.adb (Parse_Def_File): Likewise; remove Empty_String.
7684 2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
7686 * stand.ads (Any_Access): Delete.
7687 (Universal_Access): New entity.
7688 * einfo.ads: Remove obsolete reference to Any_Access.
7689 * gen_il-gen-gen_entities.adb: Likewise.
7690 * cstand.adb (Create_Standard): Do not create Any_Access and create
7691 Universal_Access as a full type instead.
7692 * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
7693 Any_Access and deal with Universal_Access instead.
7694 * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
7696 * sem_ch4.adb (Analyze_Null): Likewise.
7697 (Find_Non_Universal_Interpretations): Likewise.
7698 (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
7699 by renaming a local variable of the same name.
7700 * sem_res.adb (Make_Call_Into_Operato): Likewise.
7701 (Resolve_Equality_Op): Likewise.
7702 * sem_type.adb (Covers): Likewise.
7703 (Specific_Type): Likewise.
7705 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7707 * treepr.adb (Destroy): Prevent spurious check from CodePeer.
7709 2022-01-06 Yannick Moy <moy@adacore.com>
7711 * libgnat/s-exponu.adb (Exponu): Add annotation.
7713 2022-01-06 Justin Squirek <squirek@adacore.com>
7715 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
7716 regarding special handling of components which depend on
7718 * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
7719 for calls to Has_Stream_Attribute_Definition.
7720 (Build_To_Any_Function): Likewise.
7721 (Build_TypeCode_Function): Likewise.
7722 * freeze.adb (Freeze_Entity): Add missing comment for Test_E.
7723 * libgnat/s-utf_32.adb: Remove disabled warning comments and
7724 temporarily inserted pragma warnings. Remove very old (2006 and
7725 2012) comments about bootstrapping older versions.
7726 * par.adb (P_Identifier): Add new parameter Force_Msg.
7727 * par-ch2.adb (P_Identifier): Restructure and clean up function.
7728 * par-ch3.adb (P_Defining_Identifier): Remove code duplication
7729 for parsing identifiers.
7730 * sem_attr.adb (Stream_Attribute_Available): Add missing
7731 comments and add Real_Rep actual for calls to
7732 Has_Stream_Attribute_Definition.
7733 * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
7734 for calls to Has_Stream_Attribute_Definition.
7735 (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
7736 recursive calls. Add default value for Real_Rep.
7737 * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
7738 parameter "Real_Rep".
7739 * sem_type.adb (Add_Entry): Add condition to avoid passing
7740 non-function calls to Function_Interp_Has_Abstract_Op.
7741 (Function_Interp_Has_Abstract_Op): Add missing comments and
7742 remove check for Is_Overloadable.
7743 * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
7746 2022-01-06 Javier Miranda <miranda@adacore.com>
7748 * contracts.adb (Restore_Original_Selected_Component): New
7749 subprogram that traverses a preanalyzed expression searching for
7750 dispatching calls to functions whose original node was a
7751 selected component, and replacing them with their original node.
7752 This functionality is required because the preanalyis of
7753 dispatching calls using the Object.Operation notation transforms
7754 such calls, and we need the original condition to properly
7755 inherit and extend the condition expression on tagged type
7756 derivations. This functionality was previously provided by the
7757 routine Install_Original_Selected_Component (as part of
7758 inheriting conditions); now it is performed as part of the
7759 preanalysis of the condition, thus avoiding repeatedly
7760 installing and restoring such nodes.
7761 (Install_Original_Selected_Component): Removed.
7762 (Restore_Dispatching_Calls): Removed.
7764 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7766 * treepr.adb (Visit_Node): Simplify repeated call to
7769 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
7771 * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
7773 * treepr.adb (Serial_Numbers): Hash table instance.
7774 (Hash): Hashing routine.
7775 (Print_Field): Fix style.
7776 (Print_Init): Adapt to simple hash table.
7777 (Print_Term): Likewise.
7778 (Serial_Numbers): Likewise.
7779 (Set_Serial_Number): Likewise.
7781 2022-01-06 Yannick Moy <moy@adacore.com>
7783 * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
7784 * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.
7786 2022-01-06 Yannick Moy <moy@adacore.com>
7788 * libgnat/s-explllu.ads: Mark in SPARK.
7789 * libgnat/s-expllu.ads: Mark in SPARK.
7790 * libgnat/s-exponu.adb: Add loop invariants and needed
7792 * libgnat/s-exponu.ads: Add functional contract.
7793 * libgnat/s-expuns.ads: Mark in SPARK.
7795 2022-01-05 Steve Baird <baird@adacore.com>
7797 * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug
7798 that was introduced in the previous commit. The previous
7799 version initialized a Boolean constant Declare_Copy before the
7800 variable Decl had been initialized properly.
7802 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7804 * sem_prag.adb (Adjust_External_Name_Case): Use membership test.
7806 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7808 * exp_ch3.adb (Make_Controlling_Function_Wrappers): For
7809 GNATprove build the wrapper as an expression function.
7811 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7813 * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move
7814 declaration from body to spec, so it can be called by
7815 SPARK-specific expansion.
7816 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise.
7817 * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of
7818 wrappers for function with controlling result types.
7820 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7822 * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with
7823 Add_Char_To_Name_Buffer.
7825 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7827 * gnatls.adb (Gnatls): Use Name_Find function.
7828 * targparm.adb (Get_Target_Parameters): Likewise.
7830 2022-01-05 Bob Duff <duff@adacore.com>
7832 * repinfo.adb (List_Entities): The code was assuming that if we
7833 encounter a package in the current scope, then it must be
7834 a (physically) nested package. That was wrong, because it could
7835 be a child package. Avoid recursing into child packages; they
7836 have not been annotated with representation information, and
7837 -gnatR2 queries that information.
7839 2022-01-05 Marc Poulhiès <poulhies@adacore.com>
7841 * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove.
7842 * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove.
7843 * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove.
7844 * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove.
7845 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed
7847 * gcc-interface/Make-lang.in (ada/sdefault.o): Remove
7848 dependencies on removed units.
7849 (GNATBIND_OBJS): Remove occurences of removed units.
7851 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7853 * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace.
7854 * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.
7856 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7858 * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in
7859 spec of the generated array validation function; it was
7860 redundant, just like it would be in a user-written code.
7862 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7864 * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace.
7865 * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise.
7868 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7870 * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace.
7871 * libgnat/a-cofuve.ads (Add): Likewise.
7872 * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.
7874 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7876 * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body,
7877 Make_Predefined_Primitive_Eq_Spec,
7878 Make_Predefined_Primitive_Specs): Fix whitespace.
7880 2022-01-05 Etienne Servais <servais@adacore.com>
7882 * sem_ch3.adb (Analyze_Component_Declaration): Rework condition
7884 (Analyze_Object_Declaration): Likewise.
7885 (Should_Build_Subtype): New.
7887 2022-01-05 Yannick Moy <moy@adacore.com>
7889 * libgnat/s-arit128.adb: Mark in SPARK.
7890 * libgnat/s-arit128.ads: Add functional contracts.
7892 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7894 * sem_util.adb (String_From_Numeric_Literal): Simplify using
7895 membership tests and ranges; fix whitespace.
7897 2022-01-05 Yannick Moy <moy@adacore.com>
7899 * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to
7901 * libgnat/s-explli.ads: Likewise.
7902 * libgnat/s-expllli.ads: Likewise.
7903 * libgnat/s-expont.adb: Add lemmas and ghost code.
7904 * libgnat/s-expont.ads: Add functional contract.
7906 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7908 * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard.
7910 2022-01-05 Claire Dross <dross@adacore.com>
7912 * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost
7913 function to determine if a string is recognized as something
7914 which might be an exponent.
7915 (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a
7916 string has the correct format for an optional exponent.
7917 (Scan_Exponent): Use ghost functions to factorize contracts.
7919 2022-01-05 Bob Duff <duff@adacore.com>
7921 * exp_util.ads (Get_Current_Value_Condition): Belt: Add a
7922 postcondition that Val /= Var.
7923 * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if
7924 Get_Current_Value_Condition returned the same value. This will
7925 be enabled even without assertions, because infinite recursion
7926 is a nuisance -- better to crash if this bug ever occurs.
7928 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7930 * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing
7931 Copy_Subprogram_Spec.
7932 * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter.
7933 * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to
7936 2022-01-05 Yannick Moy <moy@adacore.com>
7938 * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to
7940 * libgnat/s-exnlli.ads: Likewise.
7941 * libgnat/s-exnllli.ads: Likewise.
7942 * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case
7943 value zero as Left or Right to simplify proof.
7944 * libgnat/s-exponn.ads: Transform the generic function into a
7945 generic package with a function inside. Add a functional
7948 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7950 * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant
7951 call to Set_Defining_Unit_Name; a similar call is done few lines
7954 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7956 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create
7957 distinct copies of parameter lists for spec and body with
7958 Copy_Parameter_List; cleanup.
7959 (Make_Null_Procedure_Specs): Fix style in comments; remove a
7960 potentially unnecessary initialization of a local variable.
7962 2022-01-05 Bob Duff <duff@adacore.com>
7964 * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias):
7965 Change Node_Id to Entity_Id.
7967 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
7969 * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper):
7970 Remove unreferenced spec.
7971 * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper):
7974 2022-01-05 Yannick Moy <moy@adacore.com>
7976 * libgnat/s-aridou.adb: Apply replacement.
7978 2022-01-05 Yannick Moy <moy@adacore.com>
7980 * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for
7981 instances with other values of Single_Size.
7983 2022-01-05 Marc Poulhiès <poulhies@adacore.com>
7985 * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit)
7986 (Compiler_Unit_Warning): Remove.
7987 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
7988 * libgnat/g-dynhta.ads: Add comment indicating this unit is
7989 built during stage1.
7990 * libgnat/g-dyntab.ads: Likewise.
7991 * libgnat/g-graphs.ads: Likewise.
7992 * libgnat/g-lists.ads: Likewise.
7993 * libgnat/g-sets.ads: Likewise.
7994 * libgnat/gnat.ads: Likewise.
7995 * libgnat/s-pehage.ads: Likewise.
7996 * libgnat/s-resfil.ads: Likewise.
7997 * libgnat/s-rident.ads: Likewise.
7998 * libgnat/s-utf_32.ads: Likewise.
7999 * errout.ads: Update comment.
8000 * opt.ads (Opt): Remove Compiler_Unit.
8001 * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit.
8002 * sem_prag.adb (Analyze_Pragma): Likewise.
8003 * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression)
8004 (Analyze_Set_Membership, Record_Interp): Likewise.
8005 * sem_ch11.adb (Analyze_Raise_Expression): Likewise.
8006 * sem_ch6.adb: Remove Restric package reference.
8007 (Analyze_Extended_Return_Statement): Remove call to
8008 Check_Compiler_Unit.
8009 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
8010 Remove handling of Pragma_Compiler_Unit[_Warning}.
8011 * restrict.adb (Check_Compiler_Unit): Remove both.
8012 * restrict.ads: Likewise.
8013 * snames.ads-tmpl (Pragma_Id): Remove
8014 Pragma_Compiler_Unit[_Warning].
8015 * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning.
8016 * libgnat/a-chlat1.ads: Likewise.
8017 * libgnat/a-elchha.adb: Likewise.
8018 * libgnat/a-elchha.ads: Likewise.
8019 * libgnat/a-ioexce.ads: Likewise.
8020 * libgnat/a-strhas.ads: Likewise.
8021 * libgnat/g-byorma.adb: Likewise.
8022 * libgnat/g-byorma.ads: Likewise.
8023 * libgnat/g-dyntab.adb: Likewise.
8024 * libgnat/g-heasor.ads: Likewise.
8025 * libgnat/g-hesora.adb: Likewise.
8026 * libgnat/g-hesora.ads: Likewise.
8027 * libgnat/g-htable.adb: Likewise.
8028 * libgnat/g-htable.ads: Likewise.
8029 * libgnat/g-spchge.adb: Likewise.
8030 * libgnat/g-spchge.ads: Likewise.
8031 * libgnat/g-speche.adb: Likewise.
8032 * libgnat/g-speche.ads: Likewise.
8033 * libgnat/g-table.ads: Likewise.
8034 * libgnat/g-u3spch.adb: Likewise.
8035 * libgnat/g-u3spch.ads: Likewise.
8036 * libgnat/interfac.ads: Likewise.
8037 * libgnat/s-addope.adb: Likewise.
8038 * libgnat/s-addope.ads: Likewise.
8039 * libgnat/s-assert.adb: Likewise.
8040 * libgnat/s-assert.ads: Likewise.
8041 * libgnat/s-bitops.adb: Likewise.
8042 * libgnat/s-bitops.ads: Likewise.
8043 * libgnat/s-carun8.adb: Likewise.
8044 * libgnat/s-carun8.ads: Likewise.
8045 * libgnat/s-casuti.adb: Likewise.
8046 * libgnat/s-casuti.ads: Likewise.
8047 * libgnat/s-conca2.adb: Likewise.
8048 * libgnat/s-conca2.ads: Likewise.
8049 * libgnat/s-conca3.adb: Likewise.
8050 * libgnat/s-conca3.ads: Likewise.
8051 * libgnat/s-conca4.adb: Likewise.
8052 * libgnat/s-conca4.ads: Likewise.
8053 * libgnat/s-conca5.adb: Likewise.
8054 * libgnat/s-conca5.ads: Likewise.
8055 * libgnat/s-conca6.adb: Likewise.
8056 * libgnat/s-conca6.ads: Likewise.
8057 * libgnat/s-conca7.adb: Likewise.
8058 * libgnat/s-conca7.ads: Likewise.
8059 * libgnat/s-conca8.adb: Likewise.
8060 * libgnat/s-conca8.ads: Likewise.
8061 * libgnat/s-conca9.adb: Likewise.
8062 * libgnat/s-conca9.ads: Likewise.
8063 * libgnat/s-crc32.adb: Likewise.
8064 * libgnat/s-crc32.ads: Likewise.
8065 * libgnat/s-crtl.ads: Likewise.
8066 * libgnat/s-excdeb.adb: Likewise.
8067 * libgnat/s-excdeb.ads: Likewise.
8068 * libgnat/s-except.ads: Likewise.
8069 * libgnat/s-exctab.adb: Likewise.
8070 * libgnat/s-exctab.ads: Likewise.
8071 * libgnat/s-finmas.ads: Likewise.
8072 * libgnat/s-htable.adb: Likewise.
8073 * libgnat/s-htable.ads: Likewise.
8074 * libgnat/s-mastop.adb: Likewise.
8075 * libgnat/s-mastop.ads: Likewise.
8076 * libgnat/s-memory.adb: Likewise.
8077 * libgnat/s-memory.ads: Likewise.
8078 * libgnat/s-os_lib.ads: Likewise.
8079 * libgnat/s-parame.adb: Likewise.
8080 * libgnat/s-parame.ads: Likewise.
8081 * libgnat/s-parame__posix2008.ads: Likewise.
8082 * libgnat/s-purexc.ads: Likewise.
8083 * libgnat/s-resfil.adb: Likewise.
8084 * libgnat/s-restri.adb: Likewise.
8085 * libgnat/s-restri.ads: Likewise.
8086 * libgnat/s-secsta.adb: Likewise.
8087 * libgnat/s-secsta.ads: Likewise.
8088 * libgnat/s-soflin.adb: Likewise.
8089 * libgnat/s-soflin.ads: Likewise.
8090 * libgnat/s-sopco3.adb: Likewise.
8091 * libgnat/s-sopco3.ads: Likewise.
8092 * libgnat/s-sopco4.adb: Likewise.
8093 * libgnat/s-sopco4.ads: Likewise.
8094 * libgnat/s-sopco5.adb: Likewise.
8095 * libgnat/s-sopco5.ads: Likewise.
8096 * libgnat/s-spsufi.ads: Likewise.
8097 * libgnat/s-stache.adb: Likewise.
8098 * libgnat/s-stache.ads: Likewise.
8099 * libgnat/s-stalib.adb: Likewise.
8100 * libgnat/s-stalib.ads: Likewise.
8101 * libgnat/s-stoele.adb: Likewise.
8102 * libgnat/s-stoele.ads: Likewise.
8103 * libgnat/s-strcom.adb: Likewise.
8104 * libgnat/s-strcom.ads: Likewise.
8105 * libgnat/s-strhas.adb: Likewise.
8106 * libgnat/s-string.adb: Likewise.
8107 * libgnat/s-string.ads: Likewise.
8108 * libgnat/s-strops.adb: Likewise.
8109 * libgnat/s-strops.ads: Likewise.
8110 * libgnat/s-ststop.adb: Likewise.
8111 * libgnat/s-ststop.ads: Likewise.
8112 * libgnat/s-traceb.adb: Likewise.
8113 * libgnat/s-traceb.ads: Likewise.
8114 * libgnat/s-traent.adb: Likewise.
8115 * libgnat/s-traent.ads: Likewise.
8116 * libgnat/s-utf_32.adb: Likewise.
8117 * libgnat/s-unstyp.ads: Likewise.
8118 * libgnat/s-wchcnv.adb: Likewise.
8119 * libgnat/s-wchcnv.ads: Likewise.
8120 * libgnat/s-wchcon.adb: Likewise.
8121 * libgnat/s-wchcon.ads: Likewise.
8122 * libgnat/s-wchjis.adb: Likewise.
8123 * libgnat/s-wchjis.ads: Likewise.
8125 2022-01-05 Arnaud Charlet <charlet@adacore.com>
8127 * osint.adb (File_Names_Equal): Declare To_Lower locally.
8128 * osint.ads (Null_FD): New.
8129 * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
8130 * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
8131 simplify the bootstrap dependencies.
8133 2022-01-03 Jakub Jelinek <jakub@redhat.com>
8135 * gnat_ugn.texi: Bump @copying's copyright year.
8136 * gnat_rm.texi: Likewise.
8139 Copyright (C) 2022 Free Software Foundation, Inc.
8141 Copying and distribution of this file, with or without modification,
8142 are permitted in any medium without royalty provided the copyright
8143 notice and this notice are preserved.