]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
ab332cd7
GA
12022-10-11 Eric Botcazou <ebotcazou@adacore.com>
2
3 * libgnat/system-linux-sparc.ads (Support_Atomic_Primitives): New
4 constant set to True.
5
629d04d3
GA
62022-10-06 Eric Botcazou <ebotcazou@adacore.com>
7
8 * gcc-interface/ada-tree.def (LOAD_EXPR): New expression code.
9 * gcc-interface/gigi.h (build_storage_model_load): Declare.
10 (build_storage_model_store): Likewise.
11 (instantiate_load_in_expr): Likewise.
12 (INSTANTIATE_LOAD_IN_EXPR): New macro.
13 (instantiate_load_in_array_ref): Declare.
14 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Type>: Set a
15 fake discriminant number on the fields of the template type.
16 (gnat_to_gnu_field): Use integer for DECL_DISCRIMINANT_NUMBER.
17 * gcc-interface/misc.cc (gnat_init_ts): Mark LOAD_EXPR as typed.
18 * gcc-interface/trans.cc (fold_constant_decl_in_expr) <ARRAY_REF>:
19 Also preserve the 4th operand.
20 (Attribute_to_gnu): Deal with LOAD_EXPR of unconstrained array type.
21 <Attr_Size>: Call INSTANTIATE_LOAD_IN_EXPR for a storage model.
22 <Attr_Length>: Likewise.
23 <Attr_Bit_Position>: Likewise.
24 (get_storage_model): New function.
25 (get_storage_model_access): Likewise.
26 (storage_model_access_required_p): Likewise.
27 (Call_to_gnu): Add GNAT_STORAGE_MODEL parameter and deal with it.
28 Also deal with actual parameters that have a storage model.
29 (gnat_to_gnu) <N_Object_Declaratio>: Adjust call to Call_to_gnu.
30 <N_Explicit_Dereference>: Deal with a storage model access.
31 <N_Indexed_Component>: Likewise.
32 <N_Slice>: Likewise.
33 <N_Selected_Component>: Likewise.
34 <N_Assignment_Statement>: Adjust call to Call_to_gnu. Deal with a
35 storage model access either on the LHS, on the RHS or on both.
36 <N_Function_Cal>: Adjust call to Call_to_gnu.
37 <N_Free_Statement>: Deal with a pool that is a storage model.
38 Replace test for UNCONSTRAINED_ARRAY_REF with test on the type.
39 (gnat_gimplify_expr) <CALL_EXPR>: Tidy up.
40 <LOAD_EXPR>: New case.
41 <UNCONSTRAINED_ARRAY_REF>: Move down.
42 * gcc-interface/utils.cc (maybe_unconstrained_array): Deal with a
43 LOAD_EXPR by recursing on its first operand.
44 * gcc-interface/utils2.cc (build_allocator): Deal with a pool that
45 is a storage model.
46 (build_storage_model_copy): New function.
47 (build_storage_model_load): Likewise.
48 (build_storage_model_store): Likewise.
49 (instantiate_load_in_expr): Likewise.
50 (instantiate_load_in_array_ref): Likewise.
51 (gnat_rewrite_reference) <ARRAY_REF>: Also preserve the 4th operand.
52 (get_inner_constant_reference) <ARRAY_REF>: Remove useless test.
53 (gnat_invariant_expr) <ARRAY_REF>: Rewrite test.
54
552022-10-06 Steve Baird <baird@adacore.com>
56
57 * sem_ch6.adb
58 (Analyze_Procedure_Call): Replace "return;" with "goto Leave;", as
59 per comment preceding body of Analyze_Procedure_Call.
60
612022-10-06 Piotr Trojanek <trojanek@adacore.com>
62
63 * sem_ch9.adb (Allows_Lock_Free_Implementation): Reject
64 conditional goto statements.
65
662022-10-06 Piotr Trojanek <trojanek@adacore.com>
67
68 * doc/gnat_rm/implementation_defined_pragmas.rst
69 (Lock_Free): Remove inconsistent periods that end item
70 descriptions.
71 * sem_ch9.adb
72 (Allows_Lock_Free_Implementation): Remove unnecessary guard
73 against an empty list of parameters; replace low-level entity kind
74 membership test with a high-level query; refill error message.
75 * gnat_rm.texi: Regenerate.
76
772022-10-06 Alexandre Oliva <oliva@adacore.com>
78
79 * doc/gnat_rm/security_hardening_features.rst: Add examples of
80 codegen changes in hardened conditionals.
81 * gnat_rm.texi: Regenerate.
82
832022-10-06 Alexandre Oliva <oliva@adacore.com>
84
85 * doc/gnat_rm/security_hardening_features.rst: Add examples of
86 codegen changes in hardened booleans. Mention that C traps where
87 Ada raises exceptions.
88 * gnat_rm.texi: Regenerate.
89
902022-10-06 Alexandre Oliva <oliva@adacore.com>
91
92 * doc/gnat_rm/security_hardening_features.rst: Add examples of
93 codegen changes in stack scrubbing.
94 * gnat_rm.texi: Regenerate.
95
962022-10-06 Piotr Trojanek <trojanek@adacore.com>
97
98 * exp_ch9.adb (Build_Lock_Free_Protected_Subprogram_Body): Replace
99 shallow copy of protected statements with a deep copy.
100
1012022-10-06 Marc Poulhiès <poulhies@adacore.com>
102
103 * fe.h (Has_Storage_Model_Type_Aspect)
104 (Has_Designated_Storage_Model_Aspect, Storage_Model_Object)
105 (Storage_Model_Copy_From, Storage_Model_Copy_To): Add
106 declarations.
107 * sem_util.ads: Add WARNING markers for functions for which a new
108 C declaration has been added in fe.h
109
1102022-10-06 Steve Baird <baird@adacore.com>
111
112 * exp_util.adb
113 (Get_Current_Value_Condition): Treat references occurring within
114 the condition of an if statement, an elsif, or a while loop in the
115 same way as references that occur before the start of that
116 enclosing construct.
117
1182022-10-06 Gary Dismukes <dismukes@adacore.com>
119
120 * sem_ch4.adb (Analyze_Call): Add test of Comes_From_Source on the
121 enclosing subprogram's Entity_Id for determining whether to
122 perform the compile-time accessibility check on actuals passed to
123 aliased formals in a function call occurring within a return
124 statement. That test excludes cases where the call occurs within
125 the return statement of a Pre'Class wrapper function.
126
1272022-10-06 Bob Duff <duff@adacore.com>
128
129 * exp_ch5.adb
130 (Expand_Assign_Array_Loop_Or_Bitfield): Minor cleanups.
131
1322022-10-06 Yannick Moy <moy@adacore.com>
133
134 * sem_prag.adb (Analyze_Pragma): Ignore one variant of pragma
135 Warnings in GNATprove mode.
136
1372022-10-06 Bob Duff <duff@adacore.com>
138
139 * exp_ch5.adb
140 (Expand_Assign_Array_Loop_Or_Bitfield): Disable the
141 Fast_Copy_Bitfield optimization in certain cases.
142
1432022-10-06 Piotr Trojanek <trojanek@adacore.com>
144
145 * sem_prag.adb
146 (Sig_Pragma): Change flag for pragma Refined_State to mean "not
147 significant"; this is primarily for documentation, because the
148 exact value of the flag is not really taken into account for
149 Refined_State.
150 (Is_Non_Significant_Pragma_Reference): Add special handling for
151 pragma Refined_State.
152
bbdcdf5c
GA
1532022-09-29 Ronan Desplanques <desplanques@adacore.com>
154
155 * einfo.ads: remove documentation duplicate
156
1572022-09-29 Eric Botcazou <ebotcazou@adacore.com>
158
159 * contracts.adb (Build_Subprogram_Contract_Wrapper): Put back the
160 extended return statement if the result type is built-in-place.
161 * sem_attr.adb (Analyze_Attribute_Old_Result): Also expect an
162 extended return statement.
163
1642022-09-29 Bob Duff <duff@adacore.com>
165
166 * exp_ch5.adb
167 (Expand_Assign_Array_Loop_Or_Bitfield): Make the checks for
168 volatile and independent objects more precise.
169
1702022-09-29 Piotr Trojanek <trojanek@adacore.com>
171
172 * sem_util.adb (Collect_Visible_States): Ignore package renamings.
173
220c4d8e
GA
1742022-09-26 Ghjuvan Lacambre <lacambre@adacore.com>
175
176 * doc/gnat_rm/implementation_defined_attributes.rst: Rename Valid_Image.
177 * gnat_rm.texi: Regenerate.
178 * gnat_ugn.texi: Regenerate.
179
1802022-09-26 Piotr Trojanek <trojanek@adacore.com>
181
182 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Relocate
183 auxiliary declarations from the original compilation unit to the
184 newly created compilation unit for the spec.
185
1862022-09-26 Piotr Trojanek <trojanek@adacore.com>
187
188 * rtsfind.ads
189 (RTU_Id): Remove unreferenced packages; fix whitespace.
190 (RE_Id): Remove unreferenced entities; add comment about entity
191 that is only used by GNATprove and not by GNAT.
192
1932022-09-26 Piotr Trojanek <trojanek@adacore.com>
194
195 * s-oscons-tmplt.c (STR, STR1): Remove.
196
1972022-09-26 Eric Botcazou <ebotcazou@adacore.com>
198
199 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
200 (-gnateT): Document new parameter Long_Long_Long_Size.
201 * gnat_ugn.texi: Regenerate.
202
2032022-09-26 Steve Baird <baird@adacore.com>
204
205 * bindgen.adb: When the binder is invoked for the device, specify
206 the CUDA_Global aspect for the adainit and adafinal procedures via
207 a pragma instead of via an aspect_specification.
208
2092022-09-26 Kévin Le Gouguec <legouguec@adacore.com>
210
211 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
212 (Linker Switches): Document support for mold along with gold; add some
213 advice regarding OpenSSL in the Pro version.
214 * gnat_ugn.texi: Regenerate.
215
2162022-09-26 Tucker Taft <taft@adacore.com>
217
218 * sem_util.adb (Original_Aspect_Pragma_Name): Check for Check
219 pragmas.
220
2212022-09-26 Piotr Trojanek <trojanek@adacore.com>
222
223 * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion
224 based on Full_Analysis flag.
225
2262022-09-26 Piotr Trojanek <trojanek@adacore.com>
227
228 * sem_ch5.adb (Analyze_Iterator_Specification): Delay expansion of
229 for iterated component association just like it is done within
230 quantified expression.
231
2322022-09-26 Piotr Trojanek <trojanek@adacore.com>
233
234 * contracts.adb (Analyze_Object_Contract): Check SPARK_Mode before
235 applying SPARK rule.
236
2372022-09-26 Justin Squirek <squirek@adacore.com>
238
239 * sem_util.adb
240 (Accessibility_Level): Modify indexed and selected components case
241 by reducing the scope where Original_Node gets used.
242
2432022-09-26 Boris Yakobowski <yakobowski@adacore.com>
244
245 * doc/gnat_ugn/gnat_utility_programs.rst: Remove documentation for
246 gnatmetric.
247
2482022-09-26 Piotr Trojanek <trojanek@adacore.com>
249
250 * gsocket.h: Remove redefinition of _WIN32_WINNT.
251 * mingw32.h: Remove conditional definition of _WIN32_WINNT.
252
2532022-09-26 Piotr Trojanek <trojanek@adacore.com>
254
255 * mingw32.h: Remove condition definition of MAXPATHLEN; the include
256 directive for stdlib.h was most likely intended to provide the
257 MAX_PATH.
258
2592022-09-26 Piotr Trojanek <trojanek@adacore.com>
260
261 * adaint.c: Remove conditional #include directives for old MinGW.
262 * cal.c: Always include winsock.h, since it is part of modern
263 MinGW.
264 * cstreams.c: Remove workaround for old MinGW.
265 * expect.c: Remove conditional #include directive for old MinGW.
266 * mingw32.h: Remove STD_MINGW and OLD_MINGW declarations.
267 * sysdep.c: Remove conditional #include directive for old MinGW.
268
2692022-09-26 Piotr Trojanek <trojanek@adacore.com>
270
271 * sem_warn.ads (Has_Junk_Name): Reword comment.
272
5e4f5c25
GA
2732022-09-20 Martin Liska <mliska@suse.cz>
274
275 * exp_ch6.adb: Replace "the the" with "the".
276 * sem_ch6.adb: Likewise.
277 * sem_disp.ads: Likewise.
278
d0fc05e8
GA
2792022-09-15 Richard Biener <rguenther@suse.de>
280
281 * gcc-interface/trans.cc (gigi): Do not initialize void_list_node.
282
b5f09bd7
GA
2832022-09-12 Eric Botcazou <ebotcazou@adacore.com>
284
285 * gcc-interface/decl.cc (gnat_to_gnu_entity): Relax assertion when
286 front-end unnesting is enabled.
287
2882022-09-12 Justin Squirek <squirek@adacore.com>
289
290 * sem_util.adb
291 (Innermost_Master_Scope_Depth): Detect and handle case where scope
292 depth is not set on an enclosing scope.
293
2942022-09-12 Steve Baird <baird@adacore.com>
295
296 * bindgen.adb: When the binder is invoked for the host, generate a
297 "with CUDA.Internal;" with clause.
298
2992022-09-12 Piotr Trojanek <trojanek@adacore.com>
300
301 * doc/gnat_rm/implementation_defined_pragmas.rst
302 (Pragma Unreferenced): Sync description with
303 Sem_Warn.Has_Junk_Name routine.
304 * gnat_rm.texi: Regenerate.
305 * gnat_ugn.texi: Regenerate.
306
3072022-09-12 Piotr Trojanek <trojanek@adacore.com>
308
309 * sem_attr.adb (Analyze_Attribute [Valid_Scalars]): Move check for
310 unchecked union before checks for private and public types.
311
3122022-09-12 Steve Baird <baird@adacore.com>
313
314 * bindgen.adb: When the binder is invoked for the host, it
315 declares imported subprograms corresponding to the Adainit and
316 Adafinal routines on the device. Declare string constants and
317 expression functions for the Ada source names and the link names
318 of these routines. Generate these subprogram declarations (and
319 accompanying Import pragmas) in Gen_CUDA_Defs. Generate
320 CUDA_Execute pragmas to call these subprograms from the host in
321 Gen_Adafinal and Gen_CUDA_Init. When the binder is invoked for the
322 device, include a CUDA_Global aspect declaration in the
323 declarations of Adainit and Adafinal and use the aforementioned
324 link names in the Export pragmas generated for those two routines.
325 * debug.adb: Update comments about "d_c" and "d_d" switches.
326 * opt.ads: Declare new Boolean variable,
327 Enable_CUDA_Device_Expansion. This complements the existing
328 Enable_CUDA_Expansion variable, which is used to enable host-side
329 CUDA expansion. The new variable enables device-side CUDA
330 expansion. It is currently never set during compilation; it is
331 only set via a binder switch.
332 * switch-b.adb
333 (scan_debug_switches): Add new use of the "-d_d" binder switch.
334 The new switch and the variable Opt.Enabled_CUDA_Device_Expansion
335 follow the existing pattern of the "-d_c" switch and the variable
336 Opt.Enabled_CUDA_Expansion. Flag error if both "-d_c" and "-d_d"
337 are specified.
338
3392022-09-12 Eric Botcazou <ebotcazou@adacore.com>
340
6c373756 341 * contracts.adb (Build_Subprogram_Contract_Wrapper): Remove useless
b5f09bd7
GA
342 local variable. In the case of a function, replace the extended
343 return statement by a block statement declaring a renaming of the
344 call to the local subprogram after removing side effects manually.
345 (Expand_Subprogram_Contract): Adjust description accordingly.
346 * exp_ch6.adb (Expand_Ctrl_Function_Call): Rewrite obsolete
347 comment and do not apply the transformation twice.
348 * sem_attr.adb (Analyze_Attribute_Old_Result): Now expect a block
349 statement instead of an extended return statement.
350
3512022-09-12 Piotr Trojanek <trojanek@adacore.com>
352
353 * erroutc.adb (Set_Msg_Insertion_Name): Special-case printing with
354 acronyms.
355
3562022-09-12 Yannick Moy <moy@adacore.com>
357
358 * libgnat/s-imagei.adb (Image_Integer): Add justification.
359
3602022-09-12 Piotr Trojanek <trojanek@adacore.com>
361
362 * sem_prag.adb (Get_SPARK_Mode_Type): Fix header box; replace
363 chained IF with a CASE statement.
364
3652022-09-12 Yannick Moy <moy@adacore.com>
366
367 * sem_prag.adb (Analyze_Pragma): Accept SPARK_Mode=>Auto as
368 configuration pragma.
369 (Get_SPARK_Mode): Make the value for Auto explicit.
370 * snames.ads-tmpl (Name_Auto): Add name.
371
3722022-09-12 Joffrey Huguet <huguet@adacore.com>
373
374 * doc/gnat_rm/the_gnat_library.rst: Remove paragraphs about SPARK
375 containers.
376 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
377
3782022-09-12 Yannick Moy <moy@adacore.com>
379
380 * libgnat/s-maccod.ads: Mark package as SPARK_Mode Off.
381
3822022-09-12 Eric Botcazou <ebotcazou@adacore.com>
383
384 * fe.h (Unnest_Subprogram_Mode): Declare.
385
3862022-09-12 Steve Baird <baird@adacore.com>
387
388 * contracts.adb
389 (Analyze_Package_Contract): Do not analyze the contract of a
390 temporary package created just to check conformance of an actual
391 package.
392
3932022-09-12 Joffrey Huguet <huguet@adacore.com>
394
395 * Makefile.rtl: Remove SPARK containers filenames.
396 * impunit.adb: Remove SPARK containers packages names.
397 * libgnat/a-cfdlli.adb, libgnat/a-cfdlli.ads: Remove content and
398 add pragma Compile_Time_Error with suitable message.
399 * libgnat/a-cfhama.adb, libgnat/a-cfhama.ads: Likewise.
400 * libgnat/a-cfhase.adb, libgnat/a-cfhase.ads: Likewise.
401 * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Likewise.
402 * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Likewise.
403 * libgnat/a-cfinve.adb, libgnat/a-cfinve.ads: Likewise.
404 * libgnat/a-cforma.adb, libgnat/a-cforma.ads: Likewise.
405 * libgnat/a-cforse.adb, libgnat/a-cforse.ads: Likewise.
406 * libgnat/a-cofove.adb, libgnat/a-cofove.ads: Likewise.
407 * libgnat/a-cofuma.adb, libgnat/a-cofuma.ads: Likewise.
408 * libgnat/a-cofuse.adb, libgnat/a-cofuse.ads: Likewise.
409 * libgnat/a-cofuve.adb, libgnat/a-cofuve.ads: Likewise.
410 * libgnat/a-cofuba.adb, libgnat/a-cofuba.ads: Remove package.
411
4122022-09-12 Piotr Trojanek <trojanek@adacore.com>
413
414 * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
415 Adapt to object declaration being rewritten into object renaming.
416
4172022-09-12 Justin Squirek <squirek@adacore.com>
418
419 * contracts.adb, contracts.ads
420 (Analyze_Pragmas_In_Declarations): Added to aid in the new
421 expansion model so that pragmas relating to contracts can get
422 processed early before the rest of the subprogram containing them.
423 (Build_Subprogram_Contract_Wrapper): Created to do the majority of
424 expansion for postconditions. It builds a local wrapper with the
425 statements and declarations within a given subprogram.
426 (Is_Prologue_Renaming): Moved out from Process_Preconditions to be
427 used generally within the contracts package.
428 (Build_Entry_Contract_Wrapper): Moved from exp_ch7.
429 (Expand_Subprogram_Contract): Add new local variable Decls to
430 store expanded declarations needed for evaluation of contracts.
431 Call new wrapper building procedure and modify comments to match
432 new expansion model.
433 (Get_Postcond_Enabled): Deleted.
434 (Get_Result_Object_For_Postcond): Deleted.
435 (Get_Return_Success_For_Postcond): Deleted.
436 (Process_Contract_Cases): Add new parameter to store declarations.
437 (Process_Postconditions): Add new parameter to store declarations.
438 (Process_Preconditions): Add new parameter to store declarations.
439 Add code to move entry-call prologue renamings
440 * einfo.ads: Document new field Wrapped_Statements and modify
441 comment for Postconditions_Proc.
442 * exp_attr.adb
443 (Analyze_Attribute): Modify expansion of the 'Old attribute to
444 recognize new expansion model and use Wrapped_Statements instead
445 of Postconditions_Proc.
446 * exp_ch6.adb
447 (Add_Return): Remove special expansion for postconditions.
448 (Expand_Call): Modify condition checking for calls to access
449 subprogram wrappers to handle new expansion models.
450 (Expand_Call_Helper): Remove special expansion for postconditions.
451 (Expand_Non_Function_Return): Remove special expansion for
452 postconditions.
453 (Expand_Simple_Function_Return): Remove special expansion for
454 postconditions.
455 * exp_ch7.adb
456 (Build_Finalizer): Deleted, but replaced by code in
457 Build_Finalizer_Helper
458 (Build_Finalizer_Helper): Renamed to Build_Finalizer, and special
459 handling of 'Old objects removed.
460 * exp_ch9.adb
461 (Build_Contract_Wrapper): Renamed and moved to contracts package.
462 * exp_prag.adb
463 (Expand_Pragma_Contract_Cases): Delay analysis of contracts since
464 they now instead get analyzed as part of the wrapper generation
465 instead of after analysis of their corresponding subprogram's
466 body.
467 (Expand_Pragma_Check): Label expanded if-statements which come
468 from the expansion of assertion statements as
469 Comes_From_Check_Or_Contract.
470 * freeze.adb
471 (Freeze_Entity): Add special case to avoid freezing when a freeze
472 node gets generated as part of the expansion of a postcondition
473 check.
474 * gen_il-gen-gen_nodes.adb: Add new flag
475 Comes_From_Check_Or_Contract.
476 * gen_il-fields.ads: Add new field Wrapped_Statements. Add new
477 flag Comes_From_Check_Or_Contract.
478 * gen_il-gen-gen_entities.adb: Add new field Wrapped_Statements.
479 * ghost.adb
480 (Is_OK_Declaration): Replace Name_uPostconditions with
481 Name_uWrapped_Statements.
482 (Is_OK_Statement): Simplify condition due to the loss of
483 Original_Node as a result of the new expansion model of contracts
484 and use new flag Comes_From_Check_Or_Contract in its place.
485 * inline.adb
486 (Declare_Postconditions_Result): Replace Name_uPostconditions with
487 Name_uWrapped_Statements.
488 (Expand_Inlined_Call): Replace Name_uPostconditions with
489 Name_uWrapped_Statements.
490 * lib.adb, lib.ads
491 (ipu): Created to aid in debugging.
492 * lib-xref.adb
493 (Generate_References): Remove special handling for postcondition
494 procedures.
495 * sem_attr.adb
496 (Analyze_Attribute_Old_Result): Add new context in which 'Old can
497 appear due to the changes in expansion. Replace
498 Name_uPostconditions with Name_uWrapped_Statements.
499 (Result): Replace Name_uPostconditions with
500 Name_uWrapped_Statements.
501 * sem_ch11.adb
502 (Analyze_Handled_Statements): Remove check to exclude warnings on
503 useless assignments within postcondition procedures since
504 postconditions no longer get isolated into separate subprograms.
505 * sem_ch6.adb
506 (Analyze_Generic_Subprogram_Body): Modify expansion of generic
507 subprogram bodies so that contracts (and their associated pragmas)
508 get analyzed first.
509 (Analyze_Subprogram_Body_Helper): Remove global HSS variable due
510 to the HSS of the body potentially changing during the expansion
511 of contracts. In cases where it was used instead directly call
512 Handled_Statement_Sequence. Modify expansion of subprogram bodies
513 so that contracts (and their associated pragmas) get analyzed
514 first.
515 (Check_Missing_Return): Create local HSS variable instead of using
516 a global one.
517 (Move_Pragmas): Use new pragma table instead of an explicit list.
518 * sem_elab.adb
519 (Is_Postconditions_Proc): Deleted since the new scheme of
520 expansion no longer divides postcondition checks to a separate
521 subprogram and so cannot be easily identified (similar to
522 pre-condition checks).
523 (Info_Call): Remove info printing for _Postconditions subprograms.
524 (Is_Assertion_Pragma_Target): Remove check for postconditions
525 procedure
526 (Is_Bridge_Target): Remove check for postconditions procedure.
527 (Get_Invocation_Attributes): Remove unneeded local variables and
528 check for postconditions procedure.
529 (Output_Call): Remove info printing for _Postconditions
530 subprograms.
531 * sem_prag.adb, sem_prag.ads: Add new Pragma table for pragmas
532 significant to subprograms, along with tech-debt comment.
533 (Check_Arg_Is_Local_Name): Modified to recognize the new
534 _Wrapped_Statements internal subprogram and the new expansion
535 model.
536 (Relocate_Pragmas_To_Body): Replace Name_uPostconditions with
537 Name_uWrapped_Statements.
538 * sem_res.adb
539 (Resolve_Entry_Call): Add conditional to detect both contract
540 based wrappers of entries, but also wrappers generated as part of
541 general contract expansion (e.g. local postconditions
542 subprograms).
543 * sem_util.adb
544 (Accessibility_Level): Verify 'Access is not taken based on a
545 component of a function result.
546 (Has_Significant_Contracts): Replace Name_uPostconditions with
547 Name_uWrapped_Statements.
548 (Same_Or_Aliased_Subprogram): Add conditional to detect and obtain
549 the original subprogram based on the new concept of
550 "postcondition" wrappers.
551 * sinfo.ads: Add documentation for new flag
552 Comes_From_Check_Or_Contract.
553 * snames.ads-tmpl: Remove Name_uPostconditions and add
554 Name_uWrapped_Statements
555
5562022-09-12 Eric Botcazou <ebotcazou@adacore.com>
557
558 * exp_unst.adb (Unnest_Subprograms.Search_Subprograms): Skip the
559 subprogram bodies that are not to be unnested.
560
5612022-09-12 Steve Baird <baird@adacore.com>
562
563 * sem_aggr.adb
564 (Resolve_Array_Aggregate): Generate an appropriate error message
565 in the case where an error in the source code leads to an
566 N_Iterated_Element_Association node in a bad context.
567
5682022-09-12 Steve Baird <baird@adacore.com>
569
570 * sem_ch4.adb
571 (Analyze_Selected_Component): Initialize the local variable Comp
572 to avoid having CodePeer generate an uninitialized variable
573 warning.
574
5752022-09-12 Steve Baird <baird@adacore.com>
576
577 * sem_ch4.adb
578 (Analyze_Selected_Component): Avoid initializing the local
579 variable Comp if the variable is not going to be subsequently
580 referenced. This is a correctness issue because the call to
581 First_Entity can fail.
582
5832022-09-12 Steve Baird <baird@adacore.com>
584
585 * sem_ch9.adb
586 (Satisfies_Lock_Free_Requirements): If Ceiling_Locking locking
587 policy has been specified, then either return False (if Lock_Free
588 was not explicitly specified) or generate a warning that ceiling
589 locking will not be implemented for this protected unit (if
590 Lock_Free was explicitly specified). Generate an error message (in
591 addition to returning False) if an explicit Lock_Free aspect
592 specification is rejected because atomic primitives are not
593 supported on the given target.
594 * doc/gnat_rm/implementation_defined_pragmas.rst: Clarify that the
595 Lock_Free aspect for a protected unit takes precedence over the
596 Ceiling_Locking locking policy in the case where both apply.
597 * gnat_rm.texi: Regenerate.
598
5992022-09-12 Eric Botcazou <ebotcazou@adacore.com>
600
601 * exp_ch9.adb (Build_Protected_Spec): Tidy up and propagate the
602 Comes_From_Source flag onto the new formal parameters.
603 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not check
604 references for subprograms generated for protected subprograms.
605
6062022-09-12 Gary Dismukes <dismukes@adacore.com>
607
608 * sem_res.adb
609 (Resolve_Equality_Op): Add handling for equality ops with
610 user-defined literal operands.
611 * sem_util.ads
612 (Is_User_Defined_Literal): Update spec comment to indicate
613 inclusion of named number cases.
614 * sem_util.adb
615 (Corresponding_Primitive_Op): Rather than following the chain of
616 ancestor subprograms via Alias and Overridden_Operation links, we
617 check for matching profiles between primitive subprograms of the
618 descendant type and the ancestor subprogram (by calling a new
619 nested function Profile_Matches_Ancestor). This prevents the
620 compiler from hanging due to circular linkages via those fields
621 that can occur between inherited and overriding subprograms
622 (which might indicate a latent bug, but one that may be rather
623 delicate to resolve).
624 (Profile_Matches_Ancestor): New nested subprogram to compare the
625 profile of a primitive subprogram with the profile of a candidate
626 ancestor subprogram.
627 (Is_User_Defined_Literal): Also return True in cases where the
628 node N denotes a named number (E_Name_Integer and E_Named_Real).
629
6302022-09-12 Steve Baird <baird@adacore.com>
631
632 * debug.adb: remove a comment.
633
6342022-09-12 Bob Duff <duff@adacore.com>
635
636 * checks.adb
637 (Selected_Length_Checks): In the message for an aggregate that has
638 too few or too many elements, add "!!" to make sure the warning
639 gets printed in with'ed units. Note that we have to put "!!"
640 before the "??", because Compile_Time_Constraint_Error detects
641 warnings by comparing the last character of the message with '?'
642 (which is bit dubious, but we're not changing that here).
643 (Length_Mismatch_Info_Message): Use Unat for some things that
644 can't be negative. Specify Decimal instead of Auto in calls to
645 UI_Image.
646 * sem_util.adb
647 (Compile_Time_Constraint_Error): Minor.
648 * uintp.adb
649 (Image_Uint): It's always better to initialize objects on their
650 declaration.
651
6522022-09-12 Patrick Bernardi <bernardi@adacore.com>
653
654 * libgnat/system-vxworks7-x86_64-kernel.ads: Set
655 Support_Atomic_Primitives to false.
656 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Ditto.
657
6582022-09-12 Patrick Bernardi <bernardi@adacore.com>
659
660 * libgnat/system-qnx-arm.ads: Set Support_Atomic_Primitives to
661 false.
662 * libgnat/system-vxworks7-aarch64.ads: Ditto.
663 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Ditto.
664 * libgnat/system-vxworks7-arm.ads: Ditto.
665 * libgnat/system-vxworks7-arm-rtp-smp.ads: Ditto.
666 * libgnat/system-vxworks7-x86-kernel.ads: Ditto.
667 * libgnat/system-vxworks7-x86-rtp-smp.ads: Ditto.
668
6692022-09-12 Bob Duff <duff@adacore.com>
670
671 * par-tchk.adb, par-util.adb, prep.adb, prepcomp.adb, scng.adb:
672 Use "in" instead of chains of "=" connected with "or else".
673 Likewise for "not in", "/=", "and then". Misc cleanup.
674 * par-ch10.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb: Likewise.
675 * par-ch8.adb, par-ch9.adb, par-endh.adb, par-sync.adb: Likewise.
676 * par.adb
677 (Pf_Rec): Remove filler, which was added August 25, 1993 to get
678 around a compiler limitation that no longer exists. Minor cleanup.
679 Remove useless qualfications.
680 * par-ch3.adb: Remove redundant return statements.
681 (Component_Scan_Loop): Remove loop name; there are no nested
682 loops, so it's unnecessary and possibly misleading, and it causes
683 too-long lines.
684 * par-ch5.adb: DRY: Remove comments that repeat the comments in
685 par.adb.
686 (P_Sequence_Of_Statements): It is better to initialize things on
687 the declaration. And constants are better than variables.
688 (Test_Statement_Required): Remove unnecessary insertion of a null
689 statement.
690 * par-ch6.adb, par-ch7.adb: DRY: Remove comments that repeat the
691 comments in par.adb.
692
6932022-09-12 Javier Miranda <miranda@adacore.com>
694
695 Revert:
696 2022-09-06 Javier Miranda <miranda@adacore.com>
697
698 * debug.adb
699 (Debug_Flag_Underscore_X): Switch added temporarily to allow
700 disabling extra formal checks.
701 * exp_attr.adb
702 (Expand_N_Attribute_Reference [access types]): Add extra formals
703 to the subprogram referenced in the prefix of 'Unchecked_Access,
704 'Unrestricted_Access or 'Access; required to check that its extra
705 formals match the extra formals of the corresponding subprogram
706 type.
707 * exp_ch3.adb
708 (Stream_Operation_OK): Declaration moved to the public part of the
709 package.
710 (Validate_Tagged_Type_Extra_Formals): New subprogram.
711 (Expand_Freeze_Record_Type): Improve the code that takes care of
712 adding the extra formals of dispatching primitives; extended to
713 add also the extra formals to renamings of dispatching primitives.
714 * exp_ch3.ads
715 (Stream_Operation_OK): Declaration moved from the package body.
716 * exp_ch6.adb
717 (Has_BIP_Extra_Formal): Subprogram declaration moved to the public
718 part of the package. In addition, a parameter has been added to
719 disable an assertion that requires its use with frozen entities.
720 (Expand_Call_Helper): Enforce assertion checking extra formals on
721 thunks.
722 (Is_Build_In_Place_Function): Return False for entities with
723 foreign convention.
724 (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
725 Is_Return_Object replaced by the local variable
726 Is_OK_Return_Object that evaluates to False for scopes with
727 foreign convention.
728 (Might_Have_Tasks): Fix check of class-wide limited record types.
729 (Needs_BIP_Task_Actuals): Remove assertion to allow calling this
730 function in more contexts; in addition it returns False for
731 functions returning objects with foreign convention.
732 (Needs_BIP_Finalization_Master): Likewise.
733 (Needs_BIP_Alloc_Form): Likewise.
734 * exp_ch6.ads
735 (Stream_Operation_OK): Declaration moved from the package body. In
736 addition, a parameter has been added to disable assertion that
737 requires its use with frozen entities.
738 * freeze.adb
739 (Check_Itype): Add extra formals to anonymous access subprogram
740 itypes.
741 (Freeze_Expression): Improve code that disables the addition of
742 extra formals to functions with foreign convention.
743 (Check_Extra_Formals): Moved to package Sem_Ch6 as
744 Extra_Formals_OK.
745 (Freeze_Subprogram): Add extra formals to non-dispatching
746 subprograms.
747 * sem_ch3.adb
748 (Access_Subprogram_Declaration): Defer the addition of extra
749 formals to the freezing point so that we know the convention.
750 (Check_Anonymous_Access_Component): Likewise.
751 (Derive_Subprogram): Fix documentation.
752 * sem_ch6.adb
753 (Check_Anonymous_Return): Fix check of access to class-wide
754 limited record types.
755 (Check_Untagged_Equality): Placed in alphabetical order.
756 (Extra_Formals_OK): Subprogram moved from freeze.adb.
757 (Extra_Formals_Match_OK): New subprogram.
758 (Has_BIP_Formals): New subprogram.
759 (Has_Extra_Formals): New subprograms.
760 (Needs_Accessibility_Check_Extra): New subprogram.
761 (Needs_Constrained_Extra): New subprogram.
762 (Parent_Subprogram): New subprogram.
763 (Add_Extra_Formal): Minor code cleanup.
764 (Create_Extra_Formals): Enforce matching extra formals on
765 overridden and aliased entities.
766 (Has_Reliable_Extra_Formals): New subprogram.
767 * sem_ch6.ads
768 (Extra_Formals_OK): Subprogram moved from freeze.adb.
769 (Extra_Formals_Match_OK): New subprogram.
770 * sem_eval.adb
771 (Compile_Time_Known_Value): Improve predicate to avoid assertion
772 failure; found working on this ticket; this change does not affect
773 the behavior of the compiler because this subprogram has an
774 exception handler that returns False when the assertion fails.
775 * sem_util.adb
776 (Needs_Result_Accessibility_Level): Do not return False for
777 dispatching operations compiled with Ada_Version < 2012 since they
778 they may be overridden by primitives compiled with Ada_Version >=
779 Ada_2012.
780
25aeb922
GA
7812022-09-06 Eric Botcazou <ebotcazou@adacore.com>
782
783 * gcc-interface/decl.cc (gnat_to_gnu_param): Set DECL_ARTIFICIAL.
784
7852022-09-06 Eric Botcazou <ebotcazou@adacore.com>
786
787 * gcc-interface/trans.cc (At_End_Proc_to_gnu): Use the End_Label of
788 the child Handled_Statement_Sequence for body nodes.
789 (set_end_locus_from_node): Minor tweaks.
790
7912022-09-06 Eric Botcazou <ebotcazou@adacore.com>
792
793 * gcc-interface/trans.cc (Full_View_Of_Private_Constant): New
794 function returning the Full_View of a private constant, after
795 looking through a chain of renamings, if any.
796 (Identifier_to_gnu): Call it on the entity. Small cleanup.
797
7982022-09-06 Eric Botcazou <ebotcazou@adacore.com>
799
800 * gcc-interface/utils.cc (gnat_pushdecl): Preserve named
801 TYPE_DECLs consistently for all kind of pointer types.
802
8032022-09-06 Eric Botcazou <ebotcazou@adacore.com>
804
805 * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Divide>: Report a
806 violation of No_Dependence on System.GCC if the result type is
807 larger than a word.
808 <N_Op_Shift>: Likewise.
809 <N_Op_Mod>: Likewise.
810 <N_Op_Rem>: Likewise.
811 (convert_with_check): Report a violation of No_Dependence on
812 System.GCC for a conversion between an integer type larger than
813 a word and a floating-point type.
814
8152022-09-06 Steve Baird <baird@adacore.com>
816
817 * sem_ch9.adb
818 (Allows_Lock_Free_Implementation): Return False if
819 Support_Atomic_Primitives is False.
820
8212022-09-06 Steve Baird <baird@adacore.com>
822
823 * debug.adb: Remove comment regarding the -gnatd9 switch.
824 * doc/gnat_rm/implementation_defined_attributes.rst: Remove all
825 mention of the Lock_Free attribute.
826 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
827 * exp_attr.adb, sem_attr.adb: Remove all mention of the former
828 Attribute_Lock_Free enumeration element of the Attribute_Id type.
829 * sem_ch9.adb
830 (Allows_Lock_Free_Implementation): Remove the Debug_Flag_9 test.
831 Return False in the case of a protected function whose result type
832 requires use of the secondary stack.
833 (Satisfies_Lock_Free_Requirements): This functions checks for
834 certain constructs and returns False if one is found. In the case
835 of a protected function, there is no need to check to see if the
836 protected object is being modified. So it is ok to omit *some*
837 checks in the case of a protected function. But other checks which
838 are required (e.g., the test for a reference to a variable that is
839 not part of the protected object) were being incorrectly omitted.
840 This could result in accepting "Lock_Free => True" aspect
841 specifications that should be rejected.
842 * snames.adb-tmpl: Name_Lock_Free no longer requires special
843 treatment in Get_Pragma_Id or Is_Pragma_Name (because it is no
844 longer an attribute name).
845 * snames.ads-tmpl: Move the declaration of Name_Lock_Free to
846 reflect the fact that it is no longer the name of an attribute.
847 Delete Attribute_Lock_Free from the Attribute_Id enumeration type.
848
8492022-09-06 Steve Baird <baird@adacore.com>
850
851 * libgnat/a-coorse.ads: Restore Aggregate aspect specification for
852 type Set.
853
8542022-09-06 Marc Poulhiès <poulhies@adacore.com>
855
856 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add
857 Alignment_Param in the formal list for calls to SS_Allocate.
858
8592022-09-06 Piotr Trojanek <trojanek@adacore.com>
860
861 * inline.adb (Process_Formals): Preserve Has_Private_View flag while
862 rewriting formal into actual parameters.
863
8642022-09-06 Javier Miranda <miranda@adacore.com>
865
866 * debug.adb
867 (Debug_Flag_Underscore_X): Switch added temporarily to allow
868 disabling extra formal checks.
869 * exp_attr.adb
870 (Expand_N_Attribute_Reference [access types]): Add extra formals
871 to the subprogram referenced in the prefix of 'Unchecked_Access,
872 'Unrestricted_Access or 'Access; required to check that its extra
873 formals match the extra formals of the corresponding subprogram
874 type.
875 * exp_ch3.adb
876 (Stream_Operation_OK): Declaration moved to the public part of the
877 package.
878 (Validate_Tagged_Type_Extra_Formals): New subprogram.
879 (Expand_Freeze_Record_Type): Improve the code that takes care of
880 adding the extra formals of dispatching primitives; extended to
881 add also the extra formals to renamings of dispatching primitives.
882 * exp_ch3.ads
883 (Stream_Operation_OK): Declaration moved from the package body.
884 * exp_ch6.adb
885 (Has_BIP_Extra_Formal): Subprogram declaration moved to the public
886 part of the package. In addition, a parameter has been added to
887 disable an assertion that requires its use with frozen entities.
888 (Expand_Call_Helper): Enforce assertion checking extra formals on
889 thunks.
890 (Is_Build_In_Place_Function): Return False for entities with
891 foreign convention.
892 (Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
893 Is_Return_Object replaced by the local variable
894 Is_OK_Return_Object that evaluates to False for scopes with
895 foreign convention.
896 (Might_Have_Tasks): Fix check of class-wide limited record types.
897 (Needs_BIP_Task_Actuals): Remove assertion to allow calling this
898 function in more contexts; in addition it returns False for
899 functions returning objects with foreign convention.
900 (Needs_BIP_Finalization_Master): Likewise.
901 (Needs_BIP_Alloc_Form): Likewise.
902 * exp_ch6.ads
903 (Stream_Operation_OK): Declaration moved from the package body. In
904 addition, a parameter has been added to disable assertion that
905 requires its use with frozen entities.
906 * freeze.adb
907 (Check_Itype): Add extra formals to anonymous access subprogram
908 itypes.
909 (Freeze_Expression): Improve code that disables the addition of
910 extra formals to functions with foreign convention.
911 (Check_Extra_Formals): Moved to package Sem_Ch6 as
912 Extra_Formals_OK.
913 (Freeze_Subprogram): Add extra formals to non-dispatching
914 subprograms.
915 * sem_ch3.adb
916 (Access_Subprogram_Declaration): Defer the addition of extra
917 formals to the freezing point so that we know the convention.
918 (Check_Anonymous_Access_Component): Likewise.
919 (Derive_Subprogram): Fix documentation.
920 * sem_ch6.adb
921 (Check_Anonymous_Return): Fix check of access to class-wide
922 limited record types.
923 (Check_Untagged_Equality): Placed in alphabetical order.
924 (Extra_Formals_OK): Subprogram moved from freeze.adb.
925 (Extra_Formals_Match_OK): New subprogram.
926 (Has_BIP_Formals): New subprogram.
927 (Has_Extra_Formals): New subprograms.
928 (Needs_Accessibility_Check_Extra): New subprogram.
929 (Needs_Constrained_Extra): New subprogram.
930 (Parent_Subprogram): New subprogram.
931 (Add_Extra_Formal): Minor code cleanup.
932 (Create_Extra_Formals): Enforce matching extra formals on
933 overridden and aliased entities.
934 (Has_Reliable_Extra_Formals): New subprogram.
935 * sem_ch6.ads
936 (Extra_Formals_OK): Subprogram moved from freeze.adb.
937 (Extra_Formals_Match_OK): New subprogram.
938 * sem_eval.adb
939 (Compile_Time_Known_Value): Improve predicate to avoid assertion
940 failure; found working on this ticket; this change does not affect
941 the behavior of the compiler because this subprogram has an
942 exception handler that returns False when the assertion fails.
943 * sem_util.adb
944 (Needs_Result_Accessibility_Level): Do not return False for
945 dispatching operations compiled with Ada_Version < 2012 since they
946 they may be overridden by primitives compiled with Ada_Version >=
947 Ada_2012.
948
9492022-09-06 Arnaud Charlet <charlet@adacore.com>
950
951 * exp_ch4.adb (Expand_N_If_Expression): Disable optimization
952 for LLVM.
953
9542022-09-06 Javier Miranda <miranda@adacore.com>
955
956 * sem_prag.adb
957 (Analyze_Pre_Post_Condition_In_Decl_Part): Improve check to report
958 an error in non-legal class-wide conditions.
959
9602022-09-06 Steve Baird <baird@adacore.com>
961
962 * libgnat/a-strsup.adb, libgnat/a-stwisu.adb, libgnat/a-stzsup.adb
963 (Super_Slice function and procedure): fix slice length computation.
964
9652022-09-06 Steve Baird <baird@adacore.com>
966
967 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
968 Improve -gnatVa, -gnatVc, -gnatVd, -gnatVe, -gnatVf, -gnatVo,
969 -gnatVp, -gnatVr, and -gnatVs switch descriptions.
970 * gnat_ugn.texi: Regenerate.
971
9722022-09-06 Justin Squirek <squirek@adacore.com>
973
974 * exp_unst.adb
975 (Visit_Node): Add N_Block_Statement to the enclosing construct
976 case since they can now have "At end" procedures. Also, recognize
977 calls from "At end" procedures when recording subprograms.
978
9792022-09-06 Piotr Trojanek <trojanek@adacore.com>
980
981 * inline.adb (Replace_Formal): Fix name of the referenced routine.
982
9832022-09-06 Piotr Trojanek <trojanek@adacore.com>
984
985 * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
986 Remove unnecessary local constant that was shadowing another
987 constant with the same initial value.
988
9892022-09-06 Julien Bortolussi <bortolussi@adacore.com>
990
991 * libgnat/a-cforse.ads (Replace): Fix the postcondition.
992
9932022-09-06 Steve Baird <baird@adacore.com>
994
995 * exp_attr.adb
996 (Attribute_Valid): Ensure that PBtyp is initialized to a value for
997 which Is_Scalar_Type is True.
998 * checks.adb
999 (Determine_Range): Call Implemention_Base_Type instead of
1000 Base_Type in order to ensure that result is suitable for passing
1001 to Enum_Pos_To_Rep.
1002
10032022-09-06 Bob Duff <duff@adacore.com>
1004 Eric Botcazou <ebotcazou@adacore.com>
1005
1006 * gen_il-fields.ads
1007 (First_Real_Statement): Remove this field.
1008 * gen_il-gen-gen_nodes.adb: Remove the First_Real_Statement field.
1009 Add the At_End_Proc field to nodes that have both Declarations and
1010 HSS.
1011 * sinfo.ads
1012 (At_End_Proc): Document new semantics.
1013 (First_Real_Statement): Remove comment.
1014 * exp_ch11.adb
1015 (Expand_N_Handled_Sequence_Of_Statements): Remove
1016 First_Real_Statement.
1017 * exp_ch7.adb
1018 (Build_Cleanup_Statements): Remove "Historical note"; it doesn't
1019 seem useful, and we have revision history.
1020 (Create_Finalizer): Insert the finalizer later, typically in the
1021 statement list, in some cases.
1022 (Build_Finalizer_Call): Attach the "at end" handler to the parent
1023 of the HSS node in most cases, so it applies to declarations.
1024 (Expand_Cleanup_Actions): Remove Wrap_HSS_In_Block and the call to
1025 it. Remove the code that moves declarations. Remove some redundant
1026 code.
1027 * exp_ch9.adb
1028 (Build_Protected_Entry): Copy the At_End_Proc.
1029 (Build_Protected_Subprogram_Body): Reverse the sense of Exc_Safe,
1030 to avoid double negatives. Remove "Historical note" as in
1031 exp_ch7.adb.
1032 (Build_Unprotected_Subprogram_Body): Copy the At_End_Proc from the
1033 protected version.
1034 (Expand_N_Conditional_Entry_Call): Use First (Statements(...))
1035 instead of First_Real_Statement(...).
1036 (Expand_N_Task_Body): Put the Abort_Undefer call at the beginning
1037 of the declarations, rather than in the HSS. Use First
1038 (Statements(...)) instead of First_Real_Statement(...). Copy the
1039 At_End_Proc.
1040 * inline.adb
1041 (Has_Initialized_Type): Return False if the declaration does not
1042 come from source.
1043 * libgnarl/s-tpoben.ads
1044 (Lock_Entries, Lock_Entries_With_Status): Document when these
1045 things raise Program_Error. It's not clear that
1046 Lock_Entries_With_Status ought to be raising exceptions, but at
1047 least it's documented now.
1048 * sem.ads: Minor comment fixes.
1049 * sem_ch6.adb
1050 (Analyze_Subprogram_Body_Helper): Use First (Statements(...))
1051 instead of First_Real_Statement(...).
1052 (Analyze_Null_Procedure): Minor comment fix.
1053 * sem_util.adb
1054 (Might_Raise): Return True for N_Raise_Expression. Adjust the part
1055 about exceptions generated by the back end to match the reality of
1056 what the back end generates.
1057 (Update_First_Real_Statement): Remove.
1058 * sem_util.ads: Remove First_Real_Statement from comment.
1059 * sinfo-utils.ads
1060 (First_Real_Statement): New function that always returns Empty.
1061 This should be removed once gnat-llvm and codepeer have been
1062 updated to not refer to First_Real_Statement.
1063 * sprint.adb
1064 (Sprint_At_End_Proc): Deal with printing At_End_Proc.
1065 * sem_prag.adb: Minor comment fixes.
1066 * gcc-interface/trans.cc (At_End_Proc_to_gnu): New function.
1067 (Subprogram_Body_to_gnu): Call it to handle an At_End_Proc.
1068 (Handled_Sequence_Of_Statements_to_gnu): Likewise. Remove the
1069 support for First_Real_Statement and clean up the rest.
1070 (Exception_Handler_to_gnu): Do not push binding levels.
1071 (Compilation_Unit_to_gnu): Adjust call to process_decls.
1072 (gnat_to_gnu) <N_Package_Specification>: Likewise. <N_Entry_Body>:
1073 Likewise. <N_Freeze_Entity>: Likewise. <N_Block_Statement>:
1074 Likewise and call At_End_Proc_to_gnu to handle an At_End_Proc.
1075 <N_Package_Body>: Likewise.
1076 (process_decls): Remove GNAT_END_LIST parameter and adjust
1077 recursive calls.
1078
10792022-09-06 Steve Baird <baird@adacore.com>
1080
1081 * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
1082 temporary rule that a "when others =>" case choice must be given
1083 when casing on a composite selector.
1084 * gnat_rm.texi: Regenerate.
1085
10862022-09-06 Steve Baird <baird@adacore.com>
1087
1088 * sem_case.adb: Define a new Boolean constant,
1089 Simplified_Composite_Coverage_Rules, initialized to True. Setting
1090 this constant to True has two effects: 1- Representative value
1091 sets are not fully initialized - this is done to avoid capacity
1092 problems, as well as for performance. 2- In
1093 Check_Case_Pattern_Choices, the only legality check performed is a
1094 check that a "when others =>" choice is present.
1095
10962022-09-06 Piotr Trojanek <trojanek@adacore.com>
1097
1098 * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix error
1099 template.
1100
11012022-09-06 Steve Baird <baird@adacore.com>
1102
1103 * exp_attr.adb
1104 (Make_Range_Test): In determining which subtype's First and Last
1105 attributes are to be queried as part of a range test, call
1106 Validated_View in order to get a scalar (as opposed to private)
1107 subtype.
1108 (Attribute_Valid): In determining whether to perform a signed or
1109 unsigned comparison for a range test, call Validated_View in order
1110 to get a scalar (as opposed to private) type. Also correct a typo
1111 which, by itself, is the source of the problem reported for this
1112 ticket.
1113
11142022-09-06 Steve Baird <baird@adacore.com>
1115
1116 * sem_ch4.adb
1117 (Analyze_Selected_Component): Define new Boolean-valued function,
1118 Constraint_Has_Unprefixed_Discriminant_Reference, which takes a
1119 subtype that is subject to a discriminant-dependent constraint and
1120 returns True if any of the constraint values are unprefixed
1121 discriminant names. Usually, the Etype of a selected component
1122 node is set to Etype of the component. However, in the case of an
1123 access-to-array component for which this predicate returns True,
1124 we instead use the base type of the Etype of the component.
1125 Normally such problematic discriminant references are addressed by
1126 calling Build_Actual_Subtype_Of_Component, but that doesn't work
1127 if Full_Analyze is False.
1128
11292022-09-06 Piotr Trojanek <trojanek@adacore.com>
1130
1131 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Include
1132 System.Value_U_Spec and System.Value_I_Spec units.
1133
11342022-09-06 Eric Botcazou <ebotcazou@adacore.com>
1135
1136 * libgnat/s-powflt.ads (Powfive): New constant array.
1137 * libgnat/s-powlfl.ads (Powfive): Likewise.
1138 (Powfive_100): New constant.
1139 (Powfive_200): Likewise.
1140 (Powfive_300): Likewise.
1141 * libgnat/s-powllf.ads (Powfive): New constant array.
1142 (Powfive_100): New constant.
1143 (Powfive_200): Likewise.
1144 (Powfive_300): Likewise.
1145 * libgnat/s-valflt.ads (Impl): Replace Powten with Powfive and pass
1146 Null_Address for the address of large constants.
1147 * libgnat/s-vallfl.ads (Impl): Replace Powten with Powfive and pass
1148 the address of large constants.
1149 * libgnat/s-valllf.ads (Impl): Likewise.
1150 * libgnat/s-valrea.ads (System.Val_Real): Replace Powten_Address
1151 with Powfive_Address and add Powfive_{1,2,3}00_Address parameters.
1152 * libgnat/s-valrea.adb (Is_Large_Type): New boolean constant.
1153 (Is_Very_Large_Type): Likewise.
1154 (Maxexp32): Change value of 10 to that of 5.
1155 (Maxexp64): Likewise.
1156 (Maxexp80): Likewise.
1157 (Integer_to_Real): Use a combination of tables of powers of 5 and
1158 scaling if the base is 10.
1159 (Large_Powten): Rename into...
1160 (Large_Powfive): ...this. Add support for large constants.
1161 (Large_Powfive): New overloaded function for very large exponents.
1162
11632022-09-06 Piotr Trojanek <trojanek@adacore.com>
1164
1165 * doc/gnat_rm/implementation_defined_aspects.rst
1166 (Aspect Iterable): Include Last and Previous primitives in
1167 syntactic and semantic description.
1168 * exp_attr.adb
1169 (Expand_N_Attribute_Reference): Don't expect attributes like
1170 Iterable that can only appear in attribute definition clauses.
1171 * sem_ch13.adb
1172 (Analyze_Attribute_Definition_Clause): Prevent crash on
1173 non-aggregate Iterable attribute; improve basic diagnosis of
1174 attribute values.
1175 (Resolve_Iterable_Operation): Improve checks for illegal
1176 primitives in aspect Iterable, e.g. with wrong number of formal
1177 parameters.
1178 (Validate_Iterable_Aspect): Prevent crashes on syntactically
1179 illegal aspect expression.
1180 * sem_util.adb
1181 (Get_Cursor_Type): Fix style.
1182 * gnat_ugn.texi, gnat_rm.texi: Regenerate.
1183
11842022-09-06 Eric Botcazou <ebotcazou@adacore.com>
1185
1186 * libgnat/s-valuer.ads (System.Value_R): Add Parts formal parameter
1187 as well as Data_Index, Scale_Array and Value_Array types.
1188 (Scan_Raw_Real): Change type of Scale and return type.
1189 (Value_Raw_Real): Likewise.
1190 * libgnat/s-valuer.adb (Round_Extra): Reorder parameters and adjust
1191 recursive call.
1192 (Scan_Decimal_Digits): Reorder parameters, add N parameter and deal
1193 with multi-part scale and value.
1194 (Scan_Integral_Digits): Likewise.
1195 (Scan_Raw_Real): Change type of Scale and return type and deal with
1196 multi-part scale and value.
1197 (Value_Raw_Real): Change type of Scale and return type and tidy up.
1198 * libgnat/s-valued.adb (Impl): Pass 1 as Parts actual parameter.
1199 (Scan_Decimal): Adjust to type changes.
1200 (Value_Decimal): Likewise.
1201 * libgnat/s-valuef.adb (Impl): Pass 1 as Parts actual parameter.
1202 (Scan_Fixed): Adjust to type changes.
1203 (Value_Fixed): Likewise.
1204 * libgnat/s-valrea.adb (Need_Extra): Delete.
1205 (Precision_Limit): Always use the precision of the mantissa.
1206 (Impl): Pass 2 as Parts actual parameter.
1207 (Exact_Log2): New expression function.
1208 (Integer_to_Real): Change type of Scale and Val and deal with a
1209 2-part integer mantissa.
1210 (Scan_Real): Adjust to type changes.
1211 (Value_Real): Likewise.
1212
47d2dcd1
GA
12132022-09-05 Martin Liska <mliska@suse.cz>
1214
1215 * sigtramp-vxworks-target.h: Rename DBX_REGISTER_NUMBER to
1216 DEBUGGER_REGNO.
1217
12182022-09-05 Piotr Trojanek <trojanek@adacore.com>
1219
1220 * exp_aggr.adb (Check_Bounds): Move code and comment related to
1221 check for null array aggregate from Resolve_Null_Array_Aggregate.
1222 * sem_aggr.ads (Is_Null_Aggregate): Move spec from unit body.
1223 * sem_aggr.adb (Resolve_Null_Array_Aggregate): Move check to
1224 expansion.
1225
12262022-09-05 Piotr Trojanek <trojanek@adacore.com>
1227
1228 * sem_aggr.adb
1229 (Array_Aggr_Subtype): Bypass call to Collect_Aggr_Bound with
1230 dedicated code for null array aggregates.
1231 (Resolve_Array_Aggregate): Remove special handling of null array
1232 aggregates.
1233 (Resolve_Array_Aggregate): Create bounds, but let
1234 Array_Aggr_Subtype create itype entities.
1235
12362022-09-05 Piotr Trojanek <trojanek@adacore.com>
1237
1238 * sem_aggr.adb (Resolve_Null_Array_Aggregate): Insert check as a
1239 Raise_Constraint_Error node and not an If_Statement.
1240
12412022-09-05 Piotr Trojanek <trojanek@adacore.com>
1242
1243 * sem_aggr.adb
1244 (Resolve_Container_Aggregate): Style cleanup.
1245 (Resolve_Record_Aggregate): Remove redundant guard.
1246
12472022-09-05 Piotr Trojanek <trojanek@adacore.com>
1248
1249 * exp_util.ads (Entry_Names_OK): Remove spec.
1250 * exp_util.adb (Entry_Names_OK): Remove body.
1251
12522022-09-05 Steve Baird <baird@adacore.com>
1253
1254 * libgnat/a-coinve.adb, libgnat/a-convec.adb
1255 (Append): If the Append that takes an Element and a Count is
1256 called with Count = 1, then call the Append that does not take a
1257 Count parameter; otherwise call the code that handles the general
1258 case. Move the special case detection/handling code that was
1259 formerly in that version of Append into the version that does not
1260 take a Count parameter, so that now both versions get the
1261 performance benefit.
1262
12632022-09-05 Piotr Trojanek <trojanek@adacore.com>
1264
1265 * sem_aggr.adb (Resolve_Null_Array_Aggregate): Create internal
1266 type for the aggregate as an itype.
1267
12682022-09-05 Piotr Trojanek <trojanek@adacore.com>
1269
1270 * sem_util.ads (Itype_Has_Declaration): Remove spec.
1271 * sem_util.adb (Itype_Has_Declaration): Remove body.
1272
12732022-09-05 Steve Baird <baird@adacore.com>
1274
1275 * exp_ch3.adb
1276 (Expand_N_Object_Declaration): In deciding whether to emit a DIC
1277 check, we were previously testing the Has_Init_Expression flag.
1278 Continue to test that flag as before, but add a test for the
1279 syntactic presence of an initial value in the object declaration.
1280 This new test would not supersede the old test in the case where
1281 an explicit initial value has been eliminated as part of some tree
1282 transformation.
1283
12842022-09-05 Piotr Trojanek <trojanek@adacore.com>
1285
1286 * sem_ch13.adb (Validate_Unchecked_Conversions): Use
1287 Has_Warnings_Off.
1288 * sem_elab.adb (Check_Internal_Call_Continue): Likewise.
1289
12902022-09-05 Eric Botcazou <ebotcazou@adacore.com>
1291
1292 * libgnat/s-valuer.adb (Scan_Decimal_Digits): Consistently avoid
1293 initializing local variables.
1294 (Scan_Integral_Digits): Likewise.
1295 (Scan_Raw_Real): Likewise and add a couple of comments.
1296
12972022-09-05 Eric Botcazou <ebotcazou@adacore.com>
1298
1299 * sem_ch13.adb (Freeze_Entity_Checks): Build predicate functions
1300 only after checking the variant part of a record type, if any.
1301
13022022-09-05 Piotr Trojanek <trojanek@adacore.com>
1303
1304 * exp_aggr.adb
1305 (Two_Pass_Aggregate_Expansion): Expand into implicit rather than
1306 ordinary loops, to detect violations of restriction
1307 No_Implicit_Loops.
1308 (Generate_Loop): Likewise for delta array aggregates.
1309
13102022-09-05 Piotr Trojanek <trojanek@adacore.com>
1311
1312 * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Expand iterated
1313 component association with an unanalyzed copy of iterated
1314 expression. The previous code worked only because the expanded
1315 loop used both an analyzed copy of the iterator_specification and
1316 an analyzed copy of the iterated expression. Now the iterated
1317 expression is reanalyzed in the context of the expanded loop.
1318 * par-ch4.adb (Build_Iterated_Component_Association): Don't set
1319 defining identifier when iterator specification is present.
1320 * sem_aggr.adb (Resolve_Iterated_Association): Pick index name
1321 from the iterator specification.
1322 * sem_elab.adb (Traverse_Potential_Scenario): Handle iterated
1323 element association just like iterated component association. Not
1324 strictly part of this fix, but still worth for the completeness.
1325 * sem_res.adb (Resolve): Pick index name from the iterator
1326 specification, when present.
1327 * sem_util.adb (Traverse_More): For completeness, just like the
1328 change in Traverse_Potential_Scenario.
1329 * sinfo.ads
1330 (ITERATED_COMPONENT_ASSOCIATION): Fix and complete description.
1331 (ITERATED_ELEMENT_ASSOCIATION): Likewise.
1332
13332022-09-05 Bob Duff <duff@adacore.com>
1334
1335 * sem_ch6.adb
1336 (Analyze_Subprogram_Body_Helper): Use First_Real_Statement to deal
1337 with this case. Note that First_Real_Statement is likely to be
1338 removed as part of this ticket, so this is a temporary fix.
1339
13402022-09-05 Arnaud Charlet <charlet@adacore.com>
1341
1342 * ali.adb (Scan_ALI): Special case i-c*.ali when setting
1343 Sec_Stack_Used.
1344
13452022-09-05 Bob Duff <duff@adacore.com>
1346
1347 * par-ch5.adb
1348 (P_Sequence_Of_Statements): Call Error_Msg_GNAT_Extension to give
1349 the error message.
1350
13512022-09-05 Piotr Trojanek <trojanek@adacore.com>
1352
1353 * sem_aggr.adb (Resolve_Iterated_Component_Association): Split
1354 processing of cases with and without iterator specification; reuse
1355 analysis of iterator specification; improve diagnostics for
1356 premature usage of iterator index in discrete choices.
1357
13582022-09-05 Piotr Trojanek <trojanek@adacore.com>
1359
1360 * sem_ch5.adb (Check_Subtype_Definition): Remove redundant call to
1361 Present; style cleanup.
1362
13632022-09-05 Piotr Trojanek <trojanek@adacore.com>
1364
1365 * sem_aggr.adb (Resolve_Array_Aggregate): Change an inconsistent
1366 use of False into its local equivalent Failure.
1367
13682022-09-05 Piotr Trojanek <trojanek@adacore.com>
1369
1370 * sem_aggr.adb (Resolve_Iterated_Component_Association): Change
1371 generic name Ent to a more intuitive Scop; rename Remove_Ref to
1372 Remove_Reference, so it can be instantiated as a traversal routine
1373 with plural name.
1374
13752022-09-05 Piotr Trojanek <trojanek@adacore.com>
1376
1377 * sem_ch4.adb
1378 (Is_Empty_Range): Move error reporting to the caller.
1379 (Analyze_Qualified_Expression): Move error reporting from Is_Empty_Range;
1380 add matching call to End_Scope before rewriting and returning.
1381
13822022-09-05 Arnaud Charlet <charlet@adacore.com>
1383
1384 * bindgen.adb (Gen_Elab_Calls): Check for Check_Elaboration_Flags.
1385 * bindusg.adb (Display): Add -k.
1386 * opt.ads (Check_Elaboration_Flags): New.
1387 * switch-b.adb (Scan_Binder_Switches): Add processing of -k.
1388 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
1389 documentation for -k and -K.
1390 * gnat_ugn.texi: Regenerate.
1391
13922022-09-05 Arnaud Charlet <charlet@adacore.com>
1393
1394 * treepr.adb: Remove local To_Lower and use the procedure
1395 version instead.
1396
13972022-09-05 Eric Botcazou <ebotcazou@adacore.com>
1398
1399 * aspects.ads (Delaying Evaluation of Aspect): Fix typos.
1400 * exp_ch3.adb (Freeze_Type): Do not generate Invariant and DIC
1401 procedures for internal types.
1402 * exp_util.adb (Build_DIC_Procedure_Body): Adjust comment.
1403 * freeze.adb (Freeze_Entity): Call Inherit_Delayed_Rep_Aspects for
1404 subtypes and derived types only after the base or parent type has
1405 been frozen. Remove useless freezing for first subtype.
1406 (Freeze_Fixed_Point_Type): Call Inherit_Delayed_Rep_Aspects too.
1407 * layout.adb (Set_Elem_Alignment): Deal with private types.
1408 * sem_ch3.adb (Build_Derived_Enumeration_Type): Build the implicit
1409 base as an itype and do not insert its declaration in the tree.
1410 (Build_Derived_Numeric_Type): Do not freeze the implicit base.
1411 (Derived_Standard_Character): Likewise.
1412 (Constrain_Enumeration): Inherit the chain of representation items
1413 instead of replacing it.
1414 * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): Add ??? comment.
1415 (Inherit_Delayed_Rep_Aspects): Declare.
1416 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not invoke
1417 Inherit_Delayed_Rep_Aspects.
1418 (Inherit_Aspects_At_Freeze_Point): Deal with private types.
1419 (Inherit_Delayed_Rep_Aspects): Move to library level.
1420
14212022-09-05 Piotr Trojanek <trojanek@adacore.com>
1422
1423 * einfo-utils.adb (Number_Entries): Refine type of a local variable.
1424 * exp_attr.adb (Expand_N_Attribute_Reference): Rename Conctyp to
1425 Prottyp; refactor repeated calls to New_Occurrence_Of; replace
1426 Number_Entries with Has_Entries.
1427 * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise; remove Subprg
1428 variable (apparently copy-pasted from expansion of the attribute).
1429
14302022-09-05 Piotr Trojanek <trojanek@adacore.com>
1431
1432 * exp_attr.adb (Expand_N_Attribute_Reference): Fix detection of the
1433 enclosing protected type and of the enclosing protected subprogram.
1434 * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
1435
14362022-09-05 Piotr Trojanek <trojanek@adacore.com>
1437
1438 * freeze.adb (Freeze_Itype): Remove excessive guard.
1439 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Likewise.
1440
14412022-09-05 Piotr Trojanek <trojanek@adacore.com>
1442
1443 * sprint.adb (Sprint_Node_Actual): Handle iterator_specification within
1444 iterated_component_association and iterator_filter within
1445 iterator_specification.
1446
14472022-09-05 Arnaud Charlet <charlet@adacore.com>
1448
1449 * doc/gnat_ugn/gnat_and_program_execution.rst: Fix rest syntax
1450 * gnat_ugn.texi: Regenerate.
1451
c64b0947
GA
14522022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1453
6c373756
EB
1454 * exp_util.adb (Expand_Subtype_From_Expr): Be prepared for rewritten
1455 aggregates as expressions.
c64b0947
GA
1456
14572022-09-02 Gary Dismukes <dismukes@adacore.com>
1458
6c373756
EB
1459 * exp_ch6.adb (Expand_Simple_Function_Return) Bypass creation of an
1460 actual subtype and unchecked conversion to that subtype when the
1461 underlying type of the expression has discriminants without defaults.
c64b0947
GA
1462
14632022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1464
1465 * exp_util.adb (Expand_Subtype_From_Expr): Check for the presence
1466 of the Is_Constr_Subt_For_U_Nominal flag instead of the absence
1467 of the Is_Constr_Subt_For_UN_Aliased flag on the subtype of the
1468 expression of an object declaration before reusing this subtype.
1469 * sem_ch3.adb (Analyze_Object_Declaration): Do not incorrectly
1470 set the Is_Constr_Subt_For_UN_Aliased flag on the actual subtype
1471 of an array with definite nominal subtype. Remove useless test.
1472
14732022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1474
1475 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
1476 (No_Dependence): Cite implicit dependences on the runtime library.
1477 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
1478
14792022-09-02 Claire Dross <dross@adacore.com>
1480
1481 * libgnat/a-strmap.adb: Add variants to simple and while loops.
1482 * libgnat/a-strsea.adb: Idem.
1483
14842022-09-02 Claire Dross <dross@adacore.com>
1485
1486 * libgnat/s-expmod.adb (Lemma_Add_Mod): Add new lemma to factor
1487 out a complex sub-proof.
1488 (Exp_Modular): Add assertion to help proof.
1489
14902022-09-02 Claire Dross <dross@adacore.com>
1491
1492 * libgnat/s-widthu.adb (Lemma_Euclidean): Lemma to prove the
1493 relation between the quotient/remainder of a division.
1494
14952022-09-02 Yannick Moy <moy@adacore.com>
1496
1497 * libgnat/s-aridou.adb: Add or rework ghost code.
1498 * libgnat/s-aridou.ads: Add Big_Positive subtype.
1499
15002022-09-02 Eric Botcazou <ebotcazou@adacore.com>
1501
1502 * doc/gnat_ugn/gnat_and_program_execution.rst
1503 (Non-Symbolic Traceback): Update section.
1504 * gnat_rm.texi, gnat_ugn.texi, gnat-style.texi: Regenerate.
1505
15062022-09-02 Claire Dross <dross@adacore.com>
1507
1508 * libgnat/a-nbnbig.ads: Add Always_Return annotation.
1509 * libgnat/s-vaispe.ads: New ghost unit for the specification of
1510 System.Value_I. Restore proofs.
1511 * libgnat/s-vauspe.ads: New ghost unit for the specification of
1512 System.Value_U. Restore proofs.
1513 * libgnat/s-valuei.adb: The specification only subprograms are
1514 moved to System.Value_I_Spec. Restore proofs.
1515 * libgnat/s-valueu.adb: The specification only subprograms are
1516 moved to System.Value_U_Spec. Restore proofs.
1517 * libgnat/s-valuti.ads
1518 (Uns_Params): Generic unit used to bundle together the
1519 specification functions of System.Value_U_Spec.
1520 (Int_Params): Generic unit used to bundle together the
1521 specification functions of System.Value_I_Spec.
1522 * libgnat/s-imagef.adb: It is now possible to instantiate the
1523 appropriate specification units instead of creating imported ghost
1524 subprograms.
1525 * libgnat/s-imagei.adb: Update to refactoring of specifications
1526 and fix proofs.
1527 * libgnat/s-imageu.adb: Likewise.
1528 * libgnat/s-imgint.ads: Ghost parameters are grouped together in a
1529 package now.
1530 * libgnat/s-imglli.ads: Likewise.
1531 * libgnat/s-imgllu.ads: Likewise.
1532 * libgnat/s-imgllli.ads: Likewise.
1533 * libgnat/s-imglllu.ads: Likewise.
1534 * libgnat/s-imguns.ads: Likewise.
1535 * libgnat/s-vallli.ads: Likewise.
1536 * libgnat/s-valllli.ads: Likewise.
1537 * libgnat/s-imagei.ads: Likewise.
1538 * libgnat/s-imageu.ads: Likewise.
1539 * libgnat/s-vaispe.adb: Likewise.
1540 * libgnat/s-valint.ads: Likewise.
1541 * libgnat/s-valuei.ads: Likewise.
1542 * libgnat/s-valueu.ads: Likewise.
1543 * libgnat/s-vauspe.adb: Likewise.
1544
cff72485
GA
15452022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1546
1547 * gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix
1548 a couple of minor issues in the commentary.
1549
15502022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1551
1552 * gcc-interface/trans.cc (gigi): Report a violation of No_Dependence
1553 on System.Stack_Checking if Stack_Check_Probes_On_Target is not set
1554 and -fstack-check is specified.
1555 (build_binary_op_trapv): Report violatiosn of No_Dependence on both
1556 System.Arith_64 and System.Arith_128.
1557 (add_decl_expr): If an initialized variable, report a violation of
1558 No_Dependence on System.Memory_Copy for large aggregate types.
1559 (gnat_to_gnu) <N_Op_Eq>: Report a violation
1560 of No_Dependence on System.Memory_Compare for large aggregate types.
1561 <N_Assignment_Statement>! Report a violation of No_Dependence on
1562 System.Memory_Set, System.Memory_Move or else System.Memory_Copy for
1563 large aggregate types.
1564 * gcc-interface/utils2.cc (maybe_wrap_malloc): Report a violation of
1565 No_Dependence on System.Memory.
1566 (maybe_wrap_free): Add GNAT_NODE parameter and report a violation of
1567 No_Dependence on System.Memory.
1568 (build_call_alloc_dealloc): Adjust call to maybe_wrap_free.
1569
15702022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1571
1572 * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not set the debug
1573 type for vector types.
1574
15752022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1576
1577 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>:
1578 Undo questionable renaming.
1579
15802022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1581
1582 * gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case.
1583
15842022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1585
1586 * gcc-interface/trans.cc (gigi): Add one more leading underscore to
1587 name of stack checking function.
1588
15892022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1590
1591 * gcc-interface/decl.cc (Gigi_Cloned_Subtype): New function.
1592 (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call it to get the
1593 cloned subtype, if any.
1594 <E_Floating_Point_Subtype>: Likewise.
1595 <E_Array_Subtype>: Likewise.
1596 <E_Record_Subtype>: Likewise.
1597 <E_Access_Subtype>: Likewise.
1598 Deal with all cloned subtypes on the main path.
1599
16002022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1601
1602 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: Do
1603 not reuse the TYPE_DECL of the base type.
1604
16052022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1606
1607 * gcc-interface/utils.cc (gnat_pushdecl): Build DECL_ORIGINAL_TYPE
1608 only for pointer types.
1609
16102022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1611
1612 * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Also accept
1613 pointer-to-function types that are not variant of each other.
1614
16152022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1616
1617 * gcc-interface/utils.cc (unchecked_convert): Also pad in most cases
1618 if the source is not a scalar type but the destination is.
1619
16202022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1621
1622 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Save
1623 and restore the alias set of the dummy pointer-to-array type.
1624
16252022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1626
1627 * snames.ads-tmpl (Name_Memory_Compare): New package name.
1628 (Name_Memory_Copy): Likewise.
1629 (Name_Memory_Move): Likewise.
1630 (Name_Memory_Set): Likewise.
1631
16322022-07-13 Gary Dismukes <dismukes@adacore.com>
1633
1634 * sem_ch13.adb (Check_And_Resolve_Storage_Model_Type_Argument):
1635 Call the System.Case_Util.To_Mixed procedure rather than the
1636 function, to avoid bootstrap problems.
1637
16382022-07-13 Gary Dismukes <dismukes@adacore.com>
1639
1640 * aspects.ads (Aspect_Argument): Change the association for
1641 Aspect_Storage_Model_Type from Expression to
1642 Optional_Expression.
1643 * exp_util.ads (Find_Storage_Op): Update comment to indicate
1644 that Empty can be returned in the case where a storage-model
1645 operation is defaulted.
1646 * exp_util.adb (Find_Storage_Op): Allow the function to return
1647 Empty in Storage_Model_Type case rather than raising
1648 Program_Error, so that Procedure_To_Call fields in N_Allocator
1649 and N_Free_Statement nodes will be set to Empty in the defaulted
1650 native storage-model case.
1651 * sem_ch13.adb: Add with and use of System.Case_Util (and
1652 reformat context_clause).
1653 (Check_Aspect_At_Freeze_Point): Return with no action for a
1654 Storage_Model_Type aspect with no expression (fully-defaulted
1655 native memory-model case).
1656 (Resolve_Storage_Model_Type_Argument): If an Address_Type has
1657 not been explicitly specified, then set Addr_Type to denote type
1658 System.Address.
1659 (Validate_Storage_Model_Type_Aspect): Return immediately in the
1660 case where the aspect has no Expression (fully-defaulted native
1661 memory-model case). No longer issue an error when Address_Type
1662 isn't specified, and instead use type System.Address as the
1663 default address type. When the address type is
1664 System.Address (whether specified or defaulted), no longer issue
1665 errors for any other "subaspects" that aren't specified, since
1666 in that case those are allowed to default as well. Remove ???
1667 comment about needing to check for duplicates, which is now
1668 addressed.
1669 (Check_And_Resolve_Storage_Model_Type_Argument): New procedure
1670 to check that an association for a storage-model subaspect in
1671 the aggregate has not been specified earlier in the aggregate,
1672 and to then resolve the expression of the association and save
1673 the resolved entity. Called by
1674 Validate_Storage_Model_Type_Aspect.
1675 * sem_util.ads (Storage_Model_Support): Update comments on specs
1676 of the functions Get_Storage_Model_Type_Entity,
1677 Storage_Model_Address_Type, and Storage_Model_Null_Address to
1678 indicate the behavior when the address type is System.Address
1679 (the native memory-model case).
1680 * sem_util.adb
1681 (Storage_Model_Support.Get_Storage_Model_Type_Entity): Suppress
1682 the search for the given subaspect name (Nam) when the
1683 Storage_Model_Type aspect is fully defaulted (i.e., no
1684 Expression is present) and simply return. In cases where the
1685 search is done, but no association that matches Nam is found,
1686 return System.Address for the Name_Address_Type case, return
1687 System.Null_Address for the Name_Null_Address case, and return
1688 Empty for all other cases.
1689
16902022-07-13 Piotr Trojanek <trojanek@adacore.com>
1691
1692 * sem_ch13.adb (Relocate_Expression): New routine with code that
1693 previously was only applied to Pre and Post aspects.
1694 (Analyze_Aspect_Specifications): Apply the above routine to
1695 other aspects, in particular to aspects Address, Attach_Handler,
1696 Predicate and Interrupt_Priority.
1697
16982022-07-13 Piotr Trojanek <trojanek@adacore.com>
1699
1700 * inline.adb (Build_Body_To_Inline): Instead of manipulating the
1701 Full_Analysis flag, use the Inside_A_Generic flag (which is
1702 conveniently manipulated by Start_Generic/End_Generic, together
1703 with Expander_Active).
1704 * sem_attr.adb (Analyze_Attribute_Old_Result): Adapt comment and
1705 assertion to different flag that is set while building
1706 body-to-inline.
1707
17082022-07-13 Alexandre Oliva <oliva@adacore.com>
1709
1710 * doc/gnat_rm/security_hardening_features.rst: Clarify the need
1711 for choices after -fzero-call-used-regs and -fstrub.
1712 * gnat_rm.texi: Regenerate.
1713
17142022-07-13 Yannick Moy <moy@adacore.com>
1715
1716 * sem_prag.adb (Analyze_Pragma): Recognize a generated subtype
1717 with Ghost pragma for generic instantiations.
1718
17192022-07-13 Yannick Moy <moy@adacore.com>
1720
1721 * libgnat/s-aridou.adb (Lemma_Mult_Div, Lemma_Powers): New
1722 lemmas.
1723 (Prove_Sign_Quotient): New local lemma.
1724 (Prove_Signs): Expand definition of Big_R and Big_Q in the
1725 postcondition. Add intermediate assertions.
1726 (Double_Divide): Call new lemma.
1727 (Lemma_Div_Eq): Provide body for proving lemma.
1728 (Lemma_Powers_Of_2, Lemma_Shift_Without_Drop,
1729 Prove_Dividend_Scaling, Prove_Multiplication, Prove_Z_Low): Call
1730 lemmas, add intermediate assertions.
1731
17322022-07-13 Piotr Trojanek <trojanek@adacore.com>
1733
1734 * inline.adb (Has_Single_Return): Add guard for the subsequent
1735 call to Expression.
1736
17372022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1738
1739 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec
1740 earlier if the body is not the completion of a declaration.
1741 (Check_Untagged_Equality): Deal with subprogram bodies that are
1742 not the completion of a declaration and make sure that they are
1743 not flagged when they cause the freezing of the type themselves.
1744 Give a warning on the freezing point of the type in more cases.
1745 * sem_res.adb (Resolve_Equality_Op): Revert latest change.
1746
17472022-07-13 Yannick Moy <moy@adacore.com>
1748
1749 * libgnat/s-arit32.adb (Scaled_Divide32): Add an assertion, move
1750 the call of Prove_Sign_R around.
1751
17522022-07-13 Marc Poulhiès <poulhies@adacore.com>
1753
1754 * exp_ch4.adb (Expand_N_If_Expression): Test for compile time
1755 known bounds when handling slices.
1756
17572022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1758
1759 * exp_util.ads (Integer_Type_For): Mention Small_Integer_Type_For.
1760 (Small_Integer_Type_For): Mention Integer_Type_For.
1761
17622022-07-13 Eric Botcazou <ebotcazou@adacore.com>
1763
1764 * sem_res.adb (Resolve_Equality_Op): Make sure that the user-defined
1765 operator of an untagged record type is declared ahead of an instance
1766 before using it to resolve the equality operator in the instance.
1767
17682022-07-13 Justin Squirek <squirek@adacore.com>
1769
1770 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Add default
1771 initialization for Stmts.
1772 * sem_ch12.adb (Analyze_Associations): Add default
1773 initialization for Match.
1774 * libgnat/a-ztenau.adb (Scan_Enum_Lit): Remove duplicated
1775 boolean test.
1776 * libgnat/g-spipat.adb (XMatch): Combine duplicated cases.
1777
17782022-07-13 Piotr Trojanek <trojanek@adacore.com>
1779
1780 * par-prag.adb (Check_Arg_Count): Change parameter type from Int
1781 to Nat, because this parameter is compared to Arg_Count variable
1782 which is of type Nat. Also, it wouldn't make sense to check for
1783 negative number of pragma arguments.
1784
43997608
GA
17852022-07-12 Piotr Trojanek <trojanek@adacore.com>
1786
1787 * exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment
1788 with declaration in System.Standard_Library.
1789
17902022-07-12 Marc Poulhiès <poulhies@adacore.com>
1791
1792 * libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full
1793 chunk before computing the available size.
1794
17952022-07-12 Steve Baird <baird@adacore.com>
1796
1797 * exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op):
1798 Reimplement choice of which predefined type to use for the
1799 implementation of a predefined operation of a modular type with
1800 a non-power-of-two modulus.
1801
18022022-07-12 Justin Squirek <squirek@adacore.com>
1803
1804 * einfo.ads: Modify documentation for In_Use flag to include
1805 scope stack manipulation.
1806 * sem_ch8.adb (Use_One_Type): Add condition to return when
1807 attempting to detect redundant use_type_clauses in child units
1808 in certain cases.
1809
18102022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1811
1812 * restrict.ads (type ND_Entry): Add System_Child component.
1813 (Check_Restriction_No_Dependence_On_System): Declare.
1814 * restrict.adb (Global_Restriction_No_Tasking): Move around.
1815 (Violation_Of_No_Dependence): New procedure.
1816 (Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence
1817 to report a violation.
1818 (Check_Restriction_No_Dependence_On_System): New procedure.
1819 (Set_Restriction_No_Dependenc): Set System_Child component if the
1820 unit is a child of System.
1821 * snames.ads-tmpl (Name_Arith_64): New package name.
1822 (Name_Arith_128): Likewise.
1823 (Name_Memory): Likewise.
1824 (Name_Stack_Checking): Likewise.
1825 * fe.h (Check_Restriction_No_Dependence_On_System): Declare.
1826
18272022-07-12 Bob Duff <duff@adacore.com>
1828
1829 * par.adb (P_Declarative_Items): New function to parse a
1830 sequence of declarative items.
1831 (P_Sequence_Of_Statements): Add Handled flag, to indicate
1832 whether to wrap the result in a block statement.
1833 * par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items
1834 to be P_Declarative_Item, because it really only parses a single
1835 declarative item, and to avoid conflict with the new
1836 P_Declarative_Items. Add In_Statements. We keep the old
1837 error-recovery mechanisms in place when In_Statements is False.
1838 When True, we don't want to complain about statements, because
1839 we are parsing a sequence of statements.
1840 (P_Identifier_Declarations): If In_Statements, and we see what
1841 looks like a statement, we no longer give an error. We return to
1842 P_Sequence_Of_Statements with Done = True, so it can parse the
1843 statement.
1844 * par-ch5.adb (P_Sequence_Of_Statements): Call
1845 P_Declarative_Items to parse declarative items that appear in
1846 the statement list. Remove error handling code that complained
1847 about such items. Check some errors conservatively. Wrap the
1848 result in a block statement when necessary.
1849 * par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass
1850 Handled => True to P_Sequence_Of_Statements.
1851 * types.ads (No, Present): New functions for querying
1852 Source_Ptrs (equal, not equal No_Location).
1853
18542022-07-12 Piotr Trojanek <trojanek@adacore.com>
1855
1856 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1857 Fix range of iteration.
1858
18592022-07-12 Piotr Trojanek <trojanek@adacore.com>
1860
1861 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1862 Do not process expression of unknown restrictions.
1863
18642022-07-12 Vasiliy Fofanov <fofanov@adacore.com>
1865
1866 * makeusg.adb,
1867 doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P
1868 to the top of switches list and make it clear that gnatmake
1869 passes the ball to gprbuild if -P is set.
1870 * gnat_ugn.texi: Regenerate.
1871
18722022-07-12 Bob Duff <duff@adacore.com>
1873
1874 * libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning.
1875
18762022-07-12 Piotr Trojanek <trojanek@adacore.com>
1877
1878 * sem_attr.adb (Set_Boolean_Result): Simplify using
1879 Boolean_Literals.
1880
18812022-07-12 Yannick Moy <moy@adacore.com>
1882
1883 * errout.adb (Record_Compilation_Errors): Remove global
1884 variable.
1885 (Compilation_Errors): Simplify.
1886 (Initialize): Inline Reset_Warnings.
1887 (Reset_Warnings): Remove.
1888 * errout.ads (Reset_Warnings): Remove.
1889 (Compilation_Errors): Update comment.
1890 * gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend
1891 warnings in GNATprove mode, except regarding elaboration and
1892 suspicious contracts.
1893
18942022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1895
1896 * sem_util.adb (Caller_Known_Size_Record): Make entry assertion
1897 more robust and add guard for null argument. For protected
1898 types, invoke Caller_Known_Size_Record on
1899 Corresponding_Record_Type.
1900 (Needs_Secondary_Stack): Likewise.
1901
19022022-07-12 Doug Rupp <rupp@adacore.com>
1903
1904 * libgnat/system-vxworks7-ppc-rtp.ads: Remove
1905 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
1906
19072022-07-12 Piotr Trojanek <trojanek@adacore.com>
1908
1909 * sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious
1910 call to Set_Comes_From_Source.
1911
19122022-07-12 Bob Duff <duff@adacore.com>
1913
1914 * sem_ch5.adb (Check_Unreachable_Code): Refine heuristics.
1915 * sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove
1916 this; instead we have a new function Is_Simple_Case in
1917 Sem_Ch5.Check_Unreachable_Code.
1918
19192022-07-12 Bob Duff <duff@adacore.com>
1920
1921 * gnatls.adb (Output_License_Information): Remove pragma
1922 No_Return; call sites deal with Exit_Program.
1923 * libgnat/g-socthi.adb (C_Connect): Suppress warning about
1924 unreachable code.
1925 * sem_ch5.adb (Check_Unreachable_Code): Special-case if
1926 statements with static conditions. If we remove unreachable
1927 code (including the return statement) from a function, add
1928 "raise Program_Error", so we won't warn about missing returns.
1929 Remove Original_Node in test for N_Raise_Statement; it's not
1930 needed. Remove test for CodePeer_Mode; if Operating_Mode =
1931 Generate_Code, then CodePeer_Mode can't be True. Misc cleanup.
1932 Do not reuse Nxt variable for unrelated purpose (the usage in
1933 the Kill_Dead_Code loop is entirely local to the loop).
1934 * sem_ch6.adb: Add check for Is_Transfer. Misc cleanup.
1935 * sem_prag.adb: Minor.
1936 * sem_res.adb: Minor.
1937 * sem_util.adb: Minor cleanup.
1938 (Is_Trivial_Boolean): Move to nonnested place, so it can be
1939 called from elsewhere.
1940 (Is_Static_Constant_Boolean): New function.
1941 * sem_util.ads (Is_Trivial_Boolean): Export.
1942 (Is_Static_Constant_Boolean): New function.
1943
19442022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1945
1946 * libgnat/s-stchop.ads: Use a double underscore prefix for symbols.
1947
19482022-07-12 Ed Schonberg <schonberg@adacore.com>
1949
1950 * freeze.adb (Check_Expression_Function.Find_Constant): Add a
1951 check that a type that is referenced as the prefix of an
1952 attribute is fully declared.
1953 (Freeze_And_Append): Do not freeze the profile when freezing an
1954 expression function.
1955 (Freeze_Entity): When a tagged type is frozen, also freeze any
1956 primitive operations of the type that are expression functions.
1957 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent
1958 freezing associated with an expression function body if the
1959 function is a dispatching op.
1960
19612022-07-12 Piotr Trojanek <trojanek@adacore.com>
1962
1963 * sem_ch7.adb (Analyze_Package_Declaration): Check references to
1964 unset objects.
1965
19662022-07-12 Piotr Trojanek <trojanek@adacore.com>
1967
1968 * sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind,
1969 not at the declaration kind.
1970
19712022-07-12 Joffrey Huguet <huguet@adacore.com>
1972
1973 * libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads,
1974 libgnat/a-cfhama.ads, libgnat/a-cfhase.ads,
1975 libgnat/a-cfinse.ads, libgnat/a-cfinve.ads,
1976 libgnat/a-cforma.ads, libgnat/a-cforse.ads,
1977 libgnat/a-chahan.ads, libgnat/a-cofove.ads,
1978 libgnat/a-cofuma.ads, libgnat/a-cofuse.ads,
1979 libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads,
1980 libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads,
1981 libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads,
1982 libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads,
1983 libgnat/a-strbou.ads, libgnat/a-strfix.ads,
1984 libgnat/a-strmap.ads, libgnat/a-strunb.ads,
1985 libgnat/a-strunb__shared.ads, libgnat/a-strsea.ads,
1986 libgnat/a-textio.ads, libgnat/a-tideio.ads,
1987 libgnat/a-tienio.ads, libgnat/a-tifiio.ads,
1988 libgnat/a-tiflio.ads, libgnat/a-tiinio.ads,
1989 libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads,
1990 libgnat/interfac__2020.ads, libgnat/s-atacco.ads,
1991 libgnat/s-stoele.ads: Annotate packages and subprograms with
1992 returning annotations.
1993
19942022-07-12 Eric Botcazou <ebotcazou@adacore.com>
1995
1996 * rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values.
1997 (RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries.
1998 * libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment.
1999 (Str_Concat_Bounds_2): Delete.
2000 * libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last
2001 input to size the last assignment.
2002 (Str_Concat_Bounds_2): Delete.
2003 * libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment.
2004 (Str_Concat_Bounds_3): Delete.
2005 * libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last
2006 input to size the last assignment.
2007 (Str_Concat_Bounds_3): Delete.
2008 * libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment.
2009 (Str_Concat_Bounds_4): Delete.
2010 * libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last
2011 input to size the last assignment.
2012 (Str_Concat_Bounds_4): Delete.
2013 * libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment.
2014 (Str_Concat_Bounds_5): Delete.
2015 * libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last
2016 input to size the last assignment.
2017 (Str_Concat_Bounds_5): Delete.
2018 * libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment.
2019 (Str_Concat_Bounds_6): Delete.
2020 * libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last
2021 input to size the last assignment.
2022 (Str_Concat_Bounds_6): Delete.
2023 * libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment.
2024 (Str_Concat_Bounds_7): Delete.
2025 * libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last
2026 input to size the last assignment.
2027 (Str_Concat_Bounds_7): Delete.
2028 * libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment.
2029 (Str_Concat_Bounds_8): Delete.
2030 * libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last
2031 input to size the last assignment.
2032 (Str_Concat_Bounds_8): Delete.
2033 * libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment.
2034 (Str_Concat_Bounds_9): Delete.
2035 * libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last
2036 input to size the last assignment.
2037 (Str_Concat_Bounds_9): Delete.
2038
20392022-07-12 Bob Duff <duff@adacore.com>
2040
2041 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and
2042 _Previous in the optimized expansion of "for ... of". No longer
2043 need to check parameter profiles for these, because the
2044 leading-underscore names are unique.
2045 * libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and
2046 Previous, to avoid namespace pollution.
2047 * libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads,
2048 libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads,
2049 libgnat/a-cborma.ads, libgnat/a-cborse.ads,
2050 libgnat/a-cdlili.ads, libgnat/a-cidlli.ads,
2051 libgnat/a-cihama.ads, libgnat/a-cihase.ads,
2052 libgnat/a-cimutr.ads, libgnat/a-ciorma.ads,
2053 libgnat/a-ciorse.ads, libgnat/a-cobove.ads,
2054 libgnat/a-cohama.ads, libgnat/a-cohase.ads,
2055 libgnat/a-coinve.ads, libgnat/a-comutr.ads,
2056 libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise. Also,
2057 remove duplicated comments -- refer to one comment about _Next,
2058 _Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY.
2059 * scng.adb (Scan): Allow leading underscores in identifiers in
2060 the run-time library.
2061 * snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with
2062 leading underscores.
2063
20642022-07-12 Piotr Trojanek <trojanek@adacore.com>
2065
2066 * sem_ch5.adb (Check_Unreachable_Code): Extend suppression to
2067 calls with No_Return aspect, but narrow it to functions.
2068 * sem_res.adb (Resolve_Call): Warn about unreachable code after
2069 calls with No_Return.
2070
20712022-07-12 Bob Duff <duff@adacore.com>
2072
2073 * scans.ads: Fix obsolete comments about Tok_Special, and give
2074 Special_Character a predicate assuring it is one of the two
2075 characters used in preprocessing.
2076 * scng.ads: Clean up comments.
2077 * scng.adb: Clean up handling of Tok_Special. Remove comment
2078 about '@' (target_name), which doesn't seem very helpful.
2079 Set_Special_Character will now blow up if given anything other
2080 than '#' and '$', because of the predicate on Special_Character;
2081 it's not clear why it used to say "when others => null;".
2082 Remove Comment_Is_Token, which is not used.
2083 * scn.ads: Remove commented-out use clause. Remove redundant
2084 comment.
2085 * ali-util.adb: Use "is null" for do-nothing procedures.
2086 * gprep.adb (Post_Scan): Use "is null".
2087
20882022-07-12 Bob Duff <duff@adacore.com>
2089
2090 * libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all
2091 exceptions propagated by Specific_Handler.
2092 * libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor.
2093
20942022-07-12 Marc Poulhiès <poulhies@adacore.com>
2095
2096 * sem.adb (Preanalyze): Suppress checks when not in GNATprove
2097 mode.
2098 * sem_res.adb (Preanalyze_And_Resolve): Add cross reference in
2099 comment to above procedure.
2100 * sinfo.ads: Typo fix in comment.
2101
21022022-07-12 Julien Bortolussi <bortolussi@adacore.com>
2103
2104 * libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation
2105 files of the formal unbounded indefinite list.
2106 * Makefile.rtl, impunit.adb: Take into account the add of the
2107 new files.
2108
21092022-07-12 Piotr Trojanek <trojanek@adacore.com>
2110
2111 * sem_util.adb (Is_Variable): Remove excessive guard.
2112
4bc92c3b
GA
21132022-07-06 Piotr Trojanek <trojanek@adacore.com>
2114
2115 * gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads):
2116 Simplify regular expression. The "interval expression",
2117 i.e. \{8\} is part of the POSIX regular expressions, so it
2118 should not be a problem for modern implementations of sed.
2119
21202022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2121
2122 * gcc-interface/trans.cc (gnat_to_gnu): Update comment.
2123
21242022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2125
2126 * gcc-interface/gigi.h (simple_constant_p): Declare.
2127 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Strip
2128 the qualifiers from the type of a simple constant.
2129 (simple_constant_p): New predicate.
2130 * gcc-interface/trans.cc (node_is_atomic): Return true for objects
2131 with atomic type except for simple constants.
2132 (node_is_volatile_full_access): Return false for simple constants
2133 with VFA type.
2134
21352022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2136
2137 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Create a
2138 local constant holding the underlying GNAT type of the object. Do
2139 not fiddle with the object size for an unconstrained array.
2140
21412022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2142
2143 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Constify a
2144 local variable and move a couple of others around.
2145
21462022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2147
2148 * gcc-interface/trans.cc (gnat_gimplify_expr) <SAVE_EXPR>: New case.
2149
21502022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2151
2152 * exp_ch6.adb (Function return mechanisms): New paragraph.
2153
21542022-07-06 Yannick Moy <moy@adacore.com>
2155
2156 * sem_util.adb (Is_Non_Preelaborable_Construct): Fix for
2157 deferred constants.
2158
21592022-07-06 Justin Squirek <squirek@adacore.com>
2160
2161 * libgnat/s-regpat.adb, libgnat/s-regpat.ads (Compile): Add a
2162 new defaulted parameter Error_When_Too_Small to trigger an
2163 error, if specified true, when Matcher is too small to hold the
2164 compiled regex program.
2165
21662022-07-06 Justin Squirek <squirek@adacore.com>
2167
2168 * sem_ch4.adb (Analyze_Selected_Component): Add condition to
2169 avoid interpreting derived type components as candidates for
2170 selected components in preanalysis of inherited class
2171 conditions.
2172
21732022-07-06 Yannick Moy <moy@adacore.com>
2174
2175 * ghost.adb (Check_Ghost_Context): Delay checking for generic
2176 associations.
2177 (Check_Ghost_Context_In_Generic_Association): Perform ghost
2178 checking in analyzed generic associations.
2179 (Check_Ghost_Formal_Procedure_Or_Package): Check SPARK RM
2180 6.9(13-14) for formal procedures and packages.
2181 (Check_Ghost_Formal_Variable): Check SPARK RM 6.9(13-14) for
2182 variables.
2183 * ghost.ads: Declarations for the above.
2184 * sem_ch12.adb (Analyze_Associations): Apply delayed checking
2185 for generic associations.
2186 (Analyze_Formal_Object_Declaration): Same.
2187 (Analyze_Formal_Subprogram_Declaration): Same.
2188 (Instantiate_Formal_Package): Same.
2189 (Instantiate_Formal_Subprogram): Same.
2190 (Instantiate_Object): Same. Copy ghost aspect to newly declared
2191 object for actual for IN formal object. Use new function
2192 Get_Enclosing_Deep_Object to retrieve root object.
2193 (Instantiate_Type): Copy ghost aspect to declared subtype for
2194 actual for formal type.
2195 * sem_prag.adb (Analyze_Pragma): Recognize new allowed
2196 declarations.
2197 * sem_util.adb (Copy_Ghost_Aspect): Copy the ghost aspect
2198 between nodes.
2199 (Get_Enclosing_Deep_Object): New function to return enclosing
2200 deep object (or root for reachable part).
2201 * sem_util.ads (Copy_Ghost_Aspect): Same.
2202 (Get_Enclosing_Deep_Object): Same.
2203 * libgnat/s-imageu.ads: Declare formal subprograms as ghost.
2204 * libgnat/s-valuei.ads: Same.
2205 * libgnat/s-valuti.ads: Same.
2206
22072022-07-06 Javier Miranda <miranda@adacore.com>
2208
2209 * sem_res.adb (Resolve_Type_Conversion): Code cleanup since the
2210 previous static check has been moved to Valid_Tagged_Conversion.
2211 (Valid_Tagged_Conversion): Fix the code checking conversion
2212 to/from interface types since incorrectly returns True when the
2213 parent type of the operand type (or the target type) is an
2214 interface type; add missing static checks on interface type
2215 conversions.
2216
22172022-07-06 Marc Poulhiès <poulhies@adacore.com>
2218
2219 * libgnat/s-secsta.ads (SS_Allocate): Add new Alignment
2220 parameter.
2221 (Memory_Alignment): Remove.
2222 * libgnat/s-secsta.adb (Align_Addr): New.
2223 (SS_Allocate): Add new Alignment parameter. Realign pointer if
2224 needed. Don't allocate anything for 0-sized allocations.
2225 * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add
2226 allocated object's alignment as last parameter to allocation
2227 invocation.
2228
22292022-07-06 Piotr Trojanek <trojanek@adacore.com>
2230
2231 * libgnat/g-socket.adb (Get_Address_Info): Reduce scope of the
2232 Found variable; avoid repeated assignment inside the loop.
2233
22342022-07-06 Doug Rupp <rupp@adacore.com>
2235
2236 * Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel
2237 build macros and set an error variable if needed.
2238 [x86,x86_vxworks7]: Likewise.
2239 [ppc,ppc64]: Set an error variable if needed.
2240 (rts-err): New phony Makefile target.
2241 (setup-rts): Depend on rts-err.
2242
22432022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2244
2245 * exp_ch3.adb (Make_Allocator_For_BIP_Return): New local function.
2246 (Expand_N_Object_Declaration): Use it to build the three allocators
2247 for a Build-In-Place return with an unconstrained type. Update the
2248 head comment after other recent changes.
2249
22502022-07-06 Doug Rupp <rupp@adacore.com>
2251
2252 * libgnat/system-vxworks7-e500-kernel.ads: Remove.
2253 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
2254 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
2255
22562022-07-06 Justin Squirek <squirek@adacore.com>
2257
2258 * gnat_cuda.adb (Empty_CUDA_Global_Subprogram): Set
2259 Specification and Corresponding_Spec to match the original
2260 Kernel_Body.
2261
22622022-07-06 Piotr Trojanek <trojanek@adacore.com>
2263
2264 * exp_ch6.adb (Build_Static_Check_Helper_Call): Replace explicit
2265 call to Make_Unchecked_Type_Conversion with a call to
2266 Unchecked_Convert_To.
2267 * tbuild.adb (Unchecked_Convert_To): Fix whitespace.
2268
22692022-07-06 Piotr Trojanek <trojanek@adacore.com>
2270
2271 * sem_res.adb (Resolve_Actuals): Restore first sentence of a
2272 comment.
2273
22742022-07-06 Eric Botcazou <ebotcazou@adacore.com>
2275
2276 * exp_aggr.adb (Expand_Record_Aggregate): Do not call
2277 Is_Full_Access_Aggregate here.
2278 * freeze.ads (Is_Full_Access_Aggregate): Delete.
2279 * freeze.adb (Is_Full_Access_Aggregate): Move to...
2280 (Freeze_Entity): Do not call Is_Full_Access_Aggregate here.
2281 * sem_aggr.adb (Is_Full_Access_Aggregate): ...here
2282 (Resolve_Aggregate): Call Is_Full_Access_Aggregate here.
2283
d1f3a3ff
GA
22842022-07-05 Piotr Trojanek <trojanek@adacore.com>
2285
2286 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2287 (Warning Message Control): Update description of switch -gnatwj.
2288 * gnat_ugn.texi: Regenerate.
2289 * sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for
2290 obsolete renamed units; in Ada 83 mode do not consider
2291 predefined renamings to be obsolete.
2292
22932022-07-05 Eric Botcazou <ebotcazou@adacore.com>
2294
2295 * exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty.
2296 * sem_util.adb (Visit_Itype): Remove ??? comment.
2297
22982022-07-05 Piotr Trojanek <trojanek@adacore.com>
2299
2300 * sem_attr.adb (Note_Possible_Modification): Revert a
2301 special-case for validity checks on Long_Float type.
2302 * snames.ads-tmpl (Name_Attr_Long_Float): Remove name added
2303 exclusively for the mentioned fix.
2304
23052022-07-05 Piotr Trojanek <trojanek@adacore.com>
2306
2307 * sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of
2308 Never_Set_In_Source.
2309
23102022-07-05 Piotr Trojanek <trojanek@adacore.com>
2311
2312 * sem_ch6.adb (Process_Formals): Avoid repeated calls to
2313 Expression.
2314
23152022-07-05 Piotr Trojanek <trojanek@adacore.com>
2316
2317 * exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List.
2318 * par_sco.adb (Process_Decisions): Likewise.
2319 * sem_ch13.adb (Check_Component_List): Likewise.
2320 * sem_ch6.adb (FCL): Likewise.
2321
23222022-07-05 Doug Rupp <rupp@adacore.com>
2323
2324 * cstreams.c (__gnat_full_name) [QNX]: Remove block.
2325
23262022-07-05 Piotr Trojanek <trojanek@adacore.com>
2327
2328 * osint.adb (Locate_File): Use Name_Find with a parameter and
2329 not with a global buffer.
2330
23312022-07-05 Piotr Trojanek <trojanek@adacore.com>
2332
2333 * exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
2334 * exp_prag.adb (Arg_N): Likewise.
2335
23362022-07-05 Yannick Moy <moy@adacore.com>
2337
2338 * ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object
2339 renaming.
2340
23412022-07-05 Bob Duff <duff@adacore.com>
2342
2343 * exp_ch7.adb: Change two constants Is_Protected_Body and
2344 Is_Prot_Body to be Is_Protected_Subp_Body; these are not true
2345 for protected bodies, but for protected subprogram bodies.
2346 (Expand_Cleanup_Actions): No need to search for
2347 Activation_Chain_Entity; just use Activation_Chain_Entity.
2348 * sem_ch8.adb (Find_Direct_Name): Use Entyp constant.
2349 * atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads
2350 (Parent): Provide nonoverloaded versions of Parent, so that they
2351 can be easily found in the debugger.
2352 * debug_a.adb, debug_a.ads: Clarify that we're talking about the
2353 -gnatda switch; switches are case sensitive. Print out the
2354 Chars field if appropriate, which makes it easier to find things
2355 in the output.
2356 (Debug_Output_Astring): Simplify. Also fix an off-by-one
2357 bug ("for I in Vbars'Length .." should have been "for I in
2358 Vbars'Length + 1 .."). Before, it was printing Debug_A_Depth +
2359 1 '|' characters if Debug_A_Depth > Vbars'Length.
2360
23612022-07-05 Piotr Trojanek <trojanek@adacore.com>
2362
2363 * sem_prag.adb (Analyze_Pragma): Remove unnecessary call to
2364 Analyze.
2365
23662022-07-05 Piotr Trojanek <trojanek@adacore.com>
2367
2368 * libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect.
2369 (Raise_GAI_Error): Likewise.
2370 * libgnat/g-socket.ads (Raise_Socket_Error): Likewise.
2371
23722022-07-05 Piotr Trojanek <trojanek@adacore.com>
2373
2374 * sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace;
2375 refactor repeated code; replace a ??? comment with an
2376 explanation based on the comment for the routine spec.
2377
23782022-07-05 Piotr Trojanek <trojanek@adacore.com>
2379
2380 * sem_util.ads (Note_Possible_Modification): Fix occurrence of
2381 May_Be_Modified in comment.
2382 * sem_warn.ads (Check_Unset_Reference): Fix occurrence of
2383 Not_Assigned in comment.
2384
23852022-07-05 Yannick Moy <moy@adacore.com>
2386
2387 * sem_attr.adb (Analyze_Attribute): Take into account the
2388 possibility of homonyms.
2389
23902022-07-05 Eric Botcazou <ebotcazou@adacore.com>
2391
2392 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming
2393 for any nonaliased local object with nominal unconstrained subtype
2394 originally initialized with the result of a function call that has
2395 been rewritten as the dereference of a reference to the result.
2396 * sem_ch3.adb (Analyze_Object_Declaration): Do not do it here
2397
23982022-07-05 Arnaud Charlet <charlet@adacore.com>
2399
2400 * exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable
2401 perfect hash in GNAT_Mode.
2402 * raise-gcc.c (__gnat_Unwind_RaiseException): Add support for
2403 disabling exception propagation.
2404 * sem_eval.adb (Compile_Time_Known_Value): Update comment and
2405 remove wrong call to Check_Error_Detected.
2406 * sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma):
2407 Remove exception propagation during bootstrap.
2408
24092022-07-05 Eric Botcazou <ebotcazou@adacore.com>
2410
2411 * exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code.
2412 Delay the expansion of aggregates initializing return objects of
2413 build-in-place functions.
2414 * exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete.
2415 * exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to...
2416 (Expand_N_Object_Declaration): ...here.
2417 Perform the expansion of return objects of build-in-place functions
2418 here instead of...
2419 * exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare.
2420 * exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here.
2421 (Is_Build_In_Place_Result_Type): Alphabetize.
2422 (Is_Build_In_Place_Return_Object): New predicate.
2423 * exp_ch7.adb (Enclosing_Function): Delete.
2424 (Process_Object_Declaration): Tidy up handling of return objects.
2425 * sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and
2426 freeze the actual type if it is the same as the nominal type.
2427 * sem_ch6.adb: Remove use and with clauses for Exp_Ch3.
2428 (Analyze_Function_Return): Analyze again all return objects.
2429 (Create_Extra_Formals): Do not force the definition of an Itype
2430 if the subprogram is a compilation unit.
2431
24322022-07-05 Piotr Trojanek <trojanek@adacore.com>
2433
2434 * gnatls.adb (Corresponding_Sdep_Entry): Remove dead return
2435 statement in defensive path; there is another return statement
2436 for a normal execution of this routine, so rule Ada RM 6.5(5),
2437 which requires function to have at least one return statement is
2438 still satisfied.
2439 (Gnatls): Remove dead, call to nonreturning Exit_Program after
2440 Output_License_Information which itself does not return.
2441 * libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was
2442 meant to please some ancient version of GNAT.
2443 * libgnat/g-awk.adb (Raise_With_Info): Likewise.
2444 * sem_attr.adb (Check_Reference): Remove dead return statement;
2445 rule Ada RM 6.5(5), which requires function to have at least one
2446 return statement is still satisfied.
2447 (Analyze_Attribute): Remove dead exit statement.
2448 (Check_Reference): Same as above.
2449 * sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise
2450 statement; it was inconsistent with other calls to
2451 Abandon_Instantiation, which are not followed by a raise
2452 statement.
2453 * sem_prag.adb (Process_Convention): Remove dead defensive
2454 assignment.
2455 (Interrupt_State): Remove dead defensive exit statement.
2456 (Do_SPARK_Mode): Likewise.
2457 * sfn_scan.adb (Scan_String): Remove dead defensive assignment.
2458
24592022-07-05 Piotr Trojanek <trojanek@adacore.com>
2460
2461 * sem_attr.adb, sem_prag.adb: Remove dead return statements
2462 after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and
2463 Placement_Error. All these calls raise exceptions that are
2464 handled to gently recover from errors.
2465
24662022-07-05 Doug Rupp <rupp@adacore.com>
2467
2468 * libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute
2469 based on Standard'Word_Size.
2470 (Memory_Size): Compute based on Word_Size.
2471 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
2472 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
2473
24742022-07-05 Piotr Trojanek <trojanek@adacore.com>
2475
2476 * sem_attr.adb (Analyze_Attribute): Move call to
2477 Set_Address_Taken so that it is executed when the prefix
2478 attribute is legal.
2479
24802022-07-05 Piotr Trojanek <trojanek@adacore.com>
2481
2482 * sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of
2483 Sloc; this should also help when we finally use Source_Span for
2484 prettier error messages.
2485
24862022-07-05 Piotr Trojanek <trojanek@adacore.com>
2487
2488 * sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard;
2489 the call to Present wasn't needed either.
2490
24912022-07-05 Piotr Trojanek <trojanek@adacore.com>
2492
2493 * sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with
2494 No_List is safe and will return zero.
2495
24962022-07-05 Piotr Trojanek <trojanek@adacore.com>
2497
2498 * sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule.
2499
25002022-07-05 Piotr Trojanek <trojanek@adacore.com>
2501
2502 * sem_ch6.adb (Check_Missing_Return): Remove outdated comment.
2503
25042022-07-05 Dmitriy Anisimkov <anisimko@adacore.com>
2505
2506 * adaint.h (convert_addresses): Remove function declaration.
2507
25082022-07-05 Doug Rupp <rupp@adacore.com>
2509
2510 * Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code.
2511 * vxworks-arm-link.spec: Remove.
2512 * vxworks-e500-link.spec: Likewise.
2513 * vxworks-smp-arm-link.spec: Likewise.
2514 * vxworks-smp-e500-link.spec: Likewise.
2515 * vxworks-smp-x86-link.spec: Likewise.
2516 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
2517 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
2518 * libgnat/system-vxworks-arm.ads: Likewise.
2519 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
2520 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
2521 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
2522 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
2523 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
2524 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
2525
8467574d
GA
25262022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2527
2528 * sem_disp.adb (Check_Dispatching_Call): Merge the two special cases
2529 where there are no controlling actuals but tag-indeternminate ones.
2530
25312022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2532
2533 * exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls
2534 that are dispatching on tagged result.
2535
25362022-07-04 Doug Rupp <rupp@adacore.com>
2537
2538 * Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads.
2539
25402022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2541
2542 * exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New
2543 local function.
2544 <Rewrite_As_Renaming>: Change to a local variable whose value is
2545 computed once and generate a call to Finalize after this is done.
2546 Simplify the code creating the renaming at the end.
2547
25482022-07-04 Doug Rupp <rupp@adacore.com>
2549
2550 * Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files.
2551
25522022-07-04 Piotr Trojanek <trojanek@adacore.com>
2553
2554 * sem_attr.adb (Resolve_Attribute): Refactor duplicated code for
2555 Count and Index attributes.
2556
25572022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2558
2559 * checks.adb (Apply_Length_Check_On_Assignment): Return early if
2560 the Suppress_Assignment_Checks flag is set.
2561 (Selected_Range_Checks): Deal with conditional expressions.
2562 * exp_ch4.adb (Too_Large_Length_For_Array): New constant.
2563 (Expand_Concatenate): Use it in lieu of Too_Large_Max_Length.
2564 (Expand_N_If_Expression): If the result has a unidimensional array
2565 type but the dependent expressions have constrained subtypes with
2566 known bounds, create a static temporary on the stack with a subtype
2567 covering the result.
2568 (Get_First_Index_Bounds): Deal with string literals.
2569 * uintp.ads (Uint_256): New deferred constant.
2570 * sinfo.ads (Suppress_Assignment_Checks): Document new usage.
2571
25722022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2573
2574 * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
2575 Do not rewrite if the declaration has got constraints.
2576 * sinfo.ads (Case Expression Alternative): Fix typo.
2577
25782022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2579
2580 * exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
2581 Be prepared for slices.
2582 * exp_ch4.adb (Get_First_Index_Bounds): New procedure.
2583 (Expand_Array_Comparison.Length_Less_Than_4): Call it.
2584 (Expand_Concatenate): Try to compute a maximum length for
2585 operands with variable length and a maximum total length at the
2586 end. If the concatenation is dynamic, but a sensible maximum
2587 total length has been computed, use this length to create a
2588 static array subtype for the temporary and return a slice of it.
2589
25902022-07-04 Steve Baird <baird@adacore.com>
2591
2592 * sem_ch3.adb (Check_Possible_Deferred_Completion): Delete
2593 Prev_Obj_Def formal parameter. Reorganize code so that
2594 statically matching check is also performed in the case where
2595 the subtype given in the initial declaration is constrained and
2596 the subtype given in the completion is not.
2597
25982022-07-04 Bob Duff <duff@adacore.com>
2599
2600 * einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E
2601 and N. Change some parameters to use the unpredicated subtypes,
2602 because they sometimes return e.g. Empty. Note that N_Entity_Id
2603 has a predicate; Entity_Id does not.
2604 * exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E,
2605 because otherwise we fail the predicate. We shouldn't be
2606 referring to single-letter names from far away anyway.
2607 * sem_aux.adb (Is_Derived_Type): Likewise.
2608 * sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for
2609 predicate.
2610 * types.ads (Entity_Id): Add comment explaining the difference
2611 between Entity_Id and N_Entity_Id.
2612
26132022-07-04 Justin Squirek <squirek@adacore.com>
2614
2615 * exp_util.adb (Remove_Side_Effects): Combine identical
2616 branches.
2617 * sem_attr.adb (Analyze_Attribute): Combine identical cases
2618 Attribute_Has_Same_Storage and Attribute_Overlaps_Storage.
2619 * sem_prag.adb (Check_Role): Combine E_Out_Parameter case with
2620 general case for parameters.
2621 * sem_util.adb (Accessibility_Level): Combine identical
2622 branches.
2623 * sprint.adb (Sprint_Node_Actual): Combine cases for
2624 N_Real_Range_Specification and N_Signed_Integer_Type_Definition.
2625
26262022-07-04 Justin Squirek <squirek@adacore.com>
2627
2628 * libgnat/s-os_lib.adb (Quote_Argument): Modify the result
2629 buffer size calculation to handle the case where Arg'Length is
2630 1.
2631
26322022-07-04 Bob Duff <duff@adacore.com>
2633
2634 * exp_util.adb (Expand_Subtype_From_Expr): Generate a new
2635 subtype when Is_Constr_Subt_For_UN_Aliased is True, so the
2636 Is_Constr_Subt_For_U_Nominal flag will not be set on the
2637 preexisting subtype.
2638 * sem_attr.adb, sem_ch3.adb: Minor.
2639
26402022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2641
2642 * debug.adb (d.9): Remove usage.
2643 * exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant
2644 test on Debug_Flag_Dot_L.
2645 (Is_Build_In_Place_Result_Type): Return false for nonlimited types.
2646 (Is_Build_In_Place_Function): Tidy up and remove redundant test on
2647 Debug_Flag_Dot_L.
2648
26492022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2650
2651 * exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object
2652 if the expression is a function call.
2653 <Rewrite_As_Renaming>: Return true if the object needs finalization
2654 and is initialized with the result of a function call returned on
2655 the secondary stack.
2656 * exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean
2657 parameter. Early return if the parent is an object declaration and
2658 Use_Sec_Stack is false.
2659 (Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call.
2660 * exp_ch7.adb (Find_Last_Init): Be prepared for initialization still
2661 present in the object declaration.
2662 * sem_ch3.adb (Analyze_Object_Declaration): Call the predicates
2663 Needs_Secondary_Stack and Needs_Finalization to guard the renaming
2664 optimization.
2665
26662022-07-04 Bob Duff <duff@adacore.com>
2667
2668 * libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
2669 libgnat/a-cihase.ads, libgnat/a-ciorse.ads,
2670 libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function
2671 that takes a Container parameter, implemented as an expression
2672 function, so it is self explanatory (doesn't need a comment).
2673
26742022-07-04 Vasiliy Fofanov <fofanov@adacore.com>
2675
2676 * doc/gnat_rm/the_gnat_library.rst: Fix length of title
2677 underlines.
2678
26792022-07-04 Steve Baird <baird@adacore.com>
2680
2681 * sem_ch4.adb (Analyze_Allocator): After calling Insert_Action
2682 to insert a subtype declaration associated with an allocator,
2683 the subtype declaration will usually be analyzed. But not
2684 always. Add an explicit call to Preanalyze to cope with the
2685 unusual case. The subtype declaration must be at least
2686 preanalyzed before the call to Sem_Ch3.Process_Subtype a little
2687 while later, during which we analyze an identifier that refers
2688 to the subtype.
2689
26902022-07-04 Steve Baird <baird@adacore.com>
2691
2692 * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
2693 generate a warning if the expression in question is an assertion
2694 expression, or a subexpression thereof. But do call
2695 Test_Comparison so that it can generate warnings for the cases
2696 that it generates warnings for.
2697 * sem_prag.ads: Modify Assertion_Expression_Pragma constant so
2698 that the predicate Sem_Util.In_Assertion_Expression_Pragma
2699 returns True for the expression of a Compile_Time_Error pragma.
2700
27012022-07-04 Julien Bortolussi <bortolussi@adacore.com>
2702
2703 * doc/gnat_rm/the_gnat_library.rst: Add the new entry.
2704 * gnat_rm.texi: Regenerate.
2705
27062022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2707
2708 * sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands
2709 in all cases.
2710 (Resolve_Equality_Op): Likewise, except for the case of the implicit
2711 inequality operator created for a user-defined operator that is not
2712 an intrinsic subprogram.
2713
27142022-07-04 Bob Duff <duff@adacore.com>
2715
2716 * libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
2717 libgnat/a-cborse.adb, libgnat/a-cborse.ads,
2718 libgnat/a-cihase.adb, libgnat/a-cihase.ads,
2719 libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
2720 libgnat/a-cohase.adb, libgnat/a-cohase.ads,
2721 libgnat/a-conhel.adb, libgnat/a-conhel.ads,
2722 libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element,
2723 Element, Query_Element, and Next subprograms that take a Set
2724 parameter. Add Tampering_With_Cursors_Prohibited function. These
2725 are all new in Ada 2022.
2726
27272022-07-04 Claire Dross <dross@adacore.com>
2728
2729 * doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets,
2730 and maps are now controlled.
2731 * gnat_rm.texi: Regenerate.
2732
27332022-07-04 Claire Dross <dross@adacore.com>
2734
2735 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2736 (Debugging and Assertion Control): Add GNAT specific assertion
2737 pragmas to the equivalent Assertion_Policy for the -gnata
2738 option.
2739 * gnat_ugn.texi: Regenerate.
2740
27412022-07-04 Justin Squirek <squirek@adacore.com>
2742
2743 * sem_disp.adb (Most_Descendant_Use_Clause): Remove call to
2744 deprecated Is_Internal.
2745 * sem_util.adb (Innermost_Master_Scope_Depth): Use
2746 Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid
2747 cases where relevant scopes get skipped leading to an incorrect
2748 scope depth calculation.
2749
27502022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2751
2752 * exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref
2753 for the function if the extra formals were not built initially.
2754
27552022-07-04 Piotr Trojanek <trojanek@adacore.com>
2756
2757 * sem_ch13.adb (Resolve_Iterable_Operation): Add guard to
2758 prevent crash when the examined function has no formal
2759 parameters and Etype is called on Empty entity.
2760
27612022-07-04 Julien Bortolussi <bortolussi@adacore.com>
2762
2763 * libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation
2764 files of the sequence.
2765 * Makefile.rtl, impunit.adb: Take into account the add of the
2766 new files
2767
27682022-07-04 Eric Botcazou <ebotcazou@adacore.com>
2769
2770 * doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function):
2771 Fix ambiguous wording about context dependence.
2772 * gnat_rm.texi: Regenerate.
2773
b168441c
GA
27742022-06-02 David Malcolm <dmalcolm@redhat.com>
2775
2776 * gcc-interface/misc.cc (gnat_get_sarif_source_language): New.
2777 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
2778
27792022-06-02 Pierre-Marie de Rodat <derodat@adacore.com>
2780
2781 * gcc-interface/gigi.h: Update copyright notice.
2782 * gcc-interface/lang-specs.h: Likewise.
2783 * gcc-interface/utils.cc: Likewise.
2784
27852022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2786
2787 * gcc-interface/gigi.h (enum standard_datatypes): Remove values
2788 for the SJLJ exception mechanism.
2789 (jmpbuf_type): Delete.
2790 (jmpbuf_ptr_type): Likewise.
2791 (get_jmpbuf_decl): Likewise.
2792 (set_jmpbuf_decl): Likewise.
2793 (get_excptr_decl): Likewise.
2794 (not_handled_by_others_decl): Likewise.
2795 (setjmp_decl): Likewise.
2796 (update_setjmp_buf_decl): Likewise.
2797 (raise_nodefer_decl): Likewise.
2798 (set_block_jmpbuf_decl): Likewise.
2799 (get_block_jmpbuf_decl): Likewise.
2800 * gcc-interface/trans.cc (gigi): Delete dead code.
2801 * gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL.
2802 (gnat_pushlevel): Do not clear it.
2803 (set_block_jmpbuf_decl): Delete.
2804 (get_block_jmpbuf_decl): Likewise.
2805
28062022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
2807
2808 * gcc-interface/decl.cc (warn_on_field_placement): Add insertion
2809 character '.q' to warning string.
2810
28112022-06-02 Arnaud Charlet <charlet@adacore.com>
2812
2813 * gcc-interface/Makefile.in (gnatlib-shared-default): Add
2814 -fno-lto.
2815
28162022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2817
2818 * gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the
2819 scope of anonymous access Itypes.
2820 * gcc-interface/trans.cc (Identifier_to_gnu): Do not translate
2821 the return type of a subprogram here.
2822
28232022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2824
2825 * exp_ch7.adb (Expand_N_Package_Body): Build static dispatch
2826 tables only for units that are not compilation units, unless
2827 they are generic instances. Do not push a scope for this.
2828 (Expand_N_Package_Declaration): Build static dispatch tables
2829 only for units that are both not compilation units and generic
2830 instances.
2831 * exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant
2832 early return. Push a scope for package bodies.
2833 * sem_ch10.adb: Add with and use clauses for Exp_Disp.
2834 (Analyze_Compilation_Unit): Build static dispatch tables here.
2835
28362022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2837
2838 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public
2839 flag on thunks.
2840
28412022-06-02 Piotr Trojanek <trojanek@adacore.com>
2842
2843 * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb,
2844 sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb,
2845 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
2846 sem_util.adb: Remove checks for the missing list before
2847 iterating with First/Next; reindent code and refill comments.
2848
28492022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2850
2851 * einfo.ads (Has_Controlling_Result): Document new usage.
2852 (Is_Thunk): Document secondary stack thunks.
2853 (Returns_By_Ref): Adjust.
2854 * exp_ch6.adb (Caller_Known_Size): Return true for tagged types.
2855 (Expand_N_Extended_Return_Statement): Do not call Set_By_Ref.
2856 (Expand_Simple_Function_Return): For a BIP return with an Alloc_Form
2857 parameter, mark the node as returning on the secondary stack.
2858 Replace call to Is_Limited_Interface with Is_Limited_View. Deal wit
2859 secondary stack thunks. Do not call Set_By_Ref. Optimize the case
2860 of a call to a function whose type also needs finalization.
2861 (Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target.
2862 (Needs_BIP_Finalization_Master): Cosmetic fixes.
2863 (Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and
2864 return true for tagged types.
2865 * exp_ch7.adb (Transient Scope Management): Update description.
2866 * exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref
2867 on designated type if the call is dispatching on result. Tidy up.
2868 (Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to
2869 List_Id. Change type of local variables from Node_Id to Entity_Id.
2870 Propagate Aliased_Present flag to create the formals and explicitly
2871 set Has_Controlling_Result to False. Build a secondary stack thunk
2872 if necessary in the function case.
2873 (Expand_Secondary_Stack_Thunk): New function.
2874 (Make_Secondary_DT): Build secondary stack thunks if necessary.
2875 (Make_DT): Likewise.
2876 (Register_Predefined_Primitive): Likewise.
2877 (Register_Primitive): Likewise.
2878 * exp_util.ads (Is_Secondary_Stack_Thunk): Declare.
2879 (Thunk_Target): Likewise.
2880 * exp_util.adb (Is_Secondary_Stack_Thunk): New function.
2881 (Thunk_Target): Likewise.
2882 * fe.h (Is_Secondary_Stack_Thunk): Declare.
2883 (Thunk_Target): Likewise.
2884 * gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref.
2885 * gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise.
2886 (N_Extended_Return_Statement): Likewise.
2887 * sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for
2888 abstract return type in the thunk case.
2889 (Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target.
2890 * sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case.
2891 * sem_util.adb: Add use and with clauses for Exp_Ch6.
2892 (Compute_Returns_By_Ref): Do not process procedures and only set
2893 the flag for direct return by reference.
2894 (Needs_Secondary_Stack): Do not return true for specific tagged
2895 types and adjust comments accordingly.
2896 * sinfo.ads (By_Ref): Delete.
2897 (N_Simple_Return_Statement): Remove By_Ref.
2898 (N_Extended_Return_Statement): Likewise.
2899 * gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete.
2900 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it.
2901 Return by direct reference if the return type needs the secondary
2902 stack as well as for secondary stack thunks.
2903 * gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter.
2904 * gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change.
2905 * gcc-interface/trans.cc (finalize_nrv): Replace test on
2906 TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P.
2907 (Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for
2908 secondary stack thunks.
2909 (Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P.
2910 (gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct
2911 reference case, test for the presence of Storage_Pool on the node
2912 to build an allocator.
2913 (maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target.
2914 * gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter.
2915
29162022-06-02 Marc Poulhiès <poulhies@adacore.com>
2917
2918 * einfo.ads: Fix reference to Global_Entity_Suppress and
2919 Local_Entity_Suppress variable in the comments.
2920 * sem.ads: Likewise.
2921 * sem_prag.adb: Likewise.
2922
29232022-06-02 Claire Dross <dross@adacore.com>
2924
2925 * libgnat/s-aridou.adb: Use Always_Return instead of Terminating
2926 to annotate termination for GNATprove.
2927 * libgnat/s-arit32.adb: Idem.
2928 * libgnat/s-spcuop.ads: Idem.
2929
29302022-06-02 Julien Bortolussi <bortolussi@adacore.com>
2931
2932 * libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
2933 libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and
2934 Num_Overlaps return Big_Natural.
2935 * libgnat/a-cforse.ads, libgnat/a-cforse.adb,
2936 libgnat/a-cforma.adb, libgnat/a-cfhase.ads,
2937 libgnat/a-cfhase.adb, libgnat/a-cfhama.adb,
2938 libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead
2939 of Count_Type.
2940
29412022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2942
2943 * exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the
2944 Offset_Func component by means of 'Unrestricted_Access.
2945
29462022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
2947
2948 * errout.adb (Write_JSON_Span): Add subprogram name to emitted
2949 JSON.
2950
29512022-06-02 Arnaud Charlet <charlet@adacore.com>
2952
2953 * sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local
2954 procedure, used for code refactoring. Also take into account
2955 Inline_Always pragma when deciding to make a symbol public for
2956 C generation.
2957
29582022-06-02 Yannick Moy <moy@adacore.com>
2959
2960 * atree.adb (New_Copy): Reset flags related to ghost entities
2961 before marking the new node.
2962
29632022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2964
2965 * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move
2966 procedure to...
2967 * exp_disp.ads (Expand_Interface_Thunk): Move declaration to...
2968 (Register_Predefined_Primitive): Declare.
2969 * exp_disp.adb (Expand_Interface_Thunk): ...here.
2970 (Register_Predefined_Primitive): ...here and change into a function
2971 returning List_Id.
2972
29732022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2974
2975 * exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment.
2976 (Expand_N_Object_Declaration): Do not build static dispatch tables.
2977 * exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure.
2978 (Build_Static_Dispatch_Tables): Call it to build the dispatch tables
2979 and wrap them in the Actions list of a freeze node.
2980
29812022-06-02 Doug Rupp <rupp@adacore.com>
2982
2983 * libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives):
2984 Set True.
2985 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
2986 * libgnat/system-vxworks7-aarch64.ads: Likewise.
2987 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise:
2988
29892022-06-02 Javier Miranda <miranda@adacore.com>
2990
2991 * libgnat/g-dyntab.ads (Table_Type): Update documentation.
2992
29932022-06-02 Eric Botcazou <ebotcazou@adacore.com>
2994
2995 * freeze.adb (Check_Expression_Function.Find_Constant): Make test
2996 for deferred constants more robust.
2997
29982022-06-02 Joffrey Huguet <huguet@adacore.com>
2999
3000 * libgnat/i-cstrin.ads (Update): Update precondition.
3001
30022022-06-02 Yannick Moy <moy@adacore.com>
3003
3004 * sem_ch2.adb (Analyze_Identifier): Add checking for ghost
3005 context.
3006 * sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat
3007 implicit labels like other entities by setting their ghost
3008 status according to context.
3009 * ghost.adb (Check_Ghost_Context): Adapt checking.
3010
30112022-06-02 Joffrey Huguet <huguet@adacore.com>
3012
3013 * libgnat/i-cstrin.ads (Update): Add precondition.
3014
30152022-06-02 Yannick Moy <moy@adacore.com>
3016
3017 * sem_ch5.adb (Analyze_Label_Entity): Remove body.
3018 * sem_ch5.ads (Analyze_Label_Entity): Remove spec.
3019
30202022-06-02 Eric Botcazou <ebotcazou@adacore.com>
3021
3022 * sem_util.adb (Propagate_DIC_Attributes): Add ??? comment.
3023 (Propagate_Invariant_Attributes): Likewise. Propagate the
3024 Has_Inheritable_Invariants and Has_Inherited_Invariants to
3025 the base type of the target type.
3026
30272022-06-02 Doug Rupp <rupp@adacore.com>
3028
3029 * libgnat/system-linux-arm.ads (Memory_Size): Compute based on
3030 Word_Size.
3031
30322022-06-02 Doug Rupp <rupp@adacore.com>
3033
3034 * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size):
3035 Compute based on Standard'Word_Size. (Memory_Size): Compute
3036 based on Word_Size.
3037 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
3038 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
3039 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
3040 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
3041 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
3042 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
3043 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
3044 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
3045
30462022-06-02 Justin Squirek <squirek@adacore.com>
3047
3048 * gnatbind.adb (Gnatbind): Add initialize call for Uintp
3049 * gnatls.adb (Gnatls): Likewise.
3050 * gprep.adb (Gnatprep): Likewise.
3051 * make.adb (Initialize): Likewise.
3052
30532022-06-02 Claire Dross <dross@adacore.com>
3054
3055 * libgnat/a-cfinve.ads (Element): Change the type of the
3056 Position parameter to Extended_Index.
3057 * libgnat/a-cfinve.adb (Element): Idem.
3058 * libgnat/a-cofove.ads (Element): Idem.
3059 * libgnat/a-cofove.adb (Element): Idem.
3060
30612022-06-02 Joffrey Huguet <huguet@adacore.com>
3062
3063 * libgnat/s-atacco.ads (To_Pointer): Add Global => null.
3064 (To_Address): Add SPARK_Mode => Off.
3065
30662022-06-02 Joffrey Huguet <huguet@adacore.com>
3067
3068 * libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off.
3069 (Free): Likewise.
3070 (New_Char_Array): Add global contracts and Volatile attribute.
3071 (New_String): Likewise.
3072 (Value, Strlen, Update): Add global contracts and preconditions.
3073 * libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package
3074 body.
3075
3164de6a
GA
30762022-06-01 Yannick Moy <moy@adacore.com>
3077
3078 * contracts.adb (Check_Type_Or_Object_External_Properties): Check
3079 the validity of combinations only when No_Caching is not used.
3080 * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check
3081 valid combinations with No_Caching.
3082
30832022-06-01 Doug Rupp <rupp@adacore.com>
3084
3085 * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute
3086 based on Standard'Word_Size. (Memory_Size): Compute based
3087 on Word_Size.
3088 * libgnat/system-vxworks7-arm.ads: Likewise.
3089 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
3090 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
3091 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
3092 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
3093 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
3094
30952022-06-01 Doug Rupp <rupp@adacore.com>
3096
3097 * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on
3098 Word_Size.
3099
31002022-06-01 Piotr Trojanek <trojanek@adacore.com>
3101
3102 * par-util.adb (Ignore): Add missing space to message string.
3103
31042022-06-01 Yannick Moy <moy@adacore.com>
3105
3106 * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for
3107 pragma Subprogram_Variant.
3108
31092022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3110
3111 * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in
3112 lieu of Returns_On_Secondary_Stack.
3113 (Expand_Call_Helper): Likewise.
3114 (Expand_Simple_Function_Return): Likewise.
3115 (Needs_BIP_Alloc_Form): Likewise.
3116 * exp_ch7.adb (Wrap_Transient_Declaration): Likewise.
3117 * sem_res.adb (Resolve_Call): Likewise.
3118 (Resolve_Entry_Call): Likewise.
3119 * sem_util.ads (Returns_On_Secondary_Stack): Rename into...
3120 (Needs_Secondary_Stack): ...this.
3121 * sem_util.adb (Returns_On_Secondary_Stack): Rename into...
3122 (Needs_Secondary_Stack): ...this.
3123 * fe.h (Returns_On_Secondary_Stack): Delete.
3124 (Needs_Secondary_Stack): New function.
3125 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call
3126 to Returns_On_Secondary_Stack with Needs_Secondary_Stack.
3127
31282022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3129
3130 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where
3131 there is no previous declaration, freeze the body entity only after
3132 it has been processed as a new overloaded name.
3133 Use Was_Expression_Function to recognize expression functions.
3134 * sem_disp.adb (Check_Dispatching_Operation): Do not require a body
3135 which is the last primitive to be frozen here.
3136
31372022-06-01 Julien Bortolussi <bortolussi@adacore.com>
3138
3139 * libgnat/a-cfdlli.adb ("="): Make the function properly loop
3140 over the right list.
3141
31422022-06-01 Marc Poulhiès <poulhies@adacore.com>
3143
3144 * checks.adb (Apply_Predicate_Check): Refine condition for
3145 applying optimization.
3146 * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to
3147 Should_Build_Subtype.
3148 (Analyze_Object_Declaration): Likewise.
3149 (Should_Build_Subtype): Rename/move to ...
3150 * sem_util.ads (Build_Default_Subtype_OK): ... this.
3151 * sem_util.adb (Build_Default_Subtype_OK): Moved from
3152 sem_ch3.adb.
3153
31542022-06-01 Doug Rupp <rupp@adacore.com>
3155
3156 * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump
3157 the pc an extra byte.
3158
31592022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
3160
3161 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
3162 Document new behavior.
3163 * errout.adb (Write_JSON_Location): Output absolute paths when
3164 needed.
3165 * switch-c.adb (Scan_Front_End_Switches): Update -gnatef
3166 comment.
3167 * usage.adb (Usage): Update description of -gnatef.
3168 * gnat_ugn.texi: Regenerate.
3169
31702022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3171
3172 * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined
3173 unconditionnally on the procedure entity.
3174
31752022-06-01 Piotr Trojanek <trojanek@adacore.com>
3176
3177 * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag
3178 from parent type.
3179
31802022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3181
3182 * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about
3183 a finalization issue.
3184
31852022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3186
3187 * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack
3188 instead of Requires_Transient_Scope and tidy up.
3189 (Needs_BIP_Alloc_Form): Likewise.
3190 * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return
3191 true if the build-in-place function call has no BIPalloc parameter.
3192 (Is_Finalizable_Transient): Remove redundant test.
3193
31942022-06-01 Alexandre Oliva <oliva@adacore.com>
3195
3196 * doc/gnat_rm/security_hardening_features.rst: Note that hardening
3197 features are experimental.
3198 * gnat_rm.texi: Regenerate.
3199
32002022-06-01 Steve Baird <baird@adacore.com>
3201
3202 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the
3203 Corresponding_Spec field of a wrapper subprogram body before
3204 analyzing the subprogram body; the field will be set (again)
3205 during analysis, but we need it to be set earlier.
3206 * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram
3207 bodies to the list of declarations for which we do not want to
3208 suppress checks.
3209
32102022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3211
3212 * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment.
3213
32142022-06-01 Doug Rupp <rupp@adacore.com>
3215
3216 * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx.
3217
32182022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3219
3220 * sem_util.adb
3221 (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly
3222 check the dependence on discriminants for the variant part, if
3223 any, instead of calling the Is_Definite_Subtype predicate.
3224
32252022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
3226
3227 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag.
3228
32292022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
3230
3231 * sem_warn.adb (Check_References): Adjust conditions under which
3232 warning messages should be emitted and their tags as well.
3233
32342022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3235
3236 * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim.
3237 * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op
3238 earlier, do not initialize Iface_Formal, use No idiom and tweaks
3239 comments.
3240 (Register_Primitive): Declare L earlier and tweak comments.
3241 * sem_disp.adb (Check_Dispatching_Operation): Move tests out of
3242 loop.
3243
32442022-06-01 Steve Baird <baird@adacore.com>
3245
3246 * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which
3247 did not need to be visible - it was not referenced outside this
3248 package) with Build_Or_Copy_Discr_Checking_Funcs.
3249 * exp_ch3.adb: Refactor existing code into 3 procedures -
3250 Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and
3251 Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended
3252 to be semantics-preserving.
3253 * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a
3254 call should be generated to the Discriminant_Checking_Func for
3255 the component in question, but that subprogram does not yet
3256 exist.
3257 * sem_ch13.adb (Freeze_Entity_Checks): Immediately before
3258 calling Build_Predicate_Function, add a call to
3259 Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure
3260 that Discriminant_Checking_Func attributes are already set when
3261 Build_Predicate_Function is called.
3262 * sem_ch6.adb (Analyze_Expression_Function): If the expression
3263 of a static expression function has been transformed into an
3264 N_Raise_xxx_Error node, then we need to copy the original
3265 expression in order to check the requirement that the expression
3266 must be a potentially static expression. We also want to set
3267 aside a copy the untransformed expression for later use in
3268 checking calls to the expression function via
3269 Inline_Static_Function_Call. So introduce a new function,
3270 Make_Expr_Copy, for use in these situations.
3271 * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain
3272 expressions (e.g., a default parameter expression in a
3273 subprogram declaration) we want to suppress checks. However, we
3274 do not want to suppress checks for the expression of an
3275 expression function.
3276
32772022-06-01 Bob Duff <duff@adacore.com>
3278
3279 * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each
3280 subprogram found, assert that the variable is Empty, so we can
3281 detect bugs where we find two or more things with the same name.
3282 Without this patch, that bug would happen when we add the new
3283 Next procedure. For Step, make sure we pick the right one, by
3284 checking name and number of parameters. For Get_Element_Access,
3285 check that we're picking a function. That's not really
3286 necessary, because there is no procedure with that name, but it
3287 seems cleaner this way.
3288 * rtsfind.ads: Minor comment improvement. It seems kind of odd
3289 to say "under no circumstances", and then immediately contradict
3290 that with "The one exception is...".
3291
32922022-06-01 Doug Rupp <rupp@adacore.com>
3293
3294 * init.c (QNX): __gnat_adjust_context_for_raise: New
3295 implementation for arm-qnx.
3296
32972022-06-01 Julien Bortolussi <bortolussi@adacore.com>
3298
3299 * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference
3300 counting.
3301
33022022-06-01 Yannick Moy <moy@adacore.com>
3303
3304 * sem_ch8.adb (Use_One_Package): Possibly warn.
3305 * sem_util.adb (Enter_Name): Factor out warning on hidden entity.
3306 (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and
3307 generalize it to be applied also on use_clause.
3308 * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure.
3309
33102022-06-01 Yannick Moy <moy@adacore.com>
3311
3312 * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error
3313 message to benefit from existing codefix.
3314 (P_Record_Definition): Detect out-of-order keywords in record
3315 definition and issue appropriate messages. Other cases are
3316 already caught at appropriate places.
3317
33182022-06-01 Eric Botcazou <ebotcazou@adacore.com>
3319
3320 * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put
3321 the actions into the Actions field of the freeze node instead of
3322 inserting them after it.
3323
33242022-06-01 Marc Poulhiès <poulhies@adacore.com>
3325
3326 * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate
3327 and Is_Enum_Array_Aggregate.
3328
33292022-06-01 Bob Duff <duff@adacore.com>
3330
3331 * einfo-utils.adb (Set_Convention): Call Set_Convention
3332 recursively, so that Set_Can_Use_Internal_Rep is called (if
3333 appropriate) on the anonymous access type of the object, and its
3334 designated subprogram type.
3335 * sem_ch3.adb (Access_Definition): Remove redundant call to
3336 Set_Can_Use_Internal_Rep.
3337
33382022-06-01 Bob Duff <duff@adacore.com>
3339
3340 * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned
3341 cases.
3342 * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because
3343 this is not used in gigi.
3344 * opt.ads (Assume_No_Invalid_Values): Improve the comment. We
3345 don't need to "clearly prove"; we can just "prove". Remove the
3346 comment about fe.h, which is no longer true.
3347
0f4df800
GA
33482022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3349
3350 * erroutc.adb (Get_Warning_Option): Don't consider `?` as a
3351 valid option switch.
3352
33532022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3354
3355 * erroutc.ads (Get_Warning_Option): New function returning the
3356 option responsible for a warning if it exists.
3357 * erroutc.adb (Get_Warning_Option): Likewise.
3358 (Get_Warning_Tag): Rely on Get_Warning_Option when possible.
3359 * errout.adb (Output_JSON_Message): Emit option field.
3360
33612022-05-30 Julien Bortolussi <bortolussi@adacore.com>
3362
3363 * libgnat/a-cfdlli.ads (Insert): Remove the duplication.
3364
33652022-05-30 Piotr Trojanek <trojanek@adacore.com>
3366
3367 * exp_ch6.adb (Check_Subprogram_Variant): Ignore structural
3368 variants.
3369
33702022-05-30 Piotr Trojanek <trojanek@adacore.com>
3371
3372 * osint.adb (Locate_File): Change variable to constant and
3373 initialize it by concatenation of directory, file name and NUL.
3374
33752022-05-30 Piotr Trojanek <trojanek@adacore.com>
3376
3377 * doc/gnat_rm/implementation_advice.rst (Packed Types): Remove
3378 duplicated and wrongly placed paragraph.
3379 * gnat_rm.texi: Regenerate.
3380
33812022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3382
3383 * inline.adb (Check_Package_Body_For_Inlining): Add insertion
3384 character.
3385
33862022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3387
3388 * freeze.adb (Warn_Overlay): Add 'o' insertion character.
3389 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise.
3390 * sem_util.adb (Note_Possible_Modifications): Likewise.
3391
33922022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3393
3394 * sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion
3395 character.
3396
33972022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3398
3399 * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
3400 Fix insertion character.
3401
34022022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3403
3404 * sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f'
3405 insertion characters.
3406
34072022-05-30 Piotr Trojanek <trojanek@adacore.com>
3408
3409 * lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
3410 Process_Deferred_References, Has_Deferred_Reference): Remove
3411 client API.
3412 * lib-xref.adb (Deferred_References, Defer_Reference,
3413 Has_Deferred_Reference, Process_Deferred_References): Remove
3414 implementation.
3415 * frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
3416 sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.
3417
34182022-05-30 Bob Duff <duff@adacore.com>
3419
3420 * exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in
3421 the case of function bodies. We include all subprogram bodies,
3422 because it's harmless for procedures. We cannot easily avoid
3423 creating this block in ALL cases, because some transformations
3424 of (e.g.) task bodies end up moving some code such that the
3425 wrong exception handlers apply to that code.
3426 (Build_Finalizer_Call): Remove code for creating a new block.
3427 This was unreachable code, given that Wrap_HSS_In_Block has
3428 already done that, but with the above change to
3429 Wrap_HSS_In_Block, this code becomes reachable, and triggers
3430 essentially the same bug.
3431 * exp_ch7.ads: Adjust comment.
3432
34332022-05-30 Justin Squirek <squirek@adacore.com>
3434
3435 * par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
3436 formals instead of just the last in a formal id list.
3437 * sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
3438 generic procedures as trivial in order to avoid spurious
3439 unreferenced warnings.
3440
34412022-05-30 Romain Beguet <beguet@adacore.com>
3442
3443 * libgnat/s-dwalin.adb: Add a subtype declaration to fix the
3444 ambiguity.
3445
34462022-05-30 Steve Baird <baird@adacore.com>
3447
3448 * sem_ch13.adb (Is_Predicate_Static): Do not generate warnings
3449 about subexpressions of enclosing expressions. Generate warnings
3450 for predicates that are known to be always true or always false,
3451 except in the case where the predicate is expressed as a Boolean
3452 literal. Deal with non-predicate-static expressions that have
3453 been transformed into predicate-static expressions. Add missing
3454 Is_Type_Ref call to N_Membership_Test case.
3455
34562022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3457
3458 * exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate):
3459 Skip the discriminants at the start of the component list before
3460 looking for the components inherited from the parent in the case
3461 of a tagged extension.
3462
34632022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3464
3465 * exp_disp.adb (Make_DT): Remove remaining freezing code.
3466
34672022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3468
3469 * sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze
3470 the body of an expression function in the case of a dispatch table.
3471
34722022-05-30 Arnaud Charlet <charlet@adacore.com>
3473
3474 * gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode.
3475
34762022-05-30 Yannick Moy <moy@adacore.com>
3477
3478 * Makefile.rtl: Add new units.
3479 * libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers.
3480 * libgnat/s-spcuop.adb: New unit for ghost cut operations.
3481 * libgnat/s-spcuop.ads: New unit for ghost cut operations.
3482 * libgnat/s-spark.ads: New unit.
3483
34842022-05-30 Alexandre Oliva <oliva@adacore.com>
3485
3486 * doc/gnat_rm/security_hardening_features.rst: Mention
3487 availability in other languages when applicable.
3488 (Stack Scrubbing): Associate the attribute with types, expand
3489 some comments, fix the example involving access to variables.
3490 * gnat_rm.texi: Regenerate.
3491
34922022-05-30 Piotr Trojanek <trojanek@adacore.com>
3493
3494 * libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment.
3495
34962022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3497
3498 * sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the
3499 overriding of the "=" operator for tagged types.
3500
35012022-05-30 Eric Botcazou <ebotcazou@adacore.com>
3502
3503 * exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT.
3504 * exp_disp.ads (Building_Static_DT): Remove pragma Inline.
3505 (Building_Static_Secondary_DT): Likewise.
3506 (Convert_Tag_To_Interface): Likewise.
3507 (Make_DT): Remove second parameter.
3508 * exp_disp.adb (Make_DT): Likewise.
3509 (Check_Premature_Freezing): Delete.
3510 Pass Do_Freeze_Profile as False in call to Freeze_Entity.
3511 * freeze.ads (Freezing_Library_Level_Tagged_Type): Delete.
3512 * freeze.adb (Freeze_Profile): Remove obsolete code.
3513 (Freeze_Entity): Tweak comment.
3514
35152022-05-30 Yannick Moy <moy@adacore.com>
3516
3517 * libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up.
3518
35192022-05-30 Yannick Moy <moy@adacore.com>
3520
3521 PR ada/105303
3522 * libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic
3523 bodies making use of additional assertions or ghost code.
3524 * libgnat/s-gearop.ads: Remove confusing Assertion_Policy.
3525
35262022-05-30 Steve Baird <baird@adacore.com>
3527
3528 * exp_ch11.adb (Expand_N_Raise_Expression): Remove
3529 Convert_To_Return_False test.
3530 * gen_il-fields.ads: Remove Convert_To_Return_False field.
3531 * gen_il-gen-gen_nodes.adb: Remove use of
3532 Convert_To_Return_False field.
3533 * sinfo.ads: Remove comment describing Convert_To_Return_False
3534 flag.
3535
35362022-05-30 Julien Bortolussi <bortolussi@adacore.com>
3537
3538 * libgnat/a-cofuma.ads, libgnat/a-cofuma.adb,
3539 libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
3540 libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty
3541 constructors.
3542
35432022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
3544
3545 * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA
3546 definitions.
3547 (Gen_CUDA_Defs): New function, generating definitions
3548 initialized by Gen_CUDA_Init.
3549 (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of
3550 Gen_CUDA_Init.
3551 (Gen_Adainit): Call Gen_CUDA_Init.
3552
37b3b5da
GA
35532022-05-28 Alexandre Oliva <oliva@adacore.com>
3554
3555 * gcc-interface/Makefile.in (OSCONS_CC): Rename to...
3556 (GCC_FOR_ADA_RTS): ... this. Adjust users.
3557 (gnatlib): Pass it down as CC.
3558 (gnatlib-shared-default): Likewise.
3559 (gnatlib-shared-win32, gnatlib-shared-darwin): Likewise.
3560
12750f80
GA
35612022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3562
3563 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
3564 a constant related to a return in a function specially.
3565 * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
3566 if the target is a return object.
3567 (gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
3568 to a return in a function specially.
3569
35702022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3571
3572 * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING
3573 on the decl if Comes_From_Source is false for the associated node.
3574
35752022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3576
3577 * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up.
3578
35792022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3580
3581 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
3582 process_attributes for built-in functions.
3583 (prepend_one_attribute_pragma): Deal with "simd" attribute.
3584 * gcc-interface/utils.cc (handle_simd_attribute): New function.
3585 (gnat_internal_attribute_table): Add entry for "simd" attribute.
3586
35872022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3588
3589 * gcc-interface/decl.cc (components_to_record): Use NULL recursively
3590 as P_GNU_REP_LIST for the innermost variant level in the unchecked
3591 union case with a fixed part.
3592
35932022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3594
3595 * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node
3596 to a node without location.
3597
35982022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3599
3600 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And
3601 skip the elaboration of the designated subtype when that of its base
3602 type has been delayed.
3603
36042022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3605
3606 * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If
3607 it is a special subtype designated by an access subtype, then defer
3608 the completion of incomplete types.
3609
36102022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3611
3612 * gcc-interface/ada-tree.h, gcc-interface/ada.h,
3613 gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust
3614 copyright line.
3615
36162022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3617
3618 * gcc-interface/utils.cc (unchecked_convert): Do not fold a string
3619 constant if the target type is pointer to character.
3620
36212022-05-19 Piotr Trojanek <trojanek@adacore.com>
3622
3623 * sem_prag.adb (Analyze_Pragma): Remove redundant call to
3624 Set_Error_Posted.
3625
36262022-05-19 Piotr Trojanek <trojanek@adacore.com>
3627
3628 * sem_ch8.adb (Find_Expanded_Name): Emit a main error message
3629 before adding a continuation with the call to
3630 Error_Missing_With_Of_Known_Unit.
3631
36322022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3633
3634 * sem_util.ads (Requires_Transient_Scope): Add pragma Inline.
3635
36362022-05-19 Steve Baird <baird@adacore.com>
3637
3638 * sem_ch13.adb (Build_Predicate_Functions): If a semantic error
3639 has been detected then ignore Predicate_Failure aspect
3640 specifications in the same way as is done for CodePeer and
3641 SPARK. This avoids an internal compiler error if
3642 Ancestor_Predicate_Function_Called is True but Result_Expr is
3643 not an N_And_Then node (and is therefore unsuitable as an
3644 argument in a call to Left_Opnd).
3645
36462022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3647
3648 * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack
3649 to enclosing function if it does not return on the secondary stack.
3650 * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope
3651 with Manage_Sec_Stack set to True only when necessary.
3652 * sem_res.adb (Resolve_Call): Likewise.
3653 (Resolve_Entry_Call): Likewise.
3654
36552022-05-19 Daniel Mercier <mercier@adacore.com>
3656
3657 * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
3658 failure in CodePeer mode.
3659
36602022-05-19 Arnaud Charlet <charlet@adacore.com>
3661
3662 * raise-gcc.c: Fix compilation with -DSTANDALONE under windows.
3663
36642022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3665
3666 * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype.
3667
36682022-05-19 Javier Miranda <miranda@adacore.com>
3669
3670 * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New
3671 subprogram which factorizes code.
3672 (Expand_N_Attribute_Reference): Call the new subprogram to add
3673 the missing implicit interface type conversion.
3674
36752022-05-19 Piotr Trojanek <trojanek@adacore.com>
3676
3677 * sem_ch13.adb (Build_Predicate_Function): Ignore predicate
3678 failure in GNATprove mode.
3679
36802022-05-19 Steve Baird <baird@adacore.com>
3681
3682 * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M
3683 function and Set_Predicate_Function_M procedure.
3684 * einfo.ads: Delete comments for Is_Predicate_Function_M and
3685 Predicate_Function_M functions. Add comment for new
3686 Predicate_Expression function. Update comment describing
3687 predicate functions.
3688 * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem
3689 formal parameter with Static_Mem and Dynamic_Mem formals.
3690 (Make_Predicate_Check): Delete Add_Failure_Expression and call
3691 to it.
3692 * exp_ch4.adb (Expand_N_In.Predicate_Check): Update
3693 Make_Predicate_Call call to match profile change.
3694 * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add
3695 Predicate_Expression field.
3696 * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M
3697 use, add Predicate_Expression use.
3698 * sem_ch13.adb (Build_Predicate_Functions): Rename as singular,
3699 not plural; we no longer build a Predicate_M function. Delete
3700 Predicate_M references. Add new Boolean parameter for predicate
3701 functions when needed. Restructure body of generated predicate
3702 functions to implement required Predicate_Failure behavior and
3703 to set new Predicate_Expression attribute. Remove special
3704 treatment of raise expressions within predicate expressions.
3705 * sem_util.ads (Predicate_Failure_Expression,
3706 Predicate_Function_Needs_Membership_Parameter): New functions.
3707 * sem_util.adb (Is_Current_Instance): Fix bugs which caused
3708 wrong result.
3709 (Is_Current_Instance_Reference_In_Type_Aspect): Delete
3710 Is_Predicate_Function_M reference.
3711 (Predicate_Failure_Expression): New function.
3712 (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M
3713 references.
3714
37152022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3716
3717 * exp_ch6.adb (Expand_Call_Helper): Adjust comment.
3718 (Expand_Simple_Function_Return): For the case of a type which needs
3719 finalization and is returned on the primary stack, do not create a
3720 copy if the expression originates from a function call.
3721 * exp_ch7.adb (Transient Scope Management): Adjust comment.
3722 * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line.
3723 * fe.h (Is_Related_To_Func_Return): Declare.
3724
37252022-05-19 Piotr Trojanek <trojanek@adacore.com>
3726
3727 * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts
3728 from the constructed IF statement.
3729
37302022-05-19 Piotr Trojanek <trojanek@adacore.com>
3731
3732 * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose
3733 condition was true-by-construction; remove excessive assertion
3734 (since the call to Elsif_Parts will check that Nod is present
3735 and it is an if-statement).
3736
37372022-05-19 Arnaud Charlet <charlet@adacore.com>
3738
3739 * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref.
3740 * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
3741 doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto.
3742 * gnat_ugn.texi: Regenerate.
3743 * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads,
3744 xref_lib.adb, xref_lib.ads: Removed, no longer used.
3745
37462022-05-19 Claire Dross <dross@adacore.com>
3747
3748 * libgnat/a-strfix.adb: Add assertions.
3749 * libgnat/a-strsup.adb: Idem.
3750
37512022-05-19 Ed Schonberg <schonberg@adacore.com>
3752
3753 * erroutc.ads: Fix a single-character typo in a comment.
3754 * exp_aggr.adb: Fix a single-character typo in a comment.
3755 Replace several pairs of calls to Low_Bound and
3756 High_Bound (which do not handle an identifier that denotes a
3757 scalar subtype) with corresponding calls to Get_Index_Bounds
3758 (which does handle that case).
3759 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the
3760 Component_Associations attribute of a null array aggregate to
3761 New_List.
3762 * sem_aggr.ads: New visible function
3763 Is_Null_Array_Aggregate_High_Bound.
3764 * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound,
3765 Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions.
3766 (Resolve_Aggregate): Recognize null array aggregates (using
3767 Is_Null_Aggregate) and, when one is recognized, resolve
3768 it (using Resolve_Null_Array_Aggregate). Avoid calling
3769 Array_Aggr_Subtype for a null array aggregate; the needed
3770 subtype is built in Resolve_Null_Array_Aggregate. Do not
3771 incorrectly flag a null aggregate (after it is transformed by
3772 expansion) as being both positional and named.
3773 * sem_attr.adb (Eval_Attribute): Special treatment for null
3774 array aggregate high bounds to avoid incorrectly flagging
3775 something like Integer'Pred (Integer'First) as an illegal static
3776 expression.
3777 * sem_eval.adb (Out_Of_Range): Special treatment for null array
3778 aggregate high bounds to avoid incorrectly flagging something
3779 like Integer'Pred (Integer'First) as an illegal static
3780 expression.
3781
37822022-05-19 Yannick Moy <moy@adacore.com>
3783
3784 * libgnat/s-aridou.adb (Lemma_Abs_Range,
3785 Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas.
3786 (Double_Divide): Add ghost code.
3787 (Lemma_Concat_Definition, Lemma_Double_Shift_Left,
3788 Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas.
3789 (Scaled_Divide): Add ghost code.
3790
37912022-05-19 Bob Duff <duff@adacore.com>
3792
3793 * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same*
3794 modular type, with a check for any modular type, and assert that
3795 the two types have the same modulus and so on.
3796 * exp_pakd.ads: Minor comment improvements.
3797
37982022-05-19 Bob Duff <duff@adacore.com>
3799
3800 * style.adb (Check_Identifier): Deal with the case where a
3801 record component definition has been transformed; we want to
3802 warn if the original came from source.
3803 * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF
3804 to be consistent.
3805 * uname.adb: Fix casing of Chars to be consistent.
3806 * sem_util.ads: Minor comment fix.
3807
38082022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3809
3810 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta.
3811 * debug.adb (d_r): Document usage.
3812 * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool.
3813 * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to
3814 Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal
3815 with types that need finalization returned on the primary stack,
3816 use CW_Or_Needs_Finalization for those returned on the secondary.
3817 * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early
3818 for the return stack pool.
3819 (Remove_Side_Effects): Call CW_Or_Needs_Finalization.
3820 * fe.h (Requires_Transient_Scope): Delete.
3821 (Returns_On_Secondary_Stack): Declare.
3822 * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot
3823 to False when generating C code or if -gnatd_r is specified.
3824 * opt.ads (Back_End_Return_Slot): New boolean variable.
3825 * rtsfind.ads (RTU_Id): Add System_Return_Stack.
3826 (RE_Id): Add RE_RS_Allocate and RE_RS_Pool.
3827 (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool.
3828 * sem_util.ads (CW_Or_Has_Controlled_Part): Delete.
3829 (CW_Or_Needs_Finalization): Declare.
3830 (Requires_Transient_Scope): Adjust description.
3831 (Returns_On_Secondary_Stack): Declare.
3832 * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types
3833 which need finalization if they are returned on the secondary stack.
3834 (CW_Or_Has_Controlled_Part): Rename to...
3835 (CW_Or_Needs_Finalization): ...this.
3836 (Requires_Transient_Scope): Move bulk of implementation to...
3837 (Returns_On_Secondary_Stack): ...here. Return true for types which
3838 need finalization only if the back-end return slot is not supported.
3839 * libgnat/s-retsta.ads: New file.
3840 * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define.
3841 * gcc-interface/ada-builtins.def (return_slot): Likewise.
3842 * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise.
3843 * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to
3844 Requires_Transient_Scope with Returns_On_Secondary_Stack.
3845 * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>:
3846 In the return by invisible reference, skip the copy if the source
3847 is the same as the destination.
3848 * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with
3849 the return stack pool.
3850
38512022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3852
3853 * gcc-interface/trans.cc: Fix formatting issues in comments.
3854 (Subprogram_Body_to_gnu): Tidy up.
3855 (Exception_Handler_to_gnu_gcc): Rename into...
3856 (Exception_Handler_to_gnu): ...this.
3857 (gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming.
3858
38592022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3860
3861 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple
3862 of local variables and use Is_Generic_Subprogram predicate.
3863 (process_decls): Likewise.
3864
38652022-05-19 Eric Botcazou <ebotcazou@adacore.com>
3866
3867 * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with
3868 inlining heuristics for expression functions here but...
3869 * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead
3870 and do not override them at -Os.
3871
38722022-05-19 Piotr Trojanek <trojanek@adacore.com>
3873
3874 * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code
3875 which expected Scope to return E_Subprogram_Body entity.
3876
1cda629f
GA
38772022-05-18 Claire Dross <dross@adacore.com>
3878
3879 * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion.
3880
38812022-05-18 Doug Rupp <rupp@adacore.com>
3882
3883 * sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *.
3884
38852022-05-18 Doug Rupp <rupp@adacore.com>
3886
3887 * sigtramp-arm-qnx.c: Rewrite.
3888
38892022-05-18 Yannick Moy <moy@adacore.com>
3890
3891 * libgnat/s-aridou.adb (Big3): Change return type.
3892 (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder
3893 alphabetically.
3894 (Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New
3895 lemmas.
3896 (Double_Divide, Scaled_Divide): Add assertions.
3897
38982022-05-18 Claire Dross <dross@adacore.com>
3899
3900 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions.
3901
39022022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
3903
3904 * libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output
3905 parameter in case we return early.
3906
39072022-05-18 Bob Duff <duff@adacore.com>
3908
3909 * libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads,
3910 libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
3911 libgnat/a-cbhase.adb, libgnat/a-cdlili.adb,
3912 libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb,
3913 libgnat/a-cfhase.adb, libgnat/a-cidlli.adb,
3914 libgnat/a-cihama.adb, libgnat/a-cihase.adb,
3915 libgnat/a-cohama.adb, libgnat/a-cohase.adb,
3916 libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb
3917 (Vet): Make the Vet functions do nothing when
3918 Container_Checks'Enabled is False, and inline them, so the calls
3919 disappear when optimizing.
3920
39212022-05-18 Doug Rupp <rupp@adacore.com>
3922
3923 * Makefile.rtl (arm-qnx): Use default (non-fma) target pair.
3924
39252022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
3926
3927 * libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to
3928 changes in the signature of Read_Aranges_*.
3929 (Debug_Info_Lookup): Do not control address size read from
3930 DWARF.
3931 (Read_Aranges_Header): Do not control address size read from
3932 DWARF; return this size.
3933 (Read_Aranges_Entry): Use the size returned by
3934 Read_Aranges_Header.
3935
39362022-05-18 Gary Dismukes <dismukes@adacore.com>
3937
3938 * errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and
3939 revise comment.
3940 * errout.adb (Error_Msg_GNAT_Extension): Condition message on
3941 the flag Ada_Version_Pragma, and add suggestion to use of pragma
3942 Extensions_Allowed in messages.
3943 * par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb,
3944 par-ch12.adb: Add actual Token_Ptr on calls to
3945 Error_Msg_GNAT_Extension.
3946 * par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for
3947 error calls related to use of extension features.
3948 * sem_ch13.adb: Likewise.
3949
39502022-05-18 Johannes Kliemann <kliemann@adacore.com>
3951
3952 * libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
3953 arithmetic in int.
3954
39552022-05-18 Eric Botcazou <ebotcazou@adacore.com>
3956
3957 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form.
3958
39592022-05-18 Javier Miranda <miranda@adacore.com>
3960
3961 * sem_ch6.adb (Find_Corresponding_Spec): Avoid calling
3962 Is_Null_Extension with a class-wide type entity.
3963 (Overrides_Visible_Function): Handle alias entities.
3964 * sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion
3965 not needed if the result type of the call is class-wide or if
3966 the result type matches the context type.
3967 * sem_util.ads (Is_Null_Extension): Adding documentation.
3968 (Is_Null_Extension_Of): Adding documentation.
3969 * sem_util.adb (Is_Null_Extension): Adding assertion.
3970 (Is_Null_Extension_Of): Adding assertions.
3971
39722022-05-18 Javier Miranda <miranda@adacore.com>
3973
3974 * snames.ads-tmpl (Name_Index): New attribute name.
3975 (Attribute_Id): Adding Attribute_Index as regular attribute.
3976 * sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
3977 2022 attribute.
3978 (Analyze_Index_Attribute): Check that 'Index appears in a
3979 pre-/postcondition aspect or pragma associated with an entry
3980 family.
3981 (Analyze_Attribute): Adding semantic analysis for 'Index.
3982 (Eval_Attribute): Register 'Index as can never be folded.
3983 (Resolve_Attribute): Resolve attribute 'Index.
3984 * sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
3985 subprogram.
3986 (Analyze_Requeue): Check that the requeue target shall not have
3987 an applicable specific or class-wide postcondition which
3988 includes an Index attribute reference.
3989 * exp_attr.adb (Expand_N_Attribute_Reference): Transform
3990 attribute Index into a renaming of the second formal of the
3991 wrapper built for an entry family that has contract cases.
3992 * einfo.ads (Is_Entry_Wrapper): Complete documentation.
3993
39942022-05-18 Yannick Moy <moy@adacore.com>
3995
3996 * libgnat/s-imagei.adb (Set_Digits): Add assertion.
3997 * libgnat/s-imgboo.adb (Image_Boolean): Add assertions.
3998 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
3999
40002022-05-18 Arnaud Charlet <charlet@adacore.com>
4001
4002 * sem_aux.adb (Is_Immutably_Limited_Type): Do not look through
4003 private types as per RM 7.5(8.1).
4004 * sem_ch6.adb (Analyze_Function_Return): Use
4005 Is_Immutably_Limited_Type as per RM 6.5(5.10).
4006
40072022-05-18 Marc Poulhiès <poulhies@adacore.com>
4008
4009 * gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add
4010 Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes.
4011 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting.
4012 * sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets
4013 for record aggregate.
4014 (Resolve_Record_Aggregate): Uniformise error message.
4015
40162022-05-18 Arnaud Charlet <charlet@adacore.com>
4017
4018 * ali.adb (Scan_ALI): Special case a-tags.ali when setting
4019 Sec_Stack_Used.
4020 * bindgen.adb (Gen_Adainit): Simplify handling of secondary
4021 stack related code, and only import __gnat_binder_ss_count when
4022 needed.
4023 * libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to
4024 0.
4025
40262022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4027
4028 * libgnat/s-dourea.adb ("/"): Add guard for zero and infinite
4029 divisor.
4030 * libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large
4031 exponent values.
4032
40332022-05-18 Yannick Moy <moy@adacore.com>
4034
4035 * sem_elab.adb (Is_Suitable_Construct): Fix for generated
4036 constructs.
4037
40382022-05-18 Marc Poulhiès <poulhies@adacore.com>
4039
4040 * sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check
4041 for type conversion if object's subtype and expression's subtype
4042 statically match.
4043 * exp_prag.adb (Expand_Pragma_Check): Typo fix in comment.
4044
40452022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4046
4047 * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo.
4048 * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the
4049 renaming only for actuals of formal objects.
4050
40512022-05-18 Gary Dismukes <dismukes@adacore.com>
4052
4053 * sem_ch3.adb (Check_Abstract_Overriding): If the type is
4054 derived from an untagged type, then don't perform any of the
4055 abstract overriding error checks.
4056
40572022-05-18 Piotr Trojanek <trojanek@adacore.com>
4058
4059 * exp_aggr.adb (Component_Count): Calculate size as an Uint and
4060 only then check if it is in the range of Int, as otherwise the
4061 multiplication of Int values can overflow.
4062
40632022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4064
4065 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext).
4066 (SIMD_PATH_TARGET_PAIRS): New variable.
4067 (TRASYM_DWARF_COMMON_OBJS): Minor tweak.
4068 (x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS.
4069 (x32/Linux): Likewise.
4070 * doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions):
4071 New entry.
4072 * gnat_rm.texi: Regenerate.
4073 * impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu.
4074 * sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for
4075 instances of generic packages that do not have a body.
4076 * libgnat/a-nalofl__simd.ads: New SIMD-enabled version.
4077 * libgnat/a-nuaufl__simd.ads: Likewise.
4078 * libgnat/g-gfmafu.ads: New package renaming unit.
4079
40802022-05-18 Arnaud Charlet <charlet@adacore.com>
4081
4082 * freeze.adb (Should_Freeze_Type): Fix handling of freezing in
4083 instances.
4084
40852022-05-18 Marc Poulhiès <poulhies@adacore.com>
4086
4087 * sem_ch12.adb (Check_Generic_Parent): Use
4088 Get_Unit_Instantiation_Node instead of Next.
4089
40902022-05-18 Alexandre Oliva <oliva@adacore.com>
4091
4092 * libgnat/a-nagefl.ads: Replace mentions of C/unix math library
4093 with intrinsics.
4094 * libgnat/a-nallfl.ads: Likewise. State compatibility
4095 requirements.
4096 * libgnat/a-nalofl.ads: Likewise.
4097 * libgnat/a-nuaufl.ads: Likewise.
4098
40992022-05-18 Eric Botcazou <ebotcazou@adacore.com>
4100
4101 * sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
4102 In_Instance to outer condition.
4103
41042022-05-18 Doug Rupp <rupp@adacore.com>
4105
4106 * Makefile.rtl: Rename system-qnx-aarch64.ads to
4107 system-qnx-arm.ads.
4108 (AARCH64 QNX section): Modify to handle both arm and arch64.
4109 * tracebak.c (__QNX__): Add new __ARMEL__ section.
4110 * sigtramp-arm-qnx.c: New file.
4111 * libgnat/system-qnx-aarch64.ads: Renamed to ...
4112 * libgnat/system-qnx-arm.ads: this.
4113
3d9439b1
GA
41142022-05-17 Piotr Trojanek <trojanek@adacore.com>
4115
4116 * sem_res.adb (Flag_Effectively_Volatile_Objects): Restore
4117 redundant guard.
4118
41192022-05-17 Gary Dismukes <dismukes@adacore.com>
4120
4121 * sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for
4122 the case of a renamed subprogram given by an expanded name whose
4123 outermost prefix names a unit that is hidden by the name of the
4124 renaming.
4125 (Ult_Expanded_Prefix): New local expression function to return
4126 the ultimate prefix of an expanded name.
4127
41282022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
4129
4130 * gnat_cuda.ads: Update package-level comments.
4131 (Build_And_Insert_CUDA_Initialization): Remove function.
4132 * gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove
4133 function.
4134 (Expand_CUDA_Package): Remove call to
4135 Build_And_Insert_CUDA_Initialization.
4136
41372022-05-17 Etienne Servais <servais@adacore.com>
4138
4139 * freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance
4140 message and silence warning for size > 32.
4141
41422022-05-17 Yannick Moy <moy@adacore.com>
4143
4144 * exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no
4145 entity case.
4146 * inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New
4147 procedure.
4148 * inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New
4149 procedure.
4150 (Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding
4151 inlining for subprograms inside generics.
4152 * sem_ch12.adb (Copy_Generic_Node): Preserve global entities
4153 when inlining in GNATprove mode.
4154 * sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to
4155 inline if renaming is detected in GNATprove mode.
4156
41572022-05-17 Gary Dismukes <dismukes@adacore.com>
4158
4159 * exp_ch4.adb (Expand_N_Allocator): For an allocator with an
4160 unconstrained discriminated designated type, and whose
4161 allocation subtype is constrained, set the
4162 Actual_Designated_Subtype of the dereference passed to the init
4163 proc of the designated type to be the allocation subtype.
4164 * sinfo.ads: Add documentation of new setting of
4165 Actual_Designated_Subtype on a dereference used as an actual
4166 parameter of call to an init proc associated with an allocator.
4167 Also add missing syntax and documentation for the GNAT language
4168 extension that allows an expression as a default for a concrete
4169 generic formal function.
4170
41712022-05-17 Bob Duff <duff@adacore.com>
4172
4173 * sinfo.ads: Remove From_At_End. Update comments.
4174 * gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb:
4175 Remove From_At_End.
4176 * exp_ch11.adb (Expand_At_End_Handler): Remove assertion.
4177 * fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC,
4178 Has_Invariants, Is_List_Member, List_Containing): Remove
4179 declarations that are not used in gigi.
4180 * opt.ads (Exception_Mechanism): This is not used in gigi.
4181 * exp_util.ads: Minor comment fix.
4182
41832022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
4184
4185 * impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list.
4186
41872022-05-17 Yannick Moy <moy@adacore.com>
4188
4189 * sem_ch5.adb (Analyze_Iterator_Specification): Use
4190 Insert_Action when possibly inside an expression.
4191
41922022-05-17 Marc Poulhiès <poulhies@adacore.com>
4193
4194 * libgnat/g-forstr.adb (Is_Number): Add scientific notation and
4195 shortest representation.
4196
41972022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4198
4199 * exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N.
4200
42012022-05-17 Bob Duff <duff@adacore.com>
4202
4203 * exp_util.adb (Requires_Cleanup_Actions): Remove
4204 N_Protected_Body from the case statement, so that case will be
4205 covered by "raise Program_Error".
4206
42072022-05-17 Bob Duff <duff@adacore.com>
4208
4209 * output.adb (Pop_Output, Set_Output): Unconditionally flush
4210 output when switching from one output destination to another.
4211 Otherwise buffering can cause garbled output.
4212 (w): Push/pop the current settings, and temporarily
4213 Set_Standard_Error during these procedures.
4214
42152022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
4216
4217 * libgnat/g-binsea.ads, libgnat/g-binsea.adb
4218 (GNAT.Binary_Search): New package.
4219 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list.
4220 * doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New
4221 package record.
4222 * gnat_rm.texi: Regenerate.
4223
42242022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4225
4226 * sem_ch12.ads (Is_Abbreviated_Instance): Declare.
4227 * sem_ch12.adb (Check_Abbreviated_Instance): Declare.
4228 (Requires_Conformance_Checking): Declare.
4229 (Analyze_Association.Process_Default): Fix subtype of parameter.
4230 (Analyze_Formal_Object_Declaration): Check whether it is in the
4231 visible part of abbreviated instance.
4232 (Analyze_Formal_Subprogram_Declaration): Likewise.
4233 (Analyze_Formal_Type_Declaration): Likewise.
4234 (Analyze_Package_Instantiation): Do not check for a generic child
4235 unit in the case of an abbreviated instance.
4236 (Check_Abbreviated_Instance): New procedure.
4237 (Check_Formal_Packages): Tidy up.
4238 (Copy_Generic_Elist): Fix comment.
4239 (Instantiate_Formal_Package): Tidy up. If the generic unit is a
4240 child unit, copy the qualified name onto the abbreviated instance.
4241 (Is_Abbreviated_Instance): New function.
4242 (Collect_Previous_Instances): Call Is_Abbreviated_Instance.
4243 (Requires_Conformance_Checking): New function.
4244 * sem_ch7.adb (Analyze_Package_Specification): Do not install the
4245 private declarations of the parent for an abbreviated instance.
4246
42472022-05-17 Etienne Servais <servais@adacore.com>
4248
4249 * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type
4250 of Indic_Typ.
4251 (Constrain_Array): Ditto for T.
4252
42532022-05-17 Arnaud Charlet <charlet@adacore.com>
4254
4255 * sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow
4256 'Reduce for Ada 2022 and above.
4257 * sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer
4258 implementation defined.
4259
42602022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
4261
4262 * exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate
4263 Abort_Undefers when not Abort_Allowed.
4264
42652022-05-17 Marc Poulhiès <poulhies@adacore.com>
4266
4267 * exp_ch7.adb: Fix typo.
4268
42692022-05-17 Etienne Servais <servais@adacore.com>
4270
4271 * lib.ads: initialize `Compiler_State` to `Parsing`.
4272
42732022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4274
4275 * sem_ch13.adb (Has_Compatible_Representation): Return true for
4276 derived untagged record types without representation clause.
4277
42782022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4279
4280 * sem_ch13.ads (Has_Compatible_Representation): Minor tweaks.
4281 * sem_ch13.adb (Has_Compatible_Representation): Look directly into
4282 the (implementation) base types and simplifiy accordingly.
4283 * exp_ch5.adb (Change_Of_Representation): Adjust.
4284 * exp_ch6.adb (Expand_Actuals): Likewise.
4285
42862022-05-17 Etienne Servais <servais@adacore.com>
4287
4288 * sem_ch5.adb (Analyze_Assignment): Remove superfluous call to
4289 Original_Node.
4290
42912022-05-17 Javier Miranda <miranda@adacore.com>
4292
4293 * freeze.adb (Freeze_Entity): Protect the call to
4294 Declaration_Node against entities of expressions replaced by the
4295 frontend with an N_Raise_CE node.
4296
42972022-05-17 Javier Miranda <miranda@adacore.com>
4298
4299 * freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding
4300 indicator because the DTW wrapper overrides its wrapped
4301 subprogram.
4302 * contracts.ads (Make_Class_Precondition_Subps): Adding
4303 documentation.
4304
43052022-05-17 Eric Botcazou <ebotcazou@adacore.com>
4306
4307 * exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for
4308 subprograms only if they have no actions.
4309 * exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions
4310 field of the freeze node instead of inserting them after it.
4311 * sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment.
4312 * gcc-interface/trans.cc (process_freeze_entity): Return early for
4313 freeze nodes of subprograms with Interface_Alias set.
4314
43152022-05-17 Javier Miranda <miranda@adacore.com>
4316
4317 * contracts.adb (Build_Call_Helper_Body): Improve handling of
4318 the case of a (legal) non-dispatching call to an abstract
4319 subprogram.
4320
43212022-05-17 Piotr Trojanek <trojanek@adacore.com>
4322
4323 * doc/gnat_rm/implementation_defined_attributes.rst
4324 (Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume;
4325 refill.
4326 * gnat_rm.texi: Regenerate.
4327
43282022-05-17 Etienne Servais <servais@adacore.com>
4329
4330 * par-ch3.adb (P_Access_Type_Definition): Outputs an error if
4331 token is not "access".
4332
43332022-05-17 Piotr Trojanek <trojanek@adacore.com>
4334
4335 * exp_ch2.adb (Expand_Current_Value): Remove special case for
4336 references immediately within pragma argument associations.
4337 * exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special
4338 case for privals.
4339
702bd11f
GA
43402022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4341
4342 * sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the
4343 equality operator on the homonym chain if there is another equality
4344 operator in the private part.
4345
43462022-05-16 Piotr Trojanek <trojanek@adacore.com>
4347
4348 * exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value
4349 propagation when analysing the constant that holds the
4350 Loop_Entry prefix value.
4351
43522022-05-16 Piotr Trojanek <trojanek@adacore.com>
4353
4354 * sem_attr.adb (Address_Checks): Remove call to
4355 Kill_Current_Values for subprogram entities, because this
4356 routine only does something for object entities.
4357
43582022-05-16 Justin Squirek <squirek@adacore.com>
4359
4360 * exp_ch7.adb (Build_Finalizer): Disable late evaluation of
4361 postconditions for functions returning types which where
4362 Has_Unconstrained_Elements is true or are unconstrained arrays.
4363
43642022-05-16 Etienne Servais <servais@adacore.com>
4365
4366 * exp_ch4.adb (Expand_N_Qualified_Expression): Freeze
4367 Target_Type.
4368
43692022-05-16 Yannick Moy <moy@adacore.com>
4370
4371 * libgnat/s-aridou.adb (Double_Divide): Add intermediate
4372 assertions.
4373
43742022-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
4375
4376 * lib-writ.adb (Output_CUDA_Symbols): Check for null packages.
4377
43782022-05-16 Joel Brobecker <brobecker@adacore.com>
4379
4380 * libgnat/g-debpoo.ads: Improve documentation of the
4381 Stack_Trace_Depth parameter.
4382
43832022-05-16 Joel Brobecker <brobecker@adacore.com>
4384
4385 * init.c (__gnat_install_handler) [__QNX__]: Save sigaction's
4386 return value in err before checking err's value. Fix incorrect
4387 signal names in perror messages.
4388
43892022-05-16 Joel Brobecker <brobecker@adacore.com>
4390
4391 * init.c (__gnat_install_handler) [__QNX__]: Set
4392 act.sa_sigaction rather than act.sa_handler.
4393
43942022-05-16 Joel Brobecker <brobecker@adacore.com>
4395
4396 * cstreams.c: Add <stdlib.h> #include.
4397
43982022-05-16 Joel Brobecker <brobecker@adacore.com>
4399
4400 * terminals.c: Remove bzero #define on HP/UX or Solaris
4401 platforms.
4402 (child_setup_tty): Replace bzero call by equivalent call to
4403 memset.
4404
44052022-05-16 Gary Dismukes <dismukes@adacore.com>
4406
4407 * sem_util.ads (Storage_Model_Support): Revise comments on most
4408 operations within this nested package to reflect that they can
4409 now be passed either a type that has aspect Storage_Model_Type
4410 or an object of such a type. Change the names of the relevant
4411 formals to SM_Obj_Or_Type. Also, add more precise semantic
4412 descriptions in some cases, and declare the subprograms in a
4413 more logical order.
4414 * sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add
4415 an assertion that the type must specify aspect
4416 Designated_Storage_Model, rather than returning Empty when it
4417 doesn't specify that aspect.
4418 (Storage_Model_Support.Storage_Model_Type): Add an assertion
4419 that formal must be an object whose type specifies aspect
4420 Storage_Model_Type, rather than returning Empty for when it
4421 doesn't have such a type (and test Has_Storage_Model_Type_Aspect
4422 rather than Find_Value_Of_Aspect).
4423 (Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow
4424 both objects and types, and add an assertion that the type (or
4425 the type of the object) has a value for aspect
4426 Storage_Model_Type.
4427
44282022-05-16 Etienne Servais <servais@adacore.com>
4429
4430 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
4431 Fix condition to return.
4432
44332022-05-16 Yannick Moy <moy@adacore.com>
4434
4435 * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment.
4436
44372022-05-16 Marc Poulhiès <poulhies@adacore.com>
4438
4439 * sem_aggr.adb (Resolve_Iterated_Association): Create scope
4440 around N_Iterated_Element_Association handling. Analyze a copy
4441 of the Loop_Parameter_Specification. Call Analyze instead
4442 Analyze_* to be more homogeneous.
4443 (Sem_Ch5): Remove now unused package.
4444
44452022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4446
4447 * exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>:
4448 Climb up out of the node if the actions come from Discrete_Choices.
4449
44502022-05-16 Javier Miranda <miranda@adacore.com>
4451
4452 * sem_disp.adb (Check_Dispatching_Context): When checking to see
4453 whether an expression occurs in a class-wide pre/post-condition,
4454 also check for the possibility that it occurs in a class-wide
4455 preconditions subprogram that was introduced as part of
4456 expansion. Without this fix, some legal calls occuring in
4457 class-wide preconditions may be incorrectly flagged as violating
4458 the "a call to an abstract subprogram must be dispatching" rule.
4459
44602022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4461
4462 * inline.adb (Cleanup_Scopes): Test the underlying type.
4463
44642022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4465
4466 * sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare.
4467 * sem_util.adb (Is_Entity_Of_Quantified_Expression): New
4468 predicate.
4469 (New_Copy_Tree): Deal with all entities of quantified
4470 expressions.
4471 * sem_ch13.adb (Build_Predicate_Functions): Get rid of
4472 superfluous tree copying and remove obsolete code.
4473 * sem_ch6.adb (Fully_Conformant_Expressions): Deal with all
4474 entities of quantified expressions.
4475
44762022-05-16 Steve Baird <baird@adacore.com>
4477
4478 * exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call
4479 variable to keep track of the last "early finalization" call
4480 generated for type extension's finalization procedure. If
4481 non-empty, then this will indicate the point at which to insert
4482 the call to the parent type's finalization procedure. Modify
4483 nested function Process_Component_List_For_Finalize to set this
4484 variable (and avoid setting it during a recursive call). If
4485 Last_POC_Call is empty, then insert the parent finalization call
4486 before, rather than after, the finalization code for the
4487 extension components.
4488
44892022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4490
4491 * einfo-utils.adb (Remove_Entity): Fix couple of oversights.
4492 * exp_ch3.adb (Is_User_Defined_Equality): Delete.
4493 (User_Defined_Eq): Call Get_User_Defined_Equality.
4494 (Make_Eq_Body): Likewise.
4495 (Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality.
4496 * exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality.
4497 (Is_Equality): Delete.
4498 (User_Defined_Primitive_Equality_Op): Likewise.
4499 (Find_Aliased_Equality): Call Is_User_Defined_Equality.
4500 (Expand_N_Op_Eq): Call Underlying_Type unconditionally.
4501 Do not implement AI12-0101 + AI05-0123 here.
4502 (Expand_Set_Membership): Call Resolve_Membership_Equality.
4503 * exp_ch6.adb (Expand_Call_Helper): Remove obsolete code.
4504 * sem_aux.ads (Is_Record_Or_Limited_Type): Delete.
4505 * sem_aux.adb (Is_Record_Or_Limited_Type): Likewise.
4506 * sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare.
4507 * sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation.
4508 (Analyze_Membership_Op): Call Resolve_Membership_Equality.
4509 (Nondispatching_Call_To_Abstract_Operation): New procedure.
4510 (Remove_Abstract_Operations): Call it.
4511 * sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and
4512 call Is_User_Defined_Equality.
4513 * sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure
4514 implementing AI12-0101 + AI05-0123.
4515 (Analyze_Package_Specification): Call it.
4516 (Declare_Inherited_Private_Subprograms): Minor tweak.
4517 (Uninstall_Declarations): Likewise.
4518 * sem_disp.adb (Check_Direct_Call): Adjust to new implementation
4519 of Is_User_Defined_Equality.
4520 * sem_res.ads (Resolve_Membership_Equality): Declare.
4521 * sem_res.adb (Resolve): Replace direct error handling with call to
4522 Nondispatching_Call_To_Abstract_Operation
4523 (Resolve_Call): Likewise.
4524 (Resolve_Equality_Op): Likewise. mplement AI12-0413.
4525 (Resolve_Membership_Equality): New procedure.
4526 (Resolve_Membership_Op): Call Get_User_Defined_Equality.
4527 * sem_util.ads (Get_User_Defined_Eq): Rename into...
4528 (Get_User_Defined_Equality): ...this.
4529 * sem_util.adb (Get_User_Defined_Eq): Rename into...
4530 (Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality.
4531 (Is_User_Defined_Equality): Also check the profile but remove tests
4532 on Comes_From_Source and Parent.
4533 * sinfo.ads (Generic_Parent_Type): Adjust field description.
4534 * uintp.ads (Ubool): Invoke user-defined equality in predicate.
4535
45362022-05-16 Piotr Trojanek <trojanek@adacore.com>
4537
4538 * exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a
4539 call to Get_User_Defined_Eq.
4540
45412022-05-16 Piotr Trojanek <trojanek@adacore.com>
4542
4543 * exp_ch3.adb (Build_Untagged_Equality): Exit early when the
4544 outcome of a loop is already known.
4545
45462022-05-16 Olivier Hainque <hainque@adacore.com>
4547
4548 * Makefile.rtl: Add aarch64 to the list of CPUs for which
4549 GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2.
4550
45512022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4552
4553 * sem_ch4.adb (Analyze_Negation): Minor tweak.
4554 (Analyze_Unary_Op): Likewise.
4555
45562022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4557
4558 * exp_ch3.adb (Build_Assignment): Adjust to the new definition of
4559 Incomplete_View field.
4560 * sem_ch10.ads (Decorate_Type): Declare.
4561 * sem_ch10.adb (Decorate_Type): Move to library level.
4562 (Install_Limited_With_Clause): In the already analyzed case, also
4563 deal with incomplete type declarations present in the sources and
4564 simplify the replacement code.
4565 (Build_Shadow_Entity): Deal with swapped views in package body.
4566 (Restore_Chain_For_Shadow): Deal with incomplete type declarations
4567 present in the sources.
4568 * sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new
4569 definition of Incomplete_View field.
4570 (Build_Incomplete_Type_Declaration): Small consistency tweak.
4571 Set the incomplete type as the Incomplete_View of the full type.
4572 If the scope is a package with a limited view, build a shadow
4573 entity for the incomplete type.
4574 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing
4575 the limited view of a CW type as designated type of an anonymous
4576 access return type, get to the CW type of the incomplete view of
4577 the tagged type, if any.
4578 (Collect_Primitive_Operations): Adjust to the new definition of
4579 Incomplete_View field.
4580 * sinfo.ads (Incomplete_View): Denote the entity itself instead
4581 of its declaration.
4582 * sem_util.adb: Remove call to Defining_Entity.
4583
45842022-05-16 Piotr Trojanek <trojanek@adacore.com>
4585
4586 * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a
4587 subtype recurse into its base type.
4588
45892022-05-16 Piotr Trojanek <trojanek@adacore.com>
4590
4591 * sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify.
4592
45932022-05-16 Piotr Trojanek <trojanek@adacore.com>
4594
4595 * sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma
4596 instead.
4597
45982022-05-16 Martin Liska <mliska@suse.cz>
4599
4600 * locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE.
4601 (language_name_to_639_3): Likewise.
4602 (country_name_to_3166): Likewise.
4603
9df4ffe4
GA
46042022-05-13 Alexandre Oliva <oliva@adacore.com>
4605
4606 * gcc-interface/decl.cc (is_cplusplus_method): Build proper
4607 String for Get_External_Name.
4608
46092022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4610
4611 * sem_ch3.adb (Derive_Subprogram): For a function, also copy the
4612 Returns_By_Ref flag from the parent.
4613
46142022-05-13 Gary Dismukes <dismukes@adacore.com>
4615
4616 * sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the
4617 expression of the aspect at this point, like other aspects that
4618 denote simple entities. Ensures that function
4619 Storage_Model_Object will have an entity to retrieve from the
4620 aspect expression. Also, move comment about aspects that don't
4621 require delay analysis in front of last alternative of the case
4622 statement, where it's supposed to be.
4623
46242022-05-13 Javier Miranda <miranda@adacore.com>
4625
4626 * contracts.adb (Build_Unique_Name): New subprogram.
4627 (Make_Class_Precondition_Subps): Use Build_Unique_Name to
4628 generate the names of the call helpers and the name of indirect
4629 call wrappers.
4630 * freeze.adb (Needs_Wrapper): Remove dead code.
4631 (Check_Inherited_Conditions): Defer building helpers and ICW
4632 until all the dispatch table wrappers have been built and
4633 analyzed. Required to ensure uniqueness in their names because
4634 when building these wrappers for overlapped subprograms their
4635 homonym number is not definite until they have been analyzed.
4636
46372022-05-13 Arnaud Charlet <charlet@adacore.com>
4638
4639 * libgnarl/s-taprop__linux.adb (Initialize): Do not use an
4640 alternate stack if no handler for SEGV is installed.
4641
46422022-05-13 Alexandre Oliva <oliva@adacore.com>
4643
4644 * doc/gnat_rm/security_hardening_features.rst (Control Flow
4645 Redundancy): Drop mentions of noreturn and tail calls.
4646 * gnat_rm.texi: Regenerate.
4647
46482022-05-13 Ghjuvan Lacambre <lacambre@adacore.com>
4649
4650 * ali.adb: Introduce new 'K' line in ALI files, used to
4651 represent CUDA kernel entries.
4652 * ali.ads: Create new CUDA_Kernels table, which contains entries
4653 of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds
4654 to a K line in an ali file.
4655 * bindgen.adb: Introduce new Gen_CUDA_Init procedure in the
4656 binder, which generates CUDA kernel registration code.
4657 * gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to
4658 make it available to bindgen.adb.
4659 * gnat_cuda.ads: Likewise.
4660 * lib-writ.adb: Introduce new Output_CUDA_Symbols procedure,
4661 which generates one 'K' line in the ALI file per visible CUDA
4662 kernel.
4663 * opt.ads: Introduce Enable_CUDA_Expansion option, triggered by
4664 using the -gnatd_c flag.
4665 * switch-b.adb: Likewise.
4666 * switch-c.adb: Likewise.
4667
46682022-05-13 Marc Poulhiès <poulhies@adacore.com>
4669
4670 * exp_aggr.adb (Gen_Loop): Create scope for loop variable of
4671 iterated components.
4672
46732022-05-13 Yannick Moy <moy@adacore.com>
4674
4675 * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index):
4676 Remove useless functions.
4677 (Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt
4678 to removal of wrapper functions.
4679 * libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index):
4680 Remove useless functions.
4681 * libgnat/a-chtgfo.adb (Checked_Index): Remove useless function.
4682 (Clear): Delete code commented out regarding Busy and Lock
4683 management.
4684 (Delete_Node_At_Index): Delete unused procedure.
4685 (Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to
4686 removal of wrapper functions.
4687 * libgnat/a-chtgfo.ads (Checked_Index): Remove useless function.
4688 (Delete_Node_At_Index): Delete unused procedure.
4689
46902022-05-13 Yannick Moy <moy@adacore.com>
4691
4692 * libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid
4693 aliasing.
4694 (Assign, Move): Remove address comparison.
4695 (Include): Insert constants for subtype constraints.
4696 (Insert): Rewrite to avoid aliasing and function with side-effects.
4697 * libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid
4698 aliasing.
4699 (Assign, Move): Remove address comparison.
4700 (Difference, Intersection, Is_Subset, Overlap,
4701 Symmetric_Difference, Union): Remove address comparison. Insert
4702 constants for subtype constraints.
4703 (Insert): Rewrite to avoid aliasing and function with
4704 side-effects.
4705 * libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index,
4706 Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index):
4707 Type for hash tables not tagged anymore.
4708 (Generic_Conditional_Insert): New_Node generic formal is a
4709 procedure taking the hash table as first parameter now, to avoid
4710 aliasing in the caller.
4711 * libgnat/a-chtgfk.ads: Same.
4712 * libgnat/a-chtgfo.adb (Checked_Index, Clear,
4713 Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free,
4714 Generic_Allocate, Generic_Iteration, Generic_Read,
4715 Generic_Write, Index, Next): Type for hash tables not tagged
4716 anymore.
4717 (Generic_Equal): Removed tagged. Remove address comparison.
4718 * libgnat/a-chtgfo.ads: Same.
4719 * libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged.
4720
47212022-05-13 Yannick Moy <moy@adacore.com>
4722
4723 * Makefile.rtl: Add new files.
4724 * libgnat/a-cfhama.adb: Use formal version of hash tables.
4725 * libgnat/a-cfhama.ads: Same.
4726 * libgnat/a-cfhase.adb: Same.
4727 * libgnat/a-cfhase.ads: Same.
4728 * libgnat/a-chtgfk.adb: New unit for formal containers, modified
4729 version of Generic_Bounded_Keys.
4730 * libgnat/a-chtgfk.ads: Same.
4731 * libgnat/a-chtgfo.adb: New unit for formal containers, modified
4732 version of Generic_Bounded_Operations.
4733 * libgnat/a-chtgfo.ads: Same.
4734 * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third
4735 version of the type for hash tables, equivalent to the bounded
4736 version without tampering checks.
4737
47382022-05-13 Javier Miranda <miranda@adacore.com>
4739
4740 * freeze.adb (Check_Inherited_Conditions): Dispatch table
4741 wrappers must be placed in the list of entities of their scope
4742 at the same place of their wrapped primitive. This is required
4743 for private types since these wrappers are built when their full
4744 tagged type declaration is frozen but they may override a
4745 primitive defined in the public part of the package (and it is
4746 important to maintain the wrapper in the list of public entities
4747 of the package to ensure their correct visibility).
4748
47492022-05-13 Johannes Kanig <kanig@adacore.com>
4750
4751 * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT
4752 environment variable is set, we use that as the prefix, instead
4753 of computing the prefix from the executable location.
4754
47552022-05-13 Steve Baird <baird@adacore.com>
4756
4757 * exp_ch3.ads (Build_Intialization_Call): Add new formal
4758 parameter, Init_Control_Actual, with default value. Clients
4759 outside of package Exp_Ch3 are unaffected.
4760 * exp_ch3.adb (Initialization_Control): new package; support for
4761 this 4-valued parameter. The existing Requires_Late_Init
4762 function is moved into this new package.
4763 (Build_Initialization_Call): Add new formal parameter for
4764 subprogram body, use this new formal parameter in generating an
4765 init proc call.
4766 (Build_Record_Init_Proc): Replace Set_Tag Boolean formal
4767 parameter with 4-valued Init_Control_Formal. Wrap if-statements
4768 with appropriate conditions around tag initialization, early
4769 initialization, and late initialization statements.
4770 * exp_util.adb (Build_Task_Image_Decl): Avoid problem with
4771 duplicate declarations when an init proc for a type extension
4772 calls the parent type's init proc twice.
4773
47742022-05-13 Ed Schonberg <schonberg@adacore.com>
4775
4776 * sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the
4777 case of a class-wide derived iterator.
4778
47792022-05-13 Yannick Moy <moy@adacore.com>
4780
4781 * libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
4782 contracts.
4783 * libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
4784 in code of procedure (function already uses it).
4785 * libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
4786 in contracts.
4787
47882022-05-13 Etienne Servais <servais@adacore.com>
4789
4790 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code
4791 snippet.
4792 * gnat_rm.texi: Regenerate.
4793
47942022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4795
4796 * aspects.adb (Find_Value_Of_Aspect): Add guard.
4797 * sem_ch4.adb (Complete_Object_Operation): Remove obsolete code.
4798 * sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard.
4799
48002022-05-13 Javier Miranda <miranda@adacore.com>
4801
4802 * exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
4803 'Address in a call to an instantiation of the implicit
4804 subprogram To_Pointer with a class-wide interface type target
4805 requires adding an implicit type conversion to force
4806 displacement of the "this" pointer.
4807
48082022-05-13 Javier Miranda <miranda@adacore.com>
4809
4810 * sem_attr.adb (Resolve_Attribute): Ensure that attribute
4811 expressions are resolved at this stage; required for preanalyzed
4812 references to discriminants since their resolution (and
4813 expansion) will take care of updating their Entity attribute to
4814 reference their discriminal.
4815
48162022-05-13 Justin Squirek <squirek@adacore.com>
4817
4818 * sem_util.adb (Wrong_Type): Avoid using the first subtype of
4819 the expected type in error messages when the expected type is
4820 not internally generated.
4821
48222022-05-13 Alexandre Oliva <oliva@adacore.com>
4823
4824 * doc/gnat_rm/security_hardening_features.rst: Add subsection on
4825 Control Flow Redundancy.
4826 * gnat_rm.texi: Regenerate.
4827
48282022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4829
4830 * exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that
4831 it is a WHILE iteration scheme before using Condition_Actions.
4832
48332022-05-13 Piotr Trojanek <trojanek@adacore.com>
4834
4835 * atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb,
4836 sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of
4837 Unchecked_Conversion in the compiler itself.
4838 * libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads,
4839 libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb,
4840 libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the
4841 runtime.
4842 * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in
4843 documentation.
4844 * gnat_ugn.texi: Regenerate.
4845
48462022-05-13 Piotr Trojanek <trojanek@adacore.com>
4847
4848 * butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb:
4849 Replace uses of Unchecked_Deallocation with
4850 Ada.Unchecked_Deallocation.
4851 * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the
4852 documentation; fix casing of GNAT.IO.
4853 * gnat_ugn.texi: Regenerate.
4854
48552022-05-13 Marc Poulhiès <poulhies@adacore.com>
4856
4857 * sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference.
4858 Remove useless loop.
4859
48602022-05-13 Etienne Servais <servais@adacore.com>
4861
4862 * sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in
4863 comment.
4864
48652022-05-13 Justin Squirek <squirek@adacore.com>
4866
4867 * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
4868 generation of run-time accessibility checks to account for cases
4869 where Extra_Accessibility_Of_Result should be used versus the
4870 level of the enclosing subprogram. Use original node to avoid
4871 checking against expanded code. Disable check generation for
4872 tagged type case.
4873 (Is_Formal_Of_Current_Function): Added to encompass a predicate
4874 used within Check_Return_Construct_Accessibility to test if an
4875 associated expression is related to a relevant formal.
4876 * sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to
4877 accept Node_Or_Entity_Id.
4878 (Innermost_Master_Scope_Depth): Calculate level based on the
4879 subprogram of a return statement instead of the one returned by
4880 Current_Subprogram.
4881 (Needs_Result_Accessibility_Level): Remove
4882 Disable_Coextension_Cases constant, and disable the tagged type
4883 case for performance reasons.
4884
48852022-05-13 Piotr Trojanek <trojanek@adacore.com>
4886
4887 * sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore
4888 component and discriminant identifiers.
4889
48902022-05-13 Piotr Trojanek <trojanek@adacore.com>
4891
4892 * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove
4893 redundant guard.
4894
48952022-05-13 Justin Squirek <squirek@adacore.com>
4896
4897 * sem_ch8.adb (Determine_Package_Scope): Created to centralize
4898 the calculation of which package a given use clause belongs to.
4899 (Most_Descendant_Use_Clause): Modified to call
4900 Determine_Package_Scope.
4901 * sem_util.adb, sem_util.ads (Enclosing_Package): Modified to
4902 handle both entity and node ids.
4903
49ace834
GA
49042022-05-12 Piotr Trojanek <trojanek@adacore.com>
4905
4906 * gnat1drv.adb (Gnat1drv): Skip postponed checks when there are
4907 errors.
4908
49092022-05-12 Arnaud Charlet <charlet@adacore.com>
4910
4911 * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL.
4912 * gnat_ugn.texi: Regenerate.
4913
49142022-05-12 Bob Duff <duff@adacore.com>
4915
4916 * namet.ads, namet.adb (Write_Name_For_Debug): Add Quote
4917 parameter to allow conditional addition of quotes. Note that
4918 some calls to Write_Name_For_Debug, for example for file names,
4919 shouldn't have quotes, as in some_package.adb:123:45.
4920 * treepr.adb (Print_Name): Add double quotes around the name
4921 using the above Quote parameters.
4922
49232022-05-12 Piotr Trojanek <trojanek@adacore.com>
4924
4925 * sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
4926 * sem_util.adb (Replace_Null_Operand,
4927 Null_To_Null_Address_Convert_OK): Likewise.
4928
49292022-05-12 Piotr Trojanek <trojanek@adacore.com>
4930
4931 * sem_util.ads (Is_Selector_Name): Remove spec.
4932 * sem_util.adb (Is_Selector_Name): Remove body.
4933
49342022-05-12 Arnaud Charlet <charlet@adacore.com>
4935
4936 * sem_warn.adb (Has_Junk_Name): Add more dummy names.
4937
49382022-05-12 Piotr Trojanek <trojanek@adacore.com>
4939
4940 * lib-xref.adb (Generate_Reference): Fix comment and implement
4941 it precisely.
4942
49432022-05-12 Piotr Trojanek <trojanek@adacore.com>
4944
4945 * atree.adb, atree.ads: Move WITH clause from spec to body; to
4946 prevent new warnings stopping the bootstrap.
4947 * fmap.adb, fname-sf.adb, libgnat/a-direct.adb,
4948 libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to
4949 prevent new warnings stopping the bootstrap.
4950 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set
4951 Is_Instantiated flag when the instance is in the extended main
4952 source unit.
4953
49542022-05-12 Yannick Moy <moy@adacore.com>
4955
4956 * libgnat/s-valuei.ads: Remove pragma Warnings Off.
4957 * libgnat/s-valueu.ads: Same.
4958 * libgnat/s-valuti.ads: Same.
4959
49602022-05-12 Yannick Moy <moy@adacore.com>
4961
4962 * sem_util.adb (Check_Result_And_Post_State): Exempt trivial
4963 post.
4964
49652022-05-12 Arnaud Charlet <charlet@adacore.com>
4966
4967 * ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h,
4968 gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads,
4969 lib-writ.adb: Get rid of Frontend_Exceptions processing.
4970 * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads,
4971 libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads,
4972 libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads,
4973 libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads,
4974 libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads,
4975 libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads,
4976 libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads,
4977 libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads,
4978 libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads,
4979 libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads,
4980 libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads,
4981 libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads,
4982 libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads,
4983 libgnat/system-solaris-sparc.ads,
4984 libgnat/system-solaris-x86.ads,
4985 libgnat/system-vxworks-arm-rtp-smp.ads,
4986 libgnat/system-vxworks-arm-rtp.ads,
4987 libgnat/system-vxworks-arm.ads,
4988 libgnat/system-vxworks-e500-kernel.ads,
4989 libgnat/system-vxworks-e500-rtp-smp.ads,
4990 libgnat/system-vxworks-e500-rtp.ads,
4991 libgnat/system-vxworks-ppc-kernel.ads,
4992 libgnat/system-vxworks-ppc-rtp-smp.ads,
4993 libgnat/system-vxworks-ppc-rtp.ads,
4994 libgnat/system-vxworks-x86-kernel.ads,
4995 libgnat/system-vxworks-x86-rtp-smp.ads,
4996 libgnat/system-vxworks-x86-rtp.ads,
4997 libgnat/system-vxworks7-aarch64-rtp-smp.ads,
4998 libgnat/system-vxworks7-aarch64.ads,
4999 libgnat/system-vxworks7-arm-rtp-smp.ads,
5000 libgnat/system-vxworks7-arm.ads,
5001 libgnat/system-vxworks7-e500-kernel.ads,
5002 libgnat/system-vxworks7-e500-rtp-smp.ads,
5003 libgnat/system-vxworks7-e500-rtp.ads,
5004 libgnat/system-vxworks7-ppc-kernel.ads,
5005 libgnat/system-vxworks7-ppc-rtp-smp.ads,
5006 libgnat/system-vxworks7-ppc-rtp.ads,
5007 libgnat/system-vxworks7-ppc64-kernel.ads,
5008 libgnat/system-vxworks7-ppc64-rtp-smp.ads,
5009 libgnat/system-vxworks7-x86-kernel.ads,
5010 libgnat/system-vxworks7-x86-rtp-smp.ads,
5011 libgnat/system-vxworks7-x86-rtp.ads,
5012 libgnat/system-vxworks7-x86_64-kernel.ads,
5013 libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove
5014 Frontend_Exceptions line.
5015 * gcc-interface/decl.cc, gcc-interface/trans.cc
5016 (gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi,
5017 gnat_to_gnu): Remove Front_End_SJLJ processing and always assume
5018 Back_End_Exceptions.
5019
50202022-05-12 Bob Duff <duff@adacore.com>
5021
5022 * namet.ads, namet.adb (Write_Name_For_Debug): New more-robust
5023 version of Write_Name.
5024 (Destroy_Global_Name_Buffer): New procedure to help detect bugs
5025 related to use of Global_Name_Buffer. Misc cleanup and comment
5026 improvements. E.g. we don't need to document every detail of
5027 debugging printouts, especially since they can change.
5028 * uname.ads, uname.adb (Write_Unit_Name_For_Debug): New
5029 more-robust version of Write_Unit_Name.
5030 (Get_Unit_Name_String): Pass buffer in, instead of using the
5031 global variable. Misc cleanup. Remove the "special fudge", which
5032 is apparently not needed, and anyway the comment "the %s or %b
5033 has already been eliminated" seems wrong.
5034 (Write_Unit_Name): Call the new version of Get_Unit_Name_String.
5035 * errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version
5036 of Get_Unit_Name_String. We pass the global variable here,
5037 because it's too much trouble to disentangle such uses in
5038 Errout.
5039 * sem_util.ads, sem_util.adb, sem_dist.adb
5040 (Get_Library_Unit_Name): New version of
5041 Get_Library_Unit_Name_String that avoids usage of the global
5042 variable.
5043 * casing.ads, casing.adb, exp_prag.adb, exp_util.adb
5044 (Set_All_Upper_Case): Remove. There is no need for a wrapper
5045 here -- code is clearer without it.
5046 * treepr.adb (Print_Name): Call Write_Name_For_Debug, which
5047 deals with No_Name (etc), rather than duplicating that here.
5048 Note that the call to Get_Name_String was superfluous.
5049 (Tree_Dump): Call Write_Unit_Name_For_Debug instead of
5050 Write_Unit_Name, which crashes if not Is_Valid_Name.
5051 * erroutc.ads: Improve comments.
5052 * erroutc.adb (Set_Msg_Name_Buffer): Call
5053 Destroy_Global_Name_Buffer to detect potential bugs where it
5054 incorrectly looks at the global variable.
5055 * sinput.adb (Write_Location): Call Write_Name_For_Debug instead
5056 of Write_Name, so it won't blow up on invalid data.
5057 * sinput.ads: Improve comments; remove some verbosity.
5058 * libgnat/s-imagef.adb: Fix typo in comment.
5059
50602022-05-12 Yannick Moy <moy@adacore.com>
5061
5062 * libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma.
5063 * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
5064
50652022-05-12 Yannick Moy <moy@adacore.com>
5066
5067 * libgnat/s-aridou.ads: Remove use-clause, add renames and
5068 subtypes.
5069 * libgnat/s-exponn.ads: Same.
5070 * libgnat/s-expont.ads: Same.
5071 * libgnat/s-widthu.ads: Same.
5072
50732022-05-12 Etienne Servais <servais@adacore.com>
5074
5075 * csets.adb (Fold_Latin_9): Fix y with diaeresis.
5076 (Fold_IBM_PC_850): Fix o with stroke.
5077
50782022-05-12 Piotr Trojanek <trojanek@adacore.com>
5079
5080 * sem_type.adb (Valid_Boolean_Arg): Remove redundant guard.
5081
50822022-05-12 Piotr Trojanek <trojanek@adacore.com>
5083
5084 * sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are
5085 valid boolean arguments.
5086
50872022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5088
5089 * sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add
5090 test for subtype conformance in the cases of
5091 access-to-subprogram types.
5092
50932022-05-12 Yannick Moy <moy@adacore.com>
5094
5095 * libgnat/s-imagef.adb: Justify false message from CodePeer.
5096
50972022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5098
5099 * sem_ch4.adb (Analyze_Case_Expression): Rewrite.
5100 (Analyze_If_Expression): Likewise.
5101 (Possible_Type_For_Conditional_Expression): New function.
5102 * sem_type.adb (Specific_Type): Retur the base type in more
5103 cases.
5104
51052022-05-12 Yannick Moy <moy@adacore.com>
5106
5107 * libgnat/s-imagef.adb: Adapt to new signature of Image_I, by
5108 providing ghost imported subprograms. For now, no contract is
5109 used on these subprograms, as System.Image_F is not proved.
5110 * libgnat/s-imagef.ads: Add modular type Uns as formal
5111 parameter, to use in defining Int_Params for instantiating
5112 Image_I.
5113 * libgnat/s-imagei.adb: Add contracts and ghost code.
5114 * libgnat/s-imagei.ads: Replace Int formal parameter by package
5115 Int_Params, which bundles type Int and Uns with ghost
5116 subprograms. Add contracts.
5117 * libgnat/s-imfi128.ads: Adapt to new formal of Image_F.
5118 * libgnat/s-imfi32.ads: Adapt to new formal of Image_F.
5119 * libgnat/s-imfi64.ads: Adapt to new formal of Image_F.
5120 * libgnat/s-imgint.ads: Adapt to new formals of Image_I.
5121 * libgnat/s-imglli.ads: Adapt to new formals of Image_I.
5122 * libgnat/s-imgllli.ads: Adapt to new formals of Image_I.
5123 * libgnat/s-valint.ads: Adapt to new formals of Value_I.
5124 * libgnat/s-vallli.ads: Adapt to new formals of Value_I.
5125 * libgnat/s-valllli.ads: Adapt to new formals of Value_I.
5126 * libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New
5127 ghost lemma.
5128 * libgnat/s-valuei.ads: New formal parameters to prove the new
5129 lemma.
5130 * libgnat/s-valuti.ads (Int_Params): Define a generic package to
5131 be used as a trait-like formal parameter in Image_I and other
5132 generics that need to instantiate Image_I.
5133 * libgnat/s-widthu.ads (Big_10): Qualify the 10 literal.
5134
51352022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5136
5137 * sem_ch4.adb (Find_Arithmetic_Types): Use local variables.
5138 (Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types.
5139
51402022-05-12 Alexandre Oliva <oliva@adacore.com>
5141
5142 * doc/gnat_rm/security_hardening_features.rst (Hardened
5143 Booleans): New.
5144 * exp_util.adb (Adjust_Condition): Perform validity checking on
5145 hardbool-annotated types even with -gnatVT.
5146 * gnat_rm.texi: Regenerate.
5147 * gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore
5148 hardbool.
5149
51502022-05-12 Piotr Trojanek <trojanek@adacore.com>
5151
5152 * exp_ch9.adb (Build_Protected_Entry): Set scope of the nested
5153 block to spec and not the body of the procedure created for a
5154 protected entry.
5155
51562022-05-12 Etienne Servais <servais@adacore.com>
5157
5158 * sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in
5159 comment.
5160
51612022-05-12 Marc Poulhiès <poulhies@adacore.com>
5162
5163 * csets.adb (Initialize): Only treat square bracket as valid
5164 identifier character for Ada versions prior to Ada 2022.
5165 * style.ads (Check_Left_Paren): Rename...
5166 (Check_Left_Paren_Square_Bracket): ...to this.
5167 * styleg.adb (Check_Left_Bracket): Rename...
5168 (Check_Left_Paren_Square_Bracket): ...to this.
5169 * styleg.ads (Check_Left_Paren): Rename...
5170 (Check_Left_Paren_Square_Bracket): ...to this.
5171 * scng.adb (Scan): Add check for spacing around left square
5172 bracket and use new name for Check_Left_Paren_Square_Bracket.
5173 * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
5174 (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
5175 (Character_Ranges): Fix style (remove extra space).
5176 * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
5177 (Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
5178 (Character_Ranges): Likewise.
5179 * opt.adb (Set_Config_Switches): Remove [ from Identifier_Char
5180 set.
5181
51822022-05-12 Eric Botcazou <ebotcazou@adacore.com>
5183
5184 * sem_type.adb (Specific_Type): Add swapped cases for interfaces.
5185
51862022-05-12 Piotr Trojanek <trojanek@adacore.com>
5187
5188 * doc/gnat_rm/implementation_defined_pragmas.rst:
5189 (Export_Object, Import_Object, Short_Descriptors): Fix pragma
5190 syntax specification.
5191 * gnat_rm.texi: Regenerate.
5192
51932022-05-12 Piotr Trojanek <trojanek@adacore.com>
5194
5195 * ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute
5196 the Name_Id table.
5197
51982022-05-12 Piotr Trojanek <trojanek@adacore.com>
5199
5200 * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
5201 Pragmas): Add Aggregate_Individually_Assign; otherwise the list
5202 is complete except for some obsoleted pragmas, which most likely
5203 are intentionally omitted.
5204 * gnat_ugn.texi: Regenerate.
5205
d0d513b5
GA
52062022-05-11 Yannick Moy <moy@adacore.com>
5207
5208 * libgnat/s-imaged.ads: Remove Pure.
5209 * libgnat/s-imagef.ads: Remove Pure.
5210 * libgnat/s-imager.ads: Remove Pure.
5211 * libgnat/s-imageu.adb: Add ghost code.
5212 * libgnat/s-imageu.ads: Add contracts.
5213 * libgnat/s-imde128.ads: Remove Pure.
5214 * libgnat/s-imde32.ads: Remove Pure.
5215 * libgnat/s-imde64.ads: Remove Pure.
5216 * libgnat/s-imfi128.ads: Remove Pure.
5217 * libgnat/s-imfi32.ads: Remove Pure.
5218 * libgnat/s-imfi64.ads: Remove Pure.
5219 * libgnat/s-imgflt.ads: Remove Pure.
5220 * libgnat/s-imglfl.ads: Remove Pure.
5221 * libgnat/s-imgllf.ads: Remove Pure.
5222 * libgnat/s-imglllu.ads: Instantiate with ghost subprograms.
5223 * libgnat/s-imgllu.ads: Instantiate with ghost subprograms.
5224 * libgnat/s-imgrea.ads: Remove Pure.
5225 * libgnat/s-imguns.ads: Instantiate with ghost subprograms.
5226 * libgnat/s-imguti.ads: Remove Pure.
5227 * libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost,
5228 Prove_Scan_Only_Decimal_Ghost): New lemmas.
5229 * libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to
5230 be able to use it as formal in instantiations.
5231 (Only_Decimal_Ghost): New ghost query.
5232 (Prove_Iter_Scan_Based_Number_Ghost,
5233 Prove_Scan_Only_Decimal_Ghost): New lemmas.
5234 * libgnat/s-widlllu.ads: Adapt to changes in Width_U.
5235 * libgnat/s-widllu.ads: Adapt to changes in Width_U.
5236 * libgnat/s-widthu.adb: Change generic function in generic
5237 package in order to complete the postcondition. Tighten the
5238 upper bound on the result by 1.
5239 * libgnat/s-widthu.ads: Same.
5240 * libgnat/s-widuns.ads: Adapt to changes in Width_U.
5241 * gcc-interface/Make-lang.in: Add dependencies on a-nubinu,
5242 a-numeri.ads and a-widuns.ads.
5243
52442022-05-11 Piotr Trojanek <trojanek@adacore.com>
5245
5246 * snames.ads-tmpl (Detect_Blocking): Move after
5247 Default_Storage_Pool.
5248
52492022-05-11 Piotr Trojanek <trojanek@adacore.com>
5250
5251 * sem_prag.adb (Analyze_Pragma): Remove custom check for
5252 Compile_Time_Error and Compile_Time_Warning pragmas.
5253 * snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
5254 Move beyond Last_Configuration_Pragma_Name.
5255
52562022-05-11 Marc Poulhiès <poulhies@adacore.com>
5257
5258 * libgnat/a-direct.adb (Start_Search_Internal): Use parentheses
5259 for record aggregate.
5260 * libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
5261 * libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
5262 * libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String):
5263 Likewise.
5264 * libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping):
5265 Likewise.
5266 * libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping):
5267 Likewise.
5268 * libgnat/s-statxd.adb (Fields): Likewise.
5269 * libgnat/s-stausa.adb (Initialize): Likewise.
5270 * sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates
5271 using brackets.
5272
52732022-05-11 Piotr Trojanek <trojanek@adacore.com>
5274
5275 * doc/gnat_rm/implementation_defined_pragmas.rst,
5276 doc/gnat_rm/implementation_of_specific_ada_features.rst,
5277 doc/gnat_rm/representation_clauses_and_pragmas.rst,
5278 doc/gnat_rm/the_gnat_library.rst,
5279 doc/gnat_rm/the_implementation_of_standard_i_o.rst,
5280 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
5281 doc/gnat_ugn/gnat_and_program_execution.rst,
5282 doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
5283 parentheses and brackets.
5284 * sem_prag.adb (pragma Obsolescent): Likewise.
5285 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5286
52872022-05-11 Marc Poulhiès <poulhies@adacore.com>
5288
5289 * libgnat/s-rident.ads (Restriction_Id): Add
5290 No_Local_Tagged_Types, update comment for adding new GNAT
5291 specific restriction.
5292 * restrict.ads (Implementation_Restriction): Add
5293 No_Local_Tagged_Types.
5294 * sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for
5295 tagged type at library level.
5296 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
5297 Add No_Local_Tagged_Types description.
5298 * gnat_rm.texi: Regenerate.
5299
53002022-05-11 Eric Botcazou <ebotcazou@adacore.com>
5301
5302 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type
5303 in the interpretation of the operator.
5304
53052022-05-11 Piotr Trojanek <trojanek@adacore.com>
5306
5307 * sem_case.adb (Free_Value_Sets): Fix style in body header box.
5308 * sem_ch12.adb (Build_Subprogram_Wrappers): Likewise.
5309 * sem_util.adb (Statically_Denotes_Entity): Likewise.
5310
53112022-05-11 Etienne Servais <servais@adacore.com>
5312
5313 * sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if
5314 branch to avoid calling it twice.
5315
53162022-05-11 Piotr Trojanek <trojanek@adacore.com>
5317
5318 * sem_warn.adb (Find_Var): Detect all operators; replace
5319 "condition" to "expression" in comments, because when this
5320 routine is called recursively it no longer examines the
5321 condition.
5322 (Is_Suspicious_Function_Name): Reduce scope of a local variable
5323 to avoid shadowing with a parameter of a nested
5324 Substring_Present function.
5325
53262022-05-11 Yannick Moy <moy@adacore.com>
5327
5328 * libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
5329 intermediate assertions.
5330
53312022-05-11 Piotr Trojanek <trojanek@adacore.com>
5332
5333 * libgnat/s-rident.ads (Implementation_Restriction): Remove
5334 No_Dynamic_Attachment, No_Implementation_Attributes,
5335 No_Implementation_Pragmas, No_Local_Protected_Objects,
5336 No_Protected_Type_Allocators, No_Relative_Delay,
5337 No_Requeue_Statements, No_Select_Statements,
5338 No_Task_Termination, Pure_Barriers and Simple_Barriers; add
5339 No_Dynamic_Sized_Objects,
5340 No_Implicit_Protected_Object_Allocations,
5341 No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and
5342 Static_Dispatch_Tables; sort alphabetically.
5343 * restrict.ads (Restriction_Id): Change Pure_Barriers and
5344 No_Task_Termination from GNAT to Ada restrictions.
5345
53462022-05-11 Piotr Trojanek <trojanek@adacore.com>
5347
5348 * exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
5349 libgnat/g-exptty.adb, libgnat/g-socpol.adb,
5350 libgnat/s-strhas.adb: Fix headers.
5351
53522022-05-11 Joao Azevedo <azevedo@adacore.com>
5353
5354 * doc/gnat_ugn/platform_specific_information.rst: Add
5355 glibc-locale-base-32bit as a dependency in SUSE distributions.
5356 * gnat_ugn.texi: Regenerate.
5357
53582022-05-11 Piotr Trojanek <trojanek@adacore.com>
5359
5360 * doc/gnat_ugn/gnat_and_program_execution.rst,
5361 doc/gnat_ugn/gnat_utility_programs.rst,
5362 doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
5363 glitches.
5364 * gnat_ugn.texi: Regenerate.
5365
53662022-05-11 Piotr Trojanek <trojanek@adacore.com>
5367
5368 * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
5369 blocks from plain code to Ada.
5370
53712022-05-11 Gary Dismukes <dismukes@adacore.com>
5372
5373 * exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp
5374 object approach in the case where the type of the LHS is
5375 controlled or has controlled subcomponents (Needs_Finalization
5376 is True), and use the procedure approach instead.
5377
53782022-05-11 Bob Duff <duff@adacore.com>
5379
5380 * sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the
5381 "tree" can be malformed (a DAG, not a tree) because
5382 Get_Discr_Value could be returning some subtree already attached
5383 to the tree.
5384
53852022-05-11 Piotr Trojanek <trojanek@adacore.com>
5386
5387 * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
5388 proper label entities.
5389
53902022-05-11 Piotr Trojanek <trojanek@adacore.com>
5391
5392 * doc/gnat_rm/implementation_defined_characteristics.rst: Add
5393 tabularcolums directive, as explained in documentation of Sphinx
5394 and tabular LaTeX package.
5395
53962022-05-11 Piotr Trojanek <trojanek@adacore.com>
5397
5398 * doc/gnat_rm/implementation_defined_aspects.rst,
5399 doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra
5400 whitespace.
5401 * gnat_rm.texi: Regenerate.
5402
54032022-05-11 Piotr Trojanek <trojanek@adacore.com>
5404
5405 * doc/gnat_rm/implementation_defined_characteristics.rst: Remove
5406 extra indent in continuation lines; indent both descriptions of
5407 Max_Picture_Length.
5408 * gnat_rm.texi: Regenerate.
5409
54102022-05-11 Piotr Trojanek <trojanek@adacore.com>
5411
5412 * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
5413 Eliminate): Fix markup.
5414 * gnat_rm.texi: Regenerate.
5415
54162022-05-11 Johannes Kliemann <kliemann@adacore.com>
5417
5418 * libgnat/g-sthcso.adb: Suppress warning about unneeded use type
5419 clause.
5420
54212022-05-11 Piotr Trojanek <trojanek@adacore.com>
5422
5423 * sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
5424 proper label entities.
5425
54262022-05-11 Piotr Trojanek <trojanek@adacore.com>
5427
5428 * doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
5429 Ada_2022): Copy description from pragma Ada 2012 and adapt.
5430 * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
5431 Pragmas): List pragma Ada 2022.
5432 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5433
54342022-05-11 Steve Baird <baird@adacore.com>
5435
5436 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace
5437 the existing check for an address specification for an object of
5438 a class-wide type with a more general check which rejects either
5439 the class-wide case or the case where the FE would (if the
5440 address specification were accepted) build a malformed
5441 tree (specifically, an object renaming declaration with a
5442 specified address). In the case where the check fails, reject
5443 the construct at compile time instead of generating an
5444 unconditional raise of Program_Error.
5445 * doc/gnat_rm/representation_clauses_and_pragmas.rst: Update
5446 documentation to reflect these changes.
5447 * gnat_rm.texi: Regenerate.
5448
54492022-05-11 Piotr Trojanek <trojanek@adacore.com>
5450
5451 * gen_il-gen-gen_entities.adb (Reachable): Move from
5452 Root_Entity_Type to E_Label.
5453
54542022-05-11 Alexandre Oliva <oliva@adacore.com>
5455
5456 * exp_ch3.adb (Expand_N_Object_Declaration): Guard
5457 Set_Is_Known_Valid with Safe_To_Capture_Value.
5458
54592022-05-11 Bob Duff <duff@adacore.com>
5460
5461 * repinfo.adb (List_Object_Info): Do not try to print values
5462 that have not been computed (and so are No_Uint).
5463 (Rep_Not_Constant): Reverse sense and change name to
5464 Compile_Time_Known_Rep. This makes the code at call sites a
5465 little more readable. Simplify code to a single return
5466 statement.
5467
e8778989
GA
54682022-05-10 Martin Liska <mliska@suse.cz>
5469
5470 * gcc-interface/decl.cc (compare_field_bitpos): Use void *
5471 instead PTR.
5472 * gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise.
5473
54742022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5475
5476 * fe.h (Is_Expression_Function): Declare.
5477 * sem_util.ads (Is_Expression_Function): Add warning line.
5478
54792022-05-10 Alexandre Oliva <oliva@adacore.com>
5480
5481 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>:
5482 Drop redundant range check for nonstandard booleans.
5483
54842022-05-10 Alexandre Oliva <oliva@adacore.com>
5485
5486 * exp_util.adb (Adjust_Result_Type): Leave result in
5487 Standard.Boolean if it's going to be converted to another
5488 boolean type.
5489 * exp_ch4.adb (Expand_N_Type_Conversion): When optimizing,
5490 convert to nonstandard booleans with an if_expression with
5491 boolean literals.
5492
54932022-05-10 Alexandre Oliva <oliva@adacore.com>
5494
5495 * exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to
5496 handle non-standard booleans.
5497
54982022-05-10 Justin Squirek <squirek@adacore.com>
5499
5500 * sem_ch8.adb (Use_One_Type): Remove code in charge of setting
5501 Current_Use_Clause when Id is known to be redundant, and modify
5502 the printing of errors associated with redundant use type
5503 clauses so that line number gets included in more cases.
5504
55052022-05-10 Piotr Trojanek <trojanek@adacore.com>
5506
5507 * sem_warn.adb (Check_Unset_Reference): Use variant of
5508 Earlier_In_Extended_Unit that calls Sloc internally.
5509
55102022-05-10 Piotr Trojanek <trojanek@adacore.com>
5511
5512 * par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb,
5513 treepr.adb: Simplify calculations with Source_Ptr and Loc
5514 values.
5515
55162022-05-10 Piotr Trojanek <trojanek@adacore.com>
5517
5518 * sem_res.adb (Resolve_Expression_With_Actions): Fix style in
5519 nested routines.
5520
55212022-05-10 Piotr Trojanek <trojanek@adacore.com>
5522
5523 * atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb,
5524 sem_ch4.adb, sem_res.adb, sem_util.adb: Use
5525 Is_Rewrite_Substitution where possible.
5526
55272022-05-10 Piotr Trojanek <trojanek@adacore.com>
5528
5529 * exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb,
5530 sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb,
5531 treepr.adb: Replace /= and = operators with No and Present,
5532 respectively.
5533
55342022-05-10 Piotr Trojanek <trojanek@adacore.com>
5535
5536 * sem_warn.adb (Within_Postcondition): Guard against search
5537 going too far.
5538
55392022-05-10 Piotr Trojanek <trojanek@adacore.com>
5540
5541 * sem_warn.adb (Check_Unset_Reference): The early test was only
5542 saving time of calls to Original_Node, Comes_From_Source and
5543 Nkind, which are all quick and cheap.
5544
55452022-05-10 Piotr Trojanek <trojanek@adacore.com>
5546
5547 * sem_ch5.adb (Check_Unreachable_Code): Remove inner declare
5548 block; refill code and comments.
5549
55502022-05-10 Piotr Trojanek <trojanek@adacore.com>
5551
5552 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace
5553 First_Entity/Next_Entity with First_Formal/Next_Formal; rename
5554 E1/E2 to F1/F2.
5555
55562022-05-10 Piotr Trojanek <trojanek@adacore.com>
5557
5558 * sem_res.adb (Resolve_Declare_Expression): Check expression for
5559 references to unset objects.
5560 (Resolve_Qualified_Expression): Likewise.
5561 * sem_warn.adb (Check_Unset_Reference): Remove handling of
5562 declare and qualified expressions; clarify comment for type
5563 conversions.
5564
55652022-05-10 Piotr Trojanek <trojanek@adacore.com>
5566
5567 * sem_res.adb (Resolve_Case_Expression): Check alternative
5568 expressions for references to unset objects.
5569 (Resolve_If_Expression): Check condition, then and else
5570 expressions for references to unset objects.
5571
55722022-05-10 Kévin Le Gouguec <legouguec@adacore.com>
5573
5574 * doc/gnat_rm/implementation_defined_attributes.rst,
5575 doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos.
5576 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5577
55782022-05-10 Etienne Servais <servais@adacore.com>
5579
5580 * sem_ch13.adb (Is_Predicate_Static): Fix typo in comment.
5581
55822022-05-10 Yannick Moy <moy@adacore.com>
5583
5584 * libgnat/s-valuei.adb: Fix indentation.
5585 * libgnat/s-valuei.ads: Same.
5586
55872022-05-10 Claire Dross <dross@adacore.com>
5588
5589 * snames.ads-tmpl: Add "Structural" as a name.
5590 * sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural"
5591 in pragmas Loop_Variant and Subprogram_Variant. Check that items
5592 associated to Structural occur alone in the pragma associations.
5593 (Analyze_Subprogram_Variant_In_Decl_Part): Idem.
5594 * exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural
5595 variants.
5596 (Expand_Pragma_Subprogram_Variant): Idem.
5597
55982022-05-10 Claire Dross <dross@adacore.com>
5599
5600 * libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore
5601 assertions in instance and add additional ghost parameters to
5602 the instance of Value_I.
5603 * libgnat/s-vallli.ads: Idem.
5604 * libgnat/s-valllli.ads: Idem.
5605 * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
5606 parameters for ghost functions from System.Valueu. Add
5607 functional contracts.
5608
56092022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5610
5611 * sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code.
5612 (Resolve_Op_Not): Likewise.
5613 * sem_type.adb (Disambiguate): Add missing test for RM 8.4(10).
5614 * libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity.
5615 (Symbolic_Address): Likewise.
5616
56172022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5618
5619 * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.
5620
56212022-05-10 Piotr Trojanek <trojanek@adacore.com>
5622
5623 * exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
5624 UI_To_CC; replace magic literals with high-level routines that
5625 recognise wide and wide wide characters; reorder if-then-elsif
5626 condition, because we don't have a routine to detect wide wide
5627 characters.
5628
56292022-05-10 Etienne Servais <servais@adacore.com>
5630
5631 * scng.adb (Nlit): Error on big UI_Scale.
5632
56332022-05-10 Piotr Trojanek <trojanek@adacore.com>
5634
5635 * exp_util.adb (Build_Task_Array_Image): Declare expanded
5636 objects as constants.
5637 (Build_Task_Image_Prefix): Likewise.
5638 (Build_Task_Record_Image): Likewise.
5639
56402022-05-10 Marc Poulhiès <poulhies@adacore.com>
5641
5642 * checks.adb (Determine_Range): Fix range refining.
5643
56442022-05-10 Steve Baird <baird@adacore.com>
5645
5646 * sem_util.adb (Get_Actual_Subtype): If a new subtype is built,
5647 do not freeze it if Expander_Active is False. The idea here is
5648 to avoid generating an unwanted Freeze_Node for a subtype that
5649 has been conjured up solely for purposes of preanalysis.
5650
56512022-05-10 Piotr Trojanek <trojanek@adacore.com>
5652
5653 * exp_util.adb (Build_Task_Array_Image): Fix style in the
5654 structure of generated code; add Pref'Length as the component of
5655 the Sum initialization expression.
5656
56572022-05-10 Piotr Trojanek <trojanek@adacore.com>
5658
5659 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use
5660 Get_Char_Code.
5661 * exp_util.adb (Build_Task_Array_Image): Simplify conversion to
5662 Char_Code.
5663 (Build_Task_Image_Prefix): Likewise.
5664 (Build_Task_Record_Image): Likewise.
5665 * cstand.adb (Create_Standard): Use UI_From_Int instead of
5666 UI_From_CC.
5667 * exp_ch11.adb (Expand_N_Exception_Declaration): Likewise.
5668 * sem_res.adb (Patch_Up_Value): Likewise.
5669 * stringt.adb (Write_String_Table_Entry): Use Get_Char_Code.
5670
bd022ff9
GA
56712022-05-09 Yannick Moy <moy@adacore.com>
5672
5673 * sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation
5674 message.
5675
56762022-05-09 Piotr Trojanek <trojanek@adacore.com>
5677
5678 * uintp.adb (UI_To_CC): Guard against illegal inputs; reuse
5679 UI_To_Int.
5680
56812022-05-09 Piotr Trojanek <trojanek@adacore.com>
5682
5683 * par-prag.adb (Prag): Simplify conversion of character codes.
5684 * sem_case.adb (Choice_Image): Likewise.
5685 (Lit_Of): Likewise.
5686
56872022-05-09 Justin Squirek <squirek@adacore.com>
5688
5689 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>:
5690 Deal specifically wth class-wide equivalent types without a
5691 parent.
5692 * exp_util.adb (Build_Allocate_Deallocate_Proc): Extract
5693 allocator node for calculation of alignment actual and modify
5694 alignment for allocators of class-wide types with associated
5695 expressions.
5696 (Make_CW_Equivalent_Type): Handle interface types differently
5697 when generating the equivalent record.
5698 * sem_aux.adb (First_Tag_Component): Accept class-wide
5699 equivalent types too.
5700
57012022-05-09 Etienne Servais <servais@adacore.com>
5702
5703 * repinfo.adb (List_Name): Rework termination condition.
5704
57052022-05-09 Piotr Trojanek <trojanek@adacore.com>
5706
5707 * bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb,
5708 libgnat/a-ngcefu.adb, libgnat/a-strunb.adb,
5709 libgnat/a-stwiun.adb, libgnat/a-stzunb.adb,
5710 libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb,
5711 sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +,
5712 -, *, / and **.
5713
57142022-05-09 Piotr Trojanek <trojanek@adacore.com>
5715
5716 * libgnat/s-expmod.adb: Remove CodePeer annotation for pragma
5717 Loop_Variant.
5718
57192022-05-09 Piotr Trojanek <trojanek@adacore.com>
5720
5721 * sem_util.ads (In_Statement_Condition_With_Actions): Renamed
5722 from In_While_Loop_Condition; move to fit the alphabetic order.
5723 * sem_util.adb (In_Statement_Condition_With_Actions): Detect
5724 Elsif condition; stop search on other statements; prevent search
5725 from going too far; move to fit the alphabetic order.
5726 * sem_res.adb (Resolve_Call): Adapt caller.
5727
57282022-05-09 Piotr Trojanek <trojanek@adacore.com>
5729
5730 * inline.adb (Build_Body_To_Inline): Remove redundant guards.
5731 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
5732
57332022-05-09 Eric Botcazou <ebotcazou@adacore.com>
5734
5735 * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on
5736 Comes_From_Source in the condition dealing with the expression
5737 of an N_Unchecked_Type_Conversion node.
5738
57392022-05-09 Piotr Trojanek <trojanek@adacore.com>
5740
5741 * exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb,
5742 gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb,
5743 libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb,
5744 sem_ch13.adb, xr_tabls.adb: Fix style labels.
5745
57462022-05-09 Justin Squirek <squirek@adacore.com>
5747
5748 * err_vars.ads: Add new error message names and nodes.
5749 * erroutc.adb (Set_Msg_Insertion_Name,
5750 Set_Msg_Insertion_Name_Literal): Likewise.
5751 * errout.adb (Set_Msg_Insertion_Node): Likewise.
5752 * errout.ads: Likewise.
5753 * exp_disp.adb (Check_Premature_Freezing): Modify setting of
5754 Error_Msg_Node_2 to occur directly before Error_Msg call where
5755 applicable.
5756 * sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to
5757 handle the printing of full package names of known units.
5758 (Undefined, Find_Expanded_Name): Replace error printing with
5759 call to Error_Missing_With_Of_Known_Unit.
5760
57612022-05-09 Yannick Moy <moy@adacore.com>
5762
5763 * exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn
5764 correctly.
5765
57662022-05-09 Steve Baird <baird@adacore.com>
5767
5768 * sem_ch13.adb (Replace_Type_Ref): In the case of an identifier
5769 that names a component of the type, simplify the test to decide
5770 whether to build a prefix for it (the prefix denotes the current
5771 instance of the enclosing type): if the identifier doesn't
5772 already have a prefix, then give it one. This isn't quite right
5773 in the corner case of a quantified expression or some other such
5774 expression that declares an object with the same name as a
5775 component, but it is still an improvement.
5776
57772022-05-09 Ed Schonberg <schonberg@adacore.com>
5778
5779 * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
5780 package if array type and element type come from the same
5781 package, and the original array type is private.
5782
57832022-05-09 Eric Botcazou <ebotcazou@adacore.com>
5784
5785 * exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
5786 thinko in the loop building the constraints for discriminants.
5787 * exp_ch5.adb (Make_Component_List_Assign): Try also to extract
5788 discriminant values for a derived type.
5789
57902022-05-09 Ed Schonberg <schonberg@adacore.com>
5791
5792 * sem_res.adb (Resolve_Declare_Expression): Traverse the
5793 expression to replace references to local variables that occur
5794 within declarations of the declare_expression; fix typos in
5795 comments.
5796
57972022-05-09 Ed Schonberg <schonberg@adacore.com>
5798
5799 * sem_ch4.adb (Operator_Check): Fix condition.
5800
58012022-05-09 Piotr Trojanek <trojanek@adacore.com>
5802
5803 * doc/gnat_rm/implementation_defined_pragmas.rst
5804 (Abstract_State, Async_Readers, Async_Writers,
5805 Constant_After_Elaboration, Effective_Reads, Effective_Writes,
5806 Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only
5807 static Boolean expressions are allowed.
5808 * gnat_rm.texi: Regenerate.
5809
58102022-05-09 Piotr Trojanek <trojanek@adacore.com>
5811
5812 * exp_prag.adb (Expand_Pragma_Loop_Variant,
5813 Expand_Pragma_Subprogram_Variant): Adapt call via
5814 Process_Variant to Make_Variant_Comparison.
5815 * exp_util.adb (Make_Variant_Comparison): Compare Big_Integer
5816 expressions with a function call and not an operator.
5817 * exp_util.ads (Make_Variant_Comparison): Add type parameter,
5818 which is needed because the Curr_Val and Old_Val expressions
5819 might not be yet decorated.
5820 * rtsfind.ads: (RTU_Id): Add support for Big_Integers and
5821 Big_Integers_Ghost.
5822 (RE_Id): Add support for Big_Integer and its ghost variant.
5823 (RE_Unit_Table): Add mapping from Big_Integer to Big_Integers;
5824 same for the ghost variants.
5825 * rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers.
5826 * sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma
5827 Loop_Variant.
5828 (Analyze_Variant): Allow Big_Integer in pragma
5829 Subprogram_Variant.
5830
58312022-05-09 Piotr Trojanek <trojanek@adacore.com>
5832
5833 * sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a
5834 variant that doesn't force preanalysis to yield a specific type.
5835
58362022-05-09 Eric Botcazou <ebotcazou@adacore.com>
5837
5838 * einfo.ads (Access Kinds): Reorder and beef up.
5839 * sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all
5840 comparison and equality operators.
5841 * sem_ch4.ads (Analyze_Comparison_Op): Delete.
5842 (Analyze_Equality_Op): Likewise.
5843 (Analyze_Comparison_Equality_Op): Declare.
5844 (Ambiguous_Operands): Likewise.
5845 * sem_ch4.adb (Ambiguous_Operands): Remove declaration.
5846 (Defined_In_Scope): Delete.
5847 (Find_Comparison_Types): Merge into...
5848 (Find_Equality_Types): Merge into...
5849 (Find_Comparison_Equality_Types): ...this. Make fully symmetrical.
5850 (Analyze_Arithmetic_Op): Minor consistency tweaks.
5851 (Analyze_Comparison_Op): Merge into...
5852 (Analyze_Equality_Op): Merge into...
5853 (Analyze_Comparison_Equality_Op): ...this. Make fully symmetrical.
5854 (Analyze_Logical_Op): Minor consistency tweaks.
5855 (Analyze_Membership_Op): Make fully symmetrical.
5856 (Analyze_One_Call): Minor comment tweak.
5857 (Analyze_Operator_Call): Call Find_Comparison_Equality_Types.
5858 (Analyze_User_Defined_Binary_Op): Make fully symmetrical.
5859 (Check_Arithmetic_Pair.Specific_Type): Delete.
5860 (Diagnose_Call): Add special handling for "+" operator.
5861 (Operator_Check): Call Analyze_Comparison_Equality_Op.
5862 * sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean
5863 operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp.
5864 comparison and equality operators.
5865 * sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator
5866 (Make_Call_Into_Operator): Use Preserve_Comes_From_Source.
5867 (Resolve_Actuals): Deal specifically with Any_Type actuals for user-
5868 defined comparison and equality operators.
5869 (Resolve_Call): Minor tweaks.
5870 (Resolve_Comparison_Op): Tidy up and give error for ambiguity.
5871 (Resolve_Equality_Op): Likewise, as well as other errors.
5872 (Rewrite_Renamed_Operator): Simplify.
5873 * sem_type.ads (Is_Invisible_Operator): Delete.
5874 (Is_Visible_Operator): Declare.
5875 (Has_Compatible_Type): Remove For_Comparison parameter.
5876 (Specific_Type): Declare.
5877 (Valid_Equality_Arg): Likewise.
5878 * sem_type.adb (Specific_Type): Remove declaration.
5879 (Add_One_Interp): Call Is_Visible_Operator for the visibility test.
5880 (Remove_Conversions): Rename into...
5881 (Remove_Conversions_And_Abstract_Operations): ...this. Do not apply
5882 numeric-type treatment to Any_Type. Expand the special handling for
5883 abstract interpretations to second operand. Remove obsolete code.
5884 (Disambiguate): Adjust to above renaming. Tweak to hidden case and
5885 call Remove_Conversions_And_Abstract_Operations for operators too.
5886 (Entity_Matches_Spec): Minor tweak.
5887 (Find_Unique_Type): Simplify and deal with user-defined literals.
5888 (Has_Compatible_Type): Remove For_Comparison parameter and adjust.
5889 Call the Is_User_Defined_Literal predicate and remove call to
5890 the Is_Invisible_Operator predicate.
5891 (Is_Invisible_Operator): Delete.
5892 (Is_Visible_Operator): New function.
5893 (Operator_Matches_Spec): Use Valid_Equality_Arg predicate.
5894 (Specific_Type): Tidy up, make fully symmetrical and deal with
5895 private views the same way as Covers.
5896 (Valid_Comparison_Arg): Return true for Any_Composite/Any_String.
5897 (Valid_Equality_Arg): New function.
5898 * sem_util.ads (Is_User_Defined_Literal): Declare.
5899 * sem_util.adb (Is_User_Defined_Literal): New function.
5900
59012022-05-09 Bob Duff <duff@adacore.com>
5902
5903 * lib-xref.adb, sem_util.adb: Change wording of warning messages
5904 to use "aspect".
5905 * sem_prag.adb: Use Fix_Error to change wording of warnings.
5906 * doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
5907 cut&paste error.
5908 * gnat_rm.texi: Regenerate.
5909
59102022-05-09 Doug Rupp <rupp@adacore.com>
5911
5912 * init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro.
5913 (__gnat_clear_exception_count): Remove.
5914 (__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT().
5915
59162022-05-09 Fedor Rybin <frybin@adacore.com>
5917
5918 * doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest
5919 section.
5920
59212022-05-09 Piotr Trojanek <trojanek@adacore.com>
5922
5923 * sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for
5924 attributes Identity, Priority, Ref, Restriction_Set, To_Address
5925 and for tasking-related attributes Callable, Terminated and
5926 Storage_Size.
5927
59282022-05-09 Piotr Trojanek <trojanek@adacore.com>
5929
5930 * sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for
5931 Bit_Order attribute.
5932
59332022-05-09 Piotr Trojanek <trojanek@adacore.com>
5934
5935 * exp_ch5.adb (Update_Choice_Index): Simplify condition.
5936 * sem_ch8.adb (Attribute_Renaming): Likewise.
5937
59382022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
5939
5940 * adaint.c (__gnat_kill): Remove close parameter.
5941 (__gnat_killprocesstree): Do not provide close parameter on call
5942 to __gnat_kill.
5943 * libgnat/g-expect.adb (Kill): Remove Close parameter.
5944 (Close): Do not provide Close parameter on call to Kill.
5945 (Send_Signal): Do not provide Close parameter on call to Kill.
5946 * libgnat/s-os_lib.adb (Kill): Do not provide close parameter on
5947 call to __gnat_kill.
5948
59492022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
5950
5951 * libgnat/g-expect.adb (Close): Call Kill before Close_Input.
5952
66d1e440
GA
59532022-04-29 Martin Liska <mliska@suse.cz>
5954
5955 * gnatvsn.ads: Bump Library_Version to 13.
5956
ba949a6a
GA
59572022-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
5958
5959 * tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC
5960 ELF. Add support for RTEMS to SPARC. Merge aarch64 support of Linux
5961 and RTEMS.
5962
59632022-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
5964
5965 PR ada/104027
5966 * gnat1drv.adb: Remove the goto End_Of_Program.
5967
6fc4a993
GA
59682022-03-24 Pascal Obry <obry@adacore.com>
5969
5970 PR ada/104767
5971 * libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1.
5972 * libgnat/g-sercom__linux.adb (Close): Likewise.
5973
5e28be89
GA
59742022-03-10 Richard Biener <rguenther@suse.de>
5975
5976 PR ada/104861
5977 * gcc-interface/Makefile.in (target_noncanonical): Substitute.
5978 (OSCONS_CPP): Pass target_noncanonical as TARGET.
5979
0d31c8ec
GA
59802022-02-13 Maciej W. Rozycki <macro@orcam.me.uk>
5981
5982 PR ada/98724
5983 PR ada/97504
5984 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use
5985 wraplf version of Aux_Long_Long_Float.
5986
1bb52662
GA
59872022-01-31 Pierre-Marie de Rodat <derodat@adacore.com>
5988
5989 * doc/share/conf.py: Remove spurious call to ".decode()".
5990
59912022-01-31 Arnaud Charlet <charlet@adacore.com>
5992
5993 PR ada/104027
5994 * gnat1drv.adb (Gnat1drv): Only call Exit_Program when not
5995 generating code, otherwise instead go to End_Of_Program.
5996
f6f2d6cf
GA
59972022-01-28 Eric Botcazou <ebotcazou@adacore.com>
5998
5999 PR ada/104258
6000 * exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if
6001 any, when rewriting the operator node.
6002
fe1ad141
GA
60032022-01-19 H.J. Lu <hjl.tools@gmail.com>
6004
6005 PR ada/103538
6006 * gcc-interface/Makefile.in (target_cpu): Set to x32 for
6007 x86_64-linux-gnux32.
6008
60092022-01-19 H.J. Lu <hjl.tools@gmail.com>
6010
6011 PR ada/103538
6012 * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add
6013 $(TRASYM_DWARF_UNIX_PAIRS),
6014 s-tsmona.adb<libgnat/s-tsmona__linux.adb,
6015 $(GNATRTL_128BIT_PAIRS).
6016 (EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS)
6017 and $(GNATRTL_128BIT_OBJS).
6018
7a761ae6
GA
60192022-01-18 Martin Liska <mliska@suse.cz>
6020
6021 * adaint.c: Revert filename changes in comments.
6022 * ctrl_c.c (dummy_handler): Likewise.
6023 * gsocket.h: Likewise.
6024 * init.c (__gnat_error_handler): Likewise.
6025 * libgnarl/s-intman.ads: Likewise.
6026 * libgnarl/s-osinte__android.ads: Likewise.
6027 * libgnarl/s-osinte__darwin.ads: Likewise.
6028 * libgnarl/s-osinte__hpux.ads: Likewise.
6029 * libgnarl/s-osinte__linux.ads: Likewise.
6030 * libgnarl/s-osinte__qnx.ads: Likewise.
6031 * libgnarl/s-taskin.ads: Likewise.
6032 * rtfinal.c: Likewise.
6033
60342022-01-18 Martin Liska <mliska@suse.cz>
6035
6036 * Make-generated.in: Revert renaming changes.
6037 * Makefile.rtl: Likewise.
6038 * adadecode.cc: Moved to...
6039 * adadecode.c: ...here.
6040 * affinity.cc: Moved to...
6041 * affinity.c: ...here.
6042 * argv-lynxos178-raven-cert.cc: Moved to...
6043 * argv-lynxos178-raven-cert.c: ...here.
6044 * argv.cc: Moved to...
6045 * argv.c: ...here.
6046 * aux-io.cc: Moved to...
6047 * aux-io.c: ...here.
6048 * cio.cc: Moved to...
6049 * cio.c: ...here.
6050 * cstreams.cc: Moved to...
6051 * cstreams.c: ...here.
6052 * env.cc: Moved to...
6053 * env.c: ...here.
6054 * exit.cc: Moved to...
6055 * exit.c: ...here.
6056 * expect.cc: Moved to...
6057 * expect.c: ...here.
6058 * final.cc: Moved to...
6059 * final.c: ...here.
6060 * gcc-interface/Makefile.in:
6061 * init.cc: Moved to...
6062 * init.c: ...here.
6063 * initialize.cc: Moved to...
6064 * initialize.c: ...here.
6065 * libgnarl/thread.cc: Moved to...
6066 * libgnarl/thread.c: ...here.
6067 * link.cc: Moved to...
6068 * link.c: ...here.
6069 * locales.cc: Moved to...
6070 * locales.c: ...here.
6071 * mkdir.cc: Moved to...
6072 * mkdir.c: ...here.
6073 * raise.cc: Moved to...
6074 * raise.c: ...here.
6075 * rtfinal.cc: Moved to...
6076 * rtfinal.c: ...here.
6077 * rtinit.cc: Moved to...
6078 * rtinit.c: ...here.
6079 * s-oscons-tmplt.c (CND): Revert renaming changes.
6080 * seh_init.cc: Moved to...
6081 * seh_init.c: ...here.
6082 * sigtramp-armdroid.cc: Moved to...
6083 * sigtramp-armdroid.c: ...here.
6084 * sigtramp-ios.cc: Moved to...
6085 * sigtramp-ios.c: ...here.
6086 * sigtramp-qnx.cc: Moved to...
6087 * sigtramp-qnx.c: ...here.
6088 * sigtramp-vxworks.cc: Moved to...
6089 * sigtramp-vxworks.c: ...here.
6090 * socket.cc: Moved to...
6091 * socket.c: ...here.
6092 * tracebak.cc: Moved to...
6093 * tracebak.c: ...here.
6094 * version.cc: Moved to...
6095 * version.c: ...here.
6096 * vx_stack_info.cc: Moved to...
6097 * vx_stack_info.c: ...here.
6098
fc829782
GA
60992022-01-17 Martin Liska <mliska@suse.cz>
6100
6101 * Makefile.rtl: Rename .c names to .cc.
6102 * gcc-interface/Make-lang.in: Likewise.
6103 * gcc-interface/Makefile.in: Likewise.
6104
61052022-01-17 Martin Liska <mliska@suse.cz>
6106
6107 * Make-generated.in: Rename .c names to .cc.
6108 * adaint.c: Likewise.
6109 * ctrl_c.c (dummy_handler): Likewise.
6110 * gcc-interface/Makefile.in: Likewise.
6111 * gcc-interface/config-lang.in: Likewise.
6112 * gcc-interface/decl.cc (concat_name): Likewise.
6113 (init_gnat_decl): Likewise.
6114 * gcc-interface/gigi.h (concat_name): Likewise.
6115 (init_gnat_utils): Likewise.
6116 (build_call_raise_range): Likewise.
6117 (gnat_mark_addressable): Likewise.
6118 (gnat_protect_expr): Likewise.
6119 (gnat_rewrite_reference): Likewise.
6120 * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
6121 * gcc-interface/utils.cc (GTY): Likewise.
6122 (add_deferred_type_context): Likewise.
6123 (init_gnat_utils): Likewise.
6124 * gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
6125 (gnat_protect_expr): Likewise.
6126 (gnat_stabilize_reference_1): Likewise.
6127 (gnat_rewrite_reference): Likewise.
6128 * gsocket.h: Likewise.
6129 * init.cc (__gnat_error_handler): Likewise.
6130 * libgnarl/s-intman.ads: Likewise.
6131 * libgnarl/s-osinte__android.ads: Likewise.
6132 * libgnarl/s-osinte__darwin.ads: Likewise.
6133 * libgnarl/s-osinte__hpux.ads: Likewise.
6134 * libgnarl/s-osinte__linux.ads: Likewise.
6135 * libgnarl/s-osinte__qnx.ads: Likewise.
6136 * libgnarl/s-taskin.ads: Likewise.
6137 * rtfinal.cc: Likewise.
6138 * s-oscons-tmplt.c (CND): Likewise.
6139 * set_targ.ads: Likewise.
6140
61412022-01-17 Martin Liska <mliska@suse.cz>
6142
6143 * adadecode.c: Moved to...
6144 * adadecode.cc: ...here.
6145 * affinity.c: Moved to...
6146 * affinity.cc: ...here.
6147 * argv-lynxos178-raven-cert.c: Moved to...
6148 * argv-lynxos178-raven-cert.cc: ...here.
6149 * argv.c: Moved to...
6150 * argv.cc: ...here.
6151 * aux-io.c: Moved to...
6152 * aux-io.cc: ...here.
6153 * cio.c: Moved to...
6154 * cio.cc: ...here.
6155 * cstreams.c: Moved to...
6156 * cstreams.cc: ...here.
6157 * env.c: Moved to...
6158 * env.cc: ...here.
6159 * exit.c: Moved to...
6160 * exit.cc: ...here.
6161 * expect.c: Moved to...
6162 * expect.cc: ...here.
6163 * final.c: Moved to...
6164 * final.cc: ...here.
6165 * gcc-interface/cuintp.c: Moved to...
6166 * gcc-interface/cuintp.cc: ...here.
6167 * gcc-interface/decl.c: Moved to...
6168 * gcc-interface/decl.cc: ...here.
6169 * gcc-interface/misc.c: Moved to...
6170 * gcc-interface/misc.cc: ...here.
6171 * gcc-interface/targtyps.c: Moved to...
6172 * gcc-interface/targtyps.cc: ...here.
6173 * gcc-interface/trans.c: Moved to...
6174 * gcc-interface/trans.cc: ...here.
6175 * gcc-interface/utils.c: Moved to...
6176 * gcc-interface/utils.cc: ...here.
6177 * gcc-interface/utils2.c: Moved to...
6178 * gcc-interface/utils2.cc: ...here.
6179 * init.c: Moved to...
6180 * init.cc: ...here.
6181 * initialize.c: Moved to...
6182 * initialize.cc: ...here.
6183 * libgnarl/thread.c: Moved to...
6184 * libgnarl/thread.cc: ...here.
6185 * link.c: Moved to...
6186 * link.cc: ...here.
6187 * locales.c: Moved to...
6188 * locales.cc: ...here.
6189 * mkdir.c: Moved to...
6190 * mkdir.cc: ...here.
6191 * raise.c: Moved to...
6192 * raise.cc: ...here.
6193 * rtfinal.c: Moved to...
6194 * rtfinal.cc: ...here.
6195 * rtinit.c: Moved to...
6196 * rtinit.cc: ...here.
6197 * seh_init.c: Moved to...
6198 * seh_init.cc: ...here.
6199 * sigtramp-armdroid.c: Moved to...
6200 * sigtramp-armdroid.cc: ...here.
6201 * sigtramp-ios.c: Moved to...
6202 * sigtramp-ios.cc: ...here.
6203 * sigtramp-qnx.c: Moved to...
6204 * sigtramp-qnx.cc: ...here.
6205 * sigtramp-vxworks.c: Moved to...
6206 * sigtramp-vxworks.cc: ...here.
6207 * socket.c: Moved to...
6208 * socket.cc: ...here.
6209 * tracebak.c: Moved to...
6210 * tracebak.cc: ...here.
6211 * version.c: Moved to...
6212 * version.cc: ...here.
6213 * vx_stack_info.c: Moved to...
6214 * vx_stack_info.cc: ...here.
6215
617db51d
GA
62162022-01-14 Andrew Pinski <apinski@marvell.com>
6217
6218 PR ada/104027
6219 * gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File
6220 goto End_Of_Program.
6221
01a254e3
GA
62222022-01-11 Eric Botcazou <ebotcazou@adacore.com>
6223
6224 * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a
6225 little the assertion on designated types of pointer types.
6226
62272022-01-11 Justin Squirek <squirek@adacore.com>
6228
6229 * sem_ch8.adb (Nvis_Messages): Add generic instance name to
6230 error message.
6231
62322022-01-11 Etienne Servais <servais@adacore.com>
6233
6234 * par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
6235 bracket as token to open an expression function.
6236
62372022-01-11 Justin Squirek <squirek@adacore.com>
6238
6239 * sem_warn.adb (Check_References): Add call to Has_Task instead
6240 of checking component type.
6241
62422022-01-11 Piotr Trojanek <trojanek@adacore.com>
6243
6244 * exp_util.ads (Insert_Declaration): Remove spec.
6245 * exp_util.adb (Insert_Declaration): Remove body.
6246
62472022-01-11 Piotr Trojanek <trojanek@adacore.com>
6248
6249 * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid
6250 redundant check.
6251 * exp_ch5.adb (Expand_N_If_Statement): Likewise.
6252 * exp_ch7.adb (Process_Declarations): Likewise.
6253 * sem_elab.adb (Freeze_Node_Location): Likewise.
6254 * exp_util.adb (Insert_Actions): Likewise.
6255 (Is_OK_PF_Pragma): Likewise.
6256 (Requires_Cleanup_Actions): Remove early exit; ordinary
6257 processing path will similarly do nothing.
6258
62592022-01-11 Piotr Trojanek <trojanek@adacore.com>
6260
6261 * snames.ads-tmpl: Restore Name_Rpc.
6262
62632022-01-11 Piotr Trojanek <trojanek@adacore.com>
6264
6265 * sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF
6266 statement; refill code and comments.
6267
62682022-01-11 Piotr Trojanek <trojanek@adacore.com>
6269
6270 * sem_ch4.adb (Analyze_Allocator): Fix comment.
6271 * sem_eval.ads (Compile-Time Known Values): Likewise.
6272
62732022-01-11 Piotr Trojanek <trojanek@adacore.com>
6274
6275 * snames.ads-tmpl: Remove unreferenced names.
6276
62772022-01-11 Yannick Moy <moy@adacore.com>
6278
6279 * libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma
6280 Prove_Signs, call lemma for commutation of Big and
6281 multiplication.
6282 (Multiply_With_Ovflo_Check): Adjust postcondition of
6283 Prove_Pos_Int.
6284 (Scaled_Divide): Explicit commutation in the proof of lemma
6285 Prove_Multiplication, add new lemma Prove_Shift_Progress for
6286 congruence property that is not proved in a larger context, add
6287 assertions at the end of the loop to state loop invariant
6288 properties.
6289
62902022-01-11 Piotr Trojanek <trojanek@adacore.com>
6291
6292 * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec.
6293 * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body.
6294
62952022-01-11 Yannick Moy <moy@adacore.com>
6296
6297 * libgnat/a-strfix.adb (Insert, Overwrite): Add assertions.
6298
62992022-01-11 Arnaud Charlet <charlet@adacore.com>
6300
6301 PR ada/79724
6302 * osint.adb (Program_Name): Fix handling of suffixes.
6303
63042022-01-11 Piotr Trojanek <trojanek@adacore.com>
6305
6306 * exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary
6307 DECLARE block; refill code and comments.
6308
63092022-01-11 Eric Botcazou <ebotcazou@adacore.com>
6310
6311 * sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array
6312 copy Packed_Array_Impl_Type manually here.
6313 (Copy_Array_Subtype_Attributes): Do not copy it here.
6314
63152022-01-11 Piotr Trojanek <trojanek@adacore.com>
6316
6317 * exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
6318 Unnest_Statement_List): Simplify with Make_Temporary.
6319 * exp_put_image.adb (Build_Image_Call): Likewise.
6320 * inline.adb (Generate_Subprogram_Body): Likewise.
6321 * sem_ch13.adb (Build_Predicate_Functions): Likewise.
6322 * sem_util.adb (New_Copy_Separate_List): Likewise.
6323
63242022-01-11 Etienne Servais <servais@adacore.com>
6325
6326 * sem_ch3.adb (Check_Dynamic_Object): Swap check order.
6327
63282022-01-11 Yannick Moy <moy@adacore.com>
6329
6330 * libgnat/s-casuti.adb: Add ghost code.
6331 * libgnat/s-casuti.ads: Add contracts.
6332
63332022-01-11 Claire Dross <dross@adacore.com>
6334
6335 * libgnat/a-tiinau.ads: Use a procedure for the Scan parameter
6336 instead of a function with side-effects.
6337 * libgnat/a-tiinau.adb: Idem.
6338 * libgnat/a-wtinau.ads: Idem.
6339 * libgnat/a-wtinau.adb: Idem.
6340 * libgnat/a-ztinau.ads: Idem.
6341 * libgnat/a-ztinau.adb: Idem.
6342 * libgnat/s-valint.ads: Change the function with side-effects
6343 Scan_Integer into a procedure
6344 * libgnat/s-vallli.ads: Idem.
6345 * libgnat/s-valllli.ads: Idem.
6346 * libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore
6347 assertions in instance.
6348 * libgnat/s-valllu.ads: Idem.
6349 * libgnat/s-valuns.ads: Idem.
6350 * libgnat/s-valuei.ads: Use a procedure for the
6351 Scan_Raw_Unsigned parameter instead of a function with
6352 side-effects and change the function with side-effects
6353 Scan_Integer into a procedure.
6354 * libgnat/s-valuei.adb: Idem.
6355 * libgnat/s-valuti.ads: Introduce a ghost function that scans an
6356 exponent and complete the postcondition of Scan_Exponent to also
6357 describe the value of Ptr after the call. Fix the postcondition
6358 of Scan_Underscore. Simplify the definition of
6359 Scan_Natural_Ghost.
6360 * libgnat/s-valuti.adb: Idem.
6361 * libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to
6362 First_Non_Space_Ghost.
6363 * libgnat/s-valueu.ads: Add functional contracts.
6364 * libgnat/s-valueu.adb: Idem.
6365
63662022-01-11 Yannick Moy <moy@adacore.com>
6367
6368 * libgnat/s-expmod.adb (Exp_Modular): Add assertions.
6369
63702022-01-11 Piotr Trojanek <trojanek@adacore.com>
6371
6372 * errout.adb (Error_Msg_CRT): Build message with string
6373 concatenation; it is slightly repetitive but much easier to
6374 read.
6375
63762022-01-11 Piotr Trojanek <trojanek@adacore.com>
6377
6378 * exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit
6379 initialization of the exceptF object.
6380
63812022-01-11 Piotr Trojanek <trojanek@adacore.com>
6382
6383 * par-ch3.adb (P_Array_Type_Definition): Use
6384 Error_Msg_GNAT_Extension.
6385
63862022-01-11 Gary Dismukes <dismukes@adacore.com>
6387
6388 * sem_disp.adb (Check_Controlling_Type): Add test for the case
6389 where Subp is a subprogram associated with a protected
6390 subprogram and return Empty, unless Tagged_Type is the
6391 corresponding record type of the protected type.
6392
63932022-01-11 Yannick Moy <moy@adacore.com>
6394
6395 * libgnat/s-veboop.adb: Add ghost code for proof.
6396 * libgnat/s-veboop.ads: Add specification.
6397
63982022-01-11 Piotr Trojanek <trojanek@adacore.com>
6399
6400 * exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb,
6401 exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb,
6402 inline.adb, itypes.adb, lib-load.adb, lib-xref.adb,
6403 libgnat/a-cfhase.adb, libgnat/a-cforse.adb,
6404 libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb,
6405 libgnat/a-except.adb, libgnat/a-strfix.adb,
6406 libgnat/a-textio.adb, libgnat/a-tienau.adb,
6407 libgnat/a-tigeau.adb, libgnat/a-witeio.adb,
6408 libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb,
6409 libgnat/a-ztenau.adb, libgnat/a-ztexio.adb,
6410 libgnat/a-ztgeau.adb, libgnat/g-comlin.adb,
6411 libgnat/g-debpoo.adb, libgnat/g-expect.adb,
6412 libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb,
6413 libgnat/s-objrea.adb, libgnat/s-pehage.adb,
6414 libgnat/s-regpat.adb, libgnat/s-shasto.adb,
6415 libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb,
6416 par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb,
6417 repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
6418 sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb,
6419 sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style.
6420
64212022-01-11 Arnaud Charlet <charlet@adacore.com>
6422
6423 * exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb,
6424 sem_ch13.adb: Use membership tests.
6425
64262022-01-11 Piotr Trojanek <trojanek@adacore.com>
6427
6428 * erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to
6429 connect status of initial messages and their continuation; we
6430 already have several flags like this.
6431 (Error_Msg_Object): Add field Warn_Runtime_Raise to connect
6432 error reporting (when problematic code is found) and removal
6433 (when problematic code is determined to be dead).
6434 * errout.adb (Error_Msg_Internal): Handle new field when
6435 recording a continuation message; propagate status from
6436 continuation to the preceding messages.
6437 (To_Be_Removed): For dead code remove both simple warnings and
6438 warnings about constraint errors that have been escalated to
6439 hard errors.
6440 (Set_Msg_Text): Recognize warnings about constraint errors that
6441 are escalated to hard errors.
6442 * errutil.adb (Error_Msg): Handle added field when recording a
6443 new message.
6444
64452022-01-11 Piotr Trojanek <trojanek@adacore.com>
6446
6447 * errout.adb (Error_Msg_Internal): Propagate warnings-as-error
6448 flag from continuation message to its preceding messages.
6449
64502022-01-11 Arnaud Charlet <charlet@adacore.com>
6451
6452 * gnatvsn.ads (Current_Year): Update copyright notice, bump to
6453 2022.
6454 * ada_get_targ.adb: Update copyright notice.
6455 * adabkend.adb: Likewise.
6456 * adabkend.ads: Likewise.
6457 * adadecode.c: Likewise.
6458 * adadecode.h: Likewise.
6459 * adaint.c: Likewise.
6460 * adaint.h: Likewise.
6461 * affinity.c: Likewise.
6462 * ali-util.adb: Likewise.
6463 * ali-util.ads: Likewise.
6464 * ali.adb: Likewise.
6465 * ali.ads: Likewise.
6466 * alloc.ads: Likewise.
6467 * argv-lynxos178-raven-cert.c: Likewise.
6468 * argv.c: Likewise.
6469 * aspects.adb: Likewise.
6470 * aspects.ads: Likewise.
6471 * atree.adb: Likewise.
6472 * atree.ads: Likewise.
6473 * atree.h: Likewise.
6474 * aux-io.c: Likewise.
6475 * back_end.adb: Likewise.
6476 * back_end.ads: Likewise.
6477 * backend_utils.adb: Likewise.
6478 * backend_utils.ads: Likewise.
6479 * bcheck.adb: Likewise.
6480 * bcheck.ads: Likewise.
6481 * binde.adb: Likewise.
6482 * binde.ads: Likewise.
6483 * binderr.adb: Likewise.
6484 * binderr.ads: Likewise.
6485 * bindgen.adb: Likewise.
6486 * bindgen.ads: Likewise.
6487 * bindo-augmentors.adb: Likewise.
6488 * bindo-augmentors.ads: Likewise.
6489 * bindo-builders.adb: Likewise.
6490 * bindo-builders.ads: Likewise.
6491 * bindo-diagnostics.adb: Likewise.
6492 * bindo-diagnostics.ads: Likewise.
6493 * bindo-elaborators.adb: Likewise.
6494 * bindo-elaborators.ads: Likewise.
6495 * bindo-graphs.adb: Likewise.
6496 * bindo-graphs.ads: Likewise.
6497 * bindo-units.adb: Likewise.
6498 * bindo-units.ads: Likewise.
6499 * bindo-validators.adb: Likewise.
6500 * bindo-validators.ads: Likewise.
6501 * bindo-writers.adb: Likewise.
6502 * bindo-writers.ads: Likewise.
6503 * bindo.adb: Likewise.
6504 * bindo.ads: Likewise.
6505 * bindusg.adb: Likewise.
6506 * bindusg.ads: Likewise.
6507 * butil.adb: Likewise.
6508 * butil.ads: Likewise.
6509 * cal.c: Likewise.
6510 * casing.adb: Likewise.
6511 * casing.ads: Likewise.
6512 * checks.adb: Likewise.
6513 * checks.ads: Likewise.
6514 * cio.c: Likewise.
6515 * clean.adb: Likewise.
6516 * clean.ads: Likewise.
6517 * comperr.adb: Likewise.
6518 * comperr.ads: Likewise.
6519 * contracts.adb: Likewise.
6520 * contracts.ads: Likewise.
6521 * csets.adb: Likewise.
6522 * csets.ads: Likewise.
6523 * cstand.adb: Likewise.
6524 * cstand.ads: Likewise.
6525 * cstreams.c: Likewise.
6526 * ctrl_c.c: Likewise.
6527 * debug.ads: Likewise.
6528 * debug_a.adb: Likewise.
6529 * debug_a.ads: Likewise.
6530 * einfo-utils.adb: Likewise.
6531 * einfo-utils.ads: Likewise.
6532 * einfo.adb: Likewise.
6533 * einfo.ads: Likewise.
6534 * elists.adb: Likewise.
6535 * elists.ads: Likewise.
6536 * elists.h: Likewise.
6537 * env.c: Likewise.
6538 * env.h: Likewise.
6539 * err_vars.ads: Likewise.
6540 * errno.c: Likewise.
6541 * errout.adb: Likewise.
6542 * errout.ads: Likewise.
6543 * erroutc.adb: Likewise.
6544 * erroutc.ads: Likewise.
6545 * errutil.adb: Likewise.
6546 * errutil.ads: Likewise.
6547 * eval_fat.adb: Likewise.
6548 * eval_fat.ads: Likewise.
6549 * exit.c: Likewise.
6550 * exp_aggr.adb: Likewise.
6551 * exp_aggr.ads: Likewise.
6552 * exp_atag.adb: Likewise.
6553 * exp_atag.ads: Likewise.
6554 * exp_attr.adb: Likewise.
6555 * exp_attr.ads: Likewise.
6556 * exp_cg.adb: Likewise.
6557 * exp_cg.ads: Likewise.
6558 * exp_ch10.ads: Likewise.
6559 * exp_ch11.adb: Likewise.
6560 * exp_ch11.ads: Likewise.
6561 * exp_ch12.adb: Likewise.
6562 * exp_ch12.ads: Likewise.
6563 * exp_ch13.adb: Likewise.
6564 * exp_ch13.ads: Likewise.
6565 * exp_ch2.adb: Likewise.
6566 * exp_ch2.ads: Likewise.
6567 * exp_ch3.adb: Likewise.
6568 * exp_ch3.ads: Likewise.
6569 * exp_ch4.adb: Likewise.
6570 * exp_ch4.ads: Likewise.
6571 * exp_ch5.adb: Likewise.
6572 * exp_ch5.ads: Likewise.
6573 * exp_ch6.adb: Likewise.
6574 * exp_ch6.ads: Likewise.
6575 * exp_ch7.adb: Likewise.
6576 * exp_ch7.ads: Likewise.
6577 * exp_ch8.adb: Likewise.
6578 * exp_ch8.ads: Likewise.
6579 * exp_ch9.adb: Likewise.
6580 * exp_ch9.ads: Likewise.
6581 * exp_code.adb: Likewise.
6582 * exp_code.ads: Likewise.
6583 * exp_dbug.adb: Likewise.
6584 * exp_dbug.ads: Likewise.
6585 * exp_disp.adb: Likewise.
6586 * exp_disp.ads: Likewise.
6587 * exp_dist.adb: Likewise.
6588 * exp_dist.ads: Likewise.
6589 * exp_fixd.adb: Likewise.
6590 * exp_fixd.ads: Likewise.
6591 * exp_imgv.adb: Likewise.
6592 * exp_imgv.ads: Likewise.
6593 * exp_intr.adb: Likewise.
6594 * exp_intr.ads: Likewise.
6595 * exp_pakd.adb: Likewise.
6596 * exp_pakd.ads: Likewise.
6597 * exp_prag.adb: Likewise.
6598 * exp_prag.ads: Likewise.
6599 * exp_put_image.adb: Likewise.
6600 * exp_put_image.ads: Likewise.
6601 * exp_sel.adb: Likewise.
6602 * exp_sel.ads: Likewise.
6603 * exp_smem.adb: Likewise.
6604 * exp_smem.ads: Likewise.
6605 * exp_spark.adb: Likewise.
6606 * exp_spark.ads: Likewise.
6607 * exp_strm.adb: Likewise.
6608 * exp_strm.ads: Likewise.
6609 * exp_tss.adb: Likewise.
6610 * exp_tss.ads: Likewise.
6611 * exp_unst.adb: Likewise.
6612 * exp_unst.ads: Likewise.
6613 * exp_util.adb: Likewise.
6614 * exp_util.ads: Likewise.
6615 * expander.adb: Likewise.
6616 * expander.ads: Likewise.
6617 * expect.c: Likewise.
6618 * fe.h: Likewise.
6619 * final.c: Likewise.
6620 * fmap.adb: Likewise.
6621 * fmap.ads: Likewise.
6622 * fname-sf.adb: Likewise.
6623 * fname-sf.ads: Likewise.
6624 * fname-uf.adb: Likewise.
6625 * fname-uf.ads: Likewise.
6626 * fname.adb: Likewise.
6627 * fname.ads: Likewise.
6628 * freeze.adb: Likewise.
6629 * freeze.ads: Likewise.
6630 * frontend.adb: Likewise.
6631 * frontend.ads: Likewise.
6632 * gen_il-fields.ads: Likewise.
6633 * gen_il-gen-gen_entities.adb: Likewise.
6634 * gen_il-gen-gen_nodes.adb: Likewise.
6635 * gen_il-gen.adb: Likewise.
6636 * gen_il-gen.ads: Likewise.
6637 * gen_il-internals.adb: Likewise.
6638 * gen_il-internals.ads: Likewise.
6639 * gen_il-main.adb: Likewise.
6640 * gen_il-types.ads: Likewise.
6641 * gen_il.adb: Likewise.
6642 * gen_il.ads: Likewise.
6643 * get_scos.adb: Likewise.
6644 * get_scos.ads: Likewise.
6645 * get_targ.adb: Likewise.
6646 * get_targ.ads: Likewise.
6647 * ghost.adb: Likewise.
6648 * ghost.ads: Likewise.
6649 * gnat1drv.adb: Likewise.
6650 * gnat1drv.ads: Likewise.
6651 * gnat_cuda.adb: Likewise.
6652 * gnat_cuda.ads: Likewise.
6653 * gnatbind.adb: Likewise.
6654 * gnatbind.ads: Likewise.
6655 * gnatchop.adb: Likewise.
6656 * gnatclean.adb: Likewise.
6657 * gnatcmd.adb: Likewise.
6658 * gnatcmd.ads: Likewise.
6659 * gnatdll.adb: Likewise.
6660 * gnatfind.adb: Likewise.
6661 * gnatkr.adb: Likewise.
6662 * gnatkr.ads: Likewise.
6663 * gnatlink.adb: Likewise.
6664 * gnatlink.ads: Likewise.
6665 * gnatls.adb: Likewise.
6666 * gnatls.ads: Likewise.
6667 * gnatmake.adb: Likewise.
6668 * gnatmake.ads: Likewise.
6669 * gnatname.adb: Likewise.
6670 * gnatname.ads: Likewise.
6671 * gnatprep.adb: Likewise.
6672 * gnatprep.ads: Likewise.
6673 * gnatvsn.adb: Likewise.
6674 * gnatxref.adb: Likewise.
6675 * gprep.adb: Likewise.
6676 * gprep.ads: Likewise.
6677 * gsocket.h: Likewise.
6678 * hostparm.ads: Likewise.
6679 * impunit.adb: Likewise.
6680 * impunit.ads: Likewise.
6681 * indepsw-aix.adb: Likewise.
6682 * indepsw-darwin.adb: Likewise.
6683 * indepsw-gnu.adb: Likewise.
6684 * indepsw.adb: Likewise.
6685 * indepsw.ads: Likewise.
6686 * init.c: Likewise.
6687 * initialize.c: Likewise.
6688 * inline.adb: Likewise.
6689 * inline.ads: Likewise.
6690 * itypes.adb: Likewise.
6691 * itypes.ads: Likewise.
6692 * krunch.adb: Likewise.
6693 * krunch.ads: Likewise.
6694 * layout.adb: Likewise.
6695 * layout.ads: Likewise.
6696 * lib-list.adb: Likewise.
6697 * lib-load.adb: Likewise.
6698 * lib-load.ads: Likewise.
6699 * lib-sort.adb: Likewise.
6700 * lib-util.adb: Likewise.
6701 * lib-util.ads: Likewise.
6702 * lib-writ.adb: Likewise.
6703 * lib-writ.ads: Likewise.
6704 * lib-xref-spark_specific.adb: Likewise.
6705 * lib-xref.adb: Likewise.
6706 * lib-xref.ads: Likewise.
6707 * lib.adb: Likewise.
6708 * lib.ads: Likewise.
6709 * libgnarl/a-astaco.adb: Likewise.
6710 * libgnarl/a-dispat.adb: Likewise.
6711 * libgnarl/a-dynpri.adb: Likewise.
6712 * libgnarl/a-etgrbu.ads: Likewise.
6713 * libgnarl/a-exetim__darwin.adb: Likewise.
6714 * libgnarl/a-exetim__default.ads: Likewise.
6715 * libgnarl/a-exetim__mingw.adb: Likewise.
6716 * libgnarl/a-exetim__mingw.ads: Likewise.
6717 * libgnarl/a-exetim__posix.adb: Likewise.
6718 * libgnarl/a-interr.adb: Likewise.
6719 * libgnarl/a-interr.ads: Likewise.
6720 * libgnarl/a-intnam.ads: Likewise.
6721 * libgnarl/a-intnam__aix.ads: Likewise.
6722 * libgnarl/a-intnam__darwin.ads: Likewise.
6723 * libgnarl/a-intnam__dragonfly.ads: Likewise.
6724 * libgnarl/a-intnam__dummy.ads: Likewise.
6725 * libgnarl/a-intnam__freebsd.ads: Likewise.
6726 * libgnarl/a-intnam__hpux.ads: Likewise.
6727 * libgnarl/a-intnam__linux.ads: Likewise.
6728 * libgnarl/a-intnam__lynxos.ads: Likewise.
6729 * libgnarl/a-intnam__mingw.ads: Likewise.
6730 * libgnarl/a-intnam__qnx.ads: Likewise.
6731 * libgnarl/a-intnam__rtems.ads: Likewise.
6732 * libgnarl/a-intnam__solaris.ads: Likewise.
6733 * libgnarl/a-intnam__vxworks.ads: Likewise.
6734 * libgnarl/a-reatim.adb: Likewise.
6735 * libgnarl/a-reatim.ads: Likewise.
6736 * libgnarl/a-retide.adb: Likewise.
6737 * libgnarl/a-retide.ads: Likewise.
6738 * libgnarl/a-rttiev.adb: Likewise.
6739 * libgnarl/a-rttiev.ads: Likewise.
6740 * libgnarl/a-synbar.adb: Likewise.
6741 * libgnarl/a-synbar.ads: Likewise.
6742 * libgnarl/a-synbar__posix.adb: Likewise.
6743 * libgnarl/a-synbar__posix.ads: Likewise.
6744 * libgnarl/a-sytaco.adb: Likewise.
6745 * libgnarl/a-sytaco.ads: Likewise.
6746 * libgnarl/a-tasatt.adb: Likewise.
6747 * libgnarl/a-tasatt.ads: Likewise.
6748 * libgnarl/a-taside.adb: Likewise.
6749 * libgnarl/a-taside.ads: Likewise.
6750 * libgnarl/a-tasini.adb: Likewise.
6751 * libgnarl/a-tasini.ads: Likewise.
6752 * libgnarl/a-taster.adb: Likewise.
6753 * libgnarl/g-boubuf.adb: Likewise.
6754 * libgnarl/g-boubuf.ads: Likewise.
6755 * libgnarl/g-boumai.ads: Likewise.
6756 * libgnarl/g-semaph.adb: Likewise.
6757 * libgnarl/g-semaph.ads: Likewise.
6758 * libgnarl/g-signal.adb: Likewise.
6759 * libgnarl/g-signal.ads: Likewise.
6760 * libgnarl/g-tastus.ads: Likewise.
6761 * libgnarl/g-thread.adb: Likewise.
6762 * libgnarl/g-thread.ads: Likewise.
6763 * libgnarl/i-vxinco.adb: Likewise.
6764 * libgnarl/i-vxinco.ads: Likewise.
6765 * libgnarl/s-inmaop.ads: Likewise.
6766 * libgnarl/s-inmaop__dummy.adb: Likewise.
6767 * libgnarl/s-inmaop__hwint.adb: Likewise.
6768 * libgnarl/s-inmaop__posix.adb: Likewise.
6769 * libgnarl/s-interr.adb: Likewise.
6770 * libgnarl/s-interr.ads: Likewise.
6771 * libgnarl/s-interr__dummy.adb: Likewise.
6772 * libgnarl/s-interr__hwint.adb: Likewise.
6773 * libgnarl/s-interr__sigaction.adb: Likewise.
6774 * libgnarl/s-interr__vxworks.adb: Likewise.
6775 * libgnarl/s-intman.ads: Likewise.
6776 * libgnarl/s-intman__android.adb: Likewise.
6777 * libgnarl/s-intman__dummy.adb: Likewise.
6778 * libgnarl/s-intman__lynxos.adb: Likewise.
6779 * libgnarl/s-intman__mingw.adb: Likewise.
6780 * libgnarl/s-intman__posix.adb: Likewise.
6781 * libgnarl/s-intman__qnx.adb: Likewise.
6782 * libgnarl/s-intman__rtems.adb: Likewise.
6783 * libgnarl/s-intman__rtems.ads: Likewise.
6784 * libgnarl/s-intman__solaris.adb: Likewise.
6785 * libgnarl/s-intman__susv3.adb: Likewise.
6786 * libgnarl/s-intman__vxworks.adb: Likewise.
6787 * libgnarl/s-intman__vxworks.ads: Likewise.
6788 * libgnarl/s-linux.ads: Likewise.
6789 * libgnarl/s-linux__alpha.ads: Likewise.
6790 * libgnarl/s-linux__android.ads: Likewise.
6791 * libgnarl/s-linux__hppa.ads: Likewise.
6792 * libgnarl/s-linux__mips.ads: Likewise.
6793 * libgnarl/s-linux__riscv.ads: Likewise.
6794 * libgnarl/s-linux__sparc.ads: Likewise.
6795 * libgnarl/s-linux__x32.ads: Likewise.
6796 * libgnarl/s-mudido.adb: Likewise.
6797 * libgnarl/s-mudido__affinity.adb: Likewise.
6798 * libgnarl/s-osinte__aix.adb: Likewise.
6799 * libgnarl/s-osinte__aix.ads: Likewise.
6800 * libgnarl/s-osinte__android.adb: Likewise.
6801 * libgnarl/s-osinte__android.ads: Likewise.
6802 * libgnarl/s-osinte__darwin.adb: Likewise.
6803 * libgnarl/s-osinte__darwin.ads: Likewise.
6804 * libgnarl/s-osinte__dragonfly.adb: Likewise.
6805 * libgnarl/s-osinte__dragonfly.ads: Likewise.
6806 * libgnarl/s-osinte__dummy.ads: Likewise.
6807 * libgnarl/s-osinte__freebsd.adb: Likewise.
6808 * libgnarl/s-osinte__freebsd.ads: Likewise.
6809 * libgnarl/s-osinte__gnu.adb: Likewise.
6810 * libgnarl/s-osinte__gnu.ads: Likewise.
6811 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
6812 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
6813 * libgnarl/s-osinte__hpux.ads: Likewise.
6814 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
6815 * libgnarl/s-osinte__linux.ads: Likewise.
6816 * libgnarl/s-osinte__lynxos178.adb: Likewise.
6817 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
6818 * libgnarl/s-osinte__mingw.ads: Likewise.
6819 * libgnarl/s-osinte__posix.adb: Likewise.
6820 * libgnarl/s-osinte__qnx.adb: Likewise.
6821 * libgnarl/s-osinte__qnx.ads: Likewise.
6822 * libgnarl/s-osinte__rtems.adb: Likewise.
6823 * libgnarl/s-osinte__rtems.ads: Likewise.
6824 * libgnarl/s-osinte__solaris.adb: Likewise.
6825 * libgnarl/s-osinte__solaris.ads: Likewise.
6826 * libgnarl/s-osinte__vxworks.adb: Likewise.
6827 * libgnarl/s-osinte__vxworks.ads: Likewise.
6828 * libgnarl/s-osinte__x32.adb: Likewise.
6829 * libgnarl/s-proinf.adb: Likewise.
6830 * libgnarl/s-proinf.ads: Likewise.
6831 * libgnarl/s-putaim.adb: Likewise.
6832 * libgnarl/s-putaim.ads: Likewise.
6833 * libgnarl/s-qnx.ads: Likewise.
6834 * libgnarl/s-solita.adb: Likewise.
6835 * libgnarl/s-solita.ads: Likewise.
6836 * libgnarl/s-stusta.adb: Likewise.
6837 * libgnarl/s-stusta.ads: Likewise.
6838 * libgnarl/s-taasde.adb: Likewise.
6839 * libgnarl/s-taasde.ads: Likewise.
6840 * libgnarl/s-tadeca.adb: Likewise.
6841 * libgnarl/s-tadeca.ads: Likewise.
6842 * libgnarl/s-tadert.adb: Likewise.
6843 * libgnarl/s-tadert.ads: Likewise.
6844 * libgnarl/s-taenca.adb: Likewise.
6845 * libgnarl/s-taenca.ads: Likewise.
6846 * libgnarl/s-taprob.adb: Likewise.
6847 * libgnarl/s-taprob.ads: Likewise.
6848 * libgnarl/s-taprop.ads: Likewise.
6849 * libgnarl/s-taprop__dummy.adb: Likewise.
6850 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
6851 * libgnarl/s-taprop__linux.adb: Likewise.
6852 * libgnarl/s-taprop__mingw.adb: Likewise.
6853 * libgnarl/s-taprop__posix.adb: Likewise.
6854 * libgnarl/s-taprop__qnx.adb: Likewise.
6855 * libgnarl/s-taprop__rtems.adb: Likewise.
6856 * libgnarl/s-taprop__solaris.adb: Likewise.
6857 * libgnarl/s-taprop__vxworks.adb: Likewise.
6858 * libgnarl/s-tarest.adb: Likewise.
6859 * libgnarl/s-tarest.ads: Likewise.
6860 * libgnarl/s-tasdeb.adb: Likewise.
6861 * libgnarl/s-tasdeb.ads: Likewise.
6862 * libgnarl/s-tasinf.adb: Likewise.
6863 * libgnarl/s-tasinf.ads: Likewise.
6864 * libgnarl/s-tasinf__linux.adb: Likewise.
6865 * libgnarl/s-tasinf__linux.ads: Likewise.
6866 * libgnarl/s-tasinf__mingw.adb: Likewise.
6867 * libgnarl/s-tasinf__mingw.ads: Likewise.
6868 * libgnarl/s-tasinf__solaris.adb: Likewise.
6869 * libgnarl/s-tasinf__solaris.ads: Likewise.
6870 * libgnarl/s-tasinf__vxworks.ads: Likewise.
6871 * libgnarl/s-tasini.adb: Likewise.
6872 * libgnarl/s-tasini.ads: Likewise.
6873 * libgnarl/s-taskin.adb: Likewise.
6874 * libgnarl/s-taskin.ads: Likewise.
6875 * libgnarl/s-taspri__dummy.ads: Likewise.
6876 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
6877 * libgnarl/s-taspri__lynxos.ads: Likewise.
6878 * libgnarl/s-taspri__mingw.ads: Likewise.
6879 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
6880 * libgnarl/s-taspri__posix.ads: Likewise.
6881 * libgnarl/s-taspri__solaris.ads: Likewise.
6882 * libgnarl/s-taspri__vxworks.ads: Likewise.
6883 * libgnarl/s-tasque.adb: Likewise.
6884 * libgnarl/s-tasque.ads: Likewise.
6885 * libgnarl/s-tasren.adb: Likewise.
6886 * libgnarl/s-tasren.ads: Likewise.
6887 * libgnarl/s-tasres.ads: Likewise.
6888 * libgnarl/s-tassta.adb: Likewise.
6889 * libgnarl/s-tassta.ads: Likewise.
6890 * libgnarl/s-tasuti.adb: Likewise.
6891 * libgnarl/s-tasuti.ads: Likewise.
6892 * libgnarl/s-tataat.adb: Likewise.
6893 * libgnarl/s-tataat.ads: Likewise.
6894 * libgnarl/s-tpinop.adb: Likewise.
6895 * libgnarl/s-tpinop.ads: Likewise.
6896 * libgnarl/s-tpoaal.adb: Likewise.
6897 * libgnarl/s-tpoben.adb: Likewise.
6898 * libgnarl/s-tpoben.ads: Likewise.
6899 * libgnarl/s-tpobmu.adb: Likewise.
6900 * libgnarl/s-tpobmu.ads: Likewise.
6901 * libgnarl/s-tpobop.adb: Likewise.
6902 * libgnarl/s-tpobop.ads: Likewise.
6903 * libgnarl/s-tpopmo.adb: Likewise.
6904 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
6905 * libgnarl/s-tpopsp__posix.adb: Likewise.
6906 * libgnarl/s-tpopsp__solaris.adb: Likewise.
6907 * libgnarl/s-tpopsp__tls.adb: Likewise.
6908 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
6909 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
6910 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
6911 * libgnarl/s-tporft.adb: Likewise.
6912 * libgnarl/s-tposen.adb: Likewise.
6913 * libgnarl/s-tposen.ads: Likewise.
6914 * libgnarl/s-vxwext.adb: Likewise.
6915 * libgnarl/s-vxwext.ads: Likewise.
6916 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
6917 * libgnarl/s-vxwext__kernel.adb: Likewise.
6918 * libgnarl/s-vxwext__kernel.ads: Likewise.
6919 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
6920 * libgnarl/s-vxwext__rtp.adb: Likewise.
6921 * libgnarl/s-vxwext__rtp.ads: Likewise.
6922 * libgnarl/s-vxwork__aarch64.ads: Likewise.
6923 * libgnarl/s-vxwork__arm.ads: Likewise.
6924 * libgnarl/s-vxwork__ppc.ads: Likewise.
6925 * libgnarl/s-vxwork__x86.ads: Likewise.
6926 * libgnarl/thread.c: Likewise.
6927 * libgnat/a-assert.adb: Likewise.
6928 * libgnat/a-assert.ads: Likewise.
6929 * libgnat/a-btgbso.adb: Likewise.
6930 * libgnat/a-btgbso.ads: Likewise.
6931 * libgnat/a-calari.adb: Likewise.
6932 * libgnat/a-calari.ads: Likewise.
6933 * libgnat/a-calcon.adb: Likewise.
6934 * libgnat/a-calcon.ads: Likewise.
6935 * libgnat/a-caldel.adb: Likewise.
6936 * libgnat/a-caldel.ads: Likewise.
6937 * libgnat/a-calend.adb: Likewise.
6938 * libgnat/a-calend.ads: Likewise.
6939 * libgnat/a-calfor.adb: Likewise.
6940 * libgnat/a-calfor.ads: Likewise.
6941 * libgnat/a-catizo.adb: Likewise.
6942 * libgnat/a-cbdlli.adb: Likewise.
6943 * libgnat/a-cbdlli.ads: Likewise.
6944 * libgnat/a-cbhama.adb: Likewise.
6945 * libgnat/a-cbhama.ads: Likewise.
6946 * libgnat/a-cbhase.adb: Likewise.
6947 * libgnat/a-cbhase.ads: Likewise.
6948 * libgnat/a-cbmutr.adb: Likewise.
6949 * libgnat/a-cbmutr.ads: Likewise.
6950 * libgnat/a-cborma.adb: Likewise.
6951 * libgnat/a-cborma.ads: Likewise.
6952 * libgnat/a-cborse.adb: Likewise.
6953 * libgnat/a-cborse.ads: Likewise.
6954 * libgnat/a-cbprqu.adb: Likewise.
6955 * libgnat/a-cbprqu.ads: Likewise.
6956 * libgnat/a-cbsyqu.adb: Likewise.
6957 * libgnat/a-cbsyqu.ads: Likewise.
6958 * libgnat/a-cdlili.adb: Likewise.
6959 * libgnat/a-cdlili.ads: Likewise.
6960 * libgnat/a-cfdlli.adb: Likewise.
6961 * libgnat/a-cfdlli.ads: Likewise.
6962 * libgnat/a-cfhama.adb: Likewise.
6963 * libgnat/a-cfhama.ads: Likewise.
6964 * libgnat/a-cfhase.adb: Likewise.
6965 * libgnat/a-cfhase.ads: Likewise.
6966 * libgnat/a-cfinve.adb: Likewise.
6967 * libgnat/a-cfinve.ads: Likewise.
6968 * libgnat/a-cforma.adb: Likewise.
6969 * libgnat/a-cforma.ads: Likewise.
6970 * libgnat/a-cforse.adb: Likewise.
6971 * libgnat/a-cforse.ads: Likewise.
6972 * libgnat/a-cgaaso.adb: Likewise.
6973 * libgnat/a-cgaaso.ads: Likewise.
6974 * libgnat/a-cgarso.adb: Likewise.
6975 * libgnat/a-cgcaso.adb: Likewise.
6976 * libgnat/a-chacon.adb: Likewise.
6977 * libgnat/a-chacon.ads: Likewise.
6978 * libgnat/a-chahan.adb: Likewise.
6979 * libgnat/a-chahan.ads: Likewise.
6980 * libgnat/a-chlat9.ads: Likewise.
6981 * libgnat/a-chtgbk.adb: Likewise.
6982 * libgnat/a-chtgbk.ads: Likewise.
6983 * libgnat/a-chtgbo.adb: Likewise.
6984 * libgnat/a-chtgbo.ads: Likewise.
6985 * libgnat/a-chtgke.adb: Likewise.
6986 * libgnat/a-chtgke.ads: Likewise.
6987 * libgnat/a-chtgop.adb: Likewise.
6988 * libgnat/a-chtgop.ads: Likewise.
6989 * libgnat/a-chzla1.ads: Likewise.
6990 * libgnat/a-chzla9.ads: Likewise.
6991 * libgnat/a-cidlli.adb: Likewise.
6992 * libgnat/a-cidlli.ads: Likewise.
6993 * libgnat/a-cihama.adb: Likewise.
6994 * libgnat/a-cihama.ads: Likewise.
6995 * libgnat/a-cihase.adb: Likewise.
6996 * libgnat/a-cihase.ads: Likewise.
6997 * libgnat/a-cimutr.adb: Likewise.
6998 * libgnat/a-cimutr.ads: Likewise.
6999 * libgnat/a-ciorma.adb: Likewise.
7000 * libgnat/a-ciorma.ads: Likewise.
7001 * libgnat/a-ciormu.adb: Likewise.
7002 * libgnat/a-ciormu.ads: Likewise.
7003 * libgnat/a-ciorse.adb: Likewise.
7004 * libgnat/a-ciorse.ads: Likewise.
7005 * libgnat/a-clrefi.adb: Likewise.
7006 * libgnat/a-clrefi.ads: Likewise.
7007 * libgnat/a-coboho.adb: Likewise.
7008 * libgnat/a-coboho.ads: Likewise.
7009 * libgnat/a-cobove.adb: Likewise.
7010 * libgnat/a-cobove.ads: Likewise.
7011 * libgnat/a-cofove.adb: Likewise.
7012 * libgnat/a-cofove.ads: Likewise.
7013 * libgnat/a-cofuba.adb: Likewise.
7014 * libgnat/a-cofuba.ads: Likewise.
7015 * libgnat/a-cofuma.adb: Likewise.
7016 * libgnat/a-cofuma.ads: Likewise.
7017 * libgnat/a-cofuse.adb: Likewise.
7018 * libgnat/a-cofuse.ads: Likewise.
7019 * libgnat/a-cofuve.adb: Likewise.
7020 * libgnat/a-cofuve.ads: Likewise.
7021 * libgnat/a-cogeso.adb: Likewise.
7022 * libgnat/a-cogeso.ads: Likewise.
7023 * libgnat/a-cohama.adb: Likewise.
7024 * libgnat/a-cohama.ads: Likewise.
7025 * libgnat/a-cohase.adb: Likewise.
7026 * libgnat/a-cohase.ads: Likewise.
7027 * libgnat/a-cohata.ads: Likewise.
7028 * libgnat/a-coinho.adb: Likewise.
7029 * libgnat/a-coinho.ads: Likewise.
7030 * libgnat/a-coinho__shared.adb: Likewise.
7031 * libgnat/a-coinho__shared.ads: Likewise.
7032 * libgnat/a-coinve.adb: Likewise.
7033 * libgnat/a-coinve.ads: Likewise.
7034 * libgnat/a-colien.adb: Likewise.
7035 * libgnat/a-colien.ads: Likewise.
7036 * libgnat/a-colire.adb: Likewise.
7037 * libgnat/a-colire.ads: Likewise.
7038 * libgnat/a-comlin.adb: Likewise.
7039 * libgnat/a-comlin.ads: Likewise.
7040 * libgnat/a-comutr.adb: Likewise.
7041 * libgnat/a-comutr.ads: Likewise.
7042 * libgnat/a-conhel.adb: Likewise.
7043 * libgnat/a-conhel.ads: Likewise.
7044 * libgnat/a-convec.adb: Likewise.
7045 * libgnat/a-convec.ads: Likewise.
7046 * libgnat/a-coorma.adb: Likewise.
7047 * libgnat/a-coorma.ads: Likewise.
7048 * libgnat/a-coormu.adb: Likewise.
7049 * libgnat/a-coormu.ads: Likewise.
7050 * libgnat/a-coorse.adb: Likewise.
7051 * libgnat/a-coorse.ads: Likewise.
7052 * libgnat/a-coprnu.adb: Likewise.
7053 * libgnat/a-coprnu.ads: Likewise.
7054 * libgnat/a-costso.adb: Likewise.
7055 * libgnat/a-costso.ads: Likewise.
7056 * libgnat/a-crbltr.ads: Likewise.
7057 * libgnat/a-crbtgk.adb: Likewise.
7058 * libgnat/a-crbtgk.ads: Likewise.
7059 * libgnat/a-crbtgo.adb: Likewise.
7060 * libgnat/a-crbtgo.ads: Likewise.
7061 * libgnat/a-crdlli.adb: Likewise.
7062 * libgnat/a-crdlli.ads: Likewise.
7063 * libgnat/a-csquin.ads: Likewise.
7064 * libgnat/a-cuprqu.adb: Likewise.
7065 * libgnat/a-cuprqu.ads: Likewise.
7066 * libgnat/a-cusyqu.adb: Likewise.
7067 * libgnat/a-cusyqu.ads: Likewise.
7068 * libgnat/a-cwila1.ads: Likewise.
7069 * libgnat/a-cwila9.ads: Likewise.
7070 * libgnat/a-decima.adb: Likewise.
7071 * libgnat/a-decima.ads: Likewise.
7072 * libgnat/a-decima__128.ads: Likewise.
7073 * libgnat/a-dhfina.adb: Likewise.
7074 * libgnat/a-dhfina.ads: Likewise.
7075 * libgnat/a-diocst.adb: Likewise.
7076 * libgnat/a-diocst.ads: Likewise.
7077 * libgnat/a-direct.adb: Likewise.
7078 * libgnat/a-direct.ads: Likewise.
7079 * libgnat/a-direio.adb: Likewise.
7080 * libgnat/a-direio.ads: Likewise.
7081 * libgnat/a-dirval.adb: Likewise.
7082 * libgnat/a-dirval.ads: Likewise.
7083 * libgnat/a-dirval__mingw.adb: Likewise.
7084 * libgnat/a-einuoc.adb: Likewise.
7085 * libgnat/a-einuoc.ads: Likewise.
7086 * libgnat/a-elchha.adb: Likewise.
7087 * libgnat/a-elchha.ads: Likewise.
7088 * libgnat/a-envvar.adb: Likewise.
7089 * libgnat/a-excach.adb: Likewise.
7090 * libgnat/a-except.adb: Likewise.
7091 * libgnat/a-except.ads: Likewise.
7092 * libgnat/a-exctra.adb: Likewise.
7093 * libgnat/a-exctra.ads: Likewise.
7094 * libgnat/a-exexda.adb: Likewise.
7095 * libgnat/a-exexpr.adb: Likewise.
7096 * libgnat/a-exextr.adb: Likewise.
7097 * libgnat/a-exstat.adb: Likewise.
7098 * libgnat/a-finali.adb: Likewise.
7099 * libgnat/a-finali.ads: Likewise.
7100 * libgnat/a-locale.adb: Likewise.
7101 * libgnat/a-locale.ads: Likewise.
7102 * libgnat/a-nagefl.ads: Likewise.
7103 * libgnat/a-naliop.ads: Likewise.
7104 * libgnat/a-naliop__nolibm.ads: Likewise.
7105 * libgnat/a-nallfl.ads: Likewise.
7106 * libgnat/a-nallfl__wraplf.ads: Likewise.
7107 * libgnat/a-nalofl.ads: Likewise.
7108 * libgnat/a-nashfl.ads: Likewise.
7109 * libgnat/a-nashfl__wraplf.ads: Likewise.
7110 * libgnat/a-nbnbig.adb: Likewise.
7111 * libgnat/a-nbnbin.adb: Likewise.
7112 * libgnat/a-nbnbin__gmp.adb: Likewise.
7113 * libgnat/a-nbnbre.adb: Likewise.
7114 * libgnat/a-ngcefu.adb: Likewise.
7115 * libgnat/a-ngcoar.adb: Likewise.
7116 * libgnat/a-ngcoty.adb: Likewise.
7117 * libgnat/a-ngcoty.ads: Likewise.
7118 * libgnat/a-ngelfu.adb: Likewise.
7119 * libgnat/a-ngelfu.ads: Likewise.
7120 * libgnat/a-ngrear.adb: Likewise.
7121 * libgnat/a-ngrear.ads: Likewise.
7122 * libgnat/a-nuauco.ads: Likewise.
7123 * libgnat/a-nuauco__x86.ads: Likewise.
7124 * libgnat/a-nuaufl.ads: Likewise.
7125 * libgnat/a-nuaufl__wraplf.ads: Likewise.
7126 * libgnat/a-nudira.adb: Likewise.
7127 * libgnat/a-nudira.ads: Likewise.
7128 * libgnat/a-nuflra.adb: Likewise.
7129 * libgnat/a-nuflra.ads: Likewise.
7130 * libgnat/a-numaux.ads: Likewise.
7131 * libgnat/a-rbtgbk.adb: Likewise.
7132 * libgnat/a-rbtgbk.ads: Likewise.
7133 * libgnat/a-rbtgbo.adb: Likewise.
7134 * libgnat/a-rbtgbo.ads: Likewise.
7135 * libgnat/a-rbtgso.adb: Likewise.
7136 * libgnat/a-rbtgso.ads: Likewise.
7137 * libgnat/a-sbecin.adb: Likewise.
7138 * libgnat/a-sbecin.ads: Likewise.
7139 * libgnat/a-sbhcin.adb: Likewise.
7140 * libgnat/a-sbhcin.ads: Likewise.
7141 * libgnat/a-sblcin.adb: Likewise.
7142 * libgnat/a-sblcin.ads: Likewise.
7143 * libgnat/a-secain.adb: Likewise.
7144 * libgnat/a-secain.ads: Likewise.
7145 * libgnat/a-sequio.adb: Likewise.
7146 * libgnat/a-sequio.ads: Likewise.
7147 * libgnat/a-sfecin.ads: Likewise.
7148 * libgnat/a-sfhcin.ads: Likewise.
7149 * libgnat/a-sflcin.ads: Likewise.
7150 * libgnat/a-shcain.adb: Likewise.
7151 * libgnat/a-shcain.ads: Likewise.
7152 * libgnat/a-siocst.adb: Likewise.
7153 * libgnat/a-siocst.ads: Likewise.
7154 * libgnat/a-slcain.adb: Likewise.
7155 * libgnat/a-slcain.ads: Likewise.
7156 * libgnat/a-ssicst.adb: Likewise.
7157 * libgnat/a-ssicst.ads: Likewise.
7158 * libgnat/a-stboha.adb: Likewise.
7159 * libgnat/a-stbubo.adb: Likewise.
7160 * libgnat/a-stbubo.ads: Likewise.
7161 * libgnat/a-stbufi.adb: Likewise.
7162 * libgnat/a-stbufi.ads: Likewise.
7163 * libgnat/a-stbufo.adb: Likewise.
7164 * libgnat/a-stbufo.ads: Likewise.
7165 * libgnat/a-stbuun.adb: Likewise.
7166 * libgnat/a-stbuut.adb: Likewise.
7167 * libgnat/a-stbuut.ads: Likewise.
7168 * libgnat/a-stmaco.ads: Likewise.
7169 * libgnat/a-storio.adb: Likewise.
7170 * libgnat/a-strbou.adb: Likewise.
7171 * libgnat/a-strbou.ads: Likewise.
7172 * libgnat/a-stream.adb: Likewise.
7173 * libgnat/a-stream.ads: Likewise.
7174 * libgnat/a-strfix.adb: Likewise.
7175 * libgnat/a-strhas.adb: Likewise.
7176 * libgnat/a-strmap.adb: Likewise.
7177 * libgnat/a-strmap.ads: Likewise.
7178 * libgnat/a-strsea.adb: Likewise.
7179 * libgnat/a-strsea.ads: Likewise.
7180 * libgnat/a-strsto.ads: Likewise.
7181 * libgnat/a-strsup.adb: Likewise.
7182 * libgnat/a-strsup.ads: Likewise.
7183 * libgnat/a-strunb.adb: Likewise.
7184 * libgnat/a-strunb.ads: Likewise.
7185 * libgnat/a-strunb__shared.adb: Likewise.
7186 * libgnat/a-strunb__shared.ads: Likewise.
7187 * libgnat/a-ststbo.adb: Likewise.
7188 * libgnat/a-ststbo.ads: Likewise.
7189 * libgnat/a-ststio.adb: Likewise.
7190 * libgnat/a-ststio.ads: Likewise.
7191 * libgnat/a-ststun.adb: Likewise.
7192 * libgnat/a-ststun.ads: Likewise.
7193 * libgnat/a-sttebu.adb: Likewise.
7194 * libgnat/a-stunau.adb: Likewise.
7195 * libgnat/a-stunau.ads: Likewise.
7196 * libgnat/a-stunau__shared.adb: Likewise.
7197 * libgnat/a-stunha.adb: Likewise.
7198 * libgnat/a-stuten.adb: Likewise.
7199 * libgnat/a-stwibo.adb: Likewise.
7200 * libgnat/a-stwibo.ads: Likewise.
7201 * libgnat/a-stwifi.adb: Likewise.
7202 * libgnat/a-stwiha.adb: Likewise.
7203 * libgnat/a-stwima.adb: Likewise.
7204 * libgnat/a-stwima.ads: Likewise.
7205 * libgnat/a-stwise.adb: Likewise.
7206 * libgnat/a-stwise.ads: Likewise.
7207 * libgnat/a-stwisu.adb: Likewise.
7208 * libgnat/a-stwisu.ads: Likewise.
7209 * libgnat/a-stwiun.adb: Likewise.
7210 * libgnat/a-stwiun.ads: Likewise.
7211 * libgnat/a-stwiun__shared.adb: Likewise.
7212 * libgnat/a-stwiun__shared.ads: Likewise.
7213 * libgnat/a-stzbou.adb: Likewise.
7214 * libgnat/a-stzbou.ads: Likewise.
7215 * libgnat/a-stzfix.adb: Likewise.
7216 * libgnat/a-stzhas.adb: Likewise.
7217 * libgnat/a-stzmap.adb: Likewise.
7218 * libgnat/a-stzmap.ads: Likewise.
7219 * libgnat/a-stzsea.adb: Likewise.
7220 * libgnat/a-stzsea.ads: Likewise.
7221 * libgnat/a-stzsup.adb: Likewise.
7222 * libgnat/a-stzsup.ads: Likewise.
7223 * libgnat/a-stzunb.adb: Likewise.
7224 * libgnat/a-stzunb.ads: Likewise.
7225 * libgnat/a-stzunb__shared.adb: Likewise.
7226 * libgnat/a-stzunb__shared.ads: Likewise.
7227 * libgnat/a-suecin.adb: Likewise.
7228 * libgnat/a-suecin.ads: Likewise.
7229 * libgnat/a-suenco.adb: Likewise.
7230 * libgnat/a-suenst.adb: Likewise.
7231 * libgnat/a-suewst.adb: Likewise.
7232 * libgnat/a-suezst.adb: Likewise.
7233 * libgnat/a-suhcin.adb: Likewise.
7234 * libgnat/a-suhcin.ads: Likewise.
7235 * libgnat/a-sulcin.adb: Likewise.
7236 * libgnat/a-sulcin.ads: Likewise.
7237 * libgnat/a-suteio.adb: Likewise.
7238 * libgnat/a-suteio.ads: Likewise.
7239 * libgnat/a-suteio__shared.adb: Likewise.
7240 * libgnat/a-swbwha.adb: Likewise.
7241 * libgnat/a-swmwco.ads: Likewise.
7242 * libgnat/a-swunau.adb: Likewise.
7243 * libgnat/a-swunau.ads: Likewise.
7244 * libgnat/a-swunau__shared.adb: Likewise.
7245 * libgnat/a-swuwha.adb: Likewise.
7246 * libgnat/a-swuwti.adb: Likewise.
7247 * libgnat/a-swuwti.ads: Likewise.
7248 * libgnat/a-swuwti__shared.adb: Likewise.
7249 * libgnat/a-szbzha.adb: Likewise.
7250 * libgnat/a-szmzco.ads: Likewise.
7251 * libgnat/a-szunau.adb: Likewise.
7252 * libgnat/a-szunau.ads: Likewise.
7253 * libgnat/a-szunau__shared.adb: Likewise.
7254 * libgnat/a-szuzha.adb: Likewise.
7255 * libgnat/a-szuzti.adb: Likewise.
7256 * libgnat/a-szuzti.ads: Likewise.
7257 * libgnat/a-szuzti__shared.adb: Likewise.
7258 * libgnat/a-tags.adb: Likewise.
7259 * libgnat/a-tags.ads: Likewise.
7260 * libgnat/a-teioed.adb: Likewise.
7261 * libgnat/a-teioed.ads: Likewise.
7262 * libgnat/a-textio.adb: Likewise.
7263 * libgnat/a-textio.ads: Likewise.
7264 * libgnat/a-tiboio.adb: Likewise.
7265 * libgnat/a-ticoau.adb: Likewise.
7266 * libgnat/a-ticoau.ads: Likewise.
7267 * libgnat/a-ticoio.adb: Likewise.
7268 * libgnat/a-ticoio.ads: Likewise.
7269 * libgnat/a-tideau.adb: Likewise.
7270 * libgnat/a-tideau.ads: Likewise.
7271 * libgnat/a-tideio.adb: Likewise.
7272 * libgnat/a-tideio.ads: Likewise.
7273 * libgnat/a-tideio__128.adb: Likewise.
7274 * libgnat/a-tienau.adb: Likewise.
7275 * libgnat/a-tienau.ads: Likewise.
7276 * libgnat/a-tienio.adb: Likewise.
7277 * libgnat/a-tifiau.adb: Likewise.
7278 * libgnat/a-tifiau.ads: Likewise.
7279 * libgnat/a-tifiio.adb: Likewise.
7280 * libgnat/a-tifiio__128.adb: Likewise.
7281 * libgnat/a-tiflau.adb: Likewise.
7282 * libgnat/a-tiflau.ads: Likewise.
7283 * libgnat/a-tiflio.adb: Likewise.
7284 * libgnat/a-tiflio.ads: Likewise.
7285 * libgnat/a-tigeau.adb: Likewise.
7286 * libgnat/a-tigeau.ads: Likewise.
7287 * libgnat/a-tigeli.adb: Likewise.
7288 * libgnat/a-tiinau.adb: Likewise.
7289 * libgnat/a-tiinau.ads: Likewise.
7290 * libgnat/a-tiinio.adb: Likewise.
7291 * libgnat/a-tiinio.ads: Likewise.
7292 * libgnat/a-tiinio__128.adb: Likewise.
7293 * libgnat/a-timoio.adb: Likewise.
7294 * libgnat/a-timoio.ads: Likewise.
7295 * libgnat/a-timoio__128.adb: Likewise.
7296 * libgnat/a-tiocst.adb: Likewise.
7297 * libgnat/a-tiocst.ads: Likewise.
7298 * libgnat/a-tirsfi.adb: Likewise.
7299 * libgnat/a-tirsfi.ads: Likewise.
7300 * libgnat/a-titest.adb: Likewise.
7301 * libgnat/a-undesu.adb: Likewise.
7302 * libgnat/a-wichha.adb: Likewise.
7303 * libgnat/a-wichun.adb: Likewise.
7304 * libgnat/a-wichun.ads: Likewise.
7305 * libgnat/a-witeio.adb: Likewise.
7306 * libgnat/a-witeio.ads: Likewise.
7307 * libgnat/a-wrstfi.adb: Likewise.
7308 * libgnat/a-wrstfi.ads: Likewise.
7309 * libgnat/a-wtcoau.adb: Likewise.
7310 * libgnat/a-wtcoau.ads: Likewise.
7311 * libgnat/a-wtcoio.adb: Likewise.
7312 * libgnat/a-wtcstr.adb: Likewise.
7313 * libgnat/a-wtcstr.ads: Likewise.
7314 * libgnat/a-wtdeau.adb: Likewise.
7315 * libgnat/a-wtdeau.ads: Likewise.
7316 * libgnat/a-wtdeio.adb: Likewise.
7317 * libgnat/a-wtdeio__128.adb: Likewise.
7318 * libgnat/a-wtedit.adb: Likewise.
7319 * libgnat/a-wtedit.ads: Likewise.
7320 * libgnat/a-wtenau.adb: Likewise.
7321 * libgnat/a-wtenau.ads: Likewise.
7322 * libgnat/a-wtenio.adb: Likewise.
7323 * libgnat/a-wtfiau.adb: Likewise.
7324 * libgnat/a-wtfiau.ads: Likewise.
7325 * libgnat/a-wtfiio.adb: Likewise.
7326 * libgnat/a-wtfiio__128.adb: Likewise.
7327 * libgnat/a-wtflau.adb: Likewise.
7328 * libgnat/a-wtflau.ads: Likewise.
7329 * libgnat/a-wtflio.adb: Likewise.
7330 * libgnat/a-wtgeau.adb: Likewise.
7331 * libgnat/a-wtgeau.ads: Likewise.
7332 * libgnat/a-wtinau.adb: Likewise.
7333 * libgnat/a-wtinau.ads: Likewise.
7334 * libgnat/a-wtinio.adb: Likewise.
7335 * libgnat/a-wtinio__128.adb: Likewise.
7336 * libgnat/a-wtmoio.adb: Likewise.
7337 * libgnat/a-wtmoio.ads: Likewise.
7338 * libgnat/a-wtmoio__128.adb: Likewise.
7339 * libgnat/a-wttest.adb: Likewise.
7340 * libgnat/a-wwboio.adb: Likewise.
7341 * libgnat/a-zchhan.adb: Likewise.
7342 * libgnat/a-zchuni.adb: Likewise.
7343 * libgnat/a-zchuni.ads: Likewise.
7344 * libgnat/a-zrstfi.adb: Likewise.
7345 * libgnat/a-zrstfi.ads: Likewise.
7346 * libgnat/a-ztcoau.adb: Likewise.
7347 * libgnat/a-ztcoio.adb: Likewise.
7348 * libgnat/a-ztcstr.adb: Likewise.
7349 * libgnat/a-ztcstr.ads: Likewise.
7350 * libgnat/a-ztdeau.adb: Likewise.
7351 * libgnat/a-ztdeau.ads: Likewise.
7352 * libgnat/a-ztdeio.adb: Likewise.
7353 * libgnat/a-ztdeio__128.adb: Likewise.
7354 * libgnat/a-ztedit.adb: Likewise.
7355 * libgnat/a-ztedit.ads: Likewise.
7356 * libgnat/a-ztenau.adb: Likewise.
7357 * libgnat/a-ztenau.ads: Likewise.
7358 * libgnat/a-ztenio.adb: Likewise.
7359 * libgnat/a-ztexio.adb: Likewise.
7360 * libgnat/a-ztexio.ads: Likewise.
7361 * libgnat/a-ztfiau.adb: Likewise.
7362 * libgnat/a-ztfiau.ads: Likewise.
7363 * libgnat/a-ztfiio.adb: Likewise.
7364 * libgnat/a-ztfiio__128.adb: Likewise.
7365 * libgnat/a-ztflau.adb: Likewise.
7366 * libgnat/a-ztflau.ads: Likewise.
7367 * libgnat/a-ztflio.adb: Likewise.
7368 * libgnat/a-ztgeau.adb: Likewise.
7369 * libgnat/a-ztgeau.ads: Likewise.
7370 * libgnat/a-ztinau.adb: Likewise.
7371 * libgnat/a-ztinau.ads: Likewise.
7372 * libgnat/a-ztinio.adb: Likewise.
7373 * libgnat/a-ztinio__128.adb: Likewise.
7374 * libgnat/a-ztmoio.adb: Likewise.
7375 * libgnat/a-ztmoio__128.adb: Likewise.
7376 * libgnat/a-zttest.adb: Likewise.
7377 * libgnat/a-zzboio.adb: Likewise.
7378 * libgnat/g-allein.ads: Likewise.
7379 * libgnat/g-alleve.adb: Likewise.
7380 * libgnat/g-alleve.ads: Likewise.
7381 * libgnat/g-alleve__hard.adb: Likewise.
7382 * libgnat/g-alleve__hard.ads: Likewise.
7383 * libgnat/g-altcon.adb: Likewise.
7384 * libgnat/g-altcon.ads: Likewise.
7385 * libgnat/g-altive.ads: Likewise.
7386 * libgnat/g-alveop.adb: Likewise.
7387 * libgnat/g-alveop.ads: Likewise.
7388 * libgnat/g-alvety.ads: Likewise.
7389 * libgnat/g-alvevi.ads: Likewise.
7390 * libgnat/g-arrspl.adb: Likewise.
7391 * libgnat/g-arrspl.ads: Likewise.
7392 * libgnat/g-awk.adb: Likewise.
7393 * libgnat/g-awk.ads: Likewise.
7394 * libgnat/g-binenv.adb: Likewise.
7395 * libgnat/g-binenv.ads: Likewise.
7396 * libgnat/g-brapre.ads: Likewise.
7397 * libgnat/g-bubsor.adb: Likewise.
7398 * libgnat/g-bubsor.ads: Likewise.
7399 * libgnat/g-busora.adb: Likewise.
7400 * libgnat/g-busora.ads: Likewise.
7401 * libgnat/g-busorg.adb: Likewise.
7402 * libgnat/g-busorg.ads: Likewise.
7403 * libgnat/g-byorma.adb: Likewise.
7404 * libgnat/g-byorma.ads: Likewise.
7405 * libgnat/g-bytswa.adb: Likewise.
7406 * libgnat/g-bytswa.ads: Likewise.
7407 * libgnat/g-calend.adb: Likewise.
7408 * libgnat/g-calend.ads: Likewise.
7409 * libgnat/g-casuti.adb: Likewise.
7410 * libgnat/g-casuti.ads: Likewise.
7411 * libgnat/g-catiio.adb: Likewise.
7412 * libgnat/g-catiio.ads: Likewise.
7413 * libgnat/g-cgi.adb: Likewise.
7414 * libgnat/g-cgi.ads: Likewise.
7415 * libgnat/g-cgicoo.adb: Likewise.
7416 * libgnat/g-cgicoo.ads: Likewise.
7417 * libgnat/g-cgideb.adb: Likewise.
7418 * libgnat/g-cgideb.ads: Likewise.
7419 * libgnat/g-comlin.adb: Likewise.
7420 * libgnat/g-comlin.ads: Likewise.
7421 * libgnat/g-comver.adb: Likewise.
7422 * libgnat/g-comver.ads: Likewise.
7423 * libgnat/g-cppexc.adb: Likewise.
7424 * libgnat/g-cppexc.ads: Likewise.
7425 * libgnat/g-crc32.adb: Likewise.
7426 * libgnat/g-crc32.ads: Likewise.
7427 * libgnat/g-ctrl_c.adb: Likewise.
7428 * libgnat/g-ctrl_c.ads: Likewise.
7429 * libgnat/g-curexc.ads: Likewise.
7430 * libgnat/g-debpoo.adb: Likewise.
7431 * libgnat/g-debpoo.ads: Likewise.
7432 * libgnat/g-debuti.adb: Likewise.
7433 * libgnat/g-debuti.ads: Likewise.
7434 * libgnat/g-decstr.adb: Likewise.
7435 * libgnat/g-decstr.ads: Likewise.
7436 * libgnat/g-deutst.ads: Likewise.
7437 * libgnat/g-diopit.adb: Likewise.
7438 * libgnat/g-diopit.ads: Likewise.
7439 * libgnat/g-dirope.adb: Likewise.
7440 * libgnat/g-dirope.ads: Likewise.
7441 * libgnat/g-dynhta.adb: Likewise.
7442 * libgnat/g-dynhta.ads: Likewise.
7443 * libgnat/g-dyntab.adb: Likewise.
7444 * libgnat/g-dyntab.ads: Likewise.
7445 * libgnat/g-eacodu.adb: Likewise.
7446 * libgnat/g-encstr.adb: Likewise.
7447 * libgnat/g-encstr.ads: Likewise.
7448 * libgnat/g-enutst.ads: Likewise.
7449 * libgnat/g-excact.adb: Likewise.
7450 * libgnat/g-excact.ads: Likewise.
7451 * libgnat/g-except.ads: Likewise.
7452 * libgnat/g-exctra.adb: Likewise.
7453 * libgnat/g-exctra.ads: Likewise.
7454 * libgnat/g-expect.adb: Likewise.
7455 * libgnat/g-expect.ads: Likewise.
7456 * libgnat/g-exptty.adb: Likewise.
7457 * libgnat/g-exptty.ads: Likewise.
7458 * libgnat/g-flocon.ads: Likewise.
7459 * libgnat/g-forstr.adb: Likewise.
7460 * libgnat/g-forstr.ads: Likewise.
7461 * libgnat/g-graphs.adb: Likewise.
7462 * libgnat/g-graphs.ads: Likewise.
7463 * libgnat/g-heasor.adb: Likewise.
7464 * libgnat/g-heasor.ads: Likewise.
7465 * libgnat/g-hesora.adb: Likewise.
7466 * libgnat/g-hesora.ads: Likewise.
7467 * libgnat/g-hesorg.adb: Likewise.
7468 * libgnat/g-hesorg.ads: Likewise.
7469 * libgnat/g-htable.adb: Likewise.
7470 * libgnat/g-htable.ads: Likewise.
7471 * libgnat/g-io.adb: Likewise.
7472 * libgnat/g-io.ads: Likewise.
7473 * libgnat/g-io_aux.adb: Likewise.
7474 * libgnat/g-io_aux.ads: Likewise.
7475 * libgnat/g-lists.adb: Likewise.
7476 * libgnat/g-lists.ads: Likewise.
7477 * libgnat/g-locfil.adb: Likewise.
7478 * libgnat/g-locfil.ads: Likewise.
7479 * libgnat/g-mbdira.adb: Likewise.
7480 * libgnat/g-mbdira.ads: Likewise.
7481 * libgnat/g-mbflra.adb: Likewise.
7482 * libgnat/g-mbflra.ads: Likewise.
7483 * libgnat/g-md5.adb: Likewise.
7484 * libgnat/g-md5.ads: Likewise.
7485 * libgnat/g-memdum.adb: Likewise.
7486 * libgnat/g-memdum.ads: Likewise.
7487 * libgnat/g-moreex.adb: Likewise.
7488 * libgnat/g-moreex.ads: Likewise.
7489 * libgnat/g-os_lib.adb: Likewise.
7490 * libgnat/g-os_lib.ads: Likewise.
7491 * libgnat/g-pehage.adb: Likewise.
7492 * libgnat/g-pehage.ads: Likewise.
7493 * libgnat/g-rannum.adb: Likewise.
7494 * libgnat/g-rannum.ads: Likewise.
7495 * libgnat/g-regexp.adb: Likewise.
7496 * libgnat/g-regexp.ads: Likewise.
7497 * libgnat/g-regist.adb: Likewise.
7498 * libgnat/g-regist.ads: Likewise.
7499 * libgnat/g-regpat.adb: Likewise.
7500 * libgnat/g-regpat.ads: Likewise.
7501 * libgnat/g-rewdat.adb: Likewise.
7502 * libgnat/g-rewdat.ads: Likewise.
7503 * libgnat/g-sechas.adb: Likewise.
7504 * libgnat/g-sechas.ads: Likewise.
7505 * libgnat/g-sehamd.adb: Likewise.
7506 * libgnat/g-sehamd.ads: Likewise.
7507 * libgnat/g-sehash.adb: Likewise.
7508 * libgnat/g-sehash.ads: Likewise.
7509 * libgnat/g-sercom.adb: Likewise.
7510 * libgnat/g-sercom.ads: Likewise.
7511 * libgnat/g-sercom__linux.adb: Likewise.
7512 * libgnat/g-sercom__mingw.adb: Likewise.
7513 * libgnat/g-sestin.ads: Likewise.
7514 * libgnat/g-sets.adb: Likewise.
7515 * libgnat/g-sets.ads: Likewise.
7516 * libgnat/g-sha1.adb: Likewise.
7517 * libgnat/g-sha1.ads: Likewise.
7518 * libgnat/g-sha224.ads: Likewise.
7519 * libgnat/g-sha256.ads: Likewise.
7520 * libgnat/g-sha384.ads: Likewise.
7521 * libgnat/g-sha512.ads: Likewise.
7522 * libgnat/g-shsh32.adb: Likewise.
7523 * libgnat/g-shsh32.ads: Likewise.
7524 * libgnat/g-shsh64.adb: Likewise.
7525 * libgnat/g-shsh64.ads: Likewise.
7526 * libgnat/g-shshco.adb: Likewise.
7527 * libgnat/g-shshco.ads: Likewise.
7528 * libgnat/g-soccon.ads: Likewise.
7529 * libgnat/g-socket.adb: Likewise.
7530 * libgnat/g-socket.ads: Likewise.
7531 * libgnat/g-socket__dummy.adb: Likewise.
7532 * libgnat/g-socket__dummy.ads: Likewise.
7533 * libgnat/g-socpol.adb: Likewise.
7534 * libgnat/g-socpol.ads: Likewise.
7535 * libgnat/g-socpol__dummy.adb: Likewise.
7536 * libgnat/g-socpol__dummy.ads: Likewise.
7537 * libgnat/g-socthi.adb: Likewise.
7538 * libgnat/g-socthi.ads: Likewise.
7539 * libgnat/g-socthi__dummy.adb: Likewise.
7540 * libgnat/g-socthi__dummy.ads: Likewise.
7541 * libgnat/g-socthi__mingw.adb: Likewise.
7542 * libgnat/g-socthi__mingw.ads: Likewise.
7543 * libgnat/g-socthi__vxworks.adb: Likewise.
7544 * libgnat/g-socthi__vxworks.ads: Likewise.
7545 * libgnat/g-soliop.ads: Likewise.
7546 * libgnat/g-soliop__lynxos.ads: Likewise.
7547 * libgnat/g-soliop__mingw.ads: Likewise.
7548 * libgnat/g-soliop__qnx.ads: Likewise.
7549 * libgnat/g-soliop__solaris.ads: Likewise.
7550 * libgnat/g-sopowa.adb: Likewise.
7551 * libgnat/g-sopowa__mingw.adb: Likewise.
7552 * libgnat/g-sopowa__posix.adb: Likewise.
7553 * libgnat/g-sothco.adb: Likewise.
7554 * libgnat/g-sothco.ads: Likewise.
7555 * libgnat/g-sothco__dummy.adb: Likewise.
7556 * libgnat/g-sothco__dummy.ads: Likewise.
7557 * libgnat/g-souinf.ads: Likewise.
7558 * libgnat/g-spchge.adb: Likewise.
7559 * libgnat/g-spchge.ads: Likewise.
7560 * libgnat/g-speche.adb: Likewise.
7561 * libgnat/g-speche.ads: Likewise.
7562 * libgnat/g-spipat.adb: Likewise.
7563 * libgnat/g-spipat.ads: Likewise.
7564 * libgnat/g-spitbo.adb: Likewise.
7565 * libgnat/g-spitbo.ads: Likewise.
7566 * libgnat/g-spogwa.adb: Likewise.
7567 * libgnat/g-spogwa.ads: Likewise.
7568 * libgnat/g-sptabo.ads: Likewise.
7569 * libgnat/g-sptain.ads: Likewise.
7570 * libgnat/g-sptavs.ads: Likewise.
7571 * libgnat/g-sse.ads: Likewise.
7572 * libgnat/g-ssvety.ads: Likewise.
7573 * libgnat/g-sthcso.adb: Likewise.
7574 * libgnat/g-stheme.adb: Likewise.
7575 * libgnat/g-strhas.ads: Likewise.
7576 * libgnat/g-string.adb: Likewise.
7577 * libgnat/g-string.ads: Likewise.
7578 * libgnat/g-strspl.ads: Likewise.
7579 * libgnat/g-stseme.adb: Likewise.
7580 * libgnat/g-stsifd__sockets.adb: Likewise.
7581 * libgnat/g-table.adb: Likewise.
7582 * libgnat/g-table.ads: Likewise.
7583 * libgnat/g-tasloc.adb: Likewise.
7584 * libgnat/g-tasloc.ads: Likewise.
7585 * libgnat/g-timsta.adb: Likewise.
7586 * libgnat/g-timsta.ads: Likewise.
7587 * libgnat/g-traceb.adb: Likewise.
7588 * libgnat/g-traceb.ads: Likewise.
7589 * libgnat/g-trasym.adb: Likewise.
7590 * libgnat/g-trasym.ads: Likewise.
7591 * libgnat/g-tty.adb: Likewise.
7592 * libgnat/g-tty.ads: Likewise.
7593 * libgnat/g-u3spch.adb: Likewise.
7594 * libgnat/g-u3spch.ads: Likewise.
7595 * libgnat/g-utf_32.adb: Likewise.
7596 * libgnat/g-utf_32.ads: Likewise.
7597 * libgnat/g-wispch.adb: Likewise.
7598 * libgnat/g-wispch.ads: Likewise.
7599 * libgnat/g-wistsp.ads: Likewise.
7600 * libgnat/g-zspche.adb: Likewise.
7601 * libgnat/g-zspche.ads: Likewise.
7602 * libgnat/g-zstspl.ads: Likewise.
7603 * libgnat/gnat.ads: Likewise.
7604 * libgnat/i-c.adb: Likewise.
7605 * libgnat/i-cexten.ads: Likewise.
7606 * libgnat/i-cexten__128.ads: Likewise.
7607 * libgnat/i-cobol.adb: Likewise.
7608 * libgnat/i-cobol.ads: Likewise.
7609 * libgnat/i-cpoint.adb: Likewise.
7610 * libgnat/i-cpoint.ads: Likewise.
7611 * libgnat/i-cstrea.adb: Likewise.
7612 * libgnat/i-cstrea.ads: Likewise.
7613 * libgnat/i-cstrin.adb: Likewise.
7614 * libgnat/i-cstrin.ads: Likewise.
7615 * libgnat/i-fortra.adb: Likewise.
7616 * libgnat/i-pacdec.adb: Likewise.
7617 * libgnat/i-pacdec.ads: Likewise.
7618 * libgnat/i-vxwoio.adb: Likewise.
7619 * libgnat/i-vxwoio.ads: Likewise.
7620 * libgnat/i-vxwork.ads: Likewise.
7621 * libgnat/i-vxwork__x86.ads: Likewise.
7622 * libgnat/interfac.ads: Likewise.
7623 * libgnat/interfac__2020.ads: Likewise.
7624 * libgnat/memtrack.adb: Likewise.
7625 * libgnat/s-addima.adb: Likewise.
7626 * libgnat/s-addima.ads: Likewise.
7627 * libgnat/s-addope.adb: Likewise.
7628 * libgnat/s-addope.ads: Likewise.
7629 * libgnat/s-aoinar.adb: Likewise.
7630 * libgnat/s-aoinar.ads: Likewise.
7631 * libgnat/s-aomoar.adb: Likewise.
7632 * libgnat/s-aomoar.ads: Likewise.
7633 * libgnat/s-aotase.adb: Likewise.
7634 * libgnat/s-aotase.ads: Likewise.
7635 * libgnat/s-aridou.adb: Likewise.
7636 * libgnat/s-aridou.ads: Likewise.
7637 * libgnat/s-arit128.adb: Likewise.
7638 * libgnat/s-arit128.ads: Likewise.
7639 * libgnat/s-arit32.adb: Likewise.
7640 * libgnat/s-arit32.ads: Likewise.
7641 * libgnat/s-arit64.adb: Likewise.
7642 * libgnat/s-arit64.ads: Likewise.
7643 * libgnat/s-assert.adb: Likewise.
7644 * libgnat/s-assert.ads: Likewise.
7645 * libgnat/s-atacco.adb: Likewise.
7646 * libgnat/s-atacco.ads: Likewise.
7647 * libgnat/s-atocou.adb: Likewise.
7648 * libgnat/s-atocou.ads: Likewise.
7649 * libgnat/s-atocou__builtin.adb: Likewise.
7650 * libgnat/s-atoope.ads: Likewise.
7651 * libgnat/s-atopex.adb: Likewise.
7652 * libgnat/s-atopex.ads: Likewise.
7653 * libgnat/s-atopri.adb: Likewise.
7654 * libgnat/s-atopri.ads: Likewise.
7655 * libgnat/s-auxdec.adb: Likewise.
7656 * libgnat/s-auxdec.ads: Likewise.
7657 * libgnat/s-bignum.adb: Likewise.
7658 * libgnat/s-bignum.ads: Likewise.
7659 * libgnat/s-bitfie.ads: Likewise.
7660 * libgnat/s-bitops.adb: Likewise.
7661 * libgnat/s-bitops.ads: Likewise.
7662 * libgnat/s-bituti.adb: Likewise.
7663 * libgnat/s-bituti.ads: Likewise.
7664 * libgnat/s-boarop.ads: Likewise.
7665 * libgnat/s-boustr.adb: Likewise.
7666 * libgnat/s-boustr.ads: Likewise.
7667 * libgnat/s-bytswa.ads: Likewise.
7668 * libgnat/s-carsi8.adb: Likewise.
7669 * libgnat/s-carsi8.ads: Likewise.
7670 * libgnat/s-carun8.adb: Likewise.
7671 * libgnat/s-carun8.ads: Likewise.
7672 * libgnat/s-casi128.adb: Likewise.
7673 * libgnat/s-casi128.ads: Likewise.
7674 * libgnat/s-casi16.adb: Likewise.
7675 * libgnat/s-casi16.ads: Likewise.
7676 * libgnat/s-casi32.adb: Likewise.
7677 * libgnat/s-casi32.ads: Likewise.
7678 * libgnat/s-casi64.adb: Likewise.
7679 * libgnat/s-casi64.ads: Likewise.
7680 * libgnat/s-casuti.adb: Likewise.
7681 * libgnat/s-casuti.ads: Likewise.
7682 * libgnat/s-caun128.adb: Likewise.
7683 * libgnat/s-caun128.ads: Likewise.
7684 * libgnat/s-caun16.adb: Likewise.
7685 * libgnat/s-caun16.ads: Likewise.
7686 * libgnat/s-caun32.adb: Likewise.
7687 * libgnat/s-caun32.ads: Likewise.
7688 * libgnat/s-caun64.adb: Likewise.
7689 * libgnat/s-caun64.ads: Likewise.
7690 * libgnat/s-chepoo.ads: Likewise.
7691 * libgnat/s-commun.adb: Likewise.
7692 * libgnat/s-commun.ads: Likewise.
7693 * libgnat/s-conca2.adb: Likewise.
7694 * libgnat/s-conca2.ads: Likewise.
7695 * libgnat/s-conca3.adb: Likewise.
7696 * libgnat/s-conca3.ads: Likewise.
7697 * libgnat/s-conca4.adb: Likewise.
7698 * libgnat/s-conca4.ads: Likewise.
7699 * libgnat/s-conca5.adb: Likewise.
7700 * libgnat/s-conca5.ads: Likewise.
7701 * libgnat/s-conca6.adb: Likewise.
7702 * libgnat/s-conca6.ads: Likewise.
7703 * libgnat/s-conca7.adb: Likewise.
7704 * libgnat/s-conca7.ads: Likewise.
7705 * libgnat/s-conca8.adb: Likewise.
7706 * libgnat/s-conca8.ads: Likewise.
7707 * libgnat/s-conca9.adb: Likewise.
7708 * libgnat/s-conca9.ads: Likewise.
7709 * libgnat/s-crc32.adb: Likewise.
7710 * libgnat/s-crc32.ads: Likewise.
7711 * libgnat/s-crtl.ads: Likewise.
7712 * libgnat/s-dfmkio.ads: Likewise.
7713 * libgnat/s-dfmopr.ads: Likewise.
7714 * libgnat/s-dgmgop.ads: Likewise.
7715 * libgnat/s-diflio.adb: Likewise.
7716 * libgnat/s-diflio.ads: Likewise.
7717 * libgnat/s-diflmk.ads: Likewise.
7718 * libgnat/s-digemk.ads: Likewise.
7719 * libgnat/s-diinio.adb: Likewise.
7720 * libgnat/s-diinio.ads: Likewise.
7721 * libgnat/s-dilomk.ads: Likewise.
7722 * libgnat/s-dim.ads: Likewise.
7723 * libgnat/s-dimkio.ads: Likewise.
7724 * libgnat/s-dimmks.ads: Likewise.
7725 * libgnat/s-direio.adb: Likewise.
7726 * libgnat/s-direio.ads: Likewise.
7727 * libgnat/s-dlmkio.ads: Likewise.
7728 * libgnat/s-dlmopr.ads: Likewise.
7729 * libgnat/s-dmotpr.ads: Likewise.
7730 * libgnat/s-dorepr.adb: Likewise.
7731 * libgnat/s-dorepr__fma.adb: Likewise.
7732 * libgnat/s-dourea.adb: Likewise.
7733 * libgnat/s-dourea.ads: Likewise.
7734 * libgnat/s-dsaser.ads: Likewise.
7735 * libgnat/s-dwalin.adb: Likewise.
7736 * libgnat/s-dwalin.ads: Likewise.
7737 * libgnat/s-elaall.adb: Likewise.
7738 * libgnat/s-elaall.ads: Likewise.
7739 * libgnat/s-excdeb.adb: Likewise.
7740 * libgnat/s-excdeb.ads: Likewise.
7741 * libgnat/s-except.adb: Likewise.
7742 * libgnat/s-except.ads: Likewise.
7743 * libgnat/s-excmac__arm.adb: Likewise.
7744 * libgnat/s-excmac__arm.ads: Likewise.
7745 * libgnat/s-excmac__gcc.adb: Likewise.
7746 * libgnat/s-excmac__gcc.ads: Likewise.
7747 * libgnat/s-exctab.adb: Likewise.
7748 * libgnat/s-exctab.ads: Likewise.
7749 * libgnat/s-exctra.adb: Likewise.
7750 * libgnat/s-exctra.ads: Likewise.
7751 * libgnat/s-exnflt.ads: Likewise.
7752 * libgnat/s-exnint.adb: Likewise.
7753 * libgnat/s-exnint.ads: Likewise.
7754 * libgnat/s-exnlfl.ads: Likewise.
7755 * libgnat/s-exnllf.adb: Likewise.
7756 * libgnat/s-exnllf.ads: Likewise.
7757 * libgnat/s-exnlli.adb: Likewise.
7758 * libgnat/s-exnlli.ads: Likewise.
7759 * libgnat/s-exnllli.ads: Likewise.
7760 * libgnat/s-expint.adb: Likewise.
7761 * libgnat/s-expint.ads: Likewise.
7762 * libgnat/s-explli.adb: Likewise.
7763 * libgnat/s-explli.ads: Likewise.
7764 * libgnat/s-expllli.ads: Likewise.
7765 * libgnat/s-explllu.ads: Likewise.
7766 * libgnat/s-expllu.adb: Likewise.
7767 * libgnat/s-expllu.ads: Likewise.
7768 * libgnat/s-expmod.adb: Likewise.
7769 * libgnat/s-expmod.ads: Likewise.
7770 * libgnat/s-exponn.adb: Likewise.
7771 * libgnat/s-exponn.ads: Likewise.
7772 * libgnat/s-exponr.adb: Likewise.
7773 * libgnat/s-exponr.ads: Likewise.
7774 * libgnat/s-expont.adb: Likewise.
7775 * libgnat/s-expont.ads: Likewise.
7776 * libgnat/s-exponu.adb: Likewise.
7777 * libgnat/s-exponu.ads: Likewise.
7778 * libgnat/s-expuns.adb: Likewise.
7779 * libgnat/s-expuns.ads: Likewise.
7780 * libgnat/s-fatflt.ads: Likewise.
7781 * libgnat/s-fatgen.adb: Likewise.
7782 * libgnat/s-fatgen.ads: Likewise.
7783 * libgnat/s-fatlfl.ads: Likewise.
7784 * libgnat/s-fatllf.ads: Likewise.
7785 * libgnat/s-ficobl.ads: Likewise.
7786 * libgnat/s-filatt.ads: Likewise.
7787 * libgnat/s-fileio.adb: Likewise.
7788 * libgnat/s-fileio.ads: Likewise.
7789 * libgnat/s-finmas.adb: Likewise.
7790 * libgnat/s-finmas.ads: Likewise.
7791 * libgnat/s-finroo.adb: Likewise.
7792 * libgnat/s-finroo.ads: Likewise.
7793 * libgnat/s-flocon.adb: Likewise.
7794 * libgnat/s-flocon.ads: Likewise.
7795 * libgnat/s-flocon__none.adb: Likewise.
7796 * libgnat/s-fode128.ads: Likewise.
7797 * libgnat/s-fode32.ads: Likewise.
7798 * libgnat/s-fode64.ads: Likewise.
7799 * libgnat/s-fofi128.ads: Likewise.
7800 * libgnat/s-fofi32.ads: Likewise.
7801 * libgnat/s-fofi64.ads: Likewise.
7802 * libgnat/s-fore_d.adb: Likewise.
7803 * libgnat/s-fore_d.ads: Likewise.
7804 * libgnat/s-fore_f.adb: Likewise.
7805 * libgnat/s-fore_f.ads: Likewise.
7806 * libgnat/s-forrea.adb: Likewise.
7807 * libgnat/s-forrea.ads: Likewise.
7808 * libgnat/s-gearop.adb: Likewise.
7809 * libgnat/s-gearop.ads: Likewise.
7810 * libgnat/s-genbig.adb: Likewise.
7811 * libgnat/s-genbig.ads: Likewise.
7812 * libgnat/s-geveop.adb: Likewise.
7813 * libgnat/s-geveop.ads: Likewise.
7814 * libgnat/s-gloloc.adb: Likewise.
7815 * libgnat/s-gloloc.ads: Likewise.
7816 * libgnat/s-gloloc__mingw.adb: Likewise.
7817 * libgnat/s-htable.adb: Likewise.
7818 * libgnat/s-htable.ads: Likewise.
7819 * libgnat/s-imageb.adb: Likewise.
7820 * libgnat/s-imageb.ads: Likewise.
7821 * libgnat/s-imaged.adb: Likewise.
7822 * libgnat/s-imaged.ads: Likewise.
7823 * libgnat/s-imagef.adb: Likewise.
7824 * libgnat/s-imagef.ads: Likewise.
7825 * libgnat/s-imagei.adb: Likewise.
7826 * libgnat/s-imagei.ads: Likewise.
7827 * libgnat/s-imagen.adb: Likewise.
7828 * libgnat/s-imagen.ads: Likewise.
7829 * libgnat/s-imager.adb: Likewise.
7830 * libgnat/s-imager.ads: Likewise.
7831 * libgnat/s-imageu.adb: Likewise.
7832 * libgnat/s-imageu.ads: Likewise.
7833 * libgnat/s-imagew.adb: Likewise.
7834 * libgnat/s-imagew.ads: Likewise.
7835 * libgnat/s-imde128.ads: Likewise.
7836 * libgnat/s-imde32.ads: Likewise.
7837 * libgnat/s-imde64.ads: Likewise.
7838 * libgnat/s-imen16.ads: Likewise.
7839 * libgnat/s-imen32.ads: Likewise.
7840 * libgnat/s-imenu8.ads: Likewise.
7841 * libgnat/s-imfi128.ads: Likewise.
7842 * libgnat/s-imfi32.ads: Likewise.
7843 * libgnat/s-imfi64.ads: Likewise.
7844 * libgnat/s-imgbiu.adb: Likewise.
7845 * libgnat/s-imgbiu.ads: Likewise.
7846 * libgnat/s-imgboo.adb: Likewise.
7847 * libgnat/s-imgboo.ads: Likewise.
7848 * libgnat/s-imgcha.adb: Likewise.
7849 * libgnat/s-imgcha.ads: Likewise.
7850 * libgnat/s-imgflt.ads: Likewise.
7851 * libgnat/s-imgint.adb: Likewise.
7852 * libgnat/s-imgint.ads: Likewise.
7853 * libgnat/s-imglfl.ads: Likewise.
7854 * libgnat/s-imgllb.adb: Likewise.
7855 * libgnat/s-imgllb.ads: Likewise.
7856 * libgnat/s-imgllf.ads: Likewise.
7857 * libgnat/s-imglli.adb: Likewise.
7858 * libgnat/s-imglli.ads: Likewise.
7859 * libgnat/s-imglllb.ads: Likewise.
7860 * libgnat/s-imgllli.ads: Likewise.
7861 * libgnat/s-imglllu.ads: Likewise.
7862 * libgnat/s-imglllw.ads: Likewise.
7863 * libgnat/s-imgllu.adb: Likewise.
7864 * libgnat/s-imgllu.ads: Likewise.
7865 * libgnat/s-imgllw.adb: Likewise.
7866 * libgnat/s-imgllw.ads: Likewise.
7867 * libgnat/s-imgrea.adb: Likewise.
7868 * libgnat/s-imgrea.ads: Likewise.
7869 * libgnat/s-imguns.adb: Likewise.
7870 * libgnat/s-imguns.ads: Likewise.
7871 * libgnat/s-imguti.adb: Likewise.
7872 * libgnat/s-imguti.ads: Likewise.
7873 * libgnat/s-imgwch.adb: Likewise.
7874 * libgnat/s-imgwch.ads: Likewise.
7875 * libgnat/s-imgwiu.adb: Likewise.
7876 * libgnat/s-imgwiu.ads: Likewise.
7877 * libgnat/s-io.adb: Likewise.
7878 * libgnat/s-io.ads: Likewise.
7879 * libgnat/s-llflex.ads: Likewise.
7880 * libgnat/s-maccod.ads: Likewise.
7881 * libgnat/s-mantis.adb: Likewise.
7882 * libgnat/s-mantis.ads: Likewise.
7883 * libgnat/s-mastop.adb: Likewise.
7884 * libgnat/s-mastop.ads: Likewise.
7885 * libgnat/s-memcop.ads: Likewise.
7886 * libgnat/s-memory.adb: Likewise.
7887 * libgnat/s-memory.ads: Likewise.
7888 * libgnat/s-mmap.adb: Likewise.
7889 * libgnat/s-mmap.ads: Likewise.
7890 * libgnat/s-mmauni__long.ads: Likewise.
7891 * libgnat/s-mmosin__mingw.adb: Likewise.
7892 * libgnat/s-mmosin__mingw.ads: Likewise.
7893 * libgnat/s-mmosin__unix.adb: Likewise.
7894 * libgnat/s-mmosin__unix.ads: Likewise.
7895 * libgnat/s-multip.adb: Likewise.
7896 * libgnat/s-objrea.adb: Likewise.
7897 * libgnat/s-objrea.ads: Likewise.
7898 * libgnat/s-optide.adb: Likewise.
7899 * libgnat/s-os_lib.adb: Likewise.
7900 * libgnat/s-os_lib.ads: Likewise.
7901 * libgnat/s-osprim.ads: Likewise.
7902 * libgnat/s-osprim__darwin.adb: Likewise.
7903 * libgnat/s-osprim__lynxos.ads: Likewise.
7904 * libgnat/s-osprim__mingw.adb: Likewise.
7905 * libgnat/s-osprim__posix.adb: Likewise.
7906 * libgnat/s-osprim__posix2008.adb: Likewise.
7907 * libgnat/s-osprim__rtems.adb: Likewise.
7908 * libgnat/s-osprim__solaris.adb: Likewise.
7909 * libgnat/s-osprim__unix.adb: Likewise.
7910 * libgnat/s-osprim__x32.adb: Likewise.
7911 * libgnat/s-pack03.adb: Likewise.
7912 * libgnat/s-pack03.ads: Likewise.
7913 * libgnat/s-pack05.adb: Likewise.
7914 * libgnat/s-pack05.ads: Likewise.
7915 * libgnat/s-pack06.adb: Likewise.
7916 * libgnat/s-pack06.ads: Likewise.
7917 * libgnat/s-pack07.adb: Likewise.
7918 * libgnat/s-pack07.ads: Likewise.
7919 * libgnat/s-pack09.adb: Likewise.
7920 * libgnat/s-pack09.ads: Likewise.
7921 * libgnat/s-pack10.adb: Likewise.
7922 * libgnat/s-pack10.ads: Likewise.
7923 * libgnat/s-pack100.adb: Likewise.
7924 * libgnat/s-pack100.ads: Likewise.
7925 * libgnat/s-pack101.adb: Likewise.
7926 * libgnat/s-pack101.ads: Likewise.
7927 * libgnat/s-pack102.adb: Likewise.
7928 * libgnat/s-pack102.ads: Likewise.
7929 * libgnat/s-pack103.adb: Likewise.
7930 * libgnat/s-pack103.ads: Likewise.
7931 * libgnat/s-pack104.adb: Likewise.
7932 * libgnat/s-pack104.ads: Likewise.
7933 * libgnat/s-pack105.adb: Likewise.
7934 * libgnat/s-pack105.ads: Likewise.
7935 * libgnat/s-pack106.adb: Likewise.
7936 * libgnat/s-pack106.ads: Likewise.
7937 * libgnat/s-pack107.adb: Likewise.
7938 * libgnat/s-pack107.ads: Likewise.
7939 * libgnat/s-pack108.adb: Likewise.
7940 * libgnat/s-pack108.ads: Likewise.
7941 * libgnat/s-pack109.adb: Likewise.
7942 * libgnat/s-pack109.ads: Likewise.
7943 * libgnat/s-pack11.adb: Likewise.
7944 * libgnat/s-pack11.ads: Likewise.
7945 * libgnat/s-pack110.adb: Likewise.
7946 * libgnat/s-pack110.ads: Likewise.
7947 * libgnat/s-pack111.adb: Likewise.
7948 * libgnat/s-pack111.ads: Likewise.
7949 * libgnat/s-pack112.adb: Likewise.
7950 * libgnat/s-pack112.ads: Likewise.
7951 * libgnat/s-pack113.adb: Likewise.
7952 * libgnat/s-pack113.ads: Likewise.
7953 * libgnat/s-pack114.adb: Likewise.
7954 * libgnat/s-pack114.ads: Likewise.
7955 * libgnat/s-pack115.adb: Likewise.
7956 * libgnat/s-pack115.ads: Likewise.
7957 * libgnat/s-pack116.adb: Likewise.
7958 * libgnat/s-pack116.ads: Likewise.
7959 * libgnat/s-pack117.adb: Likewise.
7960 * libgnat/s-pack117.ads: Likewise.
7961 * libgnat/s-pack118.adb: Likewise.
7962 * libgnat/s-pack118.ads: Likewise.
7963 * libgnat/s-pack119.adb: Likewise.
7964 * libgnat/s-pack119.ads: Likewise.
7965 * libgnat/s-pack12.adb: Likewise.
7966 * libgnat/s-pack12.ads: Likewise.
7967 * libgnat/s-pack120.adb: Likewise.
7968 * libgnat/s-pack120.ads: Likewise.
7969 * libgnat/s-pack121.adb: Likewise.
7970 * libgnat/s-pack121.ads: Likewise.
7971 * libgnat/s-pack122.adb: Likewise.
7972 * libgnat/s-pack122.ads: Likewise.
7973 * libgnat/s-pack123.adb: Likewise.
7974 * libgnat/s-pack123.ads: Likewise.
7975 * libgnat/s-pack124.adb: Likewise.
7976 * libgnat/s-pack124.ads: Likewise.
7977 * libgnat/s-pack125.adb: Likewise.
7978 * libgnat/s-pack125.ads: Likewise.
7979 * libgnat/s-pack126.adb: Likewise.
7980 * libgnat/s-pack126.ads: Likewise.
7981 * libgnat/s-pack127.adb: Likewise.
7982 * libgnat/s-pack127.ads: Likewise.
7983 * libgnat/s-pack13.adb: Likewise.
7984 * libgnat/s-pack13.ads: Likewise.
7985 * libgnat/s-pack14.adb: Likewise.
7986 * libgnat/s-pack14.ads: Likewise.
7987 * libgnat/s-pack15.adb: Likewise.
7988 * libgnat/s-pack15.ads: Likewise.
7989 * libgnat/s-pack17.adb: Likewise.
7990 * libgnat/s-pack17.ads: Likewise.
7991 * libgnat/s-pack18.adb: Likewise.
7992 * libgnat/s-pack18.ads: Likewise.
7993 * libgnat/s-pack19.adb: Likewise.
7994 * libgnat/s-pack19.ads: Likewise.
7995 * libgnat/s-pack20.adb: Likewise.
7996 * libgnat/s-pack20.ads: Likewise.
7997 * libgnat/s-pack21.adb: Likewise.
7998 * libgnat/s-pack21.ads: Likewise.
7999 * libgnat/s-pack22.adb: Likewise.
8000 * libgnat/s-pack22.ads: Likewise.
8001 * libgnat/s-pack23.adb: Likewise.
8002 * libgnat/s-pack23.ads: Likewise.
8003 * libgnat/s-pack24.adb: Likewise.
8004 * libgnat/s-pack24.ads: Likewise.
8005 * libgnat/s-pack25.adb: Likewise.
8006 * libgnat/s-pack25.ads: Likewise.
8007 * libgnat/s-pack26.adb: Likewise.
8008 * libgnat/s-pack26.ads: Likewise.
8009 * libgnat/s-pack27.adb: Likewise.
8010 * libgnat/s-pack27.ads: Likewise.
8011 * libgnat/s-pack28.adb: Likewise.
8012 * libgnat/s-pack28.ads: Likewise.
8013 * libgnat/s-pack29.adb: Likewise.
8014 * libgnat/s-pack29.ads: Likewise.
8015 * libgnat/s-pack30.adb: Likewise.
8016 * libgnat/s-pack30.ads: Likewise.
8017 * libgnat/s-pack31.adb: Likewise.
8018 * libgnat/s-pack31.ads: Likewise.
8019 * libgnat/s-pack33.adb: Likewise.
8020 * libgnat/s-pack33.ads: Likewise.
8021 * libgnat/s-pack34.adb: Likewise.
8022 * libgnat/s-pack34.ads: Likewise.
8023 * libgnat/s-pack35.adb: Likewise.
8024 * libgnat/s-pack35.ads: Likewise.
8025 * libgnat/s-pack36.adb: Likewise.
8026 * libgnat/s-pack36.ads: Likewise.
8027 * libgnat/s-pack37.adb: Likewise.
8028 * libgnat/s-pack37.ads: Likewise.
8029 * libgnat/s-pack38.adb: Likewise.
8030 * libgnat/s-pack38.ads: Likewise.
8031 * libgnat/s-pack39.adb: Likewise.
8032 * libgnat/s-pack39.ads: Likewise.
8033 * libgnat/s-pack40.adb: Likewise.
8034 * libgnat/s-pack40.ads: Likewise.
8035 * libgnat/s-pack41.adb: Likewise.
8036 * libgnat/s-pack41.ads: Likewise.
8037 * libgnat/s-pack42.adb: Likewise.
8038 * libgnat/s-pack42.ads: Likewise.
8039 * libgnat/s-pack43.adb: Likewise.
8040 * libgnat/s-pack43.ads: Likewise.
8041 * libgnat/s-pack44.adb: Likewise.
8042 * libgnat/s-pack44.ads: Likewise.
8043 * libgnat/s-pack45.adb: Likewise.
8044 * libgnat/s-pack45.ads: Likewise.
8045 * libgnat/s-pack46.adb: Likewise.
8046 * libgnat/s-pack46.ads: Likewise.
8047 * libgnat/s-pack47.adb: Likewise.
8048 * libgnat/s-pack47.ads: Likewise.
8049 * libgnat/s-pack48.adb: Likewise.
8050 * libgnat/s-pack48.ads: Likewise.
8051 * libgnat/s-pack49.adb: Likewise.
8052 * libgnat/s-pack49.ads: Likewise.
8053 * libgnat/s-pack50.adb: Likewise.
8054 * libgnat/s-pack50.ads: Likewise.
8055 * libgnat/s-pack51.adb: Likewise.
8056 * libgnat/s-pack51.ads: Likewise.
8057 * libgnat/s-pack52.adb: Likewise.
8058 * libgnat/s-pack52.ads: Likewise.
8059 * libgnat/s-pack53.adb: Likewise.
8060 * libgnat/s-pack53.ads: Likewise.
8061 * libgnat/s-pack54.adb: Likewise.
8062 * libgnat/s-pack54.ads: Likewise.
8063 * libgnat/s-pack55.adb: Likewise.
8064 * libgnat/s-pack55.ads: Likewise.
8065 * libgnat/s-pack56.adb: Likewise.
8066 * libgnat/s-pack56.ads: Likewise.
8067 * libgnat/s-pack57.adb: Likewise.
8068 * libgnat/s-pack57.ads: Likewise.
8069 * libgnat/s-pack58.adb: Likewise.
8070 * libgnat/s-pack58.ads: Likewise.
8071 * libgnat/s-pack59.adb: Likewise.
8072 * libgnat/s-pack59.ads: Likewise.
8073 * libgnat/s-pack60.adb: Likewise.
8074 * libgnat/s-pack60.ads: Likewise.
8075 * libgnat/s-pack61.adb: Likewise.
8076 * libgnat/s-pack61.ads: Likewise.
8077 * libgnat/s-pack62.adb: Likewise.
8078 * libgnat/s-pack62.ads: Likewise.
8079 * libgnat/s-pack63.adb: Likewise.
8080 * libgnat/s-pack63.ads: Likewise.
8081 * libgnat/s-pack65.adb: Likewise.
8082 * libgnat/s-pack65.ads: Likewise.
8083 * libgnat/s-pack66.adb: Likewise.
8084 * libgnat/s-pack66.ads: Likewise.
8085 * libgnat/s-pack67.adb: Likewise.
8086 * libgnat/s-pack67.ads: Likewise.
8087 * libgnat/s-pack68.adb: Likewise.
8088 * libgnat/s-pack68.ads: Likewise.
8089 * libgnat/s-pack69.adb: Likewise.
8090 * libgnat/s-pack69.ads: Likewise.
8091 * libgnat/s-pack70.adb: Likewise.
8092 * libgnat/s-pack70.ads: Likewise.
8093 * libgnat/s-pack71.adb: Likewise.
8094 * libgnat/s-pack71.ads: Likewise.
8095 * libgnat/s-pack72.adb: Likewise.
8096 * libgnat/s-pack72.ads: Likewise.
8097 * libgnat/s-pack73.adb: Likewise.
8098 * libgnat/s-pack73.ads: Likewise.
8099 * libgnat/s-pack74.adb: Likewise.
8100 * libgnat/s-pack74.ads: Likewise.
8101 * libgnat/s-pack75.adb: Likewise.
8102 * libgnat/s-pack75.ads: Likewise.
8103 * libgnat/s-pack76.adb: Likewise.
8104 * libgnat/s-pack76.ads: Likewise.
8105 * libgnat/s-pack77.adb: Likewise.
8106 * libgnat/s-pack77.ads: Likewise.
8107 * libgnat/s-pack78.adb: Likewise.
8108 * libgnat/s-pack78.ads: Likewise.
8109 * libgnat/s-pack79.adb: Likewise.
8110 * libgnat/s-pack79.ads: Likewise.
8111 * libgnat/s-pack80.adb: Likewise.
8112 * libgnat/s-pack80.ads: Likewise.
8113 * libgnat/s-pack81.adb: Likewise.
8114 * libgnat/s-pack81.ads: Likewise.
8115 * libgnat/s-pack82.adb: Likewise.
8116 * libgnat/s-pack82.ads: Likewise.
8117 * libgnat/s-pack83.adb: Likewise.
8118 * libgnat/s-pack83.ads: Likewise.
8119 * libgnat/s-pack84.adb: Likewise.
8120 * libgnat/s-pack84.ads: Likewise.
8121 * libgnat/s-pack85.adb: Likewise.
8122 * libgnat/s-pack85.ads: Likewise.
8123 * libgnat/s-pack86.adb: Likewise.
8124 * libgnat/s-pack86.ads: Likewise.
8125 * libgnat/s-pack87.adb: Likewise.
8126 * libgnat/s-pack87.ads: Likewise.
8127 * libgnat/s-pack88.adb: Likewise.
8128 * libgnat/s-pack88.ads: Likewise.
8129 * libgnat/s-pack89.adb: Likewise.
8130 * libgnat/s-pack89.ads: Likewise.
8131 * libgnat/s-pack90.adb: Likewise.
8132 * libgnat/s-pack90.ads: Likewise.
8133 * libgnat/s-pack91.adb: Likewise.
8134 * libgnat/s-pack91.ads: Likewise.
8135 * libgnat/s-pack92.adb: Likewise.
8136 * libgnat/s-pack92.ads: Likewise.
8137 * libgnat/s-pack93.adb: Likewise.
8138 * libgnat/s-pack93.ads: Likewise.
8139 * libgnat/s-pack94.adb: Likewise.
8140 * libgnat/s-pack94.ads: Likewise.
8141 * libgnat/s-pack95.adb: Likewise.
8142 * libgnat/s-pack95.ads: Likewise.
8143 * libgnat/s-pack96.adb: Likewise.
8144 * libgnat/s-pack96.ads: Likewise.
8145 * libgnat/s-pack97.adb: Likewise.
8146 * libgnat/s-pack97.ads: Likewise.
8147 * libgnat/s-pack98.adb: Likewise.
8148 * libgnat/s-pack98.ads: Likewise.
8149 * libgnat/s-pack99.adb: Likewise.
8150 * libgnat/s-pack99.ads: Likewise.
8151 * libgnat/s-parame.adb: Likewise.
8152 * libgnat/s-parame.ads: Likewise.
8153 * libgnat/s-parame__hpux.ads: Likewise.
8154 * libgnat/s-parame__posix2008.ads: Likewise.
8155 * libgnat/s-parame__rtems.adb: Likewise.
8156 * libgnat/s-parame__vxworks.adb: Likewise.
8157 * libgnat/s-parame__vxworks.ads: Likewise.
8158 * libgnat/s-parint.adb: Likewise.
8159 * libgnat/s-parint.ads: Likewise.
8160 * libgnat/s-pehage.adb: Likewise.
8161 * libgnat/s-pehage.ads: Likewise.
8162 * libgnat/s-pooglo.adb: Likewise.
8163 * libgnat/s-pooglo.ads: Likewise.
8164 * libgnat/s-pooloc.adb: Likewise.
8165 * libgnat/s-pooloc.ads: Likewise.
8166 * libgnat/s-poosiz.adb: Likewise.
8167 * libgnat/s-poosiz.ads: Likewise.
8168 * libgnat/s-powflt.ads: Likewise.
8169 * libgnat/s-powlfl.ads: Likewise.
8170 * libgnat/s-powllf.ads: Likewise.
8171 * libgnat/s-purexc.ads: Likewise.
8172 * libgnat/s-putima.adb: Likewise.
8173 * libgnat/s-putima.ads: Likewise.
8174 * libgnat/s-rannum.adb: Likewise.
8175 * libgnat/s-rannum.ads: Likewise.
8176 * libgnat/s-ransee.adb: Likewise.
8177 * libgnat/s-ransee.ads: Likewise.
8178 * libgnat/s-regexp.adb: Likewise.
8179 * libgnat/s-regexp.ads: Likewise.
8180 * libgnat/s-regpat.adb: Likewise.
8181 * libgnat/s-regpat.ads: Likewise.
8182 * libgnat/s-resfil.adb: Likewise.
8183 * libgnat/s-resfil.ads: Likewise.
8184 * libgnat/s-restri.adb: Likewise.
8185 * libgnat/s-restri.ads: Likewise.
8186 * libgnat/s-rident.ads: Likewise.
8187 * libgnat/s-rpc.adb: Likewise.
8188 * libgnat/s-rpc.ads: Likewise.
8189 * libgnat/s-scaval.adb: Likewise.
8190 * libgnat/s-scaval.ads: Likewise.
8191 * libgnat/s-scaval__128.adb: Likewise.
8192 * libgnat/s-scaval__128.ads: Likewise.
8193 * libgnat/s-secsta.adb: Likewise.
8194 * libgnat/s-secsta.ads: Likewise.
8195 * libgnat/s-sequio.adb: Likewise.
8196 * libgnat/s-sequio.ads: Likewise.
8197 * libgnat/s-shabig.ads: Likewise.
8198 * libgnat/s-shasto.adb: Likewise.
8199 * libgnat/s-shasto.ads: Likewise.
8200 * libgnat/s-soflin.adb: Likewise.
8201 * libgnat/s-soflin.ads: Likewise.
8202 * libgnat/s-soliin.adb: Likewise.
8203 * libgnat/s-soliin.ads: Likewise.
8204 * libgnat/s-spsufi.adb: Likewise.
8205 * libgnat/s-spsufi.ads: Likewise.
8206 * libgnat/s-stache.adb: Likewise.
8207 * libgnat/s-stache.ads: Likewise.
8208 * libgnat/s-stalib.adb: Likewise.
8209 * libgnat/s-stalib.ads: Likewise.
8210 * libgnat/s-statxd.adb: Likewise.
8211 * libgnat/s-statxd.ads: Likewise.
8212 * libgnat/s-stausa.adb: Likewise.
8213 * libgnat/s-stausa.ads: Likewise.
8214 * libgnat/s-stchop.adb: Likewise.
8215 * libgnat/s-stchop.ads: Likewise.
8216 * libgnat/s-stchop__limit.ads: Likewise.
8217 * libgnat/s-stchop__vxworks.adb: Likewise.
8218 * libgnat/s-stoele.adb: Likewise.
8219 * libgnat/s-stoele.ads: Likewise.
8220 * libgnat/s-stopoo.adb: Likewise.
8221 * libgnat/s-stopoo.ads: Likewise.
8222 * libgnat/s-stposu.adb: Likewise.
8223 * libgnat/s-stposu.ads: Likewise.
8224 * libgnat/s-stratt.adb: Likewise.
8225 * libgnat/s-stratt.ads: Likewise.
8226 * libgnat/s-strcom.adb: Likewise.
8227 * libgnat/s-strcom.ads: Likewise.
8228 * libgnat/s-strhas.adb: Likewise.
8229 * libgnat/s-strhas.ads: Likewise.
8230 * libgnat/s-string.adb: Likewise.
8231 * libgnat/s-string.ads: Likewise.
8232 * libgnat/s-ststop.adb: Likewise.
8233 * libgnat/s-ststop.ads: Likewise.
8234 * libgnat/s-tasloc.adb: Likewise.
8235 * libgnat/s-tasloc.ads: Likewise.
8236 * libgnat/s-traceb.adb: Likewise.
8237 * libgnat/s-traceb.ads: Likewise.
8238 * libgnat/s-traceb__hpux.adb: Likewise.
8239 * libgnat/s-traceb__mastop.adb: Likewise.
8240 * libgnat/s-traent.adb: Likewise.
8241 * libgnat/s-traent.ads: Likewise.
8242 * libgnat/s-trasym.adb: Likewise.
8243 * libgnat/s-trasym.ads: Likewise.
8244 * libgnat/s-trasym__dwarf.adb: Likewise.
8245 * libgnat/s-tsmona.adb: Likewise.
8246 * libgnat/s-tsmona__linux.adb: Likewise.
8247 * libgnat/s-tsmona__mingw.adb: Likewise.
8248 * libgnat/s-unstyp.ads: Likewise.
8249 * libgnat/s-utf_32.adb: Likewise.
8250 * libgnat/s-utf_32.ads: Likewise.
8251 * libgnat/s-vade128.ads: Likewise.
8252 * libgnat/s-vade32.ads: Likewise.
8253 * libgnat/s-vade64.ads: Likewise.
8254 * libgnat/s-vaen16.ads: Likewise.
8255 * libgnat/s-vaen32.ads: Likewise.
8256 * libgnat/s-vaenu8.ads: Likewise.
8257 * libgnat/s-vafi128.ads: Likewise.
8258 * libgnat/s-vafi32.ads: Likewise.
8259 * libgnat/s-vafi64.ads: Likewise.
8260 * libgnat/s-valboo.adb: Likewise.
8261 * libgnat/s-valboo.ads: Likewise.
8262 * libgnat/s-valcha.adb: Likewise.
8263 * libgnat/s-valcha.ads: Likewise.
8264 * libgnat/s-valflt.ads: Likewise.
8265 * libgnat/s-valint.adb: Likewise.
8266 * libgnat/s-valint.ads: Likewise.
8267 * libgnat/s-vallfl.ads: Likewise.
8268 * libgnat/s-valllf.ads: Likewise.
8269 * libgnat/s-vallli.adb: Likewise.
8270 * libgnat/s-vallli.ads: Likewise.
8271 * libgnat/s-valllli.ads: Likewise.
8272 * libgnat/s-vallllu.ads: Likewise.
8273 * libgnat/s-valllu.adb: Likewise.
8274 * libgnat/s-valllu.ads: Likewise.
8275 * libgnat/s-valrea.adb: Likewise.
8276 * libgnat/s-valrea.ads: Likewise.
8277 * libgnat/s-valued.adb: Likewise.
8278 * libgnat/s-valued.ads: Likewise.
8279 * libgnat/s-valuef.adb: Likewise.
8280 * libgnat/s-valuef.ads: Likewise.
8281 * libgnat/s-valuei.adb: Likewise.
8282 * libgnat/s-valuei.ads: Likewise.
8283 * libgnat/s-valuen.adb: Likewise.
8284 * libgnat/s-valuen.ads: Likewise.
8285 * libgnat/s-valuer.adb: Likewise.
8286 * libgnat/s-valuer.ads: Likewise.
8287 * libgnat/s-valueu.adb: Likewise.
8288 * libgnat/s-valueu.ads: Likewise.
8289 * libgnat/s-valuns.adb: Likewise.
8290 * libgnat/s-valuns.ads: Likewise.
8291 * libgnat/s-valuti.adb: Likewise.
8292 * libgnat/s-valuti.ads: Likewise.
8293 * libgnat/s-valwch.adb: Likewise.
8294 * libgnat/s-valwch.ads: Likewise.
8295 * libgnat/s-veboop.adb: Likewise.
8296 * libgnat/s-veboop.ads: Likewise.
8297 * libgnat/s-vector.ads: Likewise.
8298 * libgnat/s-vercon.adb: Likewise.
8299 * libgnat/s-vercon.ads: Likewise.
8300 * libgnat/s-wchcnv.adb: Likewise.
8301 * libgnat/s-wchcnv.ads: Likewise.
8302 * libgnat/s-wchcon.adb: Likewise.
8303 * libgnat/s-wchcon.ads: Likewise.
8304 * libgnat/s-wchjis.adb: Likewise.
8305 * libgnat/s-wchjis.ads: Likewise.
8306 * libgnat/s-wchstw.adb: Likewise.
8307 * libgnat/s-wchstw.ads: Likewise.
8308 * libgnat/s-wchwts.adb: Likewise.
8309 * libgnat/s-wchwts.ads: Likewise.
8310 * libgnat/s-widboo.adb: Likewise.
8311 * libgnat/s-widboo.ads: Likewise.
8312 * libgnat/s-widcha.adb: Likewise.
8313 * libgnat/s-widcha.ads: Likewise.
8314 * libgnat/s-widenu.adb: Likewise.
8315 * libgnat/s-widenu.ads: Likewise.
8316 * libgnat/s-widint.ads: Likewise.
8317 * libgnat/s-widlli.adb: Likewise.
8318 * libgnat/s-widlli.ads: Likewise.
8319 * libgnat/s-widllli.ads: Likewise.
8320 * libgnat/s-widlllu.ads: Likewise.
8321 * libgnat/s-widllu.adb: Likewise.
8322 * libgnat/s-widllu.ads: Likewise.
8323 * libgnat/s-widthi.adb: Likewise.
8324 * libgnat/s-widthi.ads: Likewise.
8325 * libgnat/s-widthu.adb: Likewise.
8326 * libgnat/s-widthu.ads: Likewise.
8327 * libgnat/s-widuns.ads: Likewise.
8328 * libgnat/s-widwch.adb: Likewise.
8329 * libgnat/s-widwch.ads: Likewise.
8330 * libgnat/s-win32.ads: Likewise.
8331 * libgnat/s-winext.ads: Likewise.
8332 * libgnat/s-wwdcha.adb: Likewise.
8333 * libgnat/s-wwdcha.ads: Likewise.
8334 * libgnat/s-wwdenu.adb: Likewise.
8335 * libgnat/s-wwdenu.ads: Likewise.
8336 * libgnat/s-wwdwch.adb: Likewise.
8337 * libgnat/s-wwdwch.ads: Likewise.
8338 * libgnat/system-aix.ads: Likewise.
8339 * libgnat/system-darwin-arm.ads: Likewise.
8340 * libgnat/system-darwin-ppc.ads: Likewise.
8341 * libgnat/system-darwin-x86.ads: Likewise.
8342 * libgnat/system-djgpp.ads: Likewise.
8343 * libgnat/system-dragonfly-x86_64.ads: Likewise.
8344 * libgnat/system-freebsd.ads: Likewise.
8345 * libgnat/system-hpux-ia64.ads: Likewise.
8346 * libgnat/system-hpux.ads: Likewise.
8347 * libgnat/system-linux-alpha.ads: Likewise.
8348 * libgnat/system-linux-arm.ads: Likewise.
8349 * libgnat/system-linux-hppa.ads: Likewise.
8350 * libgnat/system-linux-ia64.ads: Likewise.
8351 * libgnat/system-linux-m68k.ads: Likewise.
8352 * libgnat/system-linux-mips.ads: Likewise.
8353 * libgnat/system-linux-ppc.ads: Likewise.
8354 * libgnat/system-linux-riscv.ads: Likewise.
8355 * libgnat/system-linux-s390.ads: Likewise.
8356 * libgnat/system-linux-sh4.ads: Likewise.
8357 * libgnat/system-linux-sparc.ads: Likewise.
8358 * libgnat/system-linux-x86.ads: Likewise.
8359 * libgnat/system-lynxos178-ppc.ads: Likewise.
8360 * libgnat/system-lynxos178-x86.ads: Likewise.
8361 * libgnat/system-mingw.ads: Likewise.
8362 * libgnat/system-qnx-aarch64.ads: Likewise.
8363 * libgnat/system-rtems.ads: Likewise.
8364 * libgnat/system-solaris-sparc.ads: Likewise.
8365 * libgnat/system-solaris-x86.ads: Likewise.
8366 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
8367 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
8368 * libgnat/system-vxworks-arm.ads: Likewise.
8369 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
8370 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
8371 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
8372 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
8373 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
8374 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
8375 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
8376 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
8377 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
8378 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
8379 * libgnat/system-vxworks7-aarch64.ads: Likewise.
8380 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
8381 * libgnat/system-vxworks7-arm.ads: Likewise.
8382 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
8383 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
8384 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
8385 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
8386 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
8387 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
8388 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
8389 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
8390 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
8391 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
8392 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
8393 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
8394 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
8395 * link.c: Likewise.
8396 * live.adb: Likewise.
8397 * live.ads: Likewise.
8398 * locales.c: Likewise.
8399 * make.adb: Likewise.
8400 * make.ads: Likewise.
8401 * make_util.adb: Likewise.
8402 * make_util.ads: Likewise.
8403 * makeusg.adb: Likewise.
8404 * makeusg.ads: Likewise.
8405 * mdll-fil.adb: Likewise.
8406 * mdll-fil.ads: Likewise.
8407 * mdll-utl.adb: Likewise.
8408 * mdll-utl.ads: Likewise.
8409 * mdll.adb: Likewise.
8410 * mdll.ads: Likewise.
8411 * mingw32.h: Likewise.
8412 * mkdir.c: Likewise.
8413 * namet-sp.adb: Likewise.
8414 * namet-sp.ads: Likewise.
8415 * namet.adb: Likewise.
8416 * namet.ads: Likewise.
8417 * namet.h: Likewise.
8418 * nlists.adb: Likewise.
8419 * nlists.ads: Likewise.
8420 * nlists.h: Likewise.
8421 * opt.adb: Likewise.
8422 * opt.ads: Likewise.
8423 * osint-b.adb: Likewise.
8424 * osint-b.ads: Likewise.
8425 * osint-c.adb: Likewise.
8426 * osint-c.ads: Likewise.
8427 * osint-l.adb: Likewise.
8428 * osint-l.ads: Likewise.
8429 * osint-m.adb: Likewise.
8430 * osint-m.ads: Likewise.
8431 * osint.adb: Likewise.
8432 * osint.ads: Likewise.
8433 * output.adb: Likewise.
8434 * output.ads: Likewise.
8435 * par-ch10.adb: Likewise.
8436 * par-ch11.adb: Likewise.
8437 * par-ch12.adb: Likewise.
8438 * par-ch13.adb: Likewise.
8439 * par-ch2.adb: Likewise.
8440 * par-ch3.adb: Likewise.
8441 * par-ch4.adb: Likewise.
8442 * par-ch5.adb: Likewise.
8443 * par-ch6.adb: Likewise.
8444 * par-ch7.adb: Likewise.
8445 * par-ch8.adb: Likewise.
8446 * par-ch9.adb: Likewise.
8447 * par-endh.adb: Likewise.
8448 * par-labl.adb: Likewise.
8449 * par-load.adb: Likewise.
8450 * par-prag.adb: Likewise.
8451 * par-sync.adb: Likewise.
8452 * par-tchk.adb: Likewise.
8453 * par-util.adb: Likewise.
8454 * par.adb: Likewise.
8455 * par.ads: Likewise.
8456 * par_sco.adb: Likewise.
8457 * par_sco.ads: Likewise.
8458 * pprint.adb: Likewise.
8459 * pprint.ads: Likewise.
8460 * prep.adb: Likewise.
8461 * prep.ads: Likewise.
8462 * prepcomp.adb: Likewise.
8463 * prepcomp.ads: Likewise.
8464 * put_scos.adb: Likewise.
8465 * put_scos.ads: Likewise.
8466 * raise-gcc.c: Likewise.
8467 * raise.c: Likewise.
8468 * raise.h: Likewise.
8469 * repinfo-input.adb: Likewise.
8470 * repinfo-input.ads: Likewise.
8471 * repinfo.adb: Likewise.
8472 * repinfo.ads: Likewise.
8473 * repinfo.h: Likewise.
8474 * restrict.adb: Likewise.
8475 * restrict.ads: Likewise.
8476 * rident.ads: Likewise.
8477 * rtfinal.c: Likewise.
8478 * rtinit.c: Likewise.
8479 * rtsfind.adb: Likewise.
8480 * rtsfind.ads: Likewise.
8481 * runtime.h: Likewise.
8482 * s-oscons-tmplt.c: Likewise.
8483 * sa_messages.adb: Likewise.
8484 * sa_messages.ads: Likewise.
8485 * scans.adb: Likewise.
8486 * scans.ads: Likewise.
8487 * scil_ll.adb: Likewise.
8488 * scil_ll.ads: Likewise.
8489 * scn.adb: Likewise.
8490 * scn.ads: Likewise.
8491 * scng.adb: Likewise.
8492 * scng.ads: Likewise.
8493 * scos.adb: Likewise.
8494 * scos.ads: Likewise.
8495 * scos.h: Likewise.
8496 * sdefault.ads: Likewise.
8497 * seh_init.c: Likewise.
8498 * sem.adb: Likewise.
8499 * sem.ads: Likewise.
8500 * sem_aggr.adb: Likewise.
8501 * sem_aggr.ads: Likewise.
8502 * sem_attr.adb: Likewise.
8503 * sem_attr.ads: Likewise.
8504 * sem_aux.adb: Likewise.
8505 * sem_aux.ads: Likewise.
8506 * sem_case.adb: Likewise.
8507 * sem_case.ads: Likewise.
8508 * sem_cat.adb: Likewise.
8509 * sem_cat.ads: Likewise.
8510 * sem_ch10.adb: Likewise.
8511 * sem_ch10.ads: Likewise.
8512 * sem_ch11.adb: Likewise.
8513 * sem_ch11.ads: Likewise.
8514 * sem_ch12.adb: Likewise.
8515 * sem_ch12.ads: Likewise.
8516 * sem_ch13.adb: Likewise.
8517 * sem_ch13.ads: Likewise.
8518 * sem_ch2.adb: Likewise.
8519 * sem_ch2.ads: Likewise.
8520 * sem_ch3.adb: Likewise.
8521 * sem_ch3.ads: Likewise.
8522 * sem_ch4.adb: Likewise.
8523 * sem_ch4.ads: Likewise.
8524 * sem_ch5.adb: Likewise.
8525 * sem_ch5.ads: Likewise.
8526 * sem_ch6.adb: Likewise.
8527 * sem_ch6.ads: Likewise.
8528 * sem_ch7.adb: Likewise.
8529 * sem_ch7.ads: Likewise.
8530 * sem_ch8.adb: Likewise.
8531 * sem_ch8.ads: Likewise.
8532 * sem_ch9.adb: Likewise.
8533 * sem_ch9.ads: Likewise.
8534 * sem_dim.adb: Likewise.
8535 * sem_dim.ads: Likewise.
8536 * sem_disp.adb: Likewise.
8537 * sem_disp.ads: Likewise.
8538 * sem_dist.adb: Likewise.
8539 * sem_dist.ads: Likewise.
8540 * sem_elab.adb: Likewise.
8541 * sem_elab.ads: Likewise.
8542 * sem_elim.adb: Likewise.
8543 * sem_elim.ads: Likewise.
8544 * sem_eval.adb: Likewise.
8545 * sem_eval.ads: Likewise.
8546 * sem_intr.adb: Likewise.
8547 * sem_intr.ads: Likewise.
8548 * sem_mech.adb: Likewise.
8549 * sem_mech.ads: Likewise.
8550 * sem_prag.adb: Likewise.
8551 * sem_prag.ads: Likewise.
8552 * sem_res.adb: Likewise.
8553 * sem_res.ads: Likewise.
8554 * sem_scil.adb: Likewise.
8555 * sem_scil.ads: Likewise.
8556 * sem_smem.adb: Likewise.
8557 * sem_smem.ads: Likewise.
8558 * sem_type.adb: Likewise.
8559 * sem_type.ads: Likewise.
8560 * sem_util.adb: Likewise.
8561 * sem_util.ads: Likewise.
8562 * sem_warn.adb: Likewise.
8563 * sem_warn.ads: Likewise.
8564 * set_targ.adb: Likewise.
8565 * set_targ.ads: Likewise.
8566 * sfn_scan.adb: Likewise.
8567 * sfn_scan.ads: Likewise.
8568 * sigtramp-armdroid.c: Likewise.
8569 * sigtramp-ios.c: Likewise.
8570 * sigtramp-qnx.c: Likewise.
8571 * sigtramp-vxworks-target.h: Likewise.
8572 * sigtramp-vxworks.c: Likewise.
8573 * sigtramp.h: Likewise.
8574 * sinfo-cn.adb: Likewise.
8575 * sinfo-cn.ads: Likewise.
8576 * sinfo-utils.adb: Likewise.
8577 * sinfo-utils.ads: Likewise.
8578 * sinfo.adb: Likewise.
8579 * sinfo.ads: Likewise.
8580 * sinput-c.adb: Likewise.
8581 * sinput-c.ads: Likewise.
8582 * sinput-d.adb: Likewise.
8583 * sinput-d.ads: Likewise.
8584 * sinput-l.adb: Likewise.
8585 * sinput-l.ads: Likewise.
8586 * sinput.adb: Likewise.
8587 * sinput.ads: Likewise.
8588 * socket.c: Likewise.
8589 * spark_xrefs.adb: Likewise.
8590 * spark_xrefs.ads: Likewise.
8591 * sprint.adb: Likewise.
8592 * sprint.ads: Likewise.
8593 * stand.ads: Likewise.
8594 * stringt.adb: Likewise.
8595 * stringt.ads: Likewise.
8596 * stringt.h: Likewise.
8597 * strub.adb: Likewise.
8598 * strub.ads: Likewise.
8599 * style.adb: Likewise.
8600 * style.ads: Likewise.
8601 * styleg.adb: Likewise.
8602 * styleg.ads: Likewise.
8603 * stylesw.adb: Likewise.
8604 * stylesw.ads: Likewise.
8605 * switch-b.adb: Likewise.
8606 * switch-b.ads: Likewise.
8607 * switch-c.adb: Likewise.
8608 * switch-c.ads: Likewise.
8609 * switch-m.adb: Likewise.
8610 * switch-m.ads: Likewise.
8611 * switch.adb: Likewise.
8612 * switch.ads: Likewise.
8613 * sysdep.c: Likewise.
8614 * table.adb: Likewise.
8615 * table.ads: Likewise.
8616 * targext.c: Likewise.
8617 * targparm.adb: Likewise.
8618 * targparm.ads: Likewise.
8619 * tbuild.adb: Likewise.
8620 * tbuild.ads: Likewise.
8621 * tempdir.adb: Likewise.
8622 * tempdir.ads: Likewise.
8623 * terminals.c: Likewise.
8624 * tracebak.c: Likewise.
8625 * treepr.adb: Likewise.
8626 * treepr.ads: Likewise.
8627 * ttypes.ads: Likewise.
8628 * types.adb: Likewise.
8629 * types.ads: Likewise.
8630 * types.h: Likewise.
8631 * uintp.adb: Likewise.
8632 * uintp.ads: Likewise.
8633 * uintp.h: Likewise.
8634 * uname.adb: Likewise.
8635 * uname.ads: Likewise.
8636 * urealp.adb: Likewise.
8637 * urealp.ads: Likewise.
8638 * urealp.h: Likewise.
8639 * usage.adb: Likewise.
8640 * usage.ads: Likewise.
8641 * validsw.adb: Likewise.
8642 * validsw.ads: Likewise.
8643 * vast.adb: Likewise.
8644 * vast.ads: Likewise.
8645 * warnsw.adb: Likewise.
8646 * warnsw.ads: Likewise.
8647 * widechar.adb: Likewise.
8648 * widechar.ads: Likewise.
8649 * xoscons.adb: Likewise.
8650 * xr_tabls.adb: Likewise.
8651 * xr_tabls.ads: Likewise.
8652 * xref_lib.adb: Likewise.
8653 * xref_lib.ads: Likewise.
8654 * xsnamest.adb: Likewise.
8655 * xutil.adb: Likewise.
8656 * xutil.ads: Likewise.
8657
86582022-01-11 Richard Kenner <kenner@adacore.com>
8659
8660 * debug.adb: Add documentation for new -gnatd_u and old -gnatd_R
8661 flags used for GNAT LLVM and its CCG.
8662
86632022-01-11 Piotr Trojanek <trojanek@adacore.com>
8664
8665 * Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of
8666 System.Atomic_Counters.
8667 * libgnat/s-atocou__x86.adb: Remove.
8668
d9450aa0
GA
86692022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8670
8671 * gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype.
8672 (elaborate_profile): New function.
8673 (Call_to_gnu): Call it on the formals and the result type before
8674 retrieving the translated result type from the subprogram type.
8675
86762022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8677
8678 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix
8679 computation of boolean result in the unchecked union case.
8680 (components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT
8681 and remove local variable of the same name. Pass NULL recursively
8682 as P_GNU_REP_LIST for nested variants in the unchecked union case.
8683
86842022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8685
8686 * gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case.
8687 <N_Pragma_Argument_Association>: Likewise.
8688 (Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding
8689 variable of a constant before marking it as addressable.
8690
86912022-01-10 Arnaud Charlet <charlet@adacore.com>
8692
8693 * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove
8694 s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?. Update list of object
8695 files accordingly.
8696
86972022-01-10 Piotr Trojanek <trojanek@adacore.com>
8698
8699 * libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces
8700 deprecated Sync_Compare_And_Swap.
8701 * libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync
8702 to __atomic builtins.
8703
87042022-01-10 Piotr Trojanek <trojanek@adacore.com>
8705
8706 * libgnat/s-exponn.adb, libgnat/s-expont.adb,
8707 libgnat/s-exponu.adb, libgnat/s-widthi.adb,
8708 libgnat/s-widthu.adb: Remove CodePeer annotations for pragma
8709 Loop_Variant.
8710
87112022-01-10 Piotr Trojanek <trojanek@adacore.com>
8712
8713 * exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion
8714 in CodePeer mode.
8715
87162022-01-10 Piotr Trojanek <trojanek@adacore.com>
8717
8718 * sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment.
8719
87202022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8721
8722 * exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply
8723 the canonical adjustment to its alignment.
8724
87252022-01-10 Piotr Trojanek <trojanek@adacore.com>
8726
8727 * libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch
8728 from __sync to __atomic builtins; use 'Address to be consistent
8729 with System.Atomic_Primitives.
8730
87312022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8732
8733 * exp_pakd.adb (Install_PAT): Do not reset the alignment here.
8734 * layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having
8735 copied the RM_Size onto the Esize when the latter is too small.
8736
87372022-01-10 Justin Squirek <squirek@adacore.com>
8738
8739 * sem_warn.adb (Check_References): Handle arrays of tasks
8740 similar to task objects.
8741
55e96bf9
GA
87422022-01-07 Patrick Bernardi <bernardi@adacore.com>
8743
8744 * libgnat/a-direct.adb (Search_Data): Remove type.
8745 (Directory_Vectors): New package instantiation.
8746 (Search_State): New type.
8747 (Fetch_Next_Entry): Remove.
8748 (Close): Remove.
8749 (Finalize): Rewritten.
8750 (Full_Name): Ditto.
8751 (Get_Next_Entry): Return next entry from Search results vector
8752 rather than querying the directory directly using readdir.
8753 (Kind): Rewritten.
8754 (Modification_Time): Rewritten.
8755 (More_Entries): Use Search state cursor to determine if more
8756 entries are available for users to read.
8757 (Simple_Name): Rewritten.
8758 (Size): Rewritten.
8759 (Start_Search_Internal): Rewritten to load the contents of the
8760 directory that matches the pattern and filter into the search
8761 object.
8762 * libgnat/a-direct.ads (Search_Type): New type.
8763 (Search_Ptr): Ditto.
8764 (Directory_Entry_Type): Rewritten to support new Start_Search
8765 procedure.
8766 * libgnat/s-filatt.ads (File_Length_Attr): New function.
8767
87682022-01-07 Etienne Servais <servais@adacore.com>
8769
8770 * sem_attr.adb (Check_Reference): Fix condition.
8771
87722022-01-07 Ghjuvan Lacambre <lacambre@adacore.com>
8773
8774 * libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma
8775 Unreferenced" for Result.
8776 (Timed_Delay): Likewise.
8777
87782022-01-07 Piotr Trojanek <trojanek@adacore.com>
8779
8780 * gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a
8781 dedicated line, so that the current indentation is taken into
8782 account.
8783
87842022-01-07 Piotr Trojanek <trojanek@adacore.com>
8785
8786 * exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style
8787 in comments and code.
8788
87892022-01-07 Piotr Trojanek <trojanek@adacore.com>
8790
8791 * exp_aggr.adb (Gen_Assign): Remove explicit initialization for
8792 components of access types.
8793 (Get_Assoc_Expr): Enable initialization for components of all
8794 types that require simple initialization.
8795
87962022-01-07 Javier Miranda <miranda@adacore.com>
8797
8798 * atree.ads (Traverse_Func_With_Parent): New generic subprogram.
8799 (Traverse_Proc_With_Parent): Likewise.
8800 * atree.adb (Parents_Stack): New table used to traverse trees
8801 passing the parent field of each node.
8802 (Internal_Traverse_With_Parent): New generic subprogram.
8803 (Traverse_Func_With_Parent): Likewise.
8804 (Traverse_Proc_With_Parent): Likewise.
8805 * contracts.adb (Fix_Parents): New subprogram.
8806 (Restore_Original_Selected_Component): Enhanced to fix the
8807 parent field of restored nodes.
8808 (Inherit_Condition): Adding assertions to check the parent field
8809 of inherited conditions and to ensure that the built inherited
8810 condition has no reference to the formals of the parent
8811 subprogram.
8812 * sem_util.ads, sem_util.adb (Check_Parents): New subprogram.
8813
88142022-01-07 Etienne Servais <servais@adacore.com>
8815
8816 * sem_attr.adb (Check_Placement_In_Test_Case): Fix typo.
8817
88182022-01-07 Justin Squirek <squirek@adacore.com>
8819
8820 * comperr.adb (Delete_SCIL_Files): Replace unnecessary
8821 Unreferenced pragma with specific pragma Warnings.
8822 * doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced):
8823 Add documentation for new behavior.
8824 * gnat_rm.texi: Regenerate.
8825 * erroutc.adb (Set_At): Remove useless assignment.
8826 * exp_ch2.adb (In_Assignment_Context): Deleted.
8827 (Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to
8828 Known_To_Be_Assigned.
8829 (Expand_Current_Value): Replace calls to May_Be_Lvalue with
8830 calls to Known_To_Be_Assigned.
8831 (Expand_Entry_Paramter): Replace calls to In_Assignment_Context
8832 with calls to Known_To_Be_Assigned.
8833 * exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced
8834 pragma.
8835 * exp_imgv.adb (Build_Enumeration_Image_Tables): Default
8836 initialize S_N.
8837 * ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue
8838 with call to Known_To_Be_Assigned.
8839 * lib-xref.adb (Is_On_LHS): Deleted.
8840 (OK_To_Set_Referenced): Rewrite subprogram to encompass the new
8841 pragma Unreferenced behavior.
8842 (Process_Deferred_References): Replace call to Is_LHS with call
8843 to Known_To_Be_Assigned.
8844 * libgnarl/s-taasde.adb, libgnarl/s-tasren.adb,
8845 libgnarl/s-tpobop.adb, libgnat/a-calend.adb,
8846 libgnat/a-calfor.adb, libgnat/a-cbdlli.adb,
8847 libgnat/a-cbhama.adb, libgnat/a-cbhase.adb,
8848 libgnat/a-cbmutr.adb, libgnat/a-cborma.adb,
8849 libgnat/a-cborse.adb, libgnat/a-cdlili.adb,
8850 libgnat/a-cfhama.adb, libgnat/a-cforse.adb,
8851 libgnat/a-cidlli.adb, libgnat/a-cihama.adb,
8852 libgnat/a-cihase.adb, libgnat/a-cimutr.adb,
8853 libgnat/a-ciorma.adb, libgnat/a-ciormu.adb,
8854 libgnat/a-ciorse.adb, libgnat/a-cohama.adb,
8855 libgnat/a-cohase.adb, libgnat/a-comutr.adb,
8856 libgnat/a-convec.adb, libgnat/a-coorma.adb,
8857 libgnat/a-coormu.adb, libgnat/a-coorse.adb,
8858 libgnat/a-crdlli.adb, libgnat/a-tigeau.adb,
8859 libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb,
8860 libgnat/g-calend.adb, libgnat/g-comlin.adb,
8861 libgnat/g-expect.adb, libgnat/g-mbflra.adb,
8862 libgnat/g-spipat.adb, libgnat/s-fatgen.adb,
8863 libgnat/s-fileio.adb, libgnat/s-os_lib.adb,
8864 libgnat/s-regpat.adb, libgnat/s-valued.adb,
8865 libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas
8866 * sem_ch10.adb (Process_Spec_Clauses): Remove useless
8867 assignments.
8868 * sem_ch13.adb (Validate_Literal_Aspect): Default initialize I.
8869 * sem_ch3.adb (Build_Derived_Concurrent_Type): Default
8870 initialize Corr_Decl.
8871 * sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to
8872 Known_To_Be_Assigned.
8873 (In_Abstract_View_Pragma): Likewise.
8874 * sem_eval.adb (Eval_Selected_Component): Replace calls to
8875 Is_LHS with calls to Known_To_Be_Assigned.
8876 * sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue
8877 with calls to Known_To_Be_Assigned.
8878 * sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize
8879 Owner.
8880 (Explain_Limited_Type): Default initialize Expr_Func.
8881 (Find_Actual): Modified to handle entry families.
8882 (Is_LHS): Deleted.
8883 (May_Be_Lvalue): Deleted.
8884 (Known_To_Be_Assigned): Modified and improved to handle all
8885 cases.
8886 * sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue
8887 with calls to Known_To_Be_Assigned.
8888 (Check_Ref): Modify error on unreferenced out parameters to take
8889 into account different warning flags.
8890
88912022-01-07 Javier Miranda <miranda@adacore.com>
8892
8893 * sem_ch3.adb (Reorder_Interfaces): When the conflicting
8894 interface is identified we just replace the interface in the
8895 list of interfaces of the tagged type (instead of adding a
8896 duplicate to the list of interfaces).
8897
88982022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
8899
8900 * adaint.c (__gnat_kill): Terminate process only in case of
8901 SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT. Do not call
8902 OpenProcess if not going to terminate process.
8903
89042022-01-07 Eric Botcazou <ebotcazou@adacore.com>
8905
8906 * exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass
8907 over the arguments of the pragma. Set the Address_Taken flag on
8908 them and use the Has_Delayed_Freeze flag to spot those which have
8909 their elaboration delayed. Reuse the location variable Loc.
8910
89112022-01-07 Piotr Trojanek <trojanek@adacore.com>
8912
8913 * osint.adb (To_Lower): Clarify that only To_Lower function
8914 causes bootstrap issues; fix style.
8915 * treepr.adb (Print_Str_Mixed_Case): Reuse existing case
8916 conversion routine.
8917 (To_Mixed): Rename from Capitalize; reuse System.Case_Util
8918 procedure and explain the bootstrap issue.
8919
89202022-01-07 Piotr Trojanek <trojanek@adacore.com>
8921
8922 * exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary
8923 initialization of Must_Hook; change Detect_Subprogram_Call from
8924 function to procedure; adapt caller.
8925
89262022-01-07 Piotr Trojanek <trojanek@adacore.com>
8927
8928 * exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb,
8929 sem_ch13.adb: Remove extra space before THEN that occurs at the
8930 end of a line.
8931
89322022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
8933
8934 * expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS,
8935 WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status
8936 or signal that caused the child process to terminate/stop. Do
8937 not process exit status in case of error in waitpid call.
8938 * adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is
8939 removed in Windows variant as it actually is not working and was
8940 terminating the calling process. Set signal number into exit
8941 code parameter of TerminateProcess to work the same like in
8942 Linux.
8943
89442022-01-07 Piotr Trojanek <trojanek@adacore.com>
8945
8946 * exp_ch5.adb (Expand_N_Case_Statement): Remove explicit
8947 expansion.
8948
89492022-01-07 Etienne Servais <servais@adacore.com>
8950
8951 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
8952 Update -gnatwr documentation.
8953 * gnat_ugn.texi: Regenerate.
8954
89552022-01-07 Piotr Trojanek <trojanek@adacore.com>
8956
8957 * exp_unst.adb (Unnest_Subprogram): Sync comment with the
8958 current code.
8959
89602022-01-07 Piotr Trojanek <trojanek@adacore.com>
8961
8962 * exp_ch4.adb (Raise_Accessibility_Error): Move exception name
8963 to the message string; move << control characters to the end,
8964 for consistency.
8965 * sem_ch6.adb (Analyze_Function_Return): Likewise.
8966 * sem_util.adb (Compile_Time_Constraint_Error): Likewise.
8967 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes
8968 around Storage_Error.
8969 * gcc-interface/trans.c (gnat_to_gnu): Remove quotes around
8970 Constraint_Error.
8971
89722022-01-07 Piotr Trojanek <trojanek@adacore.com>
8973
8974 * errout.adb (Error_Msg): Move warning suppression code from
8975 Error_Msg_NLE
8976 (Error_Msg_NLE): Warning suppression is now done by the internal
8977 call to Error_Msg.
8978
89792022-01-07 Piotr Trojanek <trojanek@adacore.com>
8980
8981 * exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary
8982 guards.
8983 * exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment.
8984 * exp_ch5.adb (Expand_N_If_Statement,
8985 Expand_Iterator_Loop_Over_Container): Likewise.
8986 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant
8987 guard.
8988 * freeze.adb (Freeze_All_Ent): Reduce scope of a local variable.
8989
89902022-01-07 Piotr Trojanek <trojanek@adacore.com>
8991
8992 * exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard.
8993 * exp_disp.adb (Make_DT): Likewise.
8994 * sem_ch12.adb (Analyze_Associations): Likewise.
8995
89962022-01-07 Etienne Servais <servais@adacore.com>
8997
8998 * sem_res.adb (Resolve_Op_Concat_Arg): Check range when
8999 concatenating scalars.
9000
90012022-01-07 Bob Duff <duff@adacore.com>
9002
9003 * treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to
9004 "Is_Discrete_Type".
9005
90062022-01-07 Richard Kenner <kenner@adacore.com>
9007
9008 * libgnat/g-spipat.ads (Boolean_Func, Natural_Func,
9009 VString_Func): Mark as Favor_Top_Level.
9010 * sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using
9011 internal representation if Unchecked_Conversion between
9012 an access to subprogram and System.Address within the same unit.
9013
90142022-01-07 Bob Duff <duff@adacore.com>
9015
9016 * treepr.adb (Print_Node_Ref): Print the value if available.
9017
90182022-01-07 Richard Kenner <kenner@adacore.com>
9019
9020 * sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to
9021 not recurse and return the next-most-fullest view.
9022
90232022-01-07 Bob Duff <duff@adacore.com>
9024
9025 * sem_ch10.adb (Check_Redundant_Withs): Add a warning if a
9026 library unit with's its own ancestor. Note that this warning is
9027 not triggered for something like "with P.R;" in P.Q, because
9028 there the "with P;" is considered implicit.
9029 * fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads,
9030 libgnat/a-calfor.adb, libgnat/a-tiboio.adb,
9031 libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb,
9032 libgnat/s-bitops.adb, libgnat/s-bitops.ads,
9033 libgnat/s-direio.adb, libgnat/s-dwalin.adb,
9034 libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb,
9035 libgnat/s-os_lib.adb, libgnat/s-os_lib.ads,
9036 libgnat/s-pooglo.ads, libgnat/s-secsta.adb,
9037 libgnat/s-shasto.adb, libgnat/s-stausa.ads,
9038 libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of
9039 parent.
9040 * sinfo.ads: Minor comment fix.
9041
90422022-01-07 Bob Duff <duff@adacore.com>
9043
9044 * osint-m.adb: Remove with_clause and pragma.
9045
11ce8d04
GA
90462022-01-06 Bob Duff <duff@adacore.com>
9047
9048 * sem_res.adb (Resolve_Range): Warn on null range, unless we are
9049 inside a generic unit or an instance thereof.
9050 * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
9051 negative.
9052
90532022-01-06 Piotr Trojanek <trojanek@adacore.com>
9054
9055 * errout.adb (Adjust_Name_Case): Remove unnecessary declare
9056 block.
9057
90582022-01-06 Yannick Moy <moy@adacore.com>
9059
9060 * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
9061 instance.
9062 * libgnat/a-ngrear.adb: Likewise.
9063 * libgnat/s-gearop.adb: Prove implementation is free of runtime
9064 errors.
9065 * libgnat/s-gearop.ads: Add contracts to protect against runtime
9066 errors in the generic part.
9067
90682022-01-06 Piotr Trojanek <trojanek@adacore.com>
9069
9070 * errout.adb (Remove_Warning_Messages): Use traversal procedure
9071 instead of traversal function, since we discard status of each
9072 step anyway.
9073
90742022-01-06 Piotr Trojanek <trojanek@adacore.com>
9075
9076 * exp_ch4.adb (Expand_Concatenate): There is no reason for using
9077 declaring, raising and catching an exception; a simple return
9078 statement is enough.
9079
90802022-01-06 Piotr Trojanek <trojanek@adacore.com>
9081
9082 * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
9083 calls to Apply_Compile_Time_Constraint_Error related to division
9084 by zero.
9085
90862022-01-06 Piotr Trojanek <trojanek@adacore.com>
9087
9088 * errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
9089 * exp_util.adb (Kill_Dead_Code): Likewise.
9090 * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
9091 * sem_ch3.adb (Build_Derived_Record_Type): Likewise.
9092 * sem_ch4.adb (Traverse_Interfaces): Likewise.
9093 * sem_eval.adb (Traverse_Interfaces): Likewise.
9094 * sem_util.adb (Collect_Interfaces): Likewise.
9095 (Has_Non_Null_Statements, Side_Effect_Free_Statements):
9096 Likewise; turn into WHILE loops, for consistency.
9097
90982022-01-06 Etienne Servais <servais@adacore.com>
9099
9100 * sem_type.adb (Full_View_Covers): Fix typo.
9101
91022022-01-06 Eric Botcazou <ebotcazou@adacore.com>
9103
9104 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
9105 the outer level, do not jump over following instantiations in
9106 the list.
9107
91082022-01-06 Piotr Trojanek <trojanek@adacore.com>
9109
9110 * err_vars.ads (Warn_On_Instance): Remove; it was a relic from
9111 the previous handling of warning in instances that was removed
9112 decades ago.
9113
91142022-01-06 Piotr Trojanek <trojanek@adacore.com>
9115
9116 * errout.adb (Error_Msg_Internal): Reorder words.
9117 * erroutc.ads (Is_Warning_Msg): Add closing paren.
9118 * sem_util.adb (Compile_Time_Constraint_Error): Fix casing.
9119
91202022-01-06 Piotr Trojanek <trojanek@adacore.com>
9121
9122 * sem_res.adb (Resolve_String_Literal): Simplify pointer
9123 arithmetic.
9124
91252022-01-06 Piotr Trojanek <trojanek@adacore.com>
9126
9127 * sem_res.adb (Resolve_String_Literal): Avoid unnecessary
9128 conversions inside "<" and ">" bodies.
9129
91302022-01-06 Piotr Trojanek <trojanek@adacore.com>
9131
9132 * checks.adb (Null_Exclusion_Static_Checks,
9133 Selected_Range_Checks): Fix style.
9134
91352022-01-06 Eric Botcazou <ebotcazou@adacore.com>
9136
9137 * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
9138 special units when the name of the renaming is a generic instance,
9139 which is the case for package instantiations in the GNAT model.
9140
91412022-01-06 Steve Baird <baird@adacore.com>
9142
9143 * sem_util.adb (Build_Discriminant_Reference): In the unexpected
9144 case where we previously would fail an assertion, we instead
9145 revert to the old behavior.
9146
91472022-01-06 Steve Baird <baird@adacore.com>
9148
9149 * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
9150 local function, Build_Discriminant_Reference, and call it in
9151 each of the three cases where Make_Selected_Component was
9152 previously being called to construct a discriminant reference (2
9153 in Build_Actual_Array_Constraint and 1 in
9154 Build_Actual_Record_Constraint). Instead of unconditionally
9155 using the passed-in object name as the prefix for the new
9156 selected component node, this new function checks to see if
9157 perhaps a prefix of that name should be used instead.
9158
91592022-01-06 Etienne Servais <servais@adacore.com>
9160
9161 * atree.adb: Fix typo.
9162 * einfo.ads: Likewise.
9163 * exp_aggr.adb: Likewise.
9164 * exp_ch6.adb: Likewise.
9165 * exp_ch7.adb: Likewise.
9166 * exp_ch9.adb: Likewise.
9167 * exp_prag.adb: Likewise.
9168 * exp_unst.adb: Likewise.
9169 * exp_unst.ads: Likewise.
9170 * exp_util.adb: Likewise.
9171 * par-endh.adb: Likewise.
9172 * par.adb: Likewise.
9173 * restrict.adb: Likewise.
9174 * sem.ads: Likewise.
9175 * sem_ch4.adb: Likewise.
9176 * sem_ch5.adb: Likewise.
9177 * sem_ch6.adb: Likewise.
9178 * sem_ch8.adb: Likewise.
9179 * sem_ch12.adb: Likewise.
9180 * sem_ch13.adb: Likewise.
9181 * sem_dim.adb: Likewise.
9182 * sem_elab.adb: Likewise.
9183 * sem_prag.adb: Likewise.
9184 * sem_res.adb: Likewise.
9185 * sem_util.adb: Likewise.
9186 * sem_util.ads: Likewise.
9187 * sinfo.ads: Likewise.
9188 * sprint.adb: Likewise.
9189 * urealp.adb: Likewise.
9190
91912022-01-06 Justin Squirek <squirek@adacore.com>
9192
9193 * exp_ch3.adb (Build_Assignment): Replace current instance of
9194 type with Init_Proc formal.
9195 * sem_attr.adb (OK_Self_Reference): Handle recognition of
9196 Current_Instance to detect certain expansion.
9197 * sem_ch4.adb (Analyze_One_Call): Set actual's type when the
9198 actual in question is a current instance and its corresponding
9199 formal is an incomplete type.
9200 * sem_util.adb (Is_Current_Instance): Add check for incomplete
9201 views and add comment.
9202
92032022-01-06 Bob Duff <duff@adacore.com>
9204
9205 * libgnat/s-rident.ads (No_Tagged_Type_Registration): New
9206 restriction identifier.
9207 * restrict.ads (Implementation_Restriction): Add restriction.
9208 * exp_ch7.adb (Process_Declarations): Suppress
9209 tagged-type-related finalization actions if the restriction is
9210 active. Call RTE_Available last.
9211 * exp_disp.adb (Make_DT): Likewise.
9212 * exp_util.adb (Requires_Cleanup_Actions): Return False for a
9213 tagged type declaration if No_Tagged_Type_Registration is
9214 active.
9215 * sem_attr.adb (Check_Stream_Attribute): Check restriction
9216 No_Tagged_Type_Registration.
9217 * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
9218 avoid stopping at a warning in gdb.
9219 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
9220 Document new restriction.
9221 * gnat_rm.texi: Regenerate.
9222
92232022-01-06 Piotr Trojanek <trojanek@adacore.com>
9224
9225 * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
9226 * prep.adb (Parse_Def_File): Likewise; remove Empty_String.
9227
92282022-01-06 Eric Botcazou <ebotcazou@adacore.com>
9229
9230 * stand.ads (Any_Access): Delete.
9231 (Universal_Access): New entity.
9232 * einfo.ads: Remove obsolete reference to Any_Access.
9233 * gen_il-gen-gen_entities.adb: Likewise.
9234 * cstand.adb (Create_Standard): Do not create Any_Access and create
9235 Universal_Access as a full type instead.
9236 * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
9237 Any_Access and deal with Universal_Access instead.
9238 * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
9239 Universal_Access.
9240 * sem_ch4.adb (Analyze_Null): Likewise.
9241 (Find_Non_Universal_Interpretations): Likewise.
9242 (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
9243 by renaming a local variable of the same name.
9244 * sem_res.adb (Make_Call_Into_Operato): Likewise.
9245 (Resolve_Equality_Op): Likewise.
9246 * sem_type.adb (Covers): Likewise.
9247 (Specific_Type): Likewise.
9248
92492022-01-06 Piotr Trojanek <trojanek@adacore.com>
9250
9251 * treepr.adb (Destroy): Prevent spurious check from CodePeer.
9252
92532022-01-06 Yannick Moy <moy@adacore.com>
9254
9255 * libgnat/s-exponu.adb (Exponu): Add annotation.
9256
92572022-01-06 Justin Squirek <squirek@adacore.com>
9258
9259 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
9260 regarding special handling of components which depend on
9261 discriminants.
9262 * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
9263 for calls to Has_Stream_Attribute_Definition.
9264 (Build_To_Any_Function): Likewise.
9265 (Build_TypeCode_Function): Likewise.
9266 * freeze.adb (Freeze_Entity): Add missing comment for Test_E.
9267 * libgnat/s-utf_32.adb: Remove disabled warning comments and
9268 temporarily inserted pragma warnings. Remove very old (2006 and
9269 2012) comments about bootstrapping older versions.
9270 * par.adb (P_Identifier): Add new parameter Force_Msg.
9271 * par-ch2.adb (P_Identifier): Restructure and clean up function.
9272 * par-ch3.adb (P_Defining_Identifier): Remove code duplication
9273 for parsing identifiers.
9274 * sem_attr.adb (Stream_Attribute_Available): Add missing
9275 comments and add Real_Rep actual for calls to
9276 Has_Stream_Attribute_Definition.
9277 * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
9278 for calls to Has_Stream_Attribute_Definition.
9279 (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
9280 recursive calls. Add default value for Real_Rep.
9281 * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
9282 parameter "Real_Rep".
9283 * sem_type.adb (Add_Entry): Add condition to avoid passing
9284 non-function calls to Function_Interp_Has_Abstract_Op.
9285 (Function_Interp_Has_Abstract_Op): Add missing comments and
9286 remove check for Is_Overloadable.
9287 * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
9288 duplicated code.
9289
92902022-01-06 Javier Miranda <miranda@adacore.com>
9291
9292 * contracts.adb (Restore_Original_Selected_Component): New
9293 subprogram that traverses a preanalyzed expression searching for
9294 dispatching calls to functions whose original node was a
9295 selected component, and replacing them with their original node.
9296 This functionality is required because the preanalyis of
9297 dispatching calls using the Object.Operation notation transforms
9298 such calls, and we need the original condition to properly
9299 inherit and extend the condition expression on tagged type
9300 derivations. This functionality was previously provided by the
9301 routine Install_Original_Selected_Component (as part of
9302 inheriting conditions); now it is performed as part of the
9303 preanalysis of the condition, thus avoiding repeatedly
9304 installing and restoring such nodes.
9305 (Install_Original_Selected_Component): Removed.
9306 (Restore_Dispatching_Calls): Removed.
9307
93082022-01-06 Piotr Trojanek <trojanek@adacore.com>
9309
9310 * treepr.adb (Visit_Node): Simplify repeated call to
9311 Next_Entity.
9312
93132022-01-06 Piotr Trojanek <trojanek@adacore.com>
9314
9315 * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
9316 style in comments.
9317 * treepr.adb (Serial_Numbers): Hash table instance.
9318 (Hash): Hashing routine.
9319 (Print_Field): Fix style.
9320 (Print_Init): Adapt to simple hash table.
9321 (Print_Term): Likewise.
9322 (Serial_Numbers): Likewise.
9323 (Set_Serial_Number): Likewise.
9324
93252022-01-06 Yannick Moy <moy@adacore.com>
9326
9327 * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
9328 * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.
9329
93302022-01-06 Yannick Moy <moy@adacore.com>
9331
9332 * libgnat/s-explllu.ads: Mark in SPARK.
9333 * libgnat/s-expllu.ads: Mark in SPARK.
9334 * libgnat/s-exponu.adb: Add loop invariants and needed
9335 assertions.
9336 * libgnat/s-exponu.ads: Add functional contract.
9337 * libgnat/s-expuns.ads: Mark in SPARK.
9338
0fbefa25
GA
93392022-01-05 Steve Baird <baird@adacore.com>
9340
9341 * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug
9342 that was introduced in the previous commit. The previous
9343 version initialized a Boolean constant Declare_Copy before the
9344 variable Decl had been initialized properly.
9345
93462022-01-05 Piotr Trojanek <trojanek@adacore.com>
9347
9348 * sem_prag.adb (Adjust_External_Name_Case): Use membership test.
9349
93502022-01-05 Piotr Trojanek <trojanek@adacore.com>
9351
9352 * exp_ch3.adb (Make_Controlling_Function_Wrappers): For
9353 GNATprove build the wrapper as an expression function.
9354
93552022-01-05 Piotr Trojanek <trojanek@adacore.com>
9356
9357 * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move
9358 declaration from body to spec, so it can be called by
9359 SPARK-specific expansion.
9360 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise.
9361 * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of
9362 wrappers for function with controlling result types.
9363
93642022-01-05 Piotr Trojanek <trojanek@adacore.com>
9365
9366 * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with
9367 Add_Char_To_Name_Buffer.
9368
93692022-01-05 Piotr Trojanek <trojanek@adacore.com>
9370
9371 * gnatls.adb (Gnatls): Use Name_Find function.
9372 * targparm.adb (Get_Target_Parameters): Likewise.
9373
93742022-01-05 Bob Duff <duff@adacore.com>
9375
9376 * repinfo.adb (List_Entities): The code was assuming that if we
9377 encounter a package in the current scope, then it must be
9378 a (physically) nested package. That was wrong, because it could
9379 be a child package. Avoid recursing into child packages; they
9380 have not been annotated with representation information, and
9381 -gnatR2 queries that information.
9382
93832022-01-05 Marc Poulhiès <poulhies@adacore.com>
9384
9385 * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove.
9386 * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove.
9387 * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove.
9388 * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove.
9389 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed
9390 units.
9391 * gcc-interface/Make-lang.in (ada/sdefault.o): Remove
9392 dependencies on removed units.
9393 (GNATBIND_OBJS): Remove occurences of removed units.
9394
93952022-01-05 Piotr Trojanek <trojanek@adacore.com>
9396
9397 * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace.
9398 * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.
9399
94002022-01-05 Piotr Trojanek <trojanek@adacore.com>
9401
9402 * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in
9403 spec of the generated array validation function; it was
9404 redundant, just like it would be in a user-written code.
9405
94062022-01-05 Piotr Trojanek <trojanek@adacore.com>
9407
9408 * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace.
9409 * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise.
9410 (Reduce): Likewise.
9411
94122022-01-05 Piotr Trojanek <trojanek@adacore.com>
9413
9414 * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace.
9415 * libgnat/a-cofuve.ads (Add): Likewise.
9416 * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.
9417
94182022-01-05 Piotr Trojanek <trojanek@adacore.com>
9419
9420 * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body,
9421 Make_Predefined_Primitive_Eq_Spec,
9422 Make_Predefined_Primitive_Specs): Fix whitespace.
9423
94242022-01-05 Etienne Servais <servais@adacore.com>
9425
9426 * sem_ch3.adb (Analyze_Component_Declaration): Rework condition
9427 to build subtypes.
9428 (Analyze_Object_Declaration): Likewise.
9429 (Should_Build_Subtype): New.
9430
94312022-01-05 Yannick Moy <moy@adacore.com>
9432
9433 * libgnat/s-arit128.adb: Mark in SPARK.
9434 * libgnat/s-arit128.ads: Add functional contracts.
9435
94362022-01-05 Piotr Trojanek <trojanek@adacore.com>
9437
9438 * sem_util.adb (String_From_Numeric_Literal): Simplify using
9439 membership tests and ranges; fix whitespace.
9440
94412022-01-05 Yannick Moy <moy@adacore.com>
9442
9443 * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to
9444 package.
9445 * libgnat/s-explli.ads: Likewise.
9446 * libgnat/s-expllli.ads: Likewise.
9447 * libgnat/s-expont.adb: Add lemmas and ghost code.
9448 * libgnat/s-expont.ads: Add functional contract.
9449
94502022-01-05 Piotr Trojanek <trojanek@adacore.com>
9451
9452 * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard.
9453
94542022-01-05 Claire Dross <dross@adacore.com>
9455
9456 * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost
9457 function to determine if a string is recognized as something
9458 which might be an exponent.
9459 (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a
9460 string has the correct format for an optional exponent.
9461 (Scan_Exponent): Use ghost functions to factorize contracts.
9462
94632022-01-05 Bob Duff <duff@adacore.com>
9464
9465 * exp_util.ads (Get_Current_Value_Condition): Belt: Add a
9466 postcondition that Val /= Var.
9467 * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if
9468 Get_Current_Value_Condition returned the same value. This will
9469 be enabled even without assertions, because infinite recursion
9470 is a nuisance -- better to crash if this bug ever occurs.
9471
94722022-01-05 Piotr Trojanek <trojanek@adacore.com>
9473
9474 * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing
9475 Copy_Subprogram_Spec.
9476 * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter.
9477 * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to
9478 New_Copy_Tree.
9479
94802022-01-05 Yannick Moy <moy@adacore.com>
9481
9482 * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to
9483 package.
9484 * libgnat/s-exnlli.ads: Likewise.
9485 * libgnat/s-exnllli.ads: Likewise.
9486 * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case
9487 value zero as Left or Right to simplify proof.
9488 * libgnat/s-exponn.ads: Transform the generic function into a
9489 generic package with a function inside. Add a functional
9490 contract.
9491
94922022-01-05 Piotr Trojanek <trojanek@adacore.com>
9493
9494 * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant
9495 call to Set_Defining_Unit_Name; a similar call is done few lines
9496 below.
9497
94982022-01-05 Piotr Trojanek <trojanek@adacore.com>
9499
9500 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create
9501 distinct copies of parameter lists for spec and body with
9502 Copy_Parameter_List; cleanup.
9503 (Make_Null_Procedure_Specs): Fix style in comments; remove a
9504 potentially unnecessary initialization of a local variable.
9505
95062022-01-05 Bob Duff <duff@adacore.com>
9507
9508 * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias):
9509 Change Node_Id to Entity_Id.
9510
95112022-01-05 Piotr Trojanek <trojanek@adacore.com>
9512
9513 * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper):
9514 Remove unreferenced spec.
9515 * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper):
9516 Remove dead bodies.
9517
95182022-01-05 Yannick Moy <moy@adacore.com>
9519
9520 * libgnat/s-aridou.adb: Apply replacement.
9521
95222022-01-05 Yannick Moy <moy@adacore.com>
9523
9524 * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for
9525 instances with other values of Single_Size.
9526
95272022-01-05 Marc Poulhiès <poulhies@adacore.com>
9528
9529 * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit)
9530 (Compiler_Unit_Warning): Remove.
9531 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
9532 * libgnat/g-dynhta.ads: Add comment indicating this unit is
9533 built during stage1.
9534 * libgnat/g-dyntab.ads: Likewise.
9535 * libgnat/g-graphs.ads: Likewise.
9536 * libgnat/g-lists.ads: Likewise.
9537 * libgnat/g-sets.ads: Likewise.
9538 * libgnat/gnat.ads: Likewise.
9539 * libgnat/s-pehage.ads: Likewise.
9540 * libgnat/s-resfil.ads: Likewise.
9541 * libgnat/s-rident.ads: Likewise.
9542 * libgnat/s-utf_32.ads: Likewise.
9543 * errout.ads: Update comment.
9544 * opt.ads (Opt): Remove Compiler_Unit.
9545 * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit.
9546 * sem_prag.adb (Analyze_Pragma): Likewise.
9547 * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression)
9548 (Analyze_Set_Membership, Record_Interp): Likewise.
9549 * sem_ch11.adb (Analyze_Raise_Expression): Likewise.
9550 * sem_ch6.adb: Remove Restric package reference.
9551 (Analyze_Extended_Return_Statement): Remove call to
9552 Check_Compiler_Unit.
9553 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
9554 Remove handling of Pragma_Compiler_Unit[_Warning}.
9555 * restrict.adb (Check_Compiler_Unit): Remove both.
9556 * restrict.ads: Likewise.
9557 * snames.ads-tmpl (Pragma_Id): Remove
9558 Pragma_Compiler_Unit[_Warning].
9559 * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning.
9560 * libgnat/a-chlat1.ads: Likewise.
9561 * libgnat/a-elchha.adb: Likewise.
9562 * libgnat/a-elchha.ads: Likewise.
9563 * libgnat/a-ioexce.ads: Likewise.
9564 * libgnat/a-strhas.ads: Likewise.
9565 * libgnat/g-byorma.adb: Likewise.
9566 * libgnat/g-byorma.ads: Likewise.
9567 * libgnat/g-dyntab.adb: Likewise.
9568 * libgnat/g-heasor.ads: Likewise.
9569 * libgnat/g-hesora.adb: Likewise.
9570 * libgnat/g-hesora.ads: Likewise.
9571 * libgnat/g-htable.adb: Likewise.
9572 * libgnat/g-htable.ads: Likewise.
9573 * libgnat/g-spchge.adb: Likewise.
9574 * libgnat/g-spchge.ads: Likewise.
9575 * libgnat/g-speche.adb: Likewise.
9576 * libgnat/g-speche.ads: Likewise.
9577 * libgnat/g-table.ads: Likewise.
9578 * libgnat/g-u3spch.adb: Likewise.
9579 * libgnat/g-u3spch.ads: Likewise.
9580 * libgnat/interfac.ads: Likewise.
9581 * libgnat/s-addope.adb: Likewise.
9582 * libgnat/s-addope.ads: Likewise.
9583 * libgnat/s-assert.adb: Likewise.
9584 * libgnat/s-assert.ads: Likewise.
9585 * libgnat/s-bitops.adb: Likewise.
9586 * libgnat/s-bitops.ads: Likewise.
9587 * libgnat/s-carun8.adb: Likewise.
9588 * libgnat/s-carun8.ads: Likewise.
9589 * libgnat/s-casuti.adb: Likewise.
9590 * libgnat/s-casuti.ads: Likewise.
9591 * libgnat/s-conca2.adb: Likewise.
9592 * libgnat/s-conca2.ads: Likewise.
9593 * libgnat/s-conca3.adb: Likewise.
9594 * libgnat/s-conca3.ads: Likewise.
9595 * libgnat/s-conca4.adb: Likewise.
9596 * libgnat/s-conca4.ads: Likewise.
9597 * libgnat/s-conca5.adb: Likewise.
9598 * libgnat/s-conca5.ads: Likewise.
9599 * libgnat/s-conca6.adb: Likewise.
9600 * libgnat/s-conca6.ads: Likewise.
9601 * libgnat/s-conca7.adb: Likewise.
9602 * libgnat/s-conca7.ads: Likewise.
9603 * libgnat/s-conca8.adb: Likewise.
9604 * libgnat/s-conca8.ads: Likewise.
9605 * libgnat/s-conca9.adb: Likewise.
9606 * libgnat/s-conca9.ads: Likewise.
9607 * libgnat/s-crc32.adb: Likewise.
9608 * libgnat/s-crc32.ads: Likewise.
9609 * libgnat/s-crtl.ads: Likewise.
9610 * libgnat/s-excdeb.adb: Likewise.
9611 * libgnat/s-excdeb.ads: Likewise.
9612 * libgnat/s-except.ads: Likewise.
9613 * libgnat/s-exctab.adb: Likewise.
9614 * libgnat/s-exctab.ads: Likewise.
9615 * libgnat/s-finmas.ads: Likewise.
9616 * libgnat/s-htable.adb: Likewise.
9617 * libgnat/s-htable.ads: Likewise.
9618 * libgnat/s-mastop.adb: Likewise.
9619 * libgnat/s-mastop.ads: Likewise.
9620 * libgnat/s-memory.adb: Likewise.
9621 * libgnat/s-memory.ads: Likewise.
9622 * libgnat/s-os_lib.ads: Likewise.
9623 * libgnat/s-parame.adb: Likewise.
9624 * libgnat/s-parame.ads: Likewise.
9625 * libgnat/s-parame__posix2008.ads: Likewise.
9626 * libgnat/s-purexc.ads: Likewise.
9627 * libgnat/s-resfil.adb: Likewise.
9628 * libgnat/s-restri.adb: Likewise.
9629 * libgnat/s-restri.ads: Likewise.
9630 * libgnat/s-secsta.adb: Likewise.
9631 * libgnat/s-secsta.ads: Likewise.
9632 * libgnat/s-soflin.adb: Likewise.
9633 * libgnat/s-soflin.ads: Likewise.
9634 * libgnat/s-sopco3.adb: Likewise.
9635 * libgnat/s-sopco3.ads: Likewise.
9636 * libgnat/s-sopco4.adb: Likewise.
9637 * libgnat/s-sopco4.ads: Likewise.
9638 * libgnat/s-sopco5.adb: Likewise.
9639 * libgnat/s-sopco5.ads: Likewise.
9640 * libgnat/s-spsufi.ads: Likewise.
9641 * libgnat/s-stache.adb: Likewise.
9642 * libgnat/s-stache.ads: Likewise.
9643 * libgnat/s-stalib.adb: Likewise.
9644 * libgnat/s-stalib.ads: Likewise.
9645 * libgnat/s-stoele.adb: Likewise.
9646 * libgnat/s-stoele.ads: Likewise.
9647 * libgnat/s-strcom.adb: Likewise.
9648 * libgnat/s-strcom.ads: Likewise.
9649 * libgnat/s-strhas.adb: Likewise.
9650 * libgnat/s-string.adb: Likewise.
9651 * libgnat/s-string.ads: Likewise.
9652 * libgnat/s-strops.adb: Likewise.
9653 * libgnat/s-strops.ads: Likewise.
9654 * libgnat/s-ststop.adb: Likewise.
9655 * libgnat/s-ststop.ads: Likewise.
9656 * libgnat/s-traceb.adb: Likewise.
9657 * libgnat/s-traceb.ads: Likewise.
9658 * libgnat/s-traent.adb: Likewise.
9659 * libgnat/s-traent.ads: Likewise.
9660 * libgnat/s-utf_32.adb: Likewise.
9661 * libgnat/s-unstyp.ads: Likewise.
9662 * libgnat/s-wchcnv.adb: Likewise.
9663 * libgnat/s-wchcnv.ads: Likewise.
9664 * libgnat/s-wchcon.adb: Likewise.
9665 * libgnat/s-wchcon.ads: Likewise.
9666 * libgnat/s-wchjis.adb: Likewise.
9667 * libgnat/s-wchjis.ads: Likewise.
9668
96692022-01-05 Arnaud Charlet <charlet@adacore.com>
9670
9671 * osint.adb (File_Names_Equal): Declare To_Lower locally.
9672 * osint.ads (Null_FD): New.
9673 * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
9674 * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
9675 simplify the bootstrap dependencies.
9676
a4ae8c37
GA
96772022-01-03 Jakub Jelinek <jakub@redhat.com>
9678
9679 * gnat_ugn.texi: Bump @copying's copyright year.
9680 * gnat_rm.texi: Likewise.
9681
848830dc 9682\f
6123f29a 9683Copyright (C) 2022 Free Software Foundation, Inc.
848830dc
PMR
9684
9685Copying and distribution of this file, with or without modification,
9686are permitted in any medium without royalty provided the copyright
9687notice and this notice are preserved.