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