1 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
3 * gcc-interface/ada-tree.def (LOAD_EXPR): New expression code.
4 * gcc-interface/gigi.h (build_storage_model_load): Declare.
5 (build_storage_model_store): Likewise.
6 (instantiate_load_in_expr): Likewise.
7 (INSTANTIATE_LOAD_IN_EXPR): New macro.
8 (instantiate_load_in_array_ref): Declare.
9 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Type>: Set a
10 fake discriminant number on the fields of the template type.
11 (gnat_to_gnu_field): Use integer for DECL_DISCRIMINANT_NUMBER.
12 * gcc-interface/misc.cc (gnat_init_ts): Mark LOAD_EXPR as typed.
13 * gcc-interface/trans.cc (fold_constant_decl_in_expr) <ARRAY_REF>:
14 Also preserve the 4th operand.
15 (Attribute_to_gnu): Deal with LOAD_EXPR of unconstrained array type.
16 <Attr_Size>: Call INSTANTIATE_LOAD_IN_EXPR for a storage model.
17 <Attr_Length>: Likewise.
18 <Attr_Bit_Position>: Likewise.
19 (get_storage_model): New function.
20 (get_storage_model_access): Likewise.
21 (storage_model_access_required_p): Likewise.
22 (Call_to_gnu): Add GNAT_STORAGE_MODEL parameter and deal with it.
23 Also deal with actual parameters that have a storage model.
24 (gnat_to_gnu) <N_Object_Declaratio>: Adjust call to Call_to_gnu.
25 <N_Explicit_Dereference>: Deal with a storage model access.
26 <N_Indexed_Component>: Likewise.
28 <N_Selected_Component>: Likewise.
29 <N_Assignment_Statement>: Adjust call to Call_to_gnu. Deal with a
30 storage model access either on the LHS, on the RHS or on both.
31 <N_Function_Cal>: Adjust call to Call_to_gnu.
32 <N_Free_Statement>: Deal with a pool that is a storage model.
33 Replace test for UNCONSTRAINED_ARRAY_REF with test on the type.
34 (gnat_gimplify_expr) <CALL_EXPR>: Tidy up.
35 <LOAD_EXPR>: New case.
36 <UNCONSTRAINED_ARRAY_REF>: Move down.
37 * gcc-interface/utils.cc (maybe_unconstrained_array): Deal with a
38 LOAD_EXPR by recursing on its first operand.
39 * gcc-interface/utils2.cc (build_allocator): Deal with a pool that
41 (build_storage_model_copy): New function.
42 (build_storage_model_load): Likewise.
43 (build_storage_model_store): Likewise.
44 (instantiate_load_in_expr): Likewise.
45 (instantiate_load_in_array_ref): Likewise.
46 (gnat_rewrite_reference) <ARRAY_REF>: Also preserve the 4th operand.
47 (get_inner_constant_reference) <ARRAY_REF>: Remove useless test.
48 (gnat_invariant_expr) <ARRAY_REF>: Rewrite test.
50 2022-10-06 Steve Baird <baird@adacore.com>
53 (Analyze_Procedure_Call): Replace "return;" with "goto Leave;", as
54 per comment preceding body of Analyze_Procedure_Call.
56 2022-10-06 Piotr Trojanek <trojanek@adacore.com>
58 * sem_ch9.adb (Allows_Lock_Free_Implementation): Reject
59 conditional goto statements.
61 2022-10-06 Piotr Trojanek <trojanek@adacore.com>
63 * doc/gnat_rm/implementation_defined_pragmas.rst
64 (Lock_Free): Remove inconsistent periods that end item
67 (Allows_Lock_Free_Implementation): Remove unnecessary guard
68 against an empty list of parameters; replace low-level entity kind
69 membership test with a high-level query; refill error message.
70 * gnat_rm.texi: Regenerate.
72 2022-10-06 Alexandre Oliva <oliva@adacore.com>
74 * doc/gnat_rm/security_hardening_features.rst: Add examples of
75 codegen changes in hardened conditionals.
76 * gnat_rm.texi: Regenerate.
78 2022-10-06 Alexandre Oliva <oliva@adacore.com>
80 * doc/gnat_rm/security_hardening_features.rst: Add examples of
81 codegen changes in hardened booleans. Mention that C traps where
82 Ada raises exceptions.
83 * gnat_rm.texi: Regenerate.
85 2022-10-06 Alexandre Oliva <oliva@adacore.com>
87 * doc/gnat_rm/security_hardening_features.rst: Add examples of
88 codegen changes in stack scrubbing.
89 * gnat_rm.texi: Regenerate.
91 2022-10-06 Piotr Trojanek <trojanek@adacore.com>
93 * exp_ch9.adb (Build_Lock_Free_Protected_Subprogram_Body): Replace
94 shallow copy of protected statements with a deep copy.
96 2022-10-06 Marc Poulhiès <poulhies@adacore.com>
98 * fe.h (Has_Storage_Model_Type_Aspect)
99 (Has_Designated_Storage_Model_Aspect, Storage_Model_Object)
100 (Storage_Model_Copy_From, Storage_Model_Copy_To): Add
102 * sem_util.ads: Add WARNING markers for functions for which a new
103 C declaration has been added in fe.h
105 2022-10-06 Steve Baird <baird@adacore.com>
108 (Get_Current_Value_Condition): Treat references occurring within
109 the condition of an if statement, an elsif, or a while loop in the
110 same way as references that occur before the start of that
113 2022-10-06 Gary Dismukes <dismukes@adacore.com>
115 * sem_ch4.adb (Analyze_Call): Add test of Comes_From_Source on the
116 enclosing subprogram's Entity_Id for determining whether to
117 perform the compile-time accessibility check on actuals passed to
118 aliased formals in a function call occurring within a return
119 statement. That test excludes cases where the call occurs within
120 the return statement of a Pre'Class wrapper function.
122 2022-10-06 Bob Duff <duff@adacore.com>
125 (Expand_Assign_Array_Loop_Or_Bitfield): Minor cleanups.
127 2022-10-06 Yannick Moy <moy@adacore.com>
129 * sem_prag.adb (Analyze_Pragma): Ignore one variant of pragma
130 Warnings in GNATprove mode.
132 2022-10-06 Bob Duff <duff@adacore.com>
135 (Expand_Assign_Array_Loop_Or_Bitfield): Disable the
136 Fast_Copy_Bitfield optimization in certain cases.
138 2022-10-06 Piotr Trojanek <trojanek@adacore.com>
141 (Sig_Pragma): Change flag for pragma Refined_State to mean "not
142 significant"; this is primarily for documentation, because the
143 exact value of the flag is not really taken into account for
145 (Is_Non_Significant_Pragma_Reference): Add special handling for
146 pragma Refined_State.
148 2022-09-29 Ronan Desplanques <desplanques@adacore.com>
150 * einfo.ads: remove documentation duplicate
152 2022-09-29 Eric Botcazou <ebotcazou@adacore.com>
154 * contracts.adb (Build_Subprogram_Contract_Wrapper): Put back the
155 extended return statement if the result type is built-in-place.
156 * sem_attr.adb (Analyze_Attribute_Old_Result): Also expect an
157 extended return statement.
159 2022-09-29 Bob Duff <duff@adacore.com>
162 (Expand_Assign_Array_Loop_Or_Bitfield): Make the checks for
163 volatile and independent objects more precise.
165 2022-09-29 Piotr Trojanek <trojanek@adacore.com>
167 * sem_util.adb (Collect_Visible_States): Ignore package renamings.
169 2022-09-26 Ghjuvan Lacambre <lacambre@adacore.com>
171 * doc/gnat_rm/implementation_defined_attributes.rst: Rename Valid_Image.
172 * gnat_rm.texi: Regenerate.
173 * gnat_ugn.texi: Regenerate.
175 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
177 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Relocate
178 auxiliary declarations from the original compilation unit to the
179 newly created compilation unit for the spec.
181 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
184 (RTU_Id): Remove unreferenced packages; fix whitespace.
185 (RE_Id): Remove unreferenced entities; add comment about entity
186 that is only used by GNATprove and not by GNAT.
188 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
190 * s-oscons-tmplt.c (STR, STR1): Remove.
192 2022-09-26 Eric Botcazou <ebotcazou@adacore.com>
194 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
195 (-gnateT): Document new parameter Long_Long_Long_Size.
196 * gnat_ugn.texi: Regenerate.
198 2022-09-26 Steve Baird <baird@adacore.com>
200 * bindgen.adb: When the binder is invoked for the device, specify
201 the CUDA_Global aspect for the adainit and adafinal procedures via
202 a pragma instead of via an aspect_specification.
204 2022-09-26 Kévin Le Gouguec <legouguec@adacore.com>
206 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
207 (Linker Switches): Document support for mold along with gold; add some
208 advice regarding OpenSSL in the Pro version.
209 * gnat_ugn.texi: Regenerate.
211 2022-09-26 Tucker Taft <taft@adacore.com>
213 * sem_util.adb (Original_Aspect_Pragma_Name): Check for Check
216 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
218 * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion
219 based on Full_Analysis flag.
221 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
223 * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion of
224 for iterated component association just like it is done within
225 quantified expression.
227 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
229 * contracts.adb (Analyze_Object_Contract): Check SPARK_Mode before
232 2022-09-26 Justin Squirek <squirek@adacore.com>
235 (Accessibility_Level): Modify indexed and selected components case
236 by reducing the scope where Original_Node gets used.
238 2022-09-26 Boris Yakobowski <yakobowski@adacore.com>
240 * doc/gnat_ugn/gnat_utility_programs.rst: Remove documentation for
243 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
245 * gsocket.h: Remove redefinition of _WIN32_WINNT.
246 * mingw32.h: Remove conditional definition of _WIN32_WINNT.
248 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
250 * mingw32.h: Remove condition definition of MAXPATHLEN; the include
251 directive for stdlib.h was most likely intended to provide the
254 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
256 * adaint.c: Remove conditional #include directives for old MinGW.
257 * cal.c: Always include winsock.h, since it is part of modern
259 * cstreams.c: Remove workaround for old MinGW.
260 * expect.c: Remove conditional #include directive for old MinGW.
261 * mingw32.h: Remove STD_MINGW and OLD_MINGW declarations.
262 * sysdep.c: Remove conditional #include directive for old MinGW.
264 2022-09-26 Piotr Trojanek <trojanek@adacore.com>
266 * sem_warn.ads (Has_Junk_Name): Reword comment.
268 2022-09-20 Martin Liska <mliska@suse.cz>
270 * exp_ch6.adb: Replace "the the" with "the".
271 * sem_ch6.adb: Likewise.
272 * sem_disp.ads: Likewise.
274 2022-09-15 Richard Biener <rguenther@suse.de>
276 * gcc-interface/trans.cc (gigi): Do not initialize void_list_node.
278 2022-09-12 Eric Botcazou <ebotcazou@adacore.com>
280 * gcc-interface/decl.cc (gnat_to_gnu_entity): Relax assertion when
281 front-end unnesting is enabled.
283 2022-09-12 Justin Squirek <squirek@adacore.com>
286 (Innermost_Master_Scope_Depth): Detect and handle case where scope
287 depth is not set on an enclosing scope.
289 2022-09-12 Steve Baird <baird@adacore.com>
291 * bindgen.adb: When the binder is invoked for the host, generate a
292 "with CUDA.Internal;" with clause.
294 2022-09-12 Piotr Trojanek <trojanek@adacore.com>
296 * doc/gnat_rm/implementation_defined_pragmas.rst
297 (Pragma Unreferenced): Sync description with
298 Sem_Warn.Has_Junk_Name routine.
299 * gnat_rm.texi: Regenerate.
300 * gnat_ugn.texi: Regenerate.
302 2022-09-12 Piotr Trojanek <trojanek@adacore.com>
304 * sem_attr.adb (Analyze_Attribute [Valid_Scalars]): Move check for
305 unchecked union before checks for private and public types.
307 2022-09-12 Steve Baird <baird@adacore.com>
309 * bindgen.adb: When the binder is invoked for the host, it
310 declares imported subprograms corresponding to the Adainit and
311 Adafinal routines on the device. Declare string constants and
312 expression functions for the Ada source names and the link names
313 of these routines. Generate these subprogram declarations (and
314 accompanying Import pragmas) in Gen_CUDA_Defs. Generate
315 CUDA_Execute pragmas to call these subprograms from the host in
316 Gen_Adafinal and Gen_CUDA_Init. When the binder is invoked for the
317 device, include a CUDA_Global aspect declaration in the
318 declarations of Adainit and Adafinal and use the aforementioned
319 link names in the Export pragmas generated for those two routines.
320 * debug.adb: Update comments about "d_c" and "d_d" switches.
321 * opt.ads: Declare new Boolean variable,
322 Enable_CUDA_Device_Expansion. This complements the existing
323 Enable_CUDA_Expansion variable, which is used to enable host-side
324 CUDA expansion. The new variable enables device-side CUDA
325 expansion. It is currently never set during compilation; it is
326 only set via a binder switch.
328 (scan_debug_switches): Add new use of the "-d_d" binder switch.
329 The new switch and the variable Opt.Enabled_CUDA_Device_Expansion
330 follow the existing pattern of the "-d_c" switch and the variable
331 Opt.Enabled_CUDA_Expansion. Flag error if both "-d_c" and "-d_d"
334 2022-09-12 Eric Botcazou <ebotcazou@adacore.com>
336 * contracts.adb (Build_Subprogram_Contract_Wrapper): Remove useless
337 local variable. In the case of a function, replace the extended
338 return statement by a block statement declaring a renaming of the
339 call to the local subprogram after removing side effects manually.
340 (Expand_Subprogram_Contract): Adjust description accordingly.
341 * exp_ch6.adb (Expand_Ctrl_Function_Call): Rewrite obsolete
342 comment and do not apply the transformation twice.
343 * sem_attr.adb (Analyze_Attribute_Old_Result): Now expect a block
344 statement instead of an extended return statement.
346 2022-09-12 Piotr Trojanek <trojanek@adacore.com>
348 * erroutc.adb (Set_Msg_Insertion_Name): Special-case printing with
351 2022-09-12 Yannick Moy <moy@adacore.com>
353 * libgnat/s-imagei.adb (Image_Integer): Add justification.
355 2022-09-12 Piotr Trojanek <trojanek@adacore.com>
357 * sem_prag.adb (Get_SPARK_Mode_Type): Fix header box; replace
358 chained IF with a CASE statement.
360 2022-09-12 Yannick Moy <moy@adacore.com>
362 * sem_prag.adb (Analyze_Pragma): Accept SPARK_Mode=>Auto as
363 configuration pragma.
364 (Get_SPARK_Mode): Make the value for Auto explicit.
365 * snames.ads-tmpl (Name_Auto): Add name.
367 2022-09-12 Joffrey Huguet <huguet@adacore.com>
369 * doc/gnat_rm/the_gnat_library.rst: Remove paragraphs about SPARK
371 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
373 2022-09-12 Yannick Moy <moy@adacore.com>
375 * libgnat/s-maccod.ads: Mark package as SPARK_Mode Off.
377 2022-09-12 Eric Botcazou <ebotcazou@adacore.com>
379 * fe.h (Unnest_Subprogram_Mode): Declare.
381 2022-09-12 Steve Baird <baird@adacore.com>
384 (Analyze_Package_Contract): Do not analyze the contract of a
385 temporary package created just to check conformance of an actual
388 2022-09-12 Joffrey Huguet <huguet@adacore.com>
390 * Makefile.rtl: Remove SPARK containers filenames.
391 * impunit.adb: Remove SPARK containers packages names.
392 * libgnat/a-cfdlli.adb, libgnat/a-cfdlli.ads: Remove content and
393 add pragma Compile_Time_Error with suitable message.
394 * libgnat/a-cfhama.adb, libgnat/a-cfhama.ads: Likewise.
395 * libgnat/a-cfhase.adb, libgnat/a-cfhase.ads: Likewise.
396 * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Likewise.
397 * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Likewise.
398 * libgnat/a-cfinve.adb, libgnat/a-cfinve.ads: Likewise.
399 * libgnat/a-cforma.adb, libgnat/a-cforma.ads: Likewise.
400 * libgnat/a-cforse.adb, libgnat/a-cforse.ads: Likewise.
401 * libgnat/a-cofove.adb, libgnat/a-cofove.ads: Likewise.
402 * libgnat/a-cofuma.adb, libgnat/a-cofuma.ads: Likewise.
403 * libgnat/a-cofuse.adb, libgnat/a-cofuse.ads: Likewise.
404 * libgnat/a-cofuve.adb, libgnat/a-cofuve.ads: Likewise.
405 * libgnat/a-cofuba.adb, libgnat/a-cofuba.ads: Remove package.
407 2022-09-12 Piotr Trojanek <trojanek@adacore.com>
409 * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
410 Adapt to object declaration being rewritten into object renaming.
412 2022-09-12 Justin Squirek <squirek@adacore.com>
414 * contracts.adb, contracts.ads
415 (Analyze_Pragmas_In_Declarations): Added to aid in the new
416 expansion model so that pragmas relating to contracts can get
417 processed early before the rest of the subprogram containing them.
418 (Build_Subprogram_Contract_Wrapper): Created to do the majority of
419 expansion for postconditions. It builds a local wrapper with the
420 statements and declarations within a given subprogram.
421 (Is_Prologue_Renaming): Moved out from Process_Preconditions to be
422 used generally within the contracts package.
423 (Build_Entry_Contract_Wrapper): Moved from exp_ch7.
424 (Expand_Subprogram_Contract): Add new local variable Decls to
425 store expanded declarations needed for evaluation of contracts.
426 Call new wrapper building procedure and modify comments to match
428 (Get_Postcond_Enabled): Deleted.
429 (Get_Result_Object_For_Postcond): Deleted.
430 (Get_Return_Success_For_Postcond): Deleted.
431 (Process_Contract_Cases): Add new parameter to store declarations.
432 (Process_Postconditions): Add new parameter to store declarations.
433 (Process_Preconditions): Add new parameter to store declarations.
434 Add code to move entry-call prologue renamings
435 * einfo.ads: Document new field Wrapped_Statements and modify
436 comment for Postconditions_Proc.
438 (Analyze_Attribute): Modify expansion of the 'Old attribute to
439 recognize new expansion model and use Wrapped_Statements instead
440 of Postconditions_Proc.
442 (Add_Return): Remove special expansion for postconditions.
443 (Expand_Call): Modify condition checking for calls to access
444 subprogram wrappers to handle new expansion models.
445 (Expand_Call_Helper): Remove special expansion for postconditions.
446 (Expand_Non_Function_Return): Remove special expansion for
448 (Expand_Simple_Function_Return): Remove special expansion for
451 (Build_Finalizer): Deleted, but replaced by code in
452 Build_Finalizer_Helper
453 (Build_Finalizer_Helper): Renamed to Build_Finalizer, and special
454 handling of 'Old objects removed.
456 (Build_Contract_Wrapper): Renamed and moved to contracts package.
458 (Expand_Pragma_Contract_Cases): Delay analysis of contracts since
459 they now instead get analyzed as part of the wrapper generation
460 instead of after analysis of their corresponding subprogram's
462 (Expand_Pragma_Check): Label expanded if-statements which come
463 from the expansion of assertion statements as
464 Comes_From_Check_Or_Contract.
466 (Freeze_Entity): Add special case to avoid freezing when a freeze
467 node gets generated as part of the expansion of a postcondition
469 * gen_il-gen-gen_nodes.adb: Add new flag
470 Comes_From_Check_Or_Contract.
471 * gen_il-fields.ads: Add new field Wrapped_Statements. Add new
472 flag Comes_From_Check_Or_Contract.
473 * gen_il-gen-gen_entities.adb: Add new field Wrapped_Statements.
475 (Is_OK_Declaration): Replace Name_uPostconditions with
476 Name_uWrapped_Statements.
477 (Is_OK_Statement): Simplify condition due to the loss of
478 Original_Node as a result of the new expansion model of contracts
479 and use new flag Comes_From_Check_Or_Contract in its place.
481 (Declare_Postconditions_Result): Replace Name_uPostconditions with
482 Name_uWrapped_Statements.
483 (Expand_Inlined_Call): Replace Name_uPostconditions with
484 Name_uWrapped_Statements.
486 (ipu): Created to aid in debugging.
488 (Generate_References): Remove special handling for postcondition
491 (Analyze_Attribute_Old_Result): Add new context in which 'Old can
492 appear due to the changes in expansion. Replace
493 Name_uPostconditions with Name_uWrapped_Statements.
494 (Result): Replace Name_uPostconditions with
495 Name_uWrapped_Statements.
497 (Analyze_Handled_Statements): Remove check to exclude warnings on
498 useless assignments within postcondition procedures since
499 postconditions no longer get isolated into separate subprograms.
501 (Analyze_Generic_Subprogram_Body): Modify expansion of generic
502 subprogram bodies so that contracts (and their associated pragmas)
504 (Analyze_Subprogram_Body_Helper): Remove global HSS variable due
505 to the HSS of the body potentially changing during the expansion
506 of contracts. In cases where it was used instead directly call
507 Handled_Statement_Sequence. Modify expansion of subprogram bodies
508 so that contracts (and their associated pragmas) get analyzed
510 (Check_Missing_Return): Create local HSS variable instead of using
512 (Move_Pragmas): Use new pragma table instead of an explicit list.
514 (Is_Postconditions_Proc): Deleted since the new scheme of
515 expansion no longer divides postcondition checks to a separate
516 subprogram and so cannot be easily identified (similar to
517 pre-condition checks).
518 (Info_Call): Remove info printing for _Postconditions subprograms.
519 (Is_Assertion_Pragma_Target): Remove check for postconditions
521 (Is_Bridge_Target): Remove check for postconditions procedure.
522 (Get_Invocation_Attributes): Remove unneeded local variables and
523 check for postconditions procedure.
524 (Output_Call): Remove info printing for _Postconditions
526 * sem_prag.adb, sem_prag.ads: Add new Pragma table for pragmas
527 significant to subprograms, along with tech-debt comment.
528 (Check_Arg_Is_Local_Name): Modified to recognize the new
529 _Wrapped_Statements internal subprogram and the new expansion
531 (Relocate_Pragmas_To_Body): Replace Name_uPostconditions with
532 Name_uWrapped_Statements.
534 (Resolve_Entry_Call): Add conditional to detect both contract
535 based wrappers of entries, but also wrappers generated as part of
536 general contract expansion (e.g. local postconditions
539 (Accessibility_Level): Verify 'Access is not taken based on a
540 component of a function result.
541 (Has_Significant_Contracts): Replace Name_uPostconditions with
542 Name_uWrapped_Statements.
543 (Same_Or_Aliased_Subprogram): Add conditional to detect and obtain
544 the original subprogram based on the new concept of
545 "postcondition" wrappers.
546 * sinfo.ads: Add documentation for new flag
547 Comes_From_Check_Or_Contract.
548 * snames.ads-tmpl: Remove Name_uPostconditions and add
549 Name_uWrapped_Statements
551 2022-09-12 Eric Botcazou <ebotcazou@adacore.com>
553 * exp_unst.adb (Unnest_Subprograms.Search_Subprograms): Skip the
554 subprogram bodies that are not to be unnested.
556 2022-09-12 Steve Baird <baird@adacore.com>
559 (Resolve_Array_Aggregate): Generate an appropriate error message
560 in the case where an error in the source code leads to an
561 N_Iterated_Element_Association node in a bad context.
563 2022-09-12 Steve Baird <baird@adacore.com>
566 (Analyze_Selected_Component): Initialize the local variable Comp
567 to avoid having CodePeer generate an uninitialized variable
570 2022-09-12 Steve Baird <baird@adacore.com>
573 (Analyze_Selected_Component): Avoid initializing the local
574 variable Comp if the variable is not going to be subsequently
575 referenced. This is a correctness issue because the call to
576 First_Entity can fail.
578 2022-09-12 Steve Baird <baird@adacore.com>
581 (Satisfies_Lock_Free_Requirements): If Ceiling_Locking locking
582 policy has been specified, then either return False (if Lock_Free
583 was not explicitly specified) or generate a warning that ceiling
584 locking will not be implemented for this protected unit (if
585 Lock_Free was explicitly specified). Generate an error message (in
586 addition to returning False) if an explicit Lock_Free aspect
587 specification is rejected because atomic primitives are not
588 supported on the given target.
589 * doc/gnat_rm/implementation_defined_pragmas.rst: Clarify that the
590 Lock_Free aspect for a protected unit takes precedence over the
591 Ceiling_Locking locking policy in the case where both apply.
592 * gnat_rm.texi: Regenerate.
594 2022-09-12 Eric Botcazou <ebotcazou@adacore.com>
596 * exp_ch9.adb (Build_Protected_Spec): Tidy up and propagate the
597 Comes_From_Source flag onto the new formal parameters.
598 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not check
599 references for subprograms generated for protected subprograms.
601 2022-09-12 Gary Dismukes <dismukes@adacore.com>
604 (Resolve_Equality_Op): Add handling for equality ops with
605 user-defined literal operands.
607 (Is_User_Defined_Literal): Update spec comment to indicate
608 inclusion of named number cases.
610 (Corresponding_Primitive_Op): Rather than following the chain of
611 ancestor subprograms via Alias and Overridden_Operation links, we
612 check for matching profiles between primitive subprograms of the
613 descendant type and the ancestor subprogram (by calling a new
614 nested function Profile_Matches_Ancestor). This prevents the
615 compiler from hanging due to circular linkages via those fields
616 that can occur between inherited and overriding subprograms
617 (which might indicate a latent bug, but one that may be rather
618 delicate to resolve).
619 (Profile_Matches_Ancestor): New nested subprogram to compare the
620 profile of a primitive subprogram with the profile of a candidate
622 (Is_User_Defined_Literal): Also return True in cases where the
623 node N denotes a named number (E_Name_Integer and E_Named_Real).
625 2022-09-12 Steve Baird <baird@adacore.com>
627 * debug.adb: remove a comment.
629 2022-09-12 Bob Duff <duff@adacore.com>
632 (Selected_Length_Checks): In the message for an aggregate that has
633 too few or too many elements, add "!!" to make sure the warning
634 gets printed in with'ed units. Note that we have to put "!!"
635 before the "??", because Compile_Time_Constraint_Error detects
636 warnings by comparing the last character of the message with '?'
637 (which is bit dubious, but we're not changing that here).
638 (Length_Mismatch_Info_Message): Use Unat for some things that
639 can't be negative. Specify Decimal instead of Auto in calls to
642 (Compile_Time_Constraint_Error): Minor.
644 (Image_Uint): It's always better to initialize objects on their
647 2022-09-12 Patrick Bernardi <bernardi@adacore.com>
649 * libgnat/system-vxworks7-x86_64-kernel.ads: Set
650 Support_Atomic_Primitives to false.
651 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Ditto.
653 2022-09-12 Patrick Bernardi <bernardi@adacore.com>
655 * libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to
657 * libgnat/system-vxworks7-aarch64.ads: Ditto.
658 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Ditto.
659 * libgnat/system-vxworks7-arm.ads: Ditto.
660 * libgnat/system-vxworks7-arm-rtp-smp.ads: Ditto.
661 * libgnat/system-vxworks7-x86-kernel.ads: Ditto.
662 * libgnat/system-vxworks7-x86-rtp-smp.ads: Ditto.
664 2022-09-12 Bob Duff <duff@adacore.com>
666 * par-tchk.adb, par-util.adb, prep.adb, prepcomp.adb, scng.adb:
667 Use "in" instead of chains of "=" connected with "or else".
668 Likewise for "not in", "/=", "and then". Misc cleanup.
669 * par-ch10.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb: Likewise.
670 * par-ch8.adb, par-ch9.adb, par-endh.adb, par-sync.adb: Likewise.
672 (Pf_Rec): Remove filler, which was added August 25, 1993 to get
673 around a compiler limitation that no longer exists. Minor cleanup.
674 Remove useless qualfications.
675 * par-ch3.adb: Remove redundant return statements.
676 (Component_Scan_Loop): Remove loop name; there are no nested
677 loops, so it's unnecessary and possibly misleading, and it causes
679 * par-ch5.adb: DRY: Remove comments that repeat the comments in
681 (P_Sequence_Of_Statements): It is better to initialize things on
682 the declaration. And constants are better than variables.
683 (Test_Statement_Required): Remove unnecessary insertion of a null
685 * par-ch6.adb, par-ch7.adb: DRY: Remove comments that repeat the
688 2022-09-12 Javier Miranda <miranda@adacore.com>
691 2022-09-06 Javier Miranda <miranda@adacore.com>
694 (Debug_Flag_Underscore_X): Switch added temporarily to allow
695 disabling extra formal checks.
697 (Expand_N_Attribute_Reference [access types]): Add extra formals
698 to the subprogram referenced in the prefix of 'Unchecked_Access,
699 'Unrestricted_Access or 'Access; required to check that its extra
700 formals match the extra formals of the corresponding subprogram
703 (Stream_Operation_OK): Declaration moved to the public part of the
705 (Validate_Tagged_Type_Extra_Formals): New subprogram.
706 (Expand_Freeze_Record_Type): Improve the code that takes care of
707 adding the extra formals of dispatching primitives; extended to
708 add also the extra formals to renamings of dispatching primitives.
710 (Stream_Operation_OK): Declaration moved from the package body.
712 (Has_BIP_Extra_Formal): Subprogram declaration moved to the public
713 part of the package. In addition, a parameter has been added to
714 disable an assertion that requires its use with frozen entities.
715 (Expand_Call_Helper): Enforce assertion checking extra formals on
717 (Is_Build_In_Place_Function): Return False for entities with
719 (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
720 Is_Return_Object replaced by the local variable
721 Is_OK_Return_Object that evaluates to False for scopes with
723 (Might_Have_Tasks): Fix check of class-wide limited record types.
724 (Needs_BIP_Task_Actuals): Remove assertion to allow calling this
725 function in more contexts; in addition it returns False for
726 functions returning objects with foreign convention.
727 (Needs_BIP_Finalization_Master): Likewise.
728 (Needs_BIP_Alloc_Form): Likewise.
730 (Stream_Operation_OK): Declaration moved from the package body. In
731 addition, a parameter has been added to disable assertion that
732 requires its use with frozen entities.
734 (Check_Itype): Add extra formals to anonymous access subprogram
736 (Freeze_Expression): Improve code that disables the addition of
737 extra formals to functions with foreign convention.
738 (Check_Extra_Formals): Moved to package Sem_Ch6 as
740 (Freeze_Subprogram): Add extra formals to non-dispatching
743 (Access_Subprogram_Declaration): Defer the addition of extra
744 formals to the freezing point so that we know the convention.
745 (Check_Anonymous_Access_Component): Likewise.
746 (Derive_Subprogram): Fix documentation.
748 (Check_Anonymous_Return): Fix check of access to class-wide
749 limited record types.
750 (Check_Untagged_Equality): Placed in alphabetical order.
751 (Extra_Formals_OK): Subprogram moved from freeze.adb.
752 (Extra_Formals_Match_OK): New subprogram.
753 (Has_BIP_Formals): New subprogram.
754 (Has_Extra_Formals): New subprograms.
755 (Needs_Accessibility_Check_Extra): New subprogram.
756 (Needs_Constrained_Extra): New subprogram.
757 (Parent_Subprogram): New subprogram.
758 (Add_Extra_Formal): Minor code cleanup.
759 (Create_Extra_Formals): Enforce matching extra formals on
760 overridden and aliased entities.
761 (Has_Reliable_Extra_Formals): New subprogram.
763 (Extra_Formals_OK): Subprogram moved from freeze.adb.
764 (Extra_Formals_Match_OK): New subprogram.
766 (Compile_Time_Known_Value): Improve predicate to avoid assertion
767 failure; found working on this ticket; this change does not affect
768 the behavior of the compiler because this subprogram has an
769 exception handler that returns False when the assertion fails.
771 (Needs_Result_Accessibility_Level): Do not return False for
772 dispatching operations compiled with Ada_Version < 2012 since they
773 they may be overridden by primitives compiled with Ada_Version >=
776 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
778 * gcc-interface/decl.cc (gnat_to_gnu_param): Set DECL_ARTIFICIAL.
780 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
782 * gcc-interface/trans.cc (At_End_Proc_to_gnu): Use the End_Label of
783 the child Handled_Statement_Sequence for body nodes.
784 (set_end_locus_from_node): Minor tweaks.
786 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
788 * gcc-interface/trans.cc (Full_View_Of_Private_Constant): New
789 function returning the Full_View of a private constant, after
790 looking through a chain of renamings, if any.
791 (Identifier_to_gnu): Call it on the entity. Small cleanup.
793 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
795 * gcc-interface/utils.cc (gnat_pushdecl): Preserve named
796 TYPE_DECLs consistently for all kind of pointer types.
798 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
800 * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Divide>: Report a
801 violation of No_Dependence on System.GCC if the result type is
803 <N_Op_Shift>: Likewise.
804 <N_Op_Mod>: Likewise.
805 <N_Op_Rem>: Likewise.
806 (convert_with_check): Report a violation of No_Dependence on
807 System.GCC for a conversion between an integer type larger than
808 a word and a floating-point type.
810 2022-09-06 Steve Baird <baird@adacore.com>
813 (Allows_Lock_Free_Implementation): Return False if
814 Support_Atomic_Primitives is False.
816 2022-09-06 Steve Baird <baird@adacore.com>
818 * debug.adb: Remove comment regarding the -gnatd9 switch.
819 * doc/gnat_rm/implementation_defined_attributes.rst: Remove all
820 mention of the Lock_Free attribute.
821 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
822 * exp_attr.adb, sem_attr.adb: Remove all mention of the former
823 Attribute_Lock_Free enumeration element of the Attribute_Id type.
825 (Allows_Lock_Free_Implementation): Remove the Debug_Flag_9 test.
826 Return False in the case of a protected function whose result type
827 requires use of the secondary stack.
828 (Satisfies_Lock_Free_Requirements): This functions checks for
829 certain constructs and returns False if one is found. In the case
830 of a protected function, there is no need to check to see if the
831 protected object is being modified. So it is ok to omit *some*
832 checks in the case of a protected function. But other checks which
833 are required (e.g., the test for a reference to a variable that is
834 not part of the protected object) were being incorrectly omitted.
835 This could result in accepting "Lock_Free => True" aspect
836 specifications that should be rejected.
837 * snames.adb-tmpl: Name_Lock_Free no longer requires special
838 treatment in Get_Pragma_Id or Is_Pragma_Name (because it is no
839 longer an attribute name).
840 * snames.ads-tmpl: Move the declaration of Name_Lock_Free to
841 reflect the fact that it is no longer the name of an attribute.
842 Delete Attribute_Lock_Free from the Attribute_Id enumeration type.
844 2022-09-06 Steve Baird <baird@adacore.com>
846 * libgnat/a-coorse.ads: Restore Aggregate aspect specification for
849 2022-09-06 Marc Poulhiès <poulhies@adacore.com>
851 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add
852 Alignment_Param in the formal list for calls to SS_Allocate.
854 2022-09-06 Piotr Trojanek <trojanek@adacore.com>
856 * inline.adb (Process_Formals): Preserve Has_Private_View flag while
857 rewriting formal into actual parameters.
859 2022-09-06 Javier Miranda <miranda@adacore.com>
862 (Debug_Flag_Underscore_X): Switch added temporarily to allow
863 disabling extra formal checks.
865 (Expand_N_Attribute_Reference [access types]): Add extra formals
866 to the subprogram referenced in the prefix of 'Unchecked_Access,
867 'Unrestricted_Access or 'Access; required to check that its extra
868 formals match the extra formals of the corresponding subprogram
871 (Stream_Operation_OK): Declaration moved to the public part of the
873 (Validate_Tagged_Type_Extra_Formals): New subprogram.
874 (Expand_Freeze_Record_Type): Improve the code that takes care of
875 adding the extra formals of dispatching primitives; extended to
876 add also the extra formals to renamings of dispatching primitives.
878 (Stream_Operation_OK): Declaration moved from the package body.
880 (Has_BIP_Extra_Formal): Subprogram declaration moved to the public
881 part of the package. In addition, a parameter has been added to
882 disable an assertion that requires its use with frozen entities.
883 (Expand_Call_Helper): Enforce assertion checking extra formals on
885 (Is_Build_In_Place_Function): Return False for entities with
887 (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
888 Is_Return_Object replaced by the local variable
889 Is_OK_Return_Object that evaluates to False for scopes with
891 (Might_Have_Tasks): Fix check of class-wide limited record types.
892 (Needs_BIP_Task_Actuals): Remove assertion to allow calling this
893 function in more contexts; in addition it returns False for
894 functions returning objects with foreign convention.
895 (Needs_BIP_Finalization_Master): Likewise.
896 (Needs_BIP_Alloc_Form): Likewise.
898 (Stream_Operation_OK): Declaration moved from the package body. In
899 addition, a parameter has been added to disable assertion that
900 requires its use with frozen entities.
902 (Check_Itype): Add extra formals to anonymous access subprogram
904 (Freeze_Expression): Improve code that disables the addition of
905 extra formals to functions with foreign convention.
906 (Check_Extra_Formals): Moved to package Sem_Ch6 as
908 (Freeze_Subprogram): Add extra formals to non-dispatching
911 (Access_Subprogram_Declaration): Defer the addition of extra
912 formals to the freezing point so that we know the convention.
913 (Check_Anonymous_Access_Component): Likewise.
914 (Derive_Subprogram): Fix documentation.
916 (Check_Anonymous_Return): Fix check of access to class-wide
917 limited record types.
918 (Check_Untagged_Equality): Placed in alphabetical order.
919 (Extra_Formals_OK): Subprogram moved from freeze.adb.
920 (Extra_Formals_Match_OK): New subprogram.
921 (Has_BIP_Formals): New subprogram.
922 (Has_Extra_Formals): New subprograms.
923 (Needs_Accessibility_Check_Extra): New subprogram.
924 (Needs_Constrained_Extra): New subprogram.
925 (Parent_Subprogram): New subprogram.
926 (Add_Extra_Formal): Minor code cleanup.
927 (Create_Extra_Formals): Enforce matching extra formals on
928 overridden and aliased entities.
929 (Has_Reliable_Extra_Formals): New subprogram.
931 (Extra_Formals_OK): Subprogram moved from freeze.adb.
932 (Extra_Formals_Match_OK): New subprogram.
934 (Compile_Time_Known_Value): Improve predicate to avoid assertion
935 failure; found working on this ticket; this change does not affect
936 the behavior of the compiler because this subprogram has an
937 exception handler that returns False when the assertion fails.
939 (Needs_Result_Accessibility_Level): Do not return False for
940 dispatching operations compiled with Ada_Version < 2012 since they
941 they may be overridden by primitives compiled with Ada_Version >=
944 2022-09-06 Arnaud Charlet <charlet@adacore.com>
946 * exp_ch4.adb (Expand_N_If_Expression): Disable optimization
949 2022-09-06 Javier Miranda <miranda@adacore.com>
952 (Analyze_Pre_Post_Condition_In_Decl_Part): Improve check to report
953 an error in non-legal class-wide conditions.
955 2022-09-06 Steve Baird <baird@adacore.com>
957 * libgnat/a-strsup.adb, libgnat/a-stwisu.adb, libgnat/a-stzsup.adb
958 (Super_Slice function and procedure): fix slice length computation.
960 2022-09-06 Steve Baird <baird@adacore.com>
962 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
963 Improve -gnatVa, -gnatVc, -gnatVd, -gnatVe, -gnatVf, -gnatVo,
964 -gnatVp, -gnatVr, and -gnatVs switch descriptions.
965 * gnat_ugn.texi: Regenerate.
967 2022-09-06 Justin Squirek <squirek@adacore.com>
970 (Visit_Node): Add N_Block_Statement to the enclosing construct
971 case since they can now have "At end" procedures. Also, recognize
972 calls from "At end" procedures when recording subprograms.
974 2022-09-06 Piotr Trojanek <trojanek@adacore.com>
976 * inline.adb (Replace_Formal): Fix name of the referenced routine.
978 2022-09-06 Piotr Trojanek <trojanek@adacore.com>
980 * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
981 Remove unnecessary local constant that was shadowing another
982 constant with the same initial value.
984 2022-09-06 Julien Bortolussi <bortolussi@adacore.com>
986 * libgnat/a-cforse.ads (Replace): Fix the postcondition.
988 2022-09-06 Steve Baird <baird@adacore.com>
991 (Attribute_Valid): Ensure that PBtyp is initialized to a value for
992 which Is_Scalar_Type is True.
994 (Determine_Range): Call Implemention_Base_Type instead of
995 Base_Type in order to ensure that result is suitable for passing
998 2022-09-06 Bob Duff <duff@adacore.com>
999 Eric Botcazou <ebotcazou@adacore.com>
1002 (First_Real_Statement): Remove this field.
1003 * gen_il-gen-gen_nodes.adb: Remove the First_Real_Statement field.
1004 Add the At_End_Proc field to nodes that have both Declarations and
1007 (At_End_Proc): Document new semantics.
1008 (First_Real_Statement): Remove comment.
1010 (Expand_N_Handled_Sequence_Of_Statements): Remove
1011 First_Real_Statement.
1013 (Build_Cleanup_Statements): Remove "Historical note"; it doesn't
1014 seem useful, and we have revision history.
1015 (Create_Finalizer): Insert the finalizer later, typically in the
1016 statement list, in some cases.
1017 (Build_Finalizer_Call): Attach the "at end" handler to the parent
1018 of the HSS node in most cases, so it applies to declarations.
1019 (Expand_Cleanup_Actions): Remove Wrap_HSS_In_Block and the call to
1020 it. Remove the code that moves declarations. Remove some redundant
1023 (Build_Protected_Entry): Copy the At_End_Proc.
1024 (Build_Protected_Subprogram_Body): Reverse the sense of Exc_Safe,
1025 to avoid double negatives. Remove "Historical note" as in
1027 (Build_Unprotected_Subprogram_Body): Copy the At_End_Proc from the
1029 (Expand_N_Conditional_Entry_Call): Use First (Statements(...))
1030 instead of First_Real_Statement(...).
1031 (Expand_N_Task_Body): Put the Abort_Undefer call at the beginning
1032 of the declarations, rather than in the HSS. Use First
1033 (Statements(...)) instead of First_Real_Statement(...). Copy the
1036 (Has_Initialized_Type): Return False if the declaration does not
1038 * libgnarl/s-tpoben.ads
1039 (Lock_Entries, Lock_Entries_With_Status): Document when these
1040 things raise Program_Error. It's not clear that
1041 Lock_Entries_With_Status ought to be raising exceptions, but at
1042 least it's documented now.
1043 * sem.ads: Minor comment fixes.
1045 (Analyze_Subprogram_Body_Helper): Use First (Statements(...))
1046 instead of First_Real_Statement(...).
1047 (Analyze_Null_Procedure): Minor comment fix.
1049 (Might_Raise): Return True for N_Raise_Expression. Adjust the part
1050 about exceptions generated by the back end to match the reality of
1051 what the back end generates.
1052 (Update_First_Real_Statement): Remove.
1053 * sem_util.ads: Remove First_Real_Statement from comment.
1055 (First_Real_Statement): New function that always returns Empty.
1056 This should be removed once gnat-llvm and codepeer have been
1057 updated to not refer to First_Real_Statement.
1059 (Sprint_At_End_Proc): Deal with printing At_End_Proc.
1060 * sem_prag.adb: Minor comment fixes.
1061 * gcc-interface/trans.cc (At_End_Proc_to_gnu): New function.
1062 (Subprogram_Body_to_gnu): Call it to handle an At_End_Proc.
1063 (Handled_Sequence_Of_Statements_to_gnu): Likewise. Remove the
1064 support for First_Real_Statement and clean up the rest.
1065 (Exception_Handler_to_gnu): Do not push binding levels.
1066 (Compilation_Unit_to_gnu): Adjust call to process_decls.
1067 (gnat_to_gnu) <N_Package_Specification>: Likewise. <N_Entry_Body>:
1068 Likewise. <N_Freeze_Entity>: Likewise. <N_Block_Statement>:
1069 Likewise and call At_End_Proc_to_gnu to handle an At_End_Proc.
1070 <N_Package_Body>: Likewise.
1071 (process_decls): Remove GNAT_END_LIST parameter and adjust
1074 2022-09-06 Steve Baird <baird@adacore.com>
1076 * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
1077 temporary rule that a "when others =>" case choice must be given
1078 when casing on a composite selector.
1079 * gnat_rm.texi: Regenerate.
1081 2022-09-06 Steve Baird <baird@adacore.com>
1083 * sem_case.adb: Define a new Boolean constant,
1084 Simplified_Composite_Coverage_Rules, initialized to True. Setting
1085 this constant to True has two effects: 1- Representative value
1086 sets are not fully initialized - this is done to avoid capacity
1087 problems, as well as for performance. 2- In
1088 Check_Case_Pattern_Choices, the only legality check performed is a
1089 check that a "when others =>" choice is present.
1091 2022-09-06 Piotr Trojanek <trojanek@adacore.com>
1093 * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix error
1096 2022-09-06 Steve Baird <baird@adacore.com>
1099 (Make_Range_Test): In determining which subtype's First and Last
1100 attributes are to be queried as part of a range test, call
1101 Validated_View in order to get a scalar (as opposed to private)
1103 (Attribute_Valid): In determining whether to perform a signed or
1104 unsigned comparison for a range test, call Validated_View in order
1105 to get a scalar (as opposed to private) type. Also correct a typo
1106 which, by itself, is the source of the problem reported for this
1109 2022-09-06 Steve Baird <baird@adacore.com>
1112 (Analyze_Selected_Component): Define new Boolean-valued function,
1113 Constraint_Has_Unprefixed_Discriminant_Reference, which takes a
1114 subtype that is subject to a discriminant-dependent constraint and
1115 returns True if any of the constraint values are unprefixed
1116 discriminant names. Usually, the Etype of a selected component
1117 node is set to Etype of the component. However, in the case of an
1118 access-to-array component for which this predicate returns True,
1119 we instead use the base type of the Etype of the component.
1120 Normally such problematic discriminant references are addressed by
1121 calling Build_Actual_Subtype_Of_Component, but that doesn't work
1122 if Full_Analyze is False.
1124 2022-09-06 Piotr Trojanek <trojanek@adacore.com>
1126 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Include
1127 System.Value_U_Spec and System.Value_I_Spec units.
1129 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
1131 * libgnat/s-powflt.ads (Powfive): New constant array.
1132 * libgnat/s-powlfl.ads (Powfive): Likewise.
1133 (Powfive_100): New constant.
1134 (Powfive_200): Likewise.
1135 (Powfive_300): Likewise.
1136 * libgnat/s-powllf.ads (Powfive): New constant array.
1137 (Powfive_100): New constant.
1138 (Powfive_200): Likewise.
1139 (Powfive_300): Likewise.
1140 * libgnat/s-valflt.ads (Impl): Replace Powten with Powfive and pass
1141 Null_Address for the address of large constants.
1142 * libgnat/s-vallfl.ads (Impl): Replace Powten with Powfive and pass
1143 the address of large constants.
1144 * libgnat/s-valllf.ads (Impl): Likewise.
1145 * libgnat/s-valrea.ads (System.Val_Real): Replace Powten_Address
1146 with Powfive_Address and add Powfive_{1,2,3}00_Address parameters.
1147 * libgnat/s-valrea.adb (Is_Large_Type): New boolean constant.
1148 (Is_Very_Large_Type): Likewise.
1149 (Maxexp32): Change value of 10 to that of 5.
1150 (Maxexp64): Likewise.
1151 (Maxexp80): Likewise.
1152 (Integer_to_Real): Use a combination of tables of powers of 5 and
1153 scaling if the base is 10.
1154 (Large_Powten): Rename into...
1155 (Large_Powfive): ...this. Add support for large constants.
1156 (Large_Powfive): New overloaded function for very large exponents.
1158 2022-09-06 Piotr Trojanek <trojanek@adacore.com>
1160 * doc/gnat_rm/implementation_defined_aspects.rst
1161 (Aspect Iterable): Include Last and Previous primitives in
1162 syntactic and semantic description.
1164 (Expand_N_Attribute_Reference): Don't expect attributes like
1165 Iterable that can only appear in attribute definition clauses.
1167 (Analyze_Attribute_Definition_Clause): Prevent crash on
1168 non-aggregate Iterable attribute; improve basic diagnosis of
1170 (Resolve_Iterable_Operation): Improve checks for illegal
1171 primitives in aspect Iterable, e.g. with wrong number of formal
1173 (Validate_Iterable_Aspect): Prevent crashes on syntactically
1174 illegal aspect expression.
1176 (Get_Cursor_Type): Fix style.
1177 * gnat_ugn.texi, gnat_rm.texi: Regenerate.
1179 2022-09-06 Eric Botcazou <ebotcazou@adacore.com>
1181 * libgnat/s-valuer.ads (System.Value_R): Add Parts formal parameter
1182 as well as Data_Index, Scale_Array and Value_Array types.
1183 (Scan_Raw_Real): Change type of Scale and return type.
1184 (Value_Raw_Real): Likewise.
1185 * libgnat/s-valuer.adb (Round_Extra): Reorder parameters and adjust
1187 (Scan_Decimal_Digits): Reorder parameters, add N parameter and deal
1188 with multi-part scale and value.
1189 (Scan_Integral_Digits): Likewise.
1190 (Scan_Raw_Real): Change type of Scale and return type and deal with
1191 multi-part scale and value.
1192 (Value_Raw_Real): Change type of Scale and return type and tidy up.
1193 * libgnat/s-valued.adb (Impl): Pass 1 as Parts actual parameter.
1194 (Scan_Decimal): Adjust to type changes.
1195 (Value_Decimal): Likewise.
1196 * libgnat/s-valuef.adb (Impl): Pass 1 as Parts actual parameter.
1197 (Scan_Fixed): Adjust to type changes.
1198 (Value_Fixed): Likewise.
1199 * libgnat/s-valrea.adb (Need_Extra): Delete.
1200 (Precision_Limit): Always use the precision of the mantissa.
1201 (Impl): Pass 2 as Parts actual parameter.
1202 (Exact_Log2): New expression function.
1203 (Integer_to_Real): Change type of Scale and Val and deal with a
1204 2-part integer mantissa.
1205 (Scan_Real): Adjust to type changes.
1206 (Value_Real): Likewise.
1208 2022-09-05 Martin Liska <mliska@suse.cz>
1210 * sigtramp-vxworks-target.h: Rename DBX_REGISTER_NUMBER to
1213 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1215 * exp_aggr.adb (Check_Bounds): Move code and comment related to
1216 check for null array aggregate from Resolve_Null_Array_Aggregate.
1217 * sem_aggr.ads (Is_Null_Aggregate): Move spec from unit body.
1218 * sem_aggr.adb (Resolve_Null_Array_Aggregate): Move check to
1221 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1224 (Array_Aggr_Subtype): Bypass call to Collect_Aggr_Bound with
1225 dedicated code for null array aggregates.
1226 (Resolve_Array_Aggregate): Remove special handling of null array
1228 (Resolve_Array_Aggregate): Create bounds, but let
1229 Array_Aggr_Subtype create itype entities.
1231 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1233 * sem_aggr.adb (Resolve_Null_Array_Aggregate): Insert check as a
1234 Raise_Constraint_Error node and not an If_Statement.
1236 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1239 (Resolve_Container_Aggregate): Style cleanup.
1240 (Resolve_Record_Aggregate): Remove redundant guard.
1242 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1244 * exp_util.ads (Entry_Names_OK): Remove spec.
1245 * exp_util.adb (Entry_Names_OK): Remove body.
1247 2022-09-05 Steve Baird <baird@adacore.com>
1249 * libgnat/a-coinve.adb, libgnat/a-convec.adb
1250 (Append): If the Append that takes an Element and a Count is
1251 called with Count = 1, then call the Append that does not take a
1252 Count parameter; otherwise call the code that handles the general
1253 case. Move the special case detection/handling code that was
1254 formerly in that version of Append into the version that does not
1255 take a Count parameter, so that now both versions get the
1256 performance benefit.
1258 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1260 * sem_aggr.adb (Resolve_Null_Array_Aggregate): Create internal
1261 type for the aggregate as an itype.
1263 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1265 * sem_util.ads (Itype_Has_Declaration): Remove spec.
1266 * sem_util.adb (Itype_Has_Declaration): Remove body.
1268 2022-09-05 Steve Baird <baird@adacore.com>
1271 (Expand_N_Object_Declaration): In deciding whether to emit a DIC
1272 check, we were previously testing the Has_Init_Expression flag.
1273 Continue to test that flag as before, but add a test for the
1274 syntactic presence of an initial value in the object declaration.
1275 This new test would not supersede the old test in the case where
1276 an explicit initial value has been eliminated as part of some tree
1279 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1281 * sem_ch13.adb (Validate_Unchecked_Conversions): Use
1283 * sem_elab.adb (Check_Internal_Call_Continue): Likewise.
1285 2022-09-05 Eric Botcazou <ebotcazou@adacore.com>
1287 * libgnat/s-valuer.adb (Scan_Decimal_Digits): Consistently avoid
1288 initializing local variables.
1289 (Scan_Integral_Digits): Likewise.
1290 (Scan_Raw_Real): Likewise and add a couple of comments.
1292 2022-09-05 Eric Botcazou <ebotcazou@adacore.com>
1294 * sem_ch13.adb (Freeze_Entity_Checks): Build predicate functions
1295 only after checking the variant part of a record type, if any.
1297 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1300 (Two_Pass_Aggregate_Expansion): Expand into implicit rather than
1301 ordinary loops, to detect violations of restriction
1303 (Generate_Loop): Likewise for delta array aggregates.
1305 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1307 * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Expand iterated
1308 component association with an unanalyzed copy of iterated
1309 expression. The previous code worked only because the expanded
1310 loop used both an analyzed copy of the iterator_specification and
1311 an analyzed copy of the iterated expression. Now the iterated
1312 expression is reanalyzed in the context of the expanded loop.
1313 * par-ch4.adb (Build_Iterated_Component_Association): Don't set
1314 defining identifier when iterator specification is present.
1315 * sem_aggr.adb (Resolve_Iterated_Association): Pick index name
1316 from the iterator specification.
1317 * sem_elab.adb (Traverse_Potential_Scenario): Handle iterated
1318 element association just like iterated component association. Not
1319 strictly part of this fix, but still worth for the completeness.
1320 * sem_res.adb (Resolve): Pick index name from the iterator
1321 specification, when present.
1322 * sem_util.adb (Traverse_More): For completeness, just like the
1323 change in Traverse_Potential_Scenario.
1325 (ITERATED_COMPONENT_ASSOCIATION): Fix and complete description.
1326 (ITERATED_ELEMENT_ASSOCIATION): Likewise.
1328 2022-09-05 Bob Duff <duff@adacore.com>
1331 (Analyze_Subprogram_Body_Helper): Use First_Real_Statement to deal
1332 with this case. Note that First_Real_Statement is likely to be
1333 removed as part of this ticket, so this is a temporary fix.
1335 2022-09-05 Arnaud Charlet <charlet@adacore.com>
1337 * ali.adb (Scan_ALI): Special case i-c*.ali when setting
1340 2022-09-05 Bob Duff <duff@adacore.com>
1343 (P_Sequence_Of_Statements): Call Error_Msg_GNAT_Extension to give
1346 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1348 * sem_aggr.adb (Resolve_Iterated_Component_Association): Split
1349 processing of cases with and without iterator specification; reuse
1350 analysis of iterator specification; improve diagnostics for
1351 premature usage of iterator index in discrete choices.
1353 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1355 * sem_ch5.adb (Check_Subtype_Definition): Remove redundant call to
1356 Present; style cleanup.
1358 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1360 * sem_aggr.adb (Resolve_Array_Aggregate): Change an inconsistent
1361 use of False into its local equivalent Failure.
1363 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1365 * sem_aggr.adb (Resolve_Iterated_Component_Association): Change
1366 generic name Ent to a more intuitive Scop; rename Remove_Ref to
1367 Remove_Reference, so it can be instantiated as a traversal routine
1370 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1373 (Is_Empty_Range): Move error reporting to the caller.
1374 (Analyze_Qualified_Expression): Move error reporting from Is_Empty_Range;
1375 add matching call to End_Scope before rewriting and returning.
1377 2022-09-05 Arnaud Charlet <charlet@adacore.com>
1379 * bindgen.adb (Gen_Elab_Calls): Check for Check_Elaboration_Flags.
1380 * bindusg.adb (Display): Add -k.
1381 * opt.ads (Check_Elaboration_Flags): New.
1382 * switch-b.adb (Scan_Binder_Switches): Add processing of -k.
1383 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
1384 documentation for -k and -K.
1385 * gnat_ugn.texi: Regenerate.
1387 2022-09-05 Arnaud Charlet <charlet@adacore.com>
1389 * treepr.adb: Remove local To_Lower and use the procedure
1392 2022-09-05 Eric Botcazou <ebotcazou@adacore.com>
1394 * aspects.ads (Delaying Evaluation of Aspect): Fix typos.
1395 * exp_ch3.adb (Freeze_Type): Do not generate Invariant and DIC
1396 procedures for internal types.
1397 * exp_util.adb (Build_DIC_Procedure_Body): Adjust comment.
1398 * freeze.adb (Freeze_Entity): Call Inherit_Delayed_Rep_Aspects for
1399 subtypes and derived types only after the base or parent type has
1400 been frozen. Remove useless freezing for first subtype.
1401 (Freeze_Fixed_Point_Type): Call Inherit_Delayed_Rep_Aspects too.
1402 * layout.adb (Set_Elem_Alignment): Deal with private types.
1403 * sem_ch3.adb (Build_Derived_Enumeration_Type): Build the implicit
1404 base as an itype and do not insert its declaration in the tree.
1405 (Build_Derived_Numeric_Type): Do not freeze the implicit base.
1406 (Derived_Standard_Character): Likewise.
1407 (Constrain_Enumeration): Inherit the chain of representation items
1408 instead of replacing it.
1409 * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): Add ??? comment.
1410 (Inherit_Delayed_Rep_Aspects): Declare.
1411 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not invoke
1412 Inherit_Delayed_Rep_Aspects.
1413 (Inherit_Aspects_At_Freeze_Point): Deal with private types.
1414 (Inherit_Delayed_Rep_Aspects): Move to library level.
1416 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1418 * einfo-utils.adb (Number_Entries): Refine type of a local variable.
1419 * exp_attr.adb (Expand_N_Attribute_Reference): Rename Conctyp to
1420 Prottyp; refactor repeated calls to New_Occurrence_Of; replace
1421 Number_Entries with Has_Entries.
1422 * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise; remove Subprg
1423 variable (apparently copy-pasted from expansion of the attribute).
1425 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1427 * exp_attr.adb (Expand_N_Attribute_Reference): Fix detection of the
1428 enclosing protected type and of the enclosing protected subprogram.
1429 * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
1431 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1433 * freeze.adb (Freeze_Itype): Remove excessive guard.
1434 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Likewise.
1436 2022-09-05 Piotr Trojanek <trojanek@adacore.com>
1438 * sprint.adb (Sprint_Node_Actual): Handle iterator_specification within
1439 iterated_component_association and iterator_filter within
1440 iterator_specification.
1442 2022-09-05 Arnaud Charlet <charlet@adacore.com>
1444 * doc/gnat_ugn/gnat_and_program_execution.rst: Fix rest syntax
1445 * gnat_ugn.texi: Regenerate.
1447 2022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1449 * exp_util.adb (Expand_Subtype_From_Expr): Be prepared for rewritten
1450 aggregates as expressions.
1452 2022-09-02 Gary Dismukes <dismukes@adacore.com>
1454 * exp_ch6.adb (Expand_Simple_Function_Return) Bypass creation of an
1455 actual subtype and unchecked conversion to that subtype when the
1456 underlying type of the expression has discriminants without defaults.
1458 2022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1460 * exp_util.adb (Expand_Subtype_From_Expr): Check for the presence
1461 of the Is_Constr_Subt_For_U_Nominal flag instead of the absence
1462 of the Is_Constr_Subt_For_UN_Aliased flag on the subtype of the
1463 expression of an object declaration before reusing this subtype.
1464 * sem_ch3.adb (Analyze_Object_Declaration): Do not incorrectly
1465 set the Is_Constr_Subt_For_UN_Aliased flag on the actual subtype
1466 of an array with definite nominal subtype. Remove useless test.
1468 2022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1470 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
1471 (No_Dependence): Cite implicit dependences on the runtime library.
1472 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
1474 2022-09-02 Claire Dross <dross@adacore.com>
1476 * libgnat/a-strmap.adb: Add variants to simple and while loops.
1477 * libgnat/a-strsea.adb: Idem.
1479 2022-09-02 Claire Dross <dross@adacore.com>
1481 * libgnat/s-expmod.adb (Lemma_Add_Mod): Add new lemma to factor
1482 out a complex sub-proof.
1483 (Exp_Modular): Add assertion to help proof.
1485 2022-09-02 Claire Dross <dross@adacore.com>
1487 * libgnat/s-widthu.adb (Lemma_Euclidean): Lemma to prove the
1488 relation between the quotient/remainder of a division.
1490 2022-09-02 Yannick Moy <moy@adacore.com>
1492 * libgnat/s-aridou.adb: Add or rework ghost code.
1493 * libgnat/s-aridou.ads: Add Big_Positive subtype.
1495 2022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1497 * doc/gnat_ugn/gnat_and_program_execution.rst
1498 (Non-Symbolic Traceback): Update section.
1499 * gnat_rm.texi, gnat_ugn.texi, gnat-style.texi: Regenerate.
1501 2022-09-02 Claire Dross <dross@adacore.com>
1503 * libgnat/a-nbnbig.ads: Add Always_Return annotation.
1504 * libgnat/s-vaispe.ads: New ghost unit for the specification of
1505 System.Value_I. Restore proofs.
1506 * libgnat/s-vauspe.ads: New ghost unit for the specification of
1507 System.Value_U. Restore proofs.
1508 * libgnat/s-valuei.adb: The specification only subprograms are
1509 moved to System.Value_I_Spec. Restore proofs.
1510 * libgnat/s-valueu.adb: The specification only subprograms are
1511 moved to System.Value_U_Spec. Restore proofs.
1512 * libgnat/s-valuti.ads
1513 (Uns_Params): Generic unit used to bundle together the
1514 specification functions of System.Value_U_Spec.
1515 (Int_Params): Generic unit used to bundle together the
1516 specification functions of System.Value_I_Spec.
1517 * libgnat/s-imagef.adb: It is now possible to instantiate the
1518 appropriate specification units instead of creating imported ghost
1520 * libgnat/s-imagei.adb: Update to refactoring of specifications
1522 * libgnat/s-imageu.adb: Likewise.
1523 * libgnat/s-imgint.ads: Ghost parameters are grouped together in a
1525 * libgnat/s-imglli.ads: Likewise.
1526 * libgnat/s-imgllu.ads: Likewise.
1527 * libgnat/s-imgllli.ads: Likewise.
1528 * libgnat/s-imglllu.ads: Likewise.
1529 * libgnat/s-imguns.ads: Likewise.
1530 * libgnat/s-vallli.ads: Likewise.
1531 * libgnat/s-valllli.ads: Likewise.
1532 * libgnat/s-imagei.ads: Likewise.
1533 * libgnat/s-imageu.ads: Likewise.
1534 * libgnat/s-vaispe.adb: Likewise.
1535 * libgnat/s-valint.ads: Likewise.
1536 * libgnat/s-valuei.ads: Likewise.
1537 * libgnat/s-valueu.ads: Likewise.
1538 * libgnat/s-vauspe.adb: Likewise.
1540 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1542 * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix
1543 a couple of minor issues in the commentary.
1545 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1547 * gcc-interface/trans.cc (gigi): Report a violation of No_Dependence
1548 on System.Stack_Checking if Stack_Check_Probes_On_Target is not set
1549 and -fstack-check is specified.
1550 (build_binary_op_trapv): Report violatiosn of No_Dependence on both
1551 System.Arith_64 and System.Arith_128.
1552 (add_decl_expr): If an initialized variable, report a violation of
1553 No_Dependence on System.Memory_Copy for large aggregate types.
1554 (gnat_to_gnu) <N_Op_Eq>: Report a violation
1555 of No_Dependence on System.Memory_Compare for large aggregate types.
1556 <N_Assignment_Statement>! Report a violation of No_Dependence on
1557 System.Memory_Set, System.Memory_Move or else System.Memory_Copy for
1558 large aggregate types.
1559 * gcc-interface/utils2.cc (maybe_wrap_malloc): Report a violation of
1560 No_Dependence on System.Memory.
1561 (maybe_wrap_free): Add GNAT_NODE parameter and report a violation of
1562 No_Dependence on System.Memory.
1563 (build_call_alloc_dealloc): Adjust call to maybe_wrap_free.
1565 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1567 * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not set the debug
1568 type for vector types.
1570 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1572 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>:
1573 Undo questionable renaming.
1575 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1577 * gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case.
1579 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1581 * gcc-interface/trans.cc (gigi): Add one more leading underscore to
1582 name of stack checking function.
1584 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1586 * gcc-interface/decl.cc (Gigi_Cloned_Subtype): New function.
1587 (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call it to get the
1588 cloned subtype, if any.
1589 <E_Floating_Point_Subtype>: Likewise.
1590 <E_Array_Subtype>: Likewise.
1591 <E_Record_Subtype>: Likewise.
1592 <E_Access_Subtype>: Likewise.
1593 Deal with all cloned subtypes on the main path.
1595 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1597 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: Do
1598 not reuse the TYPE_DECL of the base type.
1600 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1602 * gcc-interface/utils.cc (gnat_pushdecl): Build DECL_ORIGINAL_TYPE
1603 only for pointer types.
1605 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1607 * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Also accept
1608 pointer-to-function types that are not variant of each other.
1610 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1612 * gcc-interface/utils.cc (unchecked_convert): Also pad in most cases
1613 if the source is not a scalar type but the destination is.
1615 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1617 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Save
1618 and restore the alias set of the dummy pointer-to-array type.
1620 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1622 * snames.ads-tmpl (Name_Memory_Compare): New package name.
1623 (Name_Memory_Copy): Likewise.
1624 (Name_Memory_Move): Likewise.
1625 (Name_Memory_Set): Likewise.
1627 2022-07-13 Gary Dismukes <dismukes@adacore.com>
1629 * sem_ch13.adb (Check_And_Resolve_Storage_Model_Type_Argument):
1630 Call the System.Case_Util.To_Mixed procedure rather than the
1631 function, to avoid bootstrap problems.
1633 2022-07-13 Gary Dismukes <dismukes@adacore.com>
1635 * aspects.ads (Aspect_Argument): Change the association for
1636 Aspect_Storage_Model_Type from Expression to
1637 Optional_Expression.
1638 * exp_util.ads (Find_Storage_Op): Update comment to indicate
1639 that Empty can be returned in the case where a storage-model
1640 operation is defaulted.
1641 * exp_util.adb (Find_Storage_Op): Allow the function to return
1642 Empty in Storage_Model_Type case rather than raising
1643 Program_Error, so that Procedure_To_Call fields in N_Allocator
1644 and N_Free_Statement nodes will be set to Empty in the defaulted
1645 native storage-model case.
1646 * sem_ch13.adb: Add with and use of System.Case_Util (and
1647 reformat context_clause).
1648 (Check_Aspect_At_Freeze_Point): Return with no action for a
1649 Storage_Model_Type aspect with no expression (fully-defaulted
1650 native memory-model case).
1651 (Resolve_Storage_Model_Type_Argument): If an Address_Type has
1652 not been explicitly specified, then set Addr_Type to denote type
1654 (Validate_Storage_Model_Type_Aspect): Return immediately in the
1655 case where the aspect has no Expression (fully-defaulted native
1656 memory-model case). No longer issue an error when Address_Type
1657 isn't specified, and instead use type System.Address as the
1658 default address type. When the address type is
1659 System.Address (whether specified or defaulted), no longer issue
1660 errors for any other "subaspects" that aren't specified, since
1661 in that case those are allowed to default as well. Remove ???
1662 comment about needing to check for duplicates, which is now
1664 (Check_And_Resolve_Storage_Model_Type_Argument): New procedure
1665 to check that an association for a storage-model subaspect in
1666 the aggregate has not been specified earlier in the aggregate,
1667 and to then resolve the expression of the association and save
1668 the resolved entity. Called by
1669 Validate_Storage_Model_Type_Aspect.
1670 * sem_util.ads (Storage_Model_Support): Update comments on specs
1671 of the functions Get_Storage_Model_Type_Entity,
1672 Storage_Model_Address_Type, and Storage_Model_Null_Address to
1673 indicate the behavior when the address type is System.Address
1674 (the native memory-model case).
1676 (Storage_Model_Support.Get_Storage_Model_Type_Entity): Suppress
1677 the search for the given subaspect name (Nam) when the
1678 Storage_Model_Type aspect is fully defaulted (i.e., no
1679 Expression is present) and simply return. In cases where the
1680 search is done, but no association that matches Nam is found,
1681 return System.Address for the Name_Address_Type case, return
1682 System.Null_Address for the Name_Null_Address case, and return
1683 Empty for all other cases.
1685 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
1687 * sem_ch13.adb (Relocate_Expression): New routine with code that
1688 previously was only applied to Pre and Post aspects.
1689 (Analyze_Aspect_Specifications): Apply the above routine to
1690 other aspects, in particular to aspects Address, Attach_Handler,
1691 Predicate and Interrupt_Priority.
1693 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
1695 * inline.adb (Build_Body_To_Inline): Instead of manipulating the
1696 Full_Analysis flag, use the Inside_A_Generic flag (which is
1697 conveniently manipulated by Start_Generic/End_Generic, together
1698 with Expander_Active).
1699 * sem_attr.adb (Analyze_Attribute_Old_Result): Adapt comment and
1700 assertion to different flag that is set while building
1703 2022-07-13 Alexandre Oliva <oliva@adacore.com>
1705 * doc/gnat_rm/security_hardening_features.rst: Clarify the need
1706 for choices after -fzero-call-used-regs and -fstrub.
1707 * gnat_rm.texi: Regenerate.
1709 2022-07-13 Yannick Moy <moy@adacore.com>
1711 * sem_prag.adb (Analyze_Pragma): Recognize a generated subtype
1712 with Ghost pragma for generic instantiations.
1714 2022-07-13 Yannick Moy <moy@adacore.com>
1716 * libgnat/s-aridou.adb (Lemma_Mult_Div, Lemma_Powers): New
1718 (Prove_Sign_Quotient): New local lemma.
1719 (Prove_Signs): Expand definition of Big_R and Big_Q in the
1720 postcondition. Add intermediate assertions.
1721 (Double_Divide): Call new lemma.
1722 (Lemma_Div_Eq): Provide body for proving lemma.
1723 (Lemma_Powers_Of_2, Lemma_Shift_Without_Drop,
1724 Prove_Dividend_Scaling, Prove_Multiplication, Prove_Z_Low): Call
1725 lemmas, add intermediate assertions.
1727 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
1729 * inline.adb (Has_Single_Return): Add guard for the subsequent
1732 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1734 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec
1735 earlier if the body is not the completion of a declaration.
1736 (Check_Untagged_Equality): Deal with subprogram bodies that are
1737 not the completion of a declaration and make sure that they are
1738 not flagged when they cause the freezing of the type themselves.
1739 Give a warning on the freezing point of the type in more cases.
1740 * sem_res.adb (Resolve_Equality_Op): Revert latest change.
1742 2022-07-13 Yannick Moy <moy@adacore.com>
1744 * libgnat/s-arit32.adb (Scaled_Divide32): Add an assertion, move
1745 the call of Prove_Sign_R around.
1747 2022-07-13 Marc Poulhiès <poulhies@adacore.com>
1749 * exp_ch4.adb (Expand_N_If_Expression): Test for compile time
1750 known bounds when handling slices.
1752 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1754 * exp_util.ads (Integer_Type_For): Mention Small_Integer_Type_For.
1755 (Small_Integer_Type_For): Mention Integer_Type_For.
1757 2022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1759 * sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined
1760 operator of an untagged record type is declared ahead of an instance
1761 before using it to resolve the equality operator in the instance.
1763 2022-07-13 Justin Squirek <squirek@adacore.com>
1765 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Add default
1766 initialization for Stmts.
1767 * sem_ch12.adb (Analyze_Associations): Add default
1768 initialization for Match.
1769 * libgnat/a-ztenau.adb (Scan_Enum_Lit): Remove duplicated
1771 * libgnat/g-spipat.adb (XMatch): Combine duplicated cases.
1773 2022-07-13 Piotr Trojanek <trojanek@adacore.com>
1775 * par-prag.adb (Check_Arg_Count): Change parameter type from Int
1776 to Nat, because this parameter is compared to Arg_Count variable
1777 which is of type Nat. Also, it wouldn't make sense to check for
1778 negative number of pragma arguments.
1780 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1782 * exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment
1783 with declaration in System.Standard_Library.
1785 2022-07-12 Marc Poulhiès <poulhies@adacore.com>
1787 * libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full
1788 chunk before computing the available size.
1790 2022-07-12 Steve Baird <baird@adacore.com>
1792 * exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op):
1793 Reimplement choice of which predefined type to use for the
1794 implementation of a predefined operation of a modular type with
1795 a non-power-of-two modulus.
1797 2022-07-12 Justin Squirek <squirek@adacore.com>
1799 * einfo.ads: Modify documentation for In_Use flag to include
1800 scope stack manipulation.
1801 * sem_ch8.adb (Use_One_Type): Add condition to return when
1802 attempting to detect redundant use_type_clauses in child units
1805 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1807 * restrict.ads (type ND_Entry): Add System_Child component.
1808 (Check_Restriction_No_Dependence_On_System): Declare.
1809 * restrict.adb (Global_Restriction_No_Tasking): Move around.
1810 (Violation_Of_No_Dependence): New procedure.
1811 (Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence
1812 to report a violation.
1813 (Check_Restriction_No_Dependence_On_System): New procedure.
1814 (Set_Restriction_No_Dependenc): Set System_Child component if the
1815 unit is a child of System.
1816 * snames.ads-tmpl (Name_Arith_64): New package name.
1817 (Name_Arith_128): Likewise.
1818 (Name_Memory): Likewise.
1819 (Name_Stack_Checking): Likewise.
1820 * fe.h (Check_Restriction_No_Dependence_On_System): Declare.
1822 2022-07-12 Bob Duff <duff@adacore.com>
1824 * par.adb (P_Declarative_Items): New function to parse a
1825 sequence of declarative items.
1826 (P_Sequence_Of_Statements): Add Handled flag, to indicate
1827 whether to wrap the result in a block statement.
1828 * par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items
1829 to be P_Declarative_Item, because it really only parses a single
1830 declarative item, and to avoid conflict with the new
1831 P_Declarative_Items. Add In_Statements. We keep the old
1832 error-recovery mechanisms in place when In_Statements is False.
1833 When True, we don't want to complain about statements, because
1834 we are parsing a sequence of statements.
1835 (P_Identifier_Declarations): If In_Statements, and we see what
1836 looks like a statement, we no longer give an error. We return to
1837 P_Sequence_Of_Statements with Done = True, so it can parse the
1839 * par-ch5.adb (P_Sequence_Of_Statements): Call
1840 P_Declarative_Items to parse declarative items that appear in
1841 the statement list. Remove error handling code that complained
1842 about such items. Check some errors conservatively. Wrap the
1843 result in a block statement when necessary.
1844 * par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass
1845 Handled => True to P_Sequence_Of_Statements.
1846 * types.ads (No, Present): New functions for querying
1847 Source_Ptrs (equal, not equal No_Location).
1849 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1851 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1852 Fix range of iteration.
1854 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1856 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1857 Do not process expression of unknown restrictions.
1859 2022-07-12 Vasiliy Fofanov <fofanov@adacore.com>
1862 doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P
1863 to the top of switches list and make it clear that gnatmake
1864 passes the ball to gprbuild if -P is set.
1865 * gnat_ugn.texi: Regenerate.
1867 2022-07-12 Bob Duff <duff@adacore.com>
1869 * libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning.
1871 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1873 * sem_attr.adb (Set_Boolean_Result): Simplify using
1876 2022-07-12 Yannick Moy <moy@adacore.com>
1878 * errout.adb (Record_Compilation_Errors): Remove global
1880 (Compilation_Errors): Simplify.
1881 (Initialize): Inline Reset_Warnings.
1882 (Reset_Warnings): Remove.
1883 * errout.ads (Reset_Warnings): Remove.
1884 (Compilation_Errors): Update comment.
1885 * gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend
1886 warnings in GNATprove mode, except regarding elaboration and
1887 suspicious contracts.
1889 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1891 * sem_util.adb (Caller_Known_Size_Record): Make entry assertion
1892 more robust and add guard for null argument. For protected
1893 types, invoke Caller_Known_Size_Record on
1894 Corresponding_Record_Type.
1895 (Needs_Secondary_Stack): Likewise.
1897 2022-07-12 Doug Rupp <rupp@adacore.com>
1899 * libgnat/system-vxworks7-ppc-rtp.ads: Remove
1900 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
1902 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1904 * sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious
1905 call to Set_Comes_From_Source.
1907 2022-07-12 Bob Duff <duff@adacore.com>
1909 * sem_ch5.adb (Check_Unreachable_Code): Refine heuristics.
1910 * sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove
1911 this; instead we have a new function Is_Simple_Case in
1912 Sem_Ch5.Check_Unreachable_Code.
1914 2022-07-12 Bob Duff <duff@adacore.com>
1916 * gnatls.adb (Output_License_Information): Remove pragma
1917 No_Return; call sites deal with Exit_Program.
1918 * libgnat/g-socthi.adb (C_Connect): Suppress warning about
1920 * sem_ch5.adb (Check_Unreachable_Code): Special-case if
1921 statements with static conditions. If we remove unreachable
1922 code (including the return statement) from a function, add
1923 "raise Program_Error", so we won't warn about missing returns.
1924 Remove Original_Node in test for N_Raise_Statement; it's not
1925 needed. Remove test for CodePeer_Mode; if Operating_Mode =
1926 Generate_Code, then CodePeer_Mode can't be True. Misc cleanup.
1927 Do not reuse Nxt variable for unrelated purpose (the usage in
1928 the Kill_Dead_Code loop is entirely local to the loop).
1929 * sem_ch6.adb: Add check for Is_Transfer. Misc cleanup.
1930 * sem_prag.adb: Minor.
1931 * sem_res.adb: Minor.
1932 * sem_util.adb: Minor cleanup.
1933 (Is_Trivial_Boolean): Move to nonnested place, so it can be
1934 called from elsewhere.
1935 (Is_Static_Constant_Boolean): New function.
1936 * sem_util.ads (Is_Trivial_Boolean): Export.
1937 (Is_Static_Constant_Boolean): New function.
1939 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1941 * libgnat/s-stchop.ads: Use a double underscore prefix for symbols.
1943 2022-07-12 Ed Schonberg <schonberg@adacore.com>
1945 * freeze.adb (Check_Expression_Function.Find_Constant): Add a
1946 check that a type that is referenced as the prefix of an
1947 attribute is fully declared.
1948 (Freeze_And_Append): Do not freeze the profile when freezing an
1949 expression function.
1950 (Freeze_Entity): When a tagged type is frozen, also freeze any
1951 primitive operations of the type that are expression functions.
1952 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent
1953 freezing associated with an expression function body if the
1954 function is a dispatching op.
1956 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1958 * sem_ch7.adb (Analyze_Package_Declaration): Check references to
1961 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
1963 * sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind,
1964 not at the declaration kind.
1966 2022-07-12 Joffrey Huguet <huguet@adacore.com>
1968 * libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads,
1969 libgnat/a-cfhama.ads, libgnat/a-cfhase.ads,
1970 libgnat/a-cfinse.ads, libgnat/a-cfinve.ads,
1971 libgnat/a-cforma.ads, libgnat/a-cforse.ads,
1972 libgnat/a-chahan.ads, libgnat/a-cofove.ads,
1973 libgnat/a-cofuma.ads, libgnat/a-cofuse.ads,
1974 libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads,
1975 libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads,
1976 libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads,
1977 libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads,
1978 libgnat/a-strbou.ads, libgnat/a-strfix.ads,
1979 libgnat/a-strmap.ads, libgnat/a-strunb.ads,
1980 libgnat/a-strunb__shared.ads, libgnat/a-strsea.ads,
1981 libgnat/a-textio.ads, libgnat/a-tideio.ads,
1982 libgnat/a-tienio.ads, libgnat/a-tifiio.ads,
1983 libgnat/a-tiflio.ads, libgnat/a-tiinio.ads,
1984 libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads,
1985 libgnat/interfac__2020.ads, libgnat/s-atacco.ads,
1986 libgnat/s-stoele.ads: Annotate packages and subprograms with
1987 returning annotations.
1989 2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1991 * rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values.
1992 (RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries.
1993 * libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment.
1994 (Str_Concat_Bounds_2): Delete.
1995 * libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last
1996 input to size the last assignment.
1997 (Str_Concat_Bounds_2): Delete.
1998 * libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment.
1999 (Str_Concat_Bounds_3): Delete.
2000 * libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last
2001 input to size the last assignment.
2002 (Str_Concat_Bounds_3): Delete.
2003 * libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment.
2004 (Str_Concat_Bounds_4): Delete.
2005 * libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last
2006 input to size the last assignment.
2007 (Str_Concat_Bounds_4): Delete.
2008 * libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment.
2009 (Str_Concat_Bounds_5): Delete.
2010 * libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last
2011 input to size the last assignment.
2012 (Str_Concat_Bounds_5): Delete.
2013 * libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment.
2014 (Str_Concat_Bounds_6): Delete.
2015 * libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last
2016 input to size the last assignment.
2017 (Str_Concat_Bounds_6): Delete.
2018 * libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment.
2019 (Str_Concat_Bounds_7): Delete.
2020 * libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last
2021 input to size the last assignment.
2022 (Str_Concat_Bounds_7): Delete.
2023 * libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment.
2024 (Str_Concat_Bounds_8): Delete.
2025 * libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last
2026 input to size the last assignment.
2027 (Str_Concat_Bounds_8): Delete.
2028 * libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment.
2029 (Str_Concat_Bounds_9): Delete.
2030 * libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last
2031 input to size the last assignment.
2032 (Str_Concat_Bounds_9): Delete.
2034 2022-07-12 Bob Duff <duff@adacore.com>
2036 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and
2037 _Previous in the optimized expansion of "for ... of". No longer
2038 need to check parameter profiles for these, because the
2039 leading-underscore names are unique.
2040 * libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and
2041 Previous, to avoid namespace pollution.
2042 * libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads,
2043 libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads,
2044 libgnat/a-cborma.ads, libgnat/a-cborse.ads,
2045 libgnat/a-cdlili.ads, libgnat/a-cidlli.ads,
2046 libgnat/a-cihama.ads, libgnat/a-cihase.ads,
2047 libgnat/a-cimutr.ads, libgnat/a-ciorma.ads,
2048 libgnat/a-ciorse.ads, libgnat/a-cobove.ads,
2049 libgnat/a-cohama.ads, libgnat/a-cohase.ads,
2050 libgnat/a-coinve.ads, libgnat/a-comutr.ads,
2051 libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise. Also,
2052 remove duplicated comments -- refer to one comment about _Next,
2053 _Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY.
2054 * scng.adb (Scan): Allow leading underscores in identifiers in
2055 the run-time library.
2056 * snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with
2057 leading underscores.
2059 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
2061 * sem_ch5.adb (Check_Unreachable_Code): Extend suppression to
2062 calls with No_Return aspect, but narrow it to functions.
2063 * sem_res.adb (Resolve_Call): Warn about unreachable code after
2064 calls with No_Return.
2066 2022-07-12 Bob Duff <duff@adacore.com>
2068 * scans.ads: Fix obsolete comments about Tok_Special, and give
2069 Special_Character a predicate assuring it is one of the two
2070 characters used in preprocessing.
2071 * scng.ads: Clean up comments.
2072 * scng.adb: Clean up handling of Tok_Special. Remove comment
2073 about '@' (target_name), which doesn't seem very helpful.
2074 Set_Special_Character will now blow up if given anything other
2075 than '#' and '$', because of the predicate on Special_Character;
2076 it's not clear why it used to say "when others => null;".
2077 Remove Comment_Is_Token, which is not used.
2078 * scn.ads: Remove commented-out use clause. Remove redundant
2080 * ali-util.adb: Use "is null" for do-nothing procedures.
2081 * gprep.adb (Post_Scan): Use "is null".
2083 2022-07-12 Bob Duff <duff@adacore.com>
2085 * libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all
2086 exceptions propagated by Specific_Handler.
2087 * libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor.
2089 2022-07-12 Marc Poulhiès <poulhies@adacore.com>
2091 * sem.adb (Preanalyze): Suppress checks when not in GNATprove
2093 * sem_res.adb (Preanalyze_And_Resolve): Add cross reference in
2094 comment to above procedure.
2095 * sinfo.ads: Typo fix in comment.
2097 2022-07-12 Julien Bortolussi <bortolussi@adacore.com>
2099 * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation
2100 files of the formal unbounded indefinite list.
2101 * Makefile.rtl, impunit.adb: Take into account the add of the
2104 2022-07-12 Piotr Trojanek <trojanek@adacore.com>
2106 * sem_util.adb (Is_Variable): Remove excessive guard.
2108 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
2110 * gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads):
2111 Simplify regular expression. The "interval expression",
2112 i.e. \{8\} is part of the POSIX regular expressions, so it
2113 should not be a problem for modern implementations of sed.
2115 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2117 * gcc-interface/trans.cc (gnat_to_gnu): Update comment.
2119 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2121 * gcc-interface/gigi.h (simple_constant_p): Declare.
2122 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Strip
2123 the qualifiers from the type of a simple constant.
2124 (simple_constant_p): New predicate.
2125 * gcc-interface/trans.cc (node_is_atomic): Return true for objects
2126 with atomic type except for simple constants.
2127 (node_is_volatile_full_access): Return false for simple constants
2130 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2132 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Create a
2133 local constant holding the underlying GNAT type of the object. Do
2134 not fiddle with the object size for an unconstrained array.
2136 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2138 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Constify a
2139 local variable and move a couple of others around.
2141 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2143 * gcc-interface/trans.cc (gnat_gimplify_expr) <SAVE_EXPR>: New case.
2145 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2147 * exp_ch6.adb (Function return mechanisms): New paragraph.
2149 2022-07-06 Yannick Moy <moy@adacore.com>
2151 * sem_util.adb (Is_Non_Preelaborable_Construct): Fix for
2154 2022-07-06 Justin Squirek <squirek@adacore.com>
2156 * libgnat/s-regpat.adb, libgnat/s-regpat.ads (Compile): Add a
2157 new defaulted parameter Error_When_Too_Small to trigger an
2158 error, if specified true, when Matcher is too small to hold the
2159 compiled regex program.
2161 2022-07-06 Justin Squirek <squirek@adacore.com>
2163 * sem_ch4.adb (Analyze_Selected_Component): Add condition to
2164 avoid interpreting derived type components as candidates for
2165 selected components in preanalysis of inherited class
2168 2022-07-06 Yannick Moy <moy@adacore.com>
2170 * ghost.adb (Check_Ghost_Context): Delay checking for generic
2172 (Check_Ghost_Context_In_Generic_Association): Perform ghost
2173 checking in analyzed generic associations.
2174 (Check_Ghost_Formal_Procedure_Or_Package): Check SPARK RM
2175 6.9(13-14) for formal procedures and packages.
2176 (Check_Ghost_Formal_Variable): Check SPARK RM 6.9(13-14) for
2178 * ghost.ads: Declarations for the above.
2179 * sem_ch12.adb (Analyze_Associations): Apply delayed checking
2180 for generic associations.
2181 (Analyze_Formal_Object_Declaration): Same.
2182 (Analyze_Formal_Subprogram_Declaration): Same.
2183 (Instantiate_Formal_Package): Same.
2184 (Instantiate_Formal_Subprogram): Same.
2185 (Instantiate_Object): Same. Copy ghost aspect to newly declared
2186 object for actual for IN formal object. Use new function
2187 Get_Enclosing_Deep_Object to retrieve root object.
2188 (Instantiate_Type): Copy ghost aspect to declared subtype for
2189 actual for formal type.
2190 * sem_prag.adb (Analyze_Pragma): Recognize new allowed
2192 * sem_util.adb (Copy_Ghost_Aspect): Copy the ghost aspect
2194 (Get_Enclosing_Deep_Object): New function to return enclosing
2195 deep object (or root for reachable part).
2196 * sem_util.ads (Copy_Ghost_Aspect): Same.
2197 (Get_Enclosing_Deep_Object): Same.
2198 * libgnat/s-imageu.ads: Declare formal subprograms as ghost.
2199 * libgnat/s-valuei.ads: Same.
2200 * libgnat/s-valuti.ads: Same.
2202 2022-07-06 Javier Miranda <miranda@adacore.com>
2204 * sem_res.adb (Resolve_Type_Conversion): Code cleanup since the
2205 previous static check has been moved to Valid_Tagged_Conversion.
2206 (Valid_Tagged_Conversion): Fix the code checking conversion
2207 to/from interface types since incorrectly returns True when the
2208 parent type of the operand type (or the target type) is an
2209 interface type; add missing static checks on interface type
2212 2022-07-06 Marc Poulhiès <poulhies@adacore.com>
2214 * libgnat/s-secsta.ads (SS_Allocate): Add new Alignment
2216 (Memory_Alignment): Remove.
2217 * libgnat/s-secsta.adb (Align_Addr): New.
2218 (SS_Allocate): Add new Alignment parameter. Realign pointer if
2219 needed. Don't allocate anything for 0-sized allocations.
2220 * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add
2221 allocated object's alignment as last parameter to allocation
2224 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
2226 * libgnat/g-socket.adb (Get_Address_Info): Reduce scope of the
2227 Found variable; avoid repeated assignment inside the loop.
2229 2022-07-06 Doug Rupp <rupp@adacore.com>
2231 * Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel
2232 build macros and set an error variable if needed.
2233 [x86,x86_vxworks7]: Likewise.
2234 [ppc,ppc64]: Set an error variable if needed.
2235 (rts-err): New phony Makefile target.
2236 (setup-rts): Depend on rts-err.
2238 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2240 * exp_ch3.adb (Make_Allocator_For_BIP_Return): New local function.
2241 (Expand_N_Object_Declaration): Use it to build the three allocators
2242 for a Build-In-Place return with an unconstrained type. Update the
2243 head comment after other recent changes.
2245 2022-07-06 Doug Rupp <rupp@adacore.com>
2247 * libgnat/system-vxworks7-e500-kernel.ads: Remove.
2248 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
2249 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
2251 2022-07-06 Justin Squirek <squirek@adacore.com>
2253 * gnat_cuda.adb (Empty_CUDA_Global_Subprogram): Set
2254 Specification and Corresponding_Spec to match the original
2257 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
2259 * exp_ch6.adb (Build_Static_Check_Helper_Call): Replace explicit
2260 call to Make_Unchecked_Type_Conversion with a call to
2261 Unchecked_Convert_To.
2262 * tbuild.adb (Unchecked_Convert_To): Fix whitespace.
2264 2022-07-06 Piotr Trojanek <trojanek@adacore.com>
2266 * sem_res.adb (Resolve_Actuals): Restore first sentence of a
2269 2022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2271 * exp_aggr.adb (Expand_Record_Aggregate): Do not call
2272 Is_Full_Access_Aggregate here.
2273 * freeze.ads (Is_Full_Access_Aggregate): Delete.
2274 * freeze.adb (Is_Full_Access_Aggregate): Move to...
2275 (Freeze_Entity): Do not call Is_Full_Access_Aggregate here.
2276 * sem_aggr.adb (Is_Full_Access_Aggregate): ...here
2277 (Resolve_Aggregate): Call Is_Full_Access_Aggregate here.
2279 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2281 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2282 (Warning Message Control): Update description of switch -gnatwj.
2283 * gnat_ugn.texi: Regenerate.
2284 * sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for
2285 obsolete renamed units; in Ada 83 mode do not consider
2286 predefined renamings to be obsolete.
2288 2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
2290 * exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty.
2291 * sem_util.adb (Visit_Itype): Remove ??? comment.
2293 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2295 * sem_attr.adb (Note_Possible_Modification): Revert a
2296 special-case for validity checks on Long_Float type.
2297 * snames.ads-tmpl (Name_Attr_Long_Float): Remove name added
2298 exclusively for the mentioned fix.
2300 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2302 * sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of
2303 Never_Set_In_Source.
2305 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2307 * sem_ch6.adb (Process_Formals): Avoid repeated calls to
2310 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2312 * exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List.
2313 * par_sco.adb (Process_Decisions): Likewise.
2314 * sem_ch13.adb (Check_Component_List): Likewise.
2315 * sem_ch6.adb (FCL): Likewise.
2317 2022-07-05 Doug Rupp <rupp@adacore.com>
2319 * cstreams.c (__gnat_full_name) [QNX]: Remove block.
2321 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2323 * osint.adb (Locate_File): Use Name_Find with a parameter and
2324 not with a global buffer.
2326 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2328 * exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
2329 * exp_prag.adb (Arg_N): Likewise.
2331 2022-07-05 Yannick Moy <moy@adacore.com>
2333 * ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object
2336 2022-07-05 Bob Duff <duff@adacore.com>
2338 * exp_ch7.adb: Change two constants Is_Protected_Body and
2339 Is_Prot_Body to be Is_Protected_Subp_Body; these are not true
2340 for protected bodies, but for protected subprogram bodies.
2341 (Expand_Cleanup_Actions): No need to search for
2342 Activation_Chain_Entity; just use Activation_Chain_Entity.
2343 * sem_ch8.adb (Find_Direct_Name): Use Entyp constant.
2344 * atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads
2345 (Parent): Provide nonoverloaded versions of Parent, so that they
2346 can be easily found in the debugger.
2347 * debug_a.adb, debug_a.ads: Clarify that we're talking about the
2348 -gnatda switch; switches are case sensitive. Print out the
2349 Chars field if appropriate, which makes it easier to find things
2351 (Debug_Output_Astring): Simplify. Also fix an off-by-one
2352 bug ("for I in Vbars'Length .." should have been "for I in
2353 Vbars'Length + 1 .."). Before, it was printing Debug_A_Depth +
2354 1 '|' characters if Debug_A_Depth > Vbars'Length.
2356 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2358 * sem_prag.adb (Analyze_Pragma): Remove unnecessary call to
2361 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2363 * libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect.
2364 (Raise_GAI_Error): Likewise.
2365 * libgnat/g-socket.ads (Raise_Socket_Error): Likewise.
2367 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2369 * sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace;
2370 refactor repeated code; replace a ??? comment with an
2371 explanation based on the comment for the routine spec.
2373 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2375 * sem_util.ads (Note_Possible_Modification): Fix occurrence of
2376 May_Be_Modified in comment.
2377 * sem_warn.ads (Check_Unset_Reference): Fix occurrence of
2378 Not_Assigned in comment.
2380 2022-07-05 Yannick Moy <moy@adacore.com>
2382 * sem_attr.adb (Analyze_Attribute): Take into account the
2383 possibility of homonyms.
2385 2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
2387 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming
2388 for any nonaliased local object with nominal unconstrained subtype
2389 originally initialized with the result of a function call that has
2390 been rewritten as the dereference of a reference to the result.
2391 * sem_ch3.adb (Analyze_Object_Declaration): Do not do it here
2393 2022-07-05 Arnaud Charlet <charlet@adacore.com>
2395 * exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable
2396 perfect hash in GNAT_Mode.
2397 * raise-gcc.c (__gnat_Unwind_RaiseException): Add support for
2398 disabling exception propagation.
2399 * sem_eval.adb (Compile_Time_Known_Value): Update comment and
2400 remove wrong call to Check_Error_Detected.
2401 * sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma):
2402 Remove exception propagation during bootstrap.
2404 2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
2406 * exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code.
2407 Delay the expansion of aggregates initializing return objects of
2408 build-in-place functions.
2409 * exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete.
2410 * exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to...
2411 (Expand_N_Object_Declaration): ...here.
2412 Perform the expansion of return objects of build-in-place functions
2414 * exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare.
2415 * exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here.
2416 (Is_Build_In_Place_Result_Type): Alphabetize.
2417 (Is_Build_In_Place_Return_Object): New predicate.
2418 * exp_ch7.adb (Enclosing_Function): Delete.
2419 (Process_Object_Declaration): Tidy up handling of return objects.
2420 * sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and
2421 freeze the actual type if it is the same as the nominal type.
2422 * sem_ch6.adb: Remove use and with clauses for Exp_Ch3.
2423 (Analyze_Function_Return): Analyze again all return objects.
2424 (Create_Extra_Formals): Do not force the definition of an Itype
2425 if the subprogram is a compilation unit.
2427 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2429 * gnatls.adb (Corresponding_Sdep_Entry): Remove dead return
2430 statement in defensive path; there is another return statement
2431 for a normal execution of this routine, so rule Ada RM 6.5(5),
2432 which requires function to have at least one return statement is
2434 (Gnatls): Remove dead, call to nonreturning Exit_Program after
2435 Output_License_Information which itself does not return.
2436 * libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was
2437 meant to please some ancient version of GNAT.
2438 * libgnat/g-awk.adb (Raise_With_Info): Likewise.
2439 * sem_attr.adb (Check_Reference): Remove dead return statement;
2440 rule Ada RM 6.5(5), which requires function to have at least one
2441 return statement is still satisfied.
2442 (Analyze_Attribute): Remove dead exit statement.
2443 (Check_Reference): Same as above.
2444 * sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise
2445 statement; it was inconsistent with other calls to
2446 Abandon_Instantiation, which are not followed by a raise
2448 * sem_prag.adb (Process_Convention): Remove dead defensive
2450 (Interrupt_State): Remove dead defensive exit statement.
2451 (Do_SPARK_Mode): Likewise.
2452 * sfn_scan.adb (Scan_String): Remove dead defensive assignment.
2454 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2456 * sem_attr.adb, sem_prag.adb: Remove dead return statements
2457 after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and
2458 Placement_Error. All these calls raise exceptions that are
2459 handled to gently recover from errors.
2461 2022-07-05 Doug Rupp <rupp@adacore.com>
2463 * libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute
2464 based on Standard'Word_Size.
2465 (Memory_Size): Compute based on Word_Size.
2466 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
2467 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
2469 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2471 * sem_attr.adb (Analyze_Attribute): Move call to
2472 Set_Address_Taken so that it is executed when the prefix
2475 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2477 * sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of
2478 Sloc; this should also help when we finally use Source_Span for
2479 prettier error messages.
2481 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2483 * sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard;
2484 the call to Present wasn't needed either.
2486 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2488 * sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with
2489 No_List is safe and will return zero.
2491 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2493 * sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule.
2495 2022-07-05 Piotr Trojanek <trojanek@adacore.com>
2497 * sem_ch6.adb (Check_Missing_Return): Remove outdated comment.
2499 2022-07-05 Dmitriy Anisimkov <anisimko@adacore.com>
2501 * adaint.h (convert_addresses): Remove function declaration.
2503 2022-07-05 Doug Rupp <rupp@adacore.com>
2505 * Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code.
2506 * vxworks-arm-link.spec: Remove.
2507 * vxworks-e500-link.spec: Likewise.
2508 * vxworks-smp-arm-link.spec: Likewise.
2509 * vxworks-smp-e500-link.spec: Likewise.
2510 * vxworks-smp-x86-link.spec: Likewise.
2511 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
2512 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
2513 * libgnat/system-vxworks-arm.ads: Likewise.
2514 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
2515 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
2516 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
2517 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
2518 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
2519 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
2521 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2523 * sem_disp.adb (Check_Dispatching_Call): Merge the two special cases
2524 where there are no controlling actuals but tag-indeternminate ones.
2526 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2528 * exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls
2529 that are dispatching on tagged result.
2531 2022-07-04 Doug Rupp <rupp@adacore.com>
2533 * Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads.
2535 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2537 * exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New
2539 <Rewrite_As_Renaming>: Change to a local variable whose value is
2540 computed once and generate a call to Finalize after this is done.
2541 Simplify the code creating the renaming at the end.
2543 2022-07-04 Doug Rupp <rupp@adacore.com>
2545 * Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files.
2547 2022-07-04 Piotr Trojanek <trojanek@adacore.com>
2549 * sem_attr.adb (Resolve_Attribute): Refactor duplicated code for
2550 Count and Index attributes.
2552 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2554 * checks.adb (Apply_Length_Check_On_Assignment): Return early if
2555 the Suppress_Assignment_Checks flag is set.
2556 (Selected_Range_Checks): Deal with conditional expressions.
2557 * exp_ch4.adb (Too_Large_Length_For_Array): New constant.
2558 (Expand_Concatenate): Use it in lieu of Too_Large_Max_Length.
2559 (Expand_N_If_Expression): If the result has a unidimensional array
2560 type but the dependent expressions have constrained subtypes with
2561 known bounds, create a static temporary on the stack with a subtype
2562 covering the result.
2563 (Get_First_Index_Bounds): Deal with string literals.
2564 * uintp.ads (Uint_256): New deferred constant.
2565 * sinfo.ads (Suppress_Assignment_Checks): Document new usage.
2567 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2569 * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
2570 Do not rewrite if the declaration has got constraints.
2571 * sinfo.ads (Case Expression Alternative): Fix typo.
2573 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2575 * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
2576 Be prepared for slices.
2577 * exp_ch4.adb (Get_First_Index_Bounds): New procedure.
2578 (Expand_Array_Comparison.Length_Less_Than_4): Call it.
2579 (Expand_Concatenate): Try to compute a maximum length for
2580 operands with variable length and a maximum total length at the
2581 end. If the concatenation is dynamic, but a sensible maximum
2582 total length has been computed, use this length to create a
2583 static array subtype for the temporary and return a slice of it.
2585 2022-07-04 Steve Baird <baird@adacore.com>
2587 * sem_ch3.adb (Check_Possible_Deferred_Completion): Delete
2588 Prev_Obj_Def formal parameter. Reorganize code so that
2589 statically matching check is also performed in the case where
2590 the subtype given in the initial declaration is constrained and
2591 the subtype given in the completion is not.
2593 2022-07-04 Bob Duff <duff@adacore.com>
2595 * einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E
2596 and N. Change some parameters to use the unpredicated subtypes,
2597 because they sometimes return e.g. Empty. Note that N_Entity_Id
2598 has a predicate; Entity_Id does not.
2599 * exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E,
2600 because otherwise we fail the predicate. We shouldn't be
2601 referring to single-letter names from far away anyway.
2602 * sem_aux.adb (Is_Derived_Type): Likewise.
2603 * sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for
2605 * types.ads (Entity_Id): Add comment explaining the difference
2606 between Entity_Id and N_Entity_Id.
2608 2022-07-04 Justin Squirek <squirek@adacore.com>
2610 * exp_util.adb (Remove_Side_Effects): Combine identical
2612 * sem_attr.adb (Analyze_Attribute): Combine identical cases
2613 Attribute_Has_Same_Storage and Attribute_Overlaps_Storage.
2614 * sem_prag.adb (Check_Role): Combine E_Out_Parameter case with
2615 general case for parameters.
2616 * sem_util.adb (Accessibility_Level): Combine identical
2618 * sprint.adb (Sprint_Node_Actual): Combine cases for
2619 N_Real_Range_Specification and N_Signed_Integer_Type_Definition.
2621 2022-07-04 Justin Squirek <squirek@adacore.com>
2623 * libgnat/s-os_lib.adb (Quote_Argument): Modify the result
2624 buffer size calculation to handle the case where Arg'Length is
2627 2022-07-04 Bob Duff <duff@adacore.com>
2629 * exp_util.adb (Expand_Subtype_From_Expr): Generate a new
2630 subtype when Is_Constr_Subt_For_UN_Aliased is True, so the
2631 Is_Constr_Subt_For_U_Nominal flag will not be set on the
2632 preexisting subtype.
2633 * sem_attr.adb, sem_ch3.adb: Minor.
2635 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2637 * debug.adb (d.9): Remove usage.
2638 * exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant
2639 test on Debug_Flag_Dot_L.
2640 (Is_Build_In_Place_Result_Type): Return false for nonlimited types.
2641 (Is_Build_In_Place_Function): Tidy up and remove redundant test on
2644 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2646 * exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object
2647 if the expression is a function call.
2648 <Rewrite_As_Renaming>: Return true if the object needs finalization
2649 and is initialized with the result of a function call returned on
2650 the secondary stack.
2651 * exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean
2652 parameter. Early return if the parent is an object declaration and
2653 Use_Sec_Stack is false.
2654 (Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call.
2655 * exp_ch7.adb (Find_Last_Init): Be prepared for initialization still
2656 present in the object declaration.
2657 * sem_ch3.adb (Analyze_Object_Declaration): Call the predicates
2658 Needs_Secondary_Stack and Needs_Finalization to guard the renaming
2661 2022-07-04 Bob Duff <duff@adacore.com>
2663 * libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
2664 libgnat/a-cihase.ads, libgnat/a-ciorse.ads,
2665 libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function
2666 that takes a Container parameter, implemented as an expression
2667 function, so it is self explanatory (doesn't need a comment).
2669 2022-07-04 Vasiliy Fofanov <fofanov@adacore.com>
2671 * doc/gnat_rm/the_gnat_library.rst: Fix length of title
2674 2022-07-04 Steve Baird <baird@adacore.com>
2676 * sem_ch4.adb (Analyze_Allocator): After calling Insert_Action
2677 to insert a subtype declaration associated with an allocator,
2678 the subtype declaration will usually be analyzed. But not
2679 always. Add an explicit call to Preanalyze to cope with the
2680 unusual case. The subtype declaration must be at least
2681 preanalyzed before the call to Sem_Ch3.Process_Subtype a little
2682 while later, during which we analyze an identifier that refers
2685 2022-07-04 Steve Baird <baird@adacore.com>
2687 * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
2688 generate a warning if the expression in question is an assertion
2689 expression, or a subexpression thereof. But do call
2690 Test_Comparison so that it can generate warnings for the cases
2691 that it generates warnings for.
2692 * sem_prag.ads: Modify Assertion_Expression_Pragma constant so
2693 that the predicate Sem_Util.In_Assertion_Expression_Pragma
2694 returns True for the expression of a Compile_Time_Error pragma.
2696 2022-07-04 Julien Bortolussi <bortolussi@adacore.com>
2698 * doc/gnat_rm/the_gnat_library.rst: Add the new entry.
2699 * gnat_rm.texi: Regenerate.
2701 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2703 * sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands
2705 (Resolve_Equality_Op): Likewise, except for the case of the implicit
2706 inequality operator created for a user-defined operator that is not
2707 an intrinsic subprogram.
2709 2022-07-04 Bob Duff <duff@adacore.com>
2711 * libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
2712 libgnat/a-cborse.adb, libgnat/a-cborse.ads,
2713 libgnat/a-cihase.adb, libgnat/a-cihase.ads,
2714 libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
2715 libgnat/a-cohase.adb, libgnat/a-cohase.ads,
2716 libgnat/a-conhel.adb, libgnat/a-conhel.ads,
2717 libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element,
2718 Element, Query_Element, and Next subprograms that take a Set
2719 parameter. Add Tampering_With_Cursors_Prohibited function. These
2720 are all new in Ada 2022.
2722 2022-07-04 Claire Dross <dross@adacore.com>
2724 * doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets,
2725 and maps are now controlled.
2726 * gnat_rm.texi: Regenerate.
2728 2022-07-04 Claire Dross <dross@adacore.com>
2730 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2731 (Debugging and Assertion Control): Add GNAT specific assertion
2732 pragmas to the equivalent Assertion_Policy for the -gnata
2734 * gnat_ugn.texi: Regenerate.
2736 2022-07-04 Justin Squirek <squirek@adacore.com>
2738 * sem_disp.adb (Most_Descendant_Use_Clause): Remove call to
2739 deprecated Is_Internal.
2740 * sem_util.adb (Innermost_Master_Scope_Depth): Use
2741 Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid
2742 cases where relevant scopes get skipped leading to an incorrect
2743 scope depth calculation.
2745 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2747 * exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref
2748 for the function if the extra formals were not built initially.
2750 2022-07-04 Piotr Trojanek <trojanek@adacore.com>
2752 * sem_ch13.adb (Resolve_Iterable_Operation): Add guard to
2753 prevent crash when the examined function has no formal
2754 parameters and Etype is called on Empty entity.
2756 2022-07-04 Julien Bortolussi <bortolussi@adacore.com>
2758 * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation
2759 files of the sequence.
2760 * Makefile.rtl, impunit.adb: Take into account the add of the
2763 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2765 * doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function):
2766 Fix ambiguous wording about context dependence.
2767 * gnat_rm.texi: Regenerate.
2769 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2771 * gcc-interface/misc.cc (gnat_get_sarif_source_language): New.
2772 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
2774 2022-06-02 Pierre-Marie de Rodat <derodat@adacore.com>
2776 * gcc-interface/gigi.h: Update copyright notice.
2777 * gcc-interface/lang-specs.h: Likewise.
2778 * gcc-interface/utils.cc: Likewise.
2780 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2782 * gcc-interface/gigi.h (enum standard_datatypes): Remove values
2783 for the SJLJ exception mechanism.
2784 (jmpbuf_type): Delete.
2785 (jmpbuf_ptr_type): Likewise.
2786 (get_jmpbuf_decl): Likewise.
2787 (set_jmpbuf_decl): Likewise.
2788 (get_excptr_decl): Likewise.
2789 (not_handled_by_others_decl): Likewise.
2790 (setjmp_decl): Likewise.
2791 (update_setjmp_buf_decl): Likewise.
2792 (raise_nodefer_decl): Likewise.
2793 (set_block_jmpbuf_decl): Likewise.
2794 (get_block_jmpbuf_decl): Likewise.
2795 * gcc-interface/trans.cc (gigi): Delete dead code.
2796 * gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL.
2797 (gnat_pushlevel): Do not clear it.
2798 (set_block_jmpbuf_decl): Delete.
2799 (get_block_jmpbuf_decl): Likewise.
2801 2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
2803 * gcc-interface/decl.cc (warn_on_field_placement): Add insertion
2804 character '.q' to warning string.
2806 2022-06-02 Arnaud Charlet <charlet@adacore.com>
2808 * gcc-interface/Makefile.in (gnatlib-shared-default): Add
2811 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2813 * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the
2814 scope of anonymous access Itypes.
2815 * gcc-interface/trans.cc (Identifier_to_gnu): Do not translate
2816 the return type of a subprogram here.
2818 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2820 * exp_ch7.adb (Expand_N_Package_Body): Build static dispatch
2821 tables only for units that are not compilation units, unless
2822 they are generic instances. Do not push a scope for this.
2823 (Expand_N_Package_Declaration): Build static dispatch tables
2824 only for units that are both not compilation units and generic
2826 * exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant
2827 early return. Push a scope for package bodies.
2828 * sem_ch10.adb: Add with and use clauses for Exp_Disp.
2829 (Analyze_Compilation_Unit): Build static dispatch tables here.
2831 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2833 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public
2836 2022-06-02 Piotr Trojanek <trojanek@adacore.com>
2838 * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb,
2839 sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb,
2840 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
2841 sem_util.adb: Remove checks for the missing list before
2842 iterating with First/Next; reindent code and refill comments.
2844 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2846 * einfo.ads (Has_Controlling_Result): Document new usage.
2847 (Is_Thunk): Document secondary stack thunks.
2848 (Returns_By_Ref): Adjust.
2849 * exp_ch6.adb (Caller_Known_Size): Return true for tagged types.
2850 (Expand_N_Extended_Return_Statement): Do not call Set_By_Ref.
2851 (Expand_Simple_Function_Return): For a BIP return with an Alloc_Form
2852 parameter, mark the node as returning on the secondary stack.
2853 Replace call to Is_Limited_Interface with Is_Limited_View. Deal wit
2854 secondary stack thunks. Do not call Set_By_Ref. Optimize the case
2855 of a call to a function whose type also needs finalization.
2856 (Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target.
2857 (Needs_BIP_Finalization_Master): Cosmetic fixes.
2858 (Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and
2859 return true for tagged types.
2860 * exp_ch7.adb (Transient Scope Management): Update description.
2861 * exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref
2862 on designated type if the call is dispatching on result. Tidy up.
2863 (Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to
2864 List_Id. Change type of local variables from Node_Id to Entity_Id.
2865 Propagate Aliased_Present flag to create the formals and explicitly
2866 set Has_Controlling_Result to False. Build a secondary stack thunk
2867 if necessary in the function case.
2868 (Expand_Secondary_Stack_Thunk): New function.
2869 (Make_Secondary_DT): Build secondary stack thunks if necessary.
2870 (Make_DT): Likewise.
2871 (Register_Predefined_Primitive): Likewise.
2872 (Register_Primitive): Likewise.
2873 * exp_util.ads (Is_Secondary_Stack_Thunk): Declare.
2874 (Thunk_Target): Likewise.
2875 * exp_util.adb (Is_Secondary_Stack_Thunk): New function.
2876 (Thunk_Target): Likewise.
2877 * fe.h (Is_Secondary_Stack_Thunk): Declare.
2878 (Thunk_Target): Likewise.
2879 * gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref.
2880 * gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise.
2881 (N_Extended_Return_Statement): Likewise.
2882 * sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for
2883 abstract return type in the thunk case.
2884 (Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target.
2885 * sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case.
2886 * sem_util.adb: Add use and with clauses for Exp_Ch6.
2887 (Compute_Returns_By_Ref): Do not process procedures and only set
2888 the flag for direct return by reference.
2889 (Needs_Secondary_Stack): Do not return true for specific tagged
2890 types and adjust comments accordingly.
2891 * sinfo.ads (By_Ref): Delete.
2892 (N_Simple_Return_Statement): Remove By_Ref.
2893 (N_Extended_Return_Statement): Likewise.
2894 * gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete.
2895 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it.
2896 Return by direct reference if the return type needs the secondary
2897 stack as well as for secondary stack thunks.
2898 * gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter.
2899 * gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change.
2900 * gcc-interface/trans.cc (finalize_nrv): Replace test on
2901 TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P.
2902 (Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for
2903 secondary stack thunks.
2904 (Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P.
2905 (gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct
2906 reference case, test for the presence of Storage_Pool on the node
2907 to build an allocator.
2908 (maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target.
2909 * gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter.
2911 2022-06-02 Marc Poulhiès <poulhies@adacore.com>
2913 * einfo.ads: Fix reference to Global_Entity_Suppress and
2914 Local_Entity_Suppress variable in the comments.
2915 * sem.ads: Likewise.
2916 * sem_prag.adb: Likewise.
2918 2022-06-02 Claire Dross <dross@adacore.com>
2920 * libgnat/s-aridou.adb: Use Always_Return instead of Terminating
2921 to annotate termination for GNATprove.
2922 * libgnat/s-arit32.adb: Idem.
2923 * libgnat/s-spcuop.ads: Idem.
2925 2022-06-02 Julien Bortolussi <bortolussi@adacore.com>
2927 * libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
2928 libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and
2929 Num_Overlaps return Big_Natural.
2930 * libgnat/a-cforse.ads, libgnat/a-cforse.adb,
2931 libgnat/a-cforma.adb, libgnat/a-cfhase.ads,
2932 libgnat/a-cfhase.adb, libgnat/a-cfhama.adb,
2933 libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead
2936 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2938 * exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the
2939 Offset_Func component by means of 'Unrestricted_Access.
2941 2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
2943 * errout.adb (Write_JSON_Span): Add subprogram name to emitted
2946 2022-06-02 Arnaud Charlet <charlet@adacore.com>
2948 * sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local
2949 procedure, used for code refactoring. Also take into account
2950 Inline_Always pragma when deciding to make a symbol public for
2953 2022-06-02 Yannick Moy <moy@adacore.com>
2955 * atree.adb (New_Copy): Reset flags related to ghost entities
2956 before marking the new node.
2958 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2960 * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move
2962 * exp_disp.ads (Expand_Interface_Thunk): Move declaration to...
2963 (Register_Predefined_Primitive): Declare.
2964 * exp_disp.adb (Expand_Interface_Thunk): ...here.
2965 (Register_Predefined_Primitive): ...here and change into a function
2968 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2970 * exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment.
2971 (Expand_N_Object_Declaration): Do not build static dispatch tables.
2972 * exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure.
2973 (Build_Static_Dispatch_Tables): Call it to build the dispatch tables
2974 and wrap them in the Actions list of a freeze node.
2976 2022-06-02 Doug Rupp <rupp@adacore.com>
2978 * libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives):
2980 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
2981 * libgnat/system-vxworks7-aarch64.ads: Likewise.
2982 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise:
2984 2022-06-02 Javier Miranda <miranda@adacore.com>
2986 * libgnat/g-dyntab.ads (Table_Type): Update documentation.
2988 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2990 * freeze.adb (Check_Expression_Function.Find_Constant): Make test
2991 for deferred constants more robust.
2993 2022-06-02 Joffrey Huguet <huguet@adacore.com>
2995 * libgnat/i-cstrin.ads (Update): Update precondition.
2997 2022-06-02 Yannick Moy <moy@adacore.com>
2999 * sem_ch2.adb (Analyze_Identifier): Add checking for ghost
3001 * sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat
3002 implicit labels like other entities by setting their ghost
3003 status according to context.
3004 * ghost.adb (Check_Ghost_Context): Adapt checking.
3006 2022-06-02 Joffrey Huguet <huguet@adacore.com>
3008 * libgnat/i-cstrin.ads (Update): Add precondition.
3010 2022-06-02 Yannick Moy <moy@adacore.com>
3012 * sem_ch5.adb (Analyze_Label_Entity): Remove body.
3013 * sem_ch5.ads (Analyze_Label_Entity): Remove spec.
3015 2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
3017 * sem_util.adb (Propagate_DIC_Attributes): Add ??? comment.
3018 (Propagate_Invariant_Attributes): Likewise. Propagate the
3019 Has_Inheritable_Invariants and Has_Inherited_Invariants to
3020 the base type of the target type.
3022 2022-06-02 Doug Rupp <rupp@adacore.com>
3024 * libgnat/system-linux-arm.ads (Memory_Size): Compute based on
3027 2022-06-02 Doug Rupp <rupp@adacore.com>
3029 * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size):
3030 Compute based on Standard'Word_Size. (Memory_Size): Compute
3032 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
3033 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
3034 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
3035 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
3036 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
3037 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
3038 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
3039 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
3041 2022-06-02 Justin Squirek <squirek@adacore.com>
3043 * gnatbind.adb (Gnatbind): Add initialize call for Uintp
3044 * gnatls.adb (Gnatls): Likewise.
3045 * gprep.adb (Gnatprep): Likewise.
3046 * make.adb (Initialize): Likewise.
3048 2022-06-02 Claire Dross <dross@adacore.com>
3050 * libgnat/a-cfinve.ads (Element): Change the type of the
3051 Position parameter to Extended_Index.
3052 * libgnat/a-cfinve.adb (Element): Idem.
3053 * libgnat/a-cofove.ads (Element): Idem.
3054 * libgnat/a-cofove.adb (Element): Idem.
3056 2022-06-02 Joffrey Huguet <huguet@adacore.com>
3058 * libgnat/s-atacco.ads (To_Pointer): Add Global => null.
3059 (To_Address): Add SPARK_Mode => Off.
3061 2022-06-02 Joffrey Huguet <huguet@adacore.com>
3063 * libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off.
3065 (New_Char_Array): Add global contracts and Volatile attribute.
3066 (New_String): Likewise.
3067 (Value, Strlen, Update): Add global contracts and preconditions.
3068 * libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package
3071 2022-06-01 Yannick Moy <moy@adacore.com>
3073 * contracts.adb (Check_Type_Or_Object_External_Properties): Check
3074 the validity of combinations only when No_Caching is not used.
3075 * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check
3076 valid combinations with No_Caching.
3078 2022-06-01 Doug Rupp <rupp@adacore.com>
3080 * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute
3081 based on Standard'Word_Size. (Memory_Size): Compute based
3083 * libgnat/system-vxworks7-arm.ads: Likewise.
3084 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
3085 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
3086 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
3087 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
3088 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
3090 2022-06-01 Doug Rupp <rupp@adacore.com>
3092 * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on
3095 2022-06-01 Piotr Trojanek <trojanek@adacore.com>
3097 * par-util.adb (Ignore): Add missing space to message string.
3099 2022-06-01 Yannick Moy <moy@adacore.com>
3101 * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for
3102 pragma Subprogram_Variant.
3104 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3106 * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in
3107 lieu of Returns_On_Secondary_Stack.
3108 (Expand_Call_Helper): Likewise.
3109 (Expand_Simple_Function_Return): Likewise.
3110 (Needs_BIP_Alloc_Form): Likewise.
3111 * exp_ch7.adb (Wrap_Transient_Declaration): Likewise.
3112 * sem_res.adb (Resolve_Call): Likewise.
3113 (Resolve_Entry_Call): Likewise.
3114 * sem_util.ads (Returns_On_Secondary_Stack): Rename into...
3115 (Needs_Secondary_Stack): ...this.
3116 * sem_util.adb (Returns_On_Secondary_Stack): Rename into...
3117 (Needs_Secondary_Stack): ...this.
3118 * fe.h (Returns_On_Secondary_Stack): Delete.
3119 (Needs_Secondary_Stack): New function.
3120 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call
3121 to Returns_On_Secondary_Stack with Needs_Secondary_Stack.
3123 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3125 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where
3126 there is no previous declaration, freeze the body entity only after
3127 it has been processed as a new overloaded name.
3128 Use Was_Expression_Function to recognize expression functions.
3129 * sem_disp.adb (Check_Dispatching_Operation): Do not require a body
3130 which is the last primitive to be frozen here.
3132 2022-06-01 Julien Bortolussi <bortolussi@adacore.com>
3134 * libgnat/a-cfdlli.adb ("="): Make the function properly loop
3135 over the right list.
3137 2022-06-01 Marc Poulhiès <poulhies@adacore.com>
3139 * checks.adb (Apply_Predicate_Check): Refine condition for
3140 applying optimization.
3141 * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to
3142 Should_Build_Subtype.
3143 (Analyze_Object_Declaration): Likewise.
3144 (Should_Build_Subtype): Rename/move to ...
3145 * sem_util.ads (Build_Default_Subtype_OK): ... this.
3146 * sem_util.adb (Build_Default_Subtype_OK): Moved from
3149 2022-06-01 Doug Rupp <rupp@adacore.com>
3151 * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump
3152 the pc an extra byte.
3154 2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
3156 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
3157 Document new behavior.
3158 * errout.adb (Write_JSON_Location): Output absolute paths when
3160 * switch-c.adb (Scan_Front_End_Switches): Update -gnatef
3162 * usage.adb (Usage): Update description of -gnatef.
3163 * gnat_ugn.texi: Regenerate.
3165 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3167 * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined
3168 unconditionnally on the procedure entity.
3170 2022-06-01 Piotr Trojanek <trojanek@adacore.com>
3172 * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag
3175 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3177 * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about
3178 a finalization issue.
3180 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3182 * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack
3183 instead of Requires_Transient_Scope and tidy up.
3184 (Needs_BIP_Alloc_Form): Likewise.
3185 * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return
3186 true if the build-in-place function call has no BIPalloc parameter.
3187 (Is_Finalizable_Transient): Remove redundant test.
3189 2022-06-01 Alexandre Oliva <oliva@adacore.com>
3191 * doc/gnat_rm/security_hardening_features.rst: Note that hardening
3192 features are experimental.
3193 * gnat_rm.texi: Regenerate.
3195 2022-06-01 Steve Baird <baird@adacore.com>
3197 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the
3198 Corresponding_Spec field of a wrapper subprogram body before
3199 analyzing the subprogram body; the field will be set (again)
3200 during analysis, but we need it to be set earlier.
3201 * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram
3202 bodies to the list of declarations for which we do not want to
3205 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3207 * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment.
3209 2022-06-01 Doug Rupp <rupp@adacore.com>
3211 * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx.
3213 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3216 (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly
3217 check the dependence on discriminants for the variant part, if
3218 any, instead of calling the Is_Definite_Subtype predicate.
3220 2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
3222 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag.
3224 2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
3226 * sem_warn.adb (Check_References): Adjust conditions under which
3227 warning messages should be emitted and their tags as well.
3229 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3231 * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim.
3232 * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op
3233 earlier, do not initialize Iface_Formal, use No idiom and tweaks
3235 (Register_Primitive): Declare L earlier and tweak comments.
3236 * sem_disp.adb (Check_Dispatching_Operation): Move tests out of
3239 2022-06-01 Steve Baird <baird@adacore.com>
3241 * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which
3242 did not need to be visible - it was not referenced outside this
3243 package) with Build_Or_Copy_Discr_Checking_Funcs.
3244 * exp_ch3.adb: Refactor existing code into 3 procedures -
3245 Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and
3246 Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended
3247 to be semantics-preserving.
3248 * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a
3249 call should be generated to the Discriminant_Checking_Func for
3250 the component in question, but that subprogram does not yet
3252 * sem_ch13.adb (Freeze_Entity_Checks): Immediately before
3253 calling Build_Predicate_Function, add a call to
3254 Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure
3255 that Discriminant_Checking_Func attributes are already set when
3256 Build_Predicate_Function is called.
3257 * sem_ch6.adb (Analyze_Expression_Function): If the expression
3258 of a static expression function has been transformed into an
3259 N_Raise_xxx_Error node, then we need to copy the original
3260 expression in order to check the requirement that the expression
3261 must be a potentially static expression. We also want to set
3262 aside a copy the untransformed expression for later use in
3263 checking calls to the expression function via
3264 Inline_Static_Function_Call. So introduce a new function,
3265 Make_Expr_Copy, for use in these situations.
3266 * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain
3267 expressions (e.g., a default parameter expression in a
3268 subprogram declaration) we want to suppress checks. However, we
3269 do not want to suppress checks for the expression of an
3270 expression function.
3272 2022-06-01 Bob Duff <duff@adacore.com>
3274 * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each
3275 subprogram found, assert that the variable is Empty, so we can
3276 detect bugs where we find two or more things with the same name.
3277 Without this patch, that bug would happen when we add the new
3278 Next procedure. For Step, make sure we pick the right one, by
3279 checking name and number of parameters. For Get_Element_Access,
3280 check that we're picking a function. That's not really
3281 necessary, because there is no procedure with that name, but it
3282 seems cleaner this way.
3283 * rtsfind.ads: Minor comment improvement. It seems kind of odd
3284 to say "under no circumstances", and then immediately contradict
3285 that with "The one exception is...".
3287 2022-06-01 Doug Rupp <rupp@adacore.com>
3289 * init.c (QNX): __gnat_adjust_context_for_raise: New
3290 implementation for arm-qnx.
3292 2022-06-01 Julien Bortolussi <bortolussi@adacore.com>
3294 * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference
3297 2022-06-01 Yannick Moy <moy@adacore.com>
3299 * sem_ch8.adb (Use_One_Package): Possibly warn.
3300 * sem_util.adb (Enter_Name): Factor out warning on hidden entity.
3301 (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and
3302 generalize it to be applied also on use_clause.
3303 * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure.
3305 2022-06-01 Yannick Moy <moy@adacore.com>
3307 * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error
3308 message to benefit from existing codefix.
3309 (P_Record_Definition): Detect out-of-order keywords in record
3310 definition and issue appropriate messages. Other cases are
3311 already caught at appropriate places.
3313 2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3315 * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put
3316 the actions into the Actions field of the freeze node instead of
3317 inserting them after it.
3319 2022-06-01 Marc Poulhiès <poulhies@adacore.com>
3321 * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate
3322 and Is_Enum_Array_Aggregate.
3324 2022-06-01 Bob Duff <duff@adacore.com>
3326 * einfo-utils.adb (Set_Convention): Call Set_Convention
3327 recursively, so that Set_Can_Use_Internal_Rep is called (if
3328 appropriate) on the anonymous access type of the object, and its
3329 designated subprogram type.
3330 * sem_ch3.adb (Access_Definition): Remove redundant call to
3331 Set_Can_Use_Internal_Rep.
3333 2022-06-01 Bob Duff <duff@adacore.com>
3335 * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned
3337 * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because
3338 this is not used in gigi.
3339 * opt.ads (Assume_No_Invalid_Values): Improve the comment. We
3340 don't need to "clearly prove"; we can just "prove". Remove the
3341 comment about fe.h, which is no longer true.
3343 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3345 * erroutc.adb (Get_Warning_Option): Don't consider `?` as a
3346 valid option switch.
3348 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3350 * erroutc.ads (Get_Warning_Option): New function returning the
3351 option responsible for a warning if it exists.
3352 * erroutc.adb (Get_Warning_Option): Likewise.
3353 (Get_Warning_Tag): Rely on Get_Warning_Option when possible.
3354 * errout.adb (Output_JSON_Message): Emit option field.
3356 2022-05-30 Julien Bortolussi <bortolussi@adacore.com>
3358 * libgnat/a-cfdlli.ads (Insert): Remove the duplication.
3360 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
3362 * exp_ch6.adb (Check_Subprogram_Variant): Ignore structural
3365 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
3367 * osint.adb (Locate_File): Change variable to constant and
3368 initialize it by concatenation of directory, file name and NUL.
3370 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
3372 * doc/gnat_rm/implementation_advice.rst (Packed Types): Remove
3373 duplicated and wrongly placed paragraph.
3374 * gnat_rm.texi: Regenerate.
3376 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3378 * inline.adb (Check_Package_Body_For_Inlining): Add insertion
3381 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3383 * freeze.adb (Warn_Overlay): Add 'o' insertion character.
3384 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise.
3385 * sem_util.adb (Note_Possible_Modifications): Likewise.
3387 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3389 * sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion
3392 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3394 * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
3395 Fix insertion character.
3397 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3399 * sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f'
3400 insertion characters.
3402 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
3404 * lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
3405 Process_Deferred_References, Has_Deferred_Reference): Remove
3407 * lib-xref.adb (Deferred_References, Defer_Reference,
3408 Has_Deferred_Reference, Process_Deferred_References): Remove
3410 * frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
3411 sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.
3413 2022-05-30 Bob Duff <duff@adacore.com>
3415 * exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in
3416 the case of function bodies. We include all subprogram bodies,
3417 because it's harmless for procedures. We cannot easily avoid
3418 creating this block in ALL cases, because some transformations
3419 of (e.g.) task bodies end up moving some code such that the
3420 wrong exception handlers apply to that code.
3421 (Build_Finalizer_Call): Remove code for creating a new block.
3422 This was unreachable code, given that Wrap_HSS_In_Block has
3423 already done that, but with the above change to
3424 Wrap_HSS_In_Block, this code becomes reachable, and triggers
3425 essentially the same bug.
3426 * exp_ch7.ads: Adjust comment.
3428 2022-05-30 Justin Squirek <squirek@adacore.com>
3430 * par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
3431 formals instead of just the last in a formal id list.
3432 * sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
3433 generic procedures as trivial in order to avoid spurious
3434 unreferenced warnings.
3436 2022-05-30 Romain Beguet <beguet@adacore.com>
3438 * libgnat/s-dwalin.adb: Add a subtype declaration to fix the
3441 2022-05-30 Steve Baird <baird@adacore.com>
3443 * sem_ch13.adb (Is_Predicate_Static): Do not generate warnings
3444 about subexpressions of enclosing expressions. Generate warnings
3445 for predicates that are known to be always true or always false,
3446 except in the case where the predicate is expressed as a Boolean
3447 literal. Deal with non-predicate-static expressions that have
3448 been transformed into predicate-static expressions. Add missing
3449 Is_Type_Ref call to N_Membership_Test case.
3451 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3453 * exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate):
3454 Skip the discriminants at the start of the component list before
3455 looking for the components inherited from the parent in the case
3456 of a tagged extension.
3458 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3460 * exp_disp.adb (Make_DT): Remove remaining freezing code.
3462 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3464 * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze
3465 the body of an expression function in the case of a dispatch table.
3467 2022-05-30 Arnaud Charlet <charlet@adacore.com>
3469 * gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode.
3471 2022-05-30 Yannick Moy <moy@adacore.com>
3473 * Makefile.rtl: Add new units.
3474 * libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers.
3475 * libgnat/s-spcuop.adb: New unit for ghost cut operations.
3476 * libgnat/s-spcuop.ads: New unit for ghost cut operations.
3477 * libgnat/s-spark.ads: New unit.
3479 2022-05-30 Alexandre Oliva <oliva@adacore.com>
3481 * doc/gnat_rm/security_hardening_features.rst: Mention
3482 availability in other languages when applicable.
3483 (Stack Scrubbing): Associate the attribute with types, expand
3484 some comments, fix the example involving access to variables.
3485 * gnat_rm.texi: Regenerate.
3487 2022-05-30 Piotr Trojanek <trojanek@adacore.com>
3489 * libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment.
3491 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3493 * sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the
3494 overriding of the "=" operator for tagged types.
3496 2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3498 * exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT.
3499 * exp_disp.ads (Building_Static_DT): Remove pragma Inline.
3500 (Building_Static_Secondary_DT): Likewise.
3501 (Convert_Tag_To_Interface): Likewise.
3502 (Make_DT): Remove second parameter.
3503 * exp_disp.adb (Make_DT): Likewise.
3504 (Check_Premature_Freezing): Delete.
3505 Pass Do_Freeze_Profile as False in call to Freeze_Entity.
3506 * freeze.ads (Freezing_Library_Level_Tagged_Type): Delete.
3507 * freeze.adb (Freeze_Profile): Remove obsolete code.
3508 (Freeze_Entity): Tweak comment.
3510 2022-05-30 Yannick Moy <moy@adacore.com>
3512 * libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up.
3514 2022-05-30 Yannick Moy <moy@adacore.com>
3517 * libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic
3518 bodies making use of additional assertions or ghost code.
3519 * libgnat/s-gearop.ads: Remove confusing Assertion_Policy.
3521 2022-05-30 Steve Baird <baird@adacore.com>
3523 * exp_ch11.adb (Expand_N_Raise_Expression): Remove
3524 Convert_To_Return_False test.
3525 * gen_il-fields.ads: Remove Convert_To_Return_False field.
3526 * gen_il-gen-gen_nodes.adb: Remove use of
3527 Convert_To_Return_False field.
3528 * sinfo.ads: Remove comment describing Convert_To_Return_False
3531 2022-05-30 Julien Bortolussi <bortolussi@adacore.com>
3533 * libgnat/a-cofuma.ads, libgnat/a-cofuma.adb,
3534 libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
3535 libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty
3538 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3540 * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA
3542 (Gen_CUDA_Defs): New function, generating definitions
3543 initialized by Gen_CUDA_Init.
3544 (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of
3546 (Gen_Adainit): Call Gen_CUDA_Init.
3548 2022-05-28 Alexandre Oliva <oliva@adacore.com>
3550 * gcc-interface/Makefile.in (OSCONS_CC): Rename to...
3551 (GCC_FOR_ADA_RTS): ... this. Adjust users.
3552 (gnatlib): Pass it down as CC.
3553 (gnatlib-shared-default): Likewise.
3554 (gnatlib-shared-win32, gnatlib-shared-darwin): Likewise.
3556 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3558 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
3559 a constant related to a return in a function specially.
3560 * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
3561 if the target is a return object.
3562 (gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
3563 to a return in a function specially.
3565 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3567 * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING
3568 on the decl if Comes_From_Source is false for the associated node.
3570 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3572 * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up.
3574 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3576 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
3577 process_attributes for built-in functions.
3578 (prepend_one_attribute_pragma): Deal with "simd" attribute.
3579 * gcc-interface/utils.cc (handle_simd_attribute): New function.
3580 (gnat_internal_attribute_table): Add entry for "simd" attribute.
3582 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3584 * gcc-interface/decl.cc (components_to_record): Use NULL recursively
3585 as P_GNU_REP_LIST for the innermost variant level in the unchecked
3586 union case with a fixed part.
3588 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3590 * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node
3591 to a node without location.
3593 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3595 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And
3596 skip the elaboration of the designated subtype when that of its base
3597 type has been delayed.
3599 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3601 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If
3602 it is a special subtype designated by an access subtype, then defer
3603 the completion of incomplete types.
3605 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3607 * gcc-interface/ada-tree.h, gcc-interface/ada.h,
3608 gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust
3611 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3613 * gcc-interface/utils.cc (unchecked_convert): Do not fold a string
3614 constant if the target type is pointer to character.
3616 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
3618 * sem_prag.adb (Analyze_Pragma): Remove redundant call to
3621 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
3623 * sem_ch8.adb (Find_Expanded_Name): Emit a main error message
3624 before adding a continuation with the call to
3625 Error_Missing_With_Of_Known_Unit.
3627 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3629 * sem_util.ads (Requires_Transient_Scope): Add pragma Inline.
3631 2022-05-19 Steve Baird <baird@adacore.com>
3633 * sem_ch13.adb (Build_Predicate_Functions): If a semantic error
3634 has been detected then ignore Predicate_Failure aspect
3635 specifications in the same way as is done for CodePeer and
3636 SPARK. This avoids an internal compiler error if
3637 Ancestor_Predicate_Function_Called is True but Result_Expr is
3638 not an N_And_Then node (and is therefore unsuitable as an
3639 argument in a call to Left_Opnd).
3641 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3643 * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack
3644 to enclosing function if it does not return on the secondary stack.
3645 * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope
3646 with Manage_Sec_Stack set to True only when necessary.
3647 * sem_res.adb (Resolve_Call): Likewise.
3648 (Resolve_Entry_Call): Likewise.
3650 2022-05-19 Daniel Mercier <mercier@adacore.com>
3652 * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
3653 failure in CodePeer mode.
3655 2022-05-19 Arnaud Charlet <charlet@adacore.com>
3657 * raise-gcc.c: Fix compilation with -DSTANDALONE under windows.
3659 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3661 * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype.
3663 2022-05-19 Javier Miranda <miranda@adacore.com>
3665 * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New
3666 subprogram which factorizes code.
3667 (Expand_N_Attribute_Reference): Call the new subprogram to add
3668 the missing implicit interface type conversion.
3670 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
3672 * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
3673 failure in GNATprove mode.
3675 2022-05-19 Steve Baird <baird@adacore.com>
3677 * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M
3678 function and Set_Predicate_Function_M procedure.
3679 * einfo.ads: Delete comments for Is_Predicate_Function_M and
3680 Predicate_Function_M functions. Add comment for new
3681 Predicate_Expression function. Update comment describing
3682 predicate functions.
3683 * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem
3684 formal parameter with Static_Mem and Dynamic_Mem formals.
3685 (Make_Predicate_Check): Delete Add_Failure_Expression and call
3687 * exp_ch4.adb (Expand_N_In.Predicate_Check): Update
3688 Make_Predicate_Call call to match profile change.
3689 * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add
3690 Predicate_Expression field.
3691 * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M
3692 use, add Predicate_Expression use.
3693 * sem_ch13.adb (Build_Predicate_Functions): Rename as singular,
3694 not plural; we no longer build a Predicate_M function. Delete
3695 Predicate_M references. Add new Boolean parameter for predicate
3696 functions when needed. Restructure body of generated predicate
3697 functions to implement required Predicate_Failure behavior and
3698 to set new Predicate_Expression attribute. Remove special
3699 treatment of raise expressions within predicate expressions.
3700 * sem_util.ads (Predicate_Failure_Expression,
3701 Predicate_Function_Needs_Membership_Parameter): New functions.
3702 * sem_util.adb (Is_Current_Instance): Fix bugs which caused
3704 (Is_Current_Instance_Reference_In_Type_Aspect): Delete
3705 Is_Predicate_Function_M reference.
3706 (Predicate_Failure_Expression): New function.
3707 (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M
3710 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3712 * exp_ch6.adb (Expand_Call_Helper): Adjust comment.
3713 (Expand_Simple_Function_Return): For the case of a type which needs
3714 finalization and is returned on the primary stack, do not create a
3715 copy if the expression originates from a function call.
3716 * exp_ch7.adb (Transient Scope Management): Adjust comment.
3717 * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line.
3718 * fe.h (Is_Related_To_Func_Return): Declare.
3720 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
3722 * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts
3723 from the constructed IF statement.
3725 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
3727 * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose
3728 condition was true-by-construction; remove excessive assertion
3729 (since the call to Elsif_Parts will check that Nod is present
3730 and it is an if-statement).
3732 2022-05-19 Arnaud Charlet <charlet@adacore.com>
3734 * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref.
3735 * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
3736 doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto.
3737 * gnat_ugn.texi: Regenerate.
3738 * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads,
3739 xref_lib.adb, xref_lib.ads: Removed, no longer used.
3741 2022-05-19 Claire Dross <dross@adacore.com>
3743 * libgnat/a-strfix.adb: Add assertions.
3744 * libgnat/a-strsup.adb: Idem.
3746 2022-05-19 Ed Schonberg <schonberg@adacore.com>
3748 * erroutc.ads: Fix a single-character typo in a comment.
3749 * exp_aggr.adb: Fix a single-character typo in a comment.
3750 Replace several pairs of calls to Low_Bound and
3751 High_Bound (which do not handle an identifier that denotes a
3752 scalar subtype) with corresponding calls to Get_Index_Bounds
3753 (which does handle that case).
3754 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the
3755 Component_Associations attribute of a null array aggregate to
3757 * sem_aggr.ads: New visible function
3758 Is_Null_Array_Aggregate_High_Bound.
3759 * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound,
3760 Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions.
3761 (Resolve_Aggregate): Recognize null array aggregates (using
3762 Is_Null_Aggregate) and, when one is recognized, resolve
3763 it (using Resolve_Null_Array_Aggregate). Avoid calling
3764 Array_Aggr_Subtype for a null array aggregate; the needed
3765 subtype is built in Resolve_Null_Array_Aggregate. Do not
3766 incorrectly flag a null aggregate (after it is transformed by
3767 expansion) as being both positional and named.
3768 * sem_attr.adb (Eval_Attribute): Special treatment for null
3769 array aggregate high bounds to avoid incorrectly flagging
3770 something like Integer'Pred (Integer'First) as an illegal static
3772 * sem_eval.adb (Out_Of_Range): Special treatment for null array
3773 aggregate high bounds to avoid incorrectly flagging something
3774 like Integer'Pred (Integer'First) as an illegal static
3777 2022-05-19 Yannick Moy <moy@adacore.com>
3779 * libgnat/s-aridou.adb (Lemma_Abs_Range,
3780 Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas.
3781 (Double_Divide): Add ghost code.
3782 (Lemma_Concat_Definition, Lemma_Double_Shift_Left,
3783 Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas.
3784 (Scaled_Divide): Add ghost code.
3786 2022-05-19 Bob Duff <duff@adacore.com>
3788 * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same*
3789 modular type, with a check for any modular type, and assert that
3790 the two types have the same modulus and so on.
3791 * exp_pakd.ads: Minor comment improvements.
3793 2022-05-19 Bob Duff <duff@adacore.com>
3795 * style.adb (Check_Identifier): Deal with the case where a
3796 record component definition has been transformed; we want to
3797 warn if the original came from source.
3798 * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF
3800 * uname.adb: Fix casing of Chars to be consistent.
3801 * sem_util.ads: Minor comment fix.
3803 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3805 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta.
3806 * debug.adb (d_r): Document usage.
3807 * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool.
3808 * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to
3809 Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal
3810 with types that need finalization returned on the primary stack,
3811 use CW_Or_Needs_Finalization for those returned on the secondary.
3812 * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early
3813 for the return stack pool.
3814 (Remove_Side_Effects): Call CW_Or_Needs_Finalization.
3815 * fe.h (Requires_Transient_Scope): Delete.
3816 (Returns_On_Secondary_Stack): Declare.
3817 * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot
3818 to False when generating C code or if -gnatd_r is specified.
3819 * opt.ads (Back_End_Return_Slot): New boolean variable.
3820 * rtsfind.ads (RTU_Id): Add System_Return_Stack.
3821 (RE_Id): Add RE_RS_Allocate and RE_RS_Pool.
3822 (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool.
3823 * sem_util.ads (CW_Or_Has_Controlled_Part): Delete.
3824 (CW_Or_Needs_Finalization): Declare.
3825 (Requires_Transient_Scope): Adjust description.
3826 (Returns_On_Secondary_Stack): Declare.
3827 * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types
3828 which need finalization if they are returned on the secondary stack.
3829 (CW_Or_Has_Controlled_Part): Rename to...
3830 (CW_Or_Needs_Finalization): ...this.
3831 (Requires_Transient_Scope): Move bulk of implementation to...
3832 (Returns_On_Secondary_Stack): ...here. Return true for types which
3833 need finalization only if the back-end return slot is not supported.
3834 * libgnat/s-retsta.ads: New file.
3835 * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define.
3836 * gcc-interface/ada-builtins.def (return_slot): Likewise.
3837 * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise.
3838 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to
3839 Requires_Transient_Scope with Returns_On_Secondary_Stack.
3840 * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>:
3841 In the return by invisible reference, skip the copy if the source
3842 is the same as the destination.
3843 * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with
3844 the return stack pool.
3846 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3848 * gcc-interface/trans.cc: Fix formatting issues in comments.
3849 (Subprogram_Body_to_gnu): Tidy up.
3850 (Exception_Handler_to_gnu_gcc): Rename into...
3851 (Exception_Handler_to_gnu): ...this.
3852 (gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming.
3854 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3856 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple
3857 of local variables and use Is_Generic_Subprogram predicate.
3858 (process_decls): Likewise.
3860 2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3862 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with
3863 inlining heuristics for expression functions here but...
3864 * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead
3865 and do not override them at -Os.
3867 2022-05-19 Piotr Trojanek <trojanek@adacore.com>
3869 * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code
3870 which expected Scope to return E_Subprogram_Body entity.
3872 2022-05-18 Claire Dross <dross@adacore.com>
3874 * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion.
3876 2022-05-18 Doug Rupp <rupp@adacore.com>
3878 * sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *.
3880 2022-05-18 Doug Rupp <rupp@adacore.com>
3882 * sigtramp-arm-qnx.c: Rewrite.
3884 2022-05-18 Yannick Moy <moy@adacore.com>
3886 * libgnat/s-aridou.adb (Big3): Change return type.
3887 (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder
3889 (Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New
3891 (Double_Divide, Scaled_Divide): Add assertions.
3893 2022-05-18 Claire Dross <dross@adacore.com>
3895 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions.
3897 2022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
3899 * libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output
3900 parameter in case we return early.
3902 2022-05-18 Bob Duff <duff@adacore.com>
3904 * libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads,
3905 libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
3906 libgnat/a-cbhase.adb, libgnat/a-cdlili.adb,
3907 libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb,
3908 libgnat/a-cfhase.adb, libgnat/a-cidlli.adb,
3909 libgnat/a-cihama.adb, libgnat/a-cihase.adb,
3910 libgnat/a-cohama.adb, libgnat/a-cohase.adb,
3911 libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb
3912 (Vet): Make the Vet functions do nothing when
3913 Container_Checks'Enabled is False, and inline them, so the calls
3914 disappear when optimizing.
3916 2022-05-18 Doug Rupp <rupp@adacore.com>
3918 * Makefile.rtl (arm-qnx): Use default (non-fma) target pair.
3920 2022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
3922 * libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to
3923 changes in the signature of Read_Aranges_*.
3924 (Debug_Info_Lookup): Do not control address size read from
3926 (Read_Aranges_Header): Do not control address size read from
3927 DWARF; return this size.
3928 (Read_Aranges_Entry): Use the size returned by
3929 Read_Aranges_Header.
3931 2022-05-18 Gary Dismukes <dismukes@adacore.com>
3933 * errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and
3935 * errout.adb (Error_Msg_GNAT_Extension): Condition message on
3936 the flag Ada_Version_Pragma, and add suggestion to use of pragma
3937 Extensions_Allowed in messages.
3938 * par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb,
3939 par-ch12.adb: Add actual Token_Ptr on calls to
3940 Error_Msg_GNAT_Extension.
3941 * par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for
3942 error calls related to use of extension features.
3943 * sem_ch13.adb: Likewise.
3945 2022-05-18 Johannes Kliemann <kliemann@adacore.com>
3947 * libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
3950 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
3952 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form.
3954 2022-05-18 Javier Miranda <miranda@adacore.com>
3956 * sem_ch6.adb (Find_Corresponding_Spec): Avoid calling
3957 Is_Null_Extension with a class-wide type entity.
3958 (Overrides_Visible_Function): Handle alias entities.
3959 * sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion
3960 not needed if the result type of the call is class-wide or if
3961 the result type matches the context type.
3962 * sem_util.ads (Is_Null_Extension): Adding documentation.
3963 (Is_Null_Extension_Of): Adding documentation.
3964 * sem_util.adb (Is_Null_Extension): Adding assertion.
3965 (Is_Null_Extension_Of): Adding assertions.
3967 2022-05-18 Javier Miranda <miranda@adacore.com>
3969 * snames.ads-tmpl (Name_Index): New attribute name.
3970 (Attribute_Id): Adding Attribute_Index as regular attribute.
3971 * sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
3973 (Analyze_Index_Attribute): Check that 'Index appears in a
3974 pre-/postcondition aspect or pragma associated with an entry
3976 (Analyze_Attribute): Adding semantic analysis for 'Index.
3977 (Eval_Attribute): Register 'Index as can never be folded.
3978 (Resolve_Attribute): Resolve attribute 'Index.
3979 * sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
3981 (Analyze_Requeue): Check that the requeue target shall not have
3982 an applicable specific or class-wide postcondition which
3983 includes an Index attribute reference.
3984 * exp_attr.adb (Expand_N_Attribute_Reference): Transform
3985 attribute Index into a renaming of the second formal of the
3986 wrapper built for an entry family that has contract cases.
3987 * einfo.ads (Is_Entry_Wrapper): Complete documentation.
3989 2022-05-18 Yannick Moy <moy@adacore.com>
3991 * libgnat/s-imagei.adb (Set_Digits): Add assertion.
3992 * libgnat/s-imgboo.adb (Image_Boolean): Add assertions.
3993 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
3995 2022-05-18 Arnaud Charlet <charlet@adacore.com>
3997 * sem_aux.adb (Is_Immutably_Limited_Type): Do not look through
3998 private types as per RM 7.5(8.1).
3999 * sem_ch6.adb (Analyze_Function_Return): Use
4000 Is_Immutably_Limited_Type as per RM 6.5(5.10).
4002 2022-05-18 Marc Poulhiès <poulhies@adacore.com>
4004 * gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add
4005 Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes.
4006 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting.
4007 * sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets
4008 for record aggregate.
4009 (Resolve_Record_Aggregate): Uniformise error message.
4011 2022-05-18 Arnaud Charlet <charlet@adacore.com>
4013 * ali.adb (Scan_ALI): Special case a-tags.ali when setting
4015 * bindgen.adb (Gen_Adainit): Simplify handling of secondary
4016 stack related code, and only import __gnat_binder_ss_count when
4018 * libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to
4021 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4023 * libgnat/s-dourea.adb ("/"): Add guard for zero and infinite
4025 * libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large
4028 2022-05-18 Yannick Moy <moy@adacore.com>
4030 * sem_elab.adb (Is_Suitable_Construct): Fix for generated
4033 2022-05-18 Marc Poulhiès <poulhies@adacore.com>
4035 * sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check
4036 for type conversion if object's subtype and expression's subtype
4038 * exp_prag.adb (Expand_Pragma_Check): Typo fix in comment.
4040 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4042 * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo.
4043 * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the
4044 renaming only for actuals of formal objects.
4046 2022-05-18 Gary Dismukes <dismukes@adacore.com>
4048 * sem_ch3.adb (Check_Abstract_Overriding): If the type is
4049 derived from an untagged type, then don't perform any of the
4050 abstract overriding error checks.
4052 2022-05-18 Piotr Trojanek <trojanek@adacore.com>
4054 * exp_aggr.adb (Component_Count): Calculate size as an Uint and
4055 only then check if it is in the range of Int, as otherwise the
4056 multiplication of Int values can overflow.
4058 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4060 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext).
4061 (SIMD_PATH_TARGET_PAIRS): New variable.
4062 (TRASYM_DWARF_COMMON_OBJS): Minor tweak.
4063 (x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS.
4064 (x32/Linux): Likewise.
4065 * doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions):
4067 * gnat_rm.texi: Regenerate.
4068 * impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu.
4069 * sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for
4070 instances of generic packages that do not have a body.
4071 * libgnat/a-nalofl__simd.ads: New SIMD-enabled version.
4072 * libgnat/a-nuaufl__simd.ads: Likewise.
4073 * libgnat/g-gfmafu.ads: New package renaming unit.
4075 2022-05-18 Arnaud Charlet <charlet@adacore.com>
4077 * freeze.adb (Should_Freeze_Type): Fix handling of freezing in
4080 2022-05-18 Marc Poulhiès <poulhies@adacore.com>
4082 * sem_ch12.adb (Check_Generic_Parent): Use
4083 Get_Unit_Instantiation_Node instead of Next.
4085 2022-05-18 Alexandre Oliva <oliva@adacore.com>
4087 * libgnat/a-nagefl.ads: Replace mentions of C/unix math library
4089 * libgnat/a-nallfl.ads: Likewise. State compatibility
4091 * libgnat/a-nalofl.ads: Likewise.
4092 * libgnat/a-nuaufl.ads: Likewise.
4094 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4096 * sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
4097 In_Instance to outer condition.
4099 2022-05-18 Doug Rupp <rupp@adacore.com>
4101 * Makefile.rtl: Rename system-qnx-aarch64.ads to
4103 (AARCH64 QNX section): Modify to handle both arm and arch64.
4104 * tracebak.c (__QNX__): Add new __ARMEL__ section.
4105 * sigtramp-arm-qnx.c: New file.
4106 * libgnat/system-qnx-aarch64.ads: Renamed to ...
4107 * libgnat/system-qnx-arm.ads: this.
4109 2022-05-17 Piotr Trojanek <trojanek@adacore.com>
4111 * sem_res.adb (Flag_Effectively_Volatile_Objects): Restore
4114 2022-05-17 Gary Dismukes <dismukes@adacore.com>
4116 * sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for
4117 the case of a renamed subprogram given by an expanded name whose
4118 outermost prefix names a unit that is hidden by the name of the
4120 (Ult_Expanded_Prefix): New local expression function to return
4121 the ultimate prefix of an expanded name.
4123 2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
4125 * gnat_cuda.ads: Update package-level comments.
4126 (Build_And_Insert_CUDA_Initialization): Remove function.
4127 * gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove
4129 (Expand_CUDA_Package): Remove call to
4130 Build_And_Insert_CUDA_Initialization.
4132 2022-05-17 Etienne Servais <servais@adacore.com>
4134 * freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance
4135 message and silence warning for size > 32.
4137 2022-05-17 Yannick Moy <moy@adacore.com>
4139 * exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no
4141 * inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New
4143 * inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New
4145 (Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding
4146 inlining for subprograms inside generics.
4147 * sem_ch12.adb (Copy_Generic_Node): Preserve global entities
4148 when inlining in GNATprove mode.
4149 * sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to
4150 inline if renaming is detected in GNATprove mode.
4152 2022-05-17 Gary Dismukes <dismukes@adacore.com>
4154 * exp_ch4.adb (Expand_N_Allocator): For an allocator with an
4155 unconstrained discriminated designated type, and whose
4156 allocation subtype is constrained, set the
4157 Actual_Designated_Subtype of the dereference passed to the init
4158 proc of the designated type to be the allocation subtype.
4159 * sinfo.ads: Add documentation of new setting of
4160 Actual_Designated_Subtype on a dereference used as an actual
4161 parameter of call to an init proc associated with an allocator.
4162 Also add missing syntax and documentation for the GNAT language
4163 extension that allows an expression as a default for a concrete
4164 generic formal function.
4166 2022-05-17 Bob Duff <duff@adacore.com>
4168 * sinfo.ads: Remove From_At_End. Update comments.
4169 * gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb:
4171 * exp_ch11.adb (Expand_At_End_Handler): Remove assertion.
4172 * fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC,
4173 Has_Invariants, Is_List_Member, List_Containing): Remove
4174 declarations that are not used in gigi.
4175 * opt.ads (Exception_Mechanism): This is not used in gigi.
4176 * exp_util.ads: Minor comment fix.
4178 2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
4180 * impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list.
4182 2022-05-17 Yannick Moy <moy@adacore.com>
4184 * sem_ch5.adb (Analyze_Iterator_Specification): Use
4185 Insert_Action when possibly inside an expression.
4187 2022-05-17 Marc Poulhiès <poulhies@adacore.com>
4189 * libgnat/g-forstr.adb (Is_Number): Add scientific notation and
4190 shortest representation.
4192 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4194 * exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N.
4196 2022-05-17 Bob Duff <duff@adacore.com>
4198 * exp_util.adb (Requires_Cleanup_Actions): Remove
4199 N_Protected_Body from the case statement, so that case will be
4200 covered by "raise Program_Error".
4202 2022-05-17 Bob Duff <duff@adacore.com>
4204 * output.adb (Pop_Output, Set_Output): Unconditionally flush
4205 output when switching from one output destination to another.
4206 Otherwise buffering can cause garbled output.
4207 (w): Push/pop the current settings, and temporarily
4208 Set_Standard_Error during these procedures.
4210 2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
4212 * libgnat/g-binsea.ads, libgnat/g-binsea.adb
4213 (GNAT.Binary_Search): New package.
4214 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list.
4215 * doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New
4217 * gnat_rm.texi: Regenerate.
4219 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4221 * sem_ch12.ads (Is_Abbreviated_Instance): Declare.
4222 * sem_ch12.adb (Check_Abbreviated_Instance): Declare.
4223 (Requires_Conformance_Checking): Declare.
4224 (Analyze_Association.Process_Default): Fix subtype of parameter.
4225 (Analyze_Formal_Object_Declaration): Check whether it is in the
4226 visible part of abbreviated instance.
4227 (Analyze_Formal_Subprogram_Declaration): Likewise.
4228 (Analyze_Formal_Type_Declaration): Likewise.
4229 (Analyze_Package_Instantiation): Do not check for a generic child
4230 unit in the case of an abbreviated instance.
4231 (Check_Abbreviated_Instance): New procedure.
4232 (Check_Formal_Packages): Tidy up.
4233 (Copy_Generic_Elist): Fix comment.
4234 (Instantiate_Formal_Package): Tidy up. If the generic unit is a
4235 child unit, copy the qualified name onto the abbreviated instance.
4236 (Is_Abbreviated_Instance): New function.
4237 (Collect_Previous_Instances): Call Is_Abbreviated_Instance.
4238 (Requires_Conformance_Checking): New function.
4239 * sem_ch7.adb (Analyze_Package_Specification): Do not install the
4240 private declarations of the parent for an abbreviated instance.
4242 2022-05-17 Etienne Servais <servais@adacore.com>
4244 * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type
4246 (Constrain_Array): Ditto for T.
4248 2022-05-17 Arnaud Charlet <charlet@adacore.com>
4250 * sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow
4251 'Reduce for Ada 2022 and above.
4252 * sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer
4253 implementation defined.
4255 2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
4257 * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate
4258 Abort_Undefers when not Abort_Allowed.
4260 2022-05-17 Marc Poulhiès <poulhies@adacore.com>
4262 * exp_ch7.adb: Fix typo.
4264 2022-05-17 Etienne Servais <servais@adacore.com>
4266 * lib.ads: initialize `Compiler_State` to `Parsing`.
4268 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4270 * sem_ch13.adb (Has_Compatible_Representation): Return true for
4271 derived untagged record types without representation clause.
4273 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4275 * sem_ch13.ads (Has_Compatible_Representation): Minor tweaks.
4276 * sem_ch13.adb (Has_Compatible_Representation): Look directly into
4277 the (implementation) base types and simplifiy accordingly.
4278 * exp_ch5.adb (Change_Of_Representation): Adjust.
4279 * exp_ch6.adb (Expand_Actuals): Likewise.
4281 2022-05-17 Etienne Servais <servais@adacore.com>
4283 * sem_ch5.adb (Analyze_Assignment): Remove superfluous call to
4286 2022-05-17 Javier Miranda <miranda@adacore.com>
4288 * freeze.adb (Freeze_Entity): Protect the call to
4289 Declaration_Node against entities of expressions replaced by the
4290 frontend with an N_Raise_CE node.
4292 2022-05-17 Javier Miranda <miranda@adacore.com>
4294 * freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding
4295 indicator because the DTW wrapper overrides its wrapped
4297 * contracts.ads (Make_Class_Precondition_Subps): Adding
4300 2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4302 * exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for
4303 subprograms only if they have no actions.
4304 * exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions
4305 field of the freeze node instead of inserting them after it.
4306 * sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment.
4307 * gcc-interface/trans.cc (process_freeze_entity): Return early for
4308 freeze nodes of subprograms with Interface_Alias set.
4310 2022-05-17 Javier Miranda <miranda@adacore.com>
4312 * contracts.adb (Build_Call_Helper_Body): Improve handling of
4313 the case of a (legal) non-dispatching call to an abstract
4316 2022-05-17 Piotr Trojanek <trojanek@adacore.com>
4318 * doc/gnat_rm/implementation_defined_attributes.rst
4319 (Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume;
4321 * gnat_rm.texi: Regenerate.
4323 2022-05-17 Etienne Servais <servais@adacore.com>
4325 * par-ch3.adb (P_Access_Type_Definition): Outputs an error if
4326 token is not "access".
4328 2022-05-17 Piotr Trojanek <trojanek@adacore.com>
4330 * exp_ch2.adb (Expand_Current_Value): Remove special case for
4331 references immediately within pragma argument associations.
4332 * exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special
4335 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4337 * sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the
4338 equality operator on the homonym chain if there is another equality
4339 operator in the private part.
4341 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4343 * exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value
4344 propagation when analysing the constant that holds the
4345 Loop_Entry prefix value.
4347 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4349 * sem_attr.adb (Address_Checks): Remove call to
4350 Kill_Current_Values for subprogram entities, because this
4351 routine only does something for object entities.
4353 2022-05-16 Justin Squirek <squirek@adacore.com>
4355 * exp_ch7.adb (Build_Finalizer): Disable late evaluation of
4356 postconditions for functions returning types which where
4357 Has_Unconstrained_Elements is true or are unconstrained arrays.
4359 2022-05-16 Etienne Servais <servais@adacore.com>
4361 * exp_ch4.adb (Expand_N_Qualified_Expression): Freeze
4364 2022-05-16 Yannick Moy <moy@adacore.com>
4366 * libgnat/s-aridou.adb (Double_Divide): Add intermediate
4369 2022-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
4371 * lib-writ.adb (Output_CUDA_Symbols): Check for null packages.
4373 2022-05-16 Joel Brobecker <brobecker@adacore.com>
4375 * libgnat/g-debpoo.ads: Improve documentation of the
4376 Stack_Trace_Depth parameter.
4378 2022-05-16 Joel Brobecker <brobecker@adacore.com>
4380 * init.c (__gnat_install_handler) [__QNX__]: Save sigaction's
4381 return value in err before checking err's value. Fix incorrect
4382 signal names in perror messages.
4384 2022-05-16 Joel Brobecker <brobecker@adacore.com>
4386 * init.c (__gnat_install_handler) [__QNX__]: Set
4387 act.sa_sigaction rather than act.sa_handler.
4389 2022-05-16 Joel Brobecker <brobecker@adacore.com>
4391 * cstreams.c: Add <stdlib.h> #include.
4393 2022-05-16 Joel Brobecker <brobecker@adacore.com>
4395 * terminals.c: Remove bzero #define on HP/UX or Solaris
4397 (child_setup_tty): Replace bzero call by equivalent call to
4400 2022-05-16 Gary Dismukes <dismukes@adacore.com>
4402 * sem_util.ads (Storage_Model_Support): Revise comments on most
4403 operations within this nested package to reflect that they can
4404 now be passed either a type that has aspect Storage_Model_Type
4405 or an object of such a type. Change the names of the relevant
4406 formals to SM_Obj_Or_Type. Also, add more precise semantic
4407 descriptions in some cases, and declare the subprograms in a
4409 * sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add
4410 an assertion that the type must specify aspect
4411 Designated_Storage_Model, rather than returning Empty when it
4412 doesn't specify that aspect.
4413 (Storage_Model_Support.Storage_Model_Type): Add an assertion
4414 that formal must be an object whose type specifies aspect
4415 Storage_Model_Type, rather than returning Empty for when it
4416 doesn't have such a type (and test Has_Storage_Model_Type_Aspect
4417 rather than Find_Value_Of_Aspect).
4418 (Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow
4419 both objects and types, and add an assertion that the type (or
4420 the type of the object) has a value for aspect
4423 2022-05-16 Etienne Servais <servais@adacore.com>
4425 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
4426 Fix condition to return.
4428 2022-05-16 Yannick Moy <moy@adacore.com>
4430 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment.
4432 2022-05-16 Marc Poulhiès <poulhies@adacore.com>
4434 * sem_aggr.adb (Resolve_Iterated_Association): Create scope
4435 around N_Iterated_Element_Association handling. Analyze a copy
4436 of the Loop_Parameter_Specification. Call Analyze instead
4437 Analyze_* to be more homogeneous.
4438 (Sem_Ch5): Remove now unused package.
4440 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4442 * exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>:
4443 Climb up out of the node if the actions come from Discrete_Choices.
4445 2022-05-16 Javier Miranda <miranda@adacore.com>
4447 * sem_disp.adb (Check_Dispatching_Context): When checking to see
4448 whether an expression occurs in a class-wide pre/post-condition,
4449 also check for the possibility that it occurs in a class-wide
4450 preconditions subprogram that was introduced as part of
4451 expansion. Without this fix, some legal calls occuring in
4452 class-wide preconditions may be incorrectly flagged as violating
4453 the "a call to an abstract subprogram must be dispatching" rule.
4455 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4457 * inline.adb (Cleanup_Scopes): Test the underlying type.
4459 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4461 * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare.
4462 * sem_util.adb (Is_Entity_Of_Quantified_Expression): New
4464 (New_Copy_Tree): Deal with all entities of quantified
4466 * sem_ch13.adb (Build_Predicate_Functions): Get rid of
4467 superfluous tree copying and remove obsolete code.
4468 * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all
4469 entities of quantified expressions.
4471 2022-05-16 Steve Baird <baird@adacore.com>
4473 * exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call
4474 variable to keep track of the last "early finalization" call
4475 generated for type extension's finalization procedure. If
4476 non-empty, then this will indicate the point at which to insert
4477 the call to the parent type's finalization procedure. Modify
4478 nested function Process_Component_List_For_Finalize to set this
4479 variable (and avoid setting it during a recursive call). If
4480 Last_POC_Call is empty, then insert the parent finalization call
4481 before, rather than after, the finalization code for the
4482 extension components.
4484 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4486 * einfo-utils.adb (Remove_Entity): Fix couple of oversights.
4487 * exp_ch3.adb (Is_User_Defined_Equality): Delete.
4488 (User_Defined_Eq): Call Get_User_Defined_Equality.
4489 (Make_Eq_Body): Likewise.
4490 (Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality.
4491 * exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality.
4492 (Is_Equality): Delete.
4493 (User_Defined_Primitive_Equality_Op): Likewise.
4494 (Find_Aliased_Equality): Call Is_User_Defined_Equality.
4495 (Expand_N_Op_Eq): Call Underlying_Type unconditionally.
4496 Do not implement AI12-0101 + AI05-0123 here.
4497 (Expand_Set_Membership): Call Resolve_Membership_Equality.
4498 * exp_ch6.adb (Expand_Call_Helper): Remove obsolete code.
4499 * sem_aux.ads (Is_Record_Or_Limited_Type): Delete.
4500 * sem_aux.adb (Is_Record_Or_Limited_Type): Likewise.
4501 * sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare.
4502 * sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation.
4503 (Analyze_Membership_Op): Call Resolve_Membership_Equality.
4504 (Nondispatching_Call_To_Abstract_Operation): New procedure.
4505 (Remove_Abstract_Operations): Call it.
4506 * sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and
4507 call Is_User_Defined_Equality.
4508 * sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure
4509 implementing AI12-0101 + AI05-0123.
4510 (Analyze_Package_Specification): Call it.
4511 (Declare_Inherited_Private_Subprograms): Minor tweak.
4512 (Uninstall_Declarations): Likewise.
4513 * sem_disp.adb (Check_Direct_Call): Adjust to new implementation
4514 of Is_User_Defined_Equality.
4515 * sem_res.ads (Resolve_Membership_Equality): Declare.
4516 * sem_res.adb (Resolve): Replace direct error handling with call to
4517 Nondispatching_Call_To_Abstract_Operation
4518 (Resolve_Call): Likewise.
4519 (Resolve_Equality_Op): Likewise. mplement AI12-0413.
4520 (Resolve_Membership_Equality): New procedure.
4521 (Resolve_Membership_Op): Call Get_User_Defined_Equality.
4522 * sem_util.ads (Get_User_Defined_Eq): Rename into...
4523 (Get_User_Defined_Equality): ...this.
4524 * sem_util.adb (Get_User_Defined_Eq): Rename into...
4525 (Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality.
4526 (Is_User_Defined_Equality): Also check the profile but remove tests
4527 on Comes_From_Source and Parent.
4528 * sinfo.ads (Generic_Parent_Type): Adjust field description.
4529 * uintp.ads (Ubool): Invoke user-defined equality in predicate.
4531 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4533 * exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a
4534 call to Get_User_Defined_Eq.
4536 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4538 * exp_ch3.adb (Build_Untagged_Equality): Exit early when the
4539 outcome of a loop is already known.
4541 2022-05-16 Olivier Hainque <hainque@adacore.com>
4543 * Makefile.rtl: Add aarch64 to the list of CPUs for which
4544 GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2.
4546 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4548 * sem_ch4.adb (Analyze_Negation): Minor tweak.
4549 (Analyze_Unary_Op): Likewise.
4551 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4553 * exp_ch3.adb (Build_Assignment): Adjust to the new definition of
4554 Incomplete_View field.
4555 * sem_ch10.ads (Decorate_Type): Declare.
4556 * sem_ch10.adb (Decorate_Type): Move to library level.
4557 (Install_Limited_With_Clause): In the already analyzed case, also
4558 deal with incomplete type declarations present in the sources and
4559 simplify the replacement code.
4560 (Build_Shadow_Entity): Deal with swapped views in package body.
4561 (Restore_Chain_For_Shadow): Deal with incomplete type declarations
4562 present in the sources.
4563 * sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new
4564 definition of Incomplete_View field.
4565 (Build_Incomplete_Type_Declaration): Small consistency tweak.
4566 Set the incomplete type as the Incomplete_View of the full type.
4567 If the scope is a package with a limited view, build a shadow
4568 entity for the incomplete type.
4569 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing
4570 the limited view of a CW type as designated type of an anonymous
4571 access return type, get to the CW type of the incomplete view of
4572 the tagged type, if any.
4573 (Collect_Primitive_Operations): Adjust to the new definition of
4574 Incomplete_View field.
4575 * sinfo.ads (Incomplete_View): Denote the entity itself instead
4577 * sem_util.adb: Remove call to Defining_Entity.
4579 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4581 * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a
4582 subtype recurse into its base type.
4584 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4586 * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify.
4588 2022-05-16 Piotr Trojanek <trojanek@adacore.com>
4590 * sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma
4593 2022-05-16 Martin Liska <mliska@suse.cz>
4595 * locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE.
4596 (language_name_to_639_3): Likewise.
4597 (country_name_to_3166): Likewise.
4599 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4601 * gcc-interface/decl.cc (is_cplusplus_method): Build proper
4602 String for Get_External_Name.
4604 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4606 * sem_ch3.adb (Derive_Subprogram): For a function, also copy the
4607 Returns_By_Ref flag from the parent.
4609 2022-05-13 Gary Dismukes <dismukes@adacore.com>
4611 * sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the
4612 expression of the aspect at this point, like other aspects that
4613 denote simple entities. Ensures that function
4614 Storage_Model_Object will have an entity to retrieve from the
4615 aspect expression. Also, move comment about aspects that don't
4616 require delay analysis in front of last alternative of the case
4617 statement, where it's supposed to be.
4619 2022-05-13 Javier Miranda <miranda@adacore.com>
4621 * contracts.adb (Build_Unique_Name): New subprogram.
4622 (Make_Class_Precondition_Subps): Use Build_Unique_Name to
4623 generate the names of the call helpers and the name of indirect
4625 * freeze.adb (Needs_Wrapper): Remove dead code.
4626 (Check_Inherited_Conditions): Defer building helpers and ICW
4627 until all the dispatch table wrappers have been built and
4628 analyzed. Required to ensure uniqueness in their names because
4629 when building these wrappers for overlapped subprograms their
4630 homonym number is not definite until they have been analyzed.
4632 2022-05-13 Arnaud Charlet <charlet@adacore.com>
4634 * libgnarl/s-taprop__linux.adb (Initialize): Do not use an
4635 alternate stack if no handler for SEGV is installed.
4637 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4639 * doc/gnat_rm/security_hardening_features.rst (Control Flow
4640 Redundancy): Drop mentions of noreturn and tail calls.
4641 * gnat_rm.texi: Regenerate.
4643 2022-05-13 Ghjuvan Lacambre <lacambre@adacore.com>
4645 * ali.adb: Introduce new 'K' line in ALI files, used to
4646 represent CUDA kernel entries.
4647 * ali.ads: Create new CUDA_Kernels table, which contains entries
4648 of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds
4649 to a K line in an ali file.
4650 * bindgen.adb: Introduce new Gen_CUDA_Init procedure in the
4651 binder, which generates CUDA kernel registration code.
4652 * gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to
4653 make it available to bindgen.adb.
4654 * gnat_cuda.ads: Likewise.
4655 * lib-writ.adb: Introduce new Output_CUDA_Symbols procedure,
4656 which generates one 'K' line in the ALI file per visible CUDA
4658 * opt.ads: Introduce Enable_CUDA_Expansion option, triggered by
4659 using the -gnatd_c flag.
4660 * switch-b.adb: Likewise.
4661 * switch-c.adb: Likewise.
4663 2022-05-13 Marc Poulhiès <poulhies@adacore.com>
4665 * exp_aggr.adb (Gen_Loop): Create scope for loop variable of
4666 iterated components.
4668 2022-05-13 Yannick Moy <moy@adacore.com>
4670 * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index):
4671 Remove useless functions.
4672 (Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt
4673 to removal of wrapper functions.
4674 * libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index):
4675 Remove useless functions.
4676 * libgnat/a-chtgfo.adb (Checked_Index): Remove useless function.
4677 (Clear): Delete code commented out regarding Busy and Lock
4679 (Delete_Node_At_Index): Delete unused procedure.
4680 (Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to
4681 removal of wrapper functions.
4682 * libgnat/a-chtgfo.ads (Checked_Index): Remove useless function.
4683 (Delete_Node_At_Index): Delete unused procedure.
4685 2022-05-13 Yannick Moy <moy@adacore.com>
4687 * libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid
4689 (Assign, Move): Remove address comparison.
4690 (Include): Insert constants for subtype constraints.
4691 (Insert): Rewrite to avoid aliasing and function with side-effects.
4692 * libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid
4694 (Assign, Move): Remove address comparison.
4695 (Difference, Intersection, Is_Subset, Overlap,
4696 Symmetric_Difference, Union): Remove address comparison. Insert
4697 constants for subtype constraints.
4698 (Insert): Rewrite to avoid aliasing and function with
4700 * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index,
4701 Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index):
4702 Type for hash tables not tagged anymore.
4703 (Generic_Conditional_Insert): New_Node generic formal is a
4704 procedure taking the hash table as first parameter now, to avoid
4705 aliasing in the caller.
4706 * libgnat/a-chtgfk.ads: Same.
4707 * libgnat/a-chtgfo.adb (Checked_Index, Clear,
4708 Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free,
4709 Generic_Allocate, Generic_Iteration, Generic_Read,
4710 Generic_Write, Index, Next): Type for hash tables not tagged
4712 (Generic_Equal): Removed tagged. Remove address comparison.
4713 * libgnat/a-chtgfo.ads: Same.
4714 * libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged.
4716 2022-05-13 Yannick Moy <moy@adacore.com>
4718 * Makefile.rtl: Add new files.
4719 * libgnat/a-cfhama.adb: Use formal version of hash tables.
4720 * libgnat/a-cfhama.ads: Same.
4721 * libgnat/a-cfhase.adb: Same.
4722 * libgnat/a-cfhase.ads: Same.
4723 * libgnat/a-chtgfk.adb: New unit for formal containers, modified
4724 version of Generic_Bounded_Keys.
4725 * libgnat/a-chtgfk.ads: Same.
4726 * libgnat/a-chtgfo.adb: New unit for formal containers, modified
4727 version of Generic_Bounded_Operations.
4728 * libgnat/a-chtgfo.ads: Same.
4729 * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third
4730 version of the type for hash tables, equivalent to the bounded
4731 version without tampering checks.
4733 2022-05-13 Javier Miranda <miranda@adacore.com>
4735 * freeze.adb (Check_Inherited_Conditions): Dispatch table
4736 wrappers must be placed in the list of entities of their scope
4737 at the same place of their wrapped primitive. This is required
4738 for private types since these wrappers are built when their full
4739 tagged type declaration is frozen but they may override a
4740 primitive defined in the public part of the package (and it is
4741 important to maintain the wrapper in the list of public entities
4742 of the package to ensure their correct visibility).
4744 2022-05-13 Johannes Kanig <kanig@adacore.com>
4746 * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT
4747 environment variable is set, we use that as the prefix, instead
4748 of computing the prefix from the executable location.
4750 2022-05-13 Steve Baird <baird@adacore.com>
4752 * exp_ch3.ads (Build_Intialization_Call): Add new formal
4753 parameter, Init_Control_Actual, with default value. Clients
4754 outside of package Exp_Ch3 are unaffected.
4755 * exp_ch3.adb (Initialization_Control): new package; support for
4756 this 4-valued parameter. The existing Requires_Late_Init
4757 function is moved into this new package.
4758 (Build_Initialization_Call): Add new formal parameter for
4759 subprogram body, use this new formal parameter in generating an
4761 (Build_Record_Init_Proc): Replace Set_Tag Boolean formal
4762 parameter with 4-valued Init_Control_Formal. Wrap if-statements
4763 with appropriate conditions around tag initialization, early
4764 initialization, and late initialization statements.
4765 * exp_util.adb (Build_Task_Image_Decl): Avoid problem with
4766 duplicate declarations when an init proc for a type extension
4767 calls the parent type's init proc twice.
4769 2022-05-13 Ed Schonberg <schonberg@adacore.com>
4771 * sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the
4772 case of a class-wide derived iterator.
4774 2022-05-13 Yannick Moy <moy@adacore.com>
4776 * libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
4778 * libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
4779 in code of procedure (function already uses it).
4780 * libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
4783 2022-05-13 Etienne Servais <servais@adacore.com>
4785 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code
4787 * gnat_rm.texi: Regenerate.
4789 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4791 * aspects.adb (Find_Value_Of_Aspect): Add guard.
4792 * sem_ch4.adb (Complete_Object_Operation): Remove obsolete code.
4793 * sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard.
4795 2022-05-13 Javier Miranda <miranda@adacore.com>
4797 * exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
4798 'Address in a call to an instantiation of the implicit
4799 subprogram To_Pointer with a class-wide interface type target
4800 requires adding an implicit type conversion to force
4801 displacement of the "this" pointer.
4803 2022-05-13 Javier Miranda <miranda@adacore.com>
4805 * sem_attr.adb (Resolve_Attribute): Ensure that attribute
4806 expressions are resolved at this stage; required for preanalyzed
4807 references to discriminants since their resolution (and
4808 expansion) will take care of updating their Entity attribute to
4809 reference their discriminal.
4811 2022-05-13 Justin Squirek <squirek@adacore.com>
4813 * sem_util.adb (Wrong_Type): Avoid using the first subtype of
4814 the expected type in error messages when the expected type is
4815 not internally generated.
4817 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4819 * doc/gnat_rm/security_hardening_features.rst: Add subsection on
4820 Control Flow Redundancy.
4821 * gnat_rm.texi: Regenerate.
4823 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4825 * exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that
4826 it is a WHILE iteration scheme before using Condition_Actions.
4828 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
4830 * atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb,
4831 sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of
4832 Unchecked_Conversion in the compiler itself.
4833 * libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads,
4834 libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb,
4835 libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the
4837 * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in
4839 * gnat_ugn.texi: Regenerate.
4841 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
4843 * butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb:
4844 Replace uses of Unchecked_Deallocation with
4845 Ada.Unchecked_Deallocation.
4846 * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the
4847 documentation; fix casing of GNAT.IO.
4848 * gnat_ugn.texi: Regenerate.
4850 2022-05-13 Marc Poulhiès <poulhies@adacore.com>
4852 * sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference.
4853 Remove useless loop.
4855 2022-05-13 Etienne Servais <servais@adacore.com>
4857 * sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in
4860 2022-05-13 Justin Squirek <squirek@adacore.com>
4862 * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
4863 generation of run-time accessibility checks to account for cases
4864 where Extra_Accessibility_Of_Result should be used versus the
4865 level of the enclosing subprogram. Use original node to avoid
4866 checking against expanded code. Disable check generation for
4868 (Is_Formal_Of_Current_Function): Added to encompass a predicate
4869 used within Check_Return_Construct_Accessibility to test if an
4870 associated expression is related to a relevant formal.
4871 * sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to
4872 accept Node_Or_Entity_Id.
4873 (Innermost_Master_Scope_Depth): Calculate level based on the
4874 subprogram of a return statement instead of the one returned by
4876 (Needs_Result_Accessibility_Level): Remove
4877 Disable_Coextension_Cases constant, and disable the tagged type
4878 case for performance reasons.
4880 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
4882 * sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore
4883 component and discriminant identifiers.
4885 2022-05-13 Piotr Trojanek <trojanek@adacore.com>
4887 * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove
4890 2022-05-13 Justin Squirek <squirek@adacore.com>
4892 * sem_ch8.adb (Determine_Package_Scope): Created to centralize
4893 the calculation of which package a given use clause belongs to.
4894 (Most_Descendant_Use_Clause): Modified to call
4895 Determine_Package_Scope.
4896 * sem_util.adb, sem_util.ads (Enclosing_Package): Modified to
4897 handle both entity and node ids.
4899 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
4901 * gnat1drv.adb (Gnat1drv): Skip postponed checks when there are
4904 2022-05-12 Arnaud Charlet <charlet@adacore.com>
4906 * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL.
4907 * gnat_ugn.texi: Regenerate.
4909 2022-05-12 Bob Duff <duff@adacore.com>
4911 * namet.ads, namet.adb (Write_Name_For_Debug): Add Quote
4912 parameter to allow conditional addition of quotes. Note that
4913 some calls to Write_Name_For_Debug, for example for file names,
4914 shouldn't have quotes, as in some_package.adb:123:45.
4915 * treepr.adb (Print_Name): Add double quotes around the name
4916 using the above Quote parameters.
4918 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
4920 * sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
4921 * sem_util.adb (Replace_Null_Operand,
4922 Null_To_Null_Address_Convert_OK): Likewise.
4924 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
4926 * sem_util.ads (Is_Selector_Name): Remove spec.
4927 * sem_util.adb (Is_Selector_Name): Remove body.
4929 2022-05-12 Arnaud Charlet <charlet@adacore.com>
4931 * sem_warn.adb (Has_Junk_Name): Add more dummy names.
4933 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
4935 * lib-xref.adb (Generate_Reference): Fix comment and implement
4938 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
4940 * atree.adb, atree.ads: Move WITH clause from spec to body; to
4941 prevent new warnings stopping the bootstrap.
4942 * fmap.adb, fname-sf.adb, libgnat/a-direct.adb,
4943 libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to
4944 prevent new warnings stopping the bootstrap.
4945 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set
4946 Is_Instantiated flag when the instance is in the extended main
4949 2022-05-12 Yannick Moy <moy@adacore.com>
4951 * libgnat/s-valuei.ads: Remove pragma Warnings Off.
4952 * libgnat/s-valueu.ads: Same.
4953 * libgnat/s-valuti.ads: Same.
4955 2022-05-12 Yannick Moy <moy@adacore.com>
4957 * sem_util.adb (Check_Result_And_Post_State): Exempt trivial
4960 2022-05-12 Arnaud Charlet <charlet@adacore.com>
4962 * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h,
4963 gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads,
4964 lib-writ.adb: Get rid of Frontend_Exceptions processing.
4965 * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads,
4966 libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads,
4967 libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads,
4968 libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads,
4969 libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads,
4970 libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads,
4971 libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads,
4972 libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads,
4973 libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads,
4974 libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads,
4975 libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads,
4976 libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads,
4977 libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads,
4978 libgnat/system-solaris-sparc.ads,
4979 libgnat/system-solaris-x86.ads,
4980 libgnat/system-vxworks-arm-rtp-smp.ads,
4981 libgnat/system-vxworks-arm-rtp.ads,
4982 libgnat/system-vxworks-arm.ads,
4983 libgnat/system-vxworks-e500-kernel.ads,
4984 libgnat/system-vxworks-e500-rtp-smp.ads,
4985 libgnat/system-vxworks-e500-rtp.ads,
4986 libgnat/system-vxworks-ppc-kernel.ads,
4987 libgnat/system-vxworks-ppc-rtp-smp.ads,
4988 libgnat/system-vxworks-ppc-rtp.ads,
4989 libgnat/system-vxworks-x86-kernel.ads,
4990 libgnat/system-vxworks-x86-rtp-smp.ads,
4991 libgnat/system-vxworks-x86-rtp.ads,
4992 libgnat/system-vxworks7-aarch64-rtp-smp.ads,
4993 libgnat/system-vxworks7-aarch64.ads,
4994 libgnat/system-vxworks7-arm-rtp-smp.ads,
4995 libgnat/system-vxworks7-arm.ads,
4996 libgnat/system-vxworks7-e500-kernel.ads,
4997 libgnat/system-vxworks7-e500-rtp-smp.ads,
4998 libgnat/system-vxworks7-e500-rtp.ads,
4999 libgnat/system-vxworks7-ppc-kernel.ads,
5000 libgnat/system-vxworks7-ppc-rtp-smp.ads,
5001 libgnat/system-vxworks7-ppc-rtp.ads,
5002 libgnat/system-vxworks7-ppc64-kernel.ads,
5003 libgnat/system-vxworks7-ppc64-rtp-smp.ads,
5004 libgnat/system-vxworks7-x86-kernel.ads,
5005 libgnat/system-vxworks7-x86-rtp-smp.ads,
5006 libgnat/system-vxworks7-x86-rtp.ads,
5007 libgnat/system-vxworks7-x86_64-kernel.ads,
5008 libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove
5009 Frontend_Exceptions line.
5010 * gcc-interface/decl.cc, gcc-interface/trans.cc
5011 (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi,
5012 gnat_to_gnu): Remove Front_End_SJLJ processing and always assume
5013 Back_End_Exceptions.
5015 2022-05-12 Bob Duff <duff@adacore.com>
5017 * namet.ads, namet.adb (Write_Name_For_Debug): New more-robust
5018 version of Write_Name.
5019 (Destroy_Global_Name_Buffer): New procedure to help detect bugs
5020 related to use of Global_Name_Buffer. Misc cleanup and comment
5021 improvements. E.g. we don't need to document every detail of
5022 debugging printouts, especially since they can change.
5023 * uname.ads, uname.adb (Write_Unit_Name_For_Debug): New
5024 more-robust version of Write_Unit_Name.
5025 (Get_Unit_Name_String): Pass buffer in, instead of using the
5026 global variable. Misc cleanup. Remove the "special fudge", which
5027 is apparently not needed, and anyway the comment "the %s or %b
5028 has already been eliminated" seems wrong.
5029 (Write_Unit_Name): Call the new version of Get_Unit_Name_String.
5030 * errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version
5031 of Get_Unit_Name_String. We pass the global variable here,
5032 because it's too much trouble to disentangle such uses in
5034 * sem_util.ads, sem_util.adb, sem_dist.adb
5035 (Get_Library_Unit_Name): New version of
5036 Get_Library_Unit_Name_String that avoids usage of the global
5038 * casing.ads, casing.adb, exp_prag.adb, exp_util.adb
5039 (Set_All_Upper_Case): Remove. There is no need for a wrapper
5040 here -- code is clearer without it.
5041 * treepr.adb (Print_Name): Call Write_Name_For_Debug, which
5042 deals with No_Name (etc), rather than duplicating that here.
5043 Note that the call to Get_Name_String was superfluous.
5044 (Tree_Dump): Call Write_Unit_Name_For_Debug instead of
5045 Write_Unit_Name, which crashes if not Is_Valid_Name.
5046 * erroutc.ads: Improve comments.
5047 * erroutc.adb (Set_Msg_Name_Buffer): Call
5048 Destroy_Global_Name_Buffer to detect potential bugs where it
5049 incorrectly looks at the global variable.
5050 * sinput.adb (Write_Location): Call Write_Name_For_Debug instead
5051 of Write_Name, so it won't blow up on invalid data.
5052 * sinput.ads: Improve comments; remove some verbosity.
5053 * libgnat/s-imagef.adb: Fix typo in comment.
5055 2022-05-12 Yannick Moy <moy@adacore.com>
5057 * libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma.
5058 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
5060 2022-05-12 Yannick Moy <moy@adacore.com>
5062 * libgnat/s-aridou.ads: Remove use-clause, add renames and
5064 * libgnat/s-exponn.ads: Same.
5065 * libgnat/s-expont.ads: Same.
5066 * libgnat/s-widthu.ads: Same.
5068 2022-05-12 Etienne Servais <servais@adacore.com>
5070 * csets.adb (Fold_Latin_9): Fix y with diaeresis.
5071 (Fold_IBM_PC_850): Fix o with stroke.
5073 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
5075 * sem_type.adb (Valid_Boolean_Arg): Remove redundant guard.
5077 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
5079 * sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are
5080 valid boolean arguments.
5082 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5084 * sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add
5085 test for subtype conformance in the cases of
5086 access-to-subprogram types.
5088 2022-05-12 Yannick Moy <moy@adacore.com>
5090 * libgnat/s-imagef.adb: Justify false message from CodePeer.
5092 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5094 * sem_ch4.adb (Analyze_Case_Expression): Rewrite.
5095 (Analyze_If_Expression): Likewise.
5096 (Possible_Type_For_Conditional_Expression): New function.
5097 * sem_type.adb (Specific_Type): Retur the base type in more
5100 2022-05-12 Yannick Moy <moy@adacore.com>
5102 * libgnat/s-imagef.adb: Adapt to new signature of Image_I, by
5103 providing ghost imported subprograms. For now, no contract is
5104 used on these subprograms, as System.Image_F is not proved.
5105 * libgnat/s-imagef.ads: Add modular type Uns as formal
5106 parameter, to use in defining Int_Params for instantiating
5108 * libgnat/s-imagei.adb: Add contracts and ghost code.
5109 * libgnat/s-imagei.ads: Replace Int formal parameter by package
5110 Int_Params, which bundles type Int and Uns with ghost
5111 subprograms. Add contracts.
5112 * libgnat/s-imfi128.ads: Adapt to new formal of Image_F.
5113 * libgnat/s-imfi32.ads: Adapt to new formal of Image_F.
5114 * libgnat/s-imfi64.ads: Adapt to new formal of Image_F.
5115 * libgnat/s-imgint.ads: Adapt to new formals of Image_I.
5116 * libgnat/s-imglli.ads: Adapt to new formals of Image_I.
5117 * libgnat/s-imgllli.ads: Adapt to new formals of Image_I.
5118 * libgnat/s-valint.ads: Adapt to new formals of Value_I.
5119 * libgnat/s-vallli.ads: Adapt to new formals of Value_I.
5120 * libgnat/s-valllli.ads: Adapt to new formals of Value_I.
5121 * libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New
5123 * libgnat/s-valuei.ads: New formal parameters to prove the new
5125 * libgnat/s-valuti.ads (Int_Params): Define a generic package to
5126 be used as a trait-like formal parameter in Image_I and other
5127 generics that need to instantiate Image_I.
5128 * libgnat/s-widthu.ads (Big_10): Qualify the 10 literal.
5130 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5132 * sem_ch4.adb (Find_Arithmetic_Types): Use local variables.
5133 (Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types.
5135 2022-05-12 Alexandre Oliva <oliva@adacore.com>
5137 * doc/gnat_rm/security_hardening_features.rst (Hardened
5139 * exp_util.adb (Adjust_Condition): Perform validity checking on
5140 hardbool-annotated types even with -gnatVT.
5141 * gnat_rm.texi: Regenerate.
5142 * gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore
5145 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
5147 * exp_ch9.adb (Build_Protected_Entry): Set scope of the nested
5148 block to spec and not the body of the procedure created for a
5151 2022-05-12 Etienne Servais <servais@adacore.com>
5153 * sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in
5156 2022-05-12 Marc Poulhiès <poulhies@adacore.com>
5158 * csets.adb (Initialize): Only treat square bracket as valid
5159 identifier character for Ada versions prior to Ada 2022.
5160 * style.ads (Check_Left_Paren): Rename...
5161 (Check_Left_Paren_Square_Bracket): ...to this.
5162 * styleg.adb (Check_Left_Bracket): Rename...
5163 (Check_Left_Paren_Square_Bracket): ...to this.
5164 * styleg.ads (Check_Left_Paren): Rename...
5165 (Check_Left_Paren_Square_Bracket): ...to this.
5166 * scng.adb (Scan): Add check for spacing around left square
5167 bracket and use new name for Check_Left_Paren_Square_Bracket.
5168 * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
5169 (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
5170 (Character_Ranges): Fix style (remove extra space).
5171 * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
5172 (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
5173 (Character_Ranges): Likewise.
5174 * opt.adb (Set_Config_Switches): Remove [ from Identifier_Char
5177 2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5179 * sem_type.adb (Specific_Type): Add swapped cases for interfaces.
5181 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
5183 * doc/gnat_rm/implementation_defined_pragmas.rst:
5184 (Export_Object, Import_Object, Short_Descriptors): Fix pragma
5185 syntax specification.
5186 * gnat_rm.texi: Regenerate.
5188 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
5190 * ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute
5193 2022-05-12 Piotr Trojanek <trojanek@adacore.com>
5195 * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
5196 Pragmas): Add Aggregate_Individually_Assign; otherwise the list
5197 is complete except for some obsoleted pragmas, which most likely
5198 are intentionally omitted.
5199 * gnat_ugn.texi: Regenerate.
5201 2022-05-11 Yannick Moy <moy@adacore.com>
5203 * libgnat/s-imaged.ads: Remove Pure.
5204 * libgnat/s-imagef.ads: Remove Pure.
5205 * libgnat/s-imager.ads: Remove Pure.
5206 * libgnat/s-imageu.adb: Add ghost code.
5207 * libgnat/s-imageu.ads: Add contracts.
5208 * libgnat/s-imde128.ads: Remove Pure.
5209 * libgnat/s-imde32.ads: Remove Pure.
5210 * libgnat/s-imde64.ads: Remove Pure.
5211 * libgnat/s-imfi128.ads: Remove Pure.
5212 * libgnat/s-imfi32.ads: Remove Pure.
5213 * libgnat/s-imfi64.ads: Remove Pure.
5214 * libgnat/s-imgflt.ads: Remove Pure.
5215 * libgnat/s-imglfl.ads: Remove Pure.
5216 * libgnat/s-imgllf.ads: Remove Pure.
5217 * libgnat/s-imglllu.ads: Instantiate with ghost subprograms.
5218 * libgnat/s-imgllu.ads: Instantiate with ghost subprograms.
5219 * libgnat/s-imgrea.ads: Remove Pure.
5220 * libgnat/s-imguns.ads: Instantiate with ghost subprograms.
5221 * libgnat/s-imguti.ads: Remove Pure.
5222 * libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost,
5223 Prove_Scan_Only_Decimal_Ghost): New lemmas.
5224 * libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to
5225 be able to use it as formal in instantiations.
5226 (Only_Decimal_Ghost): New ghost query.
5227 (Prove_Iter_Scan_Based_Number_Ghost,
5228 Prove_Scan_Only_Decimal_Ghost): New lemmas.
5229 * libgnat/s-widlllu.ads: Adapt to changes in Width_U.
5230 * libgnat/s-widllu.ads: Adapt to changes in Width_U.
5231 * libgnat/s-widthu.adb: Change generic function in generic
5232 package in order to complete the postcondition. Tighten the
5233 upper bound on the result by 1.
5234 * libgnat/s-widthu.ads: Same.
5235 * libgnat/s-widuns.ads: Adapt to changes in Width_U.
5236 * gcc-interface/Make-lang.in: Add dependencies on a-nubinu,
5237 a-numeri.ads and a-widuns.ads.
5239 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5241 * snames.ads-tmpl (Detect_Blocking): Move after
5242 Default_Storage_Pool.
5244 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5246 * sem_prag.adb (Analyze_Pragma): Remove custom check for
5247 Compile_Time_Error and Compile_Time_Warning pragmas.
5248 * snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
5249 Move beyond Last_Configuration_Pragma_Name.
5251 2022-05-11 Marc Poulhiès <poulhies@adacore.com>
5253 * libgnat/a-direct.adb (Start_Search_Internal): Use parentheses
5254 for record aggregate.
5255 * libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
5256 * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
5257 * libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String):
5259 * libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping):
5261 * libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping):
5263 * libgnat/s-statxd.adb (Fields): Likewise.
5264 * libgnat/s-stausa.adb (Initialize): Likewise.
5265 * sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates
5268 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5270 * doc/gnat_rm/implementation_defined_pragmas.rst,
5271 doc/gnat_rm/implementation_of_specific_ada_features.rst,
5272 doc/gnat_rm/representation_clauses_and_pragmas.rst,
5273 doc/gnat_rm/the_gnat_library.rst,
5274 doc/gnat_rm/the_implementation_of_standard_i_o.rst,
5275 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
5276 doc/gnat_ugn/gnat_and_program_execution.rst,
5277 doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
5278 parentheses and brackets.
5279 * sem_prag.adb (pragma Obsolescent): Likewise.
5280 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5282 2022-05-11 Marc Poulhiès <poulhies@adacore.com>
5284 * libgnat/s-rident.ads (Restriction_Id): Add
5285 No_Local_Tagged_Types, update comment for adding new GNAT
5286 specific restriction.
5287 * restrict.ads (Implementation_Restriction): Add
5288 No_Local_Tagged_Types.
5289 * sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for
5290 tagged type at library level.
5291 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
5292 Add No_Local_Tagged_Types description.
5293 * gnat_rm.texi: Regenerate.
5295 2022-05-11 Eric Botcazou <ebotcazou@adacore.com>
5297 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type
5298 in the interpretation of the operator.
5300 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5302 * sem_case.adb (Free_Value_Sets): Fix style in body header box.
5303 * sem_ch12.adb (Build_Subprogram_Wrappers): Likewise.
5304 * sem_util.adb (Statically_Denotes_Entity): Likewise.
5306 2022-05-11 Etienne Servais <servais@adacore.com>
5308 * sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if
5309 branch to avoid calling it twice.
5311 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5313 * sem_warn.adb (Find_Var): Detect all operators; replace
5314 "condition" to "expression" in comments, because when this
5315 routine is called recursively it no longer examines the
5317 (Is_Suspicious_Function_Name): Reduce scope of a local variable
5318 to avoid shadowing with a parameter of a nested
5319 Substring_Present function.
5321 2022-05-11 Yannick Moy <moy@adacore.com>
5323 * libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
5324 intermediate assertions.
5326 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5328 * libgnat/s-rident.ads (Implementation_Restriction): Remove
5329 No_Dynamic_Attachment, No_Implementation_Attributes,
5330 No_Implementation_Pragmas, No_Local_Protected_Objects,
5331 No_Protected_Type_Allocators, No_Relative_Delay,
5332 No_Requeue_Statements, No_Select_Statements,
5333 No_Task_Termination, Pure_Barriers and Simple_Barriers; add
5334 No_Dynamic_Sized_Objects,
5335 No_Implicit_Protected_Object_Allocations,
5336 No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and
5337 Static_Dispatch_Tables; sort alphabetically.
5338 * restrict.ads (Restriction_Id): Change Pure_Barriers and
5339 No_Task_Termination from GNAT to Ada restrictions.
5341 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5343 * exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
5344 libgnat/g-exptty.adb, libgnat/g-socpol.adb,
5345 libgnat/s-strhas.adb: Fix headers.
5347 2022-05-11 Joao Azevedo <azevedo@adacore.com>
5349 * doc/gnat_ugn/platform_specific_information.rst: Add
5350 glibc-locale-base-32bit as a dependency in SUSE distributions.
5351 * gnat_ugn.texi: Regenerate.
5353 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5355 * doc/gnat_ugn/gnat_and_program_execution.rst,
5356 doc/gnat_ugn/gnat_utility_programs.rst,
5357 doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
5359 * gnat_ugn.texi: Regenerate.
5361 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5363 * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
5364 blocks from plain code to Ada.
5366 2022-05-11 Gary Dismukes <dismukes@adacore.com>
5368 * exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp
5369 object approach in the case where the type of the LHS is
5370 controlled or has controlled subcomponents (Needs_Finalization
5371 is True), and use the procedure approach instead.
5373 2022-05-11 Bob Duff <duff@adacore.com>
5375 * sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the
5376 "tree" can be malformed (a DAG, not a tree) because
5377 Get_Discr_Value could be returning some subtree already attached
5380 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5382 * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
5383 proper label entities.
5385 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5387 * doc/gnat_rm/implementation_defined_characteristics.rst: Add
5388 tabularcolums directive, as explained in documentation of Sphinx
5389 and tabular LaTeX package.
5391 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5393 * doc/gnat_rm/implementation_defined_aspects.rst,
5394 doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra
5396 * gnat_rm.texi: Regenerate.
5398 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5400 * doc/gnat_rm/implementation_defined_characteristics.rst: Remove
5401 extra indent in continuation lines; indent both descriptions of
5403 * gnat_rm.texi: Regenerate.
5405 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5407 * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
5408 Eliminate): Fix markup.
5409 * gnat_rm.texi: Regenerate.
5411 2022-05-11 Johannes Kliemann <kliemann@adacore.com>
5413 * libgnat/g-sthcso.adb: Suppress warning about unneeded use type
5416 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5418 * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
5419 proper label entities.
5421 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5423 * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
5424 Ada_2022): Copy description from pragma Ada 2012 and adapt.
5425 * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
5426 Pragmas): List pragma Ada 2022.
5427 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5429 2022-05-11 Steve Baird <baird@adacore.com>
5431 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace
5432 the existing check for an address specification for an object of
5433 a class-wide type with a more general check which rejects either
5434 the class-wide case or the case where the FE would (if the
5435 address specification were accepted) build a malformed
5436 tree (specifically, an object renaming declaration with a
5437 specified address). In the case where the check fails, reject
5438 the construct at compile time instead of generating an
5439 unconditional raise of Program_Error.
5440 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update
5441 documentation to reflect these changes.
5442 * gnat_rm.texi: Regenerate.
5444 2022-05-11 Piotr Trojanek <trojanek@adacore.com>
5446 * gen_il-gen-gen_entities.adb (Reachable): Move from
5447 Root_Entity_Type to E_Label.
5449 2022-05-11 Alexandre Oliva <oliva@adacore.com>
5451 * exp_ch3.adb (Expand_N_Object_Declaration): Guard
5452 Set_Is_Known_Valid with Safe_To_Capture_Value.
5454 2022-05-11 Bob Duff <duff@adacore.com>
5456 * repinfo.adb (List_Object_Info): Do not try to print values
5457 that have not been computed (and so are No_Uint).
5458 (Rep_Not_Constant): Reverse sense and change name to
5459 Compile_Time_Known_Rep. This makes the code at call sites a
5460 little more readable. Simplify code to a single return
5463 2022-05-10 Martin Liska <mliska@suse.cz>
5465 * gcc-interface/decl.cc (compare_field_bitpos): Use void *
5467 * gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise.
5469 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5471 * fe.h (Is_Expression_Function): Declare.
5472 * sem_util.ads (Is_Expression_Function): Add warning line.
5474 2022-05-10 Alexandre Oliva <oliva@adacore.com>
5476 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>:
5477 Drop redundant range check for nonstandard booleans.
5479 2022-05-10 Alexandre Oliva <oliva@adacore.com>
5481 * exp_util.adb (Adjust_Result_Type): Leave result in
5482 Standard.Boolean if it's going to be converted to another
5484 * exp_ch4.adb (Expand_N_Type_Conversion): When optimizing,
5485 convert to nonstandard booleans with an if_expression with
5488 2022-05-10 Alexandre Oliva <oliva@adacore.com>
5490 * exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to
5491 handle non-standard booleans.
5493 2022-05-10 Justin Squirek <squirek@adacore.com>
5495 * sem_ch8.adb (Use_One_Type): Remove code in charge of setting
5496 Current_Use_Clause when Id is known to be redundant, and modify
5497 the printing of errors associated with redundant use type
5498 clauses so that line number gets included in more cases.
5500 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5502 * sem_warn.adb (Check_Unset_Reference): Use variant of
5503 Earlier_In_Extended_Unit that calls Sloc internally.
5505 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5507 * par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb,
5508 treepr.adb: Simplify calculations with Source_Ptr and Loc
5511 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5513 * sem_res.adb (Resolve_Expression_With_Actions): Fix style in
5516 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5518 * atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb,
5519 sem_ch4.adb, sem_res.adb, sem_util.adb: Use
5520 Is_Rewrite_Substitution where possible.
5522 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5524 * exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb,
5525 sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb,
5526 treepr.adb: Replace /= and = operators with No and Present,
5529 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5531 * sem_warn.adb (Within_Postcondition): Guard against search
5534 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5536 * sem_warn.adb (Check_Unset_Reference): The early test was only
5537 saving time of calls to Original_Node, Comes_From_Source and
5538 Nkind, which are all quick and cheap.
5540 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5542 * sem_ch5.adb (Check_Unreachable_Code): Remove inner declare
5543 block; refill code and comments.
5545 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5547 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace
5548 First_Entity/Next_Entity with First_Formal/Next_Formal; rename
5551 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5553 * sem_res.adb (Resolve_Declare_Expression): Check expression for
5554 references to unset objects.
5555 (Resolve_Qualified_Expression): Likewise.
5556 * sem_warn.adb (Check_Unset_Reference): Remove handling of
5557 declare and qualified expressions; clarify comment for type
5560 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5562 * sem_res.adb (Resolve_Case_Expression): Check alternative
5563 expressions for references to unset objects.
5564 (Resolve_If_Expression): Check condition, then and else
5565 expressions for references to unset objects.
5567 2022-05-10 Kévin Le Gouguec <legouguec@adacore.com>
5569 * doc/gnat_rm/implementation_defined_attributes.rst,
5570 doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos.
5571 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5573 2022-05-10 Etienne Servais <servais@adacore.com>
5575 * sem_ch13.adb (Is_Predicate_Static): Fix typo in comment.
5577 2022-05-10 Yannick Moy <moy@adacore.com>
5579 * libgnat/s-valuei.adb: Fix indentation.
5580 * libgnat/s-valuei.ads: Same.
5582 2022-05-10 Claire Dross <dross@adacore.com>
5584 * snames.ads-tmpl: Add "Structural" as a name.
5585 * sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural"
5586 in pragmas Loop_Variant and Subprogram_Variant. Check that items
5587 associated to Structural occur alone in the pragma associations.
5588 (Analyze_Subprogram_Variant_In_Decl_Part): Idem.
5589 * exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural
5591 (Expand_Pragma_Subprogram_Variant): Idem.
5593 2022-05-10 Claire Dross <dross@adacore.com>
5595 * libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore
5596 assertions in instance and add additional ghost parameters to
5597 the instance of Value_I.
5598 * libgnat/s-vallli.ads: Idem.
5599 * libgnat/s-valllli.ads: Idem.
5600 * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
5601 parameters for ghost functions from System.Valueu. Add
5602 functional contracts.
5604 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5606 * sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code.
5607 (Resolve_Op_Not): Likewise.
5608 * sem_type.adb (Disambiguate): Add missing test for RM 8.4(10).
5609 * libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity.
5610 (Symbolic_Address): Likewise.
5612 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5614 * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.
5616 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5618 * exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
5619 UI_To_CC; replace magic literals with high-level routines that
5620 recognise wide and wide wide characters; reorder if-then-elsif
5621 condition, because we don't have a routine to detect wide wide
5624 2022-05-10 Etienne Servais <servais@adacore.com>
5626 * scng.adb (Nlit): Error on big UI_Scale.
5628 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5630 * exp_util.adb (Build_Task_Array_Image): Declare expanded
5631 objects as constants.
5632 (Build_Task_Image_Prefix): Likewise.
5633 (Build_Task_Record_Image): Likewise.
5635 2022-05-10 Marc Poulhiès <poulhies@adacore.com>
5637 * checks.adb (Determine_Range): Fix range refining.
5639 2022-05-10 Steve Baird <baird@adacore.com>
5641 * sem_util.adb (Get_Actual_Subtype): If a new subtype is built,
5642 do not freeze it if Expander_Active is False. The idea here is
5643 to avoid generating an unwanted Freeze_Node for a subtype that
5644 has been conjured up solely for purposes of preanalysis.
5646 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5648 * exp_util.adb (Build_Task_Array_Image): Fix style in the
5649 structure of generated code; add Pref'Length as the component of
5650 the Sum initialization expression.
5652 2022-05-10 Piotr Trojanek <trojanek@adacore.com>
5654 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use
5656 * exp_util.adb (Build_Task_Array_Image): Simplify conversion to
5658 (Build_Task_Image_Prefix): Likewise.
5659 (Build_Task_Record_Image): Likewise.
5660 * cstand.adb (Create_Standard): Use UI_From_Int instead of
5662 * exp_ch11.adb (Expand_N_Exception_Declaration): Likewise.
5663 * sem_res.adb (Patch_Up_Value): Likewise.
5664 * stringt.adb (Write_String_Table_Entry): Use Get_Char_Code.
5666 2022-05-09 Yannick Moy <moy@adacore.com>
5668 * sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation
5671 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5673 * uintp.adb (UI_To_CC): Guard against illegal inputs; reuse
5676 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5678 * par-prag.adb (Prag): Simplify conversion of character codes.
5679 * sem_case.adb (Choice_Image): Likewise.
5682 2022-05-09 Justin Squirek <squirek@adacore.com>
5684 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>:
5685 Deal specifically wth class-wide equivalent types without a
5687 * exp_util.adb (Build_Allocate_Deallocate_Proc): Extract
5688 allocator node for calculation of alignment actual and modify
5689 alignment for allocators of class-wide types with associated
5691 (Make_CW_Equivalent_Type): Handle interface types differently
5692 when generating the equivalent record.
5693 * sem_aux.adb (First_Tag_Component): Accept class-wide
5694 equivalent types too.
5696 2022-05-09 Etienne Servais <servais@adacore.com>
5698 * repinfo.adb (List_Name): Rework termination condition.
5700 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5702 * bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb,
5703 libgnat/a-ngcefu.adb, libgnat/a-strunb.adb,
5704 libgnat/a-stwiun.adb, libgnat/a-stzunb.adb,
5705 libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb,
5706 sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +,
5709 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5711 * libgnat/s-expmod.adb: Remove CodePeer annotation for pragma
5714 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5716 * sem_util.ads (In_Statement_Condition_With_Actions): Renamed
5717 from In_While_Loop_Condition; move to fit the alphabetic order.
5718 * sem_util.adb (In_Statement_Condition_With_Actions): Detect
5719 Elsif condition; stop search on other statements; prevent search
5720 from going too far; move to fit the alphabetic order.
5721 * sem_res.adb (Resolve_Call): Adapt caller.
5723 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5725 * inline.adb (Build_Body_To_Inline): Remove redundant guards.
5726 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
5728 2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
5730 * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on
5731 Comes_From_Source in the condition dealing with the expression
5732 of an N_Unchecked_Type_Conversion node.
5734 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5736 * exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb,
5737 gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb,
5738 libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb,
5739 sem_ch13.adb, xr_tabls.adb: Fix style labels.
5741 2022-05-09 Justin Squirek <squirek@adacore.com>
5743 * err_vars.ads: Add new error message names and nodes.
5744 * erroutc.adb (Set_Msg_Insertion_Name,
5745 Set_Msg_Insertion_Name_Literal): Likewise.
5746 * errout.adb (Set_Msg_Insertion_Node): Likewise.
5747 * errout.ads: Likewise.
5748 * exp_disp.adb (Check_Premature_Freezing): Modify setting of
5749 Error_Msg_Node_2 to occur directly before Error_Msg call where
5751 * sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to
5752 handle the printing of full package names of known units.
5753 (Undefined, Find_Expanded_Name): Replace error printing with
5754 call to Error_Missing_With_Of_Known_Unit.
5756 2022-05-09 Yannick Moy <moy@adacore.com>
5758 * exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn
5761 2022-05-09 Steve Baird <baird@adacore.com>
5763 * sem_ch13.adb (Replace_Type_Ref): In the case of an identifier
5764 that names a component of the type, simplify the test to decide
5765 whether to build a prefix for it (the prefix denotes the current
5766 instance of the enclosing type): if the identifier doesn't
5767 already have a prefix, then give it one. This isn't quite right
5768 in the corner case of a quantified expression or some other such
5769 expression that declares an object with the same name as a
5770 component, but it is still an improvement.
5772 2022-05-09 Ed Schonberg <schonberg@adacore.com>
5774 * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
5775 package if array type and element type come from the same
5776 package, and the original array type is private.
5778 2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
5780 * exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
5781 thinko in the loop building the constraints for discriminants.
5782 * exp_ch5.adb (Make_Component_List_Assign): Try also to extract
5783 discriminant values for a derived type.
5785 2022-05-09 Ed Schonberg <schonberg@adacore.com>
5787 * sem_res.adb (Resolve_Declare_Expression): Traverse the
5788 expression to replace references to local variables that occur
5789 within declarations of the declare_expression; fix typos in
5792 2022-05-09 Ed Schonberg <schonberg@adacore.com>
5794 * sem_ch4.adb (Operator_Check): Fix condition.
5796 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5798 * doc/gnat_rm/implementation_defined_pragmas.rst
5799 (Abstract_State, Async_Readers, Async_Writers,
5800 Constant_After_Elaboration, Effective_Reads, Effective_Writes,
5801 Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only
5802 static Boolean expressions are allowed.
5803 * gnat_rm.texi: Regenerate.
5805 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5807 * exp_prag.adb (Expand_Pragma_Loop_Variant,
5808 Expand_Pragma_Subprogram_Variant): Adapt call via
5809 Process_Variant to Make_Variant_Comparison.
5810 * exp_util.adb (Make_Variant_Comparison): Compare Big_Integer
5811 expressions with a function call and not an operator.
5812 * exp_util.ads (Make_Variant_Comparison): Add type parameter,
5813 which is needed because the Curr_Val and Old_Val expressions
5814 might not be yet decorated.
5815 * rtsfind.ads: (RTU_Id): Add support for Big_Integers and
5817 (RE_Id): Add support for Big_Integer and its ghost variant.
5818 (RE_Unit_Table): Add mapping from Big_Integer to Big_Integers;
5819 same for the ghost variants.
5820 * rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers.
5821 * sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma
5823 (Analyze_Variant): Allow Big_Integer in pragma
5826 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5828 * sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a
5829 variant that doesn't force preanalysis to yield a specific type.
5831 2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
5833 * einfo.ads (Access Kinds): Reorder and beef up.
5834 * sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all
5835 comparison and equality operators.
5836 * sem_ch4.ads (Analyze_Comparison_Op): Delete.
5837 (Analyze_Equality_Op): Likewise.
5838 (Analyze_Comparison_Equality_Op): Declare.
5839 (Ambiguous_Operands): Likewise.
5840 * sem_ch4.adb (Ambiguous_Operands): Remove declaration.
5841 (Defined_In_Scope): Delete.
5842 (Find_Comparison_Types): Merge into...
5843 (Find_Equality_Types): Merge into...
5844 (Find_Comparison_Equality_Types): ...this. Make fully symmetrical.
5845 (Analyze_Arithmetic_Op): Minor consistency tweaks.
5846 (Analyze_Comparison_Op): Merge into...
5847 (Analyze_Equality_Op): Merge into...
5848 (Analyze_Comparison_Equality_Op): ...this. Make fully symmetrical.
5849 (Analyze_Logical_Op): Minor consistency tweaks.
5850 (Analyze_Membership_Op): Make fully symmetrical.
5851 (Analyze_One_Call): Minor comment tweak.
5852 (Analyze_Operator_Call): Call Find_Comparison_Equality_Types.
5853 (Analyze_User_Defined_Binary_Op): Make fully symmetrical.
5854 (Check_Arithmetic_Pair.Specific_Type): Delete.
5855 (Diagnose_Call): Add special handling for "+" operator.
5856 (Operator_Check): Call Analyze_Comparison_Equality_Op.
5857 * sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean
5858 operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp.
5859 comparison and equality operators.
5860 * sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator
5861 (Make_Call_Into_Operator): Use Preserve_Comes_From_Source.
5862 (Resolve_Actuals): Deal specifically with Any_Type actuals for user-
5863 defined comparison and equality operators.
5864 (Resolve_Call): Minor tweaks.
5865 (Resolve_Comparison_Op): Tidy up and give error for ambiguity.
5866 (Resolve_Equality_Op): Likewise, as well as other errors.
5867 (Rewrite_Renamed_Operator): Simplify.
5868 * sem_type.ads (Is_Invisible_Operator): Delete.
5869 (Is_Visible_Operator): Declare.
5870 (Has_Compatible_Type): Remove For_Comparison parameter.
5871 (Specific_Type): Declare.
5872 (Valid_Equality_Arg): Likewise.
5873 * sem_type.adb (Specific_Type): Remove declaration.
5874 (Add_One_Interp): Call Is_Visible_Operator for the visibility test.
5875 (Remove_Conversions): Rename into...
5876 (Remove_Conversions_And_Abstract_Operations): ...this. Do not apply
5877 numeric-type treatment to Any_Type. Expand the special handling for
5878 abstract interpretations to second operand. Remove obsolete code.
5879 (Disambiguate): Adjust to above renaming. Tweak to hidden case and
5880 call Remove_Conversions_And_Abstract_Operations for operators too.
5881 (Entity_Matches_Spec): Minor tweak.
5882 (Find_Unique_Type): Simplify and deal with user-defined literals.
5883 (Has_Compatible_Type): Remove For_Comparison parameter and adjust.
5884 Call the Is_User_Defined_Literal predicate and remove call to
5885 the Is_Invisible_Operator predicate.
5886 (Is_Invisible_Operator): Delete.
5887 (Is_Visible_Operator): New function.
5888 (Operator_Matches_Spec): Use Valid_Equality_Arg predicate.
5889 (Specific_Type): Tidy up, make fully symmetrical and deal with
5890 private views the same way as Covers.
5891 (Valid_Comparison_Arg): Return true for Any_Composite/Any_String.
5892 (Valid_Equality_Arg): New function.
5893 * sem_util.ads (Is_User_Defined_Literal): Declare.
5894 * sem_util.adb (Is_User_Defined_Literal): New function.
5896 2022-05-09 Bob Duff <duff@adacore.com>
5898 * lib-xref.adb, sem_util.adb: Change wording of warning messages
5900 * sem_prag.adb: Use Fix_Error to change wording of warnings.
5901 * doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
5903 * gnat_rm.texi: Regenerate.
5905 2022-05-09 Doug Rupp <rupp@adacore.com>
5907 * init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro.
5908 (__gnat_clear_exception_count): Remove.
5909 (__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT().
5911 2022-05-09 Fedor Rybin <frybin@adacore.com>
5913 * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest
5916 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5918 * sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for
5919 attributes Identity, Priority, Ref, Restriction_Set, To_Address
5920 and for tasking-related attributes Callable, Terminated and
5923 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5925 * sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for
5926 Bit_Order attribute.
5928 2022-05-09 Piotr Trojanek <trojanek@adacore.com>
5930 * exp_ch5.adb (Update_Choice_Index): Simplify condition.
5931 * sem_ch8.adb (Attribute_Renaming): Likewise.
5933 2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
5935 * adaint.c (__gnat_kill): Remove close parameter.
5936 (__gnat_killprocesstree): Do not provide close parameter on call
5938 * libgnat/g-expect.adb (Kill): Remove Close parameter.
5939 (Close): Do not provide Close parameter on call to Kill.
5940 (Send_Signal): Do not provide Close parameter on call to Kill.
5941 * libgnat/s-os_lib.adb (Kill): Do not provide close parameter on
5942 call to __gnat_kill.
5944 2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
5946 * libgnat/g-expect.adb (Close): Call Kill before Close_Input.
5948 2022-04-29 Martin Liska <mliska@suse.cz>
5950 * gnatvsn.ads: Bump Library_Version to 13.
5952 2022-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
5954 * tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC
5955 ELF. Add support for RTEMS to SPARC. Merge aarch64 support of Linux
5958 2022-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
5961 * gnat1drv.adb: Remove the goto End_Of_Program.
5963 2022-03-24 Pascal Obry <obry@adacore.com>
5966 * libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1.
5967 * libgnat/g-sercom__linux.adb (Close): Likewise.
5969 2022-03-10 Richard Biener <rguenther@suse.de>
5972 * gcc-interface/Makefile.in (target_noncanonical): Substitute.
5973 (OSCONS_CPP): Pass target_noncanonical as TARGET.
5975 2022-02-13 Maciej W. Rozycki <macro@orcam.me.uk>
5979 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use
5980 wraplf version of Aux_Long_Long_Float.
5982 2022-01-31 Pierre-Marie de Rodat <derodat@adacore.com>
5984 * doc/share/conf.py: Remove spurious call to ".decode()".
5986 2022-01-31 Arnaud Charlet <charlet@adacore.com>
5989 * gnat1drv.adb (Gnat1drv): Only call Exit_Program when not
5990 generating code, otherwise instead go to End_Of_Program.
5992 2022-01-28 Eric Botcazou <ebotcazou@adacore.com>
5995 * exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if
5996 any, when rewriting the operator node.
5998 2022-01-19 H.J. Lu <hjl.tools@gmail.com>
6001 * gcc-interface/Makefile.in (target_cpu): Set to x32 for
6002 x86_64-linux-gnux32.
6004 2022-01-19 H.J. Lu <hjl.tools@gmail.com>
6007 * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add
6008 $(TRASYM_DWARF_UNIX_PAIRS),
6009 s-tsmona.adb<libgnat/s-tsmona__linux.adb,
6010 $(GNATRTL_128BIT_PAIRS).
6011 (EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS)
6012 and $(GNATRTL_128BIT_OBJS).
6014 2022-01-18 Martin Liska <mliska@suse.cz>
6016 * adaint.c: Revert filename changes in comments.
6017 * ctrl_c.c (dummy_handler): Likewise.
6018 * gsocket.h: Likewise.
6019 * init.c (__gnat_error_handler): Likewise.
6020 * libgnarl/s-intman.ads: Likewise.
6021 * libgnarl/s-osinte__android.ads: Likewise.
6022 * libgnarl/s-osinte__darwin.ads: Likewise.
6023 * libgnarl/s-osinte__hpux.ads: Likewise.
6024 * libgnarl/s-osinte__linux.ads: Likewise.
6025 * libgnarl/s-osinte__qnx.ads: Likewise.
6026 * libgnarl/s-taskin.ads: Likewise.
6027 * rtfinal.c: Likewise.
6029 2022-01-18 Martin Liska <mliska@suse.cz>
6031 * Make-generated.in: Revert renaming changes.
6032 * Makefile.rtl: Likewise.
6033 * adadecode.cc: Moved to...
6034 * adadecode.c: ...here.
6035 * affinity.cc: Moved to...
6036 * affinity.c: ...here.
6037 * argv-lynxos178-raven-cert.cc: Moved to...
6038 * argv-lynxos178-raven-cert.c: ...here.
6039 * argv.cc: Moved to...
6041 * aux-io.cc: Moved to...
6042 * aux-io.c: ...here.
6043 * cio.cc: Moved to...
6045 * cstreams.cc: Moved to...
6046 * cstreams.c: ...here.
6047 * env.cc: Moved to...
6049 * exit.cc: Moved to...
6051 * expect.cc: Moved to...
6052 * expect.c: ...here.
6053 * final.cc: Moved to...
6055 * gcc-interface/Makefile.in:
6056 * init.cc: Moved to...
6058 * initialize.cc: Moved to...
6059 * initialize.c: ...here.
6060 * libgnarl/thread.cc: Moved to...
6061 * libgnarl/thread.c: ...here.
6062 * link.cc: Moved to...
6064 * locales.cc: Moved to...
6065 * locales.c: ...here.
6066 * mkdir.cc: Moved to...
6068 * raise.cc: Moved to...
6070 * rtfinal.cc: Moved to...
6071 * rtfinal.c: ...here.
6072 * rtinit.cc: Moved to...
6073 * rtinit.c: ...here.
6074 * s-oscons-tmplt.c (CND): Revert renaming changes.
6075 * seh_init.cc: Moved to...
6076 * seh_init.c: ...here.
6077 * sigtramp-armdroid.cc: Moved to...
6078 * sigtramp-armdroid.c: ...here.
6079 * sigtramp-ios.cc: Moved to...
6080 * sigtramp-ios.c: ...here.
6081 * sigtramp-qnx.cc: Moved to...
6082 * sigtramp-qnx.c: ...here.
6083 * sigtramp-vxworks.cc: Moved to...
6084 * sigtramp-vxworks.c: ...here.
6085 * socket.cc: Moved to...
6086 * socket.c: ...here.
6087 * tracebak.cc: Moved to...
6088 * tracebak.c: ...here.
6089 * version.cc: Moved to...
6090 * version.c: ...here.
6091 * vx_stack_info.cc: Moved to...
6092 * vx_stack_info.c: ...here.
6094 2022-01-17 Martin Liska <mliska@suse.cz>
6096 * Makefile.rtl: Rename .c names to .cc.
6097 * gcc-interface/Make-lang.in: Likewise.
6098 * gcc-interface/Makefile.in: Likewise.
6100 2022-01-17 Martin Liska <mliska@suse.cz>
6102 * Make-generated.in: Rename .c names to .cc.
6103 * adaint.c: Likewise.
6104 * ctrl_c.c (dummy_handler): Likewise.
6105 * gcc-interface/Makefile.in: Likewise.
6106 * gcc-interface/config-lang.in: Likewise.
6107 * gcc-interface/decl.cc (concat_name): Likewise.
6108 (init_gnat_decl): Likewise.
6109 * gcc-interface/gigi.h (concat_name): Likewise.
6110 (init_gnat_utils): Likewise.
6111 (build_call_raise_range): Likewise.
6112 (gnat_mark_addressable): Likewise.
6113 (gnat_protect_expr): Likewise.
6114 (gnat_rewrite_reference): Likewise.
6115 * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
6116 * gcc-interface/utils.cc (GTY): Likewise.
6117 (add_deferred_type_context): Likewise.
6118 (init_gnat_utils): Likewise.
6119 * gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
6120 (gnat_protect_expr): Likewise.
6121 (gnat_stabilize_reference_1): Likewise.
6122 (gnat_rewrite_reference): Likewise.
6123 * gsocket.h: Likewise.
6124 * init.cc (__gnat_error_handler): Likewise.
6125 * libgnarl/s-intman.ads: Likewise.
6126 * libgnarl/s-osinte__android.ads: Likewise.
6127 * libgnarl/s-osinte__darwin.ads: Likewise.
6128 * libgnarl/s-osinte__hpux.ads: Likewise.
6129 * libgnarl/s-osinte__linux.ads: Likewise.
6130 * libgnarl/s-osinte__qnx.ads: Likewise.
6131 * libgnarl/s-taskin.ads: Likewise.
6132 * rtfinal.cc: Likewise.
6133 * s-oscons-tmplt.c (CND): Likewise.
6134 * set_targ.ads: Likewise.
6136 2022-01-17 Martin Liska <mliska@suse.cz>
6138 * adadecode.c: Moved to...
6139 * adadecode.cc: ...here.
6140 * affinity.c: Moved to...
6141 * affinity.cc: ...here.
6142 * argv-lynxos178-raven-cert.c: Moved to...
6143 * argv-lynxos178-raven-cert.cc: ...here.
6144 * argv.c: Moved to...
6146 * aux-io.c: Moved to...
6147 * aux-io.cc: ...here.
6148 * cio.c: Moved to...
6150 * cstreams.c: Moved to...
6151 * cstreams.cc: ...here.
6152 * env.c: Moved to...
6154 * exit.c: Moved to...
6156 * expect.c: Moved to...
6157 * expect.cc: ...here.
6158 * final.c: Moved to...
6159 * final.cc: ...here.
6160 * gcc-interface/cuintp.c: Moved to...
6161 * gcc-interface/cuintp.cc: ...here.
6162 * gcc-interface/decl.c: Moved to...
6163 * gcc-interface/decl.cc: ...here.
6164 * gcc-interface/misc.c: Moved to...
6165 * gcc-interface/misc.cc: ...here.
6166 * gcc-interface/targtyps.c: Moved to...
6167 * gcc-interface/targtyps.cc: ...here.
6168 * gcc-interface/trans.c: Moved to...
6169 * gcc-interface/trans.cc: ...here.
6170 * gcc-interface/utils.c: Moved to...
6171 * gcc-interface/utils.cc: ...here.
6172 * gcc-interface/utils2.c: Moved to...
6173 * gcc-interface/utils2.cc: ...here.
6174 * init.c: Moved to...
6176 * initialize.c: Moved to...
6177 * initialize.cc: ...here.
6178 * libgnarl/thread.c: Moved to...
6179 * libgnarl/thread.cc: ...here.
6180 * link.c: Moved to...
6182 * locales.c: Moved to...
6183 * locales.cc: ...here.
6184 * mkdir.c: Moved to...
6185 * mkdir.cc: ...here.
6186 * raise.c: Moved to...
6187 * raise.cc: ...here.
6188 * rtfinal.c: Moved to...
6189 * rtfinal.cc: ...here.
6190 * rtinit.c: Moved to...
6191 * rtinit.cc: ...here.
6192 * seh_init.c: Moved to...
6193 * seh_init.cc: ...here.
6194 * sigtramp-armdroid.c: Moved to...
6195 * sigtramp-armdroid.cc: ...here.
6196 * sigtramp-ios.c: Moved to...
6197 * sigtramp-ios.cc: ...here.
6198 * sigtramp-qnx.c: Moved to...
6199 * sigtramp-qnx.cc: ...here.
6200 * sigtramp-vxworks.c: Moved to...
6201 * sigtramp-vxworks.cc: ...here.
6202 * socket.c: Moved to...
6203 * socket.cc: ...here.
6204 * tracebak.c: Moved to...
6205 * tracebak.cc: ...here.
6206 * version.c: Moved to...
6207 * version.cc: ...here.
6208 * vx_stack_info.c: Moved to...
6209 * vx_stack_info.cc: ...here.
6211 2022-01-14 Andrew Pinski <apinski@marvell.com>
6214 * gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File
6215 goto End_Of_Program.
6217 2022-01-11 Eric Botcazou <ebotcazou@adacore.com>
6219 * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a
6220 little the assertion on designated types of pointer types.
6222 2022-01-11 Justin Squirek <squirek@adacore.com>
6224 * sem_ch8.adb (Nvis_Messages): Add generic instance name to
6227 2022-01-11 Etienne Servais <servais@adacore.com>
6229 * par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
6230 bracket as token to open an expression function.
6232 2022-01-11 Justin Squirek <squirek@adacore.com>
6234 * sem_warn.adb (Check_References): Add call to Has_Task instead
6235 of checking component type.
6237 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6239 * exp_util.ads (Insert_Declaration): Remove spec.
6240 * exp_util.adb (Insert_Declaration): Remove body.
6242 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6244 * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid
6246 * exp_ch5.adb (Expand_N_If_Statement): Likewise.
6247 * exp_ch7.adb (Process_Declarations): Likewise.
6248 * sem_elab.adb (Freeze_Node_Location): Likewise.
6249 * exp_util.adb (Insert_Actions): Likewise.
6250 (Is_OK_PF_Pragma): Likewise.
6251 (Requires_Cleanup_Actions): Remove early exit; ordinary
6252 processing path will similarly do nothing.
6254 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6256 * snames.ads-tmpl: Restore Name_Rpc.
6258 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6260 * sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF
6261 statement; refill code and comments.
6263 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6265 * sem_ch4.adb (Analyze_Allocator): Fix comment.
6266 * sem_eval.ads (Compile-Time Known Values): Likewise.
6268 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6270 * snames.ads-tmpl: Remove unreferenced names.
6272 2022-01-11 Yannick Moy <moy@adacore.com>
6274 * libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma
6275 Prove_Signs, call lemma for commutation of Big and
6277 (Multiply_With_Ovflo_Check): Adjust postcondition of
6279 (Scaled_Divide): Explicit commutation in the proof of lemma
6280 Prove_Multiplication, add new lemma Prove_Shift_Progress for
6281 congruence property that is not proved in a larger context, add
6282 assertions at the end of the loop to state loop invariant
6285 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6287 * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec.
6288 * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body.
6290 2022-01-11 Yannick Moy <moy@adacore.com>
6292 * libgnat/a-strfix.adb (Insert, Overwrite): Add assertions.
6294 2022-01-11 Arnaud Charlet <charlet@adacore.com>
6297 * osint.adb (Program_Name): Fix handling of suffixes.
6299 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6301 * exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary
6302 DECLARE block; refill code and comments.
6304 2022-01-11 Eric Botcazou <ebotcazou@adacore.com>
6306 * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array
6307 copy Packed_Array_Impl_Type manually here.
6308 (Copy_Array_Subtype_Attributes): Do not copy it here.
6310 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6312 * exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
6313 Unnest_Statement_List): Simplify with Make_Temporary.
6314 * exp_put_image.adb (Build_Image_Call): Likewise.
6315 * inline.adb (Generate_Subprogram_Body): Likewise.
6316 * sem_ch13.adb (Build_Predicate_Functions): Likewise.
6317 * sem_util.adb (New_Copy_Separate_List): Likewise.
6319 2022-01-11 Etienne Servais <servais@adacore.com>
6321 * sem_ch3.adb (Check_Dynamic_Object): Swap check order.
6323 2022-01-11 Yannick Moy <moy@adacore.com>
6325 * libgnat/s-casuti.adb: Add ghost code.
6326 * libgnat/s-casuti.ads: Add contracts.
6328 2022-01-11 Claire Dross <dross@adacore.com>
6330 * libgnat/a-tiinau.ads: Use a procedure for the Scan parameter
6331 instead of a function with side-effects.
6332 * libgnat/a-tiinau.adb: Idem.
6333 * libgnat/a-wtinau.ads: Idem.
6334 * libgnat/a-wtinau.adb: Idem.
6335 * libgnat/a-ztinau.ads: Idem.
6336 * libgnat/a-ztinau.adb: Idem.
6337 * libgnat/s-valint.ads: Change the function with side-effects
6338 Scan_Integer into a procedure
6339 * libgnat/s-vallli.ads: Idem.
6340 * libgnat/s-valllli.ads: Idem.
6341 * libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore
6342 assertions in instance.
6343 * libgnat/s-valllu.ads: Idem.
6344 * libgnat/s-valuns.ads: Idem.
6345 * libgnat/s-valuei.ads: Use a procedure for the
6346 Scan_Raw_Unsigned parameter instead of a function with
6347 side-effects and change the function with side-effects
6348 Scan_Integer into a procedure.
6349 * libgnat/s-valuei.adb: Idem.
6350 * libgnat/s-valuti.ads: Introduce a ghost function that scans an
6351 exponent and complete the postcondition of Scan_Exponent to also
6352 describe the value of Ptr after the call. Fix the postcondition
6353 of Scan_Underscore. Simplify the definition of
6355 * libgnat/s-valuti.adb: Idem.
6356 * libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to
6357 First_Non_Space_Ghost.
6358 * libgnat/s-valueu.ads: Add functional contracts.
6359 * libgnat/s-valueu.adb: Idem.
6361 2022-01-11 Yannick Moy <moy@adacore.com>
6363 * libgnat/s-expmod.adb (Exp_Modular): Add assertions.
6365 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6367 * errout.adb (Error_Msg_CRT): Build message with string
6368 concatenation; it is slightly repetitive but much easier to
6371 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6373 * exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit
6374 initialization of the exceptF object.
6376 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6378 * par-ch3.adb (P_Array_Type_Definition): Use
6379 Error_Msg_GNAT_Extension.
6381 2022-01-11 Gary Dismukes <dismukes@adacore.com>
6383 * sem_disp.adb (Check_Controlling_Type): Add test for the case
6384 where Subp is a subprogram associated with a protected
6385 subprogram and return Empty, unless Tagged_Type is the
6386 corresponding record type of the protected type.
6388 2022-01-11 Yannick Moy <moy@adacore.com>
6390 * libgnat/s-veboop.adb: Add ghost code for proof.
6391 * libgnat/s-veboop.ads: Add specification.
6393 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6395 * exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb,
6396 exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb,
6397 inline.adb, itypes.adb, lib-load.adb, lib-xref.adb,
6398 libgnat/a-cfhase.adb, libgnat/a-cforse.adb,
6399 libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb,
6400 libgnat/a-except.adb, libgnat/a-strfix.adb,
6401 libgnat/a-textio.adb, libgnat/a-tienau.adb,
6402 libgnat/a-tigeau.adb, libgnat/a-witeio.adb,
6403 libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb,
6404 libgnat/a-ztenau.adb, libgnat/a-ztexio.adb,
6405 libgnat/a-ztgeau.adb, libgnat/g-comlin.adb,
6406 libgnat/g-debpoo.adb, libgnat/g-expect.adb,
6407 libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb,
6408 libgnat/s-objrea.adb, libgnat/s-pehage.adb,
6409 libgnat/s-regpat.adb, libgnat/s-shasto.adb,
6410 libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb,
6411 par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb,
6412 repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
6413 sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb,
6414 sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style.
6416 2022-01-11 Arnaud Charlet <charlet@adacore.com>
6418 * exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb,
6419 sem_ch13.adb: Use membership tests.
6421 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6423 * erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to
6424 connect status of initial messages and their continuation; we
6425 already have several flags like this.
6426 (Error_Msg_Object): Add field Warn_Runtime_Raise to connect
6427 error reporting (when problematic code is found) and removal
6428 (when problematic code is determined to be dead).
6429 * errout.adb (Error_Msg_Internal): Handle new field when
6430 recording a continuation message; propagate status from
6431 continuation to the preceding messages.
6432 (To_Be_Removed): For dead code remove both simple warnings and
6433 warnings about constraint errors that have been escalated to
6435 (Set_Msg_Text): Recognize warnings about constraint errors that
6436 are escalated to hard errors.
6437 * errutil.adb (Error_Msg): Handle added field when recording a
6440 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
6442 * errout.adb (Error_Msg_Internal): Propagate warnings-as-error
6443 flag from continuation message to its preceding messages.
6445 2022-01-11 Arnaud Charlet <charlet@adacore.com>
6447 * gnatvsn.ads (Current_Year): Update copyright notice, bump to
6449 * ada_get_targ.adb: Update copyright notice.
6450 * adabkend.adb: Likewise.
6451 * adabkend.ads: Likewise.
6452 * adadecode.c: Likewise.
6453 * adadecode.h: Likewise.
6454 * adaint.c: Likewise.
6455 * adaint.h: Likewise.
6456 * affinity.c: Likewise.
6457 * ali-util.adb: Likewise.
6458 * ali-util.ads: Likewise.
6459 * ali.adb: Likewise.
6460 * ali.ads: Likewise.
6461 * alloc.ads: Likewise.
6462 * argv-lynxos178-raven-cert.c: Likewise.
6464 * aspects.adb: Likewise.
6465 * aspects.ads: Likewise.
6466 * atree.adb: Likewise.
6467 * atree.ads: Likewise.
6468 * atree.h: Likewise.
6469 * aux-io.c: Likewise.
6470 * back_end.adb: Likewise.
6471 * back_end.ads: Likewise.
6472 * backend_utils.adb: Likewise.
6473 * backend_utils.ads: Likewise.
6474 * bcheck.adb: Likewise.
6475 * bcheck.ads: Likewise.
6476 * binde.adb: Likewise.
6477 * binde.ads: Likewise.
6478 * binderr.adb: Likewise.
6479 * binderr.ads: Likewise.
6480 * bindgen.adb: Likewise.
6481 * bindgen.ads: Likewise.
6482 * bindo-augmentors.adb: Likewise.
6483 * bindo-augmentors.ads: Likewise.
6484 * bindo-builders.adb: Likewise.
6485 * bindo-builders.ads: Likewise.
6486 * bindo-diagnostics.adb: Likewise.
6487 * bindo-diagnostics.ads: Likewise.
6488 * bindo-elaborators.adb: Likewise.
6489 * bindo-elaborators.ads: Likewise.
6490 * bindo-graphs.adb: Likewise.
6491 * bindo-graphs.ads: Likewise.
6492 * bindo-units.adb: Likewise.
6493 * bindo-units.ads: Likewise.
6494 * bindo-validators.adb: Likewise.
6495 * bindo-validators.ads: Likewise.
6496 * bindo-writers.adb: Likewise.
6497 * bindo-writers.ads: Likewise.
6498 * bindo.adb: Likewise.
6499 * bindo.ads: Likewise.
6500 * bindusg.adb: Likewise.
6501 * bindusg.ads: Likewise.
6502 * butil.adb: Likewise.
6503 * butil.ads: Likewise.
6505 * casing.adb: Likewise.
6506 * casing.ads: Likewise.
6507 * checks.adb: Likewise.
6508 * checks.ads: Likewise.
6510 * clean.adb: Likewise.
6511 * clean.ads: Likewise.
6512 * comperr.adb: Likewise.
6513 * comperr.ads: Likewise.
6514 * contracts.adb: Likewise.
6515 * contracts.ads: Likewise.
6516 * csets.adb: Likewise.
6517 * csets.ads: Likewise.
6518 * cstand.adb: Likewise.
6519 * cstand.ads: Likewise.
6520 * cstreams.c: Likewise.
6521 * ctrl_c.c: Likewise.
6522 * debug.ads: Likewise.
6523 * debug_a.adb: Likewise.
6524 * debug_a.ads: Likewise.
6525 * einfo-utils.adb: Likewise.
6526 * einfo-utils.ads: Likewise.
6527 * einfo.adb: Likewise.
6528 * einfo.ads: Likewise.
6529 * elists.adb: Likewise.
6530 * elists.ads: Likewise.
6531 * elists.h: Likewise.
6534 * err_vars.ads: Likewise.
6535 * errno.c: Likewise.
6536 * errout.adb: Likewise.
6537 * errout.ads: Likewise.
6538 * erroutc.adb: Likewise.
6539 * erroutc.ads: Likewise.
6540 * errutil.adb: Likewise.
6541 * errutil.ads: Likewise.
6542 * eval_fat.adb: Likewise.
6543 * eval_fat.ads: Likewise.
6545 * exp_aggr.adb: Likewise.
6546 * exp_aggr.ads: Likewise.
6547 * exp_atag.adb: Likewise.
6548 * exp_atag.ads: Likewise.
6549 * exp_attr.adb: Likewise.
6550 * exp_attr.ads: Likewise.
6551 * exp_cg.adb: Likewise.
6552 * exp_cg.ads: Likewise.
6553 * exp_ch10.ads: Likewise.
6554 * exp_ch11.adb: Likewise.
6555 * exp_ch11.ads: Likewise.
6556 * exp_ch12.adb: Likewise.
6557 * exp_ch12.ads: Likewise.
6558 * exp_ch13.adb: Likewise.
6559 * exp_ch13.ads: Likewise.
6560 * exp_ch2.adb: Likewise.
6561 * exp_ch2.ads: Likewise.
6562 * exp_ch3.adb: Likewise.
6563 * exp_ch3.ads: Likewise.
6564 * exp_ch4.adb: Likewise.
6565 * exp_ch4.ads: Likewise.
6566 * exp_ch5.adb: Likewise.
6567 * exp_ch5.ads: Likewise.
6568 * exp_ch6.adb: Likewise.
6569 * exp_ch6.ads: Likewise.
6570 * exp_ch7.adb: Likewise.
6571 * exp_ch7.ads: Likewise.
6572 * exp_ch8.adb: Likewise.
6573 * exp_ch8.ads: Likewise.
6574 * exp_ch9.adb: Likewise.
6575 * exp_ch9.ads: Likewise.
6576 * exp_code.adb: Likewise.
6577 * exp_code.ads: Likewise.
6578 * exp_dbug.adb: Likewise.
6579 * exp_dbug.ads: Likewise.
6580 * exp_disp.adb: Likewise.
6581 * exp_disp.ads: Likewise.
6582 * exp_dist.adb: Likewise.
6583 * exp_dist.ads: Likewise.
6584 * exp_fixd.adb: Likewise.
6585 * exp_fixd.ads: Likewise.
6586 * exp_imgv.adb: Likewise.
6587 * exp_imgv.ads: Likewise.
6588 * exp_intr.adb: Likewise.
6589 * exp_intr.ads: Likewise.
6590 * exp_pakd.adb: Likewise.
6591 * exp_pakd.ads: Likewise.
6592 * exp_prag.adb: Likewise.
6593 * exp_prag.ads: Likewise.
6594 * exp_put_image.adb: Likewise.
6595 * exp_put_image.ads: Likewise.
6596 * exp_sel.adb: Likewise.
6597 * exp_sel.ads: Likewise.
6598 * exp_smem.adb: Likewise.
6599 * exp_smem.ads: Likewise.
6600 * exp_spark.adb: Likewise.
6601 * exp_spark.ads: Likewise.
6602 * exp_strm.adb: Likewise.
6603 * exp_strm.ads: Likewise.
6604 * exp_tss.adb: Likewise.
6605 * exp_tss.ads: Likewise.
6606 * exp_unst.adb: Likewise.
6607 * exp_unst.ads: Likewise.
6608 * exp_util.adb: Likewise.
6609 * exp_util.ads: Likewise.
6610 * expander.adb: Likewise.
6611 * expander.ads: Likewise.
6612 * expect.c: Likewise.
6614 * final.c: Likewise.
6615 * fmap.adb: Likewise.
6616 * fmap.ads: Likewise.
6617 * fname-sf.adb: Likewise.
6618 * fname-sf.ads: Likewise.
6619 * fname-uf.adb: Likewise.
6620 * fname-uf.ads: Likewise.
6621 * fname.adb: Likewise.
6622 * fname.ads: Likewise.
6623 * freeze.adb: Likewise.
6624 * freeze.ads: Likewise.
6625 * frontend.adb: Likewise.
6626 * frontend.ads: Likewise.
6627 * gen_il-fields.ads: Likewise.
6628 * gen_il-gen-gen_entities.adb: Likewise.
6629 * gen_il-gen-gen_nodes.adb: Likewise.
6630 * gen_il-gen.adb: Likewise.
6631 * gen_il-gen.ads: Likewise.
6632 * gen_il-internals.adb: Likewise.
6633 * gen_il-internals.ads: Likewise.
6634 * gen_il-main.adb: Likewise.
6635 * gen_il-types.ads: Likewise.
6636 * gen_il.adb: Likewise.
6637 * gen_il.ads: Likewise.
6638 * get_scos.adb: Likewise.
6639 * get_scos.ads: Likewise.
6640 * get_targ.adb: Likewise.
6641 * get_targ.ads: Likewise.
6642 * ghost.adb: Likewise.
6643 * ghost.ads: Likewise.
6644 * gnat1drv.adb: Likewise.
6645 * gnat1drv.ads: Likewise.
6646 * gnat_cuda.adb: Likewise.
6647 * gnat_cuda.ads: Likewise.
6648 * gnatbind.adb: Likewise.
6649 * gnatbind.ads: Likewise.
6650 * gnatchop.adb: Likewise.
6651 * gnatclean.adb: Likewise.
6652 * gnatcmd.adb: Likewise.
6653 * gnatcmd.ads: Likewise.
6654 * gnatdll.adb: Likewise.
6655 * gnatfind.adb: Likewise.
6656 * gnatkr.adb: Likewise.
6657 * gnatkr.ads: Likewise.
6658 * gnatlink.adb: Likewise.
6659 * gnatlink.ads: Likewise.
6660 * gnatls.adb: Likewise.
6661 * gnatls.ads: Likewise.
6662 * gnatmake.adb: Likewise.
6663 * gnatmake.ads: Likewise.
6664 * gnatname.adb: Likewise.
6665 * gnatname.ads: Likewise.
6666 * gnatprep.adb: Likewise.
6667 * gnatprep.ads: Likewise.
6668 * gnatvsn.adb: Likewise.
6669 * gnatxref.adb: Likewise.
6670 * gprep.adb: Likewise.
6671 * gprep.ads: Likewise.
6672 * gsocket.h: Likewise.
6673 * hostparm.ads: Likewise.
6674 * impunit.adb: Likewise.
6675 * impunit.ads: Likewise.
6676 * indepsw-aix.adb: Likewise.
6677 * indepsw-darwin.adb: Likewise.
6678 * indepsw-gnu.adb: Likewise.
6679 * indepsw.adb: Likewise.
6680 * indepsw.ads: Likewise.
6682 * initialize.c: Likewise.
6683 * inline.adb: Likewise.
6684 * inline.ads: Likewise.
6685 * itypes.adb: Likewise.
6686 * itypes.ads: Likewise.
6687 * krunch.adb: Likewise.
6688 * krunch.ads: Likewise.
6689 * layout.adb: Likewise.
6690 * layout.ads: Likewise.
6691 * lib-list.adb: Likewise.
6692 * lib-load.adb: Likewise.
6693 * lib-load.ads: Likewise.
6694 * lib-sort.adb: Likewise.
6695 * lib-util.adb: Likewise.
6696 * lib-util.ads: Likewise.
6697 * lib-writ.adb: Likewise.
6698 * lib-writ.ads: Likewise.
6699 * lib-xref-spark_specific.adb: Likewise.
6700 * lib-xref.adb: Likewise.
6701 * lib-xref.ads: Likewise.
6702 * lib.adb: Likewise.
6703 * lib.ads: Likewise.
6704 * libgnarl/a-astaco.adb: Likewise.
6705 * libgnarl/a-dispat.adb: Likewise.
6706 * libgnarl/a-dynpri.adb: Likewise.
6707 * libgnarl/a-etgrbu.ads: Likewise.
6708 * libgnarl/a-exetim__darwin.adb: Likewise.
6709 * libgnarl/a-exetim__default.ads: Likewise.
6710 * libgnarl/a-exetim__mingw.adb: Likewise.
6711 * libgnarl/a-exetim__mingw.ads: Likewise.
6712 * libgnarl/a-exetim__posix.adb: Likewise.
6713 * libgnarl/a-interr.adb: Likewise.
6714 * libgnarl/a-interr.ads: Likewise.
6715 * libgnarl/a-intnam.ads: Likewise.
6716 * libgnarl/a-intnam__aix.ads: Likewise.
6717 * libgnarl/a-intnam__darwin.ads: Likewise.
6718 * libgnarl/a-intnam__dragonfly.ads: Likewise.
6719 * libgnarl/a-intnam__dummy.ads: Likewise.
6720 * libgnarl/a-intnam__freebsd.ads: Likewise.
6721 * libgnarl/a-intnam__hpux.ads: Likewise.
6722 * libgnarl/a-intnam__linux.ads: Likewise.
6723 * libgnarl/a-intnam__lynxos.ads: Likewise.
6724 * libgnarl/a-intnam__mingw.ads: Likewise.
6725 * libgnarl/a-intnam__qnx.ads: Likewise.
6726 * libgnarl/a-intnam__rtems.ads: Likewise.
6727 * libgnarl/a-intnam__solaris.ads: Likewise.
6728 * libgnarl/a-intnam__vxworks.ads: Likewise.
6729 * libgnarl/a-reatim.adb: Likewise.
6730 * libgnarl/a-reatim.ads: Likewise.
6731 * libgnarl/a-retide.adb: Likewise.
6732 * libgnarl/a-retide.ads: Likewise.
6733 * libgnarl/a-rttiev.adb: Likewise.
6734 * libgnarl/a-rttiev.ads: Likewise.
6735 * libgnarl/a-synbar.adb: Likewise.
6736 * libgnarl/a-synbar.ads: Likewise.
6737 * libgnarl/a-synbar__posix.adb: Likewise.
6738 * libgnarl/a-synbar__posix.ads: Likewise.
6739 * libgnarl/a-sytaco.adb: Likewise.
6740 * libgnarl/a-sytaco.ads: Likewise.
6741 * libgnarl/a-tasatt.adb: Likewise.
6742 * libgnarl/a-tasatt.ads: Likewise.
6743 * libgnarl/a-taside.adb: Likewise.
6744 * libgnarl/a-taside.ads: Likewise.
6745 * libgnarl/a-tasini.adb: Likewise.
6746 * libgnarl/a-tasini.ads: Likewise.
6747 * libgnarl/a-taster.adb: Likewise.
6748 * libgnarl/g-boubuf.adb: Likewise.
6749 * libgnarl/g-boubuf.ads: Likewise.
6750 * libgnarl/g-boumai.ads: Likewise.
6751 * libgnarl/g-semaph.adb: Likewise.
6752 * libgnarl/g-semaph.ads: Likewise.
6753 * libgnarl/g-signal.adb: Likewise.
6754 * libgnarl/g-signal.ads: Likewise.
6755 * libgnarl/g-tastus.ads: Likewise.
6756 * libgnarl/g-thread.adb: Likewise.
6757 * libgnarl/g-thread.ads: Likewise.
6758 * libgnarl/i-vxinco.adb: Likewise.
6759 * libgnarl/i-vxinco.ads: Likewise.
6760 * libgnarl/s-inmaop.ads: Likewise.
6761 * libgnarl/s-inmaop__dummy.adb: Likewise.
6762 * libgnarl/s-inmaop__hwint.adb: Likewise.
6763 * libgnarl/s-inmaop__posix.adb: Likewise.
6764 * libgnarl/s-interr.adb: Likewise.
6765 * libgnarl/s-interr.ads: Likewise.
6766 * libgnarl/s-interr__dummy.adb: Likewise.
6767 * libgnarl/s-interr__hwint.adb: Likewise.
6768 * libgnarl/s-interr__sigaction.adb: Likewise.
6769 * libgnarl/s-interr__vxworks.adb: Likewise.
6770 * libgnarl/s-intman.ads: Likewise.
6771 * libgnarl/s-intman__android.adb: Likewise.
6772 * libgnarl/s-intman__dummy.adb: Likewise.
6773 * libgnarl/s-intman__lynxos.adb: Likewise.
6774 * libgnarl/s-intman__mingw.adb: Likewise.
6775 * libgnarl/s-intman__posix.adb: Likewise.
6776 * libgnarl/s-intman__qnx.adb: Likewise.
6777 * libgnarl/s-intman__rtems.adb: Likewise.
6778 * libgnarl/s-intman__rtems.ads: Likewise.
6779 * libgnarl/s-intman__solaris.adb: Likewise.
6780 * libgnarl/s-intman__susv3.adb: Likewise.
6781 * libgnarl/s-intman__vxworks.adb: Likewise.
6782 * libgnarl/s-intman__vxworks.ads: Likewise.
6783 * libgnarl/s-linux.ads: Likewise.
6784 * libgnarl/s-linux__alpha.ads: Likewise.
6785 * libgnarl/s-linux__android.ads: Likewise.
6786 * libgnarl/s-linux__hppa.ads: Likewise.
6787 * libgnarl/s-linux__mips.ads: Likewise.
6788 * libgnarl/s-linux__riscv.ads: Likewise.
6789 * libgnarl/s-linux__sparc.ads: Likewise.
6790 * libgnarl/s-linux__x32.ads: Likewise.
6791 * libgnarl/s-mudido.adb: Likewise.
6792 * libgnarl/s-mudido__affinity.adb: Likewise.
6793 * libgnarl/s-osinte__aix.adb: Likewise.
6794 * libgnarl/s-osinte__aix.ads: Likewise.
6795 * libgnarl/s-osinte__android.adb: Likewise.
6796 * libgnarl/s-osinte__android.ads: Likewise.
6797 * libgnarl/s-osinte__darwin.adb: Likewise.
6798 * libgnarl/s-osinte__darwin.ads: Likewise.
6799 * libgnarl/s-osinte__dragonfly.adb: Likewise.
6800 * libgnarl/s-osinte__dragonfly.ads: Likewise.
6801 * libgnarl/s-osinte__dummy.ads: Likewise.
6802 * libgnarl/s-osinte__freebsd.adb: Likewise.
6803 * libgnarl/s-osinte__freebsd.ads: Likewise.
6804 * libgnarl/s-osinte__gnu.adb: Likewise.
6805 * libgnarl/s-osinte__gnu.ads: Likewise.
6806 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
6807 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
6808 * libgnarl/s-osinte__hpux.ads: Likewise.
6809 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
6810 * libgnarl/s-osinte__linux.ads: Likewise.
6811 * libgnarl/s-osinte__lynxos178.adb: Likewise.
6812 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
6813 * libgnarl/s-osinte__mingw.ads: Likewise.
6814 * libgnarl/s-osinte__posix.adb: Likewise.
6815 * libgnarl/s-osinte__qnx.adb: Likewise.
6816 * libgnarl/s-osinte__qnx.ads: Likewise.
6817 * libgnarl/s-osinte__rtems.adb: Likewise.
6818 * libgnarl/s-osinte__rtems.ads: Likewise.
6819 * libgnarl/s-osinte__solaris.adb: Likewise.
6820 * libgnarl/s-osinte__solaris.ads: Likewise.
6821 * libgnarl/s-osinte__vxworks.adb: Likewise.
6822 * libgnarl/s-osinte__vxworks.ads: Likewise.
6823 * libgnarl/s-osinte__x32.adb: Likewise.
6824 * libgnarl/s-proinf.adb: Likewise.
6825 * libgnarl/s-proinf.ads: Likewise.
6826 * libgnarl/s-putaim.adb: Likewise.
6827 * libgnarl/s-putaim.ads: Likewise.
6828 * libgnarl/s-qnx.ads: Likewise.
6829 * libgnarl/s-solita.adb: Likewise.
6830 * libgnarl/s-solita.ads: Likewise.
6831 * libgnarl/s-stusta.adb: Likewise.
6832 * libgnarl/s-stusta.ads: Likewise.
6833 * libgnarl/s-taasde.adb: Likewise.
6834 * libgnarl/s-taasde.ads: Likewise.
6835 * libgnarl/s-tadeca.adb: Likewise.
6836 * libgnarl/s-tadeca.ads: Likewise.
6837 * libgnarl/s-tadert.adb: Likewise.
6838 * libgnarl/s-tadert.ads: Likewise.
6839 * libgnarl/s-taenca.adb: Likewise.
6840 * libgnarl/s-taenca.ads: Likewise.
6841 * libgnarl/s-taprob.adb: Likewise.
6842 * libgnarl/s-taprob.ads: Likewise.
6843 * libgnarl/s-taprop.ads: Likewise.
6844 * libgnarl/s-taprop__dummy.adb: Likewise.
6845 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
6846 * libgnarl/s-taprop__linux.adb: Likewise.
6847 * libgnarl/s-taprop__mingw.adb: Likewise.
6848 * libgnarl/s-taprop__posix.adb: Likewise.
6849 * libgnarl/s-taprop__qnx.adb: Likewise.
6850 * libgnarl/s-taprop__rtems.adb: Likewise.
6851 * libgnarl/s-taprop__solaris.adb: Likewise.
6852 * libgnarl/s-taprop__vxworks.adb: Likewise.
6853 * libgnarl/s-tarest.adb: Likewise.
6854 * libgnarl/s-tarest.ads: Likewise.
6855 * libgnarl/s-tasdeb.adb: Likewise.
6856 * libgnarl/s-tasdeb.ads: Likewise.
6857 * libgnarl/s-tasinf.adb: Likewise.
6858 * libgnarl/s-tasinf.ads: Likewise.
6859 * libgnarl/s-tasinf__linux.adb: Likewise.
6860 * libgnarl/s-tasinf__linux.ads: Likewise.
6861 * libgnarl/s-tasinf__mingw.adb: Likewise.
6862 * libgnarl/s-tasinf__mingw.ads: Likewise.
6863 * libgnarl/s-tasinf__solaris.adb: Likewise.
6864 * libgnarl/s-tasinf__solaris.ads: Likewise.
6865 * libgnarl/s-tasinf__vxworks.ads: Likewise.
6866 * libgnarl/s-tasini.adb: Likewise.
6867 * libgnarl/s-tasini.ads: Likewise.
6868 * libgnarl/s-taskin.adb: Likewise.
6869 * libgnarl/s-taskin.ads: Likewise.
6870 * libgnarl/s-taspri__dummy.ads: Likewise.
6871 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
6872 * libgnarl/s-taspri__lynxos.ads: Likewise.
6873 * libgnarl/s-taspri__mingw.ads: Likewise.
6874 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
6875 * libgnarl/s-taspri__posix.ads: Likewise.
6876 * libgnarl/s-taspri__solaris.ads: Likewise.
6877 * libgnarl/s-taspri__vxworks.ads: Likewise.
6878 * libgnarl/s-tasque.adb: Likewise.
6879 * libgnarl/s-tasque.ads: Likewise.
6880 * libgnarl/s-tasren.adb: Likewise.
6881 * libgnarl/s-tasren.ads: Likewise.
6882 * libgnarl/s-tasres.ads: Likewise.
6883 * libgnarl/s-tassta.adb: Likewise.
6884 * libgnarl/s-tassta.ads: Likewise.
6885 * libgnarl/s-tasuti.adb: Likewise.
6886 * libgnarl/s-tasuti.ads: Likewise.
6887 * libgnarl/s-tataat.adb: Likewise.
6888 * libgnarl/s-tataat.ads: Likewise.
6889 * libgnarl/s-tpinop.adb: Likewise.
6890 * libgnarl/s-tpinop.ads: Likewise.
6891 * libgnarl/s-tpoaal.adb: Likewise.
6892 * libgnarl/s-tpoben.adb: Likewise.
6893 * libgnarl/s-tpoben.ads: Likewise.
6894 * libgnarl/s-tpobmu.adb: Likewise.
6895 * libgnarl/s-tpobmu.ads: Likewise.
6896 * libgnarl/s-tpobop.adb: Likewise.
6897 * libgnarl/s-tpobop.ads: Likewise.
6898 * libgnarl/s-tpopmo.adb: Likewise.
6899 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
6900 * libgnarl/s-tpopsp__posix.adb: Likewise.
6901 * libgnarl/s-tpopsp__solaris.adb: Likewise.
6902 * libgnarl/s-tpopsp__tls.adb: Likewise.
6903 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
6904 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
6905 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
6906 * libgnarl/s-tporft.adb: Likewise.
6907 * libgnarl/s-tposen.adb: Likewise.
6908 * libgnarl/s-tposen.ads: Likewise.
6909 * libgnarl/s-vxwext.adb: Likewise.
6910 * libgnarl/s-vxwext.ads: Likewise.
6911 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
6912 * libgnarl/s-vxwext__kernel.adb: Likewise.
6913 * libgnarl/s-vxwext__kernel.ads: Likewise.
6914 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
6915 * libgnarl/s-vxwext__rtp.adb: Likewise.
6916 * libgnarl/s-vxwext__rtp.ads: Likewise.
6917 * libgnarl/s-vxwork__aarch64.ads: Likewise.
6918 * libgnarl/s-vxwork__arm.ads: Likewise.
6919 * libgnarl/s-vxwork__ppc.ads: Likewise.
6920 * libgnarl/s-vxwork__x86.ads: Likewise.
6921 * libgnarl/thread.c: Likewise.
6922 * libgnat/a-assert.adb: Likewise.
6923 * libgnat/a-assert.ads: Likewise.
6924 * libgnat/a-btgbso.adb: Likewise.
6925 * libgnat/a-btgbso.ads: Likewise.
6926 * libgnat/a-calari.adb: Likewise.
6927 * libgnat/a-calari.ads: Likewise.
6928 * libgnat/a-calcon.adb: Likewise.
6929 * libgnat/a-calcon.ads: Likewise.
6930 * libgnat/a-caldel.adb: Likewise.
6931 * libgnat/a-caldel.ads: Likewise.
6932 * libgnat/a-calend.adb: Likewise.
6933 * libgnat/a-calend.ads: Likewise.
6934 * libgnat/a-calfor.adb: Likewise.
6935 * libgnat/a-calfor.ads: Likewise.
6936 * libgnat/a-catizo.adb: Likewise.
6937 * libgnat/a-cbdlli.adb: Likewise.
6938 * libgnat/a-cbdlli.ads: Likewise.
6939 * libgnat/a-cbhama.adb: Likewise.
6940 * libgnat/a-cbhama.ads: Likewise.
6941 * libgnat/a-cbhase.adb: Likewise.
6942 * libgnat/a-cbhase.ads: Likewise.
6943 * libgnat/a-cbmutr.adb: Likewise.
6944 * libgnat/a-cbmutr.ads: Likewise.
6945 * libgnat/a-cborma.adb: Likewise.
6946 * libgnat/a-cborma.ads: Likewise.
6947 * libgnat/a-cborse.adb: Likewise.
6948 * libgnat/a-cborse.ads: Likewise.
6949 * libgnat/a-cbprqu.adb: Likewise.
6950 * libgnat/a-cbprqu.ads: Likewise.
6951 * libgnat/a-cbsyqu.adb: Likewise.
6952 * libgnat/a-cbsyqu.ads: Likewise.
6953 * libgnat/a-cdlili.adb: Likewise.
6954 * libgnat/a-cdlili.ads: Likewise.
6955 * libgnat/a-cfdlli.adb: Likewise.
6956 * libgnat/a-cfdlli.ads: Likewise.
6957 * libgnat/a-cfhama.adb: Likewise.
6958 * libgnat/a-cfhama.ads: Likewise.
6959 * libgnat/a-cfhase.adb: Likewise.
6960 * libgnat/a-cfhase.ads: Likewise.
6961 * libgnat/a-cfinve.adb: Likewise.
6962 * libgnat/a-cfinve.ads: Likewise.
6963 * libgnat/a-cforma.adb: Likewise.
6964 * libgnat/a-cforma.ads: Likewise.
6965 * libgnat/a-cforse.adb: Likewise.
6966 * libgnat/a-cforse.ads: Likewise.
6967 * libgnat/a-cgaaso.adb: Likewise.
6968 * libgnat/a-cgaaso.ads: Likewise.
6969 * libgnat/a-cgarso.adb: Likewise.
6970 * libgnat/a-cgcaso.adb: Likewise.
6971 * libgnat/a-chacon.adb: Likewise.
6972 * libgnat/a-chacon.ads: Likewise.
6973 * libgnat/a-chahan.adb: Likewise.
6974 * libgnat/a-chahan.ads: Likewise.
6975 * libgnat/a-chlat9.ads: Likewise.
6976 * libgnat/a-chtgbk.adb: Likewise.
6977 * libgnat/a-chtgbk.ads: Likewise.
6978 * libgnat/a-chtgbo.adb: Likewise.
6979 * libgnat/a-chtgbo.ads: Likewise.
6980 * libgnat/a-chtgke.adb: Likewise.
6981 * libgnat/a-chtgke.ads: Likewise.
6982 * libgnat/a-chtgop.adb: Likewise.
6983 * libgnat/a-chtgop.ads: Likewise.
6984 * libgnat/a-chzla1.ads: Likewise.
6985 * libgnat/a-chzla9.ads: Likewise.
6986 * libgnat/a-cidlli.adb: Likewise.
6987 * libgnat/a-cidlli.ads: Likewise.
6988 * libgnat/a-cihama.adb: Likewise.
6989 * libgnat/a-cihama.ads: Likewise.
6990 * libgnat/a-cihase.adb: Likewise.
6991 * libgnat/a-cihase.ads: Likewise.
6992 * libgnat/a-cimutr.adb: Likewise.
6993 * libgnat/a-cimutr.ads: Likewise.
6994 * libgnat/a-ciorma.adb: Likewise.
6995 * libgnat/a-ciorma.ads: Likewise.
6996 * libgnat/a-ciormu.adb: Likewise.
6997 * libgnat/a-ciormu.ads: Likewise.
6998 * libgnat/a-ciorse.adb: Likewise.
6999 * libgnat/a-ciorse.ads: Likewise.
7000 * libgnat/a-clrefi.adb: Likewise.
7001 * libgnat/a-clrefi.ads: Likewise.
7002 * libgnat/a-coboho.adb: Likewise.
7003 * libgnat/a-coboho.ads: Likewise.
7004 * libgnat/a-cobove.adb: Likewise.
7005 * libgnat/a-cobove.ads: Likewise.
7006 * libgnat/a-cofove.adb: Likewise.
7007 * libgnat/a-cofove.ads: Likewise.
7008 * libgnat/a-cofuba.adb: Likewise.
7009 * libgnat/a-cofuba.ads: Likewise.
7010 * libgnat/a-cofuma.adb: Likewise.
7011 * libgnat/a-cofuma.ads: Likewise.
7012 * libgnat/a-cofuse.adb: Likewise.
7013 * libgnat/a-cofuse.ads: Likewise.
7014 * libgnat/a-cofuve.adb: Likewise.
7015 * libgnat/a-cofuve.ads: Likewise.
7016 * libgnat/a-cogeso.adb: Likewise.
7017 * libgnat/a-cogeso.ads: Likewise.
7018 * libgnat/a-cohama.adb: Likewise.
7019 * libgnat/a-cohama.ads: Likewise.
7020 * libgnat/a-cohase.adb: Likewise.
7021 * libgnat/a-cohase.ads: Likewise.
7022 * libgnat/a-cohata.ads: Likewise.
7023 * libgnat/a-coinho.adb: Likewise.
7024 * libgnat/a-coinho.ads: Likewise.
7025 * libgnat/a-coinho__shared.adb: Likewise.
7026 * libgnat/a-coinho__shared.ads: Likewise.
7027 * libgnat/a-coinve.adb: Likewise.
7028 * libgnat/a-coinve.ads: Likewise.
7029 * libgnat/a-colien.adb: Likewise.
7030 * libgnat/a-colien.ads: Likewise.
7031 * libgnat/a-colire.adb: Likewise.
7032 * libgnat/a-colire.ads: Likewise.
7033 * libgnat/a-comlin.adb: Likewise.
7034 * libgnat/a-comlin.ads: Likewise.
7035 * libgnat/a-comutr.adb: Likewise.
7036 * libgnat/a-comutr.ads: Likewise.
7037 * libgnat/a-conhel.adb: Likewise.
7038 * libgnat/a-conhel.ads: Likewise.
7039 * libgnat/a-convec.adb: Likewise.
7040 * libgnat/a-convec.ads: Likewise.
7041 * libgnat/a-coorma.adb: Likewise.
7042 * libgnat/a-coorma.ads: Likewise.
7043 * libgnat/a-coormu.adb: Likewise.
7044 * libgnat/a-coormu.ads: Likewise.
7045 * libgnat/a-coorse.adb: Likewise.
7046 * libgnat/a-coorse.ads: Likewise.
7047 * libgnat/a-coprnu.adb: Likewise.
7048 * libgnat/a-coprnu.ads: Likewise.
7049 * libgnat/a-costso.adb: Likewise.
7050 * libgnat/a-costso.ads: Likewise.
7051 * libgnat/a-crbltr.ads: Likewise.
7052 * libgnat/a-crbtgk.adb: Likewise.
7053 * libgnat/a-crbtgk.ads: Likewise.
7054 * libgnat/a-crbtgo.adb: Likewise.
7055 * libgnat/a-crbtgo.ads: Likewise.
7056 * libgnat/a-crdlli.adb: Likewise.
7057 * libgnat/a-crdlli.ads: Likewise.
7058 * libgnat/a-csquin.ads: Likewise.
7059 * libgnat/a-cuprqu.adb: Likewise.
7060 * libgnat/a-cuprqu.ads: Likewise.
7061 * libgnat/a-cusyqu.adb: Likewise.
7062 * libgnat/a-cusyqu.ads: Likewise.
7063 * libgnat/a-cwila1.ads: Likewise.
7064 * libgnat/a-cwila9.ads: Likewise.
7065 * libgnat/a-decima.adb: Likewise.
7066 * libgnat/a-decima.ads: Likewise.
7067 * libgnat/a-decima__128.ads: Likewise.
7068 * libgnat/a-dhfina.adb: Likewise.
7069 * libgnat/a-dhfina.ads: Likewise.
7070 * libgnat/a-diocst.adb: Likewise.
7071 * libgnat/a-diocst.ads: Likewise.
7072 * libgnat/a-direct.adb: Likewise.
7073 * libgnat/a-direct.ads: Likewise.
7074 * libgnat/a-direio.adb: Likewise.
7075 * libgnat/a-direio.ads: Likewise.
7076 * libgnat/a-dirval.adb: Likewise.
7077 * libgnat/a-dirval.ads: Likewise.
7078 * libgnat/a-dirval__mingw.adb: Likewise.
7079 * libgnat/a-einuoc.adb: Likewise.
7080 * libgnat/a-einuoc.ads: Likewise.
7081 * libgnat/a-elchha.adb: Likewise.
7082 * libgnat/a-elchha.ads: Likewise.
7083 * libgnat/a-envvar.adb: Likewise.
7084 * libgnat/a-excach.adb: Likewise.
7085 * libgnat/a-except.adb: Likewise.
7086 * libgnat/a-except.ads: Likewise.
7087 * libgnat/a-exctra.adb: Likewise.
7088 * libgnat/a-exctra.ads: Likewise.
7089 * libgnat/a-exexda.adb: Likewise.
7090 * libgnat/a-exexpr.adb: Likewise.
7091 * libgnat/a-exextr.adb: Likewise.
7092 * libgnat/a-exstat.adb: Likewise.
7093 * libgnat/a-finali.adb: Likewise.
7094 * libgnat/a-finali.ads: Likewise.
7095 * libgnat/a-locale.adb: Likewise.
7096 * libgnat/a-locale.ads: Likewise.
7097 * libgnat/a-nagefl.ads: Likewise.
7098 * libgnat/a-naliop.ads: Likewise.
7099 * libgnat/a-naliop__nolibm.ads: Likewise.
7100 * libgnat/a-nallfl.ads: Likewise.
7101 * libgnat/a-nallfl__wraplf.ads: Likewise.
7102 * libgnat/a-nalofl.ads: Likewise.
7103 * libgnat/a-nashfl.ads: Likewise.
7104 * libgnat/a-nashfl__wraplf.ads: Likewise.
7105 * libgnat/a-nbnbig.adb: Likewise.
7106 * libgnat/a-nbnbin.adb: Likewise.
7107 * libgnat/a-nbnbin__gmp.adb: Likewise.
7108 * libgnat/a-nbnbre.adb: Likewise.
7109 * libgnat/a-ngcefu.adb: Likewise.
7110 * libgnat/a-ngcoar.adb: Likewise.
7111 * libgnat/a-ngcoty.adb: Likewise.
7112 * libgnat/a-ngcoty.ads: Likewise.
7113 * libgnat/a-ngelfu.adb: Likewise.
7114 * libgnat/a-ngelfu.ads: Likewise.
7115 * libgnat/a-ngrear.adb: Likewise.
7116 * libgnat/a-ngrear.ads: Likewise.
7117 * libgnat/a-nuauco.ads: Likewise.
7118 * libgnat/a-nuauco__x86.ads: Likewise.
7119 * libgnat/a-nuaufl.ads: Likewise.
7120 * libgnat/a-nuaufl__wraplf.ads: Likewise.
7121 * libgnat/a-nudira.adb: Likewise.
7122 * libgnat/a-nudira.ads: Likewise.
7123 * libgnat/a-nuflra.adb: Likewise.
7124 * libgnat/a-nuflra.ads: Likewise.
7125 * libgnat/a-numaux.ads: Likewise.
7126 * libgnat/a-rbtgbk.adb: Likewise.
7127 * libgnat/a-rbtgbk.ads: Likewise.
7128 * libgnat/a-rbtgbo.adb: Likewise.
7129 * libgnat/a-rbtgbo.ads: Likewise.
7130 * libgnat/a-rbtgso.adb: Likewise.
7131 * libgnat/a-rbtgso.ads: Likewise.
7132 * libgnat/a-sbecin.adb: Likewise.
7133 * libgnat/a-sbecin.ads: Likewise.
7134 * libgnat/a-sbhcin.adb: Likewise.
7135 * libgnat/a-sbhcin.ads: Likewise.
7136 * libgnat/a-sblcin.adb: Likewise.
7137 * libgnat/a-sblcin.ads: Likewise.
7138 * libgnat/a-secain.adb: Likewise.
7139 * libgnat/a-secain.ads: Likewise.
7140 * libgnat/a-sequio.adb: Likewise.
7141 * libgnat/a-sequio.ads: Likewise.
7142 * libgnat/a-sfecin.ads: Likewise.
7143 * libgnat/a-sfhcin.ads: Likewise.
7144 * libgnat/a-sflcin.ads: Likewise.
7145 * libgnat/a-shcain.adb: Likewise.
7146 * libgnat/a-shcain.ads: Likewise.
7147 * libgnat/a-siocst.adb: Likewise.
7148 * libgnat/a-siocst.ads: Likewise.
7149 * libgnat/a-slcain.adb: Likewise.
7150 * libgnat/a-slcain.ads: Likewise.
7151 * libgnat/a-ssicst.adb: Likewise.
7152 * libgnat/a-ssicst.ads: Likewise.
7153 * libgnat/a-stboha.adb: Likewise.
7154 * libgnat/a-stbubo.adb: Likewise.
7155 * libgnat/a-stbubo.ads: Likewise.
7156 * libgnat/a-stbufi.adb: Likewise.
7157 * libgnat/a-stbufi.ads: Likewise.
7158 * libgnat/a-stbufo.adb: Likewise.
7159 * libgnat/a-stbufo.ads: Likewise.
7160 * libgnat/a-stbuun.adb: Likewise.
7161 * libgnat/a-stbuut.adb: Likewise.
7162 * libgnat/a-stbuut.ads: Likewise.
7163 * libgnat/a-stmaco.ads: Likewise.
7164 * libgnat/a-storio.adb: Likewise.
7165 * libgnat/a-strbou.adb: Likewise.
7166 * libgnat/a-strbou.ads: Likewise.
7167 * libgnat/a-stream.adb: Likewise.
7168 * libgnat/a-stream.ads: Likewise.
7169 * libgnat/a-strfix.adb: Likewise.
7170 * libgnat/a-strhas.adb: Likewise.
7171 * libgnat/a-strmap.adb: Likewise.
7172 * libgnat/a-strmap.ads: Likewise.
7173 * libgnat/a-strsea.adb: Likewise.
7174 * libgnat/a-strsea.ads: Likewise.
7175 * libgnat/a-strsto.ads: Likewise.
7176 * libgnat/a-strsup.adb: Likewise.
7177 * libgnat/a-strsup.ads: Likewise.
7178 * libgnat/a-strunb.adb: Likewise.
7179 * libgnat/a-strunb.ads: Likewise.
7180 * libgnat/a-strunb__shared.adb: Likewise.
7181 * libgnat/a-strunb__shared.ads: Likewise.
7182 * libgnat/a-ststbo.adb: Likewise.
7183 * libgnat/a-ststbo.ads: Likewise.
7184 * libgnat/a-ststio.adb: Likewise.
7185 * libgnat/a-ststio.ads: Likewise.
7186 * libgnat/a-ststun.adb: Likewise.
7187 * libgnat/a-ststun.ads: Likewise.
7188 * libgnat/a-sttebu.adb: Likewise.
7189 * libgnat/a-stunau.adb: Likewise.
7190 * libgnat/a-stunau.ads: Likewise.
7191 * libgnat/a-stunau__shared.adb: Likewise.
7192 * libgnat/a-stunha.adb: Likewise.
7193 * libgnat/a-stuten.adb: Likewise.
7194 * libgnat/a-stwibo.adb: Likewise.
7195 * libgnat/a-stwibo.ads: Likewise.
7196 * libgnat/a-stwifi.adb: Likewise.
7197 * libgnat/a-stwiha.adb: Likewise.
7198 * libgnat/a-stwima.adb: Likewise.
7199 * libgnat/a-stwima.ads: Likewise.
7200 * libgnat/a-stwise.adb: Likewise.
7201 * libgnat/a-stwise.ads: Likewise.
7202 * libgnat/a-stwisu.adb: Likewise.
7203 * libgnat/a-stwisu.ads: Likewise.
7204 * libgnat/a-stwiun.adb: Likewise.
7205 * libgnat/a-stwiun.ads: Likewise.
7206 * libgnat/a-stwiun__shared.adb: Likewise.
7207 * libgnat/a-stwiun__shared.ads: Likewise.
7208 * libgnat/a-stzbou.adb: Likewise.
7209 * libgnat/a-stzbou.ads: Likewise.
7210 * libgnat/a-stzfix.adb: Likewise.
7211 * libgnat/a-stzhas.adb: Likewise.
7212 * libgnat/a-stzmap.adb: Likewise.
7213 * libgnat/a-stzmap.ads: Likewise.
7214 * libgnat/a-stzsea.adb: Likewise.
7215 * libgnat/a-stzsea.ads: Likewise.
7216 * libgnat/a-stzsup.adb: Likewise.
7217 * libgnat/a-stzsup.ads: Likewise.
7218 * libgnat/a-stzunb.adb: Likewise.
7219 * libgnat/a-stzunb.ads: Likewise.
7220 * libgnat/a-stzunb__shared.adb: Likewise.
7221 * libgnat/a-stzunb__shared.ads: Likewise.
7222 * libgnat/a-suecin.adb: Likewise.
7223 * libgnat/a-suecin.ads: Likewise.
7224 * libgnat/a-suenco.adb: Likewise.
7225 * libgnat/a-suenst.adb: Likewise.
7226 * libgnat/a-suewst.adb: Likewise.
7227 * libgnat/a-suezst.adb: Likewise.
7228 * libgnat/a-suhcin.adb: Likewise.
7229 * libgnat/a-suhcin.ads: Likewise.
7230 * libgnat/a-sulcin.adb: Likewise.
7231 * libgnat/a-sulcin.ads: Likewise.
7232 * libgnat/a-suteio.adb: Likewise.
7233 * libgnat/a-suteio.ads: Likewise.
7234 * libgnat/a-suteio__shared.adb: Likewise.
7235 * libgnat/a-swbwha.adb: Likewise.
7236 * libgnat/a-swmwco.ads: Likewise.
7237 * libgnat/a-swunau.adb: Likewise.
7238 * libgnat/a-swunau.ads: Likewise.
7239 * libgnat/a-swunau__shared.adb: Likewise.
7240 * libgnat/a-swuwha.adb: Likewise.
7241 * libgnat/a-swuwti.adb: Likewise.
7242 * libgnat/a-swuwti.ads: Likewise.
7243 * libgnat/a-swuwti__shared.adb: Likewise.
7244 * libgnat/a-szbzha.adb: Likewise.
7245 * libgnat/a-szmzco.ads: Likewise.
7246 * libgnat/a-szunau.adb: Likewise.
7247 * libgnat/a-szunau.ads: Likewise.
7248 * libgnat/a-szunau__shared.adb: Likewise.
7249 * libgnat/a-szuzha.adb: Likewise.
7250 * libgnat/a-szuzti.adb: Likewise.
7251 * libgnat/a-szuzti.ads: Likewise.
7252 * libgnat/a-szuzti__shared.adb: Likewise.
7253 * libgnat/a-tags.adb: Likewise.
7254 * libgnat/a-tags.ads: Likewise.
7255 * libgnat/a-teioed.adb: Likewise.
7256 * libgnat/a-teioed.ads: Likewise.
7257 * libgnat/a-textio.adb: Likewise.
7258 * libgnat/a-textio.ads: Likewise.
7259 * libgnat/a-tiboio.adb: Likewise.
7260 * libgnat/a-ticoau.adb: Likewise.
7261 * libgnat/a-ticoau.ads: Likewise.
7262 * libgnat/a-ticoio.adb: Likewise.
7263 * libgnat/a-ticoio.ads: Likewise.
7264 * libgnat/a-tideau.adb: Likewise.
7265 * libgnat/a-tideau.ads: Likewise.
7266 * libgnat/a-tideio.adb: Likewise.
7267 * libgnat/a-tideio.ads: Likewise.
7268 * libgnat/a-tideio__128.adb: Likewise.
7269 * libgnat/a-tienau.adb: Likewise.
7270 * libgnat/a-tienau.ads: Likewise.
7271 * libgnat/a-tienio.adb: Likewise.
7272 * libgnat/a-tifiau.adb: Likewise.
7273 * libgnat/a-tifiau.ads: Likewise.
7274 * libgnat/a-tifiio.adb: Likewise.
7275 * libgnat/a-tifiio__128.adb: Likewise.
7276 * libgnat/a-tiflau.adb: Likewise.
7277 * libgnat/a-tiflau.ads: Likewise.
7278 * libgnat/a-tiflio.adb: Likewise.
7279 * libgnat/a-tiflio.ads: Likewise.
7280 * libgnat/a-tigeau.adb: Likewise.
7281 * libgnat/a-tigeau.ads: Likewise.
7282 * libgnat/a-tigeli.adb: Likewise.
7283 * libgnat/a-tiinau.adb: Likewise.
7284 * libgnat/a-tiinau.ads: Likewise.
7285 * libgnat/a-tiinio.adb: Likewise.
7286 * libgnat/a-tiinio.ads: Likewise.
7287 * libgnat/a-tiinio__128.adb: Likewise.
7288 * libgnat/a-timoio.adb: Likewise.
7289 * libgnat/a-timoio.ads: Likewise.
7290 * libgnat/a-timoio__128.adb: Likewise.
7291 * libgnat/a-tiocst.adb: Likewise.
7292 * libgnat/a-tiocst.ads: Likewise.
7293 * libgnat/a-tirsfi.adb: Likewise.
7294 * libgnat/a-tirsfi.ads: Likewise.
7295 * libgnat/a-titest.adb: Likewise.
7296 * libgnat/a-undesu.adb: Likewise.
7297 * libgnat/a-wichha.adb: Likewise.
7298 * libgnat/a-wichun.adb: Likewise.
7299 * libgnat/a-wichun.ads: Likewise.
7300 * libgnat/a-witeio.adb: Likewise.
7301 * libgnat/a-witeio.ads: Likewise.
7302 * libgnat/a-wrstfi.adb: Likewise.
7303 * libgnat/a-wrstfi.ads: Likewise.
7304 * libgnat/a-wtcoau.adb: Likewise.
7305 * libgnat/a-wtcoau.ads: Likewise.
7306 * libgnat/a-wtcoio.adb: Likewise.
7307 * libgnat/a-wtcstr.adb: Likewise.
7308 * libgnat/a-wtcstr.ads: Likewise.
7309 * libgnat/a-wtdeau.adb: Likewise.
7310 * libgnat/a-wtdeau.ads: Likewise.
7311 * libgnat/a-wtdeio.adb: Likewise.
7312 * libgnat/a-wtdeio__128.adb: Likewise.
7313 * libgnat/a-wtedit.adb: Likewise.
7314 * libgnat/a-wtedit.ads: Likewise.
7315 * libgnat/a-wtenau.adb: Likewise.
7316 * libgnat/a-wtenau.ads: Likewise.
7317 * libgnat/a-wtenio.adb: Likewise.
7318 * libgnat/a-wtfiau.adb: Likewise.
7319 * libgnat/a-wtfiau.ads: Likewise.
7320 * libgnat/a-wtfiio.adb: Likewise.
7321 * libgnat/a-wtfiio__128.adb: Likewise.
7322 * libgnat/a-wtflau.adb: Likewise.
7323 * libgnat/a-wtflau.ads: Likewise.
7324 * libgnat/a-wtflio.adb: Likewise.
7325 * libgnat/a-wtgeau.adb: Likewise.
7326 * libgnat/a-wtgeau.ads: Likewise.
7327 * libgnat/a-wtinau.adb: Likewise.
7328 * libgnat/a-wtinau.ads: Likewise.
7329 * libgnat/a-wtinio.adb: Likewise.
7330 * libgnat/a-wtinio__128.adb: Likewise.
7331 * libgnat/a-wtmoio.adb: Likewise.
7332 * libgnat/a-wtmoio.ads: Likewise.
7333 * libgnat/a-wtmoio__128.adb: Likewise.
7334 * libgnat/a-wttest.adb: Likewise.
7335 * libgnat/a-wwboio.adb: Likewise.
7336 * libgnat/a-zchhan.adb: Likewise.
7337 * libgnat/a-zchuni.adb: Likewise.
7338 * libgnat/a-zchuni.ads: Likewise.
7339 * libgnat/a-zrstfi.adb: Likewise.
7340 * libgnat/a-zrstfi.ads: Likewise.
7341 * libgnat/a-ztcoau.adb: Likewise.
7342 * libgnat/a-ztcoio.adb: Likewise.
7343 * libgnat/a-ztcstr.adb: Likewise.
7344 * libgnat/a-ztcstr.ads: Likewise.
7345 * libgnat/a-ztdeau.adb: Likewise.
7346 * libgnat/a-ztdeau.ads: Likewise.
7347 * libgnat/a-ztdeio.adb: Likewise.
7348 * libgnat/a-ztdeio__128.adb: Likewise.
7349 * libgnat/a-ztedit.adb: Likewise.
7350 * libgnat/a-ztedit.ads: Likewise.
7351 * libgnat/a-ztenau.adb: Likewise.
7352 * libgnat/a-ztenau.ads: Likewise.
7353 * libgnat/a-ztenio.adb: Likewise.
7354 * libgnat/a-ztexio.adb: Likewise.
7355 * libgnat/a-ztexio.ads: Likewise.
7356 * libgnat/a-ztfiau.adb: Likewise.
7357 * libgnat/a-ztfiau.ads: Likewise.
7358 * libgnat/a-ztfiio.adb: Likewise.
7359 * libgnat/a-ztfiio__128.adb: Likewise.
7360 * libgnat/a-ztflau.adb: Likewise.
7361 * libgnat/a-ztflau.ads: Likewise.
7362 * libgnat/a-ztflio.adb: Likewise.
7363 * libgnat/a-ztgeau.adb: Likewise.
7364 * libgnat/a-ztgeau.ads: Likewise.
7365 * libgnat/a-ztinau.adb: Likewise.
7366 * libgnat/a-ztinau.ads: Likewise.
7367 * libgnat/a-ztinio.adb: Likewise.
7368 * libgnat/a-ztinio__128.adb: Likewise.
7369 * libgnat/a-ztmoio.adb: Likewise.
7370 * libgnat/a-ztmoio__128.adb: Likewise.
7371 * libgnat/a-zttest.adb: Likewise.
7372 * libgnat/a-zzboio.adb: Likewise.
7373 * libgnat/g-allein.ads: Likewise.
7374 * libgnat/g-alleve.adb: Likewise.
7375 * libgnat/g-alleve.ads: Likewise.
7376 * libgnat/g-alleve__hard.adb: Likewise.
7377 * libgnat/g-alleve__hard.ads: Likewise.
7378 * libgnat/g-altcon.adb: Likewise.
7379 * libgnat/g-altcon.ads: Likewise.
7380 * libgnat/g-altive.ads: Likewise.
7381 * libgnat/g-alveop.adb: Likewise.
7382 * libgnat/g-alveop.ads: Likewise.
7383 * libgnat/g-alvety.ads: Likewise.
7384 * libgnat/g-alvevi.ads: Likewise.
7385 * libgnat/g-arrspl.adb: Likewise.
7386 * libgnat/g-arrspl.ads: Likewise.
7387 * libgnat/g-awk.adb: Likewise.
7388 * libgnat/g-awk.ads: Likewise.
7389 * libgnat/g-binenv.adb: Likewise.
7390 * libgnat/g-binenv.ads: Likewise.
7391 * libgnat/g-brapre.ads: Likewise.
7392 * libgnat/g-bubsor.adb: Likewise.
7393 * libgnat/g-bubsor.ads: Likewise.
7394 * libgnat/g-busora.adb: Likewise.
7395 * libgnat/g-busora.ads: Likewise.
7396 * libgnat/g-busorg.adb: Likewise.
7397 * libgnat/g-busorg.ads: Likewise.
7398 * libgnat/g-byorma.adb: Likewise.
7399 * libgnat/g-byorma.ads: Likewise.
7400 * libgnat/g-bytswa.adb: Likewise.
7401 * libgnat/g-bytswa.ads: Likewise.
7402 * libgnat/g-calend.adb: Likewise.
7403 * libgnat/g-calend.ads: Likewise.
7404 * libgnat/g-casuti.adb: Likewise.
7405 * libgnat/g-casuti.ads: Likewise.
7406 * libgnat/g-catiio.adb: Likewise.
7407 * libgnat/g-catiio.ads: Likewise.
7408 * libgnat/g-cgi.adb: Likewise.
7409 * libgnat/g-cgi.ads: Likewise.
7410 * libgnat/g-cgicoo.adb: Likewise.
7411 * libgnat/g-cgicoo.ads: Likewise.
7412 * libgnat/g-cgideb.adb: Likewise.
7413 * libgnat/g-cgideb.ads: Likewise.
7414 * libgnat/g-comlin.adb: Likewise.
7415 * libgnat/g-comlin.ads: Likewise.
7416 * libgnat/g-comver.adb: Likewise.
7417 * libgnat/g-comver.ads: Likewise.
7418 * libgnat/g-cppexc.adb: Likewise.
7419 * libgnat/g-cppexc.ads: Likewise.
7420 * libgnat/g-crc32.adb: Likewise.
7421 * libgnat/g-crc32.ads: Likewise.
7422 * libgnat/g-ctrl_c.adb: Likewise.
7423 * libgnat/g-ctrl_c.ads: Likewise.
7424 * libgnat/g-curexc.ads: Likewise.
7425 * libgnat/g-debpoo.adb: Likewise.
7426 * libgnat/g-debpoo.ads: Likewise.
7427 * libgnat/g-debuti.adb: Likewise.
7428 * libgnat/g-debuti.ads: Likewise.
7429 * libgnat/g-decstr.adb: Likewise.
7430 * libgnat/g-decstr.ads: Likewise.
7431 * libgnat/g-deutst.ads: Likewise.
7432 * libgnat/g-diopit.adb: Likewise.
7433 * libgnat/g-diopit.ads: Likewise.
7434 * libgnat/g-dirope.adb: Likewise.
7435 * libgnat/g-dirope.ads: Likewise.
7436 * libgnat/g-dynhta.adb: Likewise.
7437 * libgnat/g-dynhta.ads: Likewise.
7438 * libgnat/g-dyntab.adb: Likewise.
7439 * libgnat/g-dyntab.ads: Likewise.
7440 * libgnat/g-eacodu.adb: Likewise.
7441 * libgnat/g-encstr.adb: Likewise.
7442 * libgnat/g-encstr.ads: Likewise.
7443 * libgnat/g-enutst.ads: Likewise.
7444 * libgnat/g-excact.adb: Likewise.
7445 * libgnat/g-excact.ads: Likewise.
7446 * libgnat/g-except.ads: Likewise.
7447 * libgnat/g-exctra.adb: Likewise.
7448 * libgnat/g-exctra.ads: Likewise.
7449 * libgnat/g-expect.adb: Likewise.
7450 * libgnat/g-expect.ads: Likewise.
7451 * libgnat/g-exptty.adb: Likewise.
7452 * libgnat/g-exptty.ads: Likewise.
7453 * libgnat/g-flocon.ads: Likewise.
7454 * libgnat/g-forstr.adb: Likewise.
7455 * libgnat/g-forstr.ads: Likewise.
7456 * libgnat/g-graphs.adb: Likewise.
7457 * libgnat/g-graphs.ads: Likewise.
7458 * libgnat/g-heasor.adb: Likewise.
7459 * libgnat/g-heasor.ads: Likewise.
7460 * libgnat/g-hesora.adb: Likewise.
7461 * libgnat/g-hesora.ads: Likewise.
7462 * libgnat/g-hesorg.adb: Likewise.
7463 * libgnat/g-hesorg.ads: Likewise.
7464 * libgnat/g-htable.adb: Likewise.
7465 * libgnat/g-htable.ads: Likewise.
7466 * libgnat/g-io.adb: Likewise.
7467 * libgnat/g-io.ads: Likewise.
7468 * libgnat/g-io_aux.adb: Likewise.
7469 * libgnat/g-io_aux.ads: Likewise.
7470 * libgnat/g-lists.adb: Likewise.
7471 * libgnat/g-lists.ads: Likewise.
7472 * libgnat/g-locfil.adb: Likewise.
7473 * libgnat/g-locfil.ads: Likewise.
7474 * libgnat/g-mbdira.adb: Likewise.
7475 * libgnat/g-mbdira.ads: Likewise.
7476 * libgnat/g-mbflra.adb: Likewise.
7477 * libgnat/g-mbflra.ads: Likewise.
7478 * libgnat/g-md5.adb: Likewise.
7479 * libgnat/g-md5.ads: Likewise.
7480 * libgnat/g-memdum.adb: Likewise.
7481 * libgnat/g-memdum.ads: Likewise.
7482 * libgnat/g-moreex.adb: Likewise.
7483 * libgnat/g-moreex.ads: Likewise.
7484 * libgnat/g-os_lib.adb: Likewise.
7485 * libgnat/g-os_lib.ads: Likewise.
7486 * libgnat/g-pehage.adb: Likewise.
7487 * libgnat/g-pehage.ads: Likewise.
7488 * libgnat/g-rannum.adb: Likewise.
7489 * libgnat/g-rannum.ads: Likewise.
7490 * libgnat/g-regexp.adb: Likewise.
7491 * libgnat/g-regexp.ads: Likewise.
7492 * libgnat/g-regist.adb: Likewise.
7493 * libgnat/g-regist.ads: Likewise.
7494 * libgnat/g-regpat.adb: Likewise.
7495 * libgnat/g-regpat.ads: Likewise.
7496 * libgnat/g-rewdat.adb: Likewise.
7497 * libgnat/g-rewdat.ads: Likewise.
7498 * libgnat/g-sechas.adb: Likewise.
7499 * libgnat/g-sechas.ads: Likewise.
7500 * libgnat/g-sehamd.adb: Likewise.
7501 * libgnat/g-sehamd.ads: Likewise.
7502 * libgnat/g-sehash.adb: Likewise.
7503 * libgnat/g-sehash.ads: Likewise.
7504 * libgnat/g-sercom.adb: Likewise.
7505 * libgnat/g-sercom.ads: Likewise.
7506 * libgnat/g-sercom__linux.adb: Likewise.
7507 * libgnat/g-sercom__mingw.adb: Likewise.
7508 * libgnat/g-sestin.ads: Likewise.
7509 * libgnat/g-sets.adb: Likewise.
7510 * libgnat/g-sets.ads: Likewise.
7511 * libgnat/g-sha1.adb: Likewise.
7512 * libgnat/g-sha1.ads: Likewise.
7513 * libgnat/g-sha224.ads: Likewise.
7514 * libgnat/g-sha256.ads: Likewise.
7515 * libgnat/g-sha384.ads: Likewise.
7516 * libgnat/g-sha512.ads: Likewise.
7517 * libgnat/g-shsh32.adb: Likewise.
7518 * libgnat/g-shsh32.ads: Likewise.
7519 * libgnat/g-shsh64.adb: Likewise.
7520 * libgnat/g-shsh64.ads: Likewise.
7521 * libgnat/g-shshco.adb: Likewise.
7522 * libgnat/g-shshco.ads: Likewise.
7523 * libgnat/g-soccon.ads: Likewise.
7524 * libgnat/g-socket.adb: Likewise.
7525 * libgnat/g-socket.ads: Likewise.
7526 * libgnat/g-socket__dummy.adb: Likewise.
7527 * libgnat/g-socket__dummy.ads: Likewise.
7528 * libgnat/g-socpol.adb: Likewise.
7529 * libgnat/g-socpol.ads: Likewise.
7530 * libgnat/g-socpol__dummy.adb: Likewise.
7531 * libgnat/g-socpol__dummy.ads: Likewise.
7532 * libgnat/g-socthi.adb: Likewise.
7533 * libgnat/g-socthi.ads: Likewise.
7534 * libgnat/g-socthi__dummy.adb: Likewise.
7535 * libgnat/g-socthi__dummy.ads: Likewise.
7536 * libgnat/g-socthi__mingw.adb: Likewise.
7537 * libgnat/g-socthi__mingw.ads: Likewise.
7538 * libgnat/g-socthi__vxworks.adb: Likewise.
7539 * libgnat/g-socthi__vxworks.ads: Likewise.
7540 * libgnat/g-soliop.ads: Likewise.
7541 * libgnat/g-soliop__lynxos.ads: Likewise.
7542 * libgnat/g-soliop__mingw.ads: Likewise.
7543 * libgnat/g-soliop__qnx.ads: Likewise.
7544 * libgnat/g-soliop__solaris.ads: Likewise.
7545 * libgnat/g-sopowa.adb: Likewise.
7546 * libgnat/g-sopowa__mingw.adb: Likewise.
7547 * libgnat/g-sopowa__posix.adb: Likewise.
7548 * libgnat/g-sothco.adb: Likewise.
7549 * libgnat/g-sothco.ads: Likewise.
7550 * libgnat/g-sothco__dummy.adb: Likewise.
7551 * libgnat/g-sothco__dummy.ads: Likewise.
7552 * libgnat/g-souinf.ads: Likewise.
7553 * libgnat/g-spchge.adb: Likewise.
7554 * libgnat/g-spchge.ads: Likewise.
7555 * libgnat/g-speche.adb: Likewise.
7556 * libgnat/g-speche.ads: Likewise.
7557 * libgnat/g-spipat.adb: Likewise.
7558 * libgnat/g-spipat.ads: Likewise.
7559 * libgnat/g-spitbo.adb: Likewise.
7560 * libgnat/g-spitbo.ads: Likewise.
7561 * libgnat/g-spogwa.adb: Likewise.
7562 * libgnat/g-spogwa.ads: Likewise.
7563 * libgnat/g-sptabo.ads: Likewise.
7564 * libgnat/g-sptain.ads: Likewise.
7565 * libgnat/g-sptavs.ads: Likewise.
7566 * libgnat/g-sse.ads: Likewise.
7567 * libgnat/g-ssvety.ads: Likewise.
7568 * libgnat/g-sthcso.adb: Likewise.
7569 * libgnat/g-stheme.adb: Likewise.
7570 * libgnat/g-strhas.ads: Likewise.
7571 * libgnat/g-string.adb: Likewise.
7572 * libgnat/g-string.ads: Likewise.
7573 * libgnat/g-strspl.ads: Likewise.
7574 * libgnat/g-stseme.adb: Likewise.
7575 * libgnat/g-stsifd__sockets.adb: Likewise.
7576 * libgnat/g-table.adb: Likewise.
7577 * libgnat/g-table.ads: Likewise.
7578 * libgnat/g-tasloc.adb: Likewise.
7579 * libgnat/g-tasloc.ads: Likewise.
7580 * libgnat/g-timsta.adb: Likewise.
7581 * libgnat/g-timsta.ads: Likewise.
7582 * libgnat/g-traceb.adb: Likewise.
7583 * libgnat/g-traceb.ads: Likewise.
7584 * libgnat/g-trasym.adb: Likewise.
7585 * libgnat/g-trasym.ads: Likewise.
7586 * libgnat/g-tty.adb: Likewise.
7587 * libgnat/g-tty.ads: Likewise.
7588 * libgnat/g-u3spch.adb: Likewise.
7589 * libgnat/g-u3spch.ads: Likewise.
7590 * libgnat/g-utf_32.adb: Likewise.
7591 * libgnat/g-utf_32.ads: Likewise.
7592 * libgnat/g-wispch.adb: Likewise.
7593 * libgnat/g-wispch.ads: Likewise.
7594 * libgnat/g-wistsp.ads: Likewise.
7595 * libgnat/g-zspche.adb: Likewise.
7596 * libgnat/g-zspche.ads: Likewise.
7597 * libgnat/g-zstspl.ads: Likewise.
7598 * libgnat/gnat.ads: Likewise.
7599 * libgnat/i-c.adb: Likewise.
7600 * libgnat/i-cexten.ads: Likewise.
7601 * libgnat/i-cexten__128.ads: Likewise.
7602 * libgnat/i-cobol.adb: Likewise.
7603 * libgnat/i-cobol.ads: Likewise.
7604 * libgnat/i-cpoint.adb: Likewise.
7605 * libgnat/i-cpoint.ads: Likewise.
7606 * libgnat/i-cstrea.adb: Likewise.
7607 * libgnat/i-cstrea.ads: Likewise.
7608 * libgnat/i-cstrin.adb: Likewise.
7609 * libgnat/i-cstrin.ads: Likewise.
7610 * libgnat/i-fortra.adb: Likewise.
7611 * libgnat/i-pacdec.adb: Likewise.
7612 * libgnat/i-pacdec.ads: Likewise.
7613 * libgnat/i-vxwoio.adb: Likewise.
7614 * libgnat/i-vxwoio.ads: Likewise.
7615 * libgnat/i-vxwork.ads: Likewise.
7616 * libgnat/i-vxwork__x86.ads: Likewise.
7617 * libgnat/interfac.ads: Likewise.
7618 * libgnat/interfac__2020.ads: Likewise.
7619 * libgnat/memtrack.adb: Likewise.
7620 * libgnat/s-addima.adb: Likewise.
7621 * libgnat/s-addima.ads: Likewise.
7622 * libgnat/s-addope.adb: Likewise.
7623 * libgnat/s-addope.ads: Likewise.
7624 * libgnat/s-aoinar.adb: Likewise.
7625 * libgnat/s-aoinar.ads: Likewise.
7626 * libgnat/s-aomoar.adb: Likewise.
7627 * libgnat/s-aomoar.ads: Likewise.
7628 * libgnat/s-aotase.adb: Likewise.
7629 * libgnat/s-aotase.ads: Likewise.
7630 * libgnat/s-aridou.adb: Likewise.
7631 * libgnat/s-aridou.ads: Likewise.
7632 * libgnat/s-arit128.adb: Likewise.
7633 * libgnat/s-arit128.ads: Likewise.
7634 * libgnat/s-arit32.adb: Likewise.
7635 * libgnat/s-arit32.ads: Likewise.
7636 * libgnat/s-arit64.adb: Likewise.
7637 * libgnat/s-arit64.ads: Likewise.
7638 * libgnat/s-assert.adb: Likewise.
7639 * libgnat/s-assert.ads: Likewise.
7640 * libgnat/s-atacco.adb: Likewise.
7641 * libgnat/s-atacco.ads: Likewise.
7642 * libgnat/s-atocou.adb: Likewise.
7643 * libgnat/s-atocou.ads: Likewise.
7644 * libgnat/s-atocou__builtin.adb: Likewise.
7645 * libgnat/s-atoope.ads: Likewise.
7646 * libgnat/s-atopex.adb: Likewise.
7647 * libgnat/s-atopex.ads: Likewise.
7648 * libgnat/s-atopri.adb: Likewise.
7649 * libgnat/s-atopri.ads: Likewise.
7650 * libgnat/s-auxdec.adb: Likewise.
7651 * libgnat/s-auxdec.ads: Likewise.
7652 * libgnat/s-bignum.adb: Likewise.
7653 * libgnat/s-bignum.ads: Likewise.
7654 * libgnat/s-bitfie.ads: Likewise.
7655 * libgnat/s-bitops.adb: Likewise.
7656 * libgnat/s-bitops.ads: Likewise.
7657 * libgnat/s-bituti.adb: Likewise.
7658 * libgnat/s-bituti.ads: Likewise.
7659 * libgnat/s-boarop.ads: Likewise.
7660 * libgnat/s-boustr.adb: Likewise.
7661 * libgnat/s-boustr.ads: Likewise.
7662 * libgnat/s-bytswa.ads: Likewise.
7663 * libgnat/s-carsi8.adb: Likewise.
7664 * libgnat/s-carsi8.ads: Likewise.
7665 * libgnat/s-carun8.adb: Likewise.
7666 * libgnat/s-carun8.ads: Likewise.
7667 * libgnat/s-casi128.adb: Likewise.
7668 * libgnat/s-casi128.ads: Likewise.
7669 * libgnat/s-casi16.adb: Likewise.
7670 * libgnat/s-casi16.ads: Likewise.
7671 * libgnat/s-casi32.adb: Likewise.
7672 * libgnat/s-casi32.ads: Likewise.
7673 * libgnat/s-casi64.adb: Likewise.
7674 * libgnat/s-casi64.ads: Likewise.
7675 * libgnat/s-casuti.adb: Likewise.
7676 * libgnat/s-casuti.ads: Likewise.
7677 * libgnat/s-caun128.adb: Likewise.
7678 * libgnat/s-caun128.ads: Likewise.
7679 * libgnat/s-caun16.adb: Likewise.
7680 * libgnat/s-caun16.ads: Likewise.
7681 * libgnat/s-caun32.adb: Likewise.
7682 * libgnat/s-caun32.ads: Likewise.
7683 * libgnat/s-caun64.adb: Likewise.
7684 * libgnat/s-caun64.ads: Likewise.
7685 * libgnat/s-chepoo.ads: Likewise.
7686 * libgnat/s-commun.adb: Likewise.
7687 * libgnat/s-commun.ads: Likewise.
7688 * libgnat/s-conca2.adb: Likewise.
7689 * libgnat/s-conca2.ads: Likewise.
7690 * libgnat/s-conca3.adb: Likewise.
7691 * libgnat/s-conca3.ads: Likewise.
7692 * libgnat/s-conca4.adb: Likewise.
7693 * libgnat/s-conca4.ads: Likewise.
7694 * libgnat/s-conca5.adb: Likewise.
7695 * libgnat/s-conca5.ads: Likewise.
7696 * libgnat/s-conca6.adb: Likewise.
7697 * libgnat/s-conca6.ads: Likewise.
7698 * libgnat/s-conca7.adb: Likewise.
7699 * libgnat/s-conca7.ads: Likewise.
7700 * libgnat/s-conca8.adb: Likewise.
7701 * libgnat/s-conca8.ads: Likewise.
7702 * libgnat/s-conca9.adb: Likewise.
7703 * libgnat/s-conca9.ads: Likewise.
7704 * libgnat/s-crc32.adb: Likewise.
7705 * libgnat/s-crc32.ads: Likewise.
7706 * libgnat/s-crtl.ads: Likewise.
7707 * libgnat/s-dfmkio.ads: Likewise.
7708 * libgnat/s-dfmopr.ads: Likewise.
7709 * libgnat/s-dgmgop.ads: Likewise.
7710 * libgnat/s-diflio.adb: Likewise.
7711 * libgnat/s-diflio.ads: Likewise.
7712 * libgnat/s-diflmk.ads: Likewise.
7713 * libgnat/s-digemk.ads: Likewise.
7714 * libgnat/s-diinio.adb: Likewise.
7715 * libgnat/s-diinio.ads: Likewise.
7716 * libgnat/s-dilomk.ads: Likewise.
7717 * libgnat/s-dim.ads: Likewise.
7718 * libgnat/s-dimkio.ads: Likewise.
7719 * libgnat/s-dimmks.ads: Likewise.
7720 * libgnat/s-direio.adb: Likewise.
7721 * libgnat/s-direio.ads: Likewise.
7722 * libgnat/s-dlmkio.ads: Likewise.
7723 * libgnat/s-dlmopr.ads: Likewise.
7724 * libgnat/s-dmotpr.ads: Likewise.
7725 * libgnat/s-dorepr.adb: Likewise.
7726 * libgnat/s-dorepr__fma.adb: Likewise.
7727 * libgnat/s-dourea.adb: Likewise.
7728 * libgnat/s-dourea.ads: Likewise.
7729 * libgnat/s-dsaser.ads: Likewise.
7730 * libgnat/s-dwalin.adb: Likewise.
7731 * libgnat/s-dwalin.ads: Likewise.
7732 * libgnat/s-elaall.adb: Likewise.
7733 * libgnat/s-elaall.ads: Likewise.
7734 * libgnat/s-excdeb.adb: Likewise.
7735 * libgnat/s-excdeb.ads: Likewise.
7736 * libgnat/s-except.adb: Likewise.
7737 * libgnat/s-except.ads: Likewise.
7738 * libgnat/s-excmac__arm.adb: Likewise.
7739 * libgnat/s-excmac__arm.ads: Likewise.
7740 * libgnat/s-excmac__gcc.adb: Likewise.
7741 * libgnat/s-excmac__gcc.ads: Likewise.
7742 * libgnat/s-exctab.adb: Likewise.
7743 * libgnat/s-exctab.ads: Likewise.
7744 * libgnat/s-exctra.adb: Likewise.
7745 * libgnat/s-exctra.ads: Likewise.
7746 * libgnat/s-exnflt.ads: Likewise.
7747 * libgnat/s-exnint.adb: Likewise.
7748 * libgnat/s-exnint.ads: Likewise.
7749 * libgnat/s-exnlfl.ads: Likewise.
7750 * libgnat/s-exnllf.adb: Likewise.
7751 * libgnat/s-exnllf.ads: Likewise.
7752 * libgnat/s-exnlli.adb: Likewise.
7753 * libgnat/s-exnlli.ads: Likewise.
7754 * libgnat/s-exnllli.ads: Likewise.
7755 * libgnat/s-expint.adb: Likewise.
7756 * libgnat/s-expint.ads: Likewise.
7757 * libgnat/s-explli.adb: Likewise.
7758 * libgnat/s-explli.ads: Likewise.
7759 * libgnat/s-expllli.ads: Likewise.
7760 * libgnat/s-explllu.ads: Likewise.
7761 * libgnat/s-expllu.adb: Likewise.
7762 * libgnat/s-expllu.ads: Likewise.
7763 * libgnat/s-expmod.adb: Likewise.
7764 * libgnat/s-expmod.ads: Likewise.
7765 * libgnat/s-exponn.adb: Likewise.
7766 * libgnat/s-exponn.ads: Likewise.
7767 * libgnat/s-exponr.adb: Likewise.
7768 * libgnat/s-exponr.ads: Likewise.
7769 * libgnat/s-expont.adb: Likewise.
7770 * libgnat/s-expont.ads: Likewise.
7771 * libgnat/s-exponu.adb: Likewise.
7772 * libgnat/s-exponu.ads: Likewise.
7773 * libgnat/s-expuns.adb: Likewise.
7774 * libgnat/s-expuns.ads: Likewise.
7775 * libgnat/s-fatflt.ads: Likewise.
7776 * libgnat/s-fatgen.adb: Likewise.
7777 * libgnat/s-fatgen.ads: Likewise.
7778 * libgnat/s-fatlfl.ads: Likewise.
7779 * libgnat/s-fatllf.ads: Likewise.
7780 * libgnat/s-ficobl.ads: Likewise.
7781 * libgnat/s-filatt.ads: Likewise.
7782 * libgnat/s-fileio.adb: Likewise.
7783 * libgnat/s-fileio.ads: Likewise.
7784 * libgnat/s-finmas.adb: Likewise.
7785 * libgnat/s-finmas.ads: Likewise.
7786 * libgnat/s-finroo.adb: Likewise.
7787 * libgnat/s-finroo.ads: Likewise.
7788 * libgnat/s-flocon.adb: Likewise.
7789 * libgnat/s-flocon.ads: Likewise.
7790 * libgnat/s-flocon__none.adb: Likewise.
7791 * libgnat/s-fode128.ads: Likewise.
7792 * libgnat/s-fode32.ads: Likewise.
7793 * libgnat/s-fode64.ads: Likewise.
7794 * libgnat/s-fofi128.ads: Likewise.
7795 * libgnat/s-fofi32.ads: Likewise.
7796 * libgnat/s-fofi64.ads: Likewise.
7797 * libgnat/s-fore_d.adb: Likewise.
7798 * libgnat/s-fore_d.ads: Likewise.
7799 * libgnat/s-fore_f.adb: Likewise.
7800 * libgnat/s-fore_f.ads: Likewise.
7801 * libgnat/s-forrea.adb: Likewise.
7802 * libgnat/s-forrea.ads: Likewise.
7803 * libgnat/s-gearop.adb: Likewise.
7804 * libgnat/s-gearop.ads: Likewise.
7805 * libgnat/s-genbig.adb: Likewise.
7806 * libgnat/s-genbig.ads: Likewise.
7807 * libgnat/s-geveop.adb: Likewise.
7808 * libgnat/s-geveop.ads: Likewise.
7809 * libgnat/s-gloloc.adb: Likewise.
7810 * libgnat/s-gloloc.ads: Likewise.
7811 * libgnat/s-gloloc__mingw.adb: Likewise.
7812 * libgnat/s-htable.adb: Likewise.
7813 * libgnat/s-htable.ads: Likewise.
7814 * libgnat/s-imageb.adb: Likewise.
7815 * libgnat/s-imageb.ads: Likewise.
7816 * libgnat/s-imaged.adb: Likewise.
7817 * libgnat/s-imaged.ads: Likewise.
7818 * libgnat/s-imagef.adb: Likewise.
7819 * libgnat/s-imagef.ads: Likewise.
7820 * libgnat/s-imagei.adb: Likewise.
7821 * libgnat/s-imagei.ads: Likewise.
7822 * libgnat/s-imagen.adb: Likewise.
7823 * libgnat/s-imagen.ads: Likewise.
7824 * libgnat/s-imager.adb: Likewise.
7825 * libgnat/s-imager.ads: Likewise.
7826 * libgnat/s-imageu.adb: Likewise.
7827 * libgnat/s-imageu.ads: Likewise.
7828 * libgnat/s-imagew.adb: Likewise.
7829 * libgnat/s-imagew.ads: Likewise.
7830 * libgnat/s-imde128.ads: Likewise.
7831 * libgnat/s-imde32.ads: Likewise.
7832 * libgnat/s-imde64.ads: Likewise.
7833 * libgnat/s-imen16.ads: Likewise.
7834 * libgnat/s-imen32.ads: Likewise.
7835 * libgnat/s-imenu8.ads: Likewise.
7836 * libgnat/s-imfi128.ads: Likewise.
7837 * libgnat/s-imfi32.ads: Likewise.
7838 * libgnat/s-imfi64.ads: Likewise.
7839 * libgnat/s-imgbiu.adb: Likewise.
7840 * libgnat/s-imgbiu.ads: Likewise.
7841 * libgnat/s-imgboo.adb: Likewise.
7842 * libgnat/s-imgboo.ads: Likewise.
7843 * libgnat/s-imgcha.adb: Likewise.
7844 * libgnat/s-imgcha.ads: Likewise.
7845 * libgnat/s-imgflt.ads: Likewise.
7846 * libgnat/s-imgint.adb: Likewise.
7847 * libgnat/s-imgint.ads: Likewise.
7848 * libgnat/s-imglfl.ads: Likewise.
7849 * libgnat/s-imgllb.adb: Likewise.
7850 * libgnat/s-imgllb.ads: Likewise.
7851 * libgnat/s-imgllf.ads: Likewise.
7852 * libgnat/s-imglli.adb: Likewise.
7853 * libgnat/s-imglli.ads: Likewise.
7854 * libgnat/s-imglllb.ads: Likewise.
7855 * libgnat/s-imgllli.ads: Likewise.
7856 * libgnat/s-imglllu.ads: Likewise.
7857 * libgnat/s-imglllw.ads: Likewise.
7858 * libgnat/s-imgllu.adb: Likewise.
7859 * libgnat/s-imgllu.ads: Likewise.
7860 * libgnat/s-imgllw.adb: Likewise.
7861 * libgnat/s-imgllw.ads: Likewise.
7862 * libgnat/s-imgrea.adb: Likewise.
7863 * libgnat/s-imgrea.ads: Likewise.
7864 * libgnat/s-imguns.adb: Likewise.
7865 * libgnat/s-imguns.ads: Likewise.
7866 * libgnat/s-imguti.adb: Likewise.
7867 * libgnat/s-imguti.ads: Likewise.
7868 * libgnat/s-imgwch.adb: Likewise.
7869 * libgnat/s-imgwch.ads: Likewise.
7870 * libgnat/s-imgwiu.adb: Likewise.
7871 * libgnat/s-imgwiu.ads: Likewise.
7872 * libgnat/s-io.adb: Likewise.
7873 * libgnat/s-io.ads: Likewise.
7874 * libgnat/s-llflex.ads: Likewise.
7875 * libgnat/s-maccod.ads: Likewise.
7876 * libgnat/s-mantis.adb: Likewise.
7877 * libgnat/s-mantis.ads: Likewise.
7878 * libgnat/s-mastop.adb: Likewise.
7879 * libgnat/s-mastop.ads: Likewise.
7880 * libgnat/s-memcop.ads: Likewise.
7881 * libgnat/s-memory.adb: Likewise.
7882 * libgnat/s-memory.ads: Likewise.
7883 * libgnat/s-mmap.adb: Likewise.
7884 * libgnat/s-mmap.ads: Likewise.
7885 * libgnat/s-mmauni__long.ads: Likewise.
7886 * libgnat/s-mmosin__mingw.adb: Likewise.
7887 * libgnat/s-mmosin__mingw.ads: Likewise.
7888 * libgnat/s-mmosin__unix.adb: Likewise.
7889 * libgnat/s-mmosin__unix.ads: Likewise.
7890 * libgnat/s-multip.adb: Likewise.
7891 * libgnat/s-objrea.adb: Likewise.
7892 * libgnat/s-objrea.ads: Likewise.
7893 * libgnat/s-optide.adb: Likewise.
7894 * libgnat/s-os_lib.adb: Likewise.
7895 * libgnat/s-os_lib.ads: Likewise.
7896 * libgnat/s-osprim.ads: Likewise.
7897 * libgnat/s-osprim__darwin.adb: Likewise.
7898 * libgnat/s-osprim__lynxos.ads: Likewise.
7899 * libgnat/s-osprim__mingw.adb: Likewise.
7900 * libgnat/s-osprim__posix.adb: Likewise.
7901 * libgnat/s-osprim__posix2008.adb: Likewise.
7902 * libgnat/s-osprim__rtems.adb: Likewise.
7903 * libgnat/s-osprim__solaris.adb: Likewise.
7904 * libgnat/s-osprim__unix.adb: Likewise.
7905 * libgnat/s-osprim__x32.adb: Likewise.
7906 * libgnat/s-pack03.adb: Likewise.
7907 * libgnat/s-pack03.ads: Likewise.
7908 * libgnat/s-pack05.adb: Likewise.
7909 * libgnat/s-pack05.ads: Likewise.
7910 * libgnat/s-pack06.adb: Likewise.
7911 * libgnat/s-pack06.ads: Likewise.
7912 * libgnat/s-pack07.adb: Likewise.
7913 * libgnat/s-pack07.ads: Likewise.
7914 * libgnat/s-pack09.adb: Likewise.
7915 * libgnat/s-pack09.ads: Likewise.
7916 * libgnat/s-pack10.adb: Likewise.
7917 * libgnat/s-pack10.ads: Likewise.
7918 * libgnat/s-pack100.adb: Likewise.
7919 * libgnat/s-pack100.ads: Likewise.
7920 * libgnat/s-pack101.adb: Likewise.
7921 * libgnat/s-pack101.ads: Likewise.
7922 * libgnat/s-pack102.adb: Likewise.
7923 * libgnat/s-pack102.ads: Likewise.
7924 * libgnat/s-pack103.adb: Likewise.
7925 * libgnat/s-pack103.ads: Likewise.
7926 * libgnat/s-pack104.adb: Likewise.
7927 * libgnat/s-pack104.ads: Likewise.
7928 * libgnat/s-pack105.adb: Likewise.
7929 * libgnat/s-pack105.ads: Likewise.
7930 * libgnat/s-pack106.adb: Likewise.
7931 * libgnat/s-pack106.ads: Likewise.
7932 * libgnat/s-pack107.adb: Likewise.
7933 * libgnat/s-pack107.ads: Likewise.
7934 * libgnat/s-pack108.adb: Likewise.
7935 * libgnat/s-pack108.ads: Likewise.
7936 * libgnat/s-pack109.adb: Likewise.
7937 * libgnat/s-pack109.ads: Likewise.
7938 * libgnat/s-pack11.adb: Likewise.
7939 * libgnat/s-pack11.ads: Likewise.
7940 * libgnat/s-pack110.adb: Likewise.
7941 * libgnat/s-pack110.ads: Likewise.
7942 * libgnat/s-pack111.adb: Likewise.
7943 * libgnat/s-pack111.ads: Likewise.
7944 * libgnat/s-pack112.adb: Likewise.
7945 * libgnat/s-pack112.ads: Likewise.
7946 * libgnat/s-pack113.adb: Likewise.
7947 * libgnat/s-pack113.ads: Likewise.
7948 * libgnat/s-pack114.adb: Likewise.
7949 * libgnat/s-pack114.ads: Likewise.
7950 * libgnat/s-pack115.adb: Likewise.
7951 * libgnat/s-pack115.ads: Likewise.
7952 * libgnat/s-pack116.adb: Likewise.
7953 * libgnat/s-pack116.ads: Likewise.
7954 * libgnat/s-pack117.adb: Likewise.
7955 * libgnat/s-pack117.ads: Likewise.
7956 * libgnat/s-pack118.adb: Likewise.
7957 * libgnat/s-pack118.ads: Likewise.
7958 * libgnat/s-pack119.adb: Likewise.
7959 * libgnat/s-pack119.ads: Likewise.
7960 * libgnat/s-pack12.adb: Likewise.
7961 * libgnat/s-pack12.ads: Likewise.
7962 * libgnat/s-pack120.adb: Likewise.
7963 * libgnat/s-pack120.ads: Likewise.
7964 * libgnat/s-pack121.adb: Likewise.
7965 * libgnat/s-pack121.ads: Likewise.
7966 * libgnat/s-pack122.adb: Likewise.
7967 * libgnat/s-pack122.ads: Likewise.
7968 * libgnat/s-pack123.adb: Likewise.
7969 * libgnat/s-pack123.ads: Likewise.
7970 * libgnat/s-pack124.adb: Likewise.
7971 * libgnat/s-pack124.ads: Likewise.
7972 * libgnat/s-pack125.adb: Likewise.
7973 * libgnat/s-pack125.ads: Likewise.
7974 * libgnat/s-pack126.adb: Likewise.
7975 * libgnat/s-pack126.ads: Likewise.
7976 * libgnat/s-pack127.adb: Likewise.
7977 * libgnat/s-pack127.ads: Likewise.
7978 * libgnat/s-pack13.adb: Likewise.
7979 * libgnat/s-pack13.ads: Likewise.
7980 * libgnat/s-pack14.adb: Likewise.
7981 * libgnat/s-pack14.ads: Likewise.
7982 * libgnat/s-pack15.adb: Likewise.
7983 * libgnat/s-pack15.ads: Likewise.
7984 * libgnat/s-pack17.adb: Likewise.
7985 * libgnat/s-pack17.ads: Likewise.
7986 * libgnat/s-pack18.adb: Likewise.
7987 * libgnat/s-pack18.ads: Likewise.
7988 * libgnat/s-pack19.adb: Likewise.
7989 * libgnat/s-pack19.ads: Likewise.
7990 * libgnat/s-pack20.adb: Likewise.
7991 * libgnat/s-pack20.ads: Likewise.
7992 * libgnat/s-pack21.adb: Likewise.
7993 * libgnat/s-pack21.ads: Likewise.
7994 * libgnat/s-pack22.adb: Likewise.
7995 * libgnat/s-pack22.ads: Likewise.
7996 * libgnat/s-pack23.adb: Likewise.
7997 * libgnat/s-pack23.ads: Likewise.
7998 * libgnat/s-pack24.adb: Likewise.
7999 * libgnat/s-pack24.ads: Likewise.
8000 * libgnat/s-pack25.adb: Likewise.
8001 * libgnat/s-pack25.ads: Likewise.
8002 * libgnat/s-pack26.adb: Likewise.
8003 * libgnat/s-pack26.ads: Likewise.
8004 * libgnat/s-pack27.adb: Likewise.
8005 * libgnat/s-pack27.ads: Likewise.
8006 * libgnat/s-pack28.adb: Likewise.
8007 * libgnat/s-pack28.ads: Likewise.
8008 * libgnat/s-pack29.adb: Likewise.
8009 * libgnat/s-pack29.ads: Likewise.
8010 * libgnat/s-pack30.adb: Likewise.
8011 * libgnat/s-pack30.ads: Likewise.
8012 * libgnat/s-pack31.adb: Likewise.
8013 * libgnat/s-pack31.ads: Likewise.
8014 * libgnat/s-pack33.adb: Likewise.
8015 * libgnat/s-pack33.ads: Likewise.
8016 * libgnat/s-pack34.adb: Likewise.
8017 * libgnat/s-pack34.ads: Likewise.
8018 * libgnat/s-pack35.adb: Likewise.
8019 * libgnat/s-pack35.ads: Likewise.
8020 * libgnat/s-pack36.adb: Likewise.
8021 * libgnat/s-pack36.ads: Likewise.
8022 * libgnat/s-pack37.adb: Likewise.
8023 * libgnat/s-pack37.ads: Likewise.
8024 * libgnat/s-pack38.adb: Likewise.
8025 * libgnat/s-pack38.ads: Likewise.
8026 * libgnat/s-pack39.adb: Likewise.
8027 * libgnat/s-pack39.ads: Likewise.
8028 * libgnat/s-pack40.adb: Likewise.
8029 * libgnat/s-pack40.ads: Likewise.
8030 * libgnat/s-pack41.adb: Likewise.
8031 * libgnat/s-pack41.ads: Likewise.
8032 * libgnat/s-pack42.adb: Likewise.
8033 * libgnat/s-pack42.ads: Likewise.
8034 * libgnat/s-pack43.adb: Likewise.
8035 * libgnat/s-pack43.ads: Likewise.
8036 * libgnat/s-pack44.adb: Likewise.
8037 * libgnat/s-pack44.ads: Likewise.
8038 * libgnat/s-pack45.adb: Likewise.
8039 * libgnat/s-pack45.ads: Likewise.
8040 * libgnat/s-pack46.adb: Likewise.
8041 * libgnat/s-pack46.ads: Likewise.
8042 * libgnat/s-pack47.adb: Likewise.
8043 * libgnat/s-pack47.ads: Likewise.
8044 * libgnat/s-pack48.adb: Likewise.
8045 * libgnat/s-pack48.ads: Likewise.
8046 * libgnat/s-pack49.adb: Likewise.
8047 * libgnat/s-pack49.ads: Likewise.
8048 * libgnat/s-pack50.adb: Likewise.
8049 * libgnat/s-pack50.ads: Likewise.
8050 * libgnat/s-pack51.adb: Likewise.
8051 * libgnat/s-pack51.ads: Likewise.
8052 * libgnat/s-pack52.adb: Likewise.
8053 * libgnat/s-pack52.ads: Likewise.
8054 * libgnat/s-pack53.adb: Likewise.
8055 * libgnat/s-pack53.ads: Likewise.
8056 * libgnat/s-pack54.adb: Likewise.
8057 * libgnat/s-pack54.ads: Likewise.
8058 * libgnat/s-pack55.adb: Likewise.
8059 * libgnat/s-pack55.ads: Likewise.
8060 * libgnat/s-pack56.adb: Likewise.
8061 * libgnat/s-pack56.ads: Likewise.
8062 * libgnat/s-pack57.adb: Likewise.
8063 * libgnat/s-pack57.ads: Likewise.
8064 * libgnat/s-pack58.adb: Likewise.
8065 * libgnat/s-pack58.ads: Likewise.
8066 * libgnat/s-pack59.adb: Likewise.
8067 * libgnat/s-pack59.ads: Likewise.
8068 * libgnat/s-pack60.adb: Likewise.
8069 * libgnat/s-pack60.ads: Likewise.
8070 * libgnat/s-pack61.adb: Likewise.
8071 * libgnat/s-pack61.ads: Likewise.
8072 * libgnat/s-pack62.adb: Likewise.
8073 * libgnat/s-pack62.ads: Likewise.
8074 * libgnat/s-pack63.adb: Likewise.
8075 * libgnat/s-pack63.ads: Likewise.
8076 * libgnat/s-pack65.adb: Likewise.
8077 * libgnat/s-pack65.ads: Likewise.
8078 * libgnat/s-pack66.adb: Likewise.
8079 * libgnat/s-pack66.ads: Likewise.
8080 * libgnat/s-pack67.adb: Likewise.
8081 * libgnat/s-pack67.ads: Likewise.
8082 * libgnat/s-pack68.adb: Likewise.
8083 * libgnat/s-pack68.ads: Likewise.
8084 * libgnat/s-pack69.adb: Likewise.
8085 * libgnat/s-pack69.ads: Likewise.
8086 * libgnat/s-pack70.adb: Likewise.
8087 * libgnat/s-pack70.ads: Likewise.
8088 * libgnat/s-pack71.adb: Likewise.
8089 * libgnat/s-pack71.ads: Likewise.
8090 * libgnat/s-pack72.adb: Likewise.
8091 * libgnat/s-pack72.ads: Likewise.
8092 * libgnat/s-pack73.adb: Likewise.
8093 * libgnat/s-pack73.ads: Likewise.
8094 * libgnat/s-pack74.adb: Likewise.
8095 * libgnat/s-pack74.ads: Likewise.
8096 * libgnat/s-pack75.adb: Likewise.
8097 * libgnat/s-pack75.ads: Likewise.
8098 * libgnat/s-pack76.adb: Likewise.
8099 * libgnat/s-pack76.ads: Likewise.
8100 * libgnat/s-pack77.adb: Likewise.
8101 * libgnat/s-pack77.ads: Likewise.
8102 * libgnat/s-pack78.adb: Likewise.
8103 * libgnat/s-pack78.ads: Likewise.
8104 * libgnat/s-pack79.adb: Likewise.
8105 * libgnat/s-pack79.ads: Likewise.
8106 * libgnat/s-pack80.adb: Likewise.
8107 * libgnat/s-pack80.ads: Likewise.
8108 * libgnat/s-pack81.adb: Likewise.
8109 * libgnat/s-pack81.ads: Likewise.
8110 * libgnat/s-pack82.adb: Likewise.
8111 * libgnat/s-pack82.ads: Likewise.
8112 * libgnat/s-pack83.adb: Likewise.
8113 * libgnat/s-pack83.ads: Likewise.
8114 * libgnat/s-pack84.adb: Likewise.
8115 * libgnat/s-pack84.ads: Likewise.
8116 * libgnat/s-pack85.adb: Likewise.
8117 * libgnat/s-pack85.ads: Likewise.
8118 * libgnat/s-pack86.adb: Likewise.
8119 * libgnat/s-pack86.ads: Likewise.
8120 * libgnat/s-pack87.adb: Likewise.
8121 * libgnat/s-pack87.ads: Likewise.
8122 * libgnat/s-pack88.adb: Likewise.
8123 * libgnat/s-pack88.ads: Likewise.
8124 * libgnat/s-pack89.adb: Likewise.
8125 * libgnat/s-pack89.ads: Likewise.
8126 * libgnat/s-pack90.adb: Likewise.
8127 * libgnat/s-pack90.ads: Likewise.
8128 * libgnat/s-pack91.adb: Likewise.
8129 * libgnat/s-pack91.ads: Likewise.
8130 * libgnat/s-pack92.adb: Likewise.
8131 * libgnat/s-pack92.ads: Likewise.
8132 * libgnat/s-pack93.adb: Likewise.
8133 * libgnat/s-pack93.ads: Likewise.
8134 * libgnat/s-pack94.adb: Likewise.
8135 * libgnat/s-pack94.ads: Likewise.
8136 * libgnat/s-pack95.adb: Likewise.
8137 * libgnat/s-pack95.ads: Likewise.
8138 * libgnat/s-pack96.adb: Likewise.
8139 * libgnat/s-pack96.ads: Likewise.
8140 * libgnat/s-pack97.adb: Likewise.
8141 * libgnat/s-pack97.ads: Likewise.
8142 * libgnat/s-pack98.adb: Likewise.
8143 * libgnat/s-pack98.ads: Likewise.
8144 * libgnat/s-pack99.adb: Likewise.
8145 * libgnat/s-pack99.ads: Likewise.
8146 * libgnat/s-parame.adb: Likewise.
8147 * libgnat/s-parame.ads: Likewise.
8148 * libgnat/s-parame__hpux.ads: Likewise.
8149 * libgnat/s-parame__posix2008.ads: Likewise.
8150 * libgnat/s-parame__rtems.adb: Likewise.
8151 * libgnat/s-parame__vxworks.adb: Likewise.
8152 * libgnat/s-parame__vxworks.ads: Likewise.
8153 * libgnat/s-parint.adb: Likewise.
8154 * libgnat/s-parint.ads: Likewise.
8155 * libgnat/s-pehage.adb: Likewise.
8156 * libgnat/s-pehage.ads: Likewise.
8157 * libgnat/s-pooglo.adb: Likewise.
8158 * libgnat/s-pooglo.ads: Likewise.
8159 * libgnat/s-pooloc.adb: Likewise.
8160 * libgnat/s-pooloc.ads: Likewise.
8161 * libgnat/s-poosiz.adb: Likewise.
8162 * libgnat/s-poosiz.ads: Likewise.
8163 * libgnat/s-powflt.ads: Likewise.
8164 * libgnat/s-powlfl.ads: Likewise.
8165 * libgnat/s-powllf.ads: Likewise.
8166 * libgnat/s-purexc.ads: Likewise.
8167 * libgnat/s-putima.adb: Likewise.
8168 * libgnat/s-putima.ads: Likewise.
8169 * libgnat/s-rannum.adb: Likewise.
8170 * libgnat/s-rannum.ads: Likewise.
8171 * libgnat/s-ransee.adb: Likewise.
8172 * libgnat/s-ransee.ads: Likewise.
8173 * libgnat/s-regexp.adb: Likewise.
8174 * libgnat/s-regexp.ads: Likewise.
8175 * libgnat/s-regpat.adb: Likewise.
8176 * libgnat/s-regpat.ads: Likewise.
8177 * libgnat/s-resfil.adb: Likewise.
8178 * libgnat/s-resfil.ads: Likewise.
8179 * libgnat/s-restri.adb: Likewise.
8180 * libgnat/s-restri.ads: Likewise.
8181 * libgnat/s-rident.ads: Likewise.
8182 * libgnat/s-rpc.adb: Likewise.
8183 * libgnat/s-rpc.ads: Likewise.
8184 * libgnat/s-scaval.adb: Likewise.
8185 * libgnat/s-scaval.ads: Likewise.
8186 * libgnat/s-scaval__128.adb: Likewise.
8187 * libgnat/s-scaval__128.ads: Likewise.
8188 * libgnat/s-secsta.adb: Likewise.
8189 * libgnat/s-secsta.ads: Likewise.
8190 * libgnat/s-sequio.adb: Likewise.
8191 * libgnat/s-sequio.ads: Likewise.
8192 * libgnat/s-shabig.ads: Likewise.
8193 * libgnat/s-shasto.adb: Likewise.
8194 * libgnat/s-shasto.ads: Likewise.
8195 * libgnat/s-soflin.adb: Likewise.
8196 * libgnat/s-soflin.ads: Likewise.
8197 * libgnat/s-soliin.adb: Likewise.
8198 * libgnat/s-soliin.ads: Likewise.
8199 * libgnat/s-spsufi.adb: Likewise.
8200 * libgnat/s-spsufi.ads: Likewise.
8201 * libgnat/s-stache.adb: Likewise.
8202 * libgnat/s-stache.ads: Likewise.
8203 * libgnat/s-stalib.adb: Likewise.
8204 * libgnat/s-stalib.ads: Likewise.
8205 * libgnat/s-statxd.adb: Likewise.
8206 * libgnat/s-statxd.ads: Likewise.
8207 * libgnat/s-stausa.adb: Likewise.
8208 * libgnat/s-stausa.ads: Likewise.
8209 * libgnat/s-stchop.adb: Likewise.
8210 * libgnat/s-stchop.ads: Likewise.
8211 * libgnat/s-stchop__limit.ads: Likewise.
8212 * libgnat/s-stchop__vxworks.adb: Likewise.
8213 * libgnat/s-stoele.adb: Likewise.
8214 * libgnat/s-stoele.ads: Likewise.
8215 * libgnat/s-stopoo.adb: Likewise.
8216 * libgnat/s-stopoo.ads: Likewise.
8217 * libgnat/s-stposu.adb: Likewise.
8218 * libgnat/s-stposu.ads: Likewise.
8219 * libgnat/s-stratt.adb: Likewise.
8220 * libgnat/s-stratt.ads: Likewise.
8221 * libgnat/s-strcom.adb: Likewise.
8222 * libgnat/s-strcom.ads: Likewise.
8223 * libgnat/s-strhas.adb: Likewise.
8224 * libgnat/s-strhas.ads: Likewise.
8225 * libgnat/s-string.adb: Likewise.
8226 * libgnat/s-string.ads: Likewise.
8227 * libgnat/s-ststop.adb: Likewise.
8228 * libgnat/s-ststop.ads: Likewise.
8229 * libgnat/s-tasloc.adb: Likewise.
8230 * libgnat/s-tasloc.ads: Likewise.
8231 * libgnat/s-traceb.adb: Likewise.
8232 * libgnat/s-traceb.ads: Likewise.
8233 * libgnat/s-traceb__hpux.adb: Likewise.
8234 * libgnat/s-traceb__mastop.adb: Likewise.
8235 * libgnat/s-traent.adb: Likewise.
8236 * libgnat/s-traent.ads: Likewise.
8237 * libgnat/s-trasym.adb: Likewise.
8238 * libgnat/s-trasym.ads: Likewise.
8239 * libgnat/s-trasym__dwarf.adb: Likewise.
8240 * libgnat/s-tsmona.adb: Likewise.
8241 * libgnat/s-tsmona__linux.adb: Likewise.
8242 * libgnat/s-tsmona__mingw.adb: Likewise.
8243 * libgnat/s-unstyp.ads: Likewise.
8244 * libgnat/s-utf_32.adb: Likewise.
8245 * libgnat/s-utf_32.ads: Likewise.
8246 * libgnat/s-vade128.ads: Likewise.
8247 * libgnat/s-vade32.ads: Likewise.
8248 * libgnat/s-vade64.ads: Likewise.
8249 * libgnat/s-vaen16.ads: Likewise.
8250 * libgnat/s-vaen32.ads: Likewise.
8251 * libgnat/s-vaenu8.ads: Likewise.
8252 * libgnat/s-vafi128.ads: Likewise.
8253 * libgnat/s-vafi32.ads: Likewise.
8254 * libgnat/s-vafi64.ads: Likewise.
8255 * libgnat/s-valboo.adb: Likewise.
8256 * libgnat/s-valboo.ads: Likewise.
8257 * libgnat/s-valcha.adb: Likewise.
8258 * libgnat/s-valcha.ads: Likewise.
8259 * libgnat/s-valflt.ads: Likewise.
8260 * libgnat/s-valint.adb: Likewise.
8261 * libgnat/s-valint.ads: Likewise.
8262 * libgnat/s-vallfl.ads: Likewise.
8263 * libgnat/s-valllf.ads: Likewise.
8264 * libgnat/s-vallli.adb: Likewise.
8265 * libgnat/s-vallli.ads: Likewise.
8266 * libgnat/s-valllli.ads: Likewise.
8267 * libgnat/s-vallllu.ads: Likewise.
8268 * libgnat/s-valllu.adb: Likewise.
8269 * libgnat/s-valllu.ads: Likewise.
8270 * libgnat/s-valrea.adb: Likewise.
8271 * libgnat/s-valrea.ads: Likewise.
8272 * libgnat/s-valued.adb: Likewise.
8273 * libgnat/s-valued.ads: Likewise.
8274 * libgnat/s-valuef.adb: Likewise.
8275 * libgnat/s-valuef.ads: Likewise.
8276 * libgnat/s-valuei.adb: Likewise.
8277 * libgnat/s-valuei.ads: Likewise.
8278 * libgnat/s-valuen.adb: Likewise.
8279 * libgnat/s-valuen.ads: Likewise.
8280 * libgnat/s-valuer.adb: Likewise.
8281 * libgnat/s-valuer.ads: Likewise.
8282 * libgnat/s-valueu.adb: Likewise.
8283 * libgnat/s-valueu.ads: Likewise.
8284 * libgnat/s-valuns.adb: Likewise.
8285 * libgnat/s-valuns.ads: Likewise.
8286 * libgnat/s-valuti.adb: Likewise.
8287 * libgnat/s-valuti.ads: Likewise.
8288 * libgnat/s-valwch.adb: Likewise.
8289 * libgnat/s-valwch.ads: Likewise.
8290 * libgnat/s-veboop.adb: Likewise.
8291 * libgnat/s-veboop.ads: Likewise.
8292 * libgnat/s-vector.ads: Likewise.
8293 * libgnat/s-vercon.adb: Likewise.
8294 * libgnat/s-vercon.ads: Likewise.
8295 * libgnat/s-wchcnv.adb: Likewise.
8296 * libgnat/s-wchcnv.ads: Likewise.
8297 * libgnat/s-wchcon.adb: Likewise.
8298 * libgnat/s-wchcon.ads: Likewise.
8299 * libgnat/s-wchjis.adb: Likewise.
8300 * libgnat/s-wchjis.ads: Likewise.
8301 * libgnat/s-wchstw.adb: Likewise.
8302 * libgnat/s-wchstw.ads: Likewise.
8303 * libgnat/s-wchwts.adb: Likewise.
8304 * libgnat/s-wchwts.ads: Likewise.
8305 * libgnat/s-widboo.adb: Likewise.
8306 * libgnat/s-widboo.ads: Likewise.
8307 * libgnat/s-widcha.adb: Likewise.
8308 * libgnat/s-widcha.ads: Likewise.
8309 * libgnat/s-widenu.adb: Likewise.
8310 * libgnat/s-widenu.ads: Likewise.
8311 * libgnat/s-widint.ads: Likewise.
8312 * libgnat/s-widlli.adb: Likewise.
8313 * libgnat/s-widlli.ads: Likewise.
8314 * libgnat/s-widllli.ads: Likewise.
8315 * libgnat/s-widlllu.ads: Likewise.
8316 * libgnat/s-widllu.adb: Likewise.
8317 * libgnat/s-widllu.ads: Likewise.
8318 * libgnat/s-widthi.adb: Likewise.
8319 * libgnat/s-widthi.ads: Likewise.
8320 * libgnat/s-widthu.adb: Likewise.
8321 * libgnat/s-widthu.ads: Likewise.
8322 * libgnat/s-widuns.ads: Likewise.
8323 * libgnat/s-widwch.adb: Likewise.
8324 * libgnat/s-widwch.ads: Likewise.
8325 * libgnat/s-win32.ads: Likewise.
8326 * libgnat/s-winext.ads: Likewise.
8327 * libgnat/s-wwdcha.adb: Likewise.
8328 * libgnat/s-wwdcha.ads: Likewise.
8329 * libgnat/s-wwdenu.adb: Likewise.
8330 * libgnat/s-wwdenu.ads: Likewise.
8331 * libgnat/s-wwdwch.adb: Likewise.
8332 * libgnat/s-wwdwch.ads: Likewise.
8333 * libgnat/system-aix.ads: Likewise.
8334 * libgnat/system-darwin-arm.ads: Likewise.
8335 * libgnat/system-darwin-ppc.ads: Likewise.
8336 * libgnat/system-darwin-x86.ads: Likewise.
8337 * libgnat/system-djgpp.ads: Likewise.
8338 * libgnat/system-dragonfly-x86_64.ads: Likewise.
8339 * libgnat/system-freebsd.ads: Likewise.
8340 * libgnat/system-hpux-ia64.ads: Likewise.
8341 * libgnat/system-hpux.ads: Likewise.
8342 * libgnat/system-linux-alpha.ads: Likewise.
8343 * libgnat/system-linux-arm.ads: Likewise.
8344 * libgnat/system-linux-hppa.ads: Likewise.
8345 * libgnat/system-linux-ia64.ads: Likewise.
8346 * libgnat/system-linux-m68k.ads: Likewise.
8347 * libgnat/system-linux-mips.ads: Likewise.
8348 * libgnat/system-linux-ppc.ads: Likewise.
8349 * libgnat/system-linux-riscv.ads: Likewise.
8350 * libgnat/system-linux-s390.ads: Likewise.
8351 * libgnat/system-linux-sh4.ads: Likewise.
8352 * libgnat/system-linux-sparc.ads: Likewise.
8353 * libgnat/system-linux-x86.ads: Likewise.
8354 * libgnat/system-lynxos178-ppc.ads: Likewise.
8355 * libgnat/system-lynxos178-x86.ads: Likewise.
8356 * libgnat/system-mingw.ads: Likewise.
8357 * libgnat/system-qnx-aarch64.ads: Likewise.
8358 * libgnat/system-rtems.ads: Likewise.
8359 * libgnat/system-solaris-sparc.ads: Likewise.
8360 * libgnat/system-solaris-x86.ads: Likewise.
8361 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
8362 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
8363 * libgnat/system-vxworks-arm.ads: Likewise.
8364 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
8365 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
8366 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
8367 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
8368 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
8369 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
8370 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
8371 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
8372 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
8373 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
8374 * libgnat/system-vxworks7-aarch64.ads: Likewise.
8375 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
8376 * libgnat/system-vxworks7-arm.ads: Likewise.
8377 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
8378 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
8379 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
8380 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
8381 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
8382 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
8383 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
8384 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
8385 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
8386 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
8387 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
8388 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
8389 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
8391 * live.adb: Likewise.
8392 * live.ads: Likewise.
8393 * locales.c: Likewise.
8394 * make.adb: Likewise.
8395 * make.ads: Likewise.
8396 * make_util.adb: Likewise.
8397 * make_util.ads: Likewise.
8398 * makeusg.adb: Likewise.
8399 * makeusg.ads: Likewise.
8400 * mdll-fil.adb: Likewise.
8401 * mdll-fil.ads: Likewise.
8402 * mdll-utl.adb: Likewise.
8403 * mdll-utl.ads: Likewise.
8404 * mdll.adb: Likewise.
8405 * mdll.ads: Likewise.
8406 * mingw32.h: Likewise.
8407 * mkdir.c: Likewise.
8408 * namet-sp.adb: Likewise.
8409 * namet-sp.ads: Likewise.
8410 * namet.adb: Likewise.
8411 * namet.ads: Likewise.
8412 * namet.h: Likewise.
8413 * nlists.adb: Likewise.
8414 * nlists.ads: Likewise.
8415 * nlists.h: Likewise.
8416 * opt.adb: Likewise.
8417 * opt.ads: Likewise.
8418 * osint-b.adb: Likewise.
8419 * osint-b.ads: Likewise.
8420 * osint-c.adb: Likewise.
8421 * osint-c.ads: Likewise.
8422 * osint-l.adb: Likewise.
8423 * osint-l.ads: Likewise.
8424 * osint-m.adb: Likewise.
8425 * osint-m.ads: Likewise.
8426 * osint.adb: Likewise.
8427 * osint.ads: Likewise.
8428 * output.adb: Likewise.
8429 * output.ads: Likewise.
8430 * par-ch10.adb: Likewise.
8431 * par-ch11.adb: Likewise.
8432 * par-ch12.adb: Likewise.
8433 * par-ch13.adb: Likewise.
8434 * par-ch2.adb: Likewise.
8435 * par-ch3.adb: Likewise.
8436 * par-ch4.adb: Likewise.
8437 * par-ch5.adb: Likewise.
8438 * par-ch6.adb: Likewise.
8439 * par-ch7.adb: Likewise.
8440 * par-ch8.adb: Likewise.
8441 * par-ch9.adb: Likewise.
8442 * par-endh.adb: Likewise.
8443 * par-labl.adb: Likewise.
8444 * par-load.adb: Likewise.
8445 * par-prag.adb: Likewise.
8446 * par-sync.adb: Likewise.
8447 * par-tchk.adb: Likewise.
8448 * par-util.adb: Likewise.
8449 * par.adb: Likewise.
8450 * par.ads: Likewise.
8451 * par_sco.adb: Likewise.
8452 * par_sco.ads: Likewise.
8453 * pprint.adb: Likewise.
8454 * pprint.ads: Likewise.
8455 * prep.adb: Likewise.
8456 * prep.ads: Likewise.
8457 * prepcomp.adb: Likewise.
8458 * prepcomp.ads: Likewise.
8459 * put_scos.adb: Likewise.
8460 * put_scos.ads: Likewise.
8461 * raise-gcc.c: Likewise.
8462 * raise.c: Likewise.
8463 * raise.h: Likewise.
8464 * repinfo-input.adb: Likewise.
8465 * repinfo-input.ads: Likewise.
8466 * repinfo.adb: Likewise.
8467 * repinfo.ads: Likewise.
8468 * repinfo.h: Likewise.
8469 * restrict.adb: Likewise.
8470 * restrict.ads: Likewise.
8471 * rident.ads: Likewise.
8472 * rtfinal.c: Likewise.
8473 * rtinit.c: Likewise.
8474 * rtsfind.adb: Likewise.
8475 * rtsfind.ads: Likewise.
8476 * runtime.h: Likewise.
8477 * s-oscons-tmplt.c: Likewise.
8478 * sa_messages.adb: Likewise.
8479 * sa_messages.ads: Likewise.
8480 * scans.adb: Likewise.
8481 * scans.ads: Likewise.
8482 * scil_ll.adb: Likewise.
8483 * scil_ll.ads: Likewise.
8484 * scn.adb: Likewise.
8485 * scn.ads: Likewise.
8486 * scng.adb: Likewise.
8487 * scng.ads: Likewise.
8488 * scos.adb: Likewise.
8489 * scos.ads: Likewise.
8491 * sdefault.ads: Likewise.
8492 * seh_init.c: Likewise.
8493 * sem.adb: Likewise.
8494 * sem.ads: Likewise.
8495 * sem_aggr.adb: Likewise.
8496 * sem_aggr.ads: Likewise.
8497 * sem_attr.adb: Likewise.
8498 * sem_attr.ads: Likewise.
8499 * sem_aux.adb: Likewise.
8500 * sem_aux.ads: Likewise.
8501 * sem_case.adb: Likewise.
8502 * sem_case.ads: Likewise.
8503 * sem_cat.adb: Likewise.
8504 * sem_cat.ads: Likewise.
8505 * sem_ch10.adb: Likewise.
8506 * sem_ch10.ads: Likewise.
8507 * sem_ch11.adb: Likewise.
8508 * sem_ch11.ads: Likewise.
8509 * sem_ch12.adb: Likewise.
8510 * sem_ch12.ads: Likewise.
8511 * sem_ch13.adb: Likewise.
8512 * sem_ch13.ads: Likewise.
8513 * sem_ch2.adb: Likewise.
8514 * sem_ch2.ads: Likewise.
8515 * sem_ch3.adb: Likewise.
8516 * sem_ch3.ads: Likewise.
8517 * sem_ch4.adb: Likewise.
8518 * sem_ch4.ads: Likewise.
8519 * sem_ch5.adb: Likewise.
8520 * sem_ch5.ads: Likewise.
8521 * sem_ch6.adb: Likewise.
8522 * sem_ch6.ads: Likewise.
8523 * sem_ch7.adb: Likewise.
8524 * sem_ch7.ads: Likewise.
8525 * sem_ch8.adb: Likewise.
8526 * sem_ch8.ads: Likewise.
8527 * sem_ch9.adb: Likewise.
8528 * sem_ch9.ads: Likewise.
8529 * sem_dim.adb: Likewise.
8530 * sem_dim.ads: Likewise.
8531 * sem_disp.adb: Likewise.
8532 * sem_disp.ads: Likewise.
8533 * sem_dist.adb: Likewise.
8534 * sem_dist.ads: Likewise.
8535 * sem_elab.adb: Likewise.
8536 * sem_elab.ads: Likewise.
8537 * sem_elim.adb: Likewise.
8538 * sem_elim.ads: Likewise.
8539 * sem_eval.adb: Likewise.
8540 * sem_eval.ads: Likewise.
8541 * sem_intr.adb: Likewise.
8542 * sem_intr.ads: Likewise.
8543 * sem_mech.adb: Likewise.
8544 * sem_mech.ads: Likewise.
8545 * sem_prag.adb: Likewise.
8546 * sem_prag.ads: Likewise.
8547 * sem_res.adb: Likewise.
8548 * sem_res.ads: Likewise.
8549 * sem_scil.adb: Likewise.
8550 * sem_scil.ads: Likewise.
8551 * sem_smem.adb: Likewise.
8552 * sem_smem.ads: Likewise.
8553 * sem_type.adb: Likewise.
8554 * sem_type.ads: Likewise.
8555 * sem_util.adb: Likewise.
8556 * sem_util.ads: Likewise.
8557 * sem_warn.adb: Likewise.
8558 * sem_warn.ads: Likewise.
8559 * set_targ.adb: Likewise.
8560 * set_targ.ads: Likewise.
8561 * sfn_scan.adb: Likewise.
8562 * sfn_scan.ads: Likewise.
8563 * sigtramp-armdroid.c: Likewise.
8564 * sigtramp-ios.c: Likewise.
8565 * sigtramp-qnx.c: Likewise.
8566 * sigtramp-vxworks-target.h: Likewise.
8567 * sigtramp-vxworks.c: Likewise.
8568 * sigtramp.h: Likewise.
8569 * sinfo-cn.adb: Likewise.
8570 * sinfo-cn.ads: Likewise.
8571 * sinfo-utils.adb: Likewise.
8572 * sinfo-utils.ads: Likewise.
8573 * sinfo.adb: Likewise.
8574 * sinfo.ads: Likewise.
8575 * sinput-c.adb: Likewise.
8576 * sinput-c.ads: Likewise.
8577 * sinput-d.adb: Likewise.
8578 * sinput-d.ads: Likewise.
8579 * sinput-l.adb: Likewise.
8580 * sinput-l.ads: Likewise.
8581 * sinput.adb: Likewise.
8582 * sinput.ads: Likewise.
8583 * socket.c: Likewise.
8584 * spark_xrefs.adb: Likewise.
8585 * spark_xrefs.ads: Likewise.
8586 * sprint.adb: Likewise.
8587 * sprint.ads: Likewise.
8588 * stand.ads: Likewise.
8589 * stringt.adb: Likewise.
8590 * stringt.ads: Likewise.
8591 * stringt.h: Likewise.
8592 * strub.adb: Likewise.
8593 * strub.ads: Likewise.
8594 * style.adb: Likewise.
8595 * style.ads: Likewise.
8596 * styleg.adb: Likewise.
8597 * styleg.ads: Likewise.
8598 * stylesw.adb: Likewise.
8599 * stylesw.ads: Likewise.
8600 * switch-b.adb: Likewise.
8601 * switch-b.ads: Likewise.
8602 * switch-c.adb: Likewise.
8603 * switch-c.ads: Likewise.
8604 * switch-m.adb: Likewise.
8605 * switch-m.ads: Likewise.
8606 * switch.adb: Likewise.
8607 * switch.ads: Likewise.
8608 * sysdep.c: Likewise.
8609 * table.adb: Likewise.
8610 * table.ads: Likewise.
8611 * targext.c: Likewise.
8612 * targparm.adb: Likewise.
8613 * targparm.ads: Likewise.
8614 * tbuild.adb: Likewise.
8615 * tbuild.ads: Likewise.
8616 * tempdir.adb: Likewise.
8617 * tempdir.ads: Likewise.
8618 * terminals.c: Likewise.
8619 * tracebak.c: Likewise.
8620 * treepr.adb: Likewise.
8621 * treepr.ads: Likewise.
8622 * ttypes.ads: Likewise.
8623 * types.adb: Likewise.
8624 * types.ads: Likewise.
8625 * types.h: Likewise.
8626 * uintp.adb: Likewise.
8627 * uintp.ads: Likewise.
8628 * uintp.h: Likewise.
8629 * uname.adb: Likewise.
8630 * uname.ads: Likewise.
8631 * urealp.adb: Likewise.
8632 * urealp.ads: Likewise.
8633 * urealp.h: Likewise.
8634 * usage.adb: Likewise.
8635 * usage.ads: Likewise.
8636 * validsw.adb: Likewise.
8637 * validsw.ads: Likewise.
8638 * vast.adb: Likewise.
8639 * vast.ads: Likewise.
8640 * warnsw.adb: Likewise.
8641 * warnsw.ads: Likewise.
8642 * widechar.adb: Likewise.
8643 * widechar.ads: Likewise.
8644 * xoscons.adb: Likewise.
8645 * xr_tabls.adb: Likewise.
8646 * xr_tabls.ads: Likewise.
8647 * xref_lib.adb: Likewise.
8648 * xref_lib.ads: Likewise.
8649 * xsnamest.adb: Likewise.
8650 * xutil.adb: Likewise.
8651 * xutil.ads: Likewise.
8653 2022-01-11 Richard Kenner <kenner@adacore.com>
8655 * debug.adb: Add documentation for new -gnatd_u and old -gnatd_R
8656 flags used for GNAT LLVM and its CCG.
8658 2022-01-11 Piotr Trojanek <trojanek@adacore.com>
8660 * Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of
8661 System.Atomic_Counters.
8662 * libgnat/s-atocou__x86.adb: Remove.
8664 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8666 * gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype.
8667 (elaborate_profile): New function.
8668 (Call_to_gnu): Call it on the formals and the result type before
8669 retrieving the translated result type from the subprogram type.
8671 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8673 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix
8674 computation of boolean result in the unchecked union case.
8675 (components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT
8676 and remove local variable of the same name. Pass NULL recursively
8677 as P_GNU_REP_LIST for nested variants in the unchecked union case.
8679 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8681 * gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case.
8682 <N_Pragma_Argument_Association>: Likewise.
8683 (Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding
8684 variable of a constant before marking it as addressable.
8686 2022-01-10 Arnaud Charlet <charlet@adacore.com>
8688 * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove
8689 s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?. Update list of object
8692 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
8694 * libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces
8695 deprecated Sync_Compare_And_Swap.
8696 * libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync
8697 to __atomic builtins.
8699 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
8701 * libgnat/s-exponn.adb, libgnat/s-expont.adb,
8702 libgnat/s-exponu.adb, libgnat/s-widthi.adb,
8703 libgnat/s-widthu.adb: Remove CodePeer annotations for pragma
8706 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
8708 * exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion
8711 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
8713 * sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment.
8715 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8717 * exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply
8718 the canonical adjustment to its alignment.
8720 2022-01-10 Piotr Trojanek <trojanek@adacore.com>
8722 * libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch
8723 from __sync to __atomic builtins; use 'Address to be consistent
8724 with System.Atomic_Primitives.
8726 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8728 * exp_pakd.adb (Install_PAT): Do not reset the alignment here.
8729 * layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having
8730 copied the RM_Size onto the Esize when the latter is too small.
8732 2022-01-10 Justin Squirek <squirek@adacore.com>
8734 * sem_warn.adb (Check_References): Handle arrays of tasks
8735 similar to task objects.
8737 2022-01-07 Patrick Bernardi <bernardi@adacore.com>
8739 * libgnat/a-direct.adb (Search_Data): Remove type.
8740 (Directory_Vectors): New package instantiation.
8741 (Search_State): New type.
8742 (Fetch_Next_Entry): Remove.
8744 (Finalize): Rewritten.
8746 (Get_Next_Entry): Return next entry from Search results vector
8747 rather than querying the directory directly using readdir.
8749 (Modification_Time): Rewritten.
8750 (More_Entries): Use Search state cursor to determine if more
8751 entries are available for users to read.
8752 (Simple_Name): Rewritten.
8754 (Start_Search_Internal): Rewritten to load the contents of the
8755 directory that matches the pattern and filter into the search
8757 * libgnat/a-direct.ads (Search_Type): New type.
8758 (Search_Ptr): Ditto.
8759 (Directory_Entry_Type): Rewritten to support new Start_Search
8761 * libgnat/s-filatt.ads (File_Length_Attr): New function.
8763 2022-01-07 Etienne Servais <servais@adacore.com>
8765 * sem_attr.adb (Check_Reference): Fix condition.
8767 2022-01-07 Ghjuvan Lacambre <lacambre@adacore.com>
8769 * libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma
8770 Unreferenced" for Result.
8771 (Timed_Delay): Likewise.
8773 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8775 * gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a
8776 dedicated line, so that the current indentation is taken into
8779 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8781 * exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style
8782 in comments and code.
8784 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8786 * exp_aggr.adb (Gen_Assign): Remove explicit initialization for
8787 components of access types.
8788 (Get_Assoc_Expr): Enable initialization for components of all
8789 types that require simple initialization.
8791 2022-01-07 Javier Miranda <miranda@adacore.com>
8793 * atree.ads (Traverse_Func_With_Parent): New generic subprogram.
8794 (Traverse_Proc_With_Parent): Likewise.
8795 * atree.adb (Parents_Stack): New table used to traverse trees
8796 passing the parent field of each node.
8797 (Internal_Traverse_With_Parent): New generic subprogram.
8798 (Traverse_Func_With_Parent): Likewise.
8799 (Traverse_Proc_With_Parent): Likewise.
8800 * contracts.adb (Fix_Parents): New subprogram.
8801 (Restore_Original_Selected_Component): Enhanced to fix the
8802 parent field of restored nodes.
8803 (Inherit_Condition): Adding assertions to check the parent field
8804 of inherited conditions and to ensure that the built inherited
8805 condition has no reference to the formals of the parent
8807 * sem_util.ads, sem_util.adb (Check_Parents): New subprogram.
8809 2022-01-07 Etienne Servais <servais@adacore.com>
8811 * sem_attr.adb (Check_Placement_In_Test_Case): Fix typo.
8813 2022-01-07 Justin Squirek <squirek@adacore.com>
8815 * comperr.adb (Delete_SCIL_Files): Replace unnecessary
8816 Unreferenced pragma with specific pragma Warnings.
8817 * doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced):
8818 Add documentation for new behavior.
8819 * gnat_rm.texi: Regenerate.
8820 * erroutc.adb (Set_At): Remove useless assignment.
8821 * exp_ch2.adb (In_Assignment_Context): Deleted.
8822 (Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to
8823 Known_To_Be_Assigned.
8824 (Expand_Current_Value): Replace calls to May_Be_Lvalue with
8825 calls to Known_To_Be_Assigned.
8826 (Expand_Entry_Paramter): Replace calls to In_Assignment_Context
8827 with calls to Known_To_Be_Assigned.
8828 * exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced
8830 * exp_imgv.adb (Build_Enumeration_Image_Tables): Default
8832 * ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue
8833 with call to Known_To_Be_Assigned.
8834 * lib-xref.adb (Is_On_LHS): Deleted.
8835 (OK_To_Set_Referenced): Rewrite subprogram to encompass the new
8836 pragma Unreferenced behavior.
8837 (Process_Deferred_References): Replace call to Is_LHS with call
8838 to Known_To_Be_Assigned.
8839 * libgnarl/s-taasde.adb, libgnarl/s-tasren.adb,
8840 libgnarl/s-tpobop.adb, libgnat/a-calend.adb,
8841 libgnat/a-calfor.adb, libgnat/a-cbdlli.adb,
8842 libgnat/a-cbhama.adb, libgnat/a-cbhase.adb,
8843 libgnat/a-cbmutr.adb, libgnat/a-cborma.adb,
8844 libgnat/a-cborse.adb, libgnat/a-cdlili.adb,
8845 libgnat/a-cfhama.adb, libgnat/a-cforse.adb,
8846 libgnat/a-cidlli.adb, libgnat/a-cihama.adb,
8847 libgnat/a-cihase.adb, libgnat/a-cimutr.adb,
8848 libgnat/a-ciorma.adb, libgnat/a-ciormu.adb,
8849 libgnat/a-ciorse.adb, libgnat/a-cohama.adb,
8850 libgnat/a-cohase.adb, libgnat/a-comutr.adb,
8851 libgnat/a-convec.adb, libgnat/a-coorma.adb,
8852 libgnat/a-coormu.adb, libgnat/a-coorse.adb,
8853 libgnat/a-crdlli.adb, libgnat/a-tigeau.adb,
8854 libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb,
8855 libgnat/g-calend.adb, libgnat/g-comlin.adb,
8856 libgnat/g-expect.adb, libgnat/g-mbflra.adb,
8857 libgnat/g-spipat.adb, libgnat/s-fatgen.adb,
8858 libgnat/s-fileio.adb, libgnat/s-os_lib.adb,
8859 libgnat/s-regpat.adb, libgnat/s-valued.adb,
8860 libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas
8861 * sem_ch10.adb (Process_Spec_Clauses): Remove useless
8863 * sem_ch13.adb (Validate_Literal_Aspect): Default initialize I.
8864 * sem_ch3.adb (Build_Derived_Concurrent_Type): Default
8865 initialize Corr_Decl.
8866 * sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to
8867 Known_To_Be_Assigned.
8868 (In_Abstract_View_Pragma): Likewise.
8869 * sem_eval.adb (Eval_Selected_Component): Replace calls to
8870 Is_LHS with calls to Known_To_Be_Assigned.
8871 * sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue
8872 with calls to Known_To_Be_Assigned.
8873 * sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize
8875 (Explain_Limited_Type): Default initialize Expr_Func.
8876 (Find_Actual): Modified to handle entry families.
8878 (May_Be_Lvalue): Deleted.
8879 (Known_To_Be_Assigned): Modified and improved to handle all
8881 * sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue
8882 with calls to Known_To_Be_Assigned.
8883 (Check_Ref): Modify error on unreferenced out parameters to take
8884 into account different warning flags.
8886 2022-01-07 Javier Miranda <miranda@adacore.com>
8888 * sem_ch3.adb (Reorder_Interfaces): When the conflicting
8889 interface is identified we just replace the interface in the
8890 list of interfaces of the tagged type (instead of adding a
8891 duplicate to the list of interfaces).
8893 2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
8895 * adaint.c (__gnat_kill): Terminate process only in case of
8896 SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT. Do not call
8897 OpenProcess if not going to terminate process.
8899 2022-01-07 Eric Botcazou <ebotcazou@adacore.com>
8901 * exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass
8902 over the arguments of the pragma. Set the Address_Taken flag on
8903 them and use the Has_Delayed_Freeze flag to spot those which have
8904 their elaboration delayed. Reuse the location variable Loc.
8906 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8908 * osint.adb (To_Lower): Clarify that only To_Lower function
8909 causes bootstrap issues; fix style.
8910 * treepr.adb (Print_Str_Mixed_Case): Reuse existing case
8912 (To_Mixed): Rename from Capitalize; reuse System.Case_Util
8913 procedure and explain the bootstrap issue.
8915 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8917 * exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary
8918 initialization of Must_Hook; change Detect_Subprogram_Call from
8919 function to procedure; adapt caller.
8921 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8923 * exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb,
8924 sem_ch13.adb: Remove extra space before THEN that occurs at the
8927 2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
8929 * expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS,
8930 WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status
8931 or signal that caused the child process to terminate/stop. Do
8932 not process exit status in case of error in waitpid call.
8933 * adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is
8934 removed in Windows variant as it actually is not working and was
8935 terminating the calling process. Set signal number into exit
8936 code parameter of TerminateProcess to work the same like in
8939 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8941 * exp_ch5.adb (Expand_N_Case_Statement): Remove explicit
8944 2022-01-07 Etienne Servais <servais@adacore.com>
8946 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
8947 Update -gnatwr documentation.
8948 * gnat_ugn.texi: Regenerate.
8950 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8952 * exp_unst.adb (Unnest_Subprogram): Sync comment with the
8955 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8957 * exp_ch4.adb (Raise_Accessibility_Error): Move exception name
8958 to the message string; move << control characters to the end,
8960 * sem_ch6.adb (Analyze_Function_Return): Likewise.
8961 * sem_util.adb (Compile_Time_Constraint_Error): Likewise.
8962 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes
8963 around Storage_Error.
8964 * gcc-interface/trans.c (gnat_to_gnu): Remove quotes around
8967 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8969 * errout.adb (Error_Msg): Move warning suppression code from
8971 (Error_Msg_NLE): Warning suppression is now done by the internal
8974 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8976 * exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary
8978 * exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment.
8979 * exp_ch5.adb (Expand_N_If_Statement,
8980 Expand_Iterator_Loop_Over_Container): Likewise.
8981 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant
8983 * freeze.adb (Freeze_All_Ent): Reduce scope of a local variable.
8985 2022-01-07 Piotr Trojanek <trojanek@adacore.com>
8987 * exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard.
8988 * exp_disp.adb (Make_DT): Likewise.
8989 * sem_ch12.adb (Analyze_Associations): Likewise.
8991 2022-01-07 Etienne Servais <servais@adacore.com>
8993 * sem_res.adb (Resolve_Op_Concat_Arg): Check range when
8994 concatenating scalars.
8996 2022-01-07 Bob Duff <duff@adacore.com>
8998 * treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to
9001 2022-01-07 Richard Kenner <kenner@adacore.com>
9003 * libgnat/g-spipat.ads (Boolean_Func, Natural_Func,
9004 VString_Func): Mark as Favor_Top_Level.
9005 * sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using
9006 internal representation if Unchecked_Conversion between
9007 an access to subprogram and System.Address within the same unit.
9009 2022-01-07 Bob Duff <duff@adacore.com>
9011 * treepr.adb (Print_Node_Ref): Print the value if available.
9013 2022-01-07 Richard Kenner <kenner@adacore.com>
9015 * sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to
9016 not recurse and return the next-most-fullest view.
9018 2022-01-07 Bob Duff <duff@adacore.com>
9020 * sem_ch10.adb (Check_Redundant_Withs): Add a warning if a
9021 library unit with's its own ancestor. Note that this warning is
9022 not triggered for something like "with P.R;" in P.Q, because
9023 there the "with P;" is considered implicit.
9024 * fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads,
9025 libgnat/a-calfor.adb, libgnat/a-tiboio.adb,
9026 libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb,
9027 libgnat/s-bitops.adb, libgnat/s-bitops.ads,
9028 libgnat/s-direio.adb, libgnat/s-dwalin.adb,
9029 libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb,
9030 libgnat/s-os_lib.adb, libgnat/s-os_lib.ads,
9031 libgnat/s-pooglo.ads, libgnat/s-secsta.adb,
9032 libgnat/s-shasto.adb, libgnat/s-stausa.ads,
9033 libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of
9035 * sinfo.ads: Minor comment fix.
9037 2022-01-07 Bob Duff <duff@adacore.com>
9039 * osint-m.adb: Remove with_clause and pragma.
9041 2022-01-06 Bob Duff <duff@adacore.com>
9043 * sem_res.adb (Resolve_Range): Warn on null range, unless we are
9044 inside a generic unit or an instance thereof.
9045 * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
9048 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9050 * errout.adb (Adjust_Name_Case): Remove unnecessary declare
9053 2022-01-06 Yannick Moy <moy@adacore.com>
9055 * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
9057 * libgnat/a-ngrear.adb: Likewise.
9058 * libgnat/s-gearop.adb: Prove implementation is free of runtime
9060 * libgnat/s-gearop.ads: Add contracts to protect against runtime
9061 errors in the generic part.
9063 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9065 * errout.adb (Remove_Warning_Messages): Use traversal procedure
9066 instead of traversal function, since we discard status of each
9069 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9071 * exp_ch4.adb (Expand_Concatenate): There is no reason for using
9072 declaring, raising and catching an exception; a simple return
9073 statement is enough.
9075 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9077 * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
9078 calls to Apply_Compile_Time_Constraint_Error related to division
9081 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9083 * errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
9084 * exp_util.adb (Kill_Dead_Code): Likewise.
9085 * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
9086 * sem_ch3.adb (Build_Derived_Record_Type): Likewise.
9087 * sem_ch4.adb (Traverse_Interfaces): Likewise.
9088 * sem_eval.adb (Traverse_Interfaces): Likewise.
9089 * sem_util.adb (Collect_Interfaces): Likewise.
9090 (Has_Non_Null_Statements, Side_Effect_Free_Statements):
9091 Likewise; turn into WHILE loops, for consistency.
9093 2022-01-06 Etienne Servais <servais@adacore.com>
9095 * sem_type.adb (Full_View_Covers): Fix typo.
9097 2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
9099 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
9100 the outer level, do not jump over following instantiations in
9103 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9105 * err_vars.ads (Warn_On_Instance): Remove; it was a relic from
9106 the previous handling of warning in instances that was removed
9109 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9111 * errout.adb (Error_Msg_Internal): Reorder words.
9112 * erroutc.ads (Is_Warning_Msg): Add closing paren.
9113 * sem_util.adb (Compile_Time_Constraint_Error): Fix casing.
9115 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9117 * sem_res.adb (Resolve_String_Literal): Simplify pointer
9120 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9122 * sem_res.adb (Resolve_String_Literal): Avoid unnecessary
9123 conversions inside "<" and ">" bodies.
9125 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9127 * checks.adb (Null_Exclusion_Static_Checks,
9128 Selected_Range_Checks): Fix style.
9130 2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
9132 * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
9133 special units when the name of the renaming is a generic instance,
9134 which is the case for package instantiations in the GNAT model.
9136 2022-01-06 Steve Baird <baird@adacore.com>
9138 * sem_util.adb (Build_Discriminant_Reference): In the unexpected
9139 case where we previously would fail an assertion, we instead
9140 revert to the old behavior.
9142 2022-01-06 Steve Baird <baird@adacore.com>
9144 * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
9145 local function, Build_Discriminant_Reference, and call it in
9146 each of the three cases where Make_Selected_Component was
9147 previously being called to construct a discriminant reference (2
9148 in Build_Actual_Array_Constraint and 1 in
9149 Build_Actual_Record_Constraint). Instead of unconditionally
9150 using the passed-in object name as the prefix for the new
9151 selected component node, this new function checks to see if
9152 perhaps a prefix of that name should be used instead.
9154 2022-01-06 Etienne Servais <servais@adacore.com>
9156 * atree.adb: Fix typo.
9157 * einfo.ads: Likewise.
9158 * exp_aggr.adb: Likewise.
9159 * exp_ch6.adb: Likewise.
9160 * exp_ch7.adb: Likewise.
9161 * exp_ch9.adb: Likewise.
9162 * exp_prag.adb: Likewise.
9163 * exp_unst.adb: Likewise.
9164 * exp_unst.ads: Likewise.
9165 * exp_util.adb: Likewise.
9166 * par-endh.adb: Likewise.
9167 * par.adb: Likewise.
9168 * restrict.adb: Likewise.
9169 * sem.ads: Likewise.
9170 * sem_ch4.adb: Likewise.
9171 * sem_ch5.adb: Likewise.
9172 * sem_ch6.adb: Likewise.
9173 * sem_ch8.adb: Likewise.
9174 * sem_ch12.adb: Likewise.
9175 * sem_ch13.adb: Likewise.
9176 * sem_dim.adb: Likewise.
9177 * sem_elab.adb: Likewise.
9178 * sem_prag.adb: Likewise.
9179 * sem_res.adb: Likewise.
9180 * sem_util.adb: Likewise.
9181 * sem_util.ads: Likewise.
9182 * sinfo.ads: Likewise.
9183 * sprint.adb: Likewise.
9184 * urealp.adb: Likewise.
9186 2022-01-06 Justin Squirek <squirek@adacore.com>
9188 * exp_ch3.adb (Build_Assignment): Replace current instance of
9189 type with Init_Proc formal.
9190 * sem_attr.adb (OK_Self_Reference): Handle recognition of
9191 Current_Instance to detect certain expansion.
9192 * sem_ch4.adb (Analyze_One_Call): Set actual's type when the
9193 actual in question is a current instance and its corresponding
9194 formal is an incomplete type.
9195 * sem_util.adb (Is_Current_Instance): Add check for incomplete
9196 views and add comment.
9198 2022-01-06 Bob Duff <duff@adacore.com>
9200 * libgnat/s-rident.ads (No_Tagged_Type_Registration): New
9201 restriction identifier.
9202 * restrict.ads (Implementation_Restriction): Add restriction.
9203 * exp_ch7.adb (Process_Declarations): Suppress
9204 tagged-type-related finalization actions if the restriction is
9205 active. Call RTE_Available last.
9206 * exp_disp.adb (Make_DT): Likewise.
9207 * exp_util.adb (Requires_Cleanup_Actions): Return False for a
9208 tagged type declaration if No_Tagged_Type_Registration is
9210 * sem_attr.adb (Check_Stream_Attribute): Check restriction
9211 No_Tagged_Type_Registration.
9212 * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
9213 avoid stopping at a warning in gdb.
9214 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
9215 Document new restriction.
9216 * gnat_rm.texi: Regenerate.
9218 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9220 * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
9221 * prep.adb (Parse_Def_File): Likewise; remove Empty_String.
9223 2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
9225 * stand.ads (Any_Access): Delete.
9226 (Universal_Access): New entity.
9227 * einfo.ads: Remove obsolete reference to Any_Access.
9228 * gen_il-gen-gen_entities.adb: Likewise.
9229 * cstand.adb (Create_Standard): Do not create Any_Access and create
9230 Universal_Access as a full type instead.
9231 * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
9232 Any_Access and deal with Universal_Access instead.
9233 * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
9235 * sem_ch4.adb (Analyze_Null): Likewise.
9236 (Find_Non_Universal_Interpretations): Likewise.
9237 (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
9238 by renaming a local variable of the same name.
9239 * sem_res.adb (Make_Call_Into_Operato): Likewise.
9240 (Resolve_Equality_Op): Likewise.
9241 * sem_type.adb (Covers): Likewise.
9242 (Specific_Type): Likewise.
9244 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9246 * treepr.adb (Destroy): Prevent spurious check from CodePeer.
9248 2022-01-06 Yannick Moy <moy@adacore.com>
9250 * libgnat/s-exponu.adb (Exponu): Add annotation.
9252 2022-01-06 Justin Squirek <squirek@adacore.com>
9254 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
9255 regarding special handling of components which depend on
9257 * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
9258 for calls to Has_Stream_Attribute_Definition.
9259 (Build_To_Any_Function): Likewise.
9260 (Build_TypeCode_Function): Likewise.
9261 * freeze.adb (Freeze_Entity): Add missing comment for Test_E.
9262 * libgnat/s-utf_32.adb: Remove disabled warning comments and
9263 temporarily inserted pragma warnings. Remove very old (2006 and
9264 2012) comments about bootstrapping older versions.
9265 * par.adb (P_Identifier): Add new parameter Force_Msg.
9266 * par-ch2.adb (P_Identifier): Restructure and clean up function.
9267 * par-ch3.adb (P_Defining_Identifier): Remove code duplication
9268 for parsing identifiers.
9269 * sem_attr.adb (Stream_Attribute_Available): Add missing
9270 comments and add Real_Rep actual for calls to
9271 Has_Stream_Attribute_Definition.
9272 * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
9273 for calls to Has_Stream_Attribute_Definition.
9274 (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
9275 recursive calls. Add default value for Real_Rep.
9276 * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
9277 parameter "Real_Rep".
9278 * sem_type.adb (Add_Entry): Add condition to avoid passing
9279 non-function calls to Function_Interp_Has_Abstract_Op.
9280 (Function_Interp_Has_Abstract_Op): Add missing comments and
9281 remove check for Is_Overloadable.
9282 * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
9285 2022-01-06 Javier Miranda <miranda@adacore.com>
9287 * contracts.adb (Restore_Original_Selected_Component): New
9288 subprogram that traverses a preanalyzed expression searching for
9289 dispatching calls to functions whose original node was a
9290 selected component, and replacing them with their original node.
9291 This functionality is required because the preanalyis of
9292 dispatching calls using the Object.Operation notation transforms
9293 such calls, and we need the original condition to properly
9294 inherit and extend the condition expression on tagged type
9295 derivations. This functionality was previously provided by the
9296 routine Install_Original_Selected_Component (as part of
9297 inheriting conditions); now it is performed as part of the
9298 preanalysis of the condition, thus avoiding repeatedly
9299 installing and restoring such nodes.
9300 (Install_Original_Selected_Component): Removed.
9301 (Restore_Dispatching_Calls): Removed.
9303 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9305 * treepr.adb (Visit_Node): Simplify repeated call to
9308 2022-01-06 Piotr Trojanek <trojanek@adacore.com>
9310 * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
9312 * treepr.adb (Serial_Numbers): Hash table instance.
9313 (Hash): Hashing routine.
9314 (Print_Field): Fix style.
9315 (Print_Init): Adapt to simple hash table.
9316 (Print_Term): Likewise.
9317 (Serial_Numbers): Likewise.
9318 (Set_Serial_Number): Likewise.
9320 2022-01-06 Yannick Moy <moy@adacore.com>
9322 * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
9323 * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.
9325 2022-01-06 Yannick Moy <moy@adacore.com>
9327 * libgnat/s-explllu.ads: Mark in SPARK.
9328 * libgnat/s-expllu.ads: Mark in SPARK.
9329 * libgnat/s-exponu.adb: Add loop invariants and needed
9331 * libgnat/s-exponu.ads: Add functional contract.
9332 * libgnat/s-expuns.ads: Mark in SPARK.
9334 2022-01-05 Steve Baird <baird@adacore.com>
9336 * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug
9337 that was introduced in the previous commit. The previous
9338 version initialized a Boolean constant Declare_Copy before the
9339 variable Decl had been initialized properly.
9341 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9343 * sem_prag.adb (Adjust_External_Name_Case): Use membership test.
9345 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9347 * exp_ch3.adb (Make_Controlling_Function_Wrappers): For
9348 GNATprove build the wrapper as an expression function.
9350 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9352 * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move
9353 declaration from body to spec, so it can be called by
9354 SPARK-specific expansion.
9355 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise.
9356 * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of
9357 wrappers for function with controlling result types.
9359 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9361 * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with
9362 Add_Char_To_Name_Buffer.
9364 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9366 * gnatls.adb (Gnatls): Use Name_Find function.
9367 * targparm.adb (Get_Target_Parameters): Likewise.
9369 2022-01-05 Bob Duff <duff@adacore.com>
9371 * repinfo.adb (List_Entities): The code was assuming that if we
9372 encounter a package in the current scope, then it must be
9373 a (physically) nested package. That was wrong, because it could
9374 be a child package. Avoid recursing into child packages; they
9375 have not been annotated with representation information, and
9376 -gnatR2 queries that information.
9378 2022-01-05 Marc Poulhiès <poulhies@adacore.com>
9380 * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove.
9381 * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove.
9382 * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove.
9383 * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove.
9384 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed
9386 * gcc-interface/Make-lang.in (ada/sdefault.o): Remove
9387 dependencies on removed units.
9388 (GNATBIND_OBJS): Remove occurences of removed units.
9390 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9392 * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace.
9393 * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.
9395 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9397 * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in
9398 spec of the generated array validation function; it was
9399 redundant, just like it would be in a user-written code.
9401 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9403 * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace.
9404 * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise.
9407 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9409 * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace.
9410 * libgnat/a-cofuve.ads (Add): Likewise.
9411 * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.
9413 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9415 * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body,
9416 Make_Predefined_Primitive_Eq_Spec,
9417 Make_Predefined_Primitive_Specs): Fix whitespace.
9419 2022-01-05 Etienne Servais <servais@adacore.com>
9421 * sem_ch3.adb (Analyze_Component_Declaration): Rework condition
9423 (Analyze_Object_Declaration): Likewise.
9424 (Should_Build_Subtype): New.
9426 2022-01-05 Yannick Moy <moy@adacore.com>
9428 * libgnat/s-arit128.adb: Mark in SPARK.
9429 * libgnat/s-arit128.ads: Add functional contracts.
9431 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9433 * sem_util.adb (String_From_Numeric_Literal): Simplify using
9434 membership tests and ranges; fix whitespace.
9436 2022-01-05 Yannick Moy <moy@adacore.com>
9438 * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to
9440 * libgnat/s-explli.ads: Likewise.
9441 * libgnat/s-expllli.ads: Likewise.
9442 * libgnat/s-expont.adb: Add lemmas and ghost code.
9443 * libgnat/s-expont.ads: Add functional contract.
9445 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9447 * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard.
9449 2022-01-05 Claire Dross <dross@adacore.com>
9451 * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost
9452 function to determine if a string is recognized as something
9453 which might be an exponent.
9454 (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a
9455 string has the correct format for an optional exponent.
9456 (Scan_Exponent): Use ghost functions to factorize contracts.
9458 2022-01-05 Bob Duff <duff@adacore.com>
9460 * exp_util.ads (Get_Current_Value_Condition): Belt: Add a
9461 postcondition that Val /= Var.
9462 * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if
9463 Get_Current_Value_Condition returned the same value. This will
9464 be enabled even without assertions, because infinite recursion
9465 is a nuisance -- better to crash if this bug ever occurs.
9467 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9469 * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing
9470 Copy_Subprogram_Spec.
9471 * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter.
9472 * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to
9475 2022-01-05 Yannick Moy <moy@adacore.com>
9477 * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to
9479 * libgnat/s-exnlli.ads: Likewise.
9480 * libgnat/s-exnllli.ads: Likewise.
9481 * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case
9482 value zero as Left or Right to simplify proof.
9483 * libgnat/s-exponn.ads: Transform the generic function into a
9484 generic package with a function inside. Add a functional
9487 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9489 * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant
9490 call to Set_Defining_Unit_Name; a similar call is done few lines
9493 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9495 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create
9496 distinct copies of parameter lists for spec and body with
9497 Copy_Parameter_List; cleanup.
9498 (Make_Null_Procedure_Specs): Fix style in comments; remove a
9499 potentially unnecessary initialization of a local variable.
9501 2022-01-05 Bob Duff <duff@adacore.com>
9503 * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias):
9504 Change Node_Id to Entity_Id.
9506 2022-01-05 Piotr Trojanek <trojanek@adacore.com>
9508 * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper):
9509 Remove unreferenced spec.
9510 * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper):
9513 2022-01-05 Yannick Moy <moy@adacore.com>
9515 * libgnat/s-aridou.adb: Apply replacement.
9517 2022-01-05 Yannick Moy <moy@adacore.com>
9519 * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for
9520 instances with other values of Single_Size.
9522 2022-01-05 Marc Poulhiès <poulhies@adacore.com>
9524 * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit)
9525 (Compiler_Unit_Warning): Remove.
9526 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
9527 * libgnat/g-dynhta.ads: Add comment indicating this unit is
9528 built during stage1.
9529 * libgnat/g-dyntab.ads: Likewise.
9530 * libgnat/g-graphs.ads: Likewise.
9531 * libgnat/g-lists.ads: Likewise.
9532 * libgnat/g-sets.ads: Likewise.
9533 * libgnat/gnat.ads: Likewise.
9534 * libgnat/s-pehage.ads: Likewise.
9535 * libgnat/s-resfil.ads: Likewise.
9536 * libgnat/s-rident.ads: Likewise.
9537 * libgnat/s-utf_32.ads: Likewise.
9538 * errout.ads: Update comment.
9539 * opt.ads (Opt): Remove Compiler_Unit.
9540 * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit.
9541 * sem_prag.adb (Analyze_Pragma): Likewise.
9542 * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression)
9543 (Analyze_Set_Membership, Record_Interp): Likewise.
9544 * sem_ch11.adb (Analyze_Raise_Expression): Likewise.
9545 * sem_ch6.adb: Remove Restric package reference.
9546 (Analyze_Extended_Return_Statement): Remove call to
9547 Check_Compiler_Unit.
9548 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
9549 Remove handling of Pragma_Compiler_Unit[_Warning}.
9550 * restrict.adb (Check_Compiler_Unit): Remove both.
9551 * restrict.ads: Likewise.
9552 * snames.ads-tmpl (Pragma_Id): Remove
9553 Pragma_Compiler_Unit[_Warning].
9554 * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning.
9555 * libgnat/a-chlat1.ads: Likewise.
9556 * libgnat/a-elchha.adb: Likewise.
9557 * libgnat/a-elchha.ads: Likewise.
9558 * libgnat/a-ioexce.ads: Likewise.
9559 * libgnat/a-strhas.ads: Likewise.
9560 * libgnat/g-byorma.adb: Likewise.
9561 * libgnat/g-byorma.ads: Likewise.
9562 * libgnat/g-dyntab.adb: Likewise.
9563 * libgnat/g-heasor.ads: Likewise.
9564 * libgnat/g-hesora.adb: Likewise.
9565 * libgnat/g-hesora.ads: Likewise.
9566 * libgnat/g-htable.adb: Likewise.
9567 * libgnat/g-htable.ads: Likewise.
9568 * libgnat/g-spchge.adb: Likewise.
9569 * libgnat/g-spchge.ads: Likewise.
9570 * libgnat/g-speche.adb: Likewise.
9571 * libgnat/g-speche.ads: Likewise.
9572 * libgnat/g-table.ads: Likewise.
9573 * libgnat/g-u3spch.adb: Likewise.
9574 * libgnat/g-u3spch.ads: Likewise.
9575 * libgnat/interfac.ads: Likewise.
9576 * libgnat/s-addope.adb: Likewise.
9577 * libgnat/s-addope.ads: Likewise.
9578 * libgnat/s-assert.adb: Likewise.
9579 * libgnat/s-assert.ads: Likewise.
9580 * libgnat/s-bitops.adb: Likewise.
9581 * libgnat/s-bitops.ads: Likewise.
9582 * libgnat/s-carun8.adb: Likewise.
9583 * libgnat/s-carun8.ads: Likewise.
9584 * libgnat/s-casuti.adb: Likewise.
9585 * libgnat/s-casuti.ads: Likewise.
9586 * libgnat/s-conca2.adb: Likewise.
9587 * libgnat/s-conca2.ads: Likewise.
9588 * libgnat/s-conca3.adb: Likewise.
9589 * libgnat/s-conca3.ads: Likewise.
9590 * libgnat/s-conca4.adb: Likewise.
9591 * libgnat/s-conca4.ads: Likewise.
9592 * libgnat/s-conca5.adb: Likewise.
9593 * libgnat/s-conca5.ads: Likewise.
9594 * libgnat/s-conca6.adb: Likewise.
9595 * libgnat/s-conca6.ads: Likewise.
9596 * libgnat/s-conca7.adb: Likewise.
9597 * libgnat/s-conca7.ads: Likewise.
9598 * libgnat/s-conca8.adb: Likewise.
9599 * libgnat/s-conca8.ads: Likewise.
9600 * libgnat/s-conca9.adb: Likewise.
9601 * libgnat/s-conca9.ads: Likewise.
9602 * libgnat/s-crc32.adb: Likewise.
9603 * libgnat/s-crc32.ads: Likewise.
9604 * libgnat/s-crtl.ads: Likewise.
9605 * libgnat/s-excdeb.adb: Likewise.
9606 * libgnat/s-excdeb.ads: Likewise.
9607 * libgnat/s-except.ads: Likewise.
9608 * libgnat/s-exctab.adb: Likewise.
9609 * libgnat/s-exctab.ads: Likewise.
9610 * libgnat/s-finmas.ads: Likewise.
9611 * libgnat/s-htable.adb: Likewise.
9612 * libgnat/s-htable.ads: Likewise.
9613 * libgnat/s-mastop.adb: Likewise.
9614 * libgnat/s-mastop.ads: Likewise.
9615 * libgnat/s-memory.adb: Likewise.
9616 * libgnat/s-memory.ads: Likewise.
9617 * libgnat/s-os_lib.ads: Likewise.
9618 * libgnat/s-parame.adb: Likewise.
9619 * libgnat/s-parame.ads: Likewise.
9620 * libgnat/s-parame__posix2008.ads: Likewise.
9621 * libgnat/s-purexc.ads: Likewise.
9622 * libgnat/s-resfil.adb: Likewise.
9623 * libgnat/s-restri.adb: Likewise.
9624 * libgnat/s-restri.ads: Likewise.
9625 * libgnat/s-secsta.adb: Likewise.
9626 * libgnat/s-secsta.ads: Likewise.
9627 * libgnat/s-soflin.adb: Likewise.
9628 * libgnat/s-soflin.ads: Likewise.
9629 * libgnat/s-sopco3.adb: Likewise.
9630 * libgnat/s-sopco3.ads: Likewise.
9631 * libgnat/s-sopco4.adb: Likewise.
9632 * libgnat/s-sopco4.ads: Likewise.
9633 * libgnat/s-sopco5.adb: Likewise.
9634 * libgnat/s-sopco5.ads: Likewise.
9635 * libgnat/s-spsufi.ads: Likewise.
9636 * libgnat/s-stache.adb: Likewise.
9637 * libgnat/s-stache.ads: Likewise.
9638 * libgnat/s-stalib.adb: Likewise.
9639 * libgnat/s-stalib.ads: Likewise.
9640 * libgnat/s-stoele.adb: Likewise.
9641 * libgnat/s-stoele.ads: Likewise.
9642 * libgnat/s-strcom.adb: Likewise.
9643 * libgnat/s-strcom.ads: Likewise.
9644 * libgnat/s-strhas.adb: Likewise.
9645 * libgnat/s-string.adb: Likewise.
9646 * libgnat/s-string.ads: Likewise.
9647 * libgnat/s-strops.adb: Likewise.
9648 * libgnat/s-strops.ads: Likewise.
9649 * libgnat/s-ststop.adb: Likewise.
9650 * libgnat/s-ststop.ads: Likewise.
9651 * libgnat/s-traceb.adb: Likewise.
9652 * libgnat/s-traceb.ads: Likewise.
9653 * libgnat/s-traent.adb: Likewise.
9654 * libgnat/s-traent.ads: Likewise.
9655 * libgnat/s-utf_32.adb: Likewise.
9656 * libgnat/s-unstyp.ads: Likewise.
9657 * libgnat/s-wchcnv.adb: Likewise.
9658 * libgnat/s-wchcnv.ads: Likewise.
9659 * libgnat/s-wchcon.adb: Likewise.
9660 * libgnat/s-wchcon.ads: Likewise.
9661 * libgnat/s-wchjis.adb: Likewise.
9662 * libgnat/s-wchjis.ads: Likewise.
9664 2022-01-05 Arnaud Charlet <charlet@adacore.com>
9666 * osint.adb (File_Names_Equal): Declare To_Lower locally.
9667 * osint.ads (Null_FD): New.
9668 * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
9669 * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
9670 simplify the bootstrap dependencies.
9672 2022-01-03 Jakub Jelinek <jakub@redhat.com>
9674 * gnat_ugn.texi: Bump @copying's copyright year.
9675 * gnat_rm.texi: Likewise.
9678 Copyright (C) 2022 Free Software Foundation, Inc.
9680 Copying and distribution of this file, with or without modification,
9681 are permitted in any medium without royalty provided the copyright
9682 notice and this notice are preserved.