]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
e4777439
GA
12021-09-22 Yannick Moy <moy@adacore.com>
2
3 * libgnat/a-strfix.ads (Trim): Simplify contracts.
4 * libgnat/a-strfix.adb (Trim): Remove white space.
5
62021-09-22 Piotr Trojanek <trojanek@adacore.com>
7
8 * exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result.
9 * exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old.
10
112021-09-22 Yannick Moy <moy@adacore.com>
12
13 * sem_ch3.adb (Analyze_Object_Declaration): Do not insert a
14 predicate check after a deferred constant declaration.
15
162021-09-22 Bob Duff <duff@adacore.com>
17
18 * contracts.adb, einfo-utils.adb, einfo-utils.ads, exp_ch7.adb,
19 exp_ch9.adb, exp_disp.adb, exp_prag.adb, exp_smem.adb,
20 exp_util.adb, freeze.adb, sem_aggr.adb, sem_attr.adb,
21 sem_ch8.adb, sem_prag.ads, sem_util.adb, sem_util.ads: Fix
22 conformance errors.
23 * errout.adb, erroutc.adb: Remove pragmas Suppress.
24 * err_vars.ads: Initialize variables that were previously being
25 read uninitialized.
26
272021-09-22 Yannick Moy <moy@adacore.com>
28
29 * libgnat/a-strunb.ads: Mark package in SPARK with private part
30 not in SPARK.
31 (Free): Mark not in SPARK.
32
332021-09-22 Arnaud Charlet <charlet@adacore.com>
34
35 * snames.ads-tmpl: Update status of some attributes.
36
372021-09-22 Doug Rupp <rupp@adacore.com>
38
39 * libgnarl/s-interr__vxworks.adb (Interfaces.C): Remove as
40 unused.
41 (System.VxWorks.Ext): Import.
42 (System.VxWorks.Ext.STATUS): use type.
43 (STATUS): New subtype.
44 (OK): New constant.
45 (Interrupt_Connector): Return STATUS type vice int.
46 (Interrupt_Connect, Notify_Interrupt, Unbind_Handler,
47 Interrupt_Server_Task): Rename Status to Result. Assert Result =
48 OK.
49 * libgnarl/s-osinte__vxworks.adb (To_Clock_Ticks): Define constant
50 IERR, and return it vice ERROR.
51 (Binary_Semaphore_Delete): Return STATUS type vice int.
52 (Binary_Semaphore_Obtain): Likewise.
53 (Binary_Semaphore_Release): Likewise.
54 (Binary_Semaphore_Flush): Likewise.
55 * libgnarl/s-osinte__vxworks.ads (SVE): Renaming of
56 System.VxWorks.Ext.
57 (STATUS): Use SVE in declaration of subtype.
58 (BOOL): Likewise.
59 (vx_freq_t): Likewise.
60 (t_id): Likewise.
61 (gitpid): Use SVE in renaming of subprogram
62 (Task_Stop): Likewise.
63 (Task_Cont): Likewise.
64 (Int_Lock): Likewise.
65 (Int_Unlock): Likewise.
66 (Set_Time_Slice): Likewise.
67 (semDelete): Likewise.
68 (taskCpuAffinitySet): Likewise.
69 (taskMaskAffinitySet): Likewise.
70 (sigset_t): Use SVE in declaration of type.
71 (OK): Remove as unused.
72 (ERROR): Likewise.
73 (taskOptionsGet): return STATUS vice int.
74 (taskSuspend): Likewise.
75 (taskResume): Likewise.
76 (taskDelay): Likewise.
77 (taskVarAdd): Likewise.
78 (taskVarDelete): Likewise.
79 (taskVarSet): Likewise.
80 (tlkKeyCreate): Likewise.
81 (taskPrioritySet): Likewise.
82 (semGive): Likewise.
83 (semTake): Likewise.
84 (Binary_Semaphore_Delete): Likewise.
85 (Binary_Semaphore_Obtain): Likewise.
86 (Binary_Semaphore_Release): Likewise.
87 (Binary_Semaphore_Flush): Likewise.
88 (Interrupt_Connect): Likewise.
89 * libgnarl/s-taprop__vxworks.adb
90 (System.VxWorks.Ext.STATUS): use type.
91 (int): Syntactically align subtype.
92 (STATUS): New subtype.
93 (OK): New constant.
94 (Finalize_Lock): Check STATUS vice int. Assert OK.
95 (Finalize_Lock): Likewise.
96 (Write_Lock): Likewise.
97 (Write_Lock): Likewise.
98 (Write_Lock): Likewise.
99 (Unlock): Likewise.
100 (Unlock): Likewise.
101 (Unlock): Likewise.
102 (Unlock): Likewise.
103 (Sleep): Likewise.
104 (Sleep): Likewise.
105 (Sleep): Likewise.
106 (Timed_Sleep): Likewise and test Result.
107 (Timed_Delay): Likewise and test Result.
108 (Wakeup): Likewise.
109 (Yield): Likewise.
110 (Finalize_TCB): Likewise.
111 (Suspend_Until_True): Check OK.
112 (Stop_All_Tasks): Declare Dummy STATUS vice in. Check OK.
113 (Is_Task_Context): Use OSI renaming.
114 (Initialize): Use STATUS vice int.
115 * libgnarl/s-vxwext.adb
116 (IERR): Renamed from ERROR.
117 (taskCpuAffinitySet): Return IERR (int).
118 (taskMaskAffinitySet): Likewise.
119 * libgnarl/s-vxwext.ads
120 (STATUS): New subtype.
121 (OK): New STATUS constant.
122 (ERROR): Likewise.
123 * libgnarl/s-vxwext__kernel-smp.adb
124 (IERR): Renamed from ERROR.
125 (Int_Lock): Return IERR.
126 (semDelete): Return STATUS.
127 (Task_Cont): Likewise.
128 (Task_Stop): Likewise.
129 * libgnarl/s-vxwext__kernel.adb
130 (IERR): Renamed from ERROR.
131 (semDelete): Return STATUS.
132 (Task_Cont): Likewise.
133 (Task_Stop): Likewise.
134 (taskCpuAffinitySet): Return IERR (int)
135 (taskMaskAffinitySet): Likewise.
136 * libgnarl/s-vxwext__kernel.ads
137 (STATUS): New subtype.
138 (OK): New STATUS constant.
139 (ERROR): Likewise.
140 (Interrupt_Connect): Return STATUS
141 (semDelete): Likewise.
142 (Task_Cont): Likewise.
143 (Task_Stop): Likewise.
144 (Set_Time_Slice): Likewise.
145 * libgnarl/s-vxwext__rtp-smp.adb
146 (IERR): Renamed from ERROR.
147 (Int_Lock): return IERR constant vice ERROR.
148 (Interrupt_Connect): Return STATUS.
149 (semDelete): Likewise.
150 (Set_Time_Slice): Likewise.
151 * libgnarl/s-vxwext__rtp.adb
152 (IERR): Renamed from ERROR.
153 (Int_Lock): return IERR constant vice ERROR.
154 (Int_Unlock): Return STATUS.
155 (semDelete): Likewise.
156 (Set_Time_Slice): Likewise.
157 (taskCpuAffinitySet): Return IERR (int)
158 (taskMaskAffinitySet): Likewise.
159 * libgnarl/s-vxwext__rtp.ads
160 (STATUS): New subtype.
161 (OK): New STATUS constant.
162 (ERROR): Likewise.
163 (Interrupt_Connect): Return STATUS
164 (semDelete): Likewise.
165 (Task_Cont): Likewise.
166 (Task_Stop): Likewise.
167 (Set_Time_Slice): Likewise.
168
1692021-09-22 Arnaud Charlet <charlet@adacore.com>
170
171 * prep.adb (Preprocess): Allow for more flexibility when
172 Relaxed_RM_Semantics is set.
173
1742021-09-22 Pierre-Alexandre Bazin <bazin@adacore.com>
175
176 * libgnat/a-strbou.adb: Turn SPARK_Mode on.
177 * libgnat/a-strbou.ads: Write contracts.
178 * libgnat/a-strfix.ads (Index): Fix grammar error in a comment.
179 * libgnat/a-strsea.ads (Index): Likewise.
180 * libgnat/a-strsup.adb: Rewrite the body to take into account
181 the new definition of Super_String using Relaxed_Initialization
182 and a predicate.
183 (Super_Replicate, Super_Translate, Times): Added loop
184 invariants, and ghost lemmas for Super_Replicate and Times.
185 (Super_Trim): Rewrite the body using search functions to
186 determine the cutting points.
187 (Super_Element, Super_Length, Super_Slice, Super_To_String):
188 Remove (now written as expression functions in a-strsup.ads).
189 * libgnat/a-strsup.ads: Added contracts.
190 (Super_Element, Super_Length, Super_Slice, Super_To_String):
191 Rewrite as expression functions.
192
1932021-09-22 Yannick Moy <moy@adacore.com>
194
195 * sem_ch13.adb (Build_Predicate_Functions): Add guard.
196
1972021-09-22 Doug Rupp <rupp@adacore.com>
198
199 * libgnarl/s-vxwext.ads (BOOL): New int type.
200 (Interrupt_Context): Change return type to BOOL.
201 * libgnarl/s-vxwext__kernel.ads: Likewise.
202 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
203 * libgnarl/s-vxwext__rtp.adb: Likewise.
204 * libgnarl/s-vxwext__rtp.ads: Likewise.
205 * libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change
206 return type to BOOL.
207 * libgnarl/s-osinte__vxworks.ads (BOOL) New subtype.
208 (taskIsSuspended): Change return type to BOOL.
209 (Interrupt_Context): Change return type to BOOL. Adjust comments
210 accordingly.
211 * libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL):
212 use type.
213 (Is_Task_Context): Test Interrupt_Context against 0.
214 * libgnat/i-vxwork.ads (BOOL): New int.
215 (intContext): Change return type to BOOL. Adjust comments.
216 * libgnat/i-vxwork__x86.ads: Likewise.
217
2182021-09-22 Piotr Trojanek <trojanek@adacore.com>
219
220 * sem_aux.adb, sem_aux.ads (Package_Body): Moved from GNATprove.
221 * sem_elab.adb (Spec_And_Body_From_Entity): Refine type of parameter.
222
2232021-09-22 Arnaud Charlet <charlet@adacore.com>
224
225 * doc/gnat_ugn/platform_specific_information.rst: Improve doc
226 on permission and containers.
227 * gnat_ugn.texi: Regenerate.
228
2292021-09-22 Yannick Moy <moy@adacore.com>
230
231 * atree.adb (Rewrite): Fix parent node of shared aspects.
232 * atree.ads (Rewrite): Add ??? comment on incorrect
233 documentation.
234 * einfo-utils.adb (Known_Esize): Fix logic.
235 * sem_ch13.adb (Alignment_Check_For_Size_Change,
236 Analyze_Attribute_Definition_Clause): Protect against unset
237 Size.
238
2392021-09-22 Yannick Moy <moy@adacore.com>
240
241 * freeze.adb (Build_Renamed_Body): Special case for GNATprove.
242 * sem_ch6.adb (Analyze_Expression_Function): Remove useless test
243 for a node to come from source, which becomes harmful otherwise.
244
2452021-09-22 Justin Squirek <squirek@adacore.com>
246
247 * ali.adb, ali.ads (Scan_ALI): Remove use of deprecated
248 parameter Ignore_ED, and all specification for Lower in call to
249 Get_File_Name.
250 * ali-util.adb (Read_Withed_ALIs): Modify call to Scan_ALI.
251 * clean.adb (Clean_Executables): Likewise.
252 * gnatbind.adb (Add_Artificial_ALI_File, Executable section):
253 Likewise.
254 * gnatlink.adb (Executable section): Likewise.
255 * gnatls.adb (Executable section): Likewise.
256 * make.adb (Check, Wait_For_Available_Slot): Likewise.
257 * aspects.ads: Add Aspect_No_Controlled_Parts to
258 Nonoverridable_Aspect_Id
259 * opt.ads: Remove function pointers used as a workaround for
260 ASIS.
261 * osint-c.adb (Executable section): Remove setting of function
262 pointer workarounds needed for ASIS.
263 * osint.adb (Read_Default_Search_Dirs): Correct behavior to
264 detect EOL characters.
265 * par_sco.adb (Output_Header): Remove comment regarding use of
266 First_Sloc.
267 (Traverse_Sync_Definition): Renamed to
268 Traverse_Protected_Or_Task_Definition.
269 * pprint.adb (Interal_List_Name): Add description about purpose,
270 and refactor conditional statement.
271 (Prepend): Removed.
272 * repinfo.adb (List_Rep_Info, Write_Info_Line): Remove use of
273 subprogram pointer.
274 * scng.adb (Scan): Remove CODEFIX question, and minor comment
275 change.
276 * sem_attr.adb (Analyze_Image_Attribute): Remove special
277 processing for 'Img.
278 * sem_ch6.adb (Check_Untagged_Equality): Add RM reference.
279 (FCE): Add comment describing behavior.
280 (Is_Non_Overriding_Operation): Minor comment formatting change.
281 * sem_type.adb (Is_Actual_Subprogram): Add comment about
282 Comes_From_Source test.
283 (Matching_Types): Describe non-matching cases.
284 * sem_util.adb (Is_Confirming): Add stub case for
285 No_Controlled_Parts.
286
2872021-09-22 Yannick Moy <moy@adacore.com>
288
289 * sem_ch13.adb (Build_Predicate_Functions): Access
290 Predicated_Parent only on subtypes.
291
2922021-09-22 Arnaud Charlet <charlet@adacore.com>
293
294 * sem_prag.adb (Process_Import_Or_Interface): Relax error when
295 Relaxed_RM_Semantics.
296
2972021-09-22 Steve Baird <baird@adacore.com>
298
299 * libgnat/s-regpat.adb (Match): Handle the case where Self.First
300 is not NUL (so we know the first character we are looking for),
301 but case-insensitive matching has
302 been specified.
303 (Optimize): In the case of an EXACTF Op, set Self.First as is
304 done in the EXACT case, except with the addition of a call to
305 Lower_Case.
306
3072021-09-22 Eric Botcazou <ebotcazou@adacore.com>
308
309 * libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete.
310 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o.
311 (GNATBIND_OBJS): Likewise.
312
3132021-09-22 Yannick Moy <moy@adacore.com>
314
315 * einfo.ads: Fix comments.
316 * exp_aggr.adb: Fix variable name.
317 * exp_util.adb: Fix comments.
318 * sem_ch13.adb: Fix comments.
319 * sem_ch3.adb: Fix comments and variable name.
320
3212021-09-22 Doug Rupp <rupp@adacore.com>
322
323 * libgnarl/s-osinte__vxworks.ads: Make procedure vice function.
324 * libgnarl/s-vxwext.ads: Likewise.
325 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
326 * libgnarl/s-vxwext__kernel.adb: Likewise.
327 * libgnarl/s-vxwext__kernel.ads: Likewise.
328 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
329 * libgnarl/s-vxwext__rtp.adb: Likewise.
330 * libgnarl/s-vxwext__rtp.ads: Likewise.
331 * libgnarl/s-taprop__vxworks.adb (Stop_All_Tasks): Call
332 Int_Unlock as a procedure.
333
3342021-09-22 Doug Rupp <rupp@adacore.com>
335
336 * libgnarl/s-osinte__vxworks.ads (SVE): New package renaming
337 (vx_freq_t): New subtype.
338 (sysClkRateGet): Return vx_freq_t.
339 * libgnarl/s-vxwext.ads (vx_freq_t): New type.
340 * libgnarl/s-vxwext__kernel.ads: Likewise.
341 * libgnarl/s-vxwext__rtp.ads: Likewise.
342
3432021-09-22 Ghjuvan Lacambre <lacambre@adacore.com>
344
345 * sem_case.adb (Composite_Case_Ops): Replace 'Image with
346 Error_Msg_Uint.
347
3482021-09-22 Eric Botcazou <ebotcazou@adacore.com>
349
350 * exp_ch4.adb (Expand_N_If_Expression): Generate an intermediate
351 temporary when the expression is a condition in an outer decision
352 and control-flow optimizations are suppressed.
353
3542021-09-22 Steve Baird <baird@adacore.com>
355
356 * exp_ch5.adb (Expand_General_Case_Statement.Pattern_Match): Add
357 new function Indexed_Element to handle array element
358 comparisons. Handle case choices that are array aggregates,
359 string literals, or names denoting constants.
360 * sem_case.adb (Composite_Case_Ops.Array_Case_Ops): New package
361 providing utilities needed for casing on arrays.
362 (Composite_Case_Ops.Choice_Analysis): If necessary, include
363 array length as a "component" (like a discriminant) when
364 traversing components. We do not (yet) partition choice analysis
365 to deal with unequal length choices separately. Instead, we
366 embed everything in the minimum-dimensionality Cartesian product
367 space needed to handle all choices properly; this is determined
368 by the length of the longest choice pattern.
369 (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
370 Include length as a "component" in the traversal if necessary.
371 (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
372 Add support for case choices that are string literals or names
373 denoting constants.
374 (Composite_Case_Ops.Choice_Analysis): Include length as a
375 "component" in the analysis if necessary.
376 (Check_Choices.Check_Case_Pattern_Choices.Ops.Value_Sets.Value_Index_Count):
377 Improve error message when capacity exceeded.
378 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
379 documentation to reflect current implementation status.
380 * gnat_rm.texi: Regenerate.
381
3822021-09-22 Eric Botcazou <ebotcazou@adacore.com>
383
384 * freeze.adb (Check_Component_Storage_Order): Give a specific error
385 message for non-byte-aligned component in the packed case. Replace
386 "composite" with "record" in both cases.
387
3882021-09-22 Arnaud Charlet <charlet@adacore.com>
389
390 * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: Make compatible
391 with No_Elaboration_Code_All.
392 * libgnarl/s-taskin.ads, libgnarl/s-tassta.adb: Adjust
393 accordingly.
394
3952021-09-22 Arnaud Charlet <charlet@adacore.com>
396
397 * sem_ch6.adb (Check_Returns): Change message on missing return.
398
3992021-09-22 Arnaud Charlet <charlet@adacore.com>
400
401 * gnatfind.adb, gnatxref.adb: Mark these tools as obsolete
402 before removing them completely.
403
4042021-09-22 Eric Botcazou <ebotcazou@adacore.com>
405
406 * gcc-interface/decl.c (range_cannot_be_superflat): Tweak comments.
407
2c41dd82
GA
4082021-09-21 Doug Rupp <rupp@adacore.com>
409
410 * init.c (__gnat_error_handler) [LynxOS]: Add a comment about
411 missing optional args.
412
4132021-09-21 Yannick Moy <moy@adacore.com>
414
415 * gen_il-gen.adb (Put_Opt_Subtype): Add suffix.
416
4172021-09-21 Justin Squirek <squirek@adacore.com>
418
419 * sem_util.adb (Accessibility_Level): Remove spurious special
420 case for protected type components.
421 * exp_ch4.adb (Generate_Accessibility_Check): Use general
422 Accessibility_Level instead of the low-level function
423 Type_Access_Level.
424
4252021-09-21 Eric Botcazou <ebotcazou@adacore.com>
426
427 * gnat_ugn.texi: Regenerate.
428
4292021-09-21 Matthieu Eyraud <eyraud@adacore.com>
430
431 * par_sco.adb (Traverse_One): Add support for pragma Invariant /
432 Type_Invariant.
433
4342021-09-21 Bob Duff <duff@adacore.com>
435
436 * gen_il-gen.adb (Put_Opt_Subtype): Print out subtypes of the
437 form:
438 subtype Opt_N_Declaration is
439 Node_Id with Predicate =>
440 Opt_N_Declaration = Empty or else
441 Opt_N_Declaration in N_Declaration_Id;
442 One for each node or entity type, with the predicate allowing
443 Empty.
444 * atree.adb (Parent, Set_Parent): Remove unnecessary "Atree.".
445
4462021-09-21 Patrick Bernardi <bernardi@adacore.com>
447
448 * bindgen.adb (Gen_Adainit): For targets that suppress the
449 standard library: set the default stack size global variable if
450 a value is provided via the -d switch, and generate a call to
451 __gnat_initialize_stack_limit if stack checking using stack
452 limits is enabled.
453
4542021-09-21 Bob Duff <duff@adacore.com>
455
456 * sem_ch13.adb (Stream_Size): Print message about allowed stream
457 sizes even if other error were already found. This avoids
458 falling into the 'else', which prints "Stream_Size cannot be
459 given for...", which is misleading -- the Size COULD be given if
460 it were correct.
461
4622021-09-21 Daniel Mercier <mercier@adacore.com>
463
464 * exp_util.adb (Build_Temporary): In case of an external DISCR
465 symbol, set the related expression for CodePeer so that a more
466 comprehensible message can be emitted to the user.
467
4682021-09-21 Eric Botcazou <ebotcazou@adacore.com>
469
470 * libgnat/s-dwalin.adb (Parse_Header): Tweak comments.
471 (Read_Entry_Format_Array): Tweak exception message.
472 (Symbolic_Address.Set_Result): Likewise.
473
4742021-09-21 Ed Schonberg <schonberg@adacore.com>
475
476 * exp_ch7.adb (Make_Init_Call): Add guard to protect against a
477 missing initialization procedure for a type.
478
4792021-09-21 Doug Rupp <rupp@adacore.com>
480
481 * Makefile.rtl: Remove unused VxWorks sections.
482 * libgnarl/s-vxwext__noints.adb: Remove.
483 * libgnarl/s-vxwext__vthreads.ads: Remove.
484 * libgnat/a-elchha__vxworks-ppc-full.adb: Remove.
485 * libgnat/s-osprim__vxworks.adb: Remove.
486 * libgnat/s-osvers__vxworks-653.ads: Remove.
487 * libgnat/system-vxworks-e500-vthread.ads: Remove.
488 * libgnat/system-vxworks-ppc-vthread.ads: Remove.
489 * libgnat/system-vxworks-x86-vthread.ads: Remove.
490
4912021-09-21 Bob Duff <duff@adacore.com>
492
493 * uintp.ads, uintp.adb (UI_Is_In_Int_Range): Change the type of
494 the formal parameter to Valid_Uint. Remove code that preserved
495 the previous behavior, and replace it with an assertion. The
496 previous behavior is no longer needed given the recent change to
497 gigi.
498 (No, Present): Add comment.
499
5002021-09-21 Bob Duff <duff@adacore.com>
501
502 * sem_eval.adb (Fold_Shift): Replace an if_expression with an
503 if_statement.
504
5052021-09-21 Bob Duff <duff@adacore.com>
506
507 * uintp.ads, uintp.adb: Add assertions.
508 (Ubool, Opt_Ubool): New "boolean" subtypes.
509 (UI_Is_In_Int_Range): The parameter should probably be
510 Valid_Uint, but we don't change that for now, because it causes
511 failures in gigi.
512 * sem_util.ads, sem_util.adb (Is_True, Is_False,
513 Static_Boolean): Use Opt_Ubool subtype. Document the fact that
514 Is_True (No_Uint) = True. Implement Is_False in terms of
515 Is_True. We considered changing Static_Boolean to return Uint_1
516 in case of error, but that doesn't fit in well with
517 Static_Integer.
518 (Has_Compatible_Alignment_Internal): Deal with cases where Offs
519 is No_Uint. Change one "and" to "and then" to ensure we don't
520 pass No_Uint to ">", which would violate the new assertions.
521 * exp_util.adb, freeze.adb, sem_ch13.adb: Avoid violating new
522 assertions in Uintp.
523
5242021-09-21 Eric Botcazou <ebotcazou@adacore.com>
525
526 * libgnat/s-dwalin.adb (To_File_Name): Fetch only the last string
527 from the .debug_line_str section.
528 (Symbolic_Address.Set_Result): Likewise.
529
5302021-09-21 Eric Botcazou <ebotcazou@adacore.com>
531
532 * libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx
533 and DW_FORM_implicit_const. Replace Constraint_Error with
534 Dwarf_Error.
535
5362021-09-21 Ghjuvan Lacambre <lacambre@adacore.com>
537
538 * exp_pakd.adb (Expand_Packed_Not): Replace expression with
539 statement.
540
5412021-09-21 Ghjuvan Lacambre <lacambre@adacore.com>
542
543 * sem_eval.adb (Is_Static_Subtype): Take predicates created
544 through "predicate" pragma into account.
545
5462021-09-21 Frederic Konrad <konrad@adacore.com>
547
548 * Makefile.rtl (aarch64-rtems*): Add GNATRTL_128BIT_PAIRS to
549 the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
550 the EXTRA_GNATRTL_NONTASKING_OBJS list.
551
5522021-09-21 Gary Dismukes <dismukes@adacore.com>
553
554 * sem_ch4.adb (Remove_Abstract_Operations): Add condition to
555 test for an E_Operator as part of criteria for setting
556 Abstract_Op on interpretations involving predefined operators.
557
5582021-09-21 Javier Miranda <miranda@adacore.com>
559
560 * exp_ch6.adb (Expand_Simple_Function_Return): For explicit
561 dereference of type conversion, enable code that ensures that
562 the tag of the result is that of the result type.
563
5642021-09-21 Bob Duff <duff@adacore.com>
565
566 * einfo-utils.adb: Add support (currently disabled) for using
567 "initial zero" instead of "Uint_0" to represent "unknown". Call
568 Known_ functions, instead of evilly duplicating their code
569 inline.
570 * fe.h (No_Uint_To_0): New function to convert No_Uint to
571 Uint_0, in order to preserve existing behavior.
572 (Copy_Esize, Copy_RM_Size): New imports from Einfo.Utils.
573 * cstand.adb: Set size fields of Standard_Debug_Renaming_Type
574 and Standard_Exception_Type.
575 * checks.adb, exp_attr.adb, exp_ch3.adb, exp_ch5.adb,
576 exp_ch6.adb, exp_pakd.adb, exp_util.adb, freeze.adb, itypes.adb,
577 layout.adb, repinfo.adb, sem_attr.adb, sem_ch12.adb,
578 sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch7.adb,
579 sem_util.adb: Protect calls with Known_..., use Copy_... Remove
580 assumption that Uint_0 represents "unknown".
581 * types.ads (Nonzero_Int): New subtype.
582 * gcc-interface/decl.c, gcc-interface/trans.c: Protect calls
583 with Known_... and use Copy_... as appropriate, to avoid
584 blowing up in unknown cases. Similarly, call No_Uint_To_0 to
585 preserve existing behavior.
586
5872021-09-21 Steve Baird <baird@adacore.com>
588
589 * sem_ch13.adb (Analyze_Aspect_Specifications): Add a new nested
590 function, Directly_Specified, and then use it in the
591 implementation of the required check.
592
5932021-09-21 Steve Baird <baird@adacore.com>
594
595 * libgnat/a-costso.ads, libgnat/a-costso.adb: A new library
596 unit, Ada.Containers.Stable_Sorting, which exports a pair of
597 generics (one within the other) which are instantiated by each
598 of the 5 doubly-linked list container generics to implement
599 their respective Sort procedures. We use a pair of generics,
600 rather than a single generic, in order to further reduce code
601 duplication. The outer generic takes a formal private Node_Ref
602 type representing a reference to a linked list element. For some
603 instances, the corresponding actual parameter will be an access
604 type; for others, it will be the index type for an array.
605 * Makefile.rtl: Include new Ada.Containers.Stable_Sorting unit.
606 * libgnat/a-cbdlli.adb, libgnat/a-cdlili.adb,
607 libgnat/a-cfdlli.adb, libgnat/a-cidlli.adb, libgnat/a-crdlli.adb
608 (Sort): Replace existing Sort implementation with a call to an
609 instance of
610 Ada.Containers.Stable_Sorting.Doubly_Linked_List_Sort. Declare
611 the (trivial) actual parameters needed to declare that instance.
612 * libgnat/a-cfdlli.ads: Fix a bug encountered during testing in
613 the postcondition for M_Elements_Sorted. With a partial
614 ordering, it is possible for all three of (X < Y), (Y < X),
615 and (X = Y) to be simultaneously false, so that case needs to
616 handled correctly.
617
6182021-09-21 Piotr Trojanek <trojanek@adacore.com>
619
620 * errout.adb (Error_Msg_Internal): Fix references to Sptr and
621 Optr in comment; fix grammar of "low-level" where it is used as
622 an adjective.
623
6242021-09-21 Piotr Trojanek <trojanek@adacore.com>
625
626 * errout.adb (Write_Source_Code_Lines): Use Cur_Loc before
627 incrementing it, so that we don't need to decrement it.
628
6292021-09-21 Yannick Moy <moy@adacore.com>
630
631 * errout.adb (Get_Line_End): Do not allow the result to go past
632 the end of the buffer.
633
6342021-09-21 Ed Schonberg <schonberg@adacore.com>
635
636 * sem_ch3.adb (Process_Discriminant_Expressions): If the
637 constraint is for a Component_Definition that appears in a
638 Component_Declaration, the entity to be used to create the
639 potentially global symbol is the Defining_Identifier of the
640 Component_Declaration.
641
6422021-09-21 Bob Duff <duff@adacore.com>
643
644 * libgnat/a-stbufi.ads, libgnat/a-stbufi.adb: Change all
645 occurrences of GNAT.OS_Lib to System.OS_Lib.
646
62498024
GA
6472021-09-20 Piotr Trojanek <trojanek@adacore.com>
648
649 * inline.adb (Has_Excluded_Declaration): Remove redundant guard;
650 the guarded code will call First on a No_List, which is
651 well-defined and gives Empty.
652
6532021-09-20 Piotr Trojanek <trojanek@adacore.com>
654
655 * inline.adb (Has_Excluded_Declaration): Rename and reduce scope
656 of a local variable.
657
6582021-09-20 Bob Duff <duff@adacore.com>
659
660 * uintp.ads, uintp.adb (Present, No): New functions for
661 comparing with No_Uint.
662 * checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb,
663 exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb,
664 exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb,
665 sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb,
666 sinfo-utils.adb, treepr.adb: Use Present (...) instead of "...
667 /= No_Uint", and No (...) instead of "... = No_Uint".
668
6692021-09-20 Claire Dross <dross@adacore.com>
670
671 * libgnat/s-ficobl.ads: The entire package has a SPARK_Mode =>
672 Off aspect.
673
6742021-09-20 Doug Rupp <rupp@adacore.com>
675
676 * libgnat/a-calend.adb: Remove time_t, replace with OS_Time.
677 * libgnat/s-os_lib.ads: Fix comments regarding time_t conversion
678 functions to reflect the use of To_Ada in in Ada.Calendar
679 package body.
680 * sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of
681 time_t.
682
6832021-09-20 Piotr Trojanek <trojanek@adacore.com>
684
685 * sem_res.adb (Resolve_Actual): Remove
686
6872021-09-20 Bob Duff <duff@adacore.com>
688
689 * einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads,
690 gen_il-fields.ads: Remove unused and no-longer-used routines.
691 Move related routines together. Rewrite incorrect
692 documentation, and documentation that will be incorrect when
693 e.g. Esize-related routines are fixed. Remove unused field
694 Normalized_Position_Max.
695 * cstand.adb, exp_pakd.adb, freeze.adb,
696 gen_il-gen-gen_entities.adb, itypes.adb, layout.adb,
697 sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
698 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
699 sem_util.adb, ttypes.ads: Update calls to routines removed from
700 or renamed in Einfo.Utils.
701 * uintp.ads (Upos): Fix this subtype, which was unintentionally
702 declared to include Uint_0.
703
7042021-09-20 Piotr Trojanek <trojanek@adacore.com>
705
706 * exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in
707 comment.
708 * exp_disp.adb (Mark_DT): Remove unnecessary initialization of
709 I_Depth.
710
7112021-09-20 Piotr Trojanek <trojanek@adacore.com>
712
713 * contracts.adb (Add_Contract_Item): Accept volatile-related
714 properties on constants.
715 (Analyze_Object_Contract): Check external properties on
716 constants; accept volatile constants.
717 (Check_Type_Or_Object_External_Properties): Replace "variable"
718 with "object" in error messages; replace Decl_Kind with a local
719 constant.
720 * sem_prag.adb (Analyze_Pragma): Accept volatile-related
721 properties on constants.
722
7232021-09-20 Pierre-Alexandre Bazin <bazin@adacore.com>
724
725 * libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas
726 for proof.
727 (Delete): Added assertions for proof, and conditions to avoid
728 overflow.
729 (Head): Added loop invariant.
730 (Insert): Same as Delete.
731 (Move): Declared with SPARK_Mode Off.
732 (Overwrite): Added assertions for proof, and conditions to avoid
733 overflow.
734 (Replace_Slice): Added assertions for proof, and conditions to
735 avoid overflow.
736 (Tail): Added loop invariant and avoided overflows.
737 (Translate): Added loop invariants.
738 (Trim): Ensured empty strings returned start at 1.
739 * libgnat/a-strfix.ads (Index): Rewrote contract cases for
740 easier proof.
741 (Index_Non_Blank): Separated the null string case.
742 (Count): Specified Mapping shouldn't be null.
743 (Find_Token): Specified Source'First should be Positive when no
744 From is given.
745 (Translate): Specified Mapping shouldn't be null.
746 ("*"): Rewrote postcondition for easier proof.
747 * libgnat/a-strsea.adb (Belongs): Added postcondition.
748 (Count): Rewrote loops and added loop invariants to avoid
749 overflows.
750 (Find_Token): Added loop invariants.
751 (Index): Rewrote loops to avoid overflows and added loop
752 invariants for proof.
753 (Index_Non_Blank): Added loop invariants.
754 (Is_Identity): New function isolated without SPARK_Mode.
755 * libgnat/a-strsea.ads: Fix starting comment as package is no
756 longer private.
757 (Match): Declared ghost expression function Match.
758 (Is_Identity): Described identity in the postcondition.
759 (Index, Index_Non_Blank, Count, Find_Token): Added contract from
760 a-strfix.ads.
761
7622021-09-20 Piotr Trojanek <trojanek@adacore.com>
763
764 * sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after
765 specs; fix typo in header box; cleanup whitespace.
766
7672021-09-20 Eric Botcazou <ebotcazou@adacore.com>
768
769 * libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF.
770
7712021-09-20 Eric Botcazou <ebotcazou@adacore.com>
772
773 * adaint.c (__gnat_get_executable_load_address): Add Win32 support.
774 * libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment.
775 (Object_File): Minor reformatting.
776 (ELF_Object_File): Uncomment predicate.
777 (PECOFF_Object_File): Likewise.
778 (XCOFF32_Object_File): Likewise.
779 * libgnat/s-objrea.adb: Minor reformatting throughout.
780 (Get_Load_Address): Implement for PE-COFF.
781 * libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements
782 and use consistent wording in comments.
783 (Dwarf_Context): Set type of Low, High and Load_Address to Address.
784 * libgnat/s-dwalin.adb (Get_Load_Displacement): New function.
785 (Is_Inside): Call Get_Load_Displacement.
786 (Low_Address): Likewise.
787 (Open): Adjust to type change.
788 (Aranges_Lookup): Change type of Addr to Address.
789 (Read_Aranges_Entry): Likewise for Start and adjust.
790 (Enable_Cach): Adjust to type change.
791 (Symbolic_Address): Change type of Addr to Address.
792 (Symbolic_Traceback): Call Get_Load_Displacement.
793
7942021-09-20 Piotr Trojanek <trojanek@adacore.com>
795
796 * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table,
797 so it is executed regardless of the Generate_SCIL mode.
798
7992021-09-20 Ed Schonberg <schonberg@adacore.com>
800
801 * exp_util.ads (Force_Evaluation): Add formal parameter
802 Discr_Number, to indicate discriminant expression for which an
803 external name must be created.
804 (Remove_Side_Effects): Ditto.
805 * exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with
806 added parameter.
807 (Remove_Side_Effects, Build_Temporary): If Discr_Number is
808 positive, create an external name with suffix DISCR and the
809 given discriminant number, analogous to what is done for
810 temporaries for array type bounds.
811 * sem_ch3.adb (Process_Discriminant_Expressions): If the
812 constraint is for an object or component declaration and the
813 corresponding entity may be visible in another unit, invoke
814 Force_Evaluation with the new parameter.
815
8162021-09-20 Arnaud Charlet <charlet@adacore.com>
817
818 * gen_il-internals.ads (Invalid_Val): Remove, unused and
819 generates warnings.
820
8212021-09-20 Piotr Trojanek <trojanek@adacore.com>
822
823 * exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine
824 types of local constants.
825
8262021-09-20 Gary Dismukes <dismukes@adacore.com>
827
828 * exp_attr.adb (Expand_N_Attribute_Reference): Fold
829 Preelaborable_Initialization attribute in cases where it hasn't
830 been folded by the analyzer.
831 * exp_disp.adb (Original_View_In_Visible_Part): This function is
832 removed and moved to sem_util.adb.
833 * sem_attr.adb (Attribute_22): Add
834 Attribute_Preelaborable_Initialization as an Ada 2022 attribute.
835 (Analyze_Attribute, Attribute_Preelaborable_Initialization):
836 Check that the prefix of the attribute is either a formal
837 private or derived type, or a composite type declared within the
838 visible part of a package or generic package.
839 (Eval_Attribute): Perform folding of
840 Preelaborable_Initialization attribute based on
841 Has_Preelaborable_Initialization applied to the prefix type.
842 * sem_ch3.adb (Resolve_Aspects): Add specialized code for
843 Preelaborable_Initialization used at the end of a package
844 visible part for setting Known_To_Have_Preelab_Init on types
845 that are specified with True or that have a conjunction of one
846 or more P_I attributes applied to formal types.
847 * sem_ch7.adb (Analyze_Package_Specification): On call to
848 Has_Preelaborable_Initialization, pass True for new formal
849 Formal_Types_Have_Preelab_Init, so that error checking treats
850 subcomponents that are declared within types in generics as
851 having preelaborable initialization when the subcomponents are
852 of formal types.
853 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for
854 P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since
855 this aspect is handled specially and the
856 Known_To_Have_Preelab_Init flag will get set on types that have
857 the aspect by other means.
858 (Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for
859 Aspect_Preelaborable_Initialization for allowing the aspect to
860 be specified on formal type declarations.
861 (Is_Operational_Item): Treat Attribute_Put_Image as an
862 operational attribute. The need for this was encountered while
863 working on these changes.
864 * sem_util.ads (Has_Preelaborable_Initialization): Add
865 Formal_Types_Have_Preelab_Init as a new formal parameter that
866 defaults to False.
867 (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New
868 function.
869 (Original_View_In_Visible_Part): Moved here from exp_disp.adb,
870 so it can be called by Analyze_Attribute.
871 * sem_util.adb (Has_Preelaborable_Initialization): Return True
872 for formal private and derived types when new formal
873 Formal_Types_Have_Preelab_Init is True, and pass along the
874 Formal_Types_Have_Preelab_Init flag in the array component case.
875 (Check_Components): Pass along Formal_Types_Have_Preelab_Init
876 flag on call to Has_Preelaborable_Initialization.
877 (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function
878 that returns True when passed an expression that includes one or
879 more attributes for Preelaborable_Initialization applied to
880 prefixes that denote formal types.
881 (Is_Formal_Preelab_Init_Attribute): New utility function nested
882 within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that
883 determines whether a node is a P_I attribute applied to a
884 generic formal type.
885 (Original_View_In_Visible_Part): Moved here from exp_util.adb,
886 so it can be called by Analyze_Attribute.
887 * snames.ads-tmpl: Add note near the start of spec giving
888 details about what needs to be done when adding a name that
889 corresponds to both an attribute and a pragma. Delete existing
890 occurrence of Name_Preelaborable_Initialization, and add a note
891 comment in the list of Name_* constants at that place,
892 indicating that it's included in type Pragma_Id, etc., echoing
893 other such comments for names that are both an attribute and a
894 pragma. Insert Name_Preelaborable_Initialization in the
895 alphabetized set of Name_* constants corresponding to
896 attributes (between First_Attribute_Name and
897 Last_Attribute_Name).
898 (type Attribute_Id): Add new literal
899 Attribute_Preelaborable_Initialization.
900 (type Pragma_Id): Move Pragma_Preelaborable_Initialization from
901 its current position to the end of the type, in the special set
902 of pragma literals that have corresponding atttributes. Add to
903 accompanying comment, indicating that functions Get_Pragma_Id
904 and Is_Pragma_Name need to be updated when adding a pragma
905 literal to the special set.
906 * snames.adb-tmpl (Get_Pragma_Id): Add case alternative for
907 Pragma_Preelaborable_Initialization.
908 (Is_Pragma_Name): Add test for
909 Name_Preelaborable_Initialization.
910
9112021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
912
913 * sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check.
914
9152021-09-20 Piotr Trojanek <trojanek@adacore.com>
916
917 * sem_ch3.adb (Build_Discriminant_Constraints): Exit once a
918 first discriminant is found and the Discrim_Present flag is set.
919
9202021-09-20 Bob Duff <duff@adacore.com>
921
922 * gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in
923 Generate_SCIL and GNATprove_Mode.
924 * repinfo.adb (List_Common_Type_Info): Fix comment.
925
9262021-09-20 Eric Botcazou <ebotcazou@adacore.com>
927
928 * libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback,
929 add clause for System.Traceback_Entries and alphabetize.
930 (AET): Delete.
931 (STE): New package renaming.
932 (Symbolic_Traceback): Adjust.
933 * libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback
934 and System.Traceback_Entries.
935 (Symbolic_Traceback): Adjust.
936
9372021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
938
939 * sem_ch4.adb (Find_Non_Universal_Interpretations): Check if
940 types are compatible before adding interpretation.
941
9422021-09-20 Justin Squirek <squirek@adacore.com>
943
944 * exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect
945 against calculating accessibility levels against internal
946 compiler-generated types.
947
9482021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
949
950 * sem_dim.adb (Dimensions_Msg_Of): Capitalize comment.
951
9522021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
953
954 * adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning
955 logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
956 * back_end.adb (Scan_Back_End_Switches): Replace switch-scanning
957 logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
958 * backend_utils.adb: New file.
959 * backend_utils.ads: New file.
960 * gcc-interface/Make-lang.in: Add ada/backend_utils.o.
961
9622021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
963
964 * atree.adb (Get_32_Bit_Field): Declare result before returning.
965
9662021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
967
968 * exp_ch7.adb (Expand_N_Package_Body): Replace
969 Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package.
970 * gnat_cuda.adb (Expand_CUDA_Package): New procedure.
971 (Build_And_Insert_Cuda_Initialization): Make internal.
972 * gnat_cuda.ads (Expand_CUDA_Package): New procedure.
973 (Build_And_Insert_Cuda_Initialization): Remove from spec.
974
9752021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
976
977 * usage.adb (Usage): Update -gnatw.c messages.
978
9792021-09-20 Eric Botcazou <ebotcazou@adacore.com>
980
981 * sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted.
982
9e85da8d
GA
9832021-09-15 Alexandre Oliva <oliva@adacore.com>
984
985 * gcc-interface/utils.c: Include opts.h.
986 (handle_zero_call_used_regs_attribute): New.
987 (gnat_internal_attribute_table): Add zero_call_used_regs.
988
52ac72a4
GA
9892021-09-14 Eric Botcazou <ebotcazou@adacore.com>
990
991 PR ada/101970
992 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>:
993 Use an unchecked conversion instead of a regular conversion in the
994 enumeration case and remove Conversion_OK flag in the integer case.
995 <Attribute_Pos>: Remove superfluous test.
996
9972021-09-14 Eric Botcazou <ebotcazou@adacore.com>
998
999 * gcc-interface/decl.c (validate_size): Do not issue an error if the
1000 old size has overflowed.
1001
10022021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1003
1004 * gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make
1005 the representative array the debug type.
1006
10072021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1008
1009 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Turn variable
1010 into constant. Capitalize GCC in warning message.
1011 (intrin_arglists_compatible_p): Change parameter to pointer-to-const
1012 Adjust warning messages. Turn warning into error for vector types.
1013 (intrin_return_compatible_p): Likewise.
1014 (intrin_profiles_compatible_p): Change parameter to pointer-to-const
1015
10162021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1017
1018 * libgnat/s-atopri.ads (bool): Delete.
1019 (Atomic_Test_And_Set): Replace bool with Boolean.
1020 (Atomic_Always_Lock_Free): Likewise.
1021 * libgnat/s-aoinar.adb (Is_Lock_Free): Adjust.
1022 * libgnat/s-aomoar.adb (Is_Lock_Free): Likewise.
1023 * libgnat/s-aotase.adb (Atomic_Test_And_Set): Likewise.
1024 * libgnat/s-atopex.adb (Atomic_Compare_And_Exchange): Likewise.
1025 * gcc-interface/decl.c: Include gimple-expr.h.
1026 (intrin_types_incompatible_p): Delete.
1027 (intrin_arglists_compatible_p): Call types_compatible_p.
1028 (intrin_return_compatible_p): Likewise.
1029
10302021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1031
1032 * gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on
1033 pointer and reference types.
1034
10352021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1036
1037 PR ada/101385
1038 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
1039 (-Wall): Minor fixes.
1040 (-w): Likewise.
1041 (-Werror): Document that it also sets -gnatwe by default.
1042 * gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is
1043 passed and move expansion of -gnatw switches to before -gnatez.
1044
10452021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1046
1047 * gcc-interface/utils.c (can_materialize_object_renaming_p): Do not
1048 call UI_Is_In_Int_Range on the result of Normalized_First_Bit.
1049
10502021-09-14 Eric Botcazou <ebotcazou@adacore.com>
1051
1052 * gcc-interface/decl.c (gnat_to_gnu_entity) <is_type>: Declare new
1053 constant. Adjust error message issued by validate_size in the case
1054 of by-reference types.
1055 (validate_size): Always use the error strings passed by the caller.
1056
b6db7cd4
GA
10572021-09-08 liuhongt <hongtao.liu@intel.com>
1058
1059 * gcc-interface/misc.c (gnat_post_options): Issue an error for
1060 -fexcess-precision=16.
1061
b57fba5e
GA
10622021-08-19 Arnaud Charlet <charlet@adacore.com>
1063
1064 PR ada/101924
1065 * gcc-interface/Make-lang.in (STAGE1_LIBS): Define on hpux.
1066
6e529985
GA
10672021-08-18 Eric Botcazou <ebotcazou@gcc.gnu.org>
1068
1069 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Fix
1070 thinko in latest change.
1071
58f87503
GA
10722021-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
1073
1074 PR debug/101598
1075 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the
1076 DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to
1077 UNKNOWN_LOCATION.
1078
124bb557
GA
10792021-07-25 Arnaud Charlet <charlet@adacore.com>
1080
1081 * libgnat/s-osprim__x32.adb: Add missing with clause.
1082
07bcbf9c
GA
10832021-07-12 Pierre-Marie de Rodat <derodat@adacore.com>
1084
1085 * adaint.c (__gnat_number_of_cpus): Replace "#ifdef" by "#if
1086 defined".
1087
10882021-07-12 Eric Botcazou <ebotcazou@adacore.com>
1089
1090 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Add a
1091 parallel type only when -fgnat-encodings=all is specified.
1092 <E_Array_Type>: Use the PAT name and special suffixes only when
1093 -fgnat-encodings=all is specified.
1094 <E_Array_Subtype>: Build a special type for debugging purposes only
1095 when -fgnat-encodings=all is specified. Add a parallel type or use
1096 the PAT name only when -fgnat-encodings=all is specified.
1097 <E_Record_Type>: Generate debug info for the inner record types only
1098 when -fgnat-encodings=all is specified.
1099 <E_Record_Subtype>: Use a debug type for an artificial subtype only
1100 except when -fgnat-encodings=all is specified.
1101 (elaborate_expression_1): Reset need_for_debug when possible only
1102 except when -fgnat-encodings=all is specified.
1103 (components_to_record): Use XV encodings for variable size only
1104 when -fgnat-encodings=all is specified.
1105 (associate_original_type_to_packed_array): Add a parallel type only
1106 when -fgnat-encodings=all is specified.
1107 * gcc-interface/misc.c (gnat_get_array_descr_info): Do not return
1108 full information only when -fgnat-encodings=all is specified.
1109 * gcc-interface/utils.c (make_packable_type): Add a parallel type
1110 only when -fgnat-encodings=all is specified.
1111 (maybe_pad_type): Make the inner type a debug type only except when
1112 -fgnat-encodings=all is specified. Create an XVS type for variable
1113 size only when -fgnat-encodings=all is specified.
1114 (rest_of_record_type_compilation): Add a parallel type only when
1115 -fgnat-encodings=all is specified.
1116
11172021-07-12 Eric Botcazou <ebotcazou@adacore.com>
1118
1119 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Use a
1120 fixed lower bound if the index subtype is marked so, as well as a
1121 more efficient formula for the upper bound if the array cannot be
1122 superflat.
1123 (flb_cannot_be_superflat): New predicate.
1124 (cannot_be_superflat): Rename into...
1125 (range_cannot_be_superfla): ...this. Minor tweak.
1126
11272021-07-12 Bob Duff <duff@adacore.com>
1128
1129 * uintp.ads, types.h: New subtypes of Uint: Valid_Uint, Unat,
1130 Upos, Nonzero_Uint with predicates. These correspond to new
1131 field types in Gen_IL.
1132 * gen_il-types.ads (Valid_Uint, Unat, Upos, Nonzero_Uint): New
1133 field types.
1134 * einfo-utils.ads, einfo-utils.adb, fe.h (Known_Alignment,
1135 Init_Alignment): Use the initial zero value to represent
1136 "unknown". This will ensure that if Alignment is called before
1137 Set_Alignment, the compiler will blow up (if assertions are
1138 enabled).
1139 * atree.ads, atree.adb, atree.h, gen_il-gen.adb
1140 (Get_Valid_32_Bit_Field): New generic low-level getter for
1141 subtypes of Uint.
1142 (Copy_Alignment): New procedure to copy Alignment field even
1143 when Unknown.
1144 (Init_Object_Size_Align, Init_Size_Align): Do not bypass the
1145 Init_ procedures.
1146 * exp_pakd.adb, freeze.adb, layout.adb, repinfo.adb,
1147 sem_util.adb: Protect calls to Alignment with Known_Alignment.
1148 Use Copy_Alignment when it might be unknown.
1149 * gen_il-gen-gen_entities.adb (Alignment,
1150 String_Literal_Length): Use type Unat instead of Uint, to ensure
1151 that the field is always Set_ before we get it, and that it is
1152 set to a nonnegative value.
1153 (Enumeration_Pos): Unat.
1154 (Enumeration_Rep): Valid_Uint. Can be negative, but must be
1155 valid before fetching.
1156 (Discriminant_Number): Upos.
1157 (Renaming_Map): Remove.
1158 * gen_il-gen-gen_nodes.adb (Char_Literal_Value, Reason): Unat.
1159 (Intval, Corresponding_Integer_Value): Valid_Uint.
1160 * gen_il-internals.ads: New functions for dealing with special
1161 defaults and new subtypes of Uint.
1162 * scans.ads: Correct comments.
1163 * scn.adb (Post_Scan): Do not set Intval to No_Uint; that is no
1164 longer allowed.
1165 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Do
1166 not set Enumeration_Rep to No_Uint; that is no longer allowed.
1167 (Offset_Value): Protect calls to Alignment with Known_Alignment.
1168 * sem_prag.adb (Set_Atomic_VFA): Do not use Uint_0 to mean
1169 "unknown"; call Init_Alignment instead.
1170 * sinfo.ads: Minor comment fix.
1171 * treepr.adb: Deal with printing of new field types.
1172 * einfo.ads, gen_il-fields.ads (Renaming_Map): Remove.
1173 * gcc-interface/decl.c (gnat_to_gnu_entity): Use Known_Alignment
1174 before calling Alignment. This preserve some probably buggy
1175 behavior: if the alignment is not set, it previously defaulted
1176 to Uint_0; we now make that explicit. Use Copy_Alignment,
1177 because "Set_Alignment (Y, Alignment (X));" no longer works when
1178 the Alignment of X has not yet been set.
1179 * gcc-interface/trans.c (process_freeze_entity): Use
1180 Copy_Alignment.
1181
11822021-07-12 Eric Botcazou <ebotcazou@adacore.com>
1183
1184 * libgnat/s-dwalin.ads: Adjust a few comments left and right.
1185 (Line_Info_Register): Comment out unused components.
1186 (Line_Info_Header): Add DWARF 5 support.
1187 (Dwarf_Context): Likewise. Rename "prologue" into "header".
1188 * libgnat/s-dwalin.adb: Alphabetize "with" clauses.
1189 (DWARF constants): Add DWARF 5 support and reorder.
1190 (For_Each_Row): Adjust.
1191 (Initialize_Pass): Likewise.
1192 (Initialize_State_Machine): Likewise and fix typo.
1193 (Open): Add DWARF 5 support.
1194 (Parse_Prologue): Rename into...
1195 (Parse_Header): ...this and add DWARF 5 support.
1196 (Read_And_Execute_Isn): Rename into...
1197 (Read_And_Execute_Insn): ...this and adjust.
1198 (To_File_Name): Change parameter name and add DWARF 5 support.
1199 (Read_Entry_Format_Array): New procedure.
1200 (Skip_Form): Add DWARF 5 support and reorder.
1201 (Seek_Abbrev): Do not count entries and add DWARF 5 support.
1202 (Debug_Info_Lookup): Add DWARF 5 support.
1203 (Symbolic_Address.Set_Result): Likewise.
1204 (Symbolic_Address): Adjust.
1205
12062021-07-12 Bob Duff <duff@adacore.com>
1207
1208 * sem_ch13.adb (Duplicate_Clause): Add a helper routine
1209 Check_One_Attr, with a parameter for the attribute_designator we
1210 are looking for, and one for the attribute_designator of the
1211 current node (which are usually the same). For Size and
1212 Value_Size, call it twice, once for each.
1213 * errout.ads: Fix a typo.
1214
12152021-07-12 Piotr Trojanek <trojanek@adacore.com>
1216
1217 * exp_imgv.adb (Expand_Image_Attribute): Move rewriting to
1218 attribute Put_Image to the beginning of expansion of attribute
1219 Image.
1220
ef2ace64
GA
12212021-07-09 Eric Botcazou <ebotcazou@adacore.com>
1222
1223 * gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line.
1224
12252021-07-09 Piotr Trojanek <trojanek@adacore.com>
1226
1227 * exp_put_image.adb (Make_Put_Image_Name): Fix style.
1228 (Image_Should_Call_Put_Image): Likewise.
1229 (Build_Image_Call): Likewise.
1230
12312021-07-09 Ghjuvan Lacambre <lacambre@adacore.com>
1232
1233 * par-ch6.adb (Contains_Import_Aspect): New function.
1234 (P_Subprogram): Acknowledge `Import` aspects.
1235
12362021-07-09 Bob Duff <duff@adacore.com>
1237
1238 * exp_put_image.adb (Make_Component_Attributes): Use
1239 Implementation_Base_Type to get the parent type. Otherwise,
1240 Parent_Type_Decl is actually an internally generated subtype
1241 declaration, so we blow up on
1242 Type_Definition (Parent_Type_Decl).
1243
12442021-07-09 Dmitriy Anisimkov <anisimko@adacore.com>
1245
1246 * gsocket.h: Include net/if.h to get IF_NAMESIZE constant.
1247 * s-oscons-tmplt.c: Define IPV6_FLOWINFO for Linux.
1248
12492021-07-09 Steve Baird <baird@adacore.com>
1250
1251 * libgnat/a-cdlili.adb: Reimplement
1252 Ada.Containers.Doubly_Linked_Lists.Generic_Sorting.Sort using
1253 Mergesort instead of the previous Quicksort variant.
1254
12552021-07-09 Justin Squirek <squirek@adacore.com>
1256
1257 * exp_ch6.adb (Is_Build_In_Place_Function_Call): Add check to
1258 verify the Selector_Name of Exp_Node has been analyzed before
1259 obtaining its entity.
1260
12612021-07-09 Gary Dismukes <dismukes@adacore.com>
1262
1263 * libgnarl/s-osinte__vxworks.ads: Fix typo ("release" =>
1264 "releases") plus comment reformatting.
1265 * libgnat/s-os_lib.ads: In a comment, fix typo ("indended" =>
1266 "intended"), add a hyphen and semicolon, plus reformatting. In
1267 comment for subtype time_t, fix typo ("effect" => "affect"), add
1268 hyphens, plus reformatting.
1269 * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
1270 libgnat/s-parame__hpux.ads: Remove period from one-line comment.
1271
12722021-07-09 Steve Baird <baird@adacore.com>
1273
1274 * exp_ch5.adb (Expand_General_Case_Statement): Add new function
1275 Else_Statements to handle the case of invalid data analogously
1276 to how it is handled when casing on a discrete value.
1277 * sem_case.adb (Has_Static_Discriminant_Constraint): A new
1278 Boolean-valued function.
1279 (Composite_Case_Ops.Scalar_Part_Count): Include discriminants
1280 when traversing components.
1281 (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
1282 Include discriminants when traversing components; the component
1283 range for a constrained discriminant is a single value.
1284 (Composite_Case_Ops.Choice_Analysis.Parse_Choice): Eliminate
1285 Done variable and modify how Next_Part is computed so that it is
1286 always correct (as opposed to being incorrect when Done is
1287 True). This includes changes in Update_Result (a local
1288 procedure). Add new local procedure
1289 Update_Result_For_Box_Component and call it not just for box
1290 components but also for "missing" components (components
1291 associated with an inactive variant).
1292 (Check_Choices.Check_Composite_Case_Selector.Check_Component_Subtype):
1293 Instead of disallowing all discriminated component types, allow
1294 those that are unconstrained or statically constrained. Check
1295 discriminant subtypes along with other component subtypes.
1296 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
1297 documentation to reflect current implementation status.
1298 * gnat_rm.texi: Regenerate.
1299
13002021-07-09 Justin Squirek <squirek@adacore.com>
1301
1302 * sem_ch6.adb (Check_Pragma_Inline): Correctly use
1303 Corresponding_Spec_Of_Stub when dealing subprogram body stubs.
1304
13052021-07-09 Doug Rupp <rupp@adacore.com>
1306
1307 * Makefile.rtl: Add translations for s-parame__posix2008.ads
1308 * libgnarl/s-linux.ads: Import System.Parameters.
1309 (time_t): Declare using System.Parameters.time_t_bits.
1310 * libgnarl/s-linux__alpha.ads: Likewise.
1311 * libgnarl/s-linux__android.ads: Likewise.
1312 * libgnarl/s-linux__hppa.ads: Likewise.
1313 * libgnarl/s-linux__mips.ads: Likewise.
1314 * libgnarl/s-linux__riscv.ads: Likewise.
1315 * libgnarl/s-linux__sparc.ads: Likewise.
1316 * libgnarl/s-linux__x32.ads: Likewise.
1317 * libgnarl/s-qnx.ads: Likewise.
1318 * libgnarl/s-osinte__aix.ads: Likewise.
1319 * libgnarl/s-osinte__android.ads: Likewise.
1320 * libgnarl/s-osinte__darwin.ads: Likewise.
1321 * libgnarl/s-osinte__dragonfly.ads: Likewise.
1322 * libgnarl/s-osinte__freebsd.ads: Likewise.
1323 * libgnarl/s-osinte__gnu.ads: Likewise.
1324 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
1325 * libgnarl/s-osinte__hpux.ads: Likewise.
1326 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
1327 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
1328 * libgnarl/s-osinte__qnx.ads: Likewise.
1329 * libgnarl/s-osinte__rtems.ads: Likewise.
1330 * libgnarl/s-osinte__solaris.ads: Likewise.
1331 * libgnarl/s-osinte__vxworks.ads: Likewise.
1332 * libgnat/g-sothco.ads: Likewise.
1333 * libgnat/s-osprim__darwin.adb: Likewise.
1334 * libgnat/s-osprim__posix.adb: Likewise.
1335 * libgnat/s-osprim__posix2008.adb: Likewise.
1336 * libgnat/s-osprim__rtems.adb: Likewise.
1337 * libgnat/s-osprim__x32.adb: Likewise.
1338 * libgnarl/s-osinte__linux.ads: use type System.Linux.time_t.
1339 * libgnat/s-os_lib.ads (time_t): Declare as subtype of
1340 Long_Long_Integer.
1341 * libgnat/s-parame.ads (time_t_bits): New constant.
1342 * libgnat/s-parame__ae653.ads (time_t_bits): Likewise.
1343 * libgnat/s-parame__hpux.ads (time_t_bits): Likewise.
1344 * libgnat/s-parame__vxworks.ads (time_t_bits): Likewise.
1345 * libgnat/s-parame__posix2008.ads: New file for 64 bit time_t.
1346
13472021-07-09 Bob Duff <duff@adacore.com>
1348
1349 * comperr.adb (Compiler_Abort): Print source file name.
1350
13512021-07-09 Joffrey Huguet <huguet@adacore.com>
1352
1353 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Fix layout
1354 in contracts.
1355
13562021-07-09 Eric Botcazou <ebotcazou@adacore.com>
1357
1358 * repinfo.ads (JSON output format): Document adjusted key name.
1359 * repinfo.adb (List_Record_Layout): Use Original_Record_Component
1360 if the normalized position of the component is not known.
1361 (List_Structural_Record_Layout): Rename Outer_Ent parameter into
1362 Ext_End and add Ext_Level parameter. In an extension, if the parent
1363 subtype has static discriminants, call List_Record_Layout on it.
1364 Output "parent_" prefixes before "variant" according to Ext_Level.
1365 Adjust recursive calls throughout the procedure.
1366
13672021-07-09 Piotr Trojanek <trojanek@adacore.com>
1368
1369 * exp_util.ads (Map_Types): Fix typo.
1370
13712021-07-09 Fedor Rybin <frybin@adacore.com>
1372
1373 * krunch.adb: Add safeguards against index range violations.
1374
13752021-07-09 Arnaud Charlet <charlet@adacore.com>
1376
1377 * libgnat/a-strfix.adb: Take advantage of extended returns.
1378
13792021-07-09 Eric Botcazou <ebotcazou@adacore.com>
1380
1381 * doc/gnat_rm/implementation_defined_attributes.rst
1382 (Scalar_Storage_Order): Add paragraph about representation
1383 changes.
1384 * gnat_rm.texi: Regenerate.
1385
13862021-07-09 Frederic Konrad <konrad@adacore.com>
1387
1388 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <aarch64*-*-rtems*>: Use
1389 the wraplf variant of Aux_Long_Long_Float.
1390
13912021-07-09 Piotr Trojanek <trojanek@adacore.com>
1392
1393 * sem_ch6.adb (Analyze_Expression_Function): Initialize Orig_N
1394 and Typ variables.
1395
13962021-07-09 Arnaud Charlet <charlet@adacore.com>
1397
1398 * sem_ch13.adb (Resolve_Aspect_Expressions): Use the same
1399 processing for Predicate, Static_Predicate and
1400 Dynamic_Predicate. Do not build the predicate function spec.
1401 Update comments.
1402 (Resolve_Name): Only reset Entity when necessary to avoid
1403 spurious visibility errors.
1404 (Check_Aspect_At_End_Of_Declarations): Handle consistently all
1405 Predicate aspects.
1406 * sem_ch3.adb (Analyze_Subtype_Declaration): Fix handling of
1407 private types with predicates.
1408
14092021-07-09 Justin Squirek <squirek@adacore.com>
1410
1411 * sem_util.ads (Type_Access_Level): Add new optional parameter
1412 Assoc_Ent.
1413 * sem_util.adb (Accessibility_Level): Treat access discriminants
1414 the same as components when the restriction
1415 No_Dynamic_Accessibility_Checks is enabled.
1416 (Deepest_Type_Access_Level): Remove exception for
1417 Debug_Flag_Underscore_B when returning the result of
1418 Type_Access_Level in the case where
1419 No_Dynamic_Accessibility_Checks is active.
1420 (Function_Call_Or_Allocator_Level): Correctly calculate the
1421 level of Expr based on its containing subprogram instead of
1422 using Current_Subprogram.
1423 * sem_res.adb (Valid_Conversion): Add actual for new parameter
1424 Assoc_Ent in call to Type_Access_Level, and add test of
1425 No_Dynamic_Accessibility_Checks_Enabled to ensure that static
1426 accessibility checks are performed for all anonymous access type
1427 conversions.
1428
14292021-07-09 Eric Botcazou <ebotcazou@adacore.com>
1430
1431 * exp_dbug.ads: Update documentation of various items.
1432
14332021-07-09 Piotr Trojanek <trojanek@adacore.com>
1434
1435 * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
1436
14372021-07-09 Piotr Trojanek <trojanek@adacore.com>
1438
1439 * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
1440
14412021-07-09 Piotr Trojanek <trojanek@adacore.com>
1442
1443 * sem_ch6.adb (Analyze_Expression_Function): Add variable to
1444 avoid repeated calls to Etype.
1445
14462021-07-09 Piotr Trojanek <trojanek@adacore.com>
1447
1448 * sem_ch6.adb (Analyze_Expression_Function): Fix comment.
1449
14502021-07-09 Piotr Trojanek <trojanek@adacore.com>
1451
1452 * sem_ch6.adb (Analyze_Expression_Function): Use Orig_N variable
1453 instead of repeated calls to Original_Node.
1454
14552021-07-09 Piotr Trojanek <trojanek@adacore.com>
1456
1457 * sem_ch6.adb (Analyze_Expression_Function): Change types local
1458 variables from Entity_Id to Node_Id.
1459
14602021-07-09 Piotr Trojanek <trojanek@adacore.com>
1461
1462 * sem_ch6.adb (Analyze_Expression_Function): A local Expr
1463 constant was shadowing a global constant with the same name and
1464 the same value.
1465
14662021-07-09 Piotr Trojanek <trojanek@adacore.com>
1467
1468 * sem_res.adb (Preanalyze_And_Resolve): Only call
1469 Set_Must_Not_Freeze when it is necessary to restore the previous
1470 value.
1471
fdc4d2a5
GA
14722021-07-08 Piotr Trojanek <trojanek@adacore.com>
1473
1474 * sem_ch5.adb (Analyze_Assignment): Clear Current_Assignment at
1475 exit.
1476 (Analyze_Target_Name): Prevent AST climbing from going too far.
1477
14782021-07-08 Ed Schonberg <schonberg@adacore.com>
1479
1480 * sem_ch5.adb (Analyze_Target_Name): Properly reject a
1481 Target_Name when it appears outside of an assignment statement,
1482 or within the left-hand side of one.
1483
14842021-07-08 Bob Duff <duff@adacore.com>
1485
1486 * einfo-utils.ads, einfo-utils.adb (Unknown_Alignment,
1487 Unknown_Component_Bit_Offset, Unknown_Component_Size,
1488 Unknown_Esize, Unknown_Normalized_First_Bit,
1489 Unknown_Normalized_Position, Unknown_Normalized_Position_Max,
1490 Unknown_RM_Size): Remove these functions.
1491 * exp_pakd.adb, exp_util.adb, fe.h, freeze.adb, layout.adb,
1492 repinfo.adb, sem_ch13.adb, sem_ch3.adb, sem_util.adb: Remove
1493 calls to these functions; do "not Known_..." instead.
1494 * gcc-interface/decl.c, gcc-interface/trans.c
1495 (Unknown_Alignment, Unknown_Component_Size, Unknown_Esize,
1496 Unknown_RM_Size): Remove calls to these functions; do
1497 "!Known_..." instead.
1498
14992021-07-08 Eric Botcazou <ebotcazou@adacore.com>
1500
1501 * exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete
1502 types with custom bounds, except with -fgnat-encodings=all.
1503 * exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment.
1504
15052021-07-08 Bob Duff <duff@adacore.com>
1506
1507 * comperr.adb (Compiler_Abort): Call Sinput.Unlock, because if
1508 this is called late, then Source_Dump would crash otherwise.
1509 * debug.adb: Correct documentation of the -gnatd.9 switch.
1510 * exp_ch4.adb (Expand_Allocator_Expression): Add a comment.
1511 * exp_ch6.adb: Minor comment fixes. Add assertion.
1512 * exp_ch6.ads (Is_Build_In_Place_Result_Type): Correct comment.
1513 * exp_ch7.adb, checks.ads: Minor comment fixes.
1514
15152021-07-08 Doug Rupp <rupp@adacore.com>
1516
1517 * sigtramp-vxworks-target.inc: Rename to...
1518 * sigtramp-vxworks-target.h: ... this.
1519 * sigtramp-vxworks.c, Makefile.rtl: Likewise.
1520
15212021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
1522
1523 * lib-writ.ads: Mention SCOs dependency as reason for duplicates.
1524 * lib.ads (Units): Update documentation to mention duplicated
1525 units.
1526
15272021-07-08 Ed Schonberg <schonberg@adacore.com>
1528
1529 * style.adb (Missing_Overriding): Do not emit message when
1530 parent of subprogram is a full type declaration.
1531
15322021-07-08 Arnaud Charlet <charlet@adacore.com>
1533
1534 * par-ch5.adb (P_Iterator_Specification): Add support for access
1535 definition in loop parameter.
1536 * sem_ch5.adb (Check_Subtype_Indication): Renamed...
1537 (Check_Subtype_Definition): ... into this and check for conformance
1538 on access definitions, and improve error messages.
1539 (Analyze_Iterator_Specification): Add support for access definition
1540 in loop parameter.
1541
15422021-07-08 Arnaud Charlet <charlet@adacore.com>
1543
1544 * sem_util.ads, sem_util.adb
1545 (Apply_Compile_Time_Constraint_Error): New parameter
1546 Emit_Message.
1547 * sem_ch4.adb (Analyze_Selected_Component): Disable warning
1548 within an instance.
1549
15502021-07-08 Eric Botcazou <ebotcazou@adacore.com>
1551
1552 * exp_imgv.adb: Add with and use clause for Restrict and Rident.
1553 (Build_Enumeration_Image_Tables): Do not generate the hash function
1554 if the No_Implicit_Loops restriction is active.
1555
15562021-07-08 Piotr Trojanek <trojanek@adacore.com>
1557
1558 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sprint.adb: Simplify
1559 checks for non-empty lists.
1560
15612021-07-08 Piotr Trojanek <trojanek@adacore.com>
1562
1563 * par-ch10.adb (Unit_Display): Remove redundant condition; fix
1564 whitespace.
1565
15662021-07-08 Piotr Trojanek <trojanek@adacore.com>
1567
1568 * lib-load.adb (Load): Replace early return with goto to properly
1569 restore context on failure.
1570
15712021-07-08 Piotr Trojanek <trojanek@adacore.com>
1572
1573 * lib-writ.adb (Ensure_System_Dependency): Simplify condition.
1574
15752021-07-08 Piotr Trojanek <trojanek@adacore.com>
1576
1577 * lib-load.adb (Load_Unit): Fix style in comment.
1578 * par-load.adb (Load): Likewise.
1579 * scng.adb (Initialize_Scanner): Fix whitespace.
1580
15812021-07-08 Piotr Trojanek <trojanek@adacore.com>
1582
1583 * par-load.adb (Load): Don't remove unit, but flag it as
1584 erroneous and return.
1585
15862021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
1587
1588 * exp_prag.adb (Expand_Pragma_Inspection_Point): Fix error
1589 message.
1590
15912021-07-08 Yannick Moy <moy@adacore.com>
1592
1593 * layout.adb (Layout_Type): Do not call Number_Dimensions if the
1594 type does not have First_Index set.
1595
15962021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
1597
1598 * exp_prag.adb (Expand_Pragma_Inspection_Point): After expansion
1599 of the Inspection_Point pragma, check if referenced entities
1600 that have a freeze node are already frozen. If they aren't, emit
1601 a warning and turn the pragma into a no-op.
1602
16032021-07-08 Yannick Moy <moy@adacore.com>
1604
1605 * layout.adb (Layout_Type): Add guard before calling Expr_Value.
1606
16072021-07-08 Yannick Moy <moy@adacore.com>
1608
1609 * layout.adb (Layout_Type): Special case when RM_Size and Esize
1610 can be computed for packed arrays.
1611
16122021-07-08 Steve Baird <baird@adacore.com>
1613
1614 * rtsfind.ads, rtsfind.adb: Add support for finding the packages
1615 System.Atomic_Operations and
1616 System.Atomic_Operations.Test_And_Set and the declarations
1617 within that latter package of the type Test_And_Set_Flag and the
1618 function Atomic_Test_And_Set.
1619 * exp_ch11.adb (Expand_N_Exception_Declaration): If an exception
1620 is declared other than at library level, then we need to call
1621 Register_Exception the first time (and only the first time) the
1622 declaration is elaborated. In order to decide whether to
1623 perform this call for a given elaboration of the declaration, we
1624 used to unconditionally use a (library-level) Boolean variable.
1625 Now we instead use a variable of type
1626 System.Atomic_Operations.Test_And_Set.Test_And_Set_Flag unless
1627 either that type is unavailable or a No_Tasking restriction is
1628 in effect (in which case we use a Boolean variable as before).
1629
16302021-07-08 Arnaud Charlet <charlet@adacore.com>
1631
1632 * gcc-interface/system.ads: Add No_Tasking restriction.
1633
16342021-07-08 Ed Schonberg <schonberg@adacore.com>
1635
1636 * libgnat/a-cohama.ads: Introduce an equality operator over
1637 cursors.
1638 * libgnat/a-cohase.ads: Ditto.
1639 * libgnat/a-cohama.adb: Add body for "=" over cursors.
1640 (Insert): Do not set the Position component of the cursor that
1641 denotes the inserted element.
1642 * libgnat/a-cohase.adb: Ditto.
1643
16442021-07-08 Arnaud Charlet <charlet@adacore.com>
1645
1646 * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
1647 libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
1648 libgnat/a-cborma.adb, libgnat/a-cborse.adb,
1649 libgnat/a-cobove.adb, libgnat/a-textio.adb,
1650 libgnat/a-witeio.adb, libgnat/a-ztexio.adb: Make code compatible
1651 with No_Dynamic_Accessibility_Checks restriction.
1652
16532021-07-08 Arnaud Charlet <charlet@adacore.com>
1654
1655 * debug.adb, sem_util.adb: Revert meaning of -gnatd_b.
1656 * sem_res.adb: Minor reformatting.
1657
16582021-07-08 Arnaud Charlet <charlet@adacore.com>
1659
1660 * make.adb, osint.adb: Make code compatible with
1661 No_Dynamic_Accessibility_Checks restriction.
1662
16632021-07-08 Piotr Trojanek <trojanek@adacore.com>
1664
1665 * lib-writ.adb (Ensure_System_Dependency): Replace search in
1666 Lib.Units with a search in Lib.Unit_Names.
1667
16682021-07-08 Piotr Trojanek <trojanek@adacore.com>
1669
1670 * sinput-l.adb (Load_File): Simplify foreword manipulation with
1671 concatenation; similar for filename with preprocessed output.
1672
c24a9707
GA
16732021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
1674
1675 * s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef
1676 __MINWGW32__.
1677
16782021-07-07 Gary Dismukes <dismukes@adacore.com>
1679
1680 * einfo-utils.adb (Primitive_Operations): Default to returning
1681 Direct_Primitive_Operations in the case of concurrent types
1682 (when Corresponding_Record_Type not present).
1683 * sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize
1684 Direct_Primitive_Operations to an empty element list.
1685 (Analyze_Task_Type_Declaration): Initialize
1686 Direct_Primitive_Operations to an empty element list.
1687
16882021-07-07 Piotr Trojanek <trojanek@adacore.com>
1689
1690 * sem_eval.adb (Set_Checking_Potentially_Static_Expression):
1691 Stronger assertion.
1692
16932021-07-07 Arnaud Charlet <charlet@adacore.com>
1694
1695 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id
1696 intrinsic before calling Analyze_Instance_And_Renamings because
1697 this flag may be propagated to other nodes.
1698
16992021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
1700
1701 * s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL):
1702 Hardcode on Windows if undefined.
1703
17042021-07-07 Bob Duff <duff@adacore.com>
1705
1706 * checks.adb (Install_Primitive_Elaboration_Check): Do not
1707 generate elaboration checks for primitives if pragma Pure or
1708 Preelaborate is present. Misc comment fixes, including
1709 referring to the correct kind of check (elaboration, not
1710 accessibility).
1711 * checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor
1712 reformatting and comment fixes.
1713
17142021-07-07 Piotr Trojanek <trojanek@adacore.com>
1715
1716 * sem_prag.adb (Analyze_Pragma): Simplify processing of pragma
1717 CPP_Constructor.
1718
17192021-07-07 Arnaud Charlet <charlet@adacore.com>
1720
1721 * libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default
1722 Initialize.
1723
17242021-07-07 Arnaud Charlet <charlet@adacore.com>
1725
1726 * libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
1727 cleanups.
1728
17292021-07-07 Gary Dismukes <dismukes@adacore.com>
1730
1731 * freeze.adb (Check_Inherited_Conditions): Setting of Ekind,
1732 LSP_Subprogram, and Is_Wrapper needs to happen for null
1733 procedures as well as other wrapper cases, so the code is moved
1734 from the else part in front of the if statement. (Fixes a
1735 latent bug encountered while working on this set of changes.)
1736 * sem_attr.adb (Resolve_Attribute): Report an error for the case
1737 of an Access attribute applied to a primitive of an abstract
1738 type when the primitive has any nonstatic Pre'Class or
1739 Post'Class expressions.
1740 * sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for
1741 the case of a actual subprogram associated with a nonabstract
1742 formal subprogram when the actual is a primitive of an abstract
1743 type and the primitive has any nonstatic Pre'Class or Post'Class
1744 expressions.
1745 * sem_disp.adb (Check_Dispatching_Context): Remove special
1746 testing for null procedures, and replace it with a relaxed test
1747 that avoids getting an error about illegal calls to abstract
1748 subprograms in cases where RM 6.1.1(7/5) applies in
1749 Pre/Post'Class aspects. Also, remove special test for
1750 Postcondition, which seems to be unnecessary, update associated
1751 comments, and fix a typo in one comment.
1752 (Check_Dispatching_Call): Remove an unneeded return statement,
1753 and report an error for the case of a nondispatching call to a
1754 nonabstract subprogram of an abstract type where the subprogram
1755 has nonstatic Pre/Post'Class aspects.
1756 * sem_util.ads
1757 (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function.
1758 (In_Pre_Post_Condition): Add a flag formal Class_Wide_Only,
1759 defaulted to False, for indicating whether the function should
1760 only test for the node being within class-wide pre- and
1761 postconditions.
1762 * sem_util.adb
1763 (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function
1764 to determine whether a subprogram is a primitive of an abstract
1765 type where the primitive has class-wide Pre/Post'Class aspects
1766 specified with nonstatic expressions.
1767 (In_Pre_Post_Condition): Extend testing to account for the new
1768 formal Class_Wide_Only.
1769
17702021-07-07 Piotr Trojanek <trojanek@adacore.com>
1771
1772 * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors
1773 emitted via Check_Volatility_Compatibility are now emitted at
1774 Actual, just like other errors emitted by
1775 Check_Shared_Variable_Control_Aspects.
1776
17772021-07-07 Piotr Trojanek <trojanek@adacore.com>
1778
1779 * uname.adb (Get_Unit_Name): Simplify with a bounded string
1780 buffer; also, this addresses a ??? comment about the max length
1781 being exceeded.
1782
17832021-07-07 Piotr Trojanek <trojanek@adacore.com>
1784
1785 * uname.adb (Get_Body_Name, Get_Parent_Body_Name,
1786 Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name,
1787 Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local
1788 instead of the global buffer.
1789
17902021-07-07 Bob Duff <duff@adacore.com>
1791
1792 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine
1793 processing of Size and Value_Size clauses. Ensure that
1794 Value_Size is treated the same as Size, in the cases where both
1795 are allowed (i.e. the prefix denotes a first subtype). Misc
1796 cleanup.
1797 * einfo-utils.adb (Init_Size): Add assertions.
1798 (Size_Clause): Return a Value_Size clause if present, instead of
1799 just looking for a Size clause.
1800 * einfo.ads (Has_Size_Clause, Size_Clause): Change documentation
1801 to include Value_Size.
1802 * sem_ch13.ads, layout.ads, layout.adb: Comment modifications.
1803
18042021-07-07 Steve Baird <baird@adacore.com>
1805
1806 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add
1807 TSS_Put_Image to list of predefined primitives that need special
1808 treatment.
1809 (Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs):
1810 Remove previous hack for dealing with TSS_Put_Image procedures.
1811
18122021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
1813
1814 * libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when
1815 Minus_500ms_Windows_Timeout is True.
1816 (Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to
1817 convert to milliseconds.
1818
18192021-07-07 Bob Duff <duff@adacore.com>
1820
1821 * tbuild.adb (Unchecked_Convert_To): Set the Parent of the new
1822 node to the Parent of the old node.
1823 * tbuild.ads (Unchecked_Convert_To): Document differences
1824 between Convert_To and Unchecked_Convert_To. The previous
1825 documentation claimed they are identical except for the
1826 uncheckedness of the conversion.
1827
18282021-07-07 Yannick Moy <moy@adacore.com>
1829
1830 * checks.adb (Apply_Scalar_Range_Check): Remove special case for
1831 GNATprove mode.
1832 * sem_res.adb (Resolve_Arithmetic_Op): Same.
1833 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Same.
1834
18352021-07-07 Piotr Trojanek <trojanek@adacore.com>
1836
1837 * sem_ch6.adb (Check_For_Primitive_Subprogram): Move
1838 declarations of local variables after nested subprogram bodies.
1839
18402021-07-07 Piotr Trojanek <trojanek@adacore.com>
1841
1842 * exp_disp.adb (CPP_Num_Prims): Reuse List_Length.
1843
18442021-07-07 Piotr Trojanek <trojanek@adacore.com>
1845
1846 * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind
1847 membership test in Private_Kind with a call to Is_Private_Type.
1848
18492021-07-07 Bob Duff <duff@adacore.com>
1850
1851 * gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma
1852 field from Record_Field_Kind. Minor comment improvement.
1853
18542021-07-07 Yannick Moy <moy@adacore.com>
1855
1856 * libgnat/a-ngelfu.ads (Cot): Fix precondition.
1857
18582021-07-07 Piotr Trojanek <trojanek@adacore.com>
1859
1860 * par.adb (Par): A local Name variable is now a renaming of a
1861 constant slice.
1862
18632021-07-07 Piotr Trojanek <trojanek@adacore.com>
1864
1865 * gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its
1866 corresponding spec as requiring code generation; now the flags
1867 are set much earlier.
1868 * lib-load.adb (Load_Main_Source): Set Generate_Code flag on the
1869 main unit source.
1870 (Make_Instance_Unit): Copy Generate_Code flag from the main unit
1871 to instance units.
1872 * lib-writ.adb (Write_ALI): Remove redundant condition;
1873 Generate_Code flag is always set for the main unit.
1874 * par-load.adb (Load): Set Generate_Code flag on the main unit's
1875 corresponding spec, if any.
1876
18772021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
1878
1879 * libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count,
1880 Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration.
1881 (Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and
1882 Keep_Alive_Interval alternatives to the case of discriminated
1883 record.
1884 * libgnat/g-socket.adb (Options): Add Keep_Alive_Count,
1885 Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to
1886 OS constant converter.
1887 (Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle,
1888 and Keep_Alive_Interval socket options.
1889 (Get_Socket_Option): Idem.
1890
18912021-07-07 Piotr Trojanek <trojanek@adacore.com>
1892
1893 * lib-writ.adb (Write_ALI): Exit from loop after seeing first
1894 unit that violates No_Elaboration_Code restriction.
1895
18962021-07-07 Piotr Trojanek <trojanek@adacore.com>
1897
1898 * inline.adb (Instantiate_Bodies): Fix white in declaration.
1899 (Remove_Dead_Instance): Change iteration from WHILE to FOR.
1900
19012021-07-07 Bob Duff <duff@adacore.com>
1902
1903 * checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
1904 exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb,
1905 sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion
1906 to call Unchecked_Convert_To instead. This involves removing
1907 New_Occurrence_Of on the first parameter, because
1908 Unchecked_Convert_To expects a type entity, rather than the name
1909 of one. Also, removed calls to Relocate_Node, because
1910 Unchecked_Convert_To takes care of that.
1911 * sinfo.ads: Change comment to be worded more firmly.
1912
19132021-07-07 Steve Baird <baird@adacore.com>
1914
1915 * libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock
1916 before, rather than after, querying the task's Terminated flag.
1917 Add a corresponding Task_Unlock call.
1918
6fba0eea
GA
19192021-07-06 Bob Duff <duff@adacore.com>
1920
1921 * atree.ads (Current_Error_Node): Initialize to Empty.
1922
19232021-07-06 Steve Baird <baird@adacore.com>
1924
1925 * exp_put_image.adb: Eliminate references to
1926 Debug_Flag_Underscore_Z. Change the meaning of the function
1927 Enable_Put_Image. Previously, a result of False for a tagged
1928 type would mean that the type does not get a Put_Image (PI)
1929 routine at all. Now, it means that the type gets a PI routine
1930 with very abbreviated functionality (just a call to
1931 Unknown_Put_Image). This resolves problems in mixing code
1932 compiled with and without the -gnat2022 switch.
1933 * exp_ch3.adb: Enable_Put_Image no longer participates in
1934 determining whether a tagged type gets a Put_Image procedure. A
1935 tagged type does not get a Put_Image procedure if the type
1936 Root_Buffer_Type is unavailable. This is needed to support cross
1937 targets where tagged types are supported but the type
1938 Root_Buffer_Type is not available.
1939 * exp_dist.adb: Add workarounds for some problems that arise
1940 when using the (obsolete?) Garlic implementation of the
1941 distributed systems annex with Ada 2022 constructs.
1942 * libgnat/a-sttebu.ads: Workaround a bootstrapping problem.
1943 Older compilers do not support raise expressions, so revise the
1944 the Pre'Class condition to meet this requirement without
1945 changing the condition's behavior at run time.
1946
19472021-07-06 Eric Botcazou <ebotcazou@adacore.com>
1948
1949 * repinfo-input.adb (JSON_Entity_Kind, Read_Variant_Part): Fix
1950 typo in comment.
1951
19522021-07-06 Steve Baird <baird@adacore.com>
1953
1954 * sem_ch5.adb (Analyze_Assignment): Add new nested function,
1955 Omit_Range_Check_For_Streaming, and make call to
1956 Apply_Scalar_Range_Check conditional on the result of this new
1957 function.
1958 * exp_attr.adb (Compile_Stream_Body_In_Scope): Eliminate Check
1959 parameter, update callers. The new
1960 Omit_Range_Check_For_Streaming parameter takes the place of the
1961 old use of calling Insert_Action with Suppress => All_Checks,
1962 which was insufficiently precise (it did not allow suppressing
1963 checks for one component but not for another).
1964 (Expand_N_Attribute_Reference): Eliminate another "Suppress =>
1965 All_Checks" from an Insert_Action call, this one in generating
1966 the expansion of a T'Read attribute reference for a composite
1967 type T.
1968
19692021-07-06 Ghjuvan Lacambre <lacambre@adacore.com>
1970
1971 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for
1972 empty loops caused by constraints.
1973
19742021-07-06 Nicolas Roche <roche@adacore.com>
1975
1976 * rtinit.c (skip_quoted_string): Handle malformed command line
1977 with no closing double quote.
1978 (skip_argument): Handle case in which a null character is
1979 encountered by skip_quote_string.
1980
19812021-07-06 Piotr Trojanek <trojanek@adacore.com>
1982
1983 * uname.adb (Add_Node_Name): Replace local constant whose
1984 initial expression was evaluated even when unnecessary with just
1985 that expression that is evaluated at most once and only when
1986 needed.
1987
19882021-07-06 Piotr Trojanek <trojanek@adacore.com>
1989
1990 * lib.adb (Remove_Unit): Replace defensive code with an
1991 assertion.
1992 * par-load.adb (Load): Address a question mark in the comment.
1993
19942021-07-06 Piotr Trojanek <trojanek@adacore.com>
1995
1996 * sem_util.adb (Enclosing_Comp_Unit_Node): When the loop exits
1997 the Current_Node is either an N_Compilation_Unit node or Empty,
1998 so simply return it without redundant checks.
1999
20002021-07-06 Piotr Trojanek <trojanek@adacore.com>
2001
2002 * lib-load.adb (Load_Unit): Remove excessive whitespace.
2003 * lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise.
2004 * par-ch10.adb (P_Compilation_Unit): Simplify with membership
2005 test.
2006 * par-load.adb (Load): Likewise.
2007 * uname.adb (Get_Unit_Name): Likewise.
2008
20092021-07-06 Piotr Trojanek <trojanek@adacore.com>
2010
2011 * lib-writ.adb (Ensure_System_Dependency): Simplify by reusing a
2012 constant name.
2013
20142021-07-06 Steve Baird <baird@adacore.com>
2015
2016 * exp_ch5.adb
2017 (Expand_N_Case_Statement.Expand_General_Case_Statement.Pattern_Match):
2018 When generating an equality test for a statically known discrete
2019 value, only generate the numeric value if the discrete type is
2020 not an enumeration type. If it is an enumeration type, then
2021 call Get_Enum_Lit_From_Pos instead.
2022
20232021-07-06 Justin Squirek <squirek@adacore.com>
2024
2025 * par-ch6.adb (Get_Return_Kind): Removed.
2026 (Is_Extended): Created to identify simple and "when" return
2027 statements from extended return statements.
2028 (P_Return_Statement): Merged simple and "when" return statement
2029 processing.
2030
20312021-07-06 Gary Dismukes <dismukes@adacore.com>
2032
2033 * sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of
2034 "not Extensions_Allowed" with test for absence of Obj_Type's
2035 primitive operations Elist, as an additional condition for early
2036 return from this procedure.
2037
20382021-07-06 Gary Dismukes <dismukes@adacore.com>
2039
2040 * exp_ch4.adb (Process_Transient_In_Expression): In one comment,
2041 fix two typos and reorder wording of one sentence, plus minor
2042 reformatting.
2043
20442021-07-06 Justin Squirek <squirek@adacore.com>
2045
2046 * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove
2047 legacy expansion of element iterators, and use expansion form
2048 used by unconstrained element types in the general case.
2049
20502021-07-06 Ed Schonberg <schonberg@adacore.com>
2051
2052 * exp_ch4.adb (Process_Transient_In_Expression): Ensure that
2053 Fin_Context, used to insert finalization code for the
2054 expression, is a list member: the value returned by
2055 Find_Hook_Context may be an expression node when the transient
2056 is part of a larger expression and it has a non-boolean type.
2057
20582021-07-06 Yannick Moy <moy@adacore.com>
2059
2060 * sem_case.adb: Fix error message.
2061
20622021-07-06 Bob Duff <duff@adacore.com>
2063
2064 * tbuild.adb (Convert_To): Add assert, along with a comment.
2065 (Make_DT_Access): Remove this function, which is not used. It
2066 was incorrect anyway (the call to New_Occurrence_Of should not
2067 be there).
2068 (Unchecked_Convert_To): Add assert. The previous version's test
2069 for unchecked conversion to the same type was redundant and
2070 could never be true, because the previous 'if' already checked
2071 for ANY expression of the same type. Remove that, and replace
2072 with a test for unchecked conversion to a related type.
2073 Otherwise, we somethings get things like
2074 "finalize(some_type!(some_type!(x)))" in the generated code,
2075 where x is already of type some_type, but we're converting it to
2076 the private type and then to the full type or vice versa (so the
2077 types aren't equal, so the previous 'if' doesn't catch it).
2078 Avoid updating the Parent. This is not necessary; the Parent
2079 will be updated if/when the node is attached to the tree.
2080 * tbuild.ads: Fix comments. No need to say "this is safe" when
2081 we just explained that a few lines earlier. Remove
2082 Make_DT_Access.
2083 * sinfo.ads: Add comments.
2084 * exp_ch7.adb (Make_Finalize_Address_Stmts): Minor comment fix.
2085 * gen_il-gen.adb, gen_il-gen.ads, gen_il-gen-gen_nodes.adb,
2086 gen_il-internals.ads: Implement a feature where you can put:
2087 Nmake_Assert => "expr" where expr is a boolean expression in a
2088 call to Create_Concrete_Node_Type. It is added in a pragma
2089 Assert in the Nmake.Make_... function for that type.
2090
20912021-07-06 Gary Dismukes <dismukes@adacore.com>
2092
2093 * checks.adb: Remove calls of Set_Do_Tag_Check (N, False).
2094 * einfo.ads: Remove hanging unneeded ??? comment ("this real description
2095 was clobbered").
2096 * exp_util.ads (Insert_Actions_After): Remove ??? from spec comment.
2097 * gen_il-fields.ads (Opt_Field_Enum): Remove literals
2098 Do_Accessibility_Check and Do_Tag_Check.
2099 * gen_il-gen-gen_nodes.adb: Remove all calls to Sm for
2100 Do_Accessibility_Check and Do_Tag_Check.
2101 * sem_type.ads (Is_Subtype_Of): Remove obsolete ???
2102 comment (function is not limited to scalar subtypes).
2103 * sem_util.ads (Is_Local_Variable_Reference): Revise comment to
2104 mention out-mode parameters as well, and remove ???.
2105 (Propagate_Concurrent_Flags): Minor reformatting.
2106 (Propagate_Invariant_Attributes): Typo fix.
2107 (Propagate_Predicate_Attributes): Indicate what is propagated
2108 and remove ??? comment.
2109 * sem_util.adb (Cannot_Raise_Constraint_Error): Remove unneeded
2110 test of Do_Tag_Check.
2111 (Is_Local_Variable_Reference): Extend function to testing for
2112 formals of mode out as well.
2113 * sinfo.ads: Remove ??? comment about flag
2114 Convert_To_Return_False indicating that the flag is obsolete (in
2115 fact it's used). Remove references to Do_Accessibility_Check and
2116 Do_Tag_Check (and the two associated ??? comments), as these
2117 flags are unneeded.
2118 * sinfo-cn.adb (Change_Conversion_To_Unchecked): Remove call of
2119 Set_Do_Tag_Check (N, False).
2120 * targparm.ads (Support_Atomic_Primitives_On_Target): Remove ???
2121 comment, plus minor reformatting.
2122
21232021-07-06 Justin Squirek <squirek@adacore.com>
2124
2125 * par-ch6.adb (Get_Return_Kind): Properly handle the case of a
2126 "return when" statement in the procedure case.
2127
21282021-07-06 Bob Duff <duff@adacore.com>
2129
2130 * sem.ads (Node_To_Be_Wrapped): Minor comment fix.
2131 * exp_ch7.adb (Establish_Transient_Scope): Misc cleanups and
2132 comment improvements.
2133 (Set_Node_To_Be_Wrapped): Remove -- not worth putting this code
2134 in a separate procedure, called only once.
2135 * sem_util.adb (Requires_Transient_Scope): Assert that our
2136 parameter has the right Kind. It probably shouldn't be E_Void,
2137 but that is passed in in some cases.
2138 (Ensure_Minimum_Decoration): Move the call later, so we know Typ
2139 is Present, and remove "if Present (Typ)" from this procedure.
2140 * exp_aggr.adb (Convert_To_Assignments): Use membership test,
2141 and avoid the "if False" idiom.
2142 (Expand_Array_Aggregate): Remove a ??? comment.
2143 * sem_ch8.adb (Push_Scope): Take advantage of the full coverage
2144 rules for aggregates.
2145 * sem_res.adb (Resolve_Declare_Expression): Remove test for
2146 Is_Type -- that's all it can be. Use named notation in call to
2147 Establish_Transient_Scope.
2148 * libgnat/a-cdlili.adb (Adjust): Remove redundant code.
2149 (Clear): Remove "pragma Warnings (Off);", which wasn't actually
2150 suppressing any warnings.
2151
21522021-07-06 Bob Duff <duff@adacore.com>
2153
2154 * gen_il-gen-gen_nodes.adb: Change the parent of
2155 N_Exception_Declaration to be N_Declaration. Minor comment fix.
2156
21572021-07-06 Ed Schonberg <schonberg@adacore.com>
2158
2159 * exp_ch4.adb (Expand_N_Type_Conversion): If the conversion is
2160 the name of an assignment operation do not apply predicate check
2161 to it prior to the assignment.
2162
21632021-07-06 Bob Duff <duff@adacore.com>
2164
2165 * libgnat/a-conhel.adb: Assert that tampering counts remain
2166 between 0 and 2**31-1. This makes debugging of
2167 finalization-related bugs easier.
2168
21692021-07-06 Doug Rupp <rupp@adacore.com>
2170
2171 * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use s-osprim__posix.adb
2172 vice s-osprim__vxworks.adb for all vxworks7r2 targets.
2173
21742021-07-06 Richard Kenner <kenner@adacore.com>
2175
2176 * gen_il-types.ads (Void_Or_Type_Kind,
2177 Exception_Or_Object_Kind): Declare.
2178 * gen_il-gen-gen_entities.adb: Likewise.
2179
21802021-07-06 Gary Dismukes <dismukes@adacore.com>
2181
2182 * doc/gnat_rm/implementation_defined_pragmas.rst: Add a
2183 description of the feature of prefixed-view calls for untagged
2184 types to the section on pragma Extensions_Allowed.
2185 * gnat_rm.texi: Regenerate.
2186 * einfo.ads: Update specification for
2187 Direct_Primitive_Operations to reflect its use for untagged
2188 types when Extensions_Allowed is True.
2189 * gen_il-gen-gen_entities.adb: Allow Direct_Primitive_Operations
2190 as a field of untagged classes of types by removing the "Pre"
2191 test of "Is_Tagged_Type (N)", and making that field generally
2192 available for all types and subtypes by defining it for
2193 Type_Kind and removing its specification for individual classes
2194 of types.
2195 * sem_ch3.adb (Analyze_Full_Type_Declaration): Initialize the
2196 Direct_Primitive_Operations list when not already set for the
2197 new (sub)type and its base type (except when Ekind of the type
2198 is E_Void, which can happen due to errors in cases where
2199 Derived_Type_Declaration is called and perhaps in other
2200 situations).
2201 (Analyze_Subtype_Declaration): Inherit
2202 Direct_Primitive_Operations list from the base type, for record
2203 and private cases.
2204 (Build_Derived_Record_Type): Initialize the
2205 Direct_Primitive_Operations list for derived record and private
2206 types.
2207 (Build_Derived_Type): Initialize the Direct_Primitive_Operations
2208 list for derived types (and also for their associated base types
2209 when needed).
2210 (Process_Full_View): For full types that are untagged record and
2211 private types, copy the primitive operations of the partial view
2212 to the primitives list of the full view.
2213 * sem_ch4.adb (Analyze_Selected_Component): Allow prefixed
2214 notation for subprogram calls in the case of untagged
2215 types (when Extensions_Allowed is True). In the case where
2216 Is_Private_Type (Prefix_Type) is True, call Try_Object_Operation
2217 when a discriminant selector wasn't found. Also call
2218 Try_Object_Operation in other type kind cases (when
2219 Extensions_Allowed is True).
2220 (Try_Object_Operation.Try_One_Prefixed_Interpretation): Prevent
2221 early return in the untagged case (when Extensions_Allowed is
2222 True). Condition main call to Try_Primitive_Operation on the
2223 type having primitives, and after that, if Prim_Result is False,
2224 test for case where the prefix type is a named access type with
2225 primitive operations and in that case call
2226 Try_Primitive_Operation after temporarily resetting Obj_Type to
2227 denote the access type (and restore it to the designated type
2228 after the call)
2229 (Try_Object_Operation.Valid_First_Argument_Of): Do matching type
2230 comparison by testing Base_Type (Obj_Type) against
2231 Base_Type (Typ), rather than against just Typ, to properly
2232 handle cases where the object prefix has a constrained
2233 subtype. (Fixes a bug discovered while working on this
2234 feature.)
2235 * sem_ch6.adb
2236 (New_Overloaded_Entity.Check_For_Primitive_Subprogram): Add a
2237 primitive of an untagged type to the type's list of primitive
2238 operations, for both explicit and implicit (derived, so
2239 Comes_From_Source is False) subprogram declarations. In the case
2240 where the new primitive overrides an inherited subprogram,
2241 locate the primitives Elist that references the overridden
2242 subprogram, and replace that element of the list with the new
2243 subprogram (done by calling the new procedure
2244 Add_Or_Replace_Untagged_Primitive on the result type and each
2245 formal atype).
2246 (Check_For_Primitive_Subprogram.Add_Or_Replace_Untagged_Primitive):
2247 New nested procedure to either add or replace an untagged
2248 primitive subprogram in a given type's list of primitive
2249 operations (replacement happens in case where the new subprogram
2250 overrides a primitive of the type).
2251 * sem_ch7.adb (New_Private_Type): When Extensions_Allowed is
2252 True, initialize the Direct_Primitive_Operations list of a
2253 private type to New_Elmt_List in the case of untagged types.
2254 * sem_ch8.adb (Find_Selected_Component): In the case where the
2255 prefix is an entity name, relax condition that tests
2256 Has_Components so that Analyze_Selected_Component will also be
2257 called when Extensions_Allowed is True and the prefix type is
2258 any type.
2259
22602021-07-06 Ed Schonberg <schonberg@adacore.com>
2261
2262 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
2263 conformance check when the subprogram body has been created for
2264 an expression function that is not a completion of a previous
2265 specification, because the profile of the constructed body is
2266 copied from the expression function itself.
2267
22682021-07-06 Steve Baird <baird@adacore.com>
2269
2270 * doc/gnat_rm/implementation_of_specific_ada_features.rst: Add a
2271 warning indicating that the details of the default (i.e.,
2272 selected by the compiler) implementation of T'Put_Image for a
2273 nonscalar type T are subject to change.
2274 * gnat_rm.texi: Regenerate.
2275
6d53e6f9
GA
22762021-07-05 Pierre-Marie de Rodat <derodat@adacore.com>
2277
2278 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
2279
22802021-07-05 Piotr Trojanek <trojanek@adacore.com>
2281
2282 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Reject overlays
2283 in Depends and Refined_Depends contracts.
2284 (Analyze_Global_In_Decl_Part): Likewise for Global and
2285 Refined_Global.
2286 (Analyze_Initializes_In_Decl_Part): Likewise for Initializes
2287 (when appearing both as a single item and as a initialization
2288 clause).
2289 * sem_util.ads (Ultimate_Overlaid_Entity): New routine.
2290 * sem_util.adb (Report_Unused_Body_States): Ignore overlays.
2291 (Ultimate_Overlaid_Entity): New routine.
2292
22932021-07-05 Claire Dross <dross@adacore.com>
2294
2295 * libgnat/a-cfdlli.ads, libgnat/a-cfdlli.adb
2296 libgnat/a-cfinve.ads, libgnat/a-cfinve.adb,
2297 libgnat/a-cofove.ads, libgnat/a-cofove.adb,
2298 libgnat/a-coboho.ads, libgnat/a-coboho.adb (Constant_Reference):
2299 Get a read-only access to an element of the container.
2300 (At_End): Ghost functions used to express pledges in the
2301 postcondition of Reference.
2302 (Reference): Get a read-write access to an element of the
2303 container.
2304 * libgnat/a-cfhama.ads, libgnat/a-cfhama.adb,
2305 libgnat/a-cforma.ads, libgnat/a-cforma.adb: The full view of the
2306 Map type is no longer a tagged type, but a wrapper over this
2307 tagged type. This is to avoid issues with dispatching result in
2308 At_End functions.
2309 (Constant_Reference): Get a read-only access to an element of
2310 the container.
2311 (At_End): Ghost functions used to express pledges in the
2312 postcondition of Reference.
2313 (Reference): Get a read-write access to an element of the
2314 container.
2315 * libgnat/a-cfhase.ads, libgnat/a-cfhase.adb,
2316 libgnat/a-cforse.ads, libgnat/a-cforse.adb: The full view of the
2317 Map type is no longer a tagged type, but a wrapper over this
2318 tagged type.
2319 (Constant_Reference): Get a read-only access to an element of
2320 the container.
2321 * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads (Copy_Element):
2322 Expression function used to cause SPARK to make sure
2323 Element_Type is copiable.
2324 * libgnat/a-cofuma.ads (Copy_Key): Expression function used to
2325 cause SPARK to make sure Key_Type is copiable.
2326 (Copy_Element): Expression function used to cause SPARK to make
2327 sure Element_Type is copiable.
2328
23292021-07-05 Yannick Moy <moy@adacore.com>
2330
2331 * sem_prag.adb (Analyze_Global_Item): Adapt to update SPARK RM
2332 rule.
2333
23342021-07-05 Arnaud Charlet <charlet@adacore.com>
2335
2336 * Make-generated.in: Add -f switch to ensure cp will never fail.
2337
23382021-07-05 Steve Baird <baird@adacore.com>
2339
2340 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): When
2341 building the assignment statement corresponding to the default
2342 expression for a component, we make a copy of the expression.
2343 When making that copy (and if we have seen a component that
2344 requires late initialization), pass a Map parameter into the
2345 call to New_Copy_Tree to redirect references to the type to
2346 instead refer to the _Init formal parameter of the init proc.
2347 This includes hoisting the declaration of Has_Late_Init_Comp out
2348 one level so that it becomes available to Build_Assignment.
2349 (Find_Current_Instance): Return True for other kinds of current
2350 instance references, instead of just access-valued attribute
2351 references such as T'Access.
2352 * sem_util.adb (Is_Aliased_View): Return True for the _Init
2353 formal parameter of an init procedure. The changes in
2354 exp_ch3.adb can have the effect of replacing a "T'Access"
2355 attribute reference in an init procedure with an "_Init'Access"
2356 attribute reference. We want such an attribute reference to be
2357 legal. However, we do not simply mark the formal parameter as
2358 being aliased because that might impact callers.
2359 (Is_Object_Image): Return True if Is_Current_Instance returns
2360 True for the prefix of an Image (or related attribute) attribute
2361 reference.
2362
23632021-07-05 Piotr Trojanek <trojanek@adacore.com>
2364
2365 * exp_ch3.adb (Stream_Operation_OK): Reuse
2366 Is_Concurrent_Interface.
2367 * sem_ch3.adb (Analyze_Interface_Declaration,
2368 Build_Derived_Record_Type): Likewise.
2369 * sem_ch6.adb (Check_Limited_Return): Likewise.
2370 * sem_util.adb (Is_Concurrent_Interface): Don't call
2371 Is_Interface because each of the Is_Protected_Interface,
2372 Is_Synchronized_Interface and Is_Task_Interface calls it anyway.
2373
23742021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
2375
2376 * sem_ch6.adb (Check_Limited_Return): Replace Comes_From_Source
2377 with Comes_From_Extended_Return_Statement.
2378
23792021-07-05 Steve Baird <baird@adacore.com>
2380
2381 * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
2382 libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
2383 libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
2384 libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
2385 libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
2386 libgnat/a-stouut.adb, libgnat/a-stouut.ads,
2387 libgnat/a-stteou.ads: Delete files.
2388 * Makefile.rtl, impunit.adb: Remove references to deleted files.
2389
23902021-07-05 Piotr Trojanek <trojanek@adacore.com>
2391
2392 * sem_util.adb (Has_Compatible_Alignment_Internal): If the
2393 prefix of the Address expression is an entire object with a
2394 known alignment, then skip checks related to its size.
2395
23962021-07-05 Doug Rupp <rupp@adacore.com>
2397
2398 * libgnat/s-os_lib.ads: Import OS_Time comparison ops as
2399 intrinsic.
2400 * libgnat/s-os_lib.adb: Remove OS_TIme comparison ops
2401 implementation.
2402
24032021-07-05 Doug Rupp <rupp@adacore.com>
2404
2405 * libgnat/s-os_lib.ads: Add some comments about time_t.
2406 * libgnat/s-os_lib.adb (GM_Split/To_GM_Time): Rename formal to
2407 P_OS_Time.
2408 (GM_Time_Of/To_OS_Time): Likewise.
2409
24102021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
2411
2412 * sem_res.adb (Resolve): Insert minus sign if needed.
2413
24142021-07-05 Steve Baird <baird@adacore.com>
2415
2416 * exp_put_image.adb:
2417 (Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying
2418 the -gnatd_z switch, as opposed to testing whether Ada_Version >= Ada_2022.
2419
24202021-07-05 Justin Squirek <squirek@adacore.com>
2421
2422 * checks.adb (Accessibility_Checks_Suppressed): Add check
2423 against restriction No_Dynamic_Accessibility_Checks.
2424 (Apply_Accessibility_Check): Add assertion to check restriction
2425 No_Dynamic_Accessibility_Checks is not active.
2426 * debug.adb: Add documentation for new debugging switch to
2427 control which accessibility model gets employed under
2428 restriction No_Dynamic_Accessibility_Checks.
2429 * exp_attr.adb (Expand_N_Attribute_Reference): Disable dynamic
2430 accessibility check generation when
2431 No_Dynamic_Accessibility_Checks is active.
2432 * exp_ch4.adb (Apply_Accessibility_Check): Skip check generation
2433 when restriction No_Dynamic_Accessibility_Checks is active.
2434 (Expand_N_Allocator): Disable dynamic accessibility checks when
2435 No_Dynamic_Accessibility_Checks is active.
2436 (Expand_N_In): Disable dynamic accessibility checks when
2437 No_Dynamic_Accessibility_Checks is active.
2438 (Expand_N_Type_Conversion): Disable dynamic accessibility checks
2439 when No_Dynamic_Accessibility_Checks is active.
2440 * exp_ch5.adb (Expand_N_Assignment_Statement): Disable
2441 alternative accessibility model calculations when computing a
2442 dynamic level for a SAOAAT.
2443 * exp_ch6.adb (Add_Call_By_Copy_Code): Disable dynamic
2444 accessibility check generation when
2445 No_Dynamic_Accessibility_Checks is active.
2446 (Expand_Branch): Disable alternative accessibility model
2447 calculations.
2448 (Expand_Call_Helper): Disable alternative accessibility model
2449 calculations.
2450 * restrict.adb, restrict.ads: Add new restriction
2451 No_Dynamic_Accessibility_Checks.
2452 (No_Dynamic_Accessibility_Checks_Enabled): Created to test when
2453 experimental features (which are generally incompatible with
2454 standard Ada) can be enabled.
2455 * sem_attr.adb (Safe_Value_Conversions): Add handling of new
2456 accessibility model under the restriction
2457 No_Dynamic_Accessibility_Checks.
2458 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
2459 Disallow new restriction No_Dynamic_Accessibility_Checks from
2460 being exclusively specified within a body or subunit without
2461 being present in a specification.
2462 * sem_res.adb (Check_Fully_Declared_Prefix): Minor comment
2463 fixup.
2464 (Valid_Conversion): Omit implicit conversion checks on anonymous
2465 access types and perform static checking instead when
2466 No_Dynamic_Accessibility_Checks is active.
2467 * sem_util.adb, sem_util.ads (Accessibility_Level): Add special
2468 handling of anonymous access objects, formal parameters,
2469 anonymous access components, and function return objects.
2470 (Deepest_Type_Access_Level): When
2471 No_Dynamic_Accessibility_Checks is active employ an alternative
2472 model. Add paramter Allow_Alt_Model to override the new behavior
2473 in certain cases.
2474 (Type_Access_Level): When No_Dynamic_Accessibility_Checks is
2475 active employ an alternative model. Add parameter
2476 Allow_Alt_Model to override the new behavior in certain cases.
2477 (Typ_Access_Level): Created within Accessibility_Level for
2478 convenience.
2479 * libgnat/s-rident.ads, snames.ads-tmpl: Add handing for
2480 No_Dynamic_Accessibility_Checks.
2481
24822021-07-05 Doug Rupp <rupp@adacore.com>
2483
2484 * adaint.h (__gnat_set_file_time_name): Use OS_Time.
2485 * adaint.c (__gnat_set_file_time_name): Likewise.
2486
24872021-07-05 Doug Rupp <rupp@adacore.com>
2488
2489 * adaint.h (OS_Time): typedef as long long.
2490 * osint.adb (Underlying_OS_Time): Declare as 64-bit signed type.
2491 * libgnat/s-os_lib.adb ("<"): Compare OS_Time as
2492 Long_Long_Integer.
2493 ("<="): Likewise.
2494 (">"): Likewise.
2495 (">="): Likewise.
2496 * libgnat/s-os_lib.ads (OS_Time): Declare as 64-bit signed type.
2497
24982021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
2499
2500 * sem_ch3.adb (Check_Abstract_Overriding): Post error message on
2501 renaming node.
2502
25032021-07-05 Yannick Moy <moy@adacore.com>
2504
2505 * libgnat/a-uncdea.ads: Add Depends/Post to
2506 Ada.Unchecked_Deallocation.
2507 * sem_ch4.adb (Analyze_Allocator): Remove checking of allocator
2508 placement.
2509 * sem_res.adb (Flag_Object): Same.
2510
25112021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
2512
2513 * aspects.ads: Add GNAT_Annotate aspect.
2514 * gnat1drv.adb (Adjust_Global_Switches): Stop defining
2515 Name_Gnat_Annotate as an alias of Name_Annotate.
2516 * snames.ads-tmpl: Define Gnat_Annotate.
2517 * par-prag.adb, sem_prag.ads: Add Pragma_Gnat_Annotate to list
2518 of pragmas.
2519 * lib-writ.adb, sem_ch13.adb, sem_prag.adb: Handle Gnat_Annotate
2520 like Aspect_Annotate.
2521
25222021-07-05 Piotr Trojanek <trojanek@adacore.com>
2523
2524 * ttypes.ads (Target_Strict_Alignment): Fix comment.
2525
25262021-07-05 Piotr Trojanek <trojanek@adacore.com>
2527
2528 * sem_util.adb (Has_Compatible_Alignment_Internal): Fix
2529 indentation of ELSIF comments; remove explicit calls to
2530 UI_To_Int; remove extra parens around the MOD operand.
2531
25322021-07-05 Ed Schonberg <schonberg@adacore.com>
2533
2534 * sem_aggr.adb (Resolve_Record_Aggregate, Step_5): Do not check
2535 for the need to use an extension aggregate for a given component
2536 when within an instance and the type of the component hss a
2537 private ancestor: the instantiation is legal if the generic
2538 compiles, and spurious errors may be generated otherwise.
2539
25402021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
2541
2542 * errout.adb (Output_JSON_Message): Recursively call
2543 Output_JSON_Message for continuation messages instead of
2544 appending their content to the initial message.
2545
25462021-07-05 Steve Baird <baird@adacore.com>
2547
2548 * debug.adb: Remove comments about -gnatd_z switch.
2549 * exp_ch3.adb (Make_Predefined_Primitive_Specs): A one-line fix
2550 for a subtle bug that took some effort to debug. Append a new
2551 Put_Image procedure for a type extension even if it seems to
2552 already have one, just as is done for (for example) the
2553 streaming-related Read procedure.
2554 * exp_put_image.adb:
2555 (Build_Record_Put_Image_Procedure.Make_Component_Attributes): Do
2556 not treat _Parent component like just another component, for two
2557 reasons. 1. If the _parent component's type has a
2558 user-specified Put_Image procedure, then we want to generate a
2559 call to that procedure and then generate extension aggregate
2560 syntax. 2. Otherwise, we still don't want to see any mention of
2561 "_parent" in the generated image text.
2562 (Build_Record_Put_Image_Procedure.Make_Component_Name): Add
2563 assertion that we are not generating a reference to an "_parent"
2564 component.
2565 (Build_Record_Put_Image_Procedure): Add special treatment for
2566 null records. Add call to Duplicate_Subexpr for image attribute
2567 prefix in order to help with expansion needed in the class-wide
2568 case (where the prefix is also referenced in the call to
2569 Wide_Wide_Expanded_Name) if evaluation of the prefix has side
2570 effects. Add new local helper function, Put_String_Exp. Add
2571 support for case where prefix type is class-wide.
2572 (Enable_Put_Image, Preload_Root_Buffer_Type): Query Ada_Version
2573 > Ada_2022 instead of (indirectly) querying -gnatd_z switch.
2574 * freeze.adb (In_Expanded_Body): A one-line change to add
2575 TSS_Put_Image to the list of subprograms that have
2576 expander-created bodies.
2577 * rtsfind.ads: Add support for accessing
2578 Ada.Tags.Wide_Wide_Expanded_Name.
2579 * sem_ch3.ads, sem_ch3.adb: Delete Is_Null_Extension function,
2580 as part of moving it to Sem_Util.
2581 * sem_ch13.adb
2582 (Analyze_Put_Image_TSS_Definition.Has_Good_Profile): Improve
2583 diagnostic messages in cases where the result is going to be
2584 False and the Report parameter is True. Relax overly-restrictive
2585 checks in order to implement mode conformance.
2586 (Analyze_Stream_TSS_Definition.Has_Good_Profile): Add similar
2587 relaxation of parameter subtype checking for the Stream
2588 parameter of user-defined streaming subprograms.
2589 * sem_disp.adb (Check_Dispatching_Operation): A one-line
2590 change (and an accompanying comment change) to add TSS_Put_Image
2591 to the list of compiler-generated dispatching primitive
2592 operations.
2593 * sem_util.ads, sem_util.adb: Add Ignore_Privacy Boolean
2594 parameter to Is_Null_Record_Type function (typically the
2595 parameter will be False when the function is being used in the
2596 implementation of static semantics and True for dynamic
2597 semantics; the parameter might make a difference in the case of,
2598 for example, a private type that is implemented as a null record
2599 type). Add related new routines Is_Null_Extension (formerly
2600 declared in Sem_Ch3), Is_Null_Extension_Of, and
2601 Is_Null_Record_Definition.
2602
26032021-07-05 Justin Squirek <squirek@adacore.com>
2604
2605 * freeze.adb (Freeze_Profile): Use N's Sloc, F_type's chars.
2606
26072021-07-05 Bob Duff <duff@adacore.com>
2608
2609 * checks.adb, exp_aggr.adb, exp_ch5.adb, freeze.adb,
2610 sem_util.adb, sem_util.ads: Change L and H to be First and Last,
2611 to match the attributes in the RM. Change calls from procedure
2612 to function where appropriate.
2613
26142021-07-05 Bob Duff <duff@adacore.com>
2615
2616 * sem_util.ads, sem_util.adb (Compute_Returns_By_Ref): New
2617 procedure to compute Returns_By_Ref, to avoid some code
2618 duplication. This will likely change soon, so it's good to have
2619 the code in one place.
2620 (CW_Or_Has_Controlled_Part): Move here from Exp_Ch7, because
2621 it's called by Compute_Returns_By_Ref, and this is a better
2622 place for it anyway.
2623 (Needs_Finalization): Fix comment to be vague instead of wrong.
2624 * exp_ch6.adb (Expand_N_Subprogram_Body, Freeze_Subprogram):
2625 Call Compute_Returns_By_Ref.
2626 * sem_ch6.adb (Check_Delayed_Subprogram): Call
2627 Compute_Returns_By_Ref.
2628 * exp_ch7.ads, exp_ch7.adb (CW_Or_Has_Controlled_Part): Move to
2629 Sem_Util.
2630 (Has_New_Controlled_Component): Remove unused function.
2631
26322021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
2633
2634 * sem_ch3.adb (Check_Abstract_Overriding): Check for renamings.
2635
26362021-07-05 Boris Yakobowski <yakobowski@adacore.com>
2637
2638 * exp_ch4.adb (Expand_N_Op_Rem): Remove special case for rem -1
2639 in CodePeer_Mode.
2640
bea7c16a
GA
26412021-07-01 Eric Botcazou <ebotcazou@adacore.com>
2642
2643 PR ada/101094
2644 * exp_attr.adb (Get_Integer_Type): Return an integer type with the
2645 same signedness as the input type.
2646
6bc18203
GA
26472021-06-29 Richard Kenner <kenner@adacore.com>
2648
2649 * sem_util.adb (Visit_Node): Add handling for N_Block_Statement
2650 with declarations.
2651
26522021-06-29 Piotr Trojanek <trojanek@adacore.com>
2653
2654 * einfo-utils.adb
2655 (Unknown_Alignment): Simply negate the Known_ counterpart.
2656 (Unknown_Component_Bit_Offset): Likewise.
2657 (Unknown_Esize): Likewise.
2658 (Unknown_Normalized_First_Bit): Likewise.
2659 (Unknown_Normalized_Position): Likewise.
2660 (Unknown_Normalized_Position_Max): Likewise.
2661 (Unknown_RM_Size): Likewise.
2662
26632021-06-29 Boris Yakobowski <yakobowski@adacore.com>
2664
2665 * exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1
2666 in CodePeer_Mode.
2667
26682021-06-29 Aleksandra Pasek <pasek@adacore.com>
2669
2670 * libgnat/s-objrea.adb (EM_AARCH64): New Constant.
2671 (Initialize): Handle EM_AARCH64 case.
2672 (Read_Address): Handle AARCH64 case.
2673 * libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record
2674 component.
2675
26762021-06-29 Bob Duff <duff@adacore.com>
2677
2678 * sem_ch13.adb (Analyze_Record_Representation_Clause): Call
2679 Set_Entity_With_Checks instead of Set_Entity, so we perform the
2680 check for correct casing.
2681 * style.adb (Check_Identifier): Minor comment improvement.
2682 Cleanup overly complicated code.
2683
26842021-06-29 Ed Schonberg <schonberg@adacore.com>
2685
2686 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of
2687 the aggregate, the expression can be removed from the
2688 declaration, except if the object is class-wide, in which case
2689 the aggregate provides the actual type. In other cases the
2690 presence of the expression may lead to spurious freezing issue.
2691 * exp_ch3.adb (Expand_N_Object_Declaration): If the expression
2692 in the declaration is an aggregate with delayed expansion (as is
2693 the case for objects of a limited type, or a subsequent address
2694 specification) the aggregate must be resolved at this point.
2695 This resolution must not include expansion, because the
2696 expansion of the enclosing declaration will construct the
2697 necessary aggregate expansion.
2698
26992021-06-29 Piotr Trojanek <trojanek@adacore.com>
2700
2701 * errout.ads (Adjust_Name_Case): Remove obsolete and now unused
2702 variant.
2703 * errout.adb (Adjust_Name_Case): Likewise; fix variant that uses
2704 a custom buffer to also use it for names in Standard_Location.
2705
27062021-06-29 Eric Botcazou <ebotcazou@adacore.com>
2707
2708 * sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze".
2709 (Install_Body): Likewise.
2710
27112021-06-29 Piotr Trojanek <trojanek@adacore.com>
2712
2713 * adaint.c (__gnat_portable_spawn): Revert change that
2714 introduced setting of __gnat_in_child_after_fork.
2715
27162021-06-29 Patrick Bernardi <bernardi@adacore.com>
2717
2718 * libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components
2719 aspect.
2720
27212021-06-29 Doug Rupp <rupp@adacore.com>
2722
2723 * Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move
2724 i-vxinco.o out of RTP runtime.
2725
27262021-06-29 Claire Dross <dross@adacore.com>
2727
2728 * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
2729 pre and postconditions.
2730 * libgnat/a-cfhama.ads: Likewise.
2731 * libgnat/a-cfhase.ads: Likewise.
2732 * libgnat/a-cfinve.ads: Likewise.
2733 * libgnat/a-cforma.ads: Likewise.
2734 * libgnat/a-cforse.ads: Likewise.
2735 * libgnat/a-cofove.ads: Likewise.
2736
27372021-06-29 Piotr Trojanek <trojanek@adacore.com>
2738
2739 * sem_util.ads (Get_Fullest_View): Refill comment; remove extra
2740 extra after period.
2741 * sem_util.adb (Get_Fullest_View): Fix style.
2742
27432021-06-29 Piotr Trojanek <trojanek@adacore.com>
2744
2745 * sem_ch3.adb (Analyze_Declarations): Remove explicit check for
2746 missing, because a subsequent call to Is_Empty_List will detect
2747 them anyway.
2748
27492021-06-29 Piotr Trojanek <trojanek@adacore.com>
2750
2751 * freeze.adb (Freeze_All): Simplify by reusing
2752 Is_Subprogram_Or_Entry.
2753 * sem_ch11.adb (Analyze_Handled_Statement): Likewise.
2754
27552021-06-29 Piotr Trojanek <trojanek@adacore.com>
2756
2757 * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded
2758 errors once for the subprogram call, not for every pair of
2759 actual parameters.
2760
27612021-06-29 Piotr Trojanek <trojanek@adacore.com>
2762
2763 * sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within.
2764
27652021-06-29 Gary Dismukes <dismukes@adacore.com>
2766
2767 * sem_ch6.ads (Can_Override_Operator): Function declaration
2768 moved from package body to package spec.
2769 * sem_ch6.adb (Check_Overriding_Indicator): Now use test of
2770 whether the subprogram's Chars is an operator name, to handle
2771 cases of function instances whose entity is
2772 N_Defining_Identifier rather than N_Defining_Operator_Symbol.
2773 (Can_Override_Operator): Function declaration moved to package
2774 spec. Now use test of whether the subprogram's Chars is an
2775 operator name, to handle cases of function instances whose
2776 entity is N_Defining_Identifier rather than
2777 N_Defining_Operator_Symbol.
2778 * sem_ch8.adb (Analyze_Renamed_Subprogram): Check for
2779 possibility of an overridden predefined operator, and suppress
2780 the "not overriding" message in that case.
2781
27822021-06-29 Doug Rupp <rupp@adacore.com>
2783
2784 * Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib.
2785
27862021-06-29 Piotr Trojanek <trojanek@adacore.com>
2787
2788 * exp_attr.adb (Build_Array_VS_Func): Restore uses of
2789 Validated_View.
2790 (Build_Record_VS_Func): Likewise.
2791 (Expand_N_Attribute_Reference): Likewise.
2792 * sem_util.adb (Validated_View): Behave as an identity function
2793 for arrays and scalars.
2794
27952021-06-29 Bob Duff <duff@adacore.com>
2796
2797 * atree.adb, atree.ads (Parent, Set_Parent): Assert node is
2798 Present.
2799 (Copy_Parent, Parent_Kind): New helper routines.
2800 * gen_il-gen.adb: Add with clause.
2801 * nlists.adb (Parent): Assert Parent of list is Present.
2802 * aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb,
2803 exp_util.adb, lib-xref-spark_specific.adb, osint.ads,
2804 sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb,
2805 sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
2806 treepr.adb: Do not call Parent and Set_Parent on the Empty node.
2807 * libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb:
2808 Minor: Fix typos in comments.
2809 * einfo.ads: Minor comment update.
2810 * sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent):
2811 New functions.
2812
28132021-06-29 Eric Botcazou <ebotcazou@adacore.com>
2814
2815 * repinfo-input.adb (Read_JSON_Stream): Fix typo.
2816
28172021-06-29 Eric Botcazou <ebotcazou@adacore.com>
2818
2819 * rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into
2820 RE_Valid_Value_Enumeration_NN.
2821 (RE_Unit_Table): Adjust to above renaming.
2822 * exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise.
2823 * libgnat/s-valuen.ads (Invalid): Remove.
2824 (Value_Enumeration_Pos): Move to...
2825 * libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here.
2826 Return -1 instead of Invalid.
2827 (Value_Enumeration): Compare against 0 instead of Invalid.
2828 (Valid_Enumeration_Value): Likewise. Rename to...
2829 (Valid_Value_Enumeration): ...this.
2830 * libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into...
2831 (Valid_Value_Enumeration_8): ...this.
2832 * libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into...
2833 (Valid_Value_Enumeration_16): ...this.
2834 * libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into...
2835 (Valid_Value_Enumeration_32): ...this.
2836
28372021-06-29 Bob Duff <duff@adacore.com>
2838
2839 * einfo.ads (Component_Bit_Offset, Component_Size): Update
2840 documentation: Repinfo is the package where these negative
2841 values are documented.
2842 * einfo-utils.adb (Known_Component_Size,
2843 Known_Static_Component_Size, Unknown_Component_Size): Remove
2844 calls to Implementation_Base_Type, because Component_Size is an
2845 Impl_Base_Type_Only field (see Gen_Entities).
2846 * sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and
2847 RM_Size. This is unnecessary in the case of Size. For
2848 Component_Size, it is wrong, because we would be setting the
2849 Esize and RM_Size of the component type.
2850
28512021-06-29 Pascal Obry <obry@adacore.com>
2852
2853 * s-oscons-tmplt.c: Add some OS constants.
2854
28552021-06-29 Piotr Trojanek <trojanek@adacore.com>
2856
2857 * sem_util.ads (Validated_View): Fix style in comment.
2858 * sem_util.adb (Validated_View): Rewrite in recursive style.
2859
28602021-06-29 Eric Botcazou <ebotcazou@adacore.com>
2861
2862 * Make-generated.in (ada/stamp-gen_il): Ignore errors from
2863 running gen_il-main.
2864
28652021-06-29 Richard Kenner <kenner@adacore.com>
2866
2867 * gen_il-gen-gen_entities.adb (Record_Field_Kind,
2868 Allocatable_Kind): Add new abstract kinds.
2869 (Constant_Or_Variable_Kind): Likewise.
2870 (E_Constant, E_Variable, E_Loop_Parameter): Use them.
2871 (E_Discriminant, E_Component): Likewise.
2872 * gen_il-types.ads (type Opt_Type_Enum): Add them.
2873
28742021-06-29 Bob Duff <duff@adacore.com>
2875
2876 * gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct
2877 numbers.
2878 * gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this
2879 function. It was assuming that the order of the enumeration
2880 literals in Type_Enum is the same as the order of the generated
2881 types Node_Kind and Entity_Kind, which is not true.
2882
28832021-06-29 Piotr Trojanek <trojanek@adacore.com>
2884
2885 * exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use
2886 Validated_View for record objects.
2887
c8abc205
GA
28882021-06-28 Martin Sebor <msebor@redhat.com>
2889
2890 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
2891 Replace TREE_NO_WARNING with suppress_warning.
2892 (gnat_gimplify_expr): Same.
2893 * gcc-interface/utils.c (gnat_pushdecl): Same.
2894
2f080224
GA
28952021-06-21 Gary Dismukes <dismukes@adacore.com>
2896
2897 * checks.adb (Selected_Range_Checks): In the case of a
2898 qualified_expression where the qualifying subtype is an
2899 unconstrained array subtype with fixed lower bounds for some of
2900 its indexes, generate tests to check that those bounds are equal
2901 to the corresponding lower bounds of the qualified array object.
2902
29032021-06-21 Bob Duff <duff@adacore.com>
2904
2905 * libgnat/s-valuen.ads (Value_Enumeration,
2906 Valid_Enumeration_Value): Inline.
2907 (Value_Enumeration_Pos): Add Pure_Function.
2908
29092021-06-21 Justin Squirek <squirek@adacore.com>
2910
2911 * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
2912 feature under pragma Extensions_Allowed.
2913 * gnat_rm.texi: Regenerate.
2914 * errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to
2915 issue errors when parsing extension only constructs.
2916 * exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement):
2917 Created to expand raise ... when constucts.
2918 * exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement):
2919 Created to expand goto ... when constructs.
2920 * exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement):
2921 Created to expand return ... when constructs.
2922 * expander.adb (Expand): Add case entries for "when" constructs.
2923 * gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for
2924 "when" constructs.
2925 * par-ch11.adb (P_Raise_Statement): Add processing for raise ...
2926 when.
2927 * par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to
2928 Missing_Semicolon_On_When and moved to par-util.adb.
2929 * par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and
2930 processing added for "return ... when" return kind.
2931 (Is_Simple): Renamed to Get_Return_Kind.
2932 (P_Return_Statement): Add case for return ... when variant of
2933 return statement.
2934 * par-util.adb, par.adb (Missing_Semicolon_On_When): Added to
2935 centeralize parsing of "when" keywords in the context of "when"
2936 constructs.
2937 * sem.adb (Analyze): Add case for "when" constructs.
2938 * sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement):
2939 Created to analyze raise ... when constructs.
2940 * sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement):
2941 Created to analyze goto ... when constructs.
2942 * sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement):
2943 Created to analyze return ... when constructs.
2944 * sprint.adb (Sprint_Node_Actual): Add entries for new "when"
2945 nodes.
2946
29472021-06-21 Steve Baird <baird@adacore.com>
2948
2949 * Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags.
2950 (ada/stamp-gen_il): Remove dependencies on libgnat/ sources. Do not
2951 copy libgnat/ sources locally and tidy up.
2952 * Makefile.rtl: Include object files for new Text_Buffer units
2953 in the GNATRTL_NONTASKING_OBJS list.
2954 * exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to
2955 match new specs. For example, calls to RE_Sink are replaced with
2956 calls to RE_Root_Buffer_Type. Update comments and change
2957 subprogram names accordingly (e.g., Preload_Sink is changed to
2958 Preload_Root_Buffer_Type).
2959 * impunit.adb: Add 6 new predefined units (Text_Buffers and 5
2960 child units thereof).
2961 * rtsfind.ads, rtsfind.adb: Add interfaces for accessing the
2962 Ada.Strings.Text_Buffers package and declarations
2963 therein (including the Unbounded child unit). Do not (yet)
2964 delete interfaces for accessing the old Text_Output package.
2965 * sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses
2966 with RE_Root_Buffer_Type and update comments accordingly.
2967 * sem_ch10.adb (Analyze_Compilation_Unit): Update call to
2968 reflect name change of callee (that is, the former Preload_Sink
2969 is now Preload_Root_Buffer_Type).
2970 * sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with
2971 RE_Root_Buffer_Type.
2972 (Build_Spec): Update comment describing a parameter type.
2973 * gen_il.ads: Remove clauses for the old Text_Output package and
2974 add them for Ada.Streams.Stream_IO.
2975 (Sink): Declare.
2976 (Create_File): Likewise.
2977 (Increase_Indent): Likewise.
2978 (Decrease_Indent): Likewise.
2979 (Put): Likewise.
2980 (LF): Likewise.
2981 * gen_il.adb: Add clauses for Ada.Streams.Stream_IO.
2982 (Create_File): New procedure.
2983 (Increase_Indent): Likewise.
2984 (Decrease_Indent): Likewise.
2985 (Put): New procedures.
2986 * gen_il-gen.adb: Add clauses for Ada.Text_IO. Replace
2987 Sink'Class with Sink throughout. Use string concatenation and
2988 LF marker instead of formatted strings and "\n" marker. Update
2989 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
2990 names.
2991 (Put_Membership_Query_Decl): Remove.
2992 * gen_il-internals.ads: Replace Sink'Class with Sink throughout.
2993 (Ptypes): Remove.
2994 (Pfields): Likewise.
2995 * gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and
2996 Ada.Strings.Text_Buffers.Files. Replace Sink'Class with Sink
2997 throughout. Use string concatenation and LF marker instead of
2998 formatted strings and "\n" marker.
2999 (Stdout): Remove.
3000 (Ptypes): Likewise.
3001 (Pfields): Likewise.
3002 * libgnarl/s-putaim.ads: Modify context clause, update
3003 declaration of subtype Sink to refer to
3004 Text_Buffers.Root_Buffer_Type instead of the old
3005 Text_Output.Sink type.
3006 * libgnarl/s-putaim.adb: Modify context clause and add use
3007 clause to refer to Text_Buffers package.
3008 * libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
3009 libgnat/a-cbhama.ads, libgnat/a-cbhama.adb,
3010 libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
3011 libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb,
3012 libgnat/a-cborma.ads, libgnat/a-cborma.adb,
3013 libgnat/a-cborse.ads, libgnat/a-cborse.adb,
3014 libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
3015 libgnat/a-cidlli.ads, libgnat/a-cidlli.adb,
3016 libgnat/a-cihama.ads, libgnat/a-cihama.adb,
3017 libgnat/a-cihase.ads, libgnat/a-cihase.adb,
3018 libgnat/a-cimutr.ads, libgnat/a-cimutr.adb,
3019 libgnat/a-ciorma.ads, libgnat/a-ciorma.adb,
3020 libgnat/a-ciormu.ads, libgnat/a-ciormu.adb,
3021 libgnat/a-ciorse.ads, libgnat/a-ciorse.adb,
3022 libgnat/a-coboho.ads, libgnat/a-coboho.adb,
3023 libgnat/a-cobove.ads, libgnat/a-cobove.adb,
3024 libgnat/a-cohama.ads, libgnat/a-cohama.adb,
3025 libgnat/a-cohase.ads, libgnat/a-cohase.adb,
3026 libgnat/a-coinho.ads, libgnat/a-coinho.adb,
3027 libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb,
3028 libgnat/a-coinve.ads, libgnat/a-coinve.adb,
3029 libgnat/a-comutr.ads, libgnat/a-comutr.adb,
3030 libgnat/a-convec.ads, libgnat/a-convec.adb,
3031 libgnat/a-coorma.ads, libgnat/a-coorma.adb,
3032 libgnat/a-coormu.ads, libgnat/a-coormu.adb,
3033 libgnat/a-coorse.ads, libgnat/a-coorse.adb,
3034 libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
3035 libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads,
3036 libgnat/a-nbnbre.adb, libgnat/a-strunb.ads,
3037 libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads,
3038 libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads,
3039 libgnat/s-rannum.adb: Modify Put_Image procedure used in
3040 Put_Image aspect specification to conform to Ada profile
3041 rules (in particular, the first parameter shall be of type
3042 Ada.Strings.Text_Buffers.Root_Buffer_Type'Class).
3043 * libgnat/a-sttebu.ads, libgnat/a-sttebu.adb,
3044 libgnat/a-stbubo.ads, libgnat/a-stbubo.adb,
3045 libgnat/a-stbufi.ads, libgnat/a-stbufi.adb,
3046 libgnat/a-stbufo.ads, libgnat/a-stbufo.adb,
3047 libgnat/a-stbuun.ads, libgnat/a-stbuun.adb,
3048 libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined
3049 unit, Ada.Strings.Text_Buffers, and five child units. Two of
3050 the five are RM-defined: Bounded and Unbounded. The remaining
3051 three are GNAT-defined: Files, Utils, and Formatting. The buffer
3052 type corresponding to an output file, type Files.File_Buffer, is
3053 simpler (and perhaps therefore slower) than its predecessor.
3054 Caching similar to what was being done before could be added
3055 later if that seems appropriate.
3056 * libgnat/s-putima.ads: Modify context clause, update
3057 declaration of subtype Sink to refer to
3058 Text_Buffers.Root_Buffer_Type instead of the old
3059 Text_Output.Sink type.
3060 * libgnat/s-putima.adb: Modify context clause. Update
3061 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
3062 names; ditto for "Put_String => Put" name change.
3063 * libgnat/a-stteou__bootstrap.ads: Delete.
3064
30652021-06-21 Eric Botcazou <ebotcazou@adacore.com>
3066
3067 * exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian
3068 ordering is in effect for the operands and they are small,
3069 adjust the unchecked conversions done around them.
3070
30712021-06-21 Richard Kenner <kenner@adacore.com>
3072
3073 * einfo.ads (Return_Statement): Add documentation.
3074 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it.
3075 * gen_il-fields.ads: Add it.
3076 * gen_il-gen-gen_entities.adb: Add it.
3077
30782021-06-21 Bob Duff <duff@adacore.com>
3079
3080 * rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb,
3081 libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library
3082 function to copy bit fields faster than Copy_Bitfield. Cannot be
3083 called with zero-size bit fields. Remove obsolete ??? comments
3084 from s-bituti.adb; we already do "avoid calling this if
3085 Forwards_OK is False".
3086 * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield,
3087 Expand_Assign_Array_Bitfield_Fast): Generate calls to
3088 Fast_Copy_Bitfield when appropriate.
3089 * sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new
3090 functions for getting the index bounds. These are more
3091 convenient than the procedure of the same name, because they can
3092 be used to initialize constants.
3093
30942021-06-21 Ed Schonberg <schonberg@adacore.com>
3095
3096 * gen_il-fields.ads: Add Default_Subtype_Mark to enumeration
3097 type for fields.
3098 * gen_il-gen-gen_nodes.adb: Add call to create new field for
3099 Formal_Type_Declaration node.
3100 * par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode,
3101 recognize new syntax for default: "or use subtype_mark".
3102 (P_Formal_Type_Definition): Ditto for the case of a formal
3103 incomplete type.
3104 * sinfo.ads: Add field Default_Subtype_Mark to
3105 N_Formal_Type_Declaration.
3106 * sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to
3107 apply legality rules to default subtypes in formal type
3108 declarations. Some legality rules apply to all defaults, such as
3109 the requirement that the default for a formal type that depends
3110 on previous formal entities must itself be a previously declared
3111 formal of the same unit. Other checks are kind- specific.
3112 (Analyze_Associations): Use specified default if there is no
3113 actual provided for a formal type in an instance.
3114 (Analyze_Formal_Type_Declaration): Call
3115 Validate_Formal_Type_Default when default subtype is present.
3116
31172021-06-21 Bob Duff <duff@adacore.com>
3118
3119 * libgnat/s-valuen.ads, libgnat/s-valuen.adb
3120 (Value_Enumeration_Pos): New function to compute the 'Pos of the
3121 enumeration literal for a given String. Return a special value
3122 instead of raising an exception on invalid input. Called by both
3123 Valid_Enumeration_Image and Value_Enumeration.
3124 (Valid_Enumeration_Image): Return a Boolean indicating whether
3125 the String is a valid Image for the given enumeration type.
3126 (Value_Enumeration): Implement in terms of
3127 Value_Enumeration_Pos.
3128 * libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads,
3129 libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the
3130 instances.
3131 * libgnat/s-valuti.ads: Correct documentation (it was not true
3132 for the null string).
3133 * libgnat/s-valuti.adb (Normalize_String): Do not raise
3134 Constraint_Error for the null string, nor strings containing
3135 nothing but blanks, so that Valid_Enumeration_Image can return
3136 False in these cases, rather than raising an exception.
3137 * rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16,
3138 RE_Value_Enumeration_32): New functions.
3139 (RTE_Available): Improve comment (E doesn't have to be a
3140 subprogram, although that's the usual case).
3141 * sem_attr.adb (nalid_Value): Semantic analysis for new
3142 attribute.
3143 * exp_attr.adb: Call Expand_Valid_Value_Attribute for new
3144 attribute.
3145 * exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New
3146 procedure to expand Valid_Value into a call to
3147 Valid_Enumeration_Image_NN.
3148 (Expand_Value_Attribute): Misc code cleanups. Remove two ???
3149 mark comments. RTE_Available won't work here. For one thing,
3150 RTE_Available (X) shouldn't be called until the compiler has
3151 decided to make use of X (see comments on RTE_Available), and in
3152 this case we're trying to AVOID calling something.
3153 * snames.ads-tmpl: New attribute name.
3154 * doc/gnat_rm/implementation_defined_attributes.rst: Document
3155 new attribute.
3156 * gnat_rm.texi: Regenerate.
3157
31582021-06-21 Eric Botcazou <ebotcazou@adacore.com>
3159
3160 * fe.h (Assume_No_Invalid_Values): Declare.
3161 * opt.ads (Assume_No_Invalid_Values): Add warning comment.
3162
31632021-06-21 Bob Duff <duff@adacore.com>
3164
3165 * libgnat/s-bituti.ads (Small_Size): Do not include 0 in this
3166 type.
3167 * libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit
3168 bitfields.
3169
31702021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
3171
3172 * exp_ch9.adb (Build_Simple_Entry_Call): Add comment.
3173 * libgnat/s-rannum.adb (Random): Update comment.
3174 * libgnat/s-rannum.ads (Generator): Update comment.
3175
31762021-06-21 Piotr Trojanek <trojanek@adacore.com>
3177
3178 * doc/gnat_rm/representation_clauses_and_pragmas.rst (Address
3179 Clauses): Fix unbalanced parens.
3180 * gnat_rm.texi: Regenerate.
3181
31822021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
3183
3184 * errout.adb (Handle_Serious_Error): Capitalize comment.
3185 * exp_dbug.adb (Set_Entity_Name): Capitalize sentence.
3186 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix
3187 typo.
3188 * sem_ch3.adb (Modular_Type_Declaration): Add space after comma.
3189
31902021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
3191
3192 * debug.adb: Document -gnatd_U as taken.
3193 * err_vars.ads (Warning_Doc_Switch): Set to True.
3194 * errout.ads (Errout): Update documentation.
3195 * gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U.
3196 * hostparm.ads (Tag_Errors): Set to True.
3197 * opt.ads (Unique_Error_Tag): Document -gnatd_U.
3198
31992021-06-21 Eric Botcazou <ebotcazou@adacore.com>
3200
3201 * urealp.ads (UR_Write_To_JSON): Declare.
3202 * urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10
3203 specially and rewrite handling of numbers in other bases.
3204 (Decimal_Exponent_Lo): Likewise.
3205 (Normalize): Minor tweak.
3206 (UR_Write_To_JSON): New wrapper procedure around UR_Write.
3207 * repinfo.adb (List_Type_Info): When the output is to JSON, call
3208 UR_Write_To_JSON instead of UR_Write.
3209
32102021-06-21 Piotr Trojanek <trojanek@adacore.com>
3211
3212 * sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown
3213 offset for components within multidimensional arrays; remove
3214 redundant parens.
3215
32162021-06-21 Piotr Trojanek <trojanek@adacore.com>
3217
3218 * sem_util.adb (Find_Overlaid_Entity): Ignore references to
3219 components and discriminants.
3220
32212021-06-21 Doug Rupp <rupp@adacore.com>
3222
3223 * Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add
3224 $(TRASYM_DWARF_UNIX_PAIRS).
3225 [EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS)
3226
32272021-06-21 Gary Dismukes <dismukes@adacore.com>
3228
3229 * exp_util.adb (Expand_Sliding_Conversion): Only perform
3230 expansion when Expander_Active is True. Add a comment about this
3231 and refine existing comment regarding string literals.
3232
32332021-06-21 Piotr Trojanek <trojanek@adacore.com>
3234
3235 * sem_util.adb (Denotes_Same_Object): Simplify handling of
3236 slices.
3237
32382021-06-21 Piotr Trojanek <trojanek@adacore.com>
3239
3240 * sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming;
3241 simplify; adapt callers.
3242
32432021-06-21 Frederic Konrad <konrad@adacore.com>
3244
3245 * Makefile.rtl: Compiles both static and dynamic libgnat for
3246 powerpc64-wrs-vxworks7r2.
3247
c5581d48
GA
32482021-06-18 Gary Dismukes <dismukes@adacore.com>
3249
3250 * sem_ch3.adb (Constrain_Array): Add error checking for
3251 fixed-lower-bound and constrained index ranges applied
3252 inappropriately on subtypes of unconstrained and
3253 fixed-lower-bound array types.
3254 (Constrain_Index): Correct and refine comment related to
3255 fixed-lower-bound index ranges.
3256
32572021-06-18 Bob Duff <duff@adacore.com>
3258
3259 * gen_il-gen.adb: Improve comments.
3260 * snames.ads-tmpl (Convention_Id): Remove "-- Plenty of space
3261 for expansion", because that's irrelevant now that we are no
3262 longer laying out node fields by hand.
3263
32642021-06-18 Piotr Trojanek <trojanek@adacore.com>
3265
3266 * sem_util.adb (Denotes_Same_Object): Handle character literals
3267 just like integer literals.
3268
32692021-06-18 Piotr Trojanek <trojanek@adacore.com>
3270
3271 * sem_util.adb (Denotes_Same_Object): Explicitly test for node
3272 kinds being the same; deal with renamings one-by-one; adjust
3273 numbers in references to the Ada RM.
3274
32752021-06-18 Bob Duff <duff@adacore.com>
3276
3277 * sprint.adb (Write_Source_Line): Check for EOF in
3278 Line_Terminator loop. Note that when a source file is read in,
3279 an EOF character is added to the end.
3280
32812021-06-18 Piotr Trojanek <trojanek@adacore.com>
3282
3283 * sem_aux.adb (Package_Specification): Add assertions to confirm
3284 the kind of the of parameter and returned node.
3285 * sem_ch12.adb (Remove_Parent): Reorder conditions; this change
3286 appears to be semantically neutral, but is enough to avoid the
3287 problematic call to Package_Specification.
3288 * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop
3289 with a call to Package_Specification.
3290
32912021-06-18 Bob Duff <duff@adacore.com>
3292
3293 * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use
3294 Enum_Type'Object_Size.
3295
32962021-06-18 Olivier Hainque <hainque@adacore.com>
3297
3298 * sigtramp-vxworks-target.inc (__aarch64__): Sync
3299 REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
3300 In CFI_COMMON_REGS, leave r18 alone, VxWorks private.
3301
33022021-06-18 Javier Miranda <miranda@adacore.com>
3303
3304 * contracts.adb (Process_Spec_Postconditions): Add missing
3305 support for aliased subprograms and handle wrappers of
3306 class-wide pre/post conditions.
3307 (Process_Inherited_Preconditions): Add missing support for
3308 aliased subprograms and handle wrappers of class-wide pre/post
3309 conditions.
3310 * einfo.ads (Class_Wide_Clone): Fix typo.
3311 (Is_Class_Wide_Clone): Removed since it is not referenced.
3312 (Is_Wrapper): Documenting new flag.
3313 (LSP_Subprogram): Documenting new attribute.
3314 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate
3315 wrapper as Is_Wrapper and adjust call to
3316 Override_Dispatching_Operation.
3317 * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in
3318 documentation.
3319 (Check_Inherited_Conditions): Handle LSP wrappers; ensure
3320 correct decoration of LSP wrappers.
3321 * gen_il-fields.ads (Is_Class_Wide_Clone): Removed.
3322 (Is_Wrapper): Added.
3323 (LSP_Subprogram): Added.
3324 * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed.
3325 (Is_Wrapper): Added.
3326 (LSP_Subprogram): Added.
3327 * gen_il-internals.adb (Image): Adding uppercase image of
3328 LSP_Subprogram.
3329 * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP
3330 wrappers.
3331 * sem_disp.ads (Override_Dispatching_Operation): Remove
3332 parameter Is_Wrapper; no longer needed.
3333 * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion.
3334 (Override_Dispatching_Operation): Remove parameter Is_Wrapper;
3335 no longer needed.
3336 * treepr.adb (Image): Adding uppercase image of LSP_Subprogram.
3337
33382021-06-18 Arnaud Charlet <charlet@adacore.com>
3339
3340 * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type
3341 of the name of a "for of" loop is frozen.
3342 * exp_disp.adb (Check_Premature_Freezing): Complete condition to
3343 take into account a private type completed by another private
3344 type now that the freezing rule are better implemented.
3345 * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an
3346 early freeze on types if not in the proper scope. Special case
3347 expression functions that requires access to the dispatch table.
3348 (Should_Freeze_Type): New.
3349 * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert
3350 failure in case of an invalid tree (previous errors detected).
3351 * sem_res.adb (Resolve): Remove kludge related to entities
3352 causing incorrect premature freezing.
3353 * sem_util.adb (Ensure_Minimum_Decoration): Add protection
3354 against non base types.
3355
33562021-06-18 Gary Dismukes <dismukes@adacore.com>
3357
3358 * sem_ch3.adb (Constrain_Index): Set the High_Bound of a
3359 fixed-lower-bound subtype's range to T (the subtype of the FLB
3360 index being constrained) rather than Base_Type (T).
3361
33622021-06-18 Bob Duff <duff@adacore.com>
3363
3364 * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb,
3365 einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb,
3366 libgnat/a-textio.ads, libgnat/g-memdum.ads,
3367 libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb,
3368 osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb,
3369 sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl,
3370 targparm.ads, types.ads: Remove AAMP-specific code.
3371 * switch.ads: Minor reformatting.
3372 * gen_il-fields.ads, gen_il-gen.adb,
3373 gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb,
3374 einfo-utils.ads: Package Types now contains "type Float_Rep_Kind
3375 is (IEEE_Binary);", which used to also have an enumeral AAMP.
3376 Gen_IL can't handle fields of this type, which would be zero
3377 sized. Therefore, we move the Float_Rep field into Einfo.Utils
3378 as a synthesized attribute. (We do not delete the field
3379 altogether, in case we want new floating-point representations
3380 in the future.)
3381 * doc/gnat_rm/implementation_defined_pragmas.rst,
3382 doc/gnat_rm/implementation_defined_aspects.rst,
3383 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
3384 doc/gnat_ugn/the_gnat_compilation_model.rst: Remove
3385 AAMP-specific documentation.
3386 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
3387
33882021-06-18 Gary Dismukes <dismukes@adacore.com>
3389
3390 * exp_util.adb (Expand_Sliding_Conversion): Move test of
3391 Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string
3392 literals from sliding expansion.
3393
33942021-06-18 Piotr Trojanek <trojanek@adacore.com>
3395
3396 * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions
3397 related to Ada_Version.
3398
33992021-06-18 Piotr Trojanek <trojanek@adacore.com>
3400
3401 * sem_util.adb (Address_Value): Simplify.
3402
34032021-06-18 Bob Duff <duff@adacore.com>
3404
3405 * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value
3406 instead of Intval, because the latter only exists in literals.
3407 Remove Set_Etype on E1; setting the type is done elsewhere.
3408
34092021-06-18 Piotr Trojanek <trojanek@adacore.com>
3410
3411 * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of
3412 both formal parameters; refactor a complex detection of
3413 by-reference types.
3414
34152021-06-18 Arnaud Charlet <charlet@adacore.com>
3416
3417 * gnatcmd.adb: Fix handling of check and test commands.
3418
34192021-06-18 Gary Dismukes <dismukes@adacore.com>
3420
3421 * doc/gnat_rm/implementation_defined_pragmas.rst: Add
3422 documentation for the array fixed-lower-bound feature.
3423 * gnat_rm.texi: Regenerate.
3424
34252021-06-18 Bob Duff <duff@adacore.com>
3426
3427 * debug.adb: Document switch.
3428 * exp_aggr.adb: If -gnatd_g was given, then do not bump the
3429 limit to 500_000.
3430
34312021-06-18 Bob Duff <duff@adacore.com>
3432
3433 * sem_util.ads, sem_util.adb (Has_Access_Values): Remove
3434 Include_Internal parameter that was added in previous change.
3435 * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==>
3436 Formal_Kind change made previously. Check Is_Private_Type to
3437 avoid warnings on private types. Misc cleanup.
3438 * sem_attr.adb (Attribute_Has_Access_Values): Remove
3439 Include_Internal parameter.
3440
34412021-06-18 Piotr Trojanek <trojanek@adacore.com>
3442
3443 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch
3444 for overlapping actuals in prefix notation.
3445
34462021-06-18 Eric Botcazou <ebotcazou@adacore.com>
3447
3448 * sem_prag.adb (Process_Import_Or_Interface): Do not
3449 artificially record a possible modification for a constant.
3450
34512021-06-18 Arnaud Charlet <charlet@adacore.com>
3452
3453 * exp_ch6.adb (Expand_Call_Helper): Code cleanups.
3454
34552021-06-18 Arnaud Charlet <charlet@adacore.com>
3456
3457 * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads,
3458 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb,
3459 sem_util.adb, sem_util.ads, sinfo.ads: Update comments.
3460
34612021-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
3462
3463 * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to
3464 True if -fdiagnostics-format=json option is found.
3465 * back_end.ads (Scan_Compiler_Arguments): Mention
3466 Opt.JSON_Output.
3467 * errout.adb (Output_JSON_Message): New procedure.
3468 (Output_Messages): If Opt.JSON_Output is True, print messages
3469 with new Output_JSON_Message procedure.
3470 * opt.ads: Declare JSON_Output variable.
3471 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
3472 Mention new -fdiagnostics-format option.
3473 * gnat_ugn.texi: Regenerate.
3474
34752021-06-18 Arnaud Charlet <charlet@adacore.com>
3476
3477 * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
3478 mismatch check when Relaxed_RM_Semantics is set.
3479
34802021-06-18 Arnaud Charlet <charlet@adacore.com>
3481
3482 * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb,
3483 switch-c.adb (Extensions_Allowed): Replace by a function.
3484 (Ada_Version_Type): Add new value Ada_With_Extensions, to
3485 replace setting of Extensions_Allowed. Update setting of
3486 Extensions_Allowed.
3487
34882021-06-18 Arnaud Charlet <charlet@adacore.com>
3489
3490 * bindgen.adb (Gen_Output_File_Ada): Generate a new constant
3491 GNAT_Version_Address.
3492 * libgnat/g-comver.adb (GNAT_Version_Address): New;
3493 (GNAT_Version): Use GNAT_Version_Address to disable LTO warning.
3494
34952021-06-18 Javier Miranda <miranda@adacore.com>
3496
3497 * einfo.ads (Is_Ada_2022_Only): Adding documentation.
3498 * gen_il-fields.ads (Is_Ada_2022_Only): New flag.
3499 * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag.
3500 * itypes.adb (Create_Null_Excluding_Itype): Inherit
3501 Is_Ada_2022_Only.
3502 * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error
3503 on Ada 2022 only subprograms that require overriding if we are
3504 not in Ada 2022 mode.
3505 (Derive_Subprogram): Inherit Is_Ada_2022_Only.
3506 * sem_ch6.adb (Check_Overriding_Indicator): Inherit
3507 Is_Ada_2022_Only.
3508 (New_Overloaded_Entity): Inherit Is_Ada_2022_Only.
3509 * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit
3510 Is_Ada_2022_Only.
3511 (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only.
3512 * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit
3513 Is_Ada_2022_Only.
3514 (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only.
3515 * sem_prag.adb (Analyze_Pragma): Allow form with argument for
3516 Ada 2022.
3517 * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only
3518 * lib-xref.adb (Generate_Reference): Error on static and
3519 dispatching calls to Ada 2022 subprograms that require
3520 overriding if we are not in Ada 2022 mode; warn on other
3521 references to Ada 2022 entities when not in Ada 2022 mode.
3522 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit
3523 Ada_2020_Only.
3524 * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022.
3525 * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022.
3526 * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022.
3527 * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022.
3528 * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022.
3529 (New_Vector): Adding pragma Ada_2022.
3530 (Insert_Vector): Adding pragma Ada_2022.
3531 (Prepend_Vector): Adding pragma Ada_2022.
3532 (Append_Vector): Adding pragma Ada_2022.
3533
688359a2
GA
35342021-06-17 Arnaud Charlet <charlet@adacore.com>
3535
3536 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against
3537 no Primitive_Operations.
3538
35392021-06-17 Vadim Godunko <godunko@adacore.com>
3540
3541 * libgnat/a-strunb__shared.ads (Allocate): Additional parameter
3542 to provide additional amount of space to be allocated.
3543 * libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit
3544 length to Natural'Last when requested length is larger than it.
3545 (Allocate): Merge two slightly different implementations into
3546 one.
3547
35482021-06-17 Gary Dismukes <dismukes@adacore.com>
3549
3550 * checks.adb (Discrete_Range_Cond): For an index subtype that
3551 has a fixed lower bound, require that the range's lower bound
3552 match that of the subtype.
3553 (Selected_Range_Checks): Warn about the case where a static
3554 lower bound does not equal an index subtype's fixed lower bound.
3555 * einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype,
3556 Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag.
3557 * exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of
3558 an unconstrained array subtype with fixed lower bound, then
3559 Expand_Sliding_Conversion is applied to the operand.
3560 * exp_ch6.adb (Expand_Simple_Function_Return): If the result
3561 subtype is an unconstrained array subtype with fixed lower
3562 bound, then Expand_Sliding_Conversion is applied to the return
3563 object.
3564 * exp_util.ads (Expand_Sliding_Conversion): New procedure for
3565 applying a sliding subtype conversion to an array object of a
3566 fixed-lower-bound subtype when needed.
3567 * exp_util.adb: Add with_clause for Freeze.
3568 (Expand_Sliding_Conversion): New procedure for applying a
3569 sliding subtype conversion to an array object of a
3570 fixed-lower-bound subtype when needed. It traverses the indexes
3571 of the unconstrained array type/subtype to create a target
3572 constrained subtype and rewrites the array object to be a
3573 conversion to that subtype, when there's at least one index
3574 whose lower bound does not statically match the fixed-lower
3575 bound of the target subtype.
3576 * gen_il-fields.ads (type Opt_Field_Enum): Add literals
3577 Is_Fixed_Lower_Bound_Array_Subtype and
3578 Is_Fixed_Lower_Bound_Index_Subtype for new flags on type
3579 entities.
3580 * gen_il-gen-gen_entities.adb: Add calls to
3581 Create_Semantic_Field for the new fixed-lower-bound flags on
3582 type entities.
3583 * par-ch3.adb (P_Array_Type_Definition): Add handling for
3584 parsing of fixed-lower-bound index ranges in unconstrained array
3585 types. Report an error if such an index is encountered and GNAT
3586 language extensions are not enabled.
3587 (P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure
3588 for parsing unconstrained index ranges.
3589 (P_Index_Or_Discriminant_Constraint): Add handling for parsing
3590 of index constraints that specify ranges with fixed lower
3591 bounds. Report an error if such an index is encountered and GNAT
3592 language extensions are not enabled.
3593 * sem_ch3.adb (Analyze_Object_Declaration): If the object's
3594 nominal subtype is an array subtype with fixed lower bound, then
3595 Expand_Sliding_Conversion is applied to the object.
3596 (Array_Type_Declaration): Mark the array type and the subtypes
3597 of any indexes that specify a fixed lower bound as being
3598 fixed-lower-bound subtypes, and set the High_bound of the range
3599 of such an index to the upper bound of the named subtype.
3600 (Constrain_Array): For an array subtype with one or more index
3601 ranges specifying a fixed lower bound, set Is_Constrained to
3602 False and set the array subtype's
3603 Is_Fixed_Lower_Bound_Array_Subtype flag to True.
3604 (Constrain_Index): Mark the subtypes of an index that specifies
3605 a fixed lower bound as being a fixed-lower-bound index subtype,
3606 and set the High_bound of the range of such an index to the
3607 upper bound of the base type of the array type's corresponding
3608 index.
3609 * sem_res.adb (Resolve_Actuals): If a formal is of an
3610 unconstrained array subtype with fixed lower bound, then
3611 Expand_Sliding_Conversion is applied to the actual.
3612 * sem_util.adb (Build_Actual_Subtype): If the actual subtype
3613 corresponds to an unconstrained array subtype having any indexes
3614 with fixed lower bounds, then set the lower bounds of any such
3615 indexes of the actual subtype to the appropriate fixed lower
3616 bound of the formal subtype (rather than taking it from the
3617 formal itself).
3618 * sprint.adb (Sprint_Node_Actual, case N_Range): If a range's
3619 Etype has a fixed lower bound, then print "<>" rather than the
3620 High_Bound of the range.
3621
36222021-06-17 Bob Duff <duff@adacore.com>
3623
3624 * sem_util.adb, sem_util.ads (Has_Access_Values): New formal
3625 Include_Internal to indicate whether internal types should be
3626 included.
3627 * sem_warn.adb (Check_References): Change E_Out_Parameter to
3628 Formal_Kind, to match the comment about Spec_Entity. Pass
3629 Include_Internal => False to Has_Access_Values, so that we warn
3630 on types with access values that happen to be in internal types,
3631 such as Unbounded_String.
3632 * sem_attr.adb (Attribute_Has_Access_Values): Pass
3633 Include_Internal => True to Has_Access_Values, to preserve
3634 existing behavior.
3635 * libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to
3636 'in', to avoid warning enabled by the change to sem_warn.adb.
3637 * libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in
3638 out' to 'in', to avoid warning enabled by the change to
3639 sem_warn.adb.
3640
36412021-06-17 Steve Baird <baird@adacore.com>
3642
3643 * exp_ch5.adb
3644 (Expand_N_Case_Statement.Expand_General_Case_Statement): New
3645 subprogram.
3646 (Expand_N_Case_Statement): If extensions are allowed and the
3647 case selector is not of a discrete type, then call
3648 Expand_General_Case_Statement to generate expansion instead of
3649 flagging the non-discrete selector as an error.
3650 * sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued
3651 function for testing whether a given expression occurs as part
3652 of a case choice pattern.
3653 * sem_case.adb (Composite_Case_Ops): New package providing
3654 support routines for the new form of case statements. This
3655 includes a nested package, Composite_Case_Ops.Value_Sets, which
3656 encapsulates the "representative values" implementation of
3657 composite value sets.
3658 (Check_Choices.Check_Case_Pattern_Choices): New procedure for
3659 semantic checking of non-discrete case choices. This includes
3660 the checks pertaining to coverage and overlapping.
3661 (Check_Choices.Check_Composite_Case_Selector): New procedure for
3662 semantic checking of non-discrete case selectors.
3663 (Check_Choices): If extensions are allowed then a non-discrete
3664 selector type no longer implies that an error must have been
3665 flagged earlier. Instead of simply returning, call
3666 Check_Composite_Case_Selector and Check_Case_Pattern_Choices.
3667 (Is_Case_Choice_Pattern): Body of new function declared in
3668 sem_case.ads .
3669 * sem_ch5.adb (Analyze_Case_Statement): If extensions are
3670 allowed, then we can't use RM 5.4's "The selecting_expression is
3671 expected to be of any discrete type" name resolution rule.
3672 Handle the case where the type of the selecting expression is
3673 not discrete, as well as the new ambiguous-name-resolution error
3674 cases made possible by this change.
3675 * sem_res.adb (Resolve_Entity_Name): It is ok to treat the name
3676 of a type or subtype as an expression if it is part of a case
3677 choice pattern, as in "(Field1 => Positive, Field2 => <>)".
3678 * exp_aggr.adb (Expand_Record_Aggregate): Do not expand case
3679 choice aggregates.
3680 * gen_il-fields.ads: Define two new node attributes,
3681 Binding_Chars and Multidefined_Bindings.
3682 * gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings
3683 attribute is Boolean-valued and may be set on
3684 N_Case_Statement_Alternative nodes. The new Binding_Chars
3685 attribute is Name_Id-valued and may be set on
3686 N_Component_Association nodes.
3687 * par-ch4.adb (P_Record_Or_Array_Component_Association): When
3688 parsing a component association, check for both new syntax forms
3689 used to specify a bound value in a case-choice aggregate. In
3690 the case of a box value, an identifier may occur within the box,
3691 as in "Foo => <Abc>" instead of "Foo => <>". In the more general
3692 case, an expression (or a box) may be followed by "is
3693 <identifier>", as in
3694 "Foo => Bar is Abc" instead of just "Foo => Bar".
3695 * sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box
3696 component values in a case-choice aggregate.
3697 * sinfo.ads: Provide comments for the new attributes added in
3698 gen_il-fields.ads.
3699 * doc/gnat_rm/implementation_defined_pragmas.rst: Describe this
3700 new feature in documentation for pragma Extensions_Allowed.
3701 * gnat_rm.texi: Regenerate.
3702
37032021-06-17 Arnaud Charlet <charlet@adacore.com>
3704
3705 * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action):
3706 Do not abandon processing on a nested N_Expression_With_Actions
3707 or N_Loop_Statement, otherwise we may miss some transient
3708 declarations.
3709
37102021-06-17 Arnaud Charlet <charlet@adacore.com>
3711
3712 * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate
3713 node.
3714
37152021-06-17 Piotr Trojanek <trojanek@adacore.com>
3716
3717 * sem_util.adb (Is_Valid_Renaming): Check not only indexed
3718 components, but slices too.
3719
37202021-06-17 Piotr Trojanek <trojanek@adacore.com>
3721
3722 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check
3723 No_Wide_Characters restriction after rejecting illegal parent
3724 types.
3725 (Derived_Type_Declaration): Likewise.
3726 (Find_Type_Of_Subtype_Indic): Remove check for
3727 No_Wide_Characters restriction, which was done too early.
3728
37292021-06-17 Piotr Trojanek <trojanek@adacore.com>
3730
3731 * sem_util.adb (Is_Valid_Renaming): Body moved from its nested
3732 routine.
3733
37342021-06-17 Gary Dismukes <dismukes@adacore.com>
3735
3736 * sem_ch12.adb (Instantiate_Type): If the actual type for an
3737 incomplete formal type is also incomplete, but has a Full_View,
3738 use the Full_View of the actual type rather than the incomplete
3739 view.
3740
37412021-06-17 Piotr Trojanek <trojanek@adacore.com>
3742
3743 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
3744 (-gnatw.I): Remove double period at the end of sentence.
3745 * gnat_ugn.texi: Regenerate.
3746
37472021-06-17 Piotr Trojanek <trojanek@adacore.com>
3748
3749 * sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with
3750 the range of a slice object, not its type.
3751
37522021-06-17 Piotr Trojanek <trojanek@adacore.com>
3753
3754 * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style;
3755 refactor repeated calls to Nkind; remove early RETURN.
3756
37572021-06-17 Piotr Trojanek <trojanek@adacore.com>
3758
3759 * sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of
3760 generic types, but keep examining other parameters.
3761
37622021-06-17 Piotr Trojanek <trojanek@adacore.com>
3763
3764 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code.
3765
37662021-06-17 Piotr Trojanek <trojanek@adacore.com>
3767
3768 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated
3769 code.
3770
37712021-06-17 Piotr Trojanek <trojanek@adacore.com>
3772
3773 * checks.adb (Overlap_Check): Replace Set_Casing with
3774 Adjust_Name_Case and adapt surrounding code as needed.
3775
37762021-06-17 Arnaud Charlet <charlet@adacore.com>
3777
3778 * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move...
3779 * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.
3780
37812021-06-17 Arnaud Charlet <charlet@adacore.com>
3782
3783 * uintp.ads, uintp.adb (UI_To_Unsigned_64): New.
3784
37852021-06-17 Piotr Trojanek <trojanek@adacore.com>
3786
3787 * sem_prag.adb (Get_Overflow_Mode): Reword error message.
3788 * switch-c.adb (Get_Overflow_Mode): Likewise.
3789
37902021-06-17 Richard Kenner <kenner@adacore.com>
3791
3792 * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle
3793 Others_Discrete_Choices in N_Others_Choice.
3794
37952021-06-17 Arnaud Charlet <charlet@adacore.com>
3796
3797 * atree.adb: Remove redundant comment with spec.
3798 * sem_warn.adb: Fix typo in comment.
3799
38002021-06-17 Arnaud Charlet <charlet@adacore.com>
3801
3802 * atree.adb: Do not suppress checks.
3803
38042021-06-17 Justin Squirek <squirek@adacore.com>
3805
3806 * exp_ch3.adb (Check_Missing_Others): Add comment.
3807 (Build_Initialization_Call): Remove inaccurate accessibility
3808 comment.
3809 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove
3810 test for Ada2012.
3811 (Analyze_Package_Instantiation): Remove speculative comment.
3812 (Inline_Instance_Body): Add comments for loops.
3813 (Build_Subprogram_Renaming): Remove comment about fix being
3814 partial and "ugly."
3815 (Instantiate_Subprogram_Body): Remove comment referencing DEC
3816 related internal issue.
3817 (Subtypes_Match): Add comment and simplify anonymous access
3818 test.
3819 (Is_Global): Add test for when E is an expanded name, and
3820 calculate the scope accordingly.
3821 * sem_ch6.adb (Analyze_Function_Return): Update comment
3822 regarding accessibility, and add check for
3823 Warn_On_Ada_2012_Compatibility.
3824 (Mask_Type_Refs): Add comments.
3825 (Analyze_Subprogram_Declaration): Remove mysterious suppression
3826 of elaboration checks.
3827 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic
3828 value.
3829 * sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment.
3830 (Note_Redundant_Use): Fix calls to Find_First_Use to be
3831 Find_Most_Prev.
3832 (Get_Object_Name): Modify error message to be more descriptive.
3833 (Known_But_Visible): Remove mysterious special case for
3834 GNAT_Mode.
3835 (Find_First_Use): Removed.
3836 (Find_Most_Prev): Renamed from Find_First_Use.
3837 * sem_prag.adb (Check_Static_Constraint): Add comments to
3838 routine.
3839
38402021-06-17 Bob Duff <duff@adacore.com>
3841
3842 * treepr.adb (Print_Node): Display the Entity or Associated_Node
3843 fields if appropriate.
3844 * sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These
3845 are no longer needed.
3846
38472021-06-17 Piotr Trojanek <trojanek@adacore.com>
3848
3849 * checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to
3850 Is_Object_Reference with calls to Is_Name_Reference; remove
3851 asymmetric condition that only detected an aggregate as the
3852 first actual (aggregate objects were just a special case of an
3853 object reference that was not a name).
3854
38552021-06-17 Bob Duff <duff@adacore.com>
3856
3857 * gen_il-gen.adb, gen_il-internals.ads: Generate field
3858 enumeration literals with "F_" prefix. Update all generated
3859 references accordingly.
3860 * atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb,
3861 sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb,
3862 sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the
3863 field enumeration literals.
3864
38652021-06-17 Arnaud Charlet <charlet@adacore.com>
3866
3867 * libgnat/i-c.ads, libgnat/i-cexten.ads,
3868 libgnat/i-cexten__128.ads: bool renamed C_bool.
3869
38702021-06-17 Piotr Trojanek <trojanek@adacore.com>
3871
3872 * sem_ch4.adb (Analyze_Allocator): Reject allocators in
3873 restricted contexts.
3874
38752021-06-17 Arnaud Charlet <charlet@adacore.com>
3876
3877 * gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot
3878 be found.
3879
9a61dfdb
GA
38802021-06-16 Piotr Trojanek <trojanek@adacore.com>
3881
3882 * sem_util.adb (Is_Volatile_Function): Follow the exact wording
3883 of SPARK (regarding volatile functions) and Ada (regarding
3884 protected functions).
3885
38862021-06-16 Piotr Trojanek <trojanek@adacore.com>
3887
3888 * sem_util.adb (Is_OK_Volatile_Context): All references to
3889 volatile objects are legal in preanalysis.
3890 (Within_Volatile_Function): Previously it was wrongly called on
3891 Empty entities; now it is only called on E_Return_Statement,
3892 which allow the body to be greatly simplified.
3893
38942021-06-16 Yannick Moy <moy@adacore.com>
3895
3896 * sem_res.adb (Set_Slice_Subtype): Revert special-case
3897 introduced previously, which is not needed as Itypes created for
3898 slices are precisely always used.
3899
39002021-06-16 Eric Botcazou <ebotcazou@adacore.com>
3901
3902 * urealp.adb (Scale): Change first paramter to Uint and adjust.
3903 (Equivalent_Decimal_Exponent): Pass U.Den directly to Scale.
3904 * libgnat/s-exponr.adb (Negative): Rename to...
3905 (Safe_Negative): ...this and change its lower bound.
3906 (Exponr): Adjust to above renaming and deal with Integer'First.
3907
39082021-06-16 Piotr Trojanek <trojanek@adacore.com>
3909
3910 * sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
3911 allocators within restricted contexts and not just entity names.
3912 (Resolve_Actuals): Remove duplicated code for detecting
3913 restricted contexts; it is now exclusively done in
3914 Is_OK_Volatile_Context.
3915 (Resolve_Entity_Name): Adapt to new parameter of
3916 Is_OK_Volatile_Context.
3917 * sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
3918 handle contexts both inside and outside of subprogram call
3919 actual parameters.
3920 (Within_Subprogram_Call): Remove; now handled by
3921 Is_OK_Volatile_Context itself and its parameter.
3922
39232021-06-16 Piotr Trojanek <trojanek@adacore.com>
3924
3925 * sinput.adb (Sloc_Range): Refactor several repeated calls to
3926 Sloc and two comparisons with No_Location.
3927
39282021-06-16 Piotr Trojanek <trojanek@adacore.com>
3929
3930 * checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending
3931 on the parameter passing mechanism. Grammar adjustment ("has"
3932 => "have").
3933 (Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment.
3934
39352021-06-16 Piotr Trojanek <trojanek@adacore.com>
3936
3937 * exp_ch3.adb (Build_Slice_Assignment): Remove unused
3938 initialization.
3939
39402021-06-16 Piotr Trojanek <trojanek@adacore.com>
3941
3942 * restrict.adb, sem_attr.adb, types.ads: Fix typos in
3943 "occuring"; refill comment as necessary.
3944
39452021-06-16 Piotr Trojanek <trojanek@adacore.com>
3946
3947 * sem_util.ads (Is_Actual_Parameter): Update comment.
3948 * sem_util.adb (Is_Actual_Parameter): Also detect entry parameters.
3949
39502021-06-16 Arnaud Charlet <charlet@adacore.com>
3951
3952 * rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb,
3953 exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related
3954 entities to the expander directly.
3955
39562021-06-16 Piotr Trojanek <trojanek@adacore.com>
3957
3958 * sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace
3959 cleanup.
3960 (Is_Attribute_Expression): Prevent AST climbing from going to
3961 the root of the compilation unit.
3962
39632021-06-16 Steve Baird <baird@adacore.com>
3964
3965 * doc/gnat_rm/implementation_advice.rst: Add a section for RM
3966 A.18 .
3967 * gnat_rm.texi: Regenerate.
3968
39692021-06-16 Justin Squirek <squirek@adacore.com>
3970
3971 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add
3972 check for the mixing of entries.
3973
39742021-06-16 Justin Squirek <squirek@adacore.com>
3975
3976 * sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions
3977 in Priority aspect arguments for restriction Static_Priorities.
3978
39792021-06-16 Justin Squirek <squirek@adacore.com>
3980
3981 * sem_util.adb (Accessibility_Level): Take into account
3982 renamings of loop parameters.
3983
39842021-06-16 Matthieu Eyraud <eyraud@adacore.com>
3985
3986 * par_sco.adb (Set_Statement_Entry): Change sloc for dominance
3987 marker.
3988 (Traverse_One): Fix typo.
3989 (Output_Header): Fix comment.
3990
39912021-06-16 Richard Kenner <kenner@adacore.com>
3992
3993 * exp_unst.adb (Register_Subprogram): Don't look for aliases for
3994 subprograms that are generic. Reorder tests for efficiency.
3995
39962021-06-16 Eric Botcazou <ebotcazou@adacore.com>
3997
3998 * sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of
3999 the parameter and use it to find its incomplete view, if any.
4000
40012021-06-16 Eric Botcazou <ebotcazou@adacore.com>
4002
4003 * freeze.adb (Check_No_Parts_Violations): Return earlier if the
4004 type is elementary or does not come from source.
4005
40062021-06-16 Bob Duff <duff@adacore.com>
4007
4008 * ghost.adb: Add another special case where full analysis is
4009 needed. This bug is due to quirks in the way
4010 Mark_And_Set_Ghost_Assignment works (it happens very early,
4011 before name resolution is done).
4012
40132021-06-16 Eric Botcazou <ebotcazou@adacore.com>
4014
4015 * sem_util.adb (Current_Entity_In_Scope): Reimplement.
4016
40172021-06-16 Piotr Trojanek <trojanek@adacore.com>
4018
4019 * sem_ch8.adb (End_Scope): Remove extra parens.
4020
40212021-06-16 Javier Miranda <miranda@adacore.com>
4022
4023 * exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation
4024 of actuals is side effects free (since the check duplicates
4025 actuals).
4026
40272021-06-16 Ed Schonberg <schonberg@adacore.com>
4028
4029 * sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules
4030 concerning the need for parentheses around Raise_Expressions in
4031 various contexts.
4032
40332021-06-16 Piotr Trojanek <trojanek@adacore.com>
4034
4035 * sem_ch13.adb (Validate_Unchecked_Conversion): Move detection
4036 of generic types before switching to their private views; fix
4037 style in using AND THEN.
4038
40392021-06-16 Arnaud Charlet <charlet@adacore.com>
4040
4041 * sem_ch3.adb (Analyze_Component_Declaration): Do not special
4042 case raise expressions.
4043
40442021-06-16 Sergey Rybin <rybin@adacore.com>
4045
4046 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
4047 Instead of referring to the formatting of the Ada examples in
4048 Ada RM add use the list of checks that are actually performed.
4049 * gnat_ugn.texi: Regenerate.
4050
40512021-06-16 Eric Botcazou <ebotcazou@adacore.com>
4052
4053 * initialize.c: Do not include vxWorks.h and fcntl.h from here.
4054 (__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
4055 (__gnat_initialize) [init_float]: Delete.
4056 (__gnat_initialize) [VxWorks]: Likewise.
4057 (__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
4058 * runtime.h: Add comment about vxWorks.h include.
4059
40602021-06-16 Eric Botcazou <ebotcazou@adacore.com>
4061
4062 * libgnat/s-except.ads (ZCX_By_Default): Delete.
4063 (Require_Body): Likewise.
4064 * libgnat/s-except.adb: Replace body with pragma No_Body.
4065
ede6c356
GA
40662021-06-15 Steve Baird <baird@adacore.com>
4067
4068 * exp_util.adb (Kill_Dead_Code): Generalize the existing
4069 handling of if statements to handle case statements similarly.
4070
40712021-06-15 Eric Botcazou <ebotcazou@adacore.com>
4072
4073 * raise.h (_gnat_builtin_longjmp): Delete.
4074 (set_gnat_exit_status): Likewise.
4075
40762021-06-15 Piotr Trojanek <trojanek@adacore.com>
4077
4078 * exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component
4079 declaration just like full type and subtype declarations.
4080
40812021-06-15 Yannick Moy <moy@adacore.com>
4082
4083 * errout.adb (First_And_Last_Node): Also apply to arbitrary late
4084 declarations, not only subprogram specs.
4085
40862021-06-15 Bob Duff <duff@adacore.com>
4087
4088 * sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to
4089 Reinit_Field_To_Zero are for the correct Ekinds.
4090
40912021-06-15 Bob Duff <duff@adacore.com>
4092
4093 * aspects.ads (No_Task_Parts): New aspect.
4094 * snames.ads-tmpl: Add the aspect name.
4095 * exp_ch6.adb (Might_Have_Tasks): Return False if this is a
4096 class-wide type whose specific type has No_Task_Parts.
4097 * freeze.adb (Check_No_Parts_Violations): This is an adaptation
4098 of the procedure formerly known as
4099 Check_No_Controlled_Parts_Violations, which now supports both
4100 No_Controlled_Parts and No_Task_Parts. It takes a parameter
4101 indicating which aspect is being checked.
4102 (Freeze_Entity): Call Check_No_Parts_Violations for both
4103 aspects.
4104 * sem_ch13.adb (Analyze_Aspect_Specifications): The code for
4105 Aspect_No_Controlled_Parts already works as is with
4106 Aspect_No_Task_Parts.
4107 * libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
4108 iterator iterfaces.
4109 * doc/gnat_rm/implementation_defined_aspects.rst: Add
4110 documentation for the No_Task_Parts aspect.
4111 * gnat_rm.texi: Regenerate.
4112
41132021-06-15 Arnaud Charlet <charlet@adacore.com>
4114
4115 * exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix
4116 handling of scopes for subprogram calls.
4117
41182021-06-15 Piotr Trojanek <trojanek@adacore.com>
4119
4120 * sem_prag.adb: Fix typos in comments related to access types.
4121 * sem_util.adb (Is_Access_Variable): Stronger condition.
4122
41232021-06-15 Arnaud Charlet <charlet@adacore.com>
4124
4125 * Make-generated.in: Add rule to copy runtime files needed
4126 during stage1.
4127 * raise.c: Remove obsolete symbols used during bootstrap.
4128 * gcc-interface/Make-lang.in: Do not use libgnat sources during
4129 stage1.
4130 (GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
4131 part and the part only used outside of stage1.
4132 (ADA_GENERATED_FILES): Add runtime files needed during bootstrap
4133 when recent APIs are needed.
4134 (ada/b_gnatb.adb): Remove prerequisite.
4135 * gcc-interface/system.ads: Remove obsolete entries.
4136
41372021-06-15 Eric Botcazou <ebotcazou@adacore.com>
4138
4139 * raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION.
4140
41412021-06-15 Ed Schonberg <schonberg@adacore.com>
4142
4143 * sem_util.adb (Is_Confirming): Separate the handling of
4144 Implicit_Dereference, for which no pragma is generated but which
4145 is already checked for legality in Sem_Ch13, including renamed
4146 discriminants in a derived type.
4147 (Is_Confirming, Same_Name): For expanded names, only check
4148 matching of selector, because prefix may correspond to original
4149 and derived types with different names and/or scopes. Semantic
4150 checks on aspect expression have already verified its legality.
4151 Add comments regarding possible gaps in RM description of the
4152 feature.
4153
41542021-06-15 Gary Dismukes <dismukes@adacore.com>
4155
4156 * freeze.adb (Freeze_Subprogram): Don't propagate conventions
4157 Intrinsic or Entry to anonymous access-to-subprogram types
4158 associated with subprograms having those conventions. Update
4159 related comment.
4160 * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove
4161 special-case warning code for cases where a called subprogram
4162 has convention Intrinsic as well as its formal's type (the
4163 expected type for the Access attribute), since this case can no
4164 longer occur.
4165
41662021-06-15 Piotr Trojanek <trojanek@adacore.com>
4167
4168 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix
4169 typos.
4170
41712021-06-15 Bob Duff <duff@adacore.com>
4172
4173 * einfo-utils.adb (Known_Component_Size,
4174 Known_Static_Component_Size, Unknown_Component_Size): Use
4175 Implementation_Base_Type instead of Base_Type.
4176
41772021-06-15 Bob Duff <duff@adacore.com>
4178
4179 * gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add
4180 Interface_Name field.
4181
41822021-06-15 Bob Duff <duff@adacore.com>
4183
4184 * sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic
4185 expression in predefined unit with pragma Preelaborate.
4186
41872021-06-15 Yannick Moy <moy@adacore.com>
4188
4189 * doc/gnat_rm/intrinsic_subprograms.rst: More details on shift
4190 operations for signed types. Also add the missing Import and
4191 Convention on the example.
4192 * gnat_rm.texi: Regenerate.
4193
41942021-06-15 Eric Botcazou <ebotcazou@adacore.com>
4195
4196 * raise-gcc.c: Include <cstdarg> instead of <stdarg.h> in C++.
4197 Include <stdbool.h> and unconditionally <stdlib.h> in C.
4198
41992021-06-15 Piotr Trojanek <trojanek@adacore.com>
4200
4201 * sem_util.ads (Find_Overlaid_Entity): Simplify comment for
4202 spec.
4203 * sem_util.adb (Find_Overlaid_Entity): Remove defensive code
4204 from body.
4205
42062021-06-15 Eric Botcazou <ebotcazou@adacore.com>
4207
4208 * argv.c: Add include of <stdlib.h> for the runtime.
4209 (gnat_argv): Change type to char ** and initialize to NULL.
4210 (gnat_envp): Likewise.
4211 * argv-lynxos178-raven-cert.c: Add include of <stdlib.h>.
4212 (gnat_argv): Change type to char ** and initialize to NULL.
4213 (gnat_envp): Likewise.
4214
42152021-06-15 Bob Duff <duff@adacore.com>
4216
4217 * gen_il-gen.adb (Setter_Needs_Parent): Add missing
4218 Then_Actions. Fix self-contradictory comment.
4219 * exp_util.adb (Insert_Actions): Minor comment improvments.
4220
42212021-06-15 Arnaud Charlet <charlet@adacore.com>
4222
4223 * sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable):
4224 Add support for folding more "and"/"or" expressions.
4225 * exp_util.adb (Side_Effect_Free): Fix handling of membership
4226 tests.
4227
42282021-06-15 Piotr Trojanek <trojanek@adacore.com>
4229
4230 * sem_res.adb (Resolve_Actual): Replace repeated calls to
4231 "Etype (F)" with references to "F_Typ", which keeps the results
4232 of exactly that call.
4233
42342021-06-15 Bob Duff <duff@adacore.com>
4235
4236 * gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in
4237 computations in Last_Bit when Offset = 'Last.
4238 (Choose_Offset): Give a better error message when we run out of
4239 fields. In particular, point out that
4240 Gen_IL.Internals.Bit_Offset'Last needs to be increased.
4241
42422021-06-15 Bob Duff <duff@adacore.com>
4243
4244 * atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb,
4245 gen_il.ads, gen_il-gen-gen_entities.adb,
4246 gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb,
4247 sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up
4248 ??? comments and other comments.
4249 * atree.adb: Clean up ??? comments and other comments.
4250 (Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)"
4251 should be "Off_0 (N) <= Off_L (N)".
4252 * gen_il-gen.adb, gen_il-gen.ads: Clean up ???
4253 comments and other comments. Add support for getter-specific
4254 and setter-specific preconditions. Detect the error of putting
4255 a field in the wrong subrange. Misc cleanup.
4256 (Node_Field vs. Entity_Field): Clean up Nmake. Improve
4257 comments.
4258 * gen_il-utils.ads: Misc cleanup. Move...
4259 * gen_il-internals.ads: ... here.
4260 * gen_il-utils.adb: Misc cleanup. Move...
4261 * gen_il-internals.adb: ... here.
4262 * gen_il-fields.ads: Move Was_Default_Init_Box_Association,
4263 which was in the wrong subrange. Add comments. Misc cleanup.
4264 * gen_il-types.ads: Add Named_Access_Kind.
4265 * sinfo-cn.adb: Clean up ??? comments and other comments.
4266 Remove redundant assertions.
4267 * einfo.ads, sinfo.ads: Clean up ??? comments and other
4268 comments. Remove all the comments indicating field offsets.
4269 These are obsolete now that Gen_IL computes the offsets
4270 automatically.
4271
42722021-06-15 Arnaud Charlet <charlet@adacore.com>
4273
4274 * einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb,
4275 exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb,
4276 exp_put_image.adb, fe.h, impunit.adb, impunit.ads,
4277 libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads,
4278 par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
4279 par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb,
4280 sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
4281 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
4282 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
4283 sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads,
4284 sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb,
4285 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
4286 doc/gnat_rm/implementation_defined_aspects.rst,
4287 gcc-interface/trans.c: Update all references to Ada 2020 to Ada
4288 2022. Rename pragma Ada_2020 to Ada_2022. Update documentation
4289 accordingly.
4290 * gnat_ugn.texi, gnat_rm.texi: Regenerate.
4291
42922021-06-15 Steve Baird <baird@adacore.com>
4293
4294 * sem_util.adb (Gather_Components): Factor the test that was
4295 already being used to govern emitting a pre-Ada_2020 error
4296 message into an expression function,
4297 OK_Scope_For_Discrim_Value_Error_Messages. Call that new
4298 function in two places: the point where the same test was being
4299 performed previously, and in governing emission of a newer
4300 Ada_2020 error message. In both cases, the out-mode parameter
4301 Gather_Components.Report_Errors is set to True even if no error
4302 messages are generated within Gather_Components.
4303 * sem_util.ads: Correct a comment.
4304
43052021-06-15 Richard Kenner <kenner@adacore.com>
4306
4307 * sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type):
4308 Reinitialize Stored_Constraint when needed.
4309 (Set_Modular_Size): Likewise.
4310 * atree.adb: (Check_Vanishing_Fields): Add node id to debugging
4311 information.
4312
43132021-06-15 Bob Duff <duff@adacore.com>
4314
4315 * sem_util.adb (Propagate_Invariant_Attributes): Call
4316 Set_Has_Own_Invariants on the base type, because these are
4317 Base_Type_Only. The problem is that the base type of a type is
4318 indeed a base type when Set_Base_Type is called, but then the
4319 type is mutated into a subtype in rare cases.
4320 * atree.ads, atree.adb (Is_Entity): Export. Correct subtype of
4321 parameter in body.
4322 * gen_il-gen.adb: Improve getters so that "Pre => ..." can refer
4323 to the value of the field. Put Warnings (Off) on some with
4324 clauses that are not currently used, but might be used by such
4325 Pre's.
4326
43272021-06-15 Piotr Trojanek <trojanek@adacore.com>
4328
4329 * sem_ch3.adb (Access_Type_Declaration): Add comments to explain
4330 the ordering of Mutate_Kind and Set_Directly_Designated_Type;
4331 remove temporary setting of Ekind to E_Access_Type for building
4332 _master objects, since now the Ekind is already set to its final
4333 value. Move repeated code into Setup_Access_Type routine and use
4334 it so that Process_Subtype is executed before mutating the kind
4335 of the type entity.
4336 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
4337 Directly_Designated_Type from E_Void, E_Private_Record,
4338 E_Limited_Private_Type and Incomplete_Kind; now it only belongs
4339 to Access_Kind entities.
4340 * sem_util.adb: Minor reformatting.
4341
440c8a0a
GA
43422021-06-03 Eric Botcazou <ebotcazou@adacore.com>
4343
4344 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
4345 local constant and use it throughout. If it is set, use a ref-all
4346 pointer type for the pointer-to-array field of the fat pointer type.
4347 <E_Array_Subtype>: Add PAT local constant and use it throughout.
4348
01c59ef2
GA
43492021-05-26 Jakub Jelinek <jakub@redhat.com>
4350
4351 * init.c (__gnat_error_handler): Remove register keyword.
4352
2bc6dace
GA
43532021-05-25 Martin Liska <mliska@suse.cz>
4354
4355 * doc/share/conf.py: Fix Sphinx 4.0.x error.
4356
2832d51b
GA
43572021-05-21 Piotr Trojanek <trojanek@adacore.com>
4358
4359 * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion.
4360
43612021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4362
4363 * gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment.
4364 * gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR
4365 if the offset of the field has overflowed.
4366 (build_component_ref): Add gigi checking assertion that the reference
4367 has been built and replace the discriminant check by a Program_Error.
4368
43692021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4370
4371 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_Integer>: Do
4372 not pass default value in call to create_var_decl.
4373 <E_Variable>: Likewise.
4374 <E_Record_Subtype>: Both pass true for const_flag and false for
4375 const_decl_allowed_p in call to create_var_decl.
4376 Small tweaks in the generic record type case.
4377 (elaborate_expression): Rename need_debug into need_for_debug and
4378 adjust throughout.
4379 (elaborate_expression_1): Likewise. Pass Needs_Debug_Info instead
4380 of need_for_debug in call to create_var_decl.
4381 (elaborate_expression_2): Likewise.
4382 * gcc-interface/utils.c (maybe_pad_type): Pass false for
4383 const_decl_allowed_p in call to create_var_decl.
4384
43852021-05-21 Ghjuvan Lacambre <lacambre@adacore.com>
4386
4387 * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??.
4388 (gnat_to_gnu_param): Likewise.
4389 (gnat_to_gnu_subprog_type): Likewise.
4390 (warn_on_field_placement): Likewise.
4391 (intrin_arglists_compatible_p): Likewise.
4392 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
4393 (gnat_to_gnu): Likewise.
4394 (validate_unchecked_conversion): Likewise.
4395 * gcc-interface/utils.c (maybe_pad_type): Likewise.
4396
43972021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4398
4399 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
4400 the implementation type of a packed type implemented specially.
4401
44022021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4403
4404 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
4405 the Is_Pure flag into the "pure" attribute of GNU C.
4406
44072021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4408
4409 * gcc-interface/trans.c (Call_to_gnu): Restrict previous change
4410 to bitfields whose size is not equal to the type size.
4411 (gnat_to_gnu): Likewise.
4412
44132021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4414
4415 * gcc-interface/trans.c (Call_to_gnu): Minor tweaks.
4416 (gnat_to_gnu_external): Likewise.
4417 (Raise_Error_to_gnu): Return an empty statement list if there is a
4418 condition and it is always false.
4419 (gnat_to_gnu): Do not check for elaboration code a priori during the
4420 translation but a posteriori instead.
4421
44222021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4423
4424 * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
4425 Put a SLOC on the assignment from the return value to the return
4426 object in the copy-in/copy-out case.
4427
44282021-05-21 Eric Botcazou <ebotcazou@adacore.com>
4429
4430 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Replace
4431 CEIL_DIV_EXPR with EXACT_DIV_EXPR.
4432 * gcc-interface/misc.c (gnat_type_max_size): Likewise.
4433 * gcc-interface/utils.c (maybe_pad_type): Likewise.
4434 (finish_record_type): Likewise. And always compute the unit size.
4435
87a7d10c
GA
44362021-05-14 Martin Liska <mliska@suse.cz>
4437
4438 * doc/Makefile: Add gnat-style target.
4439 * doc/share/conf.py: Likewise.
4440 * doc/gnat-style.rst: New file.
4441
0ff3a0f2
GA
44422021-05-12 Bob Duff <duff@adacore.com>
4443
4444 PR ada/100564
4445 * atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id
4446 when the Nkind has not yet been set; call the other Zero_Slots
4447 that takes a range of slot offsets. Call the new Mutate_Kind
4448 that takes an Old_Size, for the same reason -- the size cannot
4449 be computed without the Nkind.
4450 (Mutate_Nkind): New function that allows specifying the Old_Size.
4451 (Size_In_Slots): Assert that the Nkind has proper (nonzero) value.
4452 * atree.ads: Minor reformatting.
4453
037e3661
GA
44542021-05-12 Martin Liska <mliska@suse.cz>
4455
4456 * doc/share/conf.py: Do not use binary mode.
4457 Do not use u' literals as Python3 uses unicode by default.
4458
44592021-05-11 Martin Liska <mliska@suse.cz>
4460
4461 * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins
4462 from COROUTINES.
4463 (BUILT_IN_UNLIKELY): Likewise.
4464
44652021-05-11 Eric Botcazou <ebotcazou@adacore.com>
4466
4467 * gnatvsn.adb (Version_String): Rename to...
4468 (C_Version_String): ...this.
4469 (Gnat_Version_String): Adjust to above renaming.
4470 * version.c : Fix formatting glitches.
4471
aa891c56
GA
44722021-05-10 Martin Liska <mliska@suse.cz>
4473
4474 PR bootstrap/100506
4475 * Make-generated.in: Replace version.c with ada/version.c.
e0c4c6bc
EB
4476 * gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and
4477 GNATBIND_OBJS.
4478 * gcc-interface/Makefile.in: Replace version.c with ada/version.c.
4479 Add version.o to TOOLS_LIBS.
4480 * gnatvsn.adb: Replace version_string with gnat_version_string.
aa891c56
GA
4481 * version.c: New file.
4482
44832021-05-10 Eric Botcazou <ebotcazou@adacore.com>
4484
4485 * einfo-utils.ads (Classification Attributes): Add pragma Inline.
4486 (Synthesized Attribute Functions): Move pragma Inline around.
4487 (Type Representation Attribute Predicates): Likewise.
4488 (Field Initialization Routines): Likewise.
4489 (Miscellaneous Subprogram): Likewise.
4490
44912021-05-10 Eric Botcazou <ebotcazou@adacore.com>
4492
4493 * atree.ads (Slot): Remove pragma Provide_Shift_Operators.
4494 (Shift_Left): New intrinsic function.
4495 (Shift_Right): Likewise.
4496 * atree.adb (Get_1_Bit_Val): Use Natural instead of Integer.
4497 (Get_2_Bit_Val): Likewise.
4498 (Get_4_Bit_Val): Likewise.
4499 (Get_8_Bit_Val): Likewise.
4500 (Set_1_Bit_Val): Likewise.
4501 (Set_2_Bit_Val): Likewise.
4502 (Set_4_Bit_Val): Likewise.
4503 (Set_8_Bit_Val): Likewise.
4504
45052021-05-10 Eric Botcazou <ebotcazou@adacore.com>
4506
4507 * atree.adb (Zero_Slots): Remove obsolete comment and add header.
4508
45092021-05-10 Eric Botcazou <ebotcazou@adacore.com>
4510
4511 * atree.h (Get_32_Bit_Field): Tidy up.
4512 (Get_32_Bit_Field_With_Default): Likewise.
4513
45142021-05-10 Eric Botcazou <ebotcazou@adacore.com>
4515
4516 * Make-generated.in (do_gen_il): Replace with...
4517 (ada/stamp-gen_il): ...this. Do not copy files into generated/.
4518
45192021-05-10 Martin Liska <mliska@suse.cz>
4520
4521 * gcc-interface/utils.c (def_builtin_1): Use startswith
4522 function instead of strncmp.
4523
62d87a32
GA
45242021-05-07 Piotr Trojanek <trojanek@adacore.com>
4525
4526 * einfo-utils.adb (Is_Access_Object_Type): Use
4527 Directly_Designated_Type.
4528 (Is_Access_Subprogram_Type): Use Directly_Designated_Type.
4529 (Set_Convention): Use plain Ekind.
4530 * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind.
4531 * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal
4532 completion with an access type don't attempt to decorate the
4533 completion entity; previously the entity had its Ekind set to
4534 E_General_Access_Type or E_Access_Type, but its Designated_Type
4535 was empty, which caused a crash in freezing. (Actually, the
4536 error recovery in the surrounding context is still incomplete,
4537 e.g. we will crash when the illegal completion is an access to
4538 an unknown identifier).
4539
45402021-05-07 Bob Duff <duff@adacore.com>
4541
4542 * par_sco.adb: Align with/use clauses.
4543 (Traverse_Declarations_Or_Statements): Minor comment fix.
4544 * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb,
4545 contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb,
4546 errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb,
4547 exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb,
4548 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb,
4549 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb,
4550 exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb,
4551 exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb,
4552 exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb,
4553 exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb,
4554 exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb,
4555 frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb,
4556 impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb,
4557 lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb,
4558 lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb,
4559 par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb,
4560 repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb,
4561 sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb,
4562 sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb,
4563 sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
4564 sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
4565 sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb,
4566 sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
4567 sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb,
4568 sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
4569 sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb,
4570 sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads,
4571 treepr.adb, uname.adb: Align with/use clauses.
4572
45732021-05-07 Bob Duff <duff@adacore.com>
4574
4575 * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean
4576 up ??? marks. Rename Set_Ekind to be Mutate_Ekind.
4577 * einfo.ads, sinfo.ads: Likewise. Change "definitive
4578 definition" to "official definition", because the former sounds
4579 redundant. Rename Set_Ekind to be Mutate_Ekind.
4580 * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb,
4581 exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb,
4582 exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb,
4583 exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb,
4584 exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb,
4585 lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb,
4586 sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
4587 sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
4588 sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb,
4589 sem_util.adb: Rename Set_Ekind to be Mutate_Ekind.
4590
45912021-05-07 Bob Duff <duff@adacore.com>
4592
4593 * atree.adb: Move nnd-related code from here, and leave a
4594 comment pointing to sinfo-utils.adb.
4595 * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to
4596 here.
4597
45982021-05-07 Piotr Trojanek <trojanek@adacore.com>
4599
4600 * einfo.ads: Move Corresponding_Protected_Entry...
4601 * sinfo.ads: ... here.
4602 * exp_ch9.adb (Build_Entry_Body): Link procedure and entry
4603 bodies.
4604 * gen_il-fields.ads (Opt_Field_Enum): Add
4605 Corresponding_Entry_Body field to nodes; remove
4606 Corresponding_Protected_Entry field from entities.
4607 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
4608 Corresponding_Protected_Entry field from E_Void and
4609 E_Subprogram_Body.
4610 * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add
4611 Corresponding_Entry_Body field to N_Subprogram_Body.
4612 * sem_ch6.adb (Analyze_Subprogram_Specification): Remove
4613 manipulation of Ekind and Corresponding_Protected_Entry added as
4614 part of the support for varsize-nodes.
4615
46162021-05-07 Bob Duff <duff@adacore.com>
4617
4618 * sem_ch3.adb (Process_Incomplete_Dependents): Reset
4619 Private_Dependents field to zero before calling Set_Ekind. Also
4620 move Set_Etype to after Set_Ekind, because it's always best to
4621 set the Ekind as early as possible.
4622 * atree.adb: Improve debugging facilities for vanishing fields.
4623
46242021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4625
4626 * atree.ads (Slot): Change to modular type.
4627 (Slot_1_Bit): Delete.
4628 (Slot_2_Bit): Likewise.
4629 (Slot_4_Bit): Likewise.
4630 (Slot_8_Bit): Likewise.
4631 (Slot_32_Bit): Likewise.
4632 * atree.adb (Get_1_Bit_Val): Adjust to above change.
4633 (Get_2_Bit_Val): Likewise.
4634 (Get_4_Bit_Val): Likewise.
4635 (Get_8_Bit_Val): Likewise.
4636 (Get_32_Bit_Val): Likewise.
4637 (Set_1_Bit_Val): Likewise.
4638 (Set_2_Bit_Val): Likewise.
4639 (Set_4_Bit_Val): Likewise.
4640 (Set_8_Bit_Val): Likewise.
4641 (Set_32_Bit_Val): Likewise.
4642 (Print_Atree_Info): Likewise.
4643 (Zero): Likewise.
4644 * atree.h (Get_1_Bit_Field): Likewise.
4645 (Get_2_Bit_Field): Likewise.
4646 (Get_4_Bit_Field): Likewise.
4647 (Get_8_Bit_Field): Likewise.
4648 (Get_32_Bit_Field): Likewise.
4649 (Get_32_Bit_Field_With_Default): Likewise.
4650 * types.h (slot_1_bit): Delete.
4651 (slot_2_bit): Likewise.
4652 (slot_4_bit): Likewise.
4653 (slot_8_bit): Likewise.
4654 (slot_32_bit): Likewise.
4655 (any_slot): Change to unsigned int.
4656 (Slot_Size): New macro.
4657
46582021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4659
4660 * gcc-interface/gigi.h (enum standard_datatype): Remove
4661 ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id.
4662 (exception_data_name_id): Delete.
4663 (not_handled_by_others_name_id): New macro.
4664 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old
4665 kludge for exceptions.
4666 <E_Record_Type>: Likewise.
4667 (gnat_to_gnu_field): Force character type on Not_Handled_By_Others.
4668 * gcc-interface/misc.c (gnat_argv): Change type to char **.
4669 (gnat_init_options): Adjust accordingly.
4670 * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id
4671 and use it to set not_handled_by_others_decl.
4672 (Exception_Handler_to_gnu_fe_sjlj): Fix indentation.
4673
46742021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4675
4676 * raise-gcc.c (__gnat_others_value): Remove const qualifier.
4677 (__gnat_all_others_value): Likewise.
4678 (__gnat_unhandled_others_value): Likewise.
4679 (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr.
4680 (GNAT_ALL_OTHERS): Likewise.
4681 (GNAT_UNHANDLED_OTHERS): Likewise.
4682 (Is_Handled_By_Others): Change parameter type to Exception_Id.
4683 (Language_For): Likewise.
4684 (Foreign_Data_For): Likewise.
4685 (is_handled_by): Likewise. Adjust throughout, remove redundant
4686 line and fix indentation.
4687 * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and
4688 useless qualification from parameter type.
4689 (Foreign_Data_For): Likewise.
4690 (Language_For): Likewise.
4691
46922021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4693
4694 * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased.
4695 * stand.ads (Standard_Entity_Type): Enhance comments.
4696 * cstand.adb (Make_Component): Rename into...
4697 (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent
4698 flags on the component.
4699 (Create_Standard): Adjust the types of the component of the record
4700 Standard_Exception_Type and mark them as aliased.
4701 * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK
4702 conversion to Standard_Address for Full_Name component, except
4703 in CodePeer_Mode (set it to 0).
4704 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise.
4705 * raise.h (struct Exception_Data): Change the type of Full_Name,
4706 HTable_Ptr and Foreign_Data.
4707
47082021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4709
4710 * atree.h (Slots_Ptr): Change pointed-to type to any_slot.
4711 * fe.h (Get_RT_Exception_Name): Change type of parameter.
4712 * namet.ads (Name_Entry): Mark non-boolean components as aliased,
4713 reorder the boolean components and add an explicit Spare component.
4714 * namet.adb (Name_Enter): Adjust aggregate accordingly.
4715 (Name_Find): Likewise.
4716 (Reinitialize): Likewise.
4717 * namet.h (struct Name_Entry): Adjust accordingly.
4718 (Names_Ptr): Use correct type.
4719 (Name_Chars_Ptr): Likewise.
4720 (Get_Name_String): Fix declaration and adjust to above changes.
4721 * types.ads (RT_Exception_Code): Add pragma Convention C.
4722 * types.h (Column_Number_Type): Fix original type.
4723 (slot): Rename union type to...
4724 (any_slot): ...this and adjust assertion accordingly.
4725 (RT_Exception_Code): New enumeration type.
4726 * uintp.ads (Uint_Entry): Mark components as aliased.
4727 * uintp.h (Uints_Ptr): Use correct type.
4728 (Udigits_Ptr): Likewise.
4729 * gcc-interface/gigi.h (gigi): Adjust name and type of parameter.
4730 * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr
4731 and Udigits_Ptr.
4732 * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type.
4733 (gigi): Adjust type of parameter.
4734 (build_raise_check): Add cast in call to Get_RT_Exception_Name.
4735
47362021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4737
4738 * init.c (__gnat_raise_program_error): Fix parameter type.
4739 (Raise_From_Signal_Handler): Likewise and mark as no-return.
4740 * raise-gcc.c (__gnat_others_value): Fix type.
4741 (__gnat_all_others_value): Likewise.
4742 (__gnat_unhandled_others_value): Likewise.
4743 * seh_init.c (Raise_From_Signal_Handler): Fix parameter type.
4744 * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C
4745 and new symbol name, move declaration to...
4746 (Raise_From_Controlled_Operation): Minor tweak.
4747 * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here.
4748 * libgnat/a-exexpr.adb (bool): New C compatible boolean type.
4749 (Is_Handled_By_Others): Use it as return type for the function.
4750
47512021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4752
4753 * errout.ads (Set_Identifier_Casing): Add pragma Convention C.
4754 * eval_fat.ads (Rounding_Mode): Likewise.
4755 (Machine): Add WARNING comment line.
4756 * exp_code.ads (Clobber_Get_Next): Add pragma Convention C.
4757 * fe.h (Compiler_Abort): Fix return type.
4758 (Set_Identifier_Casing): Change type of parameters.
4759 (Clobber_Get_Next): Change return type.
4760 * gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast.
4761
47622021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4763
4764 * atree.h (Parent): Remove duplicate declaration.
4765 (Get_1_Bit_Field): Also use INLINE specifier in the declaration,
4766 fix formatting and use gcc_unreachable for the default case.
4767 (Get_2_Bit_Field): Likewise.
4768 (Get_4_Bit_Field): Likewise.
4769 (Get_8_Bit_Field): Likewise.
4770 (Get_32_Bit_Field): Likewise.
4771 (Get_32_Bit_Field_With_Default): Likewise.
4772
47732021-05-07 Bob Duff <duff@adacore.com>
4774
4775 * atree.ads, atree.adb: Major rewrite to support variable-sized
4776 node types. Add pragmas Suppress and Assertion_Policy. We now
4777 have an extra level of indirection: Node_Offsets is a table
4778 mapping Node_Ids to the offset of the start of each node in
4779 Slots. Slots is a table containing one or more contiguous slots
4780 for each node. Each slot is a 32-bit unchecked union that can
4781 contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits.
4782 The old low-level getters and setters (e.g. Flag123) are
4783 removed.
4784 * gen_il-fields.ads, gen_il-gen-gen_entities.adb,
4785 gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads,
4786 gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb,
4787 gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program
4788 that generates various Ada and C++ files. In particular, the
4789 following files are generated by gen_il: einfo-entities.adb
4790 einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads,
4791 seinfo.ads, seinfo_tables.adb, seinfo_tables.ads,
4792 sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h.
4793 * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb,
4794 einfo-utils.ads: New files containing code that needs to refer
4795 to Sinfo.Nodes and Einfo.Entities. This code is mostly moved
4796 here from Sinfo and Einfo to break cycles.
4797 * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi,
4798 instead of nodes_ptr and flags_ptr. The Nodes and Flags tables
4799 no longer exist. (Note that gigi never used the Flags table.)
4800 * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier,
4801 Change_Character_Literal_To_Defining_Character_Literal,
4802 Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into
4803 an IN formal.
4804 * sinfo-cn.adb: Update. Add assertions, which can be removed at
4805 some point. Rewrite to use higher-level facilities. Make sure
4806 vanishing fields are zeroed out. Add with/use for new packages.
4807 * sem_util.adb: Remove "Assert(False)" immediately followed by
4808 "raise Program_Error". Use higher-level facilities such as
4809 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
4810 routines that no longer exist. Use Get_Comes_From_Source_Default
4811 instead of Default_Node.Comes_From_Source (Default_Node no
4812 longer exists). Use Set_Basic_Convention instead of
4813 Basic_Set_Convention. Add with/use for new packages.
4814 * sem_util.ads: The Convention field had getter Convention and
4815 setter Basic_Set_Convention. Make that more uniform: there is
4816 now a field called Basic_Convention, with Basic_Convention and
4817 Set_Basic_Convention as getter/setter, and write Convention and
4818 Set_Convention here.
4819 * nlists.adb: Rewrite to use abstractions, rather then depending
4820 on low-level implementation details of Atree. Necessary because
4821 those details have changed. Add with/use for new packages.
4822 * sem_ch12.adb: Use higher-level facilities such as
4823 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
4824 routines that no longer exist. Add with/use for new packages.
4825 * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb,
4826 sem_prag.adb, sem_warn.adb: Change expanded names to refer to
4827 the new packages for things that moved. Add with/use for new
4828 packages.
4829 * sem_ch3.adb: Likewise. Reinitialize vanishing fields.
4830 * exp_disp.adb: Likewise. Remove failing assertion.
4831 * sinfo.ads, einfo.ads: Remove code that is now generated into
4832 Sinfo.Nodes and Einfo.Entities.
4833 * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;".
4834 We should delete these at some point, but No_Body makes make
4835 files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities,
4836 Sinfo.Utils, and Einfo.Utils. Some is no longer necessary.
4837 * treepr.adb: Rewrite to use new tables. We no longer need
4838 treeprs.ads.
4839 * treepr.ads: Add comment.
4840 * types.ads: Move types Component_Alignment_Kind and
4841 Float_Rep_Kind here.
4842 * atree.h: Major update to match atree.ads changes. Add slot
4843 types, for use by getters/setters.
4844 * types.h: Move types Component_Alignment_Kind and
4845 Float_Rep_Kind here.
4846 * fe.h: Rewrite to deal with code that has changed or moved from
4847 Atree, Sinfo, Einfo.
4848 * nlists.h: Move some code to fe.h.
4849 * alloc.ads: Split Nodes_* constants into Node_Offsets and
4850 Slots, because Atree has two separate tables. Increase values.
4851 Remove Nodes_Release_Threshold. Improve comment.
4852 * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N
4853 switches. Add with/use for new packages.
4854 * opt.ads: Minor comment fix.
4855 * aspects.adb, checks.adb, comperr.adb, contracts.adb,
4856 cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb,
4857 exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb,
4858 exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
4859 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
4860 exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb,
4861 exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
4862 exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb,
4863 exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb,
4864 exp_util.ads, expander.adb, freeze.adb, frontend.adb,
4865 get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb,
4866 itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb,
4867 lib-writ.adb, lib-xref.adb, lib-xref.ads,
4868 lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb,
4869 pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb,
4870 scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb,
4871 sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb,
4872 sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb,
4873 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb,
4874 sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb,
4875 sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb,
4876 sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb,
4877 sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb,
4878 tbuild.ads, uname.adb: Add with/use for new packages.
4879 * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease
4880 bootstrap.
4881 * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File,
4882 Create_New_File): Create file in binary format, to avoid
4883 introducing unwanted text conversions on Windows. Simplify to
4884 ease bootstrap.
4885 * libgnat/a-stteou__bootstrap.ads: New.
4886 * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb,
4887 xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete.
4888 * Make-generated.in: Build and run the gen_il program to
4889 generate files. The files are generated in the ada/gen_il
4890 subdirectory, and then moved up to ada. We rely on gnatmake (as
4891 opposed to make) to build the gen_il program efficiently (i.e.
4892 don't do anything if the sources didn't change).
4893 * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU.
4894 (GNATMAKE_OBJS): Add new object files.
4895 (GENERATED_FILES_FOR_TOOLS): New variable.
4896 (../stamp-tools): Create a link for all
4897 GENERATED_FILES_FOR_TOOLS.
4898 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object
4899 files. Remove ada/treeprs.o.
4900 (GNATBIND_OBJS): Add new object files.
4901 (ada.mostlyclean): Remove ada/sdefault.adb and add
4902 ada/stamp-gen_il.
4903 (ada.maintainer-clean): Remove ada/treeprs.ads.
4904 (update-sources): Remove obsolete target.
4905 (ada_generated_files): Rename to...
4906 (ADA_GENERATED_FILES): ... this. Add new source files. Add
4907 comment.
4908 * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and
4909 Flags_ptr. Add Node_Offsets_Ptr and Slots_Ptr, which point to
4910 the corresponding tables in Atree.
4911 * gcc-interface/gigi.h (gigi): New parameters for initializing
4912 Node_Offsets_Ptr and Slots_Ptr.
4913 * gcc-interface/decl.c: Numeric_Kind,
4914 Discrete_Or_Fixed_Point_Kind, and Record_Kind were
4915 nonhierarchical, and were therefore removed for simplicity.
4916 Replace uses with calls to Is_In_... functions.
4917
49182021-05-07 Ed Schonberg <schonberg@adacore.com>
4919
4920 * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A
4921 component declaration whose subtype indication is an entity name
4922 without an explicit constraint is an Unchecked_Union type only
4923 if the entity has an unconstrained nominal subtype (record type
4924 or private type) whose parent type is an Unchecked_Union.
4925
49262021-05-07 Piotr Trojanek <trojanek@adacore.com>
4927
4928 * sem_res.adb (Flag_Object): Ignore prefixes of attribute
4929 Address.
4930
49312021-05-07 Yannick Moy <moy@adacore.com>
4932
4933 * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value.
4934 * sem_res.adb (Resolve_Unary_Op): Generate warning.
4935 * usage.adb: Refine doc for -gnatw.m/M switch.
4936 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
4937 Update doc on -gnatw.m switch.
4938 * gnat_ugn.texi: Regenerate.
4939
49402021-05-07 Piotr Trojanek <trojanek@adacore.com>
4941
4942 * sem_res.adb (Flag_Object): Replace chained IF with a CASE;
4943 remove repeated calls to Entity; do not traverse into
4944 N_Identifier and N_Expanded_Name, because only need to examine
4945 their Entity field anyway.
4946
49472021-05-07 Piotr Trojanek <trojanek@adacore.com>
4948
4949 * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List.
4950 (Process_Overloaded_Indexed_Component): Remove call to
4951 End_Interp_List.
4952 * sem_util.adb (Insert_Explicit_Dereference): Remove call to
4953 End_Interp_List.
4954 * sem_type.ads (End_Interp_List): Remove.
4955 * sem_type.adb (Add_Entry): The guard against duplicate entries
4956 is now checked before other conditions, so that EXIT statements
4957 do not bypass this guard.
4958 (End_Interp_List): Remove.
4959
49602021-05-07 Ed Schonberg <schonberg@adacore.com>
4961
4962 * exp_util.adb (Remove_Init_Call): If a simple initialization
4963 call is present, and the next statement is an initialization
4964 block (that contains a call to a Deep_ Initialize routine),
4965 remove the block as well, and insert the first initialization
4966 call in it, in case it is needed for later relocation.
4967
49682021-05-07 Gary Dismukes <dismukes@adacore.com>
4969
4970 * errout.ads (Size_Too_Small_Message): Remove low-value ???
4971 comment.
4972 * exp_util.ads: Remove ??? in part of overall package comments
4973 and restructure comment to clarify.
4974 (Duplicate_Subexpr): Remove ??? comment that seems unnecessary.
4975 * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized
4976 ??? comments and add more description of the procedure's
4977 actions.
4978 (Get_Discriminant_Value): Remove ??? comment requesting more
4979 documentation, expanding description of the function's actions.
4980 * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more
4981 semantic description of the procedure and remove ??? comment
4982 requesting such.
4983 (Propagate_Tag): Refine comment to indicate meaning of formal
4984 parameters and generally improve the spec comment (and remove
4985 ??? comment asking about the parameters).
4986
49872021-05-07 Arnaud Charlet <charlet@adacore.com>
4988
4989 * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left
4990 resulting in negative signed values.
4991
49922021-05-07 Eric Botcazou <ebotcazou@adacore.com>
4993
4994 * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter.
4995 (Defining_Entity_Or_Empty): New function.
4996 * sem_util.adb (Defining_Entity): Move bulk of implementation to...
4997 (Defining_Entity_Or_Empty): ...here. Do not raise Program_Error.
4998 (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty.
4999
50002021-05-07 Justin Squirek <squirek@adacore.com>
5001
5002 * aspects.ads: Add entries to register
5003 Aspect_No_Controlled_Parts.
5004 * freeze.adb (Check_No_Controlled_Parts_Violations): Added to
5005 check requirements of aspect No_Controlled_Parts after a type
5006 has been frozen.
5007 (Freeze_Entity): Add call to
5008 Check_No_Controlled_Parts_Violations.
5009 (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect
5010 specification for No_Controlled_Parts on a given type when
5011 present.
5012 (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid
5013 value.
5014 (Has_Aspect_No_Controlled_Parts): Created as a prediate function
5015 to check if No_Controlled_Parts has been specified on a type for
5016 Get_Anacestor_Types_With_Specification.
5017 (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the
5018 value of the aspect No_Controlled_Parts when specified on a
5019 given type.
5020 (Get_Generic_Formal_Types_In_Hierarchy): Created to collect
5021 formal types in a given type's hierarchy.
5022 (Get_Types_With_Aspect_In_Hierarchy): Created to collect types
5023 in a given type's hierarchy with No_Controlled_Parts specified.
5024 * sem_ch13.adb (Analyze_One_Aspect): Add processing for
5025 No_Controlled_Parts, and fix error in check for allowed pragmas
5026 for formal types.
5027 (Check_Expr_Is_OK_Static_Expression): Created to enforce
5028 checking of static expressions in the same vein as
5029 Analyze_Pragma.Check_Expr_OK_Static_Expression.
5030 * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect
5031 types in a given type's hierarchy that match a given predicate
5032 function.
5033 * sem_util.ads: Fix typo.
5034 * snames.ads-tmpl: Add entry for No_Controlled_Parts.
5035
50362021-05-07 Eric Botcazou <ebotcazou@adacore.com>
5037
5038 * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the
5039 overflow case when T'Machine_Overflows is True.
5040
50412021-05-07 Bob Duff <duff@adacore.com>
5042
5043 * libgnat/a-conhel.adb (TC_Check): Move the Assert into the
5044 'if'.
5045
50462021-05-07 Frederic Konrad <konrad@adacore.com>
5047
5048 * sigtramp-vxworks-target.inc: Use a local label for the TOC.
5049
50502021-05-07 Claire Dross <dross@adacore.com>
5051
5052 * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util.
5053 * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants):
5054 Moved from Exp_Ch4.
5055
50562021-05-07 Ed Schonberg <schonberg@adacore.com>
5057
5058 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
5059 Add guard to verify that the enclosing pragma is a precondition.
5060
cfe82a0c
GA
50612021-05-06 Javier Miranda <miranda@adacore.com>
5062
5063 * exp_disp.adb (Build_Class_Wide_Check): Extending the
5064 functionality of this routine to climb to the ancestors
5065 searching for the enclosing overridden dispatching primitive
5066 that has a class-wide precondition to generate the check.
5067
50682021-05-06 Piotr Trojanek <trojanek@adacore.com>
5069
5070 * sem_ch3.adb (Constraint_Index): Remove redundant problematic
5071 analysis.
5072
50732021-05-06 Arnaud Charlet <charlet@adacore.com>
5074
5075 * exp_unst.adb (Note_Uplevel_Bound): Exclude
5076 E_Enumeration_Literal.
5077
50782021-05-06 Arnaud Charlet <charlet@adacore.com>
5079
5080 * exp_ch4.adb (Expand_N_If_Expression):
5081 Apply_Arithmetic_Overflow_Check will not deal with
5082 Then/Else_Actions so skip minimizing overflow checks if any
5083 actions are present.
5084
50852021-05-06 Boris Yakobowski <yakobowski@adacore.com>
5086
5087 * gnat1drv.adb (Adjust_Global_Switches): Simplify logic.
5088
50892021-05-06 Arnaud Charlet <charlet@adacore.com>
5090
5091 * libgnat/i-c.ads (bool): New type.
5092 * libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now
5093 a subtype of Interfaces.C.bool.
5094 * libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify
5095 False.
5096 * libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb,
5097 libgnarl/s-tasini.adb, libgnarl/s-tasren.adb,
5098 libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb,
5099 libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace
5100 Assert (False) by Assert (Standard.False).
5101
51022021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
5103
5104 * make.adb (Compute_Executable): Document parameter.
5105
51062021-05-06 Eric Botcazou <ebotcazou@adacore.com>
5107
5108 * libgnat/s-fatgen.adb (Scaling): Use single handling of
5109 underflow. Add pragma Annotate.
5110
51112021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
5112
5113 * sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype,
5114 remove redundant checks.
5115
51162021-05-06 Piotr Trojanek <trojanek@adacore.com>
5117
5118 * sem_res.adb (First_Last_Ref): Simplify "if [condition] then
5119 return True" in "return [condition]".
5120 (Resolve_Range): Remove calls appearing in IF condition from the
5121 THEN statements.
5122
51232021-05-06 Piotr Trojanek <trojanek@adacore.com>
5124
5125 * sem_case.adb (Missing_Choice): Fix typo in comment.
5126 (Lit_Of): Simplify with Make_Character_Literal.
5127 (Check_Choices): Remove extra spaces in parameter
5128 specifications.
5129 * sem_case.ads: Same reformatting.
5130
51312021-05-06 Ed Schonberg <schonberg@adacore.com>
5132
5133 * exp_aggr.adb (Expand_Array_Aggregate): If the expression in an
5134 Others_Clause has not been analyzed because previous analysis of
5135 the enclosing aggregate showed the clause to be ineffective i.e.
5136 cover a null range, analyze it now to detect a possible type
5137 illegality.
5138
51392021-05-06 Eric Botcazou <ebotcazou@adacore.com>
5140
5141 * libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow.
5142
51432021-05-06 Arnaud Charlet <charlet@adacore.com>
5144
5145 * sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a
5146 list member in both branches.
5147
51482021-05-06 Piotr Trojanek <trojanek@adacore.com>
5149
5150 * libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma
5151 Warnings.
5152
51532021-05-06 Piotr Trojanek <trojanek@adacore.com>
5154
5155 * sem_ch4.adb (Analyze_Selected_Component): Remove explicit call
5156 to Set_Raises_Constraint_Error on statically missing component.
5157 * sem_eval.adb (Eval_Arithmetic_Op): Likewise for static
5158 divisions by integer and real zeros.
5159 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Call
5160 Set_Raises_Constraint_Error before exiting early in GNATprove
5161 mode.
5162
51632021-05-06 Justin Squirek <squirek@adacore.com>
5164
5165 * checks.adb (Make_Discriminant_Constraint_Check): Add check for
5166 null when the type being converted is an access type.
5167
51682021-05-06 Arnaud Charlet <charlet@adacore.com>
5169
5170 * exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs.
5171
51722021-05-06 Piotr Trojanek <trojanek@adacore.com>
5173
5174 * osint.adb (Read_Library_Info_From_Full): Cleanup unused
5175 initial value.
5176
51772021-05-06 Eric Botcazou <ebotcazou@adacore.com>
5178
5179 * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7):
5180 Mention the IEEE standard explicitly. Use current format names.
5181 Document assumed rounding mode and new features of I/O support.
5182 * gnat_rm.texi: Regenerate.
5183
51842021-05-06 Eric Botcazou <ebotcazou@adacore.com>
5185
5186 * init.c (__gnat_init_float): Use full version on Linux too.
5187
51882021-05-06 Eric Botcazou <ebotcazou@adacore.com>
5189
5190 * libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0
5191 when denormalized numbers are not supported.
5192
51932021-05-06 Piotr Trojanek <trojanek@adacore.com>
5194
5195 * sem_attr.adb (Check_Enum_Image): Reword comment; add
5196 Check_Enumeration_Maps parameter. Now this routine combines
5197 both referencing enumeration literals and checking restriction
5198 No_Enumeration_Maps, if required.
5199 (Analyze_Attribute): Remove duplicated code and instead call
5200 Check_Enum_Image.
5201
52022021-05-06 Piotr Trojanek <trojanek@adacore.com>
5203
5204 * sem_attr.adb (Analyze_Image_Attribute): Remove redundant
5205 condition; add a missing header box.
5206
52072021-05-06 Gary Dismukes <dismukes@adacore.com>
5208
5209 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
5210 mention of underscore and fix grammar error in doc for -gnatd.
5211 * gnat_ugn.texi: Regenerate.
5212
52132021-05-06 Eric Botcazou <ebotcazou@adacore.com>
5214
5215 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt
5216 and s-exnlfl.
5217 * exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float.
5218 * rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt.
5219 (RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float.
5220 (RE_Unit_Table): Likewise.
5221 * libgnat/s-exnflt.ads: New file.
5222 * libgnat/s-exnlfl.ads: Likewise.
5223 * libgnat/s-exnllf.ads: Change to mere instantiation.
5224 * libgnat/s-exnllf.adb: Move implementation to...
5225 * libgnat/s-exponr.ads: New generic unit.
5226 * libgnat/s-exponr.adb: ...here and also make it generic.
5227 (Expon): Do the computation in double precision internally.
5228
52292021-05-06 Piotr Trojanek <trojanek@adacore.com>
5230
5231 * lib-writ.adb, osint.adb, osint.ads: Cleanup.
5232
52332021-05-06 Piotr Trojanek <trojanek@adacore.com>
5234
5235 * exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
5236 condition.
5237 (Expand_N_Object_Declaration): Likewise.
5238 (Build_Equivalent_Aggregate): Likewise.
5239 (Initialization_Warning): Likewise; change another excessive
5240 condition into assertion.
5241 * freeze.adb (Freeze_Entity): Remove excessive condition.
5242
52432021-05-06 Ed Schonberg <schonberg@adacore.com>
5244
5245 * sem_res.adb (Resolve_If_Expression): If the context of the
5246 expression is an indexed_component, resolve the expression and
5247 its dependent_expressions with the base type of the index, to
5248 ensure that an index check is generated when resolving the
5249 enclosing indexxed_component, and avoid an improper use of
5250 discriminants out of scope, when the index type is
5251 discriminant-dependent.
5252
52532021-05-06 Arnaud Charlet <charlet@adacore.com>
5254
5255 * einfo.ads, exp_prag.adb, exp_util.adb: Fix typos.
5256
44948011
GA
52572021-05-05 Piotr Trojanek <trojanek@adacore.com>
5258
5259 * exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of
5260 attributes Input and Output for unchecked unions.
5261 * sem_case.ads: Fix typo "disriminant" and refill comment.
5262
52632021-05-05 Piotr Trojanek <trojanek@adacore.com>
5264
5265 * exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse
5266 Has_Defaulted_Discriminants.
5267 * sem_ch4.adb (Analyze_Allocator): Reuse
5268 Has_Defaulted_Discriminants (after reordering conjuncts); remove
5269 redundant IF statement, whose condition is implied by
5270 Has_Defaulted_Discriminants.
5271 * sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants
5272 implies that the First_Discriminant is present.
5273 (Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants.
5274
52752021-05-05 Justin Squirek <squirek@adacore.com>
5276
5277 * exp_ch6.adb (Expand_Call_Helper): Add condition to check for
5278 expanded actuals and remove dead code.
5279
52802021-05-05 Piotr Trojanek <trojanek@adacore.com>
5281
5282 * exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to
5283 follow the Ada RM grammar.
5284
52852021-05-05 Piotr Trojanek <trojanek@adacore.com>
5286
5287 * exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type
5288 of a local variable.
5289 * exp_dbug.adb (Scope_Contains): Refine all types from Node_Id
5290 to Entity_Id; rename parameters to match those of the
5291 Scope_Within routine (which is similar but not the same); also,
5292 simplify an OR ELSE into a membership test.
5293
52942021-05-05 Piotr Trojanek <trojanek@adacore.com>
5295
5296 * exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
5297 qualified and unqualified names of unchecked union components.
5298
52992021-05-05 Piotr Trojanek <trojanek@adacore.com>
5300
5301 * exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant
5302 check for empty list.
5303 * exp_disp.adb (Find_Entry_Index): Simplify by removing
5304 redundant check and counting from zero; fix type of a local
5305 variable.
5306 * sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary
5307 special-case for empty lists.
5308
53092021-05-05 Piotr Trojanek <trojanek@adacore.com>
5310
5311 * exp_ch4.adb (Apply_Accessibility_Check): Skip a statically
5312 true condition in expanded raise statement.
5313
53142021-05-05 Bob Duff <duff@adacore.com>
5315
5316 * libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code.
5317
53182021-05-05 Ed Schonberg <schonberg@adacore.com>
5319
5320 * sem_ch5.adb (Analyze_Assignment): Do not emit the warning that
5321 a previous value of the target object is useless if the
5322 right-hand side of the assignment includes target names.
5323
53242021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5325
5326 * exp_imgv.adb: Add with/use clauses for Targparm.
5327 (Build_Enumeration_Image_Tables): Set type of Threshold to Nat and
5328 initialize it to Nat'Last if the type is local and the target does
5329 not support descriptors. Adjust Threshold_For_Size similarly.
5330 (Expand_Value_Attribute): Minor tweaks.
5331
53322021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
5333
5334 * exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call.
5335 * sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init
5336 call.
5337
53382021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
5339
5340 * par-ch5.adb (P_Condition): Check if expression is declare
5341 expression.
5342
53432021-05-05 Piotr Trojanek <trojanek@adacore.com>
5344
5345 * make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a
5346 custom imported procedure.
5347
53482021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5349
5350 * exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete.
5351 (Expand_Image_Attribute): Move inline expansion into normal flow of
5352 control, move down declarations and remove superfluous processing.
5353
53542021-05-05 Piotr Trojanek <trojanek@adacore.com>
5355
5356 * libgnat/g-alleve.adb (Bit_Operation): Now a not-null type.
5357 * libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise.
5358 * libgnat/s-dwalin.adb (Callback): Likewise.
5359
53602021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
5361
5362 * exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented
5363 code.
5364
53652021-05-05 Ed Schonberg <schonberg@adacore.com>
5366
5367 * sem_ch3.adb (Find_Type_Of_Object): When In_Spec_Expression is
5368 set and the object declaration generates a subtype indication,
5369 build the corresponding subtype declaration and place it in tree
5370 without the use of Insert_Actions, which is disabled in this
5371 context.
5372
53732021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5374
5375 * debug.adb (d_x): Document extended usage.
5376 * exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure.
5377 (Expand_Image_Attribute): Call it to expand in line the attribute
5378 for standard boolean by default.
5379
53802021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5381
5382 * debug.adb (d_x): Document new usage.
5383 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ
5384 parameter and use it throughout the processing.
5385 (Expand_Image_Attribute): Retrieve the underlying type of the
5386 prefix and use the inline expansion for user-defined enumeration
5387 types with a literal string by default.
5388
53892021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5390
5391 * libgnat/s-dorepr.adb (Split): Declare a per-size temporary.
5392 Add pragma Annotate.
5393
53942021-05-05 Piotr Trojanek <trojanek@adacore.com>
5395
5396 * exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove
5397 redundant calls to UI_From_Int.
5398
53992021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5400
5401 * exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment.
5402 * exp_imgv.adb (Build_Enumeration_Image_Tables): Add the
5403 declaration nodes of the 4 tables to the declaration list of the
5404 function body.
5405
54062021-05-05 Piotr Trojanek <trojanek@adacore.com>
5407
5408 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16,
5409 s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and
5410 s-vaenu8. Remove s-imenne, s-imgenu and s-valenu.
5411 * debug.adb (d_h): Document new usage.
5412 * einfo.ads (Lit_Hash): New attribute for enumeration types.
5413 (Set_Lit_Hash): Declare.
5414 * einfo.adb (Lit_Hash): New function.
5415 (Set_Lit_Hash): New procedure.
5416 (Write_Field21_Name): Print Lit_Hash for Enumeration_Kind.
5417 * exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description
5418 and document the hash function and its tables.
5419 * exp_imgv.adb: Add with/use clauses for Debug. Add with clause
5420 for System.Perfect_Hash_Generators.
5421 (Append_Table_To): New helper routine.
5422 (Build_Enumeration_Image_Tables): Call it to build the tables.
5423 In the main unit, register the literals with the hash generator.
5424 If they are sufficiently many and -gnatd_h is not passed, generate
5425 a perfect hash function and its tables; otherwise, generate a dummy
5426 hash function. For the other units, generate only the declaration.
5427 In all cases, set Lit_Hash to the entity of the function, if any.
5428 (Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash,
5429 if any, as third argument to the Value_Enumeration_NN function.
5430 * gnat1drv.adb (Adjust_Global_Switches): force simpler implementation
5431 of 'Value in CodePeer_Mode.
5432 * lib.ads (Synchronize_Serial_Number): Add SN parameter.
5433 * lib.adb (Synchronize_Serial_Number): Assert that it is larger than
5434 the serial number of the current unit and set the latter to it only
5435 in this case.
5436 * rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16,
5437 System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and
5438 System_Val_Enum_32. Remove System_Img_Enum, System_Img_Enum_New
5439 and System_Val_Enum.
5440 * sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler
5441 generated Unrestricted_Access attribute as illegal in a declare
5442 expression.
5443 (RE_Unit_Table): Adjust to above changes.
5444 * libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning.
5445 * libgnat/g-table.ads: Likewise.
5446 * libgnat/g-pehage.ads: Add with clause and local renaming for
5447 System.Perfect_Hash_Generators.
5448 (Optimization): Turn into derived type.
5449 (Verbose): Turn into renaming.
5450 (Too_Many_Tries): Likewise.
5451 (Table_Name): Move to System.Perfect_Hash_Generators.
5452 (Define): Likewise.
5453 (Value): Likewise.
5454 * libgnat/g-pehage.adb: Remove with clause for Ada.Directories,
5455 GNAT.Heap_Sort_G and GNAT.Table. Move bulk of implementation
5456 to System.Perfect_Hash_Generators, only keep the output part.
5457 * libgnat/s-imagen.ads: New generic unit.
5458 * libgnat/s-imagen.adb: New body.
5459 * libgnat/s-imen16.ads: New unit.
5460 * libgnat/s-imen32.ads: Likewise.
5461 * libgnat/s-imenu8.ads: Likewise.
5462 * libgnat/s-imenne.ads: Adjust description.
5463 * libgnat/s-imgenu.ads: Delete.
5464 * libgnat/s-imgenu.adb: Likewise.
5465 * libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators.
5466 * libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators.
5467 * libgnat/s-valuen.ads: New generic unit.
5468 * libgnat/s-valuen.adb: New body.
5469 * libgnat/s-vaen16.ads: New unit.
5470 * libgnat/s-vaen32.ads: Likewise.
5471 * libgnat/s-vaenu8.ads: Likewise.
5472 * libgnat/s-valenu.ads: Delete.
5473 * libgnat/s-valenu.adb: Likewise.
5474 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o.
5475 (GNATBIND_OBJS): Remove s-imgenu.o.
5476
54772021-05-05 Piotr Trojanek <trojanek@adacore.com>
5478
5479 * sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove
5480 parameter Rep from the function spec and "and if the flag Rep is
5481 set" from the comment.
5482 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove
5483 parameter Rep.
5484
54852021-05-05 Ed Schonberg <schonberg@adacore.com>
5486
5487 * sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed
5488 aggregates with component associations verify that if there is
5489 more than one component association then all the choices are
5490 static, that the set of choices define a continuous sequence of
5491 values, and that if loop specfications appear, they do not
5492 include iterator filters or key expressions.
5493
54942021-05-05 Eric Botcazou <ebotcazou@adacore.com>
5495
5496 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager,
5497 s-imgflt, s-imglfl and s-imgllf.
5498 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb.
5499 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise.
5500 (LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise.
5501 (LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise.
5502 (LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise.
5503 (LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise.
5504 (LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise.
5505 (LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise.
5506 (LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise.
5507 (LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise.
5508 (LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise.
5509 * exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use
5510 Fixed suffix and Long_Float type.
5511 * exp_imgv.adb (Expand_Image_Attribute): For floating-point types,
5512 use the routine of the corresponding root type. For ordinary fixed
5513 point types, use Fixed suffix and Long_Float type.
5514 (Expand_Value_Attribute): Revert latest change for Long_Long_Float.
5515 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units
5516 g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o.
5517 (GNATBIND_OBJS): Remove libgnat unit s-imgenu.o.
5518 * rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and
5519 System_Img_LLF. Remove System_Img_Real.
5520 (RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed. Add RE_Image_Float,
5521 RE_Image_Long_Float and RE_Image_Long_Long_Float. Rename
5522 RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed.
5523 (RE_Unit_Table): Adjust to above changes.
5524 * libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead
5525 of Long_Long_Float.
5526 * libgnat/a-textio.ads (Field): Remove obsolete comment.
5527 * libgnat/a-ticoau.ads (Aux): Adjust ancestor package.
5528 * libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real.
5529 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
5530 * libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt,
5531 System.Img_LFlt and System.Img_LLF.
5532 (Scalar_Float): Add third actual parameter.
5533 (Scalar_Long_Float): Likewise.
5534 (Scalar_Long_Long_Float): Likewise.
5535 * libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt
5536 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
5537 Long_Long_Float with Long_Float throughout.
5538 * libgnat/a-tifiio__128.adb: Likewise.
5539 * libgnat/a-tiflau.ads: Add Set_Image formal parameter.
5540 * libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util,
5541 remove the one for System.Img_Real.
5542 (Put): Call Set_Image instead of Set_Image_Real.
5543 (Puts): Likewise.
5544 * libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt,
5545 System.Img_LFlt and System.Img_LLF.
5546 (Aux_Float): Add third actual parameter.
5547 (Aux_Long_Float): Likewise.
5548 (Aux_Long_Long_Float): Likewise.
5549 * libgnat/a-witeio.ads (Field): Remove obsolete comment.
5550 * libgnat/a-wtcoau.ads (Aux): Adjust ancestor package.
5551 * libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real.
5552 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
5553 * libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt,
5554 System.Img_LFlt and System.Img_LLF.
5555 (Scalar_Float): Add third actual parameter.
5556 (Scalar_Long_Float): Likewise.
5557 (Scalar_Long_Long_Float): Likewise.
5558 * libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt
5559 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
5560 Long_Long_Float with Long_Float throughout.
5561 * libgnat/a-wtfiio__128.adb: Likewise.
5562 * libgnat/a-wtflau.ads: Add Set_Image formal parameter.
5563 * libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util,
5564 remove the one for System.Img_Real.
5565 (Put): Call Set_Image instead of Set_Image_Real.
5566 (Puts): Likewise.
5567 * libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt,
5568 System.Img_LFlt and System.Img_LLF.
5569 (Aux_Float): Add third actual parameter.
5570 (Aux_Long_Float): Likewise.
5571 (Aux_Long_Long_Float): Likewise.
5572 * libgnat/a-ztexio.ads (Field): Remove obsolete comment.
5573 * libgnat/a-ztcoau.ads (Aux): Adjust ancestor package.
5574 * libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real.
5575 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
5576 * libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt,
5577 System.Img_LFlt and System.Img_LLF.
5578 (Scalar_Float): Add third actual parameter.
5579 (Scalar_Long_Float): Likewise.
5580 (Scalar_Long_Long_Float): Likewise.
5581 * libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt
5582 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
5583 Long_Long_Float with Long_Float throughout.
5584 * libgnat/a-ztfiio__128.adb: Likewise.
5585 * libgnat/a-ztflau.ads: Add Set_Image formal parameter.
5586 * libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util,
5587 remove the one for System.Img_Real.
5588 (Put): Call Set_Image instead of Set_Image_Real.
5589 (Puts): Likewise.
5590 * libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt,
5591 System.Img_LFlt and System.Img_LLF.
5592 (Aux_Float): Add third actual parameter.
5593 (Aux_Long_Float): Likewise.
5594 (Aux_Long_Long_Float): Likewise.
5595 * libgnat/s-dorepr.adb: New file.
5596 * libgnat/s-dorepr__fma.adb: Likewise.
5597 * libgnat/s-dourea.ads: Likewise.
5598 * libgnat/s-dourea.adb: Likewise.
5599 * libgnat/s-forrea.ads (Fore_Real): Rename into...
5600 (Fore_Fixed): ...this and take Long_Float parameters.
5601 * libgnat/s-forrea.adb (Fore_Real): Likewise.
5602 (Fore_Fixed): Likewise.
5603 * libgnat/s-imgrea.ads: Move to...
5604 (Set_Image_Real): Turn into mere renaming.
5605 * libgnat/s-imager.ads: ...here.
5606 (Image_Ordinary_Fixed_Point): Turn into...
5607 (Image_Fixed_Point): ...this.
5608 * libgnat/s-imgrea.adb: Add pragma No_Body. Move to...
5609 * libgnat/s-imager.adb: ...here.
5610 (Image_Ordinary_Fixed_Point): Turn into...
5611 (Image_Fixed_Point): ...this.
5612 (Is_Negative): Replace Long_Long_Float with Num.
5613 (Set_Image_Real): Likewise. Use Double_T instead of single Num
5614 throughout the algorithm.
5615 * libgnat/s-imgflt.ads: New file.
5616 * libgnat/s-imglfl.ads: Likewise.
5617 * libgnat/s-imgllf.ads: Likewise.
5618 * libgnat/s-imagef.ads: Adjust comment.
5619 * libgnat/s-imguti.ads (Max_Real_Image_Length): New named number.
5620 * libgnat/s-powflt.ads (Maxpow): Adjust.
5621 (Powten): Turn into an exact table of double Float.
5622 * libgnat/s-powlfl.ads (Maxpow): Adjust.
5623 (Powten): Turn into an exact table of double Long_Float.
5624 * libgnat/s-powllf.ads (Maxpow): Adjust.
5625 (Powten): Turn into an exact table of double Long_Long_Float.
5626 * libgnat/s-valrea.ads: Change order of formal parameters.
5627 * libgnat/s-valrea.adb: Add with clause for System.Double_Real.
5628 (Double_Real): New instantiation.
5629 (Fast2Sum): Delete.
5630 (Large_Powten): New function.
5631 (Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum. Convert
5632 the value to Double_T. Do the scaling in Double_T for base 10.
5633 * libgnat/s-valflt.ads: Remove with/use clasue for Interfaces,
5634 add it for System.Unsigned_Types. Use Unsigned.
5635 * libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces,
5636 add it for System.Unsigned_Types. Use Long_Unsigned.
5637 * libgnat/s-valllf.ads: Remove with/use clasue for Interfaces,
5638 add it for System.Unsigned_Types. Use Long_Long_Unsigned.
5639
56402021-05-05 Piotr Trojanek <trojanek@adacore.com>
5641
5642 * sem_eval.adb (Eval_Arithmetic_Op): Call
5643 Set_Raises_Constraint_Error on real division by zero just like
5644 it is called for integer division by zero earlier in this
5645 routine.
5646
56472021-05-05 Piotr Trojanek <trojanek@adacore.com>
5648
5649 * freeze.adb (Build_Renamed_Body): Simplify IF and WHILE
5650 statements with the same condition.
5651
56522021-05-05 Piotr Trojanek <trojanek@adacore.com>
5653
5654 * pprint.adb (Expr_Name): Introduce local constants to make the
5655 code more readable and avoid repeated calls to Next to reach the
5656 ELSE part of an if-expression.
5657
99e8df7a
GA
56582021-05-04 Piotr Trojanek <trojanek@adacore.com>
5659
5660 * pprint.adb: Remove qualification of arbitrary calls to
5661 Sinfo.Expressions and Sinfo.Parameter_Associations.
5662
56632021-05-04 Piotr Trojanek <trojanek@adacore.com>
5664
5665 * pprint.adb (Expr_Name): Simplify with functional variant of
5666 UI_Image.
5667
56682021-05-04 Piotr Trojanek <trojanek@adacore.com>
5669
5670 * pprint.adb (To_Mixed): Removed.
5671
56722021-05-04 Piotr Trojanek <trojanek@adacore.com>
5673
5674 * pprint.adb (List_Name_Count): Change type from Integer to
5675 Natural.
5676
56772021-05-04 Yannick Moy <moy@adacore.com>
5678
5679 * pprint.adb (Expression_Image): Special case for
5680 expression-with-actions.
5681
56822021-05-04 Bob Duff <duff@adacore.com>
5683
5684 * exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.
5685
56862021-05-04 Piotr Trojanek <trojanek@adacore.com>
5687
5688 * lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated
5689 branch for generic subprograms (they are now handled together
5690 with non-generic subprograms in the ELSE branch); replace a
5691 low-level Ekind membership test with a high-level call to
5692 Is_Access_Subprogram_Type.
5693
56942021-05-04 Piotr Trojanek <trojanek@adacore.com>
5695
5696 * sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal
5697 with Next_Formal.
5698 * sem_ch6.adb (Is_Non_Overriding_Operation): Likewise.
5699
57002021-05-04 Piotr Trojanek <trojanek@adacore.com>
5701
5702 * sem_prag.adb (Collect_Global_Item): Iterate directly over
5703 formals.
5704
57052021-05-04 Piotr Trojanek <trojanek@adacore.com>
5706
5707 * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
5708 comment; this routine is no longer used by GNATprove.
5709 * sem_prag.adb (Find_Role): The IN parameter is on output only
5710 when it belongs to non-function; also, the otherwise constant
5711 object can only be written by a non-function.
5712 (Collect_Global_Item): The IN parameter can only be written when
5713 it belongs to non-function; also, unnest this check to make it
5714 easier to read.
5715
57162021-05-04 Arnaud Charlet <charlet@adacore.com>
5717
5718 * libgnat/s-assert.ads (Assert_Failure): Now a renaming of
5719 Assertion_Error.
5720 * libgnat/a-assert.ads (Assertion_Error): Now a first class
5721 citizen. Remove dependency on System.Assertions.
5722 * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New.
5723 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
5724 a-assert.o from gcc-interface.
5725
57262021-05-04 Yannick Moy <moy@adacore.com>
5727
5728 * erroutc.adb (Matches): Move spec...
5729 * erroutc.ads (Matches): ...here.
5730
57312021-05-04 Yannick Moy <moy@adacore.com>
5732
5733 * gnat1drv.adb (Adjust_Global_Switches): Force error marker in
5734 GNATprove mode.
5735
57362021-05-04 Bob Duff <duff@adacore.com>
5737
5738 * binde.adb: No need for ??? marks in Binde, because it is
5739 superseded by Bindo.
5740 * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra
5741 works.
5742 * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for
5743 conversions passed to gigi are documented in sinfo.ads.
5744 (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of
5745 one in sinfo.ads.
5746 (Expand_N_In): Robert already added sufficient comments years
5747 after the ??? comment was inserted.
5748 (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any
5749 reason why Stand should export Long_Long_Integer'Base -- it
5750 doesn't export any other base types.
5751 (Size_In_Storage_Elements): We are doing an allocator, so we
5752 don't care about sizes in bits.
5753 (Expand_N_Allocator): PolyORB isn't going to be significantly
5754 improved, so we're not going to mess with remote access to
5755 class-wide types.
5756 (Optimize_Return_Stmt): It's not important to optimize return
5757 statements in predicate functions -- there are many
5758 more-important optimizations we could do. Keep part of the
5759 comment without "???", to clarify why the "and then ...".
5760 (User_Defined_Primitive_Equality_Op): The optimization doesn't
5761 seem important enough.
5762 (Expand_N_Unchecked_Type_Conversion): Refactor to use
5763 Expand_N_Unchecked_Expression.
5764 (Make_Array_Comparison_Op): This seems like a case of "it it's
5765 not broken, don't fix it". Too much risk of causing bugs.
5766 * debug_a.adb: Remove ??? comments asking why Current_Error_Node
5767 is maintained unconditionally, and add a comment explaining why.
5768 * errout.adb: These kinds of minor bugs do indeed exist, but
5769 we're never going to get around to fixing them "properly", so we
5770 need this code for robustness.
5771 * gnatchop.adb (Read_File): Document when read can fail.
5772 * gnatdll.adb (Parse_Command_Line): Nobody is complaining about
5773 these arbitrary limits, so no need to use Table. Increase the
5774 limits just in case. It is clear from the names what they are
5775 limits on.
5776 * gnatlink.adb: Add needed comments.
5777 (Delete): An existing comment makes clear it's intentional, and
5778 it's been like that since 1996.
5779 (Process_Args): Improve comments.
5780 (Search_Library_Path): Refactoring to avoid deep nesting.
5781 * inline.adb (Build_Body_To_Inline): Probably won't get around
5782 to doing that optimization.
5783 (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux,
5784 because it is too specialized to this context.
5785 (Do_Reset): No comment is needed here; it's clear from the
5786 comment on Reset_Dispatching_Calls. Do_Reset is an artificial
5787 subprogram; if we had proper iterators, it would just be an if
5788 statement in the loop.
5789 (Rewrite_Function_Call): Probably won't get around to doing that
5790 optimization.
5791 * layout.adb (Layout_Type): The gigi comment doesn't need to be
5792 a ??? comment, and it's been that way since 2000. The
5793 limitation to scalars will likely never be investigated, and
5794 it's been that way since 2009.
5795 * lib.adb (Check_Same_Extended_Unit): This doesn't look like
5796 something that needs fixing; it looks like a permanent
5797 workaround.
5798 * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in
5799 practice.
5800 (Load_Unit): Nobody will ever get around to investigating the
5801 obscure PMES oddity, and the optimization is not worth the
5802 trouble.
5803 * live.adb: It's not worth documenting this. It is used only
5804 with a debug switch. Nobody who has done significant work on it
5805 is still around, so it would require substantial investigation.
5806 * mdll.ads: I see no reason for USE.
5807 * namet.ads: Routines are obsolete, but they're not going
5808 anywhere anytime soon (too much work, and surprisingly delicate
5809 because of dependences on global variables).
5810 * osint.ads: Minor.
5811 * osint.adb: Improve comments.
5812 (Full_Lib_File_Name): Use Smart_Find_File.
5813
58142021-05-04 Piotr Trojanek <trojanek@adacore.com>
5815
5816 * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership
5817 tests with a high-level call to Is_Formal_Object.
5818
58192021-05-04 Arnaud Charlet <charlet@adacore.com>
5820
5821 * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads,
5822 xr_tabls.adb, xref_lib.adb: Address ??? comments.
5823
58242021-05-04 Piotr Trojanek <trojanek@adacore.com>
5825
5826 * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into
5827 account when accepting or rejecting a constant of an
5828 access-to-variable type as a global Output/In_Out; do this check
5829 inside an ELSIF branch to avoid unnecessary evaluation of the
5830 subsequent condition.
5831
58322021-05-04 Piotr Trojanek <trojanek@adacore.com>
5833
5834 * sem_prag.adb (Role_Error, Usage_Error): Replace calls to
5835 Name_Find and Get_Name_String with a call to To_String.
5836
58372021-05-04 Ed Schonberg <schonberg@adacore.com>
5838
5839 * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of
5840 Expand_Container_Aggregate, to create an expression to be used
5841 in the dynamic allocation of a container with a single container
5842 element association.
5843 (Add_Range): Handle static bounds of ranges over enumerations.
5844 (Expand_Container_Aggregate): Add declaration for size
5845 expression when needed, and use it in container object
5846 declaration for container.
5847
58482021-05-04 Arnaud Charlet <charlet@adacore.com>
5849
5850 * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name):
5851 Unnest so that it can be reused.
5852 (Build_Finalizer_Helper.Process_Declarations): Call the
5853 xxx__finalize_body procedure of a package instantiation in case
5854 it contains finalization statements. Code clean ups.
5855 (Build_Finalizer_Helper.Create_Finalizer): Export and set an
5856 Interface_Name for library level finalizers since these may be
5857 imported now.
5858 (Build_Finalizer_Helper): Need to process library level package
5859 body instantiations which may contain objects requiring
5860 finalization.
5861 * libgnat/s-finmas.ads: Fix typo.
5862
58632021-05-04 Arnaud Charlet <charlet@adacore.com>
5864
5865 * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks,
5866 Determine_Range, Insert_Range_Checks,
5867 Install_Null_Excluding_Check, Selected_Length_Checks,
5868 Selected_Range_Checks): Address ??? comments and code cleanups.
5869
58702021-05-04 Piotr Trojanek <trojanek@adacore.com>
5871
5872 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
5873 Apply the rule even with no explicit Global contract (and remove
5874 a dead condition for Refined_Global).
5875
58762021-05-04 Piotr Trojanek <trojanek@adacore.com>
5877
5878 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
5879 Extend check to protected entries.
5880
58812021-05-04 Piotr Trojanek <trojanek@adacore.com>
5882
5883 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
5884 Fix reference to SPARK RM rule number.
5885
58862021-05-04 Eric Botcazou <ebotcazou@adacore.com>
5887
5888 * exp_intr.adb: Remove with/use clauses for Urealp.
5889 (Expand_Is_Negative): Delete.
5890 (Expand_Intrinsic_Call): Do not call it.
5891 * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned.
5892 (RE_Unit_Table): Remove entry for RE_Float_Unsigned.
5893 * snames.ads-tmpl (Name_Is_Negative): Delete.
5894 * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter.
5895 * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util.
5896 (LLU): New subtype.
5897 (Maxdigs): Use it.
5898 (Is_Negative): Reimplement.
5899 (Image_Floating_Point): Simplify.
5900 (Set_Image_Real): Fix mode of S parameter. Remove the low-level
5901 processing on characters. Flip the sign of the Scale variable.
5902 Compute the maximum number of digits for the straight notation.
5903 Call Set_Decimal_Digits at the end to do the final formatting.
5904 * libgnat/s-imguti.ads (Floating_Invalid_Value): New type.
5905 (Set_Floating_Invalid_Value): New procedure.
5906 * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it
5907 based on existing code from Set_Image_Real.
5908 * libgnat/s-unstyp.ads (Float_Unsigned): Delete.
5909
59102021-05-04 Piotr Trojanek <trojanek@adacore.com>
5911
5912 * csets.adb (Initialize): Refactor into CASE statement; raise
5913 exception on unsupported code of character set (it will be
5914 gently rejected earlier when scanning command line switches).
5915 * switch-b.adb (Scan_Binder_Switches): Refactor into a
5916 membership expression; add missing '9' choice; reorder as
5917 described by GNAT UG, section 4.3.11.
5918 * switch-c.adb (Scan_Front_End_Switches): Refactor into a
5919 membership expression and reorder as above.
5920 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
5921 (gnatic): Mention '5' as an allowed value for "c".
5922 * gnat_ugn.texi: Regenerate.
5923
59242021-05-04 Piotr Trojanek <trojanek@adacore.com>
5925
5926 * errout.adb (Error_Msg_Internal): Add assertion to prevent
5927 style mistakes reappearing in the future.
5928
59292021-05-04 Javier Miranda <miranda@adacore.com>
5930
5931 * exp_ch4.adb (Tagged_Membership): Remove wrong condition that
5932 is not consistent with the documentation of this subprogram.
5933
59342021-05-04 Yannick Moy <moy@adacore.com>
5935
5936 * sem_res.adb (Valid_Conversion): Make message a continuation.
5937
59382021-05-04 Arnaud Charlet <charlet@adacore.com>
5939
5940 * styleg.adb: Address ??? comments.
5941
e690396d
GA
59422021-05-03 Arnaud Charlet <charlet@adacore.com>
5943
5944 * libgnat/a-stunau.ads, libgnat/a-stunau.adb,
5945 libgnat/a-stunau__shared.adb (Set_String): Remove old version,
5946 replace by a new version taking a callback to set the string.
5947
59482021-05-03 Arnaud Charlet <charlet@adacore.com>
5949
5950 * libgnat/a-coorma.ads (Map): Add missing
5951 Preelaborate_Initialization.
5952
59532021-05-03 Piotr Trojanek <trojanek@adacore.com>
5954
5955 * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon):
5956 Simplify with Is_Universal_Numeric_Type.
5957 * sem_attr.adb (Resolve_Attribute): Likewise.
5958 * sem_ch3.adb: Likewise.
5959 * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair):
5960 Likewise.
5961 * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise.
5962 * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op,
5963 Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand,
5964 Set_Operand_Type): Likewise.
5965 * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise.
5966 * sem_util.adb (Universal_Interpretation): Likewise.
5967
59682021-05-03 Piotr Trojanek <trojanek@adacore.com>
5969
5970 * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested
5971 routines; move a local constant after nested subprogram bodies;
5972 refill comment.
5973
59742021-05-03 Piotr Trojanek <trojanek@adacore.com>
5975
5976 * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit
5977 type when analysing attribute Priority.
5978 * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case
5979 in analysis of case statements.
5980 (Analyze_Iterator_Specification): Likewise for non-overloaded
5981 domain of iteration.
5982
59832021-05-03 Piotr Trojanek <trojanek@adacore.com>
5984
5985 * einfo.adb (Write_Entity_Info): Simplify an Ekind membership
5986 test.
5987 * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.
5988
59892021-05-03 Piotr Trojanek <trojanek@adacore.com>
5990
5991 * exp_ch7.adb (Build_Finalize_Statements): Refine type of a
5992 local counter variable.
5993 * exp_dist.adb (Append_Record_Traversal): Refine type of Counter
5994 parameter.
5995 (Add_Process_Element): Likewise.
5996 (Build_From_Any_Call): Refine type of a local counter variable.
5997 (Build_From_Any_Function): Likewise.
5998 (Build_To_Any_Function): Likewise.
5999 (FA_Rec_Add_Process_Element): Likewise.
6000 (TA_Append_Record_Traversal): Likewise.
6001 (TA_Rec_Add_Process_Element): Likewise.
6002
60032021-05-03 Piotr Trojanek <trojanek@adacore.com>
6004
6005 * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.
6006
60072021-05-03 Arnaud Charlet <charlet@adacore.com>
6008
6009 * Makefile.rtl: Update copyright notice.
6010 * ada_get_targ.adb: Likewise.
6011 * adabkend.adb: Likewise.
6012 * adabkend.ads: Likewise.
6013 * adadecode.c: Likewise.
6014 * adadecode.h: Likewise.
6015 * adaint.c: Likewise.
6016 * adaint.h: Likewise.
6017 * affinity.c: Likewise.
6018 * ali-util.adb: Likewise.
6019 * ali-util.ads: Likewise.
6020 * ali.adb: Likewise.
6021 * ali.ads: Likewise.
6022 * alloc.ads: Likewise.
6023 * argv-lynxos178-raven-cert.c: Likewise.
6024 * argv.c: Likewise.
6025 * aspects.adb: Likewise.
6026 * aspects.ads: Likewise.
6027 * atree.adb: Likewise.
6028 * atree.ads: Likewise.
6029 * atree.h: Likewise.
6030 * aux-io.c: Likewise.
6031 * back_end.adb: Likewise.
6032 * back_end.ads: Likewise.
6033 * bcheck.adb: Likewise.
6034 * bcheck.ads: Likewise.
6035 * binde.adb: Likewise.
6036 * binde.ads: Likewise.
6037 * binderr.adb: Likewise.
6038 * binderr.ads: Likewise.
6039 * bindgen.adb: Likewise.
6040 * bindgen.ads: Likewise.
6041 * bindo-augmentors.adb: Likewise.
6042 * bindo-augmentors.ads: Likewise.
6043 * bindo-builders.adb: Likewise.
6044 * bindo-builders.ads: Likewise.
6045 * bindo-diagnostics.adb: Likewise.
6046 * bindo-diagnostics.ads: Likewise.
6047 * bindo-elaborators.adb: Likewise.
6048 * bindo-elaborators.ads: Likewise.
6049 * bindo-graphs.adb: Likewise.
6050 * bindo-graphs.ads: Likewise.
6051 * bindo-units.adb: Likewise.
6052 * bindo-units.ads: Likewise.
6053 * bindo-validators.adb: Likewise.
6054 * bindo-validators.ads: Likewise.
6055 * bindo-writers.adb: Likewise.
6056 * bindo-writers.ads: Likewise.
6057 * bindo.adb: Likewise.
6058 * bindo.ads: Likewise.
6059 * bindusg.adb: Likewise.
6060 * bindusg.ads: Likewise.
6061 * butil.adb: Likewise.
6062 * butil.ads: Likewise.
6063 * cal.c: Likewise.
6064 * casing.adb: Likewise.
6065 * casing.ads: Likewise.
6066 * ceinfo.adb: Likewise.
6067 * checks.adb: Likewise.
6068 * checks.ads: Likewise.
6069 * cio.c: Likewise.
6070 * clean.adb: Likewise.
6071 * clean.ads: Likewise.
6072 * comperr.adb: Likewise.
6073 * comperr.ads: Likewise.
6074 * contracts.adb: Likewise.
6075 * contracts.ads: Likewise.
6076 * csets.adb: Likewise.
6077 * csets.ads: Likewise.
6078 * csinfo.adb: Likewise.
6079 * cstand.adb: Likewise.
6080 * cstand.ads: Likewise.
6081 * cstreams.c: Likewise.
6082 * ctrl_c.c: Likewise.
6083 * debug.adb: Likewise.
6084 * debug.ads: Likewise.
6085 * debug_a.adb: Likewise.
6086 * debug_a.ads: Likewise.
6087 * einfo.adb: Likewise.
6088 * einfo.ads: Likewise.
6089 * elists.adb: Likewise.
6090 * elists.ads: Likewise.
6091 * elists.h: Likewise.
6092 * env.c: Likewise.
6093 * env.h: Likewise.
6094 * err_vars.ads: Likewise.
6095 * errno.c: Likewise.
6096 * errout.adb: Likewise.
6097 * errout.ads: Likewise.
6098 * erroutc.adb: Likewise.
6099 * erroutc.ads: Likewise.
6100 * errutil.adb: Likewise.
6101 * errutil.ads: Likewise.
6102 * eval_fat.adb: Likewise.
6103 * eval_fat.ads: Likewise.
6104 * exit.c: Likewise.
6105 * exp_aggr.adb: Likewise.
6106 * exp_aggr.ads: Likewise.
6107 * exp_atag.adb: Likewise.
6108 * exp_atag.ads: Likewise.
6109 * exp_attr.adb: Likewise.
6110 * exp_attr.ads: Likewise.
6111 * exp_cg.adb: Likewise.
6112 * exp_cg.ads: Likewise.
6113 * exp_ch10.ads: Likewise.
6114 * exp_ch11.adb: Likewise.
6115 * exp_ch11.ads: Likewise.
6116 * exp_ch12.adb: Likewise.
6117 * exp_ch12.ads: Likewise.
6118 * exp_ch13.adb: Likewise.
6119 * exp_ch13.ads: Likewise.
6120 * exp_ch2.adb: Likewise.
6121 * exp_ch2.ads: Likewise.
6122 * exp_ch3.adb: Likewise.
6123 * exp_ch3.ads: Likewise.
6124 * exp_ch4.adb: Likewise.
6125 * exp_ch4.ads: Likewise.
6126 * exp_ch5.adb: Likewise.
6127 * exp_ch5.ads: Likewise.
6128 * exp_ch6.adb: Likewise.
6129 * exp_ch6.ads: Likewise.
6130 * exp_ch7.adb: Likewise.
6131 * exp_ch7.ads: Likewise.
6132 * exp_ch8.adb: Likewise.
6133 * exp_ch8.ads: Likewise.
6134 * exp_ch9.adb: Likewise.
6135 * exp_ch9.ads: Likewise.
6136 * exp_code.adb: Likewise.
6137 * exp_code.ads: Likewise.
6138 * exp_dbug.adb: Likewise.
6139 * exp_dbug.ads: Likewise.
6140 * exp_disp.adb: Likewise.
6141 * exp_disp.ads: Likewise.
6142 * exp_dist.adb: Likewise.
6143 * exp_dist.ads: Likewise.
6144 * exp_fixd.adb: Likewise.
6145 * exp_fixd.ads: Likewise.
6146 * exp_imgv.adb: Likewise.
6147 * exp_imgv.ads: Likewise.
6148 * exp_intr.adb: Likewise.
6149 * exp_intr.ads: Likewise.
6150 * exp_pakd.adb: Likewise.
6151 * exp_pakd.ads: Likewise.
6152 * exp_prag.adb: Likewise.
6153 * exp_prag.ads: Likewise.
6154 * exp_put_image.adb: Likewise.
6155 * exp_put_image.ads: Likewise.
6156 * exp_sel.adb: Likewise.
6157 * exp_sel.ads: Likewise.
6158 * exp_smem.adb: Likewise.
6159 * exp_smem.ads: Likewise.
6160 * exp_spark.adb: Likewise.
6161 * exp_spark.ads: Likewise.
6162 * exp_strm.adb: Likewise.
6163 * exp_strm.ads: Likewise.
6164 * exp_tss.adb: Likewise.
6165 * exp_tss.ads: Likewise.
6166 * exp_unst.adb: Likewise.
6167 * exp_unst.ads: Likewise.
6168 * exp_util.adb: Likewise.
6169 * exp_util.ads: Likewise.
6170 * expander.adb: Likewise.
6171 * expander.ads: Likewise.
6172 * expect.c: Likewise.
6173 * fe.h: Likewise.
6174 * final.c: Likewise.
6175 * fmap.adb: Likewise.
6176 * fmap.ads: Likewise.
6177 * fname-sf.adb: Likewise.
6178 * fname-sf.ads: Likewise.
6179 * fname-uf.adb: Likewise.
6180 * fname-uf.ads: Likewise.
6181 * fname.adb: Likewise.
6182 * fname.ads: Likewise.
6183 * freeze.adb: Likewise.
6184 * freeze.ads: Likewise.
6185 * frontend.adb: Likewise.
6186 * frontend.ads: Likewise.
6187 * gcc-interface/ada-tree.h: Likewise.
6188 * gcc-interface/ada.h: Likewise.
6189 * gcc-interface/cuintp.c: Likewise.
6190 * gcc-interface/decl.c: Likewise.
6191 * gcc-interface/gadaint.h: Likewise.
6192 * gcc-interface/gigi.h: Likewise.
6193 * gcc-interface/lang-specs.h: Likewise.
6194 * gcc-interface/misc.c: Likewise.
6195 * gcc-interface/system.ads: Likewise.
6196 * gcc-interface/targtyps.c: Likewise.
6197 * gcc-interface/trans.c: Likewise.
6198 * gcc-interface/utils.c: Likewise.
6199 * gcc-interface/utils2.c: Likewise.
6200 * get_scos.adb: Likewise.
6201 * get_scos.ads: Likewise.
6202 * get_targ.adb: Likewise.
6203 * get_targ.ads: Likewise.
6204 * ghost.adb: Likewise.
6205 * ghost.ads: Likewise.
6206 * gnat1drv.adb: Likewise.
6207 * gnat1drv.ads: Likewise.
6208 * gnat_cuda.adb: Likewise.
6209 * gnat_cuda.ads: Likewise.
6210 * gnatbind.adb: Likewise.
6211 * gnatbind.ads: Likewise.
6212 * gnatchop.adb: Likewise.
6213 * gnatclean.adb: Likewise.
6214 * gnatcmd.adb: Likewise.
6215 * gnatcmd.ads: Likewise.
6216 * gnatdll.adb: Likewise.
6217 * gnatfind.adb: Likewise.
6218 * gnatkr.adb: Likewise.
6219 * gnatkr.ads: Likewise.
6220 * gnatlink.adb: Likewise.
6221 * gnatlink.ads: Likewise.
6222 * gnatls.adb: Likewise.
6223 * gnatls.ads: Likewise.
6224 * gnatmake.adb: Likewise.
6225 * gnatmake.ads: Likewise.
6226 * gnatname.adb: Likewise.
6227 * gnatname.ads: Likewise.
6228 * gnatprep.adb: Likewise.
6229 * gnatprep.ads: Likewise.
6230 * gnatvsn.adb: Likewise.
6231 * gnatvsn.ads: Likewise.
6232 * gnatxref.adb: Likewise.
6233 * gprep.adb: Likewise.
6234 * gprep.ads: Likewise.
6235 * gsocket.h: Likewise.
6236 * hostparm.ads: Likewise.
6237 * impunit.adb: Likewise.
6238 * impunit.ads: Likewise.
6239 * indepsw-aix.adb: Likewise.
6240 * indepsw-darwin.adb: Likewise.
6241 * indepsw-gnu.adb: Likewise.
6242 * indepsw.adb: Likewise.
6243 * indepsw.ads: Likewise.
6244 * init.c: Likewise.
6245 * initialize.c: Likewise.
6246 * inline.adb: Likewise.
6247 * inline.ads: Likewise.
6248 * itypes.adb: Likewise.
6249 * itypes.ads: Likewise.
6250 * krunch.adb: Likewise.
6251 * krunch.ads: Likewise.
6252 * layout.adb: Likewise.
6253 * layout.ads: Likewise.
6254 * lib-list.adb: Likewise.
6255 * lib-load.adb: Likewise.
6256 * lib-load.ads: Likewise.
6257 * lib-sort.adb: Likewise.
6258 * lib-util.adb: Likewise.
6259 * lib-util.ads: Likewise.
6260 * lib-writ.adb: Likewise.
6261 * lib-writ.ads: Likewise.
6262 * lib-xref-spark_specific.adb: Likewise.
6263 * lib-xref.adb: Likewise.
6264 * lib-xref.ads: Likewise.
6265 * lib.adb: Likewise.
6266 * lib.ads: Likewise.
6267 * libgnarl/a-astaco.adb: Likewise.
6268 * libgnarl/a-dispat.adb: Likewise.
6269 * libgnarl/a-dynpri.adb: Likewise.
6270 * libgnarl/a-etgrbu.ads: Likewise.
6271 * libgnarl/a-exetim__darwin.adb: Likewise.
6272 * libgnarl/a-exetim__default.ads: Likewise.
6273 * libgnarl/a-exetim__mingw.adb: Likewise.
6274 * libgnarl/a-exetim__mingw.ads: Likewise.
6275 * libgnarl/a-exetim__posix.adb: Likewise.
6276 * libgnarl/a-interr.adb: Likewise.
6277 * libgnarl/a-interr.ads: Likewise.
6278 * libgnarl/a-intnam.ads: Likewise.
6279 * libgnarl/a-intnam__aix.ads: Likewise.
6280 * libgnarl/a-intnam__darwin.ads: Likewise.
6281 * libgnarl/a-intnam__dragonfly.ads: Likewise.
6282 * libgnarl/a-intnam__dummy.ads: Likewise.
6283 * libgnarl/a-intnam__freebsd.ads: Likewise.
6284 * libgnarl/a-intnam__hpux.ads: Likewise.
6285 * libgnarl/a-intnam__linux.ads: Likewise.
6286 * libgnarl/a-intnam__lynxos.ads: Likewise.
6287 * libgnarl/a-intnam__mingw.ads: Likewise.
6288 * libgnarl/a-intnam__qnx.ads: Likewise.
6289 * libgnarl/a-intnam__rtems.ads: Likewise.
6290 * libgnarl/a-intnam__solaris.ads: Likewise.
6291 * libgnarl/a-intnam__vxworks.ads: Likewise.
6292 * libgnarl/a-reatim.adb: Likewise.
6293 * libgnarl/a-reatim.ads: Likewise.
6294 * libgnarl/a-retide.adb: Likewise.
6295 * libgnarl/a-retide.ads: Likewise.
6296 * libgnarl/a-rttiev.adb: Likewise.
6297 * libgnarl/a-rttiev.ads: Likewise.
6298 * libgnarl/a-synbar.adb: Likewise.
6299 * libgnarl/a-synbar.ads: Likewise.
6300 * libgnarl/a-synbar__posix.adb: Likewise.
6301 * libgnarl/a-synbar__posix.ads: Likewise.
6302 * libgnarl/a-sytaco.adb: Likewise.
6303 * libgnarl/a-sytaco.ads: Likewise.
6304 * libgnarl/a-tasatt.adb: Likewise.
6305 * libgnarl/a-tasatt.ads: Likewise.
6306 * libgnarl/a-taside.adb: Likewise.
6307 * libgnarl/a-taside.ads: Likewise.
6308 * libgnarl/a-tasini.adb: Likewise.
6309 * libgnarl/a-tasini.ads: Likewise.
6310 * libgnarl/a-taster.adb: Likewise.
6311 * libgnarl/g-boubuf.adb: Likewise.
6312 * libgnarl/g-boubuf.ads: Likewise.
6313 * libgnarl/g-boumai.ads: Likewise.
6314 * libgnarl/g-semaph.adb: Likewise.
6315 * libgnarl/g-semaph.ads: Likewise.
6316 * libgnarl/g-signal.adb: Likewise.
6317 * libgnarl/g-signal.ads: Likewise.
6318 * libgnarl/g-tastus.ads: Likewise.
6319 * libgnarl/g-thread.adb: Likewise.
6320 * libgnarl/g-thread.ads: Likewise.
6321 * libgnarl/i-vxinco.adb: Likewise.
6322 * libgnarl/i-vxinco.ads: Likewise.
6323 * libgnarl/s-inmaop.ads: Likewise.
6324 * libgnarl/s-inmaop__dummy.adb: Likewise.
6325 * libgnarl/s-inmaop__posix.adb: Likewise.
6326 * libgnarl/s-inmaop__vxworks.adb: Likewise.
6327 * libgnarl/s-interr.adb: Likewise.
6328 * libgnarl/s-interr.ads: Likewise.
6329 * libgnarl/s-interr__dummy.adb: Likewise.
6330 * libgnarl/s-interr__hwint.adb: Likewise.
6331 * libgnarl/s-interr__sigaction.adb: Likewise.
6332 * libgnarl/s-interr__vxworks.adb: Likewise.
6333 * libgnarl/s-intman.ads: Likewise.
6334 * libgnarl/s-intman__android.adb: Likewise.
6335 * libgnarl/s-intman__dummy.adb: Likewise.
6336 * libgnarl/s-intman__lynxos.adb: Likewise.
6337 * libgnarl/s-intman__mingw.adb: Likewise.
6338 * libgnarl/s-intman__posix.adb: Likewise.
6339 * libgnarl/s-intman__qnx.adb: Likewise.
6340 * libgnarl/s-intman__solaris.adb: Likewise.
6341 * libgnarl/s-intman__susv3.adb: Likewise.
6342 * libgnarl/s-intman__vxworks.adb: Likewise.
6343 * libgnarl/s-intman__vxworks.ads: Likewise.
6344 * libgnarl/s-linux.ads: Likewise.
6345 * libgnarl/s-linux__alpha.ads: Likewise.
6346 * libgnarl/s-linux__android.ads: Likewise.
6347 * libgnarl/s-linux__hppa.ads: Likewise.
6348 * libgnarl/s-linux__mips.ads: Likewise.
6349 * libgnarl/s-linux__riscv.ads: Likewise.
6350 * libgnarl/s-linux__sparc.ads: Likewise.
6351 * libgnarl/s-linux__x32.ads: Likewise.
6352 * libgnarl/s-mudido.adb: Likewise.
6353 * libgnarl/s-mudido__affinity.adb: Likewise.
6354 * libgnarl/s-osinte__aix.adb: Likewise.
6355 * libgnarl/s-osinte__aix.ads: Likewise.
6356 * libgnarl/s-osinte__android.adb: Likewise.
6357 * libgnarl/s-osinte__android.ads: Likewise.
6358 * libgnarl/s-osinte__darwin.adb: Likewise.
6359 * libgnarl/s-osinte__darwin.ads: Likewise.
6360 * libgnarl/s-osinte__dragonfly.adb: Likewise.
6361 * libgnarl/s-osinte__dragonfly.ads: Likewise.
6362 * libgnarl/s-osinte__dummy.ads: Likewise.
6363 * libgnarl/s-osinte__freebsd.adb: Likewise.
6364 * libgnarl/s-osinte__freebsd.ads: Likewise.
6365 * libgnarl/s-osinte__gnu.adb: Likewise.
6366 * libgnarl/s-osinte__gnu.ads: Likewise.
6367 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
6368 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
6369 * libgnarl/s-osinte__hpux.ads: Likewise.
6370 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
6371 * libgnarl/s-osinte__linux.ads: Likewise.
6372 * libgnarl/s-osinte__lynxos178.adb: Likewise.
6373 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
6374 * libgnarl/s-osinte__mingw.ads: Likewise.
6375 * libgnarl/s-osinte__posix.adb: Likewise.
6376 * libgnarl/s-osinte__qnx.adb: Likewise.
6377 * libgnarl/s-osinte__qnx.ads: Likewise.
6378 * libgnarl/s-osinte__rtems.adb: Likewise.
6379 * libgnarl/s-osinte__rtems.ads: Likewise.
6380 * libgnarl/s-osinte__solaris.adb: Likewise.
6381 * libgnarl/s-osinte__solaris.ads: Likewise.
6382 * libgnarl/s-osinte__vxworks.adb: Likewise.
6383 * libgnarl/s-osinte__vxworks.ads: Likewise.
6384 * libgnarl/s-osinte__x32.adb: Likewise.
6385 * libgnarl/s-proinf.adb: Likewise.
6386 * libgnarl/s-proinf.ads: Likewise.
6387 * libgnarl/s-qnx.ads: Likewise.
6388 * libgnarl/s-solita.adb: Likewise.
6389 * libgnarl/s-solita.ads: Likewise.
6390 * libgnarl/s-stusta.adb: Likewise.
6391 * libgnarl/s-stusta.ads: Likewise.
6392 * libgnarl/s-taasde.adb: Likewise.
6393 * libgnarl/s-taasde.ads: Likewise.
6394 * libgnarl/s-tadeca.adb: Likewise.
6395 * libgnarl/s-tadeca.ads: Likewise.
6396 * libgnarl/s-tadert.adb: Likewise.
6397 * libgnarl/s-tadert.ads: Likewise.
6398 * libgnarl/s-taenca.adb: Likewise.
6399 * libgnarl/s-taenca.ads: Likewise.
6400 * libgnarl/s-taprob.adb: Likewise.
6401 * libgnarl/s-taprob.ads: Likewise.
6402 * libgnarl/s-taprop.ads: Likewise.
6403 * libgnarl/s-taprop__dummy.adb: Likewise.
6404 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
6405 * libgnarl/s-taprop__linux.adb: Likewise.
6406 * libgnarl/s-taprop__mingw.adb: Likewise.
6407 * libgnarl/s-taprop__posix.adb: Likewise.
6408 * libgnarl/s-taprop__qnx.adb: Likewise.
6409 * libgnarl/s-taprop__solaris.adb: Likewise.
6410 * libgnarl/s-taprop__vxworks.adb: Likewise.
6411 * libgnarl/s-tarest.adb: Likewise.
6412 * libgnarl/s-tarest.ads: Likewise.
6413 * libgnarl/s-tasdeb.adb: Likewise.
6414 * libgnarl/s-tasdeb.ads: Likewise.
6415 * libgnarl/s-tasinf.adb: Likewise.
6416 * libgnarl/s-tasinf.ads: Likewise.
6417 * libgnarl/s-tasinf__linux.adb: Likewise.
6418 * libgnarl/s-tasinf__linux.ads: Likewise.
6419 * libgnarl/s-tasinf__mingw.adb: Likewise.
6420 * libgnarl/s-tasinf__mingw.ads: Likewise.
6421 * libgnarl/s-tasinf__solaris.adb: Likewise.
6422 * libgnarl/s-tasinf__solaris.ads: Likewise.
6423 * libgnarl/s-tasinf__vxworks.ads: Likewise.
6424 * libgnarl/s-tasini.adb: Likewise.
6425 * libgnarl/s-tasini.ads: Likewise.
6426 * libgnarl/s-taskin.adb: Likewise.
6427 * libgnarl/s-taskin.ads: Likewise.
6428 * libgnarl/s-taspri__dummy.ads: Likewise.
6429 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
6430 * libgnarl/s-taspri__lynxos.ads: Likewise.
6431 * libgnarl/s-taspri__mingw.ads: Likewise.
6432 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
6433 * libgnarl/s-taspri__posix.ads: Likewise.
6434 * libgnarl/s-taspri__solaris.ads: Likewise.
6435 * libgnarl/s-taspri__vxworks.ads: Likewise.
6436 * libgnarl/s-tasque.adb: Likewise.
6437 * libgnarl/s-tasque.ads: Likewise.
6438 * libgnarl/s-tasren.adb: Likewise.
6439 * libgnarl/s-tasren.ads: Likewise.
6440 * libgnarl/s-tasres.ads: Likewise.
6441 * libgnarl/s-tassta.adb: Likewise.
6442 * libgnarl/s-tassta.ads: Likewise.
6443 * libgnarl/s-tasuti.adb: Likewise.
6444 * libgnarl/s-tasuti.ads: Likewise.
6445 * libgnarl/s-tataat.adb: Likewise.
6446 * libgnarl/s-tataat.ads: Likewise.
6447 * libgnarl/s-tpinop.adb: Likewise.
6448 * libgnarl/s-tpinop.ads: Likewise.
6449 * libgnarl/s-tpoaal.adb: Likewise.
6450 * libgnarl/s-tpoben.adb: Likewise.
6451 * libgnarl/s-tpoben.ads: Likewise.
6452 * libgnarl/s-tpobmu.adb: Likewise.
6453 * libgnarl/s-tpobmu.ads: Likewise.
6454 * libgnarl/s-tpobop.adb: Likewise.
6455 * libgnarl/s-tpobop.ads: Likewise.
6456 * libgnarl/s-tpopmo.adb: Likewise.
6457 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
6458 * libgnarl/s-tpopsp__posix.adb: Likewise.
6459 * libgnarl/s-tpopsp__solaris.adb: Likewise.
6460 * libgnarl/s-tpopsp__tls.adb: Likewise.
6461 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
6462 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
6463 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
6464 * libgnarl/s-tporft.adb: Likewise.
6465 * libgnarl/s-tposen.adb: Likewise.
6466 * libgnarl/s-tposen.ads: Likewise.
6467 * libgnarl/s-vxwext.adb: Likewise.
6468 * libgnarl/s-vxwext.ads: Likewise.
6469 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
6470 * libgnarl/s-vxwext__kernel.adb: Likewise.
6471 * libgnarl/s-vxwext__kernel.ads: Likewise.
6472 * libgnarl/s-vxwext__noints.adb: Likewise.
6473 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
6474 * libgnarl/s-vxwext__rtp.adb: Likewise.
6475 * libgnarl/s-vxwext__rtp.ads: Likewise.
6476 * libgnarl/s-vxwext__vthreads.ads: Likewise.
6477 * libgnarl/s-vxwork__aarch64.ads: Likewise.
6478 * libgnarl/s-vxwork__arm.ads: Likewise.
6479 * libgnarl/s-vxwork__ppc.ads: Likewise.
6480 * libgnarl/s-vxwork__x86.ads: Likewise.
6481 * libgnarl/thread.c: Likewise.
6482 * libgnat/a-assert.adb: Likewise.
6483 * libgnat/a-assert.ads: Likewise.
6484 * libgnat/a-btgbso.adb: Likewise.
6485 * libgnat/a-btgbso.ads: Likewise.
6486 * libgnat/a-calari.adb: Likewise.
6487 * libgnat/a-calari.ads: Likewise.
6488 * libgnat/a-calcon.adb: Likewise.
6489 * libgnat/a-calcon.ads: Likewise.
6490 * libgnat/a-caldel.adb: Likewise.
6491 * libgnat/a-caldel.ads: Likewise.
6492 * libgnat/a-calend.adb: Likewise.
6493 * libgnat/a-calend.ads: Likewise.
6494 * libgnat/a-calfor.adb: Likewise.
6495 * libgnat/a-calfor.ads: Likewise.
6496 * libgnat/a-catizo.adb: Likewise.
6497 * libgnat/a-cbdlli.adb: Likewise.
6498 * libgnat/a-cbdlli.ads: Likewise.
6499 * libgnat/a-cbhama.adb: Likewise.
6500 * libgnat/a-cbhama.ads: Likewise.
6501 * libgnat/a-cbhase.adb: Likewise.
6502 * libgnat/a-cbhase.ads: Likewise.
6503 * libgnat/a-cbmutr.adb: Likewise.
6504 * libgnat/a-cbmutr.ads: Likewise.
6505 * libgnat/a-cborma.adb: Likewise.
6506 * libgnat/a-cborma.ads: Likewise.
6507 * libgnat/a-cborse.adb: Likewise.
6508 * libgnat/a-cborse.ads: Likewise.
6509 * libgnat/a-cbprqu.adb: Likewise.
6510 * libgnat/a-cbprqu.ads: Likewise.
6511 * libgnat/a-cbsyqu.adb: Likewise.
6512 * libgnat/a-cbsyqu.ads: Likewise.
6513 * libgnat/a-cdlili.adb: Likewise.
6514 * libgnat/a-cdlili.ads: Likewise.
6515 * libgnat/a-cfdlli.adb: Likewise.
6516 * libgnat/a-cfdlli.ads: Likewise.
6517 * libgnat/a-cfhama.adb: Likewise.
6518 * libgnat/a-cfhama.ads: Likewise.
6519 * libgnat/a-cfhase.adb: Likewise.
6520 * libgnat/a-cfhase.ads: Likewise.
6521 * libgnat/a-cfinve.adb: Likewise.
6522 * libgnat/a-cfinve.ads: Likewise.
6523 * libgnat/a-cforma.adb: Likewise.
6524 * libgnat/a-cforma.ads: Likewise.
6525 * libgnat/a-cforse.adb: Likewise.
6526 * libgnat/a-cforse.ads: Likewise.
6527 * libgnat/a-cgaaso.adb: Likewise.
6528 * libgnat/a-cgaaso.ads: Likewise.
6529 * libgnat/a-cgarso.adb: Likewise.
6530 * libgnat/a-cgcaso.adb: Likewise.
6531 * libgnat/a-chacon.adb: Likewise.
6532 * libgnat/a-chacon.ads: Likewise.
6533 * libgnat/a-chahan.adb: Likewise.
6534 * libgnat/a-chahan.ads: Likewise.
6535 * libgnat/a-chlat9.ads: Likewise.
6536 * libgnat/a-chtgbk.adb: Likewise.
6537 * libgnat/a-chtgbk.ads: Likewise.
6538 * libgnat/a-chtgbo.adb: Likewise.
6539 * libgnat/a-chtgbo.ads: Likewise.
6540 * libgnat/a-chtgke.adb: Likewise.
6541 * libgnat/a-chtgke.ads: Likewise.
6542 * libgnat/a-chtgop.adb: Likewise.
6543 * libgnat/a-chtgop.ads: Likewise.
6544 * libgnat/a-chzla1.ads: Likewise.
6545 * libgnat/a-chzla9.ads: Likewise.
6546 * libgnat/a-cidlli.adb: Likewise.
6547 * libgnat/a-cidlli.ads: Likewise.
6548 * libgnat/a-cihama.adb: Likewise.
6549 * libgnat/a-cihama.ads: Likewise.
6550 * libgnat/a-cihase.adb: Likewise.
6551 * libgnat/a-cihase.ads: Likewise.
6552 * libgnat/a-cimutr.adb: Likewise.
6553 * libgnat/a-cimutr.ads: Likewise.
6554 * libgnat/a-ciorma.adb: Likewise.
6555 * libgnat/a-ciorma.ads: Likewise.
6556 * libgnat/a-ciormu.adb: Likewise.
6557 * libgnat/a-ciormu.ads: Likewise.
6558 * libgnat/a-ciorse.adb: Likewise.
6559 * libgnat/a-ciorse.ads: Likewise.
6560 * libgnat/a-clrefi.adb: Likewise.
6561 * libgnat/a-clrefi.ads: Likewise.
6562 * libgnat/a-coboho.adb: Likewise.
6563 * libgnat/a-coboho.ads: Likewise.
6564 * libgnat/a-cobove.adb: Likewise.
6565 * libgnat/a-cobove.ads: Likewise.
6566 * libgnat/a-cofove.adb: Likewise.
6567 * libgnat/a-cofove.ads: Likewise.
6568 * libgnat/a-cofuba.adb: Likewise.
6569 * libgnat/a-cofuba.ads: Likewise.
6570 * libgnat/a-cofuma.adb: Likewise.
6571 * libgnat/a-cofuma.ads: Likewise.
6572 * libgnat/a-cofuse.adb: Likewise.
6573 * libgnat/a-cofuse.ads: Likewise.
6574 * libgnat/a-cofuve.adb: Likewise.
6575 * libgnat/a-cofuve.ads: Likewise.
6576 * libgnat/a-cogeso.adb: Likewise.
6577 * libgnat/a-cogeso.ads: Likewise.
6578 * libgnat/a-cohama.adb: Likewise.
6579 * libgnat/a-cohama.ads: Likewise.
6580 * libgnat/a-cohase.adb: Likewise.
6581 * libgnat/a-cohase.ads: Likewise.
6582 * libgnat/a-cohata.ads: Likewise.
6583 * libgnat/a-coinho.adb: Likewise.
6584 * libgnat/a-coinho.ads: Likewise.
6585 * libgnat/a-coinho__shared.adb: Likewise.
6586 * libgnat/a-coinho__shared.ads: Likewise.
6587 * libgnat/a-coinve.adb: Likewise.
6588 * libgnat/a-coinve.ads: Likewise.
6589 * libgnat/a-colien.adb: Likewise.
6590 * libgnat/a-colien.ads: Likewise.
6591 * libgnat/a-colire.adb: Likewise.
6592 * libgnat/a-colire.ads: Likewise.
6593 * libgnat/a-comlin.adb: Likewise.
6594 * libgnat/a-comlin.ads: Likewise.
6595 * libgnat/a-comutr.adb: Likewise.
6596 * libgnat/a-comutr.ads: Likewise.
6597 * libgnat/a-conhel.adb: Likewise.
6598 * libgnat/a-conhel.ads: Likewise.
6599 * libgnat/a-convec.adb: Likewise.
6600 * libgnat/a-convec.ads: Likewise.
6601 * libgnat/a-coorma.adb: Likewise.
6602 * libgnat/a-coorma.ads: Likewise.
6603 * libgnat/a-coormu.adb: Likewise.
6604 * libgnat/a-coormu.ads: Likewise.
6605 * libgnat/a-coorse.adb: Likewise.
6606 * libgnat/a-coorse.ads: Likewise.
6607 * libgnat/a-coprnu.adb: Likewise.
6608 * libgnat/a-coprnu.ads: Likewise.
6609 * libgnat/a-crbltr.ads: Likewise.
6610 * libgnat/a-crbtgk.adb: Likewise.
6611 * libgnat/a-crbtgk.ads: Likewise.
6612 * libgnat/a-crbtgo.adb: Likewise.
6613 * libgnat/a-crbtgo.ads: Likewise.
6614 * libgnat/a-crdlli.adb: Likewise.
6615 * libgnat/a-crdlli.ads: Likewise.
6616 * libgnat/a-csquin.ads: Likewise.
6617 * libgnat/a-cuprqu.adb: Likewise.
6618 * libgnat/a-cuprqu.ads: Likewise.
6619 * libgnat/a-cusyqu.adb: Likewise.
6620 * libgnat/a-cusyqu.ads: Likewise.
6621 * libgnat/a-cwila1.ads: Likewise.
6622 * libgnat/a-cwila9.ads: Likewise.
6623 * libgnat/a-decima.adb: Likewise.
6624 * libgnat/a-decima.ads: Likewise.
6625 * libgnat/a-decima__128.ads: Likewise.
6626 * libgnat/a-dhfina.adb: Likewise.
6627 * libgnat/a-dhfina.ads: Likewise.
6628 * libgnat/a-diocst.adb: Likewise.
6629 * libgnat/a-diocst.ads: Likewise.
6630 * libgnat/a-direct.adb: Likewise.
6631 * libgnat/a-direct.ads: Likewise.
6632 * libgnat/a-direio.adb: Likewise.
6633 * libgnat/a-direio.ads: Likewise.
6634 * libgnat/a-dirval.adb: Likewise.
6635 * libgnat/a-dirval.ads: Likewise.
6636 * libgnat/a-dirval__mingw.adb: Likewise.
6637 * libgnat/a-einuoc.adb: Likewise.
6638 * libgnat/a-einuoc.ads: Likewise.
6639 * libgnat/a-elchha.adb: Likewise.
6640 * libgnat/a-elchha.ads: Likewise.
6641 * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
6642 * libgnat/a-envvar.adb: Likewise.
6643 * libgnat/a-excach.adb: Likewise.
6644 * libgnat/a-except.adb: Likewise.
6645 * libgnat/a-except.ads: Likewise.
6646 * libgnat/a-exctra.adb: Likewise.
6647 * libgnat/a-exctra.ads: Likewise.
6648 * libgnat/a-exexda.adb: Likewise.
6649 * libgnat/a-exexpr.adb: Likewise.
6650 * libgnat/a-exextr.adb: Likewise.
6651 * libgnat/a-exstat.adb: Likewise.
6652 * libgnat/a-finali.adb: Likewise.
6653 * libgnat/a-finali.ads: Likewise.
6654 * libgnat/a-locale.adb: Likewise.
6655 * libgnat/a-locale.ads: Likewise.
6656 * libgnat/a-nagefl.ads: Likewise.
6657 * libgnat/a-naliop.ads: Likewise.
6658 * libgnat/a-naliop__nolibm.ads: Likewise.
6659 * libgnat/a-nallfl.ads: Likewise.
6660 * libgnat/a-nallfl__wraplf.ads: Likewise.
6661 * libgnat/a-nalofl.ads: Likewise.
6662 * libgnat/a-nashfl.ads: Likewise.
6663 * libgnat/a-nashfl__wraplf.ads: Likewise.
6664 * libgnat/a-nbnbin.adb: Likewise.
6665 * libgnat/a-nbnbin__gmp.adb: Likewise.
6666 * libgnat/a-nbnbre.adb: Likewise.
6667 * libgnat/a-ngcefu.adb: Likewise.
6668 * libgnat/a-ngcoar.adb: Likewise.
6669 * libgnat/a-ngcoty.adb: Likewise.
6670 * libgnat/a-ngcoty.ads: Likewise.
6671 * libgnat/a-ngelfu.adb: Likewise.
6672 * libgnat/a-ngelfu.ads: Likewise.
6673 * libgnat/a-ngrear.adb: Likewise.
6674 * libgnat/a-ngrear.ads: Likewise.
6675 * libgnat/a-nuauco.ads: Likewise.
6676 * libgnat/a-nuauco__x86.ads: Likewise.
6677 * libgnat/a-nuaufl.ads: Likewise.
6678 * libgnat/a-nuaufl__wraplf.ads: Likewise.
6679 * libgnat/a-nudira.adb: Likewise.
6680 * libgnat/a-nudira.ads: Likewise.
6681 * libgnat/a-nuflra.adb: Likewise.
6682 * libgnat/a-nuflra.ads: Likewise.
6683 * libgnat/a-numaux.ads: Likewise.
6684 * libgnat/a-rbtgbk.adb: Likewise.
6685 * libgnat/a-rbtgbk.ads: Likewise.
6686 * libgnat/a-rbtgbo.adb: Likewise.
6687 * libgnat/a-rbtgbo.ads: Likewise.
6688 * libgnat/a-rbtgso.adb: Likewise.
6689 * libgnat/a-rbtgso.ads: Likewise.
6690 * libgnat/a-sbecin.adb: Likewise.
6691 * libgnat/a-sbecin.ads: Likewise.
6692 * libgnat/a-sbhcin.adb: Likewise.
6693 * libgnat/a-sbhcin.ads: Likewise.
6694 * libgnat/a-sblcin.adb: Likewise.
6695 * libgnat/a-sblcin.ads: Likewise.
6696 * libgnat/a-secain.adb: Likewise.
6697 * libgnat/a-secain.ads: Likewise.
6698 * libgnat/a-sequio.adb: Likewise.
6699 * libgnat/a-sequio.ads: Likewise.
6700 * libgnat/a-sfecin.ads: Likewise.
6701 * libgnat/a-sfhcin.ads: Likewise.
6702 * libgnat/a-sflcin.ads: Likewise.
6703 * libgnat/a-shcain.adb: Likewise.
6704 * libgnat/a-shcain.ads: Likewise.
6705 * libgnat/a-siocst.adb: Likewise.
6706 * libgnat/a-siocst.ads: Likewise.
6707 * libgnat/a-slcain.adb: Likewise.
6708 * libgnat/a-slcain.ads: Likewise.
6709 * libgnat/a-ssicst.adb: Likewise.
6710 * libgnat/a-ssicst.ads: Likewise.
6711 * libgnat/a-stboha.adb: Likewise.
6712 * libgnat/a-stmaco.ads: Likewise.
6713 * libgnat/a-stobbu.adb: Likewise.
6714 * libgnat/a-stobbu.ads: Likewise.
6715 * libgnat/a-stobfi.adb: Likewise.
6716 * libgnat/a-stobfi.ads: Likewise.
6717 * libgnat/a-storio.adb: Likewise.
6718 * libgnat/a-stoubu.adb: Likewise.
6719 * libgnat/a-stoubu.ads: Likewise.
6720 * libgnat/a-stoufi.adb: Likewise.
6721 * libgnat/a-stoufi.ads: Likewise.
6722 * libgnat/a-stoufo.adb: Likewise.
6723 * libgnat/a-stoufo.ads: Likewise.
6724 * libgnat/a-stouut.adb: Likewise.
6725 * libgnat/a-stouut.ads: Likewise.
6726 * libgnat/a-strbou.adb: Likewise.
6727 * libgnat/a-strbou.ads: Likewise.
6728 * libgnat/a-stream.adb: Likewise.
6729 * libgnat/a-stream.ads: Likewise.
6730 * libgnat/a-strfix.adb: Likewise.
6731 * libgnat/a-strhas.adb: Likewise.
6732 * libgnat/a-strmap.adb: Likewise.
6733 * libgnat/a-strmap.ads: Likewise.
6734 * libgnat/a-strsea.adb: Likewise.
6735 * libgnat/a-strsea.ads: Likewise.
6736 * libgnat/a-strsto.ads: Likewise.
6737 * libgnat/a-strsup.adb: Likewise.
6738 * libgnat/a-strsup.ads: Likewise.
6739 * libgnat/a-strunb.adb: Likewise.
6740 * libgnat/a-strunb.ads: Likewise.
6741 * libgnat/a-strunb__shared.adb: Likewise.
6742 * libgnat/a-strunb__shared.ads: Likewise.
6743 * libgnat/a-ststbo.adb: Likewise.
6744 * libgnat/a-ststbo.ads: Likewise.
6745 * libgnat/a-ststio.adb: Likewise.
6746 * libgnat/a-ststio.ads: Likewise.
6747 * libgnat/a-ststun.adb: Likewise.
6748 * libgnat/a-ststun.ads: Likewise.
6749 * libgnat/a-stteou.ads: Likewise.
6750 * libgnat/a-stunau.adb: Likewise.
6751 * libgnat/a-stunau.ads: Likewise.
6752 * libgnat/a-stunau__shared.adb: Likewise.
6753 * libgnat/a-stunha.adb: Likewise.
6754 * libgnat/a-stuten.adb: Likewise.
6755 * libgnat/a-stwibo.adb: Likewise.
6756 * libgnat/a-stwibo.ads: Likewise.
6757 * libgnat/a-stwifi.adb: Likewise.
6758 * libgnat/a-stwiha.adb: Likewise.
6759 * libgnat/a-stwima.adb: Likewise.
6760 * libgnat/a-stwima.ads: Likewise.
6761 * libgnat/a-stwise.adb: Likewise.
6762 * libgnat/a-stwise.ads: Likewise.
6763 * libgnat/a-stwisu.adb: Likewise.
6764 * libgnat/a-stwisu.ads: Likewise.
6765 * libgnat/a-stwiun.adb: Likewise.
6766 * libgnat/a-stwiun.ads: Likewise.
6767 * libgnat/a-stwiun__shared.adb: Likewise.
6768 * libgnat/a-stwiun__shared.ads: Likewise.
6769 * libgnat/a-stzbou.adb: Likewise.
6770 * libgnat/a-stzbou.ads: Likewise.
6771 * libgnat/a-stzfix.adb: Likewise.
6772 * libgnat/a-stzhas.adb: Likewise.
6773 * libgnat/a-stzmap.adb: Likewise.
6774 * libgnat/a-stzmap.ads: Likewise.
6775 * libgnat/a-stzsea.adb: Likewise.
6776 * libgnat/a-stzsea.ads: Likewise.
6777 * libgnat/a-stzsup.adb: Likewise.
6778 * libgnat/a-stzsup.ads: Likewise.
6779 * libgnat/a-stzunb.adb: Likewise.
6780 * libgnat/a-stzunb.ads: Likewise.
6781 * libgnat/a-stzunb__shared.adb: Likewise.
6782 * libgnat/a-stzunb__shared.ads: Likewise.
6783 * libgnat/a-suecin.adb: Likewise.
6784 * libgnat/a-suecin.ads: Likewise.
6785 * libgnat/a-suenco.adb: Likewise.
6786 * libgnat/a-suenst.adb: Likewise.
6787 * libgnat/a-suewst.adb: Likewise.
6788 * libgnat/a-suezst.adb: Likewise.
6789 * libgnat/a-suhcin.adb: Likewise.
6790 * libgnat/a-suhcin.ads: Likewise.
6791 * libgnat/a-sulcin.adb: Likewise.
6792 * libgnat/a-sulcin.ads: Likewise.
6793 * libgnat/a-suteio.adb: Likewise.
6794 * libgnat/a-suteio.ads: Likewise.
6795 * libgnat/a-suteio__shared.adb: Likewise.
6796 * libgnat/a-swbwha.adb: Likewise.
6797 * libgnat/a-swmwco.ads: Likewise.
6798 * libgnat/a-swunau.adb: Likewise.
6799 * libgnat/a-swunau.ads: Likewise.
6800 * libgnat/a-swunau__shared.adb: Likewise.
6801 * libgnat/a-swuwha.adb: Likewise.
6802 * libgnat/a-swuwti.adb: Likewise.
6803 * libgnat/a-swuwti.ads: Likewise.
6804 * libgnat/a-swuwti__shared.adb: Likewise.
6805 * libgnat/a-szbzha.adb: Likewise.
6806 * libgnat/a-szmzco.ads: Likewise.
6807 * libgnat/a-szunau.adb: Likewise.
6808 * libgnat/a-szunau.ads: Likewise.
6809 * libgnat/a-szunau__shared.adb: Likewise.
6810 * libgnat/a-szuzha.adb: Likewise.
6811 * libgnat/a-szuzti.adb: Likewise.
6812 * libgnat/a-szuzti.ads: Likewise.
6813 * libgnat/a-szuzti__shared.adb: Likewise.
6814 * libgnat/a-tags.adb: Likewise.
6815 * libgnat/a-tags.ads: Likewise.
6816 * libgnat/a-teioed.adb: Likewise.
6817 * libgnat/a-teioed.ads: Likewise.
6818 * libgnat/a-textio.adb: Likewise.
6819 * libgnat/a-textio.ads: Likewise.
6820 * libgnat/a-tiboio.adb: Likewise.
6821 * libgnat/a-ticoau.adb: Likewise.
6822 * libgnat/a-ticoau.ads: Likewise.
6823 * libgnat/a-ticoio.adb: Likewise.
6824 * libgnat/a-ticoio.ads: Likewise.
6825 * libgnat/a-tideau.adb: Likewise.
6826 * libgnat/a-tideau.ads: Likewise.
6827 * libgnat/a-tideio.adb: Likewise.
6828 * libgnat/a-tideio.ads: Likewise.
6829 * libgnat/a-tideio__128.adb: Likewise.
6830 * libgnat/a-tienau.adb: Likewise.
6831 * libgnat/a-tienau.ads: Likewise.
6832 * libgnat/a-tienio.adb: Likewise.
6833 * libgnat/a-tifiau.adb: Likewise.
6834 * libgnat/a-tifiau.ads: Likewise.
6835 * libgnat/a-tifiio.adb: Likewise.
6836 * libgnat/a-tifiio__128.adb: Likewise.
6837 * libgnat/a-tiflau.adb: Likewise.
6838 * libgnat/a-tiflau.ads: Likewise.
6839 * libgnat/a-tiflio.adb: Likewise.
6840 * libgnat/a-tiflio.ads: Likewise.
6841 * libgnat/a-tigeau.adb: Likewise.
6842 * libgnat/a-tigeau.ads: Likewise.
6843 * libgnat/a-tigeli.adb: Likewise.
6844 * libgnat/a-tiinau.adb: Likewise.
6845 * libgnat/a-tiinau.ads: Likewise.
6846 * libgnat/a-tiinio.adb: Likewise.
6847 * libgnat/a-tiinio.ads: Likewise.
6848 * libgnat/a-tiinio__128.adb: Likewise.
6849 * libgnat/a-timoio.adb: Likewise.
6850 * libgnat/a-timoio.ads: Likewise.
6851 * libgnat/a-timoio__128.adb: Likewise.
6852 * libgnat/a-tiocst.adb: Likewise.
6853 * libgnat/a-tiocst.ads: Likewise.
6854 * libgnat/a-tirsfi.adb: Likewise.
6855 * libgnat/a-tirsfi.ads: Likewise.
6856 * libgnat/a-titest.adb: Likewise.
6857 * libgnat/a-undesu.adb: Likewise.
6858 * libgnat/a-wichha.adb: Likewise.
6859 * libgnat/a-wichun.adb: Likewise.
6860 * libgnat/a-wichun.ads: Likewise.
6861 * libgnat/a-witeio.adb: Likewise.
6862 * libgnat/a-witeio.ads: Likewise.
6863 * libgnat/a-wrstfi.adb: Likewise.
6864 * libgnat/a-wrstfi.ads: Likewise.
6865 * libgnat/a-wtcoau.adb: Likewise.
6866 * libgnat/a-wtcoau.ads: Likewise.
6867 * libgnat/a-wtcoio.adb: Likewise.
6868 * libgnat/a-wtcstr.adb: Likewise.
6869 * libgnat/a-wtcstr.ads: Likewise.
6870 * libgnat/a-wtdeau.adb: Likewise.
6871 * libgnat/a-wtdeau.ads: Likewise.
6872 * libgnat/a-wtdeio.adb: Likewise.
6873 * libgnat/a-wtdeio__128.adb: Likewise.
6874 * libgnat/a-wtedit.adb: Likewise.
6875 * libgnat/a-wtedit.ads: Likewise.
6876 * libgnat/a-wtenau.adb: Likewise.
6877 * libgnat/a-wtenau.ads: Likewise.
6878 * libgnat/a-wtenio.adb: Likewise.
6879 * libgnat/a-wtfiau.adb: Likewise.
6880 * libgnat/a-wtfiau.ads: Likewise.
6881 * libgnat/a-wtfiio.adb: Likewise.
6882 * libgnat/a-wtfiio__128.adb: Likewise.
6883 * libgnat/a-wtflau.adb: Likewise.
6884 * libgnat/a-wtflau.ads: Likewise.
6885 * libgnat/a-wtflio.adb: Likewise.
6886 * libgnat/a-wtgeau.adb: Likewise.
6887 * libgnat/a-wtgeau.ads: Likewise.
6888 * libgnat/a-wtinau.adb: Likewise.
6889 * libgnat/a-wtinau.ads: Likewise.
6890 * libgnat/a-wtinio.adb: Likewise.
6891 * libgnat/a-wtinio__128.adb: Likewise.
6892 * libgnat/a-wtmoio.adb: Likewise.
6893 * libgnat/a-wtmoio.ads: Likewise.
6894 * libgnat/a-wtmoio__128.adb: Likewise.
6895 * libgnat/a-wttest.adb: Likewise.
6896 * libgnat/a-wwboio.adb: Likewise.
6897 * libgnat/a-zchhan.adb: Likewise.
6898 * libgnat/a-zchuni.adb: Likewise.
6899 * libgnat/a-zchuni.ads: Likewise.
6900 * libgnat/a-zrstfi.adb: Likewise.
6901 * libgnat/a-zrstfi.ads: Likewise.
6902 * libgnat/a-ztcoau.adb: Likewise.
6903 * libgnat/a-ztcoio.adb: Likewise.
6904 * libgnat/a-ztcstr.adb: Likewise.
6905 * libgnat/a-ztcstr.ads: Likewise.
6906 * libgnat/a-ztdeau.adb: Likewise.
6907 * libgnat/a-ztdeau.ads: Likewise.
6908 * libgnat/a-ztdeio.adb: Likewise.
6909 * libgnat/a-ztdeio__128.adb: Likewise.
6910 * libgnat/a-ztedit.adb: Likewise.
6911 * libgnat/a-ztedit.ads: Likewise.
6912 * libgnat/a-ztenau.adb: Likewise.
6913 * libgnat/a-ztenau.ads: Likewise.
6914 * libgnat/a-ztenio.adb: Likewise.
6915 * libgnat/a-ztexio.adb: Likewise.
6916 * libgnat/a-ztexio.ads: Likewise.
6917 * libgnat/a-ztfiau.adb: Likewise.
6918 * libgnat/a-ztfiau.ads: Likewise.
6919 * libgnat/a-ztfiio.adb: Likewise.
6920 * libgnat/a-ztfiio__128.adb: Likewise.
6921 * libgnat/a-ztflau.adb: Likewise.
6922 * libgnat/a-ztflau.ads: Likewise.
6923 * libgnat/a-ztflio.adb: Likewise.
6924 * libgnat/a-ztgeau.adb: Likewise.
6925 * libgnat/a-ztgeau.ads: Likewise.
6926 * libgnat/a-ztinau.adb: Likewise.
6927 * libgnat/a-ztinau.ads: Likewise.
6928 * libgnat/a-ztinio.adb: Likewise.
6929 * libgnat/a-ztinio__128.adb: Likewise.
6930 * libgnat/a-ztmoio.adb: Likewise.
6931 * libgnat/a-ztmoio__128.adb: Likewise.
6932 * libgnat/a-zttest.adb: Likewise.
6933 * libgnat/a-zzboio.adb: Likewise.
6934 * libgnat/g-allein.ads: Likewise.
6935 * libgnat/g-alleve.adb: Likewise.
6936 * libgnat/g-alleve.ads: Likewise.
6937 * libgnat/g-alleve__hard.adb: Likewise.
6938 * libgnat/g-alleve__hard.ads: Likewise.
6939 * libgnat/g-altcon.adb: Likewise.
6940 * libgnat/g-altcon.ads: Likewise.
6941 * libgnat/g-altive.ads: Likewise.
6942 * libgnat/g-alveop.adb: Likewise.
6943 * libgnat/g-alveop.ads: Likewise.
6944 * libgnat/g-alvety.ads: Likewise.
6945 * libgnat/g-alvevi.ads: Likewise.
6946 * libgnat/g-arrspl.adb: Likewise.
6947 * libgnat/g-arrspl.ads: Likewise.
6948 * libgnat/g-awk.adb: Likewise.
6949 * libgnat/g-awk.ads: Likewise.
6950 * libgnat/g-binenv.adb: Likewise.
6951 * libgnat/g-binenv.ads: Likewise.
6952 * libgnat/g-brapre.ads: Likewise.
6953 * libgnat/g-bubsor.adb: Likewise.
6954 * libgnat/g-bubsor.ads: Likewise.
6955 * libgnat/g-busora.adb: Likewise.
6956 * libgnat/g-busora.ads: Likewise.
6957 * libgnat/g-busorg.adb: Likewise.
6958 * libgnat/g-busorg.ads: Likewise.
6959 * libgnat/g-byorma.adb: Likewise.
6960 * libgnat/g-byorma.ads: Likewise.
6961 * libgnat/g-bytswa.adb: Likewise.
6962 * libgnat/g-bytswa.ads: Likewise.
6963 * libgnat/g-calend.adb: Likewise.
6964 * libgnat/g-calend.ads: Likewise.
6965 * libgnat/g-casuti.adb: Likewise.
6966 * libgnat/g-casuti.ads: Likewise.
6967 * libgnat/g-catiio.adb: Likewise.
6968 * libgnat/g-catiio.ads: Likewise.
6969 * libgnat/g-cgi.adb: Likewise.
6970 * libgnat/g-cgi.ads: Likewise.
6971 * libgnat/g-cgicoo.adb: Likewise.
6972 * libgnat/g-cgicoo.ads: Likewise.
6973 * libgnat/g-cgideb.adb: Likewise.
6974 * libgnat/g-cgideb.ads: Likewise.
6975 * libgnat/g-comlin.adb: Likewise.
6976 * libgnat/g-comlin.ads: Likewise.
6977 * libgnat/g-comver.adb: Likewise.
6978 * libgnat/g-comver.ads: Likewise.
6979 * libgnat/g-cppexc.adb: Likewise.
6980 * libgnat/g-cppexc.ads: Likewise.
6981 * libgnat/g-crc32.adb: Likewise.
6982 * libgnat/g-crc32.ads: Likewise.
6983 * libgnat/g-ctrl_c.adb: Likewise.
6984 * libgnat/g-ctrl_c.ads: Likewise.
6985 * libgnat/g-curexc.ads: Likewise.
6986 * libgnat/g-debpoo.adb: Likewise.
6987 * libgnat/g-debpoo.ads: Likewise.
6988 * libgnat/g-debuti.adb: Likewise.
6989 * libgnat/g-debuti.ads: Likewise.
6990 * libgnat/g-decstr.adb: Likewise.
6991 * libgnat/g-decstr.ads: Likewise.
6992 * libgnat/g-deutst.ads: Likewise.
6993 * libgnat/g-diopit.adb: Likewise.
6994 * libgnat/g-diopit.ads: Likewise.
6995 * libgnat/g-dirope.adb: Likewise.
6996 * libgnat/g-dirope.ads: Likewise.
6997 * libgnat/g-dynhta.adb: Likewise.
6998 * libgnat/g-dynhta.ads: Likewise.
6999 * libgnat/g-dyntab.adb: Likewise.
7000 * libgnat/g-dyntab.ads: Likewise.
7001 * libgnat/g-eacodu.adb: Likewise.
7002 * libgnat/g-encstr.adb: Likewise.
7003 * libgnat/g-encstr.ads: Likewise.
7004 * libgnat/g-enutst.ads: Likewise.
7005 * libgnat/g-excact.adb: Likewise.
7006 * libgnat/g-excact.ads: Likewise.
7007 * libgnat/g-except.ads: Likewise.
7008 * libgnat/g-exctra.adb: Likewise.
7009 * libgnat/g-exctra.ads: Likewise.
7010 * libgnat/g-expect.adb: Likewise.
7011 * libgnat/g-expect.ads: Likewise.
7012 * libgnat/g-exptty.adb: Likewise.
7013 * libgnat/g-exptty.ads: Likewise.
7014 * libgnat/g-flocon.ads: Likewise.
7015 * libgnat/g-forstr.adb: Likewise.
7016 * libgnat/g-forstr.ads: Likewise.
7017 * libgnat/g-graphs.adb: Likewise.
7018 * libgnat/g-graphs.ads: Likewise.
7019 * libgnat/g-heasor.adb: Likewise.
7020 * libgnat/g-heasor.ads: Likewise.
7021 * libgnat/g-hesora.adb: Likewise.
7022 * libgnat/g-hesora.ads: Likewise.
7023 * libgnat/g-hesorg.adb: Likewise.
7024 * libgnat/g-hesorg.ads: Likewise.
7025 * libgnat/g-htable.adb: Likewise.
7026 * libgnat/g-htable.ads: Likewise.
7027 * libgnat/g-io-put__vxworks.adb: Likewise.
7028 * libgnat/g-io.adb: Likewise.
7029 * libgnat/g-io.ads: Likewise.
7030 * libgnat/g-io_aux.adb: Likewise.
7031 * libgnat/g-io_aux.ads: Likewise.
7032 * libgnat/g-lists.adb: Likewise.
7033 * libgnat/g-lists.ads: Likewise.
7034 * libgnat/g-locfil.adb: Likewise.
7035 * libgnat/g-locfil.ads: Likewise.
7036 * libgnat/g-mbdira.adb: Likewise.
7037 * libgnat/g-mbdira.ads: Likewise.
7038 * libgnat/g-mbflra.adb: Likewise.
7039 * libgnat/g-mbflra.ads: Likewise.
7040 * libgnat/g-md5.adb: Likewise.
7041 * libgnat/g-md5.ads: Likewise.
7042 * libgnat/g-memdum.adb: Likewise.
7043 * libgnat/g-memdum.ads: Likewise.
7044 * libgnat/g-moreex.adb: Likewise.
7045 * libgnat/g-moreex.ads: Likewise.
7046 * libgnat/g-os_lib.adb: Likewise.
7047 * libgnat/g-os_lib.ads: Likewise.
7048 * libgnat/g-pehage.adb: Likewise.
7049 * libgnat/g-pehage.ads: Likewise.
7050 * libgnat/g-rannum.adb: Likewise.
7051 * libgnat/g-rannum.ads: Likewise.
7052 * libgnat/g-regexp.adb: Likewise.
7053 * libgnat/g-regexp.ads: Likewise.
7054 * libgnat/g-regist.adb: Likewise.
7055 * libgnat/g-regist.ads: Likewise.
7056 * libgnat/g-regpat.adb: Likewise.
7057 * libgnat/g-regpat.ads: Likewise.
7058 * libgnat/g-rewdat.adb: Likewise.
7059 * libgnat/g-rewdat.ads: Likewise.
7060 * libgnat/g-sechas.adb: Likewise.
7061 * libgnat/g-sechas.ads: Likewise.
7062 * libgnat/g-sehamd.adb: Likewise.
7063 * libgnat/g-sehamd.ads: Likewise.
7064 * libgnat/g-sehash.adb: Likewise.
7065 * libgnat/g-sehash.ads: Likewise.
7066 * libgnat/g-sercom.adb: Likewise.
7067 * libgnat/g-sercom.ads: Likewise.
7068 * libgnat/g-sercom__linux.adb: Likewise.
7069 * libgnat/g-sercom__mingw.adb: Likewise.
7070 * libgnat/g-sestin.ads: Likewise.
7071 * libgnat/g-sets.adb: Likewise.
7072 * libgnat/g-sets.ads: Likewise.
7073 * libgnat/g-sha1.adb: Likewise.
7074 * libgnat/g-sha1.ads: Likewise.
7075 * libgnat/g-sha224.ads: Likewise.
7076 * libgnat/g-sha256.ads: Likewise.
7077 * libgnat/g-sha384.ads: Likewise.
7078 * libgnat/g-sha512.ads: Likewise.
7079 * libgnat/g-shsh32.adb: Likewise.
7080 * libgnat/g-shsh32.ads: Likewise.
7081 * libgnat/g-shsh64.adb: Likewise.
7082 * libgnat/g-shsh64.ads: Likewise.
7083 * libgnat/g-shshco.adb: Likewise.
7084 * libgnat/g-shshco.ads: Likewise.
7085 * libgnat/g-soccon.ads: Likewise.
7086 * libgnat/g-socket.adb: Likewise.
7087 * libgnat/g-socket.ads: Likewise.
7088 * libgnat/g-socket__dummy.adb: Likewise.
7089 * libgnat/g-socket__dummy.ads: Likewise.
7090 * libgnat/g-socpol.adb: Likewise.
7091 * libgnat/g-socpol.ads: Likewise.
7092 * libgnat/g-socpol__dummy.adb: Likewise.
7093 * libgnat/g-socpol__dummy.ads: Likewise.
7094 * libgnat/g-socthi.adb: Likewise.
7095 * libgnat/g-socthi.ads: Likewise.
7096 * libgnat/g-socthi__dummy.adb: Likewise.
7097 * libgnat/g-socthi__dummy.ads: Likewise.
7098 * libgnat/g-socthi__mingw.adb: Likewise.
7099 * libgnat/g-socthi__mingw.ads: Likewise.
7100 * libgnat/g-socthi__vxworks.adb: Likewise.
7101 * libgnat/g-socthi__vxworks.ads: Likewise.
7102 * libgnat/g-soliop.ads: Likewise.
7103 * libgnat/g-soliop__lynxos.ads: Likewise.
7104 * libgnat/g-soliop__mingw.ads: Likewise.
7105 * libgnat/g-soliop__qnx.ads: Likewise.
7106 * libgnat/g-soliop__solaris.ads: Likewise.
7107 * libgnat/g-sopowa.adb: Likewise.
7108 * libgnat/g-sopowa__mingw.adb: Likewise.
7109 * libgnat/g-sopowa__posix.adb: Likewise.
7110 * libgnat/g-sothco.adb: Likewise.
7111 * libgnat/g-sothco.ads: Likewise.
7112 * libgnat/g-sothco__dummy.adb: Likewise.
7113 * libgnat/g-sothco__dummy.ads: Likewise.
7114 * libgnat/g-souinf.ads: Likewise.
7115 * libgnat/g-spchge.adb: Likewise.
7116 * libgnat/g-spchge.ads: Likewise.
7117 * libgnat/g-speche.adb: Likewise.
7118 * libgnat/g-speche.ads: Likewise.
7119 * libgnat/g-spipat.adb: Likewise.
7120 * libgnat/g-spipat.ads: Likewise.
7121 * libgnat/g-spitbo.adb: Likewise.
7122 * libgnat/g-spitbo.ads: Likewise.
7123 * libgnat/g-spogwa.adb: Likewise.
7124 * libgnat/g-spogwa.ads: Likewise.
7125 * libgnat/g-sptabo.ads: Likewise.
7126 * libgnat/g-sptain.ads: Likewise.
7127 * libgnat/g-sptavs.ads: Likewise.
7128 * libgnat/g-sse.ads: Likewise.
7129 * libgnat/g-ssvety.ads: Likewise.
7130 * libgnat/g-sthcso.adb: Likewise.
7131 * libgnat/g-stheme.adb: Likewise.
7132 * libgnat/g-strhas.ads: Likewise.
7133 * libgnat/g-string.adb: Likewise.
7134 * libgnat/g-string.ads: Likewise.
7135 * libgnat/g-strspl.ads: Likewise.
7136 * libgnat/g-stseme.adb: Likewise.
7137 * libgnat/g-stsifd__sockets.adb: Likewise.
7138 * libgnat/g-table.adb: Likewise.
7139 * libgnat/g-table.ads: Likewise.
7140 * libgnat/g-tasloc.adb: Likewise.
7141 * libgnat/g-tasloc.ads: Likewise.
7142 * libgnat/g-timsta.adb: Likewise.
7143 * libgnat/g-timsta.ads: Likewise.
7144 * libgnat/g-traceb.adb: Likewise.
7145 * libgnat/g-traceb.ads: Likewise.
7146 * libgnat/g-trasym.adb: Likewise.
7147 * libgnat/g-trasym.ads: Likewise.
7148 * libgnat/g-tty.adb: Likewise.
7149 * libgnat/g-tty.ads: Likewise.
7150 * libgnat/g-u3spch.adb: Likewise.
7151 * libgnat/g-u3spch.ads: Likewise.
7152 * libgnat/g-utf_32.adb: Likewise.
7153 * libgnat/g-utf_32.ads: Likewise.
7154 * libgnat/g-wispch.adb: Likewise.
7155 * libgnat/g-wispch.ads: Likewise.
7156 * libgnat/g-wistsp.ads: Likewise.
7157 * libgnat/g-zspche.adb: Likewise.
7158 * libgnat/g-zspche.ads: Likewise.
7159 * libgnat/g-zstspl.ads: Likewise.
7160 * libgnat/gnat.ads: Likewise.
7161 * libgnat/i-c.adb: Likewise.
7162 * libgnat/i-cexten.ads: Likewise.
7163 * libgnat/i-cexten__128.ads: Likewise.
7164 * libgnat/i-cobol.adb: Likewise.
7165 * libgnat/i-cobol.ads: Likewise.
7166 * libgnat/i-cpoint.adb: Likewise.
7167 * libgnat/i-cpoint.ads: Likewise.
7168 * libgnat/i-cstrea.adb: Likewise.
7169 * libgnat/i-cstrea.ads: Likewise.
7170 * libgnat/i-cstrin.adb: Likewise.
7171 * libgnat/i-cstrin.ads: Likewise.
7172 * libgnat/i-fortra.adb: Likewise.
7173 * libgnat/i-pacdec.adb: Likewise.
7174 * libgnat/i-pacdec.ads: Likewise.
7175 * libgnat/i-vxwoio.adb: Likewise.
7176 * libgnat/i-vxwoio.ads: Likewise.
7177 * libgnat/i-vxwork.ads: Likewise.
7178 * libgnat/i-vxwork__x86.ads: Likewise.
7179 * libgnat/interfac.ads: Likewise.
7180 * libgnat/interfac__2020.ads: Likewise.
7181 * libgnat/memtrack.adb: Likewise.
7182 * libgnat/s-addima.adb: Likewise.
7183 * libgnat/s-addima.ads: Likewise.
7184 * libgnat/s-addope.adb: Likewise.
7185 * libgnat/s-addope.ads: Likewise.
7186 * libgnat/s-aoinar.adb: Likewise.
7187 * libgnat/s-aoinar.ads: Likewise.
7188 * libgnat/s-aomoar.adb: Likewise.
7189 * libgnat/s-aomoar.ads: Likewise.
7190 * libgnat/s-aotase.adb: Likewise.
7191 * libgnat/s-aotase.ads: Likewise.
7192 * libgnat/s-aridou.adb: Likewise.
7193 * libgnat/s-aridou.ads: Likewise.
7194 * libgnat/s-arit128.adb: Likewise.
7195 * libgnat/s-arit128.ads: Likewise.
7196 * libgnat/s-arit32.adb: Likewise.
7197 * libgnat/s-arit32.ads: Likewise.
7198 * libgnat/s-arit64.adb: Likewise.
7199 * libgnat/s-arit64.ads: Likewise.
7200 * libgnat/s-assert.adb: Likewise.
7201 * libgnat/s-assert.ads: Likewise.
7202 * libgnat/s-atacco.adb: Likewise.
7203 * libgnat/s-atacco.ads: Likewise.
7204 * libgnat/s-atocou.adb: Likewise.
7205 * libgnat/s-atocou.ads: Likewise.
7206 * libgnat/s-atocou__builtin.adb: Likewise.
7207 * libgnat/s-atocou__x86.adb: Likewise.
7208 * libgnat/s-atoope.ads: Likewise.
7209 * libgnat/s-atopex.adb: Likewise.
7210 * libgnat/s-atopex.ads: Likewise.
7211 * libgnat/s-atopri.adb: Likewise.
7212 * libgnat/s-atopri.ads: Likewise.
7213 * libgnat/s-auxdec.adb: Likewise.
7214 * libgnat/s-auxdec.ads: Likewise.
7215 * libgnat/s-bignum.adb: Likewise.
7216 * libgnat/s-bignum.ads: Likewise.
7217 * libgnat/s-bitfie.ads: Likewise.
7218 * libgnat/s-bitops.adb: Likewise.
7219 * libgnat/s-bitops.ads: Likewise.
7220 * libgnat/s-bituti.adb: Likewise.
7221 * libgnat/s-bituti.ads: Likewise.
7222 * libgnat/s-boarop.ads: Likewise.
7223 * libgnat/s-boustr.adb: Likewise.
7224 * libgnat/s-boustr.ads: Likewise.
7225 * libgnat/s-bytswa.ads: Likewise.
7226 * libgnat/s-carsi8.adb: Likewise.
7227 * libgnat/s-carsi8.ads: Likewise.
7228 * libgnat/s-carun8.adb: Likewise.
7229 * libgnat/s-carun8.ads: Likewise.
7230 * libgnat/s-casi128.adb: Likewise.
7231 * libgnat/s-casi128.ads: Likewise.
7232 * libgnat/s-casi16.adb: Likewise.
7233 * libgnat/s-casi16.ads: Likewise.
7234 * libgnat/s-casi32.adb: Likewise.
7235 * libgnat/s-casi32.ads: Likewise.
7236 * libgnat/s-casi64.adb: Likewise.
7237 * libgnat/s-casi64.ads: Likewise.
7238 * libgnat/s-casuti.adb: Likewise.
7239 * libgnat/s-casuti.ads: Likewise.
7240 * libgnat/s-caun128.adb: Likewise.
7241 * libgnat/s-caun128.ads: Likewise.
7242 * libgnat/s-caun16.adb: Likewise.
7243 * libgnat/s-caun16.ads: Likewise.
7244 * libgnat/s-caun32.adb: Likewise.
7245 * libgnat/s-caun32.ads: Likewise.
7246 * libgnat/s-caun64.adb: Likewise.
7247 * libgnat/s-caun64.ads: Likewise.
7248 * libgnat/s-chepoo.ads: Likewise.
7249 * libgnat/s-commun.adb: Likewise.
7250 * libgnat/s-commun.ads: Likewise.
7251 * libgnat/s-conca2.adb: Likewise.
7252 * libgnat/s-conca2.ads: Likewise.
7253 * libgnat/s-conca3.adb: Likewise.
7254 * libgnat/s-conca3.ads: Likewise.
7255 * libgnat/s-conca4.adb: Likewise.
7256 * libgnat/s-conca4.ads: Likewise.
7257 * libgnat/s-conca5.adb: Likewise.
7258 * libgnat/s-conca5.ads: Likewise.
7259 * libgnat/s-conca6.adb: Likewise.
7260 * libgnat/s-conca6.ads: Likewise.
7261 * libgnat/s-conca7.adb: Likewise.
7262 * libgnat/s-conca7.ads: Likewise.
7263 * libgnat/s-conca8.adb: Likewise.
7264 * libgnat/s-conca8.ads: Likewise.
7265 * libgnat/s-conca9.adb: Likewise.
7266 * libgnat/s-conca9.ads: Likewise.
7267 * libgnat/s-crc32.adb: Likewise.
7268 * libgnat/s-crc32.ads: Likewise.
7269 * libgnat/s-crtl.ads: Likewise.
7270 * libgnat/s-dfmkio.ads: Likewise.
7271 * libgnat/s-dfmopr.ads: Likewise.
7272 * libgnat/s-dgmgop.ads: Likewise.
7273 * libgnat/s-diflio.adb: Likewise.
7274 * libgnat/s-diflio.ads: Likewise.
7275 * libgnat/s-diflmk.ads: Likewise.
7276 * libgnat/s-digemk.ads: Likewise.
7277 * libgnat/s-diinio.adb: Likewise.
7278 * libgnat/s-diinio.ads: Likewise.
7279 * libgnat/s-dilomk.ads: Likewise.
7280 * libgnat/s-dim.ads: Likewise.
7281 * libgnat/s-dimkio.ads: Likewise.
7282 * libgnat/s-dimmks.ads: Likewise.
7283 * libgnat/s-direio.adb: Likewise.
7284 * libgnat/s-direio.ads: Likewise.
7285 * libgnat/s-dlmkio.ads: Likewise.
7286 * libgnat/s-dlmopr.ads: Likewise.
7287 * libgnat/s-dmotpr.ads: Likewise.
7288 * libgnat/s-dsaser.ads: Likewise.
7289 * libgnat/s-dwalin.adb: Likewise.
7290 * libgnat/s-dwalin.ads: Likewise.
7291 * libgnat/s-elaall.adb: Likewise.
7292 * libgnat/s-elaall.ads: Likewise.
7293 * libgnat/s-excdeb.adb: Likewise.
7294 * libgnat/s-excdeb.ads: Likewise.
7295 * libgnat/s-except.adb: Likewise.
7296 * libgnat/s-except.ads: Likewise.
7297 * libgnat/s-excmac__arm.adb: Likewise.
7298 * libgnat/s-excmac__arm.ads: Likewise.
7299 * libgnat/s-excmac__gcc.adb: Likewise.
7300 * libgnat/s-excmac__gcc.ads: Likewise.
7301 * libgnat/s-exctab.adb: Likewise.
7302 * libgnat/s-exctab.ads: Likewise.
7303 * libgnat/s-exctra.adb: Likewise.
7304 * libgnat/s-exctra.ads: Likewise.
7305 * libgnat/s-exnint.adb: Likewise.
7306 * libgnat/s-exnint.ads: Likewise.
7307 * libgnat/s-exnllf.adb: Likewise.
7308 * libgnat/s-exnllf.ads: Likewise.
7309 * libgnat/s-exnlli.adb: Likewise.
7310 * libgnat/s-exnlli.ads: Likewise.
7311 * libgnat/s-exnllli.ads: Likewise.
7312 * libgnat/s-expint.adb: Likewise.
7313 * libgnat/s-expint.ads: Likewise.
7314 * libgnat/s-explli.adb: Likewise.
7315 * libgnat/s-explli.ads: Likewise.
7316 * libgnat/s-expllli.ads: Likewise.
7317 * libgnat/s-explllu.ads: Likewise.
7318 * libgnat/s-expllu.adb: Likewise.
7319 * libgnat/s-expllu.ads: Likewise.
7320 * libgnat/s-expmod.adb: Likewise.
7321 * libgnat/s-expmod.ads: Likewise.
7322 * libgnat/s-exponn.adb: Likewise.
7323 * libgnat/s-exponn.ads: Likewise.
7324 * libgnat/s-expont.adb: Likewise.
7325 * libgnat/s-expont.ads: Likewise.
7326 * libgnat/s-exponu.adb: Likewise.
7327 * libgnat/s-exponu.ads: Likewise.
7328 * libgnat/s-expuns.adb: Likewise.
7329 * libgnat/s-expuns.ads: Likewise.
7330 * libgnat/s-fatflt.ads: Likewise.
7331 * libgnat/s-fatgen.adb: Likewise.
7332 * libgnat/s-fatgen.ads: Likewise.
7333 * libgnat/s-fatlfl.ads: Likewise.
7334 * libgnat/s-fatllf.ads: Likewise.
7335 * libgnat/s-ficobl.ads: Likewise.
7336 * libgnat/s-filatt.ads: Likewise.
7337 * libgnat/s-fileio.adb: Likewise.
7338 * libgnat/s-fileio.ads: Likewise.
7339 * libgnat/s-finmas.adb: Likewise.
7340 * libgnat/s-finmas.ads: Likewise.
7341 * libgnat/s-finroo.adb: Likewise.
7342 * libgnat/s-finroo.ads: Likewise.
7343 * libgnat/s-flocon.adb: Likewise.
7344 * libgnat/s-flocon.ads: Likewise.
7345 * libgnat/s-flocon__none.adb: Likewise.
7346 * libgnat/s-fode128.ads: Likewise.
7347 * libgnat/s-fode32.ads: Likewise.
7348 * libgnat/s-fode64.ads: Likewise.
7349 * libgnat/s-fofi128.ads: Likewise.
7350 * libgnat/s-fofi32.ads: Likewise.
7351 * libgnat/s-fofi64.ads: Likewise.
7352 * libgnat/s-fore_d.adb: Likewise.
7353 * libgnat/s-fore_d.ads: Likewise.
7354 * libgnat/s-fore_f.adb: Likewise.
7355 * libgnat/s-fore_f.ads: Likewise.
7356 * libgnat/s-forrea.adb: Likewise.
7357 * libgnat/s-forrea.ads: Likewise.
7358 * libgnat/s-gearop.adb: Likewise.
7359 * libgnat/s-gearop.ads: Likewise.
7360 * libgnat/s-genbig.adb: Likewise.
7361 * libgnat/s-genbig.ads: Likewise.
7362 * libgnat/s-geveop.adb: Likewise.
7363 * libgnat/s-geveop.ads: Likewise.
7364 * libgnat/s-gloloc.adb: Likewise.
7365 * libgnat/s-gloloc.ads: Likewise.
7366 * libgnat/s-gloloc__mingw.adb: Likewise.
7367 * libgnat/s-htable.adb: Likewise.
7368 * libgnat/s-htable.ads: Likewise.
7369 * libgnat/s-imageb.adb: Likewise.
7370 * libgnat/s-imageb.ads: Likewise.
7371 * libgnat/s-imaged.adb: Likewise.
7372 * libgnat/s-imaged.ads: Likewise.
7373 * libgnat/s-imagef.adb: Likewise.
7374 * libgnat/s-imagef.ads: Likewise.
7375 * libgnat/s-imagei.adb: Likewise.
7376 * libgnat/s-imagei.ads: Likewise.
7377 * libgnat/s-imageu.adb: Likewise.
7378 * libgnat/s-imageu.ads: Likewise.
7379 * libgnat/s-imagew.adb: Likewise.
7380 * libgnat/s-imagew.ads: Likewise.
7381 * libgnat/s-imde128.ads: Likewise.
7382 * libgnat/s-imde32.ads: Likewise.
7383 * libgnat/s-imde64.ads: Likewise.
7384 * libgnat/s-imenne.adb: Likewise.
7385 * libgnat/s-imenne.ads: Likewise.
7386 * libgnat/s-imfi128.ads: Likewise.
7387 * libgnat/s-imfi32.ads: Likewise.
7388 * libgnat/s-imfi64.ads: Likewise.
7389 * libgnat/s-imgbiu.adb: Likewise.
7390 * libgnat/s-imgbiu.ads: Likewise.
7391 * libgnat/s-imgboo.adb: Likewise.
7392 * libgnat/s-imgboo.ads: Likewise.
7393 * libgnat/s-imgcha.adb: Likewise.
7394 * libgnat/s-imgcha.ads: Likewise.
7395 * libgnat/s-imgenu.adb: Likewise.
7396 * libgnat/s-imgenu.ads: Likewise.
7397 * libgnat/s-imgint.adb: Likewise.
7398 * libgnat/s-imgint.ads: Likewise.
7399 * libgnat/s-imgllb.adb: Likewise.
7400 * libgnat/s-imgllb.ads: Likewise.
7401 * libgnat/s-imglli.adb: Likewise.
7402 * libgnat/s-imglli.ads: Likewise.
7403 * libgnat/s-imglllb.ads: Likewise.
7404 * libgnat/s-imgllli.ads: Likewise.
7405 * libgnat/s-imglllu.ads: Likewise.
7406 * libgnat/s-imglllw.ads: Likewise.
7407 * libgnat/s-imgllu.adb: Likewise.
7408 * libgnat/s-imgllu.ads: Likewise.
7409 * libgnat/s-imgllw.adb: Likewise.
7410 * libgnat/s-imgllw.ads: Likewise.
7411 * libgnat/s-imgrea.adb: Likewise.
7412 * libgnat/s-imgrea.ads: Likewise.
7413 * libgnat/s-imguns.adb: Likewise.
7414 * libgnat/s-imguns.ads: Likewise.
7415 * libgnat/s-imguti.adb: Likewise.
7416 * libgnat/s-imguti.ads: Likewise.
7417 * libgnat/s-imgwch.adb: Likewise.
7418 * libgnat/s-imgwch.ads: Likewise.
7419 * libgnat/s-imgwiu.adb: Likewise.
7420 * libgnat/s-imgwiu.ads: Likewise.
7421 * libgnat/s-io.adb: Likewise.
7422 * libgnat/s-io.ads: Likewise.
7423 * libgnat/s-llflex.ads: Likewise.
7424 * libgnat/s-maccod.ads: Likewise.
7425 * libgnat/s-mantis.adb: Likewise.
7426 * libgnat/s-mantis.ads: Likewise.
7427 * libgnat/s-mastop.adb: Likewise.
7428 * libgnat/s-mastop.ads: Likewise.
7429 * libgnat/s-memcop.ads: Likewise.
7430 * libgnat/s-memory.adb: Likewise.
7431 * libgnat/s-memory.ads: Likewise.
7432 * libgnat/s-mmap.adb: Likewise.
7433 * libgnat/s-mmap.ads: Likewise.
7434 * libgnat/s-mmauni__long.ads: Likewise.
7435 * libgnat/s-mmosin__mingw.adb: Likewise.
7436 * libgnat/s-mmosin__mingw.ads: Likewise.
7437 * libgnat/s-mmosin__unix.adb: Likewise.
7438 * libgnat/s-mmosin__unix.ads: Likewise.
7439 * libgnat/s-multip.adb: Likewise.
7440 * libgnat/s-objrea.adb: Likewise.
7441 * libgnat/s-objrea.ads: Likewise.
7442 * libgnat/s-optide.adb: Likewise.
7443 * libgnat/s-os_lib.adb: Likewise.
7444 * libgnat/s-os_lib.ads: Likewise.
7445 * libgnat/s-osprim.ads: Likewise.
7446 * libgnat/s-osprim__darwin.adb: Likewise.
7447 * libgnat/s-osprim__lynxos.ads: Likewise.
7448 * libgnat/s-osprim__mingw.adb: Likewise.
7449 * libgnat/s-osprim__posix.adb: Likewise.
7450 * libgnat/s-osprim__posix2008.adb: Likewise.
7451 * libgnat/s-osprim__rtems.adb: Likewise.
7452 * libgnat/s-osprim__solaris.adb: Likewise.
7453 * libgnat/s-osprim__unix.adb: Likewise.
7454 * libgnat/s-osprim__vxworks.adb: Likewise.
7455 * libgnat/s-osprim__x32.adb: Likewise.
7456 * libgnat/s-osvers__vxworks-653.ads: Likewise.
7457 * libgnat/s-pack03.adb: Likewise.
7458 * libgnat/s-pack03.ads: Likewise.
7459 * libgnat/s-pack05.adb: Likewise.
7460 * libgnat/s-pack05.ads: Likewise.
7461 * libgnat/s-pack06.adb: Likewise.
7462 * libgnat/s-pack06.ads: Likewise.
7463 * libgnat/s-pack07.adb: Likewise.
7464 * libgnat/s-pack07.ads: Likewise.
7465 * libgnat/s-pack09.adb: Likewise.
7466 * libgnat/s-pack09.ads: Likewise.
7467 * libgnat/s-pack10.adb: Likewise.
7468 * libgnat/s-pack10.ads: Likewise.
7469 * libgnat/s-pack100.adb: Likewise.
7470 * libgnat/s-pack100.ads: Likewise.
7471 * libgnat/s-pack101.adb: Likewise.
7472 * libgnat/s-pack101.ads: Likewise.
7473 * libgnat/s-pack102.adb: Likewise.
7474 * libgnat/s-pack102.ads: Likewise.
7475 * libgnat/s-pack103.adb: Likewise.
7476 * libgnat/s-pack103.ads: Likewise.
7477 * libgnat/s-pack104.adb: Likewise.
7478 * libgnat/s-pack104.ads: Likewise.
7479 * libgnat/s-pack105.adb: Likewise.
7480 * libgnat/s-pack105.ads: Likewise.
7481 * libgnat/s-pack106.adb: Likewise.
7482 * libgnat/s-pack106.ads: Likewise.
7483 * libgnat/s-pack107.adb: Likewise.
7484 * libgnat/s-pack107.ads: Likewise.
7485 * libgnat/s-pack108.adb: Likewise.
7486 * libgnat/s-pack108.ads: Likewise.
7487 * libgnat/s-pack109.adb: Likewise.
7488 * libgnat/s-pack109.ads: Likewise.
7489 * libgnat/s-pack11.adb: Likewise.
7490 * libgnat/s-pack11.ads: Likewise.
7491 * libgnat/s-pack110.adb: Likewise.
7492 * libgnat/s-pack110.ads: Likewise.
7493 * libgnat/s-pack111.adb: Likewise.
7494 * libgnat/s-pack111.ads: Likewise.
7495 * libgnat/s-pack112.adb: Likewise.
7496 * libgnat/s-pack112.ads: Likewise.
7497 * libgnat/s-pack113.adb: Likewise.
7498 * libgnat/s-pack113.ads: Likewise.
7499 * libgnat/s-pack114.adb: Likewise.
7500 * libgnat/s-pack114.ads: Likewise.
7501 * libgnat/s-pack115.adb: Likewise.
7502 * libgnat/s-pack115.ads: Likewise.
7503 * libgnat/s-pack116.adb: Likewise.
7504 * libgnat/s-pack116.ads: Likewise.
7505 * libgnat/s-pack117.adb: Likewise.
7506 * libgnat/s-pack117.ads: Likewise.
7507 * libgnat/s-pack118.adb: Likewise.
7508 * libgnat/s-pack118.ads: Likewise.
7509 * libgnat/s-pack119.adb: Likewise.
7510 * libgnat/s-pack119.ads: Likewise.
7511 * libgnat/s-pack12.adb: Likewise.
7512 * libgnat/s-pack12.ads: Likewise.
7513 * libgnat/s-pack120.adb: Likewise.
7514 * libgnat/s-pack120.ads: Likewise.
7515 * libgnat/s-pack121.adb: Likewise.
7516 * libgnat/s-pack121.ads: Likewise.
7517 * libgnat/s-pack122.adb: Likewise.
7518 * libgnat/s-pack122.ads: Likewise.
7519 * libgnat/s-pack123.adb: Likewise.
7520 * libgnat/s-pack123.ads: Likewise.
7521 * libgnat/s-pack124.adb: Likewise.
7522 * libgnat/s-pack124.ads: Likewise.
7523 * libgnat/s-pack125.adb: Likewise.
7524 * libgnat/s-pack125.ads: Likewise.
7525 * libgnat/s-pack126.adb: Likewise.
7526 * libgnat/s-pack126.ads: Likewise.
7527 * libgnat/s-pack127.adb: Likewise.
7528 * libgnat/s-pack127.ads: Likewise.
7529 * libgnat/s-pack13.adb: Likewise.
7530 * libgnat/s-pack13.ads: Likewise.
7531 * libgnat/s-pack14.adb: Likewise.
7532 * libgnat/s-pack14.ads: Likewise.
7533 * libgnat/s-pack15.adb: Likewise.
7534 * libgnat/s-pack15.ads: Likewise.
7535 * libgnat/s-pack17.adb: Likewise.
7536 * libgnat/s-pack17.ads: Likewise.
7537 * libgnat/s-pack18.adb: Likewise.
7538 * libgnat/s-pack18.ads: Likewise.
7539 * libgnat/s-pack19.adb: Likewise.
7540 * libgnat/s-pack19.ads: Likewise.
7541 * libgnat/s-pack20.adb: Likewise.
7542 * libgnat/s-pack20.ads: Likewise.
7543 * libgnat/s-pack21.adb: Likewise.
7544 * libgnat/s-pack21.ads: Likewise.
7545 * libgnat/s-pack22.adb: Likewise.
7546 * libgnat/s-pack22.ads: Likewise.
7547 * libgnat/s-pack23.adb: Likewise.
7548 * libgnat/s-pack23.ads: Likewise.
7549 * libgnat/s-pack24.adb: Likewise.
7550 * libgnat/s-pack24.ads: Likewise.
7551 * libgnat/s-pack25.adb: Likewise.
7552 * libgnat/s-pack25.ads: Likewise.
7553 * libgnat/s-pack26.adb: Likewise.
7554 * libgnat/s-pack26.ads: Likewise.
7555 * libgnat/s-pack27.adb: Likewise.
7556 * libgnat/s-pack27.ads: Likewise.
7557 * libgnat/s-pack28.adb: Likewise.
7558 * libgnat/s-pack28.ads: Likewise.
7559 * libgnat/s-pack29.adb: Likewise.
7560 * libgnat/s-pack29.ads: Likewise.
7561 * libgnat/s-pack30.adb: Likewise.
7562 * libgnat/s-pack30.ads: Likewise.
7563 * libgnat/s-pack31.adb: Likewise.
7564 * libgnat/s-pack31.ads: Likewise.
7565 * libgnat/s-pack33.adb: Likewise.
7566 * libgnat/s-pack33.ads: Likewise.
7567 * libgnat/s-pack34.adb: Likewise.
7568 * libgnat/s-pack34.ads: Likewise.
7569 * libgnat/s-pack35.adb: Likewise.
7570 * libgnat/s-pack35.ads: Likewise.
7571 * libgnat/s-pack36.adb: Likewise.
7572 * libgnat/s-pack36.ads: Likewise.
7573 * libgnat/s-pack37.adb: Likewise.
7574 * libgnat/s-pack37.ads: Likewise.
7575 * libgnat/s-pack38.adb: Likewise.
7576 * libgnat/s-pack38.ads: Likewise.
7577 * libgnat/s-pack39.adb: Likewise.
7578 * libgnat/s-pack39.ads: Likewise.
7579 * libgnat/s-pack40.adb: Likewise.
7580 * libgnat/s-pack40.ads: Likewise.
7581 * libgnat/s-pack41.adb: Likewise.
7582 * libgnat/s-pack41.ads: Likewise.
7583 * libgnat/s-pack42.adb: Likewise.
7584 * libgnat/s-pack42.ads: Likewise.
7585 * libgnat/s-pack43.adb: Likewise.
7586 * libgnat/s-pack43.ads: Likewise.
7587 * libgnat/s-pack44.adb: Likewise.
7588 * libgnat/s-pack44.ads: Likewise.
7589 * libgnat/s-pack45.adb: Likewise.
7590 * libgnat/s-pack45.ads: Likewise.
7591 * libgnat/s-pack46.adb: Likewise.
7592 * libgnat/s-pack46.ads: Likewise.
7593 * libgnat/s-pack47.adb: Likewise.
7594 * libgnat/s-pack47.ads: Likewise.
7595 * libgnat/s-pack48.adb: Likewise.
7596 * libgnat/s-pack48.ads: Likewise.
7597 * libgnat/s-pack49.adb: Likewise.
7598 * libgnat/s-pack49.ads: Likewise.
7599 * libgnat/s-pack50.adb: Likewise.
7600 * libgnat/s-pack50.ads: Likewise.
7601 * libgnat/s-pack51.adb: Likewise.
7602 * libgnat/s-pack51.ads: Likewise.
7603 * libgnat/s-pack52.adb: Likewise.
7604 * libgnat/s-pack52.ads: Likewise.
7605 * libgnat/s-pack53.adb: Likewise.
7606 * libgnat/s-pack53.ads: Likewise.
7607 * libgnat/s-pack54.adb: Likewise.
7608 * libgnat/s-pack54.ads: Likewise.
7609 * libgnat/s-pack55.adb: Likewise.
7610 * libgnat/s-pack55.ads: Likewise.
7611 * libgnat/s-pack56.adb: Likewise.
7612 * libgnat/s-pack56.ads: Likewise.
7613 * libgnat/s-pack57.adb: Likewise.
7614 * libgnat/s-pack57.ads: Likewise.
7615 * libgnat/s-pack58.adb: Likewise.
7616 * libgnat/s-pack58.ads: Likewise.
7617 * libgnat/s-pack59.adb: Likewise.
7618 * libgnat/s-pack59.ads: Likewise.
7619 * libgnat/s-pack60.adb: Likewise.
7620 * libgnat/s-pack60.ads: Likewise.
7621 * libgnat/s-pack61.adb: Likewise.
7622 * libgnat/s-pack61.ads: Likewise.
7623 * libgnat/s-pack62.adb: Likewise.
7624 * libgnat/s-pack62.ads: Likewise.
7625 * libgnat/s-pack63.adb: Likewise.
7626 * libgnat/s-pack63.ads: Likewise.
7627 * libgnat/s-pack65.adb: Likewise.
7628 * libgnat/s-pack65.ads: Likewise.
7629 * libgnat/s-pack66.adb: Likewise.
7630 * libgnat/s-pack66.ads: Likewise.
7631 * libgnat/s-pack67.adb: Likewise.
7632 * libgnat/s-pack67.ads: Likewise.
7633 * libgnat/s-pack68.adb: Likewise.
7634 * libgnat/s-pack68.ads: Likewise.
7635 * libgnat/s-pack69.adb: Likewise.
7636 * libgnat/s-pack69.ads: Likewise.
7637 * libgnat/s-pack70.adb: Likewise.
7638 * libgnat/s-pack70.ads: Likewise.
7639 * libgnat/s-pack71.adb: Likewise.
7640 * libgnat/s-pack71.ads: Likewise.
7641 * libgnat/s-pack72.adb: Likewise.
7642 * libgnat/s-pack72.ads: Likewise.
7643 * libgnat/s-pack73.adb: Likewise.
7644 * libgnat/s-pack73.ads: Likewise.
7645 * libgnat/s-pack74.adb: Likewise.
7646 * libgnat/s-pack74.ads: Likewise.
7647 * libgnat/s-pack75.adb: Likewise.
7648 * libgnat/s-pack75.ads: Likewise.
7649 * libgnat/s-pack76.adb: Likewise.
7650 * libgnat/s-pack76.ads: Likewise.
7651 * libgnat/s-pack77.adb: Likewise.
7652 * libgnat/s-pack77.ads: Likewise.
7653 * libgnat/s-pack78.adb: Likewise.
7654 * libgnat/s-pack78.ads: Likewise.
7655 * libgnat/s-pack79.adb: Likewise.
7656 * libgnat/s-pack79.ads: Likewise.
7657 * libgnat/s-pack80.adb: Likewise.
7658 * libgnat/s-pack80.ads: Likewise.
7659 * libgnat/s-pack81.adb: Likewise.
7660 * libgnat/s-pack81.ads: Likewise.
7661 * libgnat/s-pack82.adb: Likewise.
7662 * libgnat/s-pack82.ads: Likewise.
7663 * libgnat/s-pack83.adb: Likewise.
7664 * libgnat/s-pack83.ads: Likewise.
7665 * libgnat/s-pack84.adb: Likewise.
7666 * libgnat/s-pack84.ads: Likewise.
7667 * libgnat/s-pack85.adb: Likewise.
7668 * libgnat/s-pack85.ads: Likewise.
7669 * libgnat/s-pack86.adb: Likewise.
7670 * libgnat/s-pack86.ads: Likewise.
7671 * libgnat/s-pack87.adb: Likewise.
7672 * libgnat/s-pack87.ads: Likewise.
7673 * libgnat/s-pack88.adb: Likewise.
7674 * libgnat/s-pack88.ads: Likewise.
7675 * libgnat/s-pack89.adb: Likewise.
7676 * libgnat/s-pack89.ads: Likewise.
7677 * libgnat/s-pack90.adb: Likewise.
7678 * libgnat/s-pack90.ads: Likewise.
7679 * libgnat/s-pack91.adb: Likewise.
7680 * libgnat/s-pack91.ads: Likewise.
7681 * libgnat/s-pack92.adb: Likewise.
7682 * libgnat/s-pack92.ads: Likewise.
7683 * libgnat/s-pack93.adb: Likewise.
7684 * libgnat/s-pack93.ads: Likewise.
7685 * libgnat/s-pack94.adb: Likewise.
7686 * libgnat/s-pack94.ads: Likewise.
7687 * libgnat/s-pack95.adb: Likewise.
7688 * libgnat/s-pack95.ads: Likewise.
7689 * libgnat/s-pack96.adb: Likewise.
7690 * libgnat/s-pack96.ads: Likewise.
7691 * libgnat/s-pack97.adb: Likewise.
7692 * libgnat/s-pack97.ads: Likewise.
7693 * libgnat/s-pack98.adb: Likewise.
7694 * libgnat/s-pack98.ads: Likewise.
7695 * libgnat/s-pack99.adb: Likewise.
7696 * libgnat/s-pack99.ads: Likewise.
7697 * libgnat/s-parame.adb: Likewise.
7698 * libgnat/s-parame.ads: Likewise.
7699 * libgnat/s-parame__ae653.ads: Likewise.
7700 * libgnat/s-parame__hpux.ads: Likewise.
7701 * libgnat/s-parame__rtems.adb: Likewise.
7702 * libgnat/s-parame__vxworks.adb: Likewise.
7703 * libgnat/s-parame__vxworks.ads: Likewise.
7704 * libgnat/s-parint.adb: Likewise.
7705 * libgnat/s-parint.ads: Likewise.
7706 * libgnat/s-pooglo.adb: Likewise.
7707 * libgnat/s-pooglo.ads: Likewise.
7708 * libgnat/s-pooloc.adb: Likewise.
7709 * libgnat/s-pooloc.ads: Likewise.
7710 * libgnat/s-poosiz.adb: Likewise.
7711 * libgnat/s-poosiz.ads: Likewise.
7712 * libgnat/s-powflt.ads: Likewise.
7713 * libgnat/s-powlfl.ads: Likewise.
7714 * libgnat/s-powllf.ads: Likewise.
7715 * libgnat/s-purexc.ads: Likewise.
7716 * libgnat/s-putaim.adb: Likewise.
7717 * libgnat/s-putaim.ads: Likewise.
7718 * libgnat/s-putima.adb: Likewise.
7719 * libgnat/s-putima.ads: Likewise.
7720 * libgnat/s-rannum.adb: Likewise.
7721 * libgnat/s-rannum.ads: Likewise.
7722 * libgnat/s-ransee.adb: Likewise.
7723 * libgnat/s-ransee.ads: Likewise.
7724 * libgnat/s-regexp.adb: Likewise.
7725 * libgnat/s-regexp.ads: Likewise.
7726 * libgnat/s-regpat.adb: Likewise.
7727 * libgnat/s-regpat.ads: Likewise.
7728 * libgnat/s-resfil.adb: Likewise.
7729 * libgnat/s-resfil.ads: Likewise.
7730 * libgnat/s-restri.adb: Likewise.
7731 * libgnat/s-restri.ads: Likewise.
7732 * libgnat/s-rident.ads: Likewise.
7733 * libgnat/s-rpc.adb: Likewise.
7734 * libgnat/s-rpc.ads: Likewise.
7735 * libgnat/s-scaval.adb: Likewise.
7736 * libgnat/s-scaval.ads: Likewise.
7737 * libgnat/s-scaval__128.adb: Likewise.
7738 * libgnat/s-scaval__128.ads: Likewise.
7739 * libgnat/s-secsta.adb: Likewise.
7740 * libgnat/s-secsta.ads: Likewise.
7741 * libgnat/s-sequio.adb: Likewise.
7742 * libgnat/s-sequio.ads: Likewise.
7743 * libgnat/s-shabig.ads: Likewise.
7744 * libgnat/s-shasto.adb: Likewise.
7745 * libgnat/s-shasto.ads: Likewise.
7746 * libgnat/s-soflin.adb: Likewise.
7747 * libgnat/s-soflin.ads: Likewise.
7748 * libgnat/s-soliin.adb: Likewise.
7749 * libgnat/s-soliin.ads: Likewise.
7750 * libgnat/s-sopco3.adb: Likewise.
7751 * libgnat/s-sopco3.ads: Likewise.
7752 * libgnat/s-sopco4.adb: Likewise.
7753 * libgnat/s-sopco4.ads: Likewise.
7754 * libgnat/s-sopco5.adb: Likewise.
7755 * libgnat/s-sopco5.ads: Likewise.
7756 * libgnat/s-spsufi.adb: Likewise.
7757 * libgnat/s-spsufi.ads: Likewise.
7758 * libgnat/s-stache.adb: Likewise.
7759 * libgnat/s-stache.ads: Likewise.
7760 * libgnat/s-stalib.adb: Likewise.
7761 * libgnat/s-stalib.ads: Likewise.
7762 * libgnat/s-statxd.adb: Likewise.
7763 * libgnat/s-statxd.ads: Likewise.
7764 * libgnat/s-stausa.adb: Likewise.
7765 * libgnat/s-stausa.ads: Likewise.
7766 * libgnat/s-stchop.adb: Likewise.
7767 * libgnat/s-stchop.ads: Likewise.
7768 * libgnat/s-stchop__limit.ads: Likewise.
7769 * libgnat/s-stchop__rtems.adb: Likewise.
7770 * libgnat/s-stchop__vxworks.adb: Likewise.
7771 * libgnat/s-stoele.adb: Likewise.
7772 * libgnat/s-stoele.ads: Likewise.
7773 * libgnat/s-stopoo.adb: Likewise.
7774 * libgnat/s-stopoo.ads: Likewise.
7775 * libgnat/s-stposu.adb: Likewise.
7776 * libgnat/s-stposu.ads: Likewise.
7777 * libgnat/s-stratt.adb: Likewise.
7778 * libgnat/s-stratt.ads: Likewise.
7779 * libgnat/s-strcom.adb: Likewise.
7780 * libgnat/s-strcom.ads: Likewise.
7781 * libgnat/s-strhas.adb: Likewise.
7782 * libgnat/s-strhas.ads: Likewise.
7783 * libgnat/s-string.adb: Likewise.
7784 * libgnat/s-string.ads: Likewise.
7785 * libgnat/s-strops.adb: Likewise.
7786 * libgnat/s-strops.ads: Likewise.
7787 * libgnat/s-ststop.adb: Likewise.
7788 * libgnat/s-ststop.ads: Likewise.
7789 * libgnat/s-tasloc.adb: Likewise.
7790 * libgnat/s-tasloc.ads: Likewise.
7791 * libgnat/s-thread.ads: Likewise.
7792 * libgnat/s-thread__ae653.adb: Likewise.
7793 * libgnat/s-traceb.adb: Likewise.
7794 * libgnat/s-traceb.ads: Likewise.
7795 * libgnat/s-traceb__hpux.adb: Likewise.
7796 * libgnat/s-traceb__mastop.adb: Likewise.
7797 * libgnat/s-traent.adb: Likewise.
7798 * libgnat/s-traent.ads: Likewise.
7799 * libgnat/s-trasym.adb: Likewise.
7800 * libgnat/s-trasym.ads: Likewise.
7801 * libgnat/s-trasym__dwarf.adb: Likewise.
7802 * libgnat/s-tsmona.adb: Likewise.
7803 * libgnat/s-tsmona__linux.adb: Likewise.
7804 * libgnat/s-tsmona__mingw.adb: Likewise.
7805 * libgnat/s-unstyp.ads: Likewise.
7806 * libgnat/s-utf_32.adb: Likewise.
7807 * libgnat/s-utf_32.ads: Likewise.
7808 * libgnat/s-vade128.ads: Likewise.
7809 * libgnat/s-vade32.ads: Likewise.
7810 * libgnat/s-vade64.ads: Likewise.
7811 * libgnat/s-vafi128.ads: Likewise.
7812 * libgnat/s-vafi32.ads: Likewise.
7813 * libgnat/s-vafi64.ads: Likewise.
7814 * libgnat/s-valboo.adb: Likewise.
7815 * libgnat/s-valboo.ads: Likewise.
7816 * libgnat/s-valcha.adb: Likewise.
7817 * libgnat/s-valcha.ads: Likewise.
7818 * libgnat/s-valenu.adb: Likewise.
7819 * libgnat/s-valenu.ads: Likewise.
7820 * libgnat/s-valflt.ads: Likewise.
7821 * libgnat/s-valint.adb: Likewise.
7822 * libgnat/s-valint.ads: Likewise.
7823 * libgnat/s-vallfl.ads: Likewise.
7824 * libgnat/s-valllf.ads: Likewise.
7825 * libgnat/s-vallli.adb: Likewise.
7826 * libgnat/s-vallli.ads: Likewise.
7827 * libgnat/s-valllli.ads: Likewise.
7828 * libgnat/s-vallllu.ads: Likewise.
7829 * libgnat/s-valllu.adb: Likewise.
7830 * libgnat/s-valllu.ads: Likewise.
7831 * libgnat/s-valrea.adb: Likewise.
7832 * libgnat/s-valrea.ads: Likewise.
7833 * libgnat/s-valued.adb: Likewise.
7834 * libgnat/s-valued.ads: Likewise.
7835 * libgnat/s-valuef.adb: Likewise.
7836 * libgnat/s-valuef.ads: Likewise.
7837 * libgnat/s-valuei.adb: Likewise.
7838 * libgnat/s-valuei.ads: Likewise.
7839 * libgnat/s-valuer.adb: Likewise.
7840 * libgnat/s-valuer.ads: Likewise.
7841 * libgnat/s-valueu.adb: Likewise.
7842 * libgnat/s-valueu.ads: Likewise.
7843 * libgnat/s-valuns.adb: Likewise.
7844 * libgnat/s-valuns.ads: Likewise.
7845 * libgnat/s-valuti.adb: Likewise.
7846 * libgnat/s-valuti.ads: Likewise.
7847 * libgnat/s-valwch.adb: Likewise.
7848 * libgnat/s-valwch.ads: Likewise.
7849 * libgnat/s-veboop.adb: Likewise.
7850 * libgnat/s-veboop.ads: Likewise.
7851 * libgnat/s-vector.ads: Likewise.
7852 * libgnat/s-vercon.adb: Likewise.
7853 * libgnat/s-vercon.ads: Likewise.
7854 * libgnat/s-wchcnv.adb: Likewise.
7855 * libgnat/s-wchcnv.ads: Likewise.
7856 * libgnat/s-wchcon.adb: Likewise.
7857 * libgnat/s-wchcon.ads: Likewise.
7858 * libgnat/s-wchjis.adb: Likewise.
7859 * libgnat/s-wchjis.ads: Likewise.
7860 * libgnat/s-wchstw.adb: Likewise.
7861 * libgnat/s-wchstw.ads: Likewise.
7862 * libgnat/s-wchwts.adb: Likewise.
7863 * libgnat/s-wchwts.ads: Likewise.
7864 * libgnat/s-widboo.adb: Likewise.
7865 * libgnat/s-widboo.ads: Likewise.
7866 * libgnat/s-widcha.adb: Likewise.
7867 * libgnat/s-widcha.ads: Likewise.
7868 * libgnat/s-widenu.adb: Likewise.
7869 * libgnat/s-widenu.ads: Likewise.
7870 * libgnat/s-widint.ads: Likewise.
7871 * libgnat/s-widlli.adb: Likewise.
7872 * libgnat/s-widlli.ads: Likewise.
7873 * libgnat/s-widllli.ads: Likewise.
7874 * libgnat/s-widlllu.ads: Likewise.
7875 * libgnat/s-widllu.adb: Likewise.
7876 * libgnat/s-widllu.ads: Likewise.
7877 * libgnat/s-widthi.adb: Likewise.
7878 * libgnat/s-widthi.ads: Likewise.
7879 * libgnat/s-widthu.adb: Likewise.
7880 * libgnat/s-widthu.ads: Likewise.
7881 * libgnat/s-widuns.ads: Likewise.
7882 * libgnat/s-widwch.adb: Likewise.
7883 * libgnat/s-widwch.ads: Likewise.
7884 * libgnat/s-win32.ads: Likewise.
7885 * libgnat/s-winext.ads: Likewise.
7886 * libgnat/s-wwdcha.adb: Likewise.
7887 * libgnat/s-wwdcha.ads: Likewise.
7888 * libgnat/s-wwdenu.adb: Likewise.
7889 * libgnat/s-wwdenu.ads: Likewise.
7890 * libgnat/s-wwdwch.adb: Likewise.
7891 * libgnat/s-wwdwch.ads: Likewise.
7892 * libgnat/system-aix.ads: Likewise.
7893 * libgnat/system-darwin-arm.ads: Likewise.
7894 * libgnat/system-darwin-ppc.ads: Likewise.
7895 * libgnat/system-darwin-x86.ads: Likewise.
7896 * libgnat/system-djgpp.ads: Likewise.
7897 * libgnat/system-dragonfly-x86_64.ads: Likewise.
7898 * libgnat/system-freebsd.ads: Likewise.
7899 * libgnat/system-hpux-ia64.ads: Likewise.
7900 * libgnat/system-hpux.ads: Likewise.
7901 * libgnat/system-linux-alpha.ads: Likewise.
7902 * libgnat/system-linux-arm.ads: Likewise.
7903 * libgnat/system-linux-hppa.ads: Likewise.
7904 * libgnat/system-linux-ia64.ads: Likewise.
7905 * libgnat/system-linux-m68k.ads: Likewise.
7906 * libgnat/system-linux-mips.ads: Likewise.
7907 * libgnat/system-linux-ppc.ads: Likewise.
7908 * libgnat/system-linux-riscv.ads: Likewise.
7909 * libgnat/system-linux-s390.ads: Likewise.
7910 * libgnat/system-linux-sh4.ads: Likewise.
7911 * libgnat/system-linux-sparc.ads: Likewise.
7912 * libgnat/system-linux-x86.ads: Likewise.
7913 * libgnat/system-lynxos178-ppc.ads: Likewise.
7914 * libgnat/system-lynxos178-x86.ads: Likewise.
7915 * libgnat/system-mingw.ads: Likewise.
7916 * libgnat/system-qnx-aarch64.ads: Likewise.
7917 * libgnat/system-rtems.ads: Likewise.
7918 * libgnat/system-solaris-sparc.ads: Likewise.
7919 * libgnat/system-solaris-x86.ads: Likewise.
7920 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
7921 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
7922 * libgnat/system-vxworks-arm.ads: Likewise.
7923 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
7924 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
7925 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
7926 * libgnat/system-vxworks-e500-vthread.ads: Likewise.
7927 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
7928 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
7929 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
7930 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
7931 * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
7932 * libgnat/system-vxworks-ppc.ads: Likewise.
7933 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
7934 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
7935 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
7936 * libgnat/system-vxworks-x86-vthread.ads: Likewise.
7937 * libgnat/system-vxworks-x86.ads: Likewise.
7938 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
7939 * libgnat/system-vxworks7-aarch64.ads: Likewise.
7940 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
7941 * libgnat/system-vxworks7-arm.ads: Likewise.
7942 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
7943 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
7944 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
7945 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
7946 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
7947 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
7948 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
7949 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
7950 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
7951 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
7952 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
7953 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
7954 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
7955 * link.c: Likewise.
7956 * live.adb: Likewise.
7957 * live.ads: Likewise.
7958 * locales.c: Likewise.
7959 * make.adb: Likewise.
7960 * make.ads: Likewise.
7961 * make_util.adb: Likewise.
7962 * make_util.ads: Likewise.
7963 * makeusg.adb: Likewise.
7964 * makeusg.ads: Likewise.
7965 * mdll-fil.adb: Likewise.
7966 * mdll-fil.ads: Likewise.
7967 * mdll-utl.adb: Likewise.
7968 * mdll-utl.ads: Likewise.
7969 * mdll.adb: Likewise.
7970 * mdll.ads: Likewise.
7971 * mingw32.h: Likewise.
7972 * mkdir.c: Likewise.
7973 * namet-sp.adb: Likewise.
7974 * namet-sp.ads: Likewise.
7975 * namet.adb: Likewise.
7976 * namet.ads: Likewise.
7977 * namet.h: Likewise.
7978 * nlists.adb: Likewise.
7979 * nlists.ads: Likewise.
7980 * nlists.h: Likewise.
7981 * opt.adb: Likewise.
7982 * opt.ads: Likewise.
7983 * osint-b.adb: Likewise.
7984 * osint-b.ads: Likewise.
7985 * osint-c.adb: Likewise.
7986 * osint-c.ads: Likewise.
7987 * osint-l.adb: Likewise.
7988 * osint-l.ads: Likewise.
7989 * osint-m.adb: Likewise.
7990 * osint-m.ads: Likewise.
7991 * osint.adb: Likewise.
7992 * osint.ads: Likewise.
7993 * output.adb: Likewise.
7994 * output.ads: Likewise.
7995 * par-ch10.adb: Likewise.
7996 * par-ch11.adb: Likewise.
7997 * par-ch12.adb: Likewise.
7998 * par-ch13.adb: Likewise.
7999 * par-ch2.adb: Likewise.
8000 * par-ch3.adb: Likewise.
8001 * par-ch4.adb: Likewise.
8002 * par-ch5.adb: Likewise.
8003 * par-ch6.adb: Likewise.
8004 * par-ch7.adb: Likewise.
8005 * par-ch8.adb: Likewise.
8006 * par-ch9.adb: Likewise.
8007 * par-endh.adb: Likewise.
8008 * par-labl.adb: Likewise.
8009 * par-load.adb: Likewise.
8010 * par-prag.adb: Likewise.
8011 * par-sync.adb: Likewise.
8012 * par-tchk.adb: Likewise.
8013 * par-util.adb: Likewise.
8014 * par.adb: Likewise.
8015 * par.ads: Likewise.
8016 * par_sco.adb: Likewise.
8017 * par_sco.ads: Likewise.
8018 * pprint.adb: Likewise.
8019 * pprint.ads: Likewise.
8020 * prep.adb: Likewise.
8021 * prep.ads: Likewise.
8022 * prepcomp.adb: Likewise.
8023 * prepcomp.ads: Likewise.
8024 * put_scos.adb: Likewise.
8025 * put_scos.ads: Likewise.
8026 * raise-gcc.c: Likewise.
8027 * raise.c: Likewise.
8028 * raise.h: Likewise.
8029 * repinfo-input.adb: Likewise.
8030 * repinfo-input.ads: Likewise.
8031 * repinfo.adb: Likewise.
8032 * repinfo.ads: Likewise.
8033 * repinfo.h: Likewise.
8034 * restrict.adb: Likewise.
8035 * restrict.ads: Likewise.
8036 * rident.ads: Likewise.
8037 * rtfinal.c: Likewise.
8038 * rtinit.c: Likewise.
8039 * rtsfind.adb: Likewise.
8040 * rtsfind.ads: Likewise.
8041 * runtime.h: Likewise.
8042 * s-oscons-tmplt.c: Likewise.
8043 * sa_messages.adb: Likewise.
8044 * sa_messages.ads: Likewise.
8045 * scans.adb: Likewise.
8046 * scans.ads: Likewise.
8047 * scil_ll.adb: Likewise.
8048 * scil_ll.ads: Likewise.
8049 * scn.adb: Likewise.
8050 * scn.ads: Likewise.
8051 * scng.adb: Likewise.
8052 * scng.ads: Likewise.
8053 * scos.adb: Likewise.
8054 * scos.ads: Likewise.
8055 * scos.h: Likewise.
8056 * sdefault.ads: Likewise.
8057 * seh_init.c: Likewise.
8058 * sem.adb: Likewise.
8059 * sem.ads: Likewise.
8060 * sem_aggr.adb: Likewise.
8061 * sem_aggr.ads: Likewise.
8062 * sem_attr.adb: Likewise.
8063 * sem_attr.ads: Likewise.
8064 * sem_aux.adb: Likewise.
8065 * sem_aux.ads: Likewise.
8066 * sem_case.adb: Likewise.
8067 * sem_case.ads: Likewise.
8068 * sem_cat.adb: Likewise.
8069 * sem_cat.ads: Likewise.
8070 * sem_ch10.adb: Likewise.
8071 * sem_ch10.ads: Likewise.
8072 * sem_ch11.adb: Likewise.
8073 * sem_ch11.ads: Likewise.
8074 * sem_ch12.adb: Likewise.
8075 * sem_ch12.ads: Likewise.
8076 * sem_ch13.adb: Likewise.
8077 * sem_ch13.ads: Likewise.
8078 * sem_ch2.adb: Likewise.
8079 * sem_ch2.ads: Likewise.
8080 * sem_ch3.adb: Likewise.
8081 * sem_ch3.ads: Likewise.
8082 * sem_ch4.adb: Likewise.
8083 * sem_ch4.ads: Likewise.
8084 * sem_ch5.adb: Likewise.
8085 * sem_ch5.ads: Likewise.
8086 * sem_ch6.adb: Likewise.
8087 * sem_ch6.ads: Likewise.
8088 * sem_ch7.adb: Likewise.
8089 * sem_ch7.ads: Likewise.
8090 * sem_ch8.adb: Likewise.
8091 * sem_ch8.ads: Likewise.
8092 * sem_ch9.adb: Likewise.
8093 * sem_ch9.ads: Likewise.
8094 * sem_dim.adb: Likewise.
8095 * sem_dim.ads: Likewise.
8096 * sem_disp.adb: Likewise.
8097 * sem_disp.ads: Likewise.
8098 * sem_dist.adb: Likewise.
8099 * sem_dist.ads: Likewise.
8100 * sem_elab.adb: Likewise.
8101 * sem_elab.ads: Likewise.
8102 * sem_elim.adb: Likewise.
8103 * sem_elim.ads: Likewise.
8104 * sem_eval.adb: Likewise.
8105 * sem_eval.ads: Likewise.
8106 * sem_intr.adb: Likewise.
8107 * sem_intr.ads: Likewise.
8108 * sem_mech.adb: Likewise.
8109 * sem_mech.ads: Likewise.
8110 * sem_prag.adb: Likewise.
8111 * sem_prag.ads: Likewise.
8112 * sem_res.adb: Likewise.
8113 * sem_res.ads: Likewise.
8114 * sem_scil.adb: Likewise.
8115 * sem_scil.ads: Likewise.
8116 * sem_smem.adb: Likewise.
8117 * sem_smem.ads: Likewise.
8118 * sem_type.adb: Likewise.
8119 * sem_type.ads: Likewise.
8120 * sem_util.adb: Likewise.
8121 * sem_util.ads: Likewise.
8122 * sem_warn.adb: Likewise.
8123 * sem_warn.ads: Likewise.
8124 * set_targ.adb: Likewise.
8125 * set_targ.ads: Likewise.
8126 * sfn_scan.adb: Likewise.
8127 * sfn_scan.ads: Likewise.
8128 * sigtramp-armdroid.c: Likewise.
8129 * sigtramp-ios.c: Likewise.
8130 * sigtramp-qnx.c: Likewise.
8131 * sigtramp-vxworks.c: Likewise.
8132 * sigtramp.h: Likewise.
8133 * sinfo-cn.adb: Likewise.
8134 * sinfo-cn.ads: Likewise.
8135 * sinfo.adb: Likewise.
8136 * sinfo.ads: Likewise.
8137 * sinput-c.adb: Likewise.
8138 * sinput-c.ads: Likewise.
8139 * sinput-d.adb: Likewise.
8140 * sinput-d.ads: Likewise.
8141 * sinput-l.adb: Likewise.
8142 * sinput-l.ads: Likewise.
8143 * sinput.adb: Likewise.
8144 * sinput.ads: Likewise.
8145 * snames.adb-tmpl: Likewise.
8146 * snames.ads-tmpl: Likewise.
8147 * socket.c: Likewise.
8148 * spark_xrefs.adb: Likewise.
8149 * spark_xrefs.ads: Likewise.
8150 * sprint.adb: Likewise.
8151 * sprint.ads: Likewise.
8152 * stand.ads: Likewise.
8153 * stringt.adb: Likewise.
8154 * stringt.ads: Likewise.
8155 * stringt.h: Likewise.
8156 * style.adb: Likewise.
8157 * style.ads: Likewise.
8158 * styleg.adb: Likewise.
8159 * styleg.ads: Likewise.
8160 * stylesw.adb: Likewise.
8161 * stylesw.ads: Likewise.
8162 * switch-b.adb: Likewise.
8163 * switch-b.ads: Likewise.
8164 * switch-c.adb: Likewise.
8165 * switch-c.ads: Likewise.
8166 * switch-m.adb: Likewise.
8167 * switch-m.ads: Likewise.
8168 * switch.adb: Likewise.
8169 * switch.ads: Likewise.
8170 * sysdep.c: Likewise.
8171 * table.adb: Likewise.
8172 * table.ads: Likewise.
8173 * targext.c: Likewise.
8174 * targparm.adb: Likewise.
8175 * targparm.ads: Likewise.
8176 * tbuild.adb: Likewise.
8177 * tbuild.ads: Likewise.
8178 * tempdir.adb: Likewise.
8179 * tempdir.ads: Likewise.
8180 * terminals.c: Likewise.
8181 * tracebak.c: Likewise.
8182 * treepr.adb: Likewise.
8183 * treepr.ads: Likewise.
8184 * ttypes.ads: Likewise.
8185 * types.adb: Likewise.
8186 * types.ads: Likewise.
8187 * types.h: Likewise.
8188 * uintp.adb: Likewise.
8189 * uintp.ads: Likewise.
8190 * uintp.h: Likewise.
8191 * uname.adb: Likewise.
8192 * uname.ads: Likewise.
8193 * urealp.adb: Likewise.
8194 * urealp.ads: Likewise.
8195 * urealp.h: Likewise.
8196 * usage.adb: Likewise.
8197 * usage.ads: Likewise.
8198 * validsw.adb: Likewise.
8199 * validsw.ads: Likewise.
8200 * vast.adb: Likewise.
8201 * vast.ads: Likewise.
8202 * warnsw.adb: Likewise.
8203 * warnsw.ads: Likewise.
8204 * widechar.adb: Likewise.
8205 * widechar.ads: Likewise.
8206 * xeinfo.adb: Likewise.
8207 * xnmake.adb: Likewise.
8208 * xoscons.adb: Likewise.
8209 * xr_tabls.adb: Likewise.
8210 * xr_tabls.ads: Likewise.
8211 * xref_lib.adb: Likewise.
8212 * xref_lib.ads: Likewise.
8213 * xsinfo.adb: Likewise.
8214 * xsnamest.adb: Likewise.
8215 * xtreeprs.adb: Likewise.
8216 * xutil.adb: Likewise.
8217 * xutil.ads: Likewise.
8218
82192021-05-03 Piotr Trojanek <trojanek@adacore.com>
8220
8221 * exp_dist.adb (Build_From_Any_Call): Remove initial value for
8222 Fnam; fix style.
8223 (Build_To_Any_Call): Remove initial value for Fnam.
8224 (Build_TypeCode_Call): Likewise.
8225
82262021-05-03 Piotr Trojanek <trojanek@adacore.com>
8227
8228 * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
8229 exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb,
8230 sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb,
8231 sem_util.adb: Replace calls to RTE with Is_RTE.
8232
82332021-05-03 Piotr Trojanek <trojanek@adacore.com>
8234
8235 * sem_ch4.adb (Try_Object_Operation): Reuse local constant.
8236
82372021-05-03 Ed Schonberg <schonberg@adacore.com>
8238
8239 * sem_ch4.adb (Try_Object_Operation): When a prefixed call is
8240 overloaded and illegal, and the All_Errors flag is off, generate
8241 an error message if the re-analysis of some candidate
8242 interpretation fails to produce one.
8243
82442021-05-03 Dmitriy Anisimkov <anisimko@adacore.com>
8245
8246 * libgnat/g-casuti.adb: Replace with "pragma No_Body".
8247 * libgnat/g-casuti.ads: Replace with a package renaming.
8248
82492021-05-03 Piotr Trojanek <trojanek@adacore.com>
8250
8251 * sem_attr.adb (Check_Program_Unit): Fix references to
8252 Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
8253 Entity.
8254
82552021-05-03 Piotr Trojanek <trojanek@adacore.com>
8256
8257 * sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind
8258 and Protected_Kind with a collective test for Concurrent_Kind;
8259 likewise, replace calls to Is_Task_Type and Is_Protected_Type
8260 with a collective call to Is_Concurrent_Type; simplify into a
8261 single membership test; add missing Entry_Kind alternative.
8262
82632021-05-03 Piotr Trojanek <trojanek@adacore.com>
8264
8265 * sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error
8266 message.
8267 * sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced
8268 parens.
8269 * sem_elim.adb (Eliminate_Error_Msg): Add insertion character.
8270
82712021-05-03 Piotr Trojanek <trojanek@adacore.com>
8272
8273 * freeze.adb (Freeze_Profile): Replace Error_Msg_NE with
8274 Error_Msg_N; change to continuation message.
8275 * sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace
8276 calls to Error_Msg_NE with calls to Error_Msg_N.
8277
82782021-05-03 Piotr Trojanek <trojanek@adacore.com>
8279
8280 * exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb,
8281 sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
8282 sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
8283 sem_res.adb: Remove extra leading and trailing space in error
8284 messages.
8285
82862021-05-03 Arnaud Charlet <charlet@adacore.com>
8287
8288 * sem_prag.adb (Set_Exported): Do not warn on exporting a type.
8289
82902021-05-03 Ed Schonberg <schonberg@adacore.com>
8291
8292 * sem_warn.adb (Check_References): Do not emit warning on a
8293 selected component when enclosing type has no discriminant and
8294 type of component has partial initialization.
8295
82962021-05-03 Justin Squirek <squirek@adacore.com>
8297
8298 * contracts.adb (Build_Postconditions_Procedure): Remove
8299 internally generated if statement used to control finalization
8300 actions.
8301 * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
8302 Expand_Simple_Function_Return): Add if statement around
8303 _postconditions to control finalization.
8304 * exp_ch7.adb (Build_Finalizer): Likewise.
8305 * sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to
8306 handle Context itself being a handled sequence of statements.
8307
83082021-05-03 Justin Squirek <squirek@adacore.com>
8309
8310 * sem_util.adb (In_Return_Value): Modified to detect when
8311 implicit dereference is specified on the return type of a
8312 function call within the expression being checked.
8313
83142021-05-03 Ed Schonberg <schonberg@adacore.com>
8315
8316 * exp_aggr.adb (Expand_Array_Aggregate): If the parent node of
8317 the aggregate is a subprogram call there is no target in which
8318 to build the aggregate, and it has to be expanded into component
8319 assignments.
8320
83212021-05-03 Piotr Trojanek <trojanek@adacore.com>
8322
8323 * exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments;
8324 remove periods after single-line comments; use procedural
8325 variant of Next_Entity.
8326 * gnat_cuda.adb: Refill comments; remove periods after
8327 single-line comments; replace calls to UI_From_Int with
8328 constants; change iteration bounds so they match the comments.
8329 * sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma
8330 CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global
8331 with Check_Arg_Count; sync comment with code for CUDA_Global.
8332
83332021-05-03 Arnaud Charlet <charlet@adacore.com>
8334
8335 * tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction
8336 checking on dead paths.
8337
83382021-05-03 Arnaud Charlet <charlet@adacore.com>
8339
8340 * sem_util.adb (Check_Result_And_Post_State): Replace custom
8341 Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter
8342 flag which corresponds exactly to what we need.
8343
83442021-05-03 Arnaud Charlet <charlet@adacore.com>
8345
8346 * libgnat/a-ztcoio.adb: Remove unused with clause.
8347
83482021-05-03 Piotr Trojanek <trojanek@adacore.com>
8349
8350 * sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment.
8351 (Resolve_Aspect_Expressions): Fix typo in comment; remove
8352 redundant check for no aspects; simplify with Discard_Node.
8353
83542021-05-03 Ed Schonberg <schonberg@adacore.com>
8355
8356 * sem_util.adb (Build_Constrained_Itype): Remove prior patch,
8357 issue is better handled in Sem_Ch13.Build_Predicate_Functions.
8358 * sem_ch13.adb (Build_Predicate_Functions): Do not build
8359 predicate function for an Itype with a defined
8360 Predicated_Parent, even if that designated parent does not yet
8361 have a Predicate_Function. This can happen in instance bodies
8362 nested within a generic unit.
8363
3c8e539d
GA
83642021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8365
8366 * exp_attr.adb (Expand_N_Attribute_Reference)
8367 <Attribute_Max_Size_In_Storage_Elements>: Apply the checks for
8368 universal integer contexts only in the default case.
8369 * exp_ch4.adb (Get_Size_For_Range): Move to library level.
8370 (Expand_N_Type_Conversion): If the operand has Universal_Integer
8371 type and the conversion requires an overflow check, try to do an
8372 intermediate conversion to a narrower type.
8373
83742021-04-29 Arnaud Charlet <charlet@adacore.com>
8375
8376 * sem_ch3.adb (Check_Anonymous_Access_Component): Factor out
8377 core processing of Check_Anonymous_Access_Components.
8378 (Check_Anonymous_Access_Components): Call
8379 Check_Anonymous_Access_Component.
8380 (Process_Discriminants): Call Check_Anonymous_Access_Component.
8381 * freeze.adb (Freeze_Record_Type): Code cleanups and add more tree
8382 checking to handle changes in sem_ch3.adb.
8383 * sem_ch8.adb (Find_Type): Remove special case for access
8384 discriminant in task types, these are now supported.
8385
83862021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8387
8388 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove
8389 entry condition.
8390 (Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left
8391 operand before doing the special overflow expansion.
8392 (Expand_N_Op_Eq): Likewise.
8393 (Expand_N_Op_Ge): Likewise.
8394 (Expand_N_Op_Gt): Likewise.
8395 (Expand_N_Op_Le): Likewise.
8396 (Expand_N_Op_Lt): Likewise.
8397 (Expand_N_Op_Ne): Likewise.
8398 (Minimized_Eliminated_Overflow_Check): Return False for Minimized
8399 if the size of the type is greater than that of Long_Long_Integer.
8400
84012021-04-29 Arnaud Charlet <charlet@adacore.com>
8402
8403 * exp_ch5.adb (Expand_N_If_Statement): Only perform the
8404 simplification on return True/False for internal nodes when
8405 -fpreserve-control-flow is not set.
8406
84072021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8408
8409 * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Use
8410 Round_Even instead of Round in the call to the Machine routine.
8411
84122021-04-29 Bob Duff <duff@adacore.com>
8413
8414 * sem_attr.adb (Analyze_Attribute): Change "$" to "&".
8415 Otherwise, Errout will trip over an uninitialized (invalid)
8416 variable (Error_Msg_Unit_1).
8417
84182021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8419
8420 * libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero
8421 when the precision limit is reached by means of trailing zeros
8422 and prevent it from being overwritten later.
8423
84242021-04-29 Yannick Moy <moy@adacore.com>
8425
8426 * errout.adb (Output_Messages): Insert SGR strings where needed.
8427 * erroutc.adb (Output_Message_Txt): Insert SGR strings where
8428 needed in the text of the message itself.
8429 (Output_Msg_Text): Allow for style message not to start
8430 with (style).
8431 * erroutc.ads: Add new constants and functions to control colors
8432 in messages output to the terminal. Add variable Use_SGR_Control
8433 that should be set to True for using SGR color control strings.
8434
84352021-04-29 Yannick Moy <moy@adacore.com>
8436
8437 * sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply
8438 compile-time checking for overflows in non-static contexts
8439 including inlined code.
8440 (Eval_Arithmetic_Op): Use the new procedure.
8441 (Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure.
8442
84432021-04-29 Justin Squirek <squirek@adacore.com>
8444
8445 * checks.adb (Apply_Type_Conversion_Checks): Move out constraint
8446 check generation, and add case for general access types with
8447 constraints.
8448 (Make_Discriminant_Constraint_Check): Created to centralize
8449 generation of constraint checks for stored discriminants.
8450
84512021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8452
8453 * gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration
8454 type if the maximum integer size is lower than 64 bits.
8455
84562021-04-29 Arnaud Charlet <charlet@adacore.com>
8457
8458 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files.
8459 (ADA_INCLUDE_SRCS): Remove libgnat/system.ads
8460
84612021-04-29 Arnaud Charlet <charlet@adacore.com>
8462
8463 * exp_aggr.adb (Collect_Initialization_Statements): Removed.
8464 (Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix
8465 creation and insertion of Initialization_Statements. Do not set
8466 Initialization_Statements when a transient scope is involved.
8467 Move processing of Array_Slice here. Ensure that an object with
8468 an Array_Slice call gets its array component initialized. Add
8469 comments.
8470 * exp_ch7.adb: Update comments.
8471 (Store_Actions_In_Scope): Deal properly with an empty list which
8472 might now be generated by Convert_Aggr_In_Object_Decl.
8473 * exp_ch3.adb: Update comments.
8474 (Expand_N_Object_Declaration): Remove processing of Array_Slice.
8475
84762021-04-29 Arnaud Charlet <charlet@adacore.com>
8477
8478 * sem_ch8.adb (Analyze_Object_Renaming): Update check for
8479 AI12-0401.
8480
84812021-04-29 Patrick Bernardi <bernardi@adacore.com>
8482
8483 * libgnat/s-stoele.ads (Storage_Offset): Cleanup comment.
8484
84852021-04-29 Gary Dismukes <dismukes@adacore.com>
8486
8487 * exp_util.adb (Add_Own_DIC): Relax the suppression of adding a
8488 DIC Check pragma that's done for abstract types by still doing
8489 it in the case where GNATprove_Mode is set.
8490
84912021-04-29 Joel Brobecker <brobecker@adacore.com>
8492
8493 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads,
8494 s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads.
8495
84962021-04-29 Piotr Trojanek <trojanek@adacore.com>
8497
8498 * layout.adb (Layout_Type): Refine type of a local variable with
8499 the required size of object from Int to Pos (it is initialized
8500 with 8 and only multiplied by 2); fix unbalanced parens in
8501 comment.
8502
85032021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8504
8505 * eval_fat.adb (Succ): Use Ureal_Half in a couple of places.
8506
85072021-04-29 Ed Schonberg <schonberg@adacore.com>
8508
8509 * sem_util.adb (Build_Constrained_Itype): Inhibit the generation
8510 of predicate functions for this Itype, which is created for an
8511 aggregate of a discriminated type. The object to which the
8512 aggregate is assigned, e.g a writable actual parameter, will
8513 apply the predicates if any are inherited from the base type.
8514
85152021-04-29 Piotr Trojanek <trojanek@adacore.com>
8516
8517 * sem_cat.adb (Set_Categorization_From_Pragmas): Remove special
8518 case for generic child units; remove optimization for empty list
8519 of pragmas; properly restore visibility.
8520
85212021-04-29 Piotr Trojanek <trojanek@adacore.com>
8522
8523 * sem_elab.adb (Process_SPARK_Instantiation): Fix typo in
8524 comment.
8525 * sem_prag.adb (Find_Related_Context): Add missing reference to
8526 No_Caching in the comment; handle pragmas on compilation units.
8527
85282021-04-29 Piotr Trojanek <trojanek@adacore.com>
8529
8530 * doc/gnat_rm/implementation_defined_attributes.rst: Change all
8531 occurrences of "permissible prefix" to "allowed prefix", for
8532 consistency.
8533 * gnat_rm.texi: Regenerate.
8534
85352021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8536
8537 * eval_fat.adb (Succ): Add a special case for zero if the type does
8538 not support denormalized numbers. Always use the canonical formula
8539 in other cases and add commentary throughout the function.
8540
85412021-04-29 Eric Botcazou <ebotcazou@adacore.com>
8542
8543 * libgnat/s-fatgen.adb: Remove with clause for Interfaces and
8544 use type clauses for Interfaces.Unsigned_{16,32,64}.
8545 (Small16): Remove.
8546 (Small32): Likewise
8547 (Small64): Likewise.
8548 (Small80): Likewise.
8549 (Tiny16): Likewise.
8550 (Tiny32): Likewise.
8551 (Tiny64): Likewise.
8552 (Tiny80): Likewise.
8553 (Siz): Always use 16.
8554 (NR): New constant.
8555 (Rep_Last): Use it in the computation.
8556 (Exp_Factor): Remove special case for 80-bit.
8557 (Sign_Mask): Likewise.
8558 (Finite_Succ): New function implementing the Succ attribute for
8559 finite numbers.
8560 (Pred): Rewrite in terms of Finite_Succ.
8561 (Succ): Likewise.
8562
85632021-04-29 Arnaud Charlet <charlet@adacore.com>
8564
8565 * debug_a.adb (Debug_Output_Astring): Remove obsolete comment.
8566
85672021-04-29 Arnaud Charlet <charlet@adacore.com>
8568
8569 * sem_attr.adb (Check_Image_Type): Protect against empty
8570 Image_Type.
8571
85722021-04-29 Arnaud Charlet <charlet@adacore.com>
8573
8574 * libgnat/a-nbnbin.ads (From_Universal_Image): New.
8575 (Big_Integer): Update definition.
8576 * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb
8577 (From_Universal_Image): New.
8578 (From_String): Remove alternate body, replaced by
8579 From_Universal_Image.
8580 (Big_Real): Update definition.
8581
85822021-04-29 Gary Dismukes <dismukes@adacore.com>
8583
8584 * sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features
8585 restriction for 'Class applied to an untagged incomplete
8586 type (when Ada_Version >= Ada_2005). Remove disabling of the
8587 warning message for such usage, along with the ??? comment,
8588 which no longer applies (because the -gnatg switch no longer
8589 sets Warn_On_Obsolescent_Feature).
8590
85912021-04-29 Yannick Moy <moy@adacore.com>
8592
8593 * errout.adb (Error_Msg_NEL): Extract span from node.
8594 (First_And_Last_Nodes): Use spans for subtype indications and
8595 attribute definition clauses.
8596 (Write_Source_Code_Lines): Fix for tabulation characters. Change
8597 output for large spans to skip intermediate lines.
8598 * sem_case.adb (Check_Choice_Set): Report duplicate choice on
8599 the Original_Node for the case.
8600 (Generic_Check_Choices): Set the Original_Node for the rewritten
8601 case, so that the subtree used in spans has the correct
8602 locations.
8603
e4ff4ffb
GA
86042021-04-28 Piotr Trojanek <trojanek@adacore.com>
8605
8606 * sem_ch13.adb, sem_util.adb: Fix style.
8607
86082021-04-28 Piotr Trojanek <trojanek@adacore.com>
8609
8610 * nlists.ads (List_Length): Adapt comment to match the
8611 behaviour.
8612
86132021-04-28 Arnaud Charlet <charlet@adacore.com>
8614
8615 * sem_eval.adb (Eval_Selected_Component): Only consider compile
8616 time known aggregates.
8617
86182021-04-28 Eric Botcazou <ebotcazou@adacore.com>
8619
8620 * libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16
8621 and Interfaces.Unsigned_32.
8622 (Small16): New constant.
8623 (Small32): Likewise.
8624 (Small64): Likewise.
8625 (Small80): Likewise.
8626 (Pred): Declare a local overlay for Small and return it negated
8627 for zero if the type does not support denormalized numbers.
8628 (Succ): Likewise, but return it directly.
8629
86302021-04-28 Piotr Trojanek <trojanek@adacore.com>
8631
8632 * inline.adb (Formal_Is_Used_Once): Refine type of the counter
8633 variable; remove redundant assignment.
8634
86352021-04-28 Patrick Bernardi <bernardi@adacore.com>
8636
8637 * libgnarl/s-interr.adb (Install_Restricted_Handlers): Change
8638 Prio parameter to type Interrupt_Priority.
8639 * libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise.
8640 * libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers):
8641 Likewise.
8642 * libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers):
8643 Likewise.
8644 * libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers):
8645 Likewise.
8646 * libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers):
8647 Likewise.
8648
86492021-04-28 Piotr Trojanek <trojanek@adacore.com>
8650
8651 * sem_type.ads (Write_Interp_Ref): Removed; no longer needed.
8652 * sem_type.adb (Headers): Removed; now the hash table is
8653 directly in the Interp_Map alone.
8654 (Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable.
8655 (Last_Overloaded): New variable to emulate Interp_Map.Last.
8656 (Add_One_Interp): Adapt to new data structure.
8657 (Get_First_Interp): Likewise.
8658 (Hash): Likewise.
8659 (Init_Interp_Tables): Likewise.
8660 (New_Interps): Likewise.
8661 (Save_Interps): Likewise; handle O_N variable like in
8662 Get_First_Interp.
8663 (Write_Interp_Ref): Removed; no longer needed.
8664
86652021-04-28 Piotr Trojanek <trojanek@adacore.com>
8666
8667 * inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc.
8668
86692021-04-28 Piotr Trojanek <trojanek@adacore.com>
8670
8671 * sem_ch13.adb (Analyze_Aspect_Static): Reuse
8672 Error_Msg_Ada_2020_Feature for aspect Static.
8673 (Analyze_One_Aspect): Likewise for aspect Full_Access.
8674
86752021-04-28 Piotr Trojanek <trojanek@adacore.com>
8676
8677 * sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a
8678 single check for the expression being present; adapt comments.
8679
86802021-04-28 Piotr Trojanek <trojanek@adacore.com>
8681
8682 * sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the
8683 error message.
8684
86852021-04-28 Piotr Trojanek <trojanek@adacore.com>
8686
8687 * sem_eval.adb (Eval_Selected_Component): Simplify with
8688 Unqualify.
8689
86902021-04-28 Eric Botcazou <ebotcazou@adacore.com>
8691
8692 * libgnat/s-valrea.adb (Fast2Sum): New function.
8693 (Integer_to_Real): Use it in an iterated addition with exact
8694 error handling for the case where an extra digit is needed.
8695 Move local variable now only used in the exponentiation case.
8696
86972021-04-28 Yannick Moy <moy@adacore.com>
8698
8699 * errout.adb: (Error_Msg_Internal): Use span instead of
8700 location.
8701 (Error_Msg, Error_Msg_NEL): Add versions with span parameter.
8702 (Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE,
8703 Error_Msg_NW): Retrieve span from node.
8704 (First_Node): Use the new First_And_Last_Nodes.
8705 (First_And_Last_Nodes): Expand on previous First_Node. Apply to
8706 other nodes than expressions.
8707 (First_Sloc): Protect against inconsistent locations.
8708 (Last_Node): New function based on First_And_Last_Nodes.
8709 (Last_Sloc): New function similar to First_Sloc.
8710 (Output_Messages): Update output when -gnatdF is used. Use
8711 character ~ for making the span visible, similar to what is done
8712 in GCC and Clang.
8713 * errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span
8714 parameter.
8715 (First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms.
8716 * erroutc.adb: Adapt to Sptr field being a span.
8717 * erroutc.ads (Error_Msg_Object): Change field Sptr from
8718 location to span.
8719 * errutil.adb: Adapt to Sptr field being a span.
8720 * freeze.adb: Use Errout reporting procedures for nodes to get
8721 spans.
8722 * par-ch3.adb: Likewise.
8723 * par-prag.adb: Likewise.
8724 * par-util.adb: Likewise.
8725 * sem_case.adb: Likewise.
8726 * sem_ch13.adb: Likewise.
8727 * sem_ch3.adb: Likewise.
8728 * sem_prag.adb: Likewise.
8729 * types.ads: (Source_Span): New type for spans.
8730 (To_Span): Basic constructors for spans.
8731
87322021-04-28 Arnaud Charlet <charlet@adacore.com>
8733
8734 * einfo.adb (Discriminant_Constraint): Refine assertion.
8735
87362021-04-28 Gary Dismukes <dismukes@adacore.com>
8737
8738 * exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma
8739 when the pragma occurs for an abstract type, since that could
8740 lead to a call to an abstract function, and such DIC checks can
8741 never be performed for abstract types in any case.
8742 * sem_disp.adb (Check_Dispatching_Context): Suppress the check
8743 for illegal calls to abstract subprograms when the call occurs
8744 within a Default_Initial_Condition aspect and the call is passed
8745 the current instance as an actual.
8746 (Has_Controlling_Current_Instance_Actual): New function to test
8747 a call to see if it has any actuals given by direct references
8748 to a current instance of a type
8749 * sem_res.adb (Resolve_Actuals): Issue an error for a call
8750 within a DIC aspect to a nonprimitive subprogram with an actual
8751 given by the name of the DIC type's current instance (which will
8752 show up as a reference to the formal parameter of a DIC
8753 procedure).
8754
87552021-04-28 Ed Schonberg <schonberg@adacore.com>
8756
8757 * exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
8758 the type extension when within a generic unit, even though
8759 expansion is disabled, to allow for proper resolution of
8760 selected components inherited from an ancestor.
8761
87622021-04-28 Arnaud Charlet <charlet@adacore.com>
8763
8764 * sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type
8765 before assuming Ent is a typo.
8766 * sem_ch4.adb (Analyze_Expression_With_Actions): Update
8767 comments, minor reformatting.
8768 * sem_res.adb (Resolve_Declare_Expression): Add protection
8769 against no type.
8770
87712021-04-28 Arnaud Charlet <charlet@adacore.com>
8772
8773 * exp_ch6.adb: Fix typo in comment.
8774 * sem_ch3.adb (Access_Subprogram_Declaration): Add missing call
8775 to Create_Extra_Formals. Remove obsolete bootstrap check.
8776 * sem_eval.adb (Eval_Selected_Component): Simplify a
8777 selected_component on an aggregate.
8778
87792021-04-28 Piotr Trojanek <trojanek@adacore.com>
8780
8781 * fmap.ads (Reset_Tables): Remove outdated references to
8782 GNSA/ASIS.
8783 * sem_eval.ads (Initialize): Likewise.
8784 * sem_type.adb (Headers): Remove initialization at elaboration.
8785 * sem_type.ads (Init_Interp_Tables): Remove outdated reference
8786 to gnatf.
8787 * stringt.ads (Initialize): Fix style in comment.
8788
87892021-04-28 Piotr Trojanek <trojanek@adacore.com>
8790
8791 * sem_res.ads: Update reference in comment.
8792 * sem_type.ads: Fix casing in a name of a unit.
8793
87942021-04-28 Yannick Moy <moy@adacore.com>
8795
8796 * ghost.adb (Check_Ghost_Context): Add continuation message when
8797 in predicate.
8798
87992021-04-28 Eric Botcazou <ebotcazou@adacore.com>
8800
8801 * libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num
8802 for the component type of the table of powers of ten.
8803 * libgnat/s-valuer.adb (Round_Extra): Add assertion on Base.
8804
88052021-04-28 Piotr Trojanek <trojanek@adacore.com>
8806
8807 * sem_ch5.adb (Analyze_Case_Statement): Extend optimization to
8808 all objects; fix typo in comment.
8809
88102021-04-28 Piotr Trojanek <trojanek@adacore.com>
8811
8812 * exp_ch9.adb (Build_Barrier_Function): Refine type of a
8813 protected type entity.
8814 (Is_Pure_Barrier): Fix style.
8815
88162021-04-28 Bob Duff <duff@adacore.com>
8817
8818 * exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code,
8819 and always use OK_Convert_To, rather than Unchecked_Convert_To
8820 and Convert_To.
8821
88222021-04-28 Arnaud Charlet <charlet@adacore.com>
8823
8824 * sem_ch3.adb (Analyze_Object_Declaration): Remove dead code.
8825 * ali.ads, ali.adb (Scan_ALI): Remove unused parameters.
8826 Remove unused code related to Xref lines.
8827 (Get_Typeref): Removed, no longer used.
8828
88292021-04-28 Arnaud Charlet <charlet@adacore.com>
8830
8831 * exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func,
8832 Expand_N_Attribute_Reference): Use Get_Fullest_View instead of
8833 Validated_View.
8834 (Build_Record_VS_Func): Adjust to keep using Validated_View.
8835 (Expand_N_Attribute_Reference) [Valid]: Use
8836 Small_Integer_Type_For to allow for more compile time
8837 evaluations.
8838 * sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise
8839 support for N_Indexed_Component and fix support for
8840 N_Selected_Component which wasn't completely safe.
8841 (List_Cannot_Raise_CE): New.
8842 * libgnat/i-cobol.adb (Valid_Packed): Simplify test to address
8843 new GNAT warning.
8844
88452021-04-28 Arnaud Charlet <charlet@adacore.com>
8846
8847 * .gitignore: New.
8848 * doc/share/conf.py: Add Python 3 compatibility.
8849 * doc/share/gnat.sty: Add missing file.
8850
88512021-04-28 Richard Wai <richard@annexi-strayline.com>
8852
8853 * libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor
8854 type definition to be consistent with identical definitions in other
8855 container packages. Add additional comments regarding the importance of
8856 maintaining the "Position" component for predefined equality.
8857 * libgnat/a-cohama.ads (Cursor): Likewise.
8858 * libgnat/a-cihama.ads (Cursor): Likewise.
8859 * libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects
8860 always have their "Position" component set to ensure predefined
8861 equality works as required.
8862 * libgnat/a-cohama.adb (Find, Insert): Likewise.
8863 * libgnat/a-cihama.adb (Find, Insert): Likewise.
8864
88652021-04-28 Eric Botcazou <ebotcazou@adacore.com>
8866
8867 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a
8868 const or pure function because of a parameter whose type is pointer
8869 to function.
8870 * gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion
8871 between an actual and a formal that are unconstrained array types.
8872 (gnat_gimplify_expr) <CALL_EXPR>: New case.
8873 * gcc-interface/utils2.c (build_binary_op): Do not use |= operator.
8874 (gnat_stabilize_reference_1): Likewise.
8875 (gnat_rewrite_reference): Likewise.
8876 (build_unary_op): Do not clear existing TREE_CONSTANT on the result.
8877 (gnat_build_constructor): Also accept the address of a constant
8878 CONSTRUCTOR as constant element.
8879
88802021-04-28 Eric Botcazou <ebotcazou@adacore.com>
8881
8882 * gcc-interface/trans.c (is_array_of_scalar_type): New predicate.
8883 (find_decls_r): New function.
8884 (return_slot_opt_for_pure_call_p): New predicate.
8885 (Call_to_gnu): Do not create a temporary for the return value if the
8886 parent node is an aggregate. If there is a target, try to apply the
8887 return slot optimization to regular calls to pure functions returning
8888 an array of scalar type.
8889
88902021-04-28 Eric Botcazou <ebotcazou@adacore.com>
8891
8892 * gcc-interface/trans.c (language_function): Add comment.
8893 (loop_info_d): Add fndecl and invariants fields.
8894 (find_loop_for): Test fndecl instead of the context of var.
8895 (find_loop): New function.
8896 (Regular_Loop_to_gnu): Fold back into...
8897 (Loop_Statement_to_gnu): ...this. Emit invariants on entry, if any.
8898 (gnat_to_gnu) <N_Selected_Component>: Record nonconstant invariant
8899 offset computations in loops when optimization is enabled.
8900 * gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR.
8901
be8aad8d
GA
89022021-04-20 Martin Liska <mliska@suse.cz>
8903
8904 * gnatvsn.ads: Bump Library_Version to 12.
8905
6d0d35d5
GA
89062021-04-13 Eric Botcazou <ebotcazou@adacore.com>
8907
8908 * gcc-interface/misc.c (gnat_init): Set default range bits to 0.
8909 * gcc-interface/trans.c (extract_encoding): Delete.
8910 (decode_name): Likewise.
8911 (File_Name_to_gnu): New function.
8912 (gigi): Call it to translate file names. Replace assertion on
8913 1-1 mapping between files and line maps with conditional error.
8914
a0ecde22
GA
89152021-04-11 Gerald Pfeifer <gerald@pfeifer.com>
8916
8917 * gnat_ugn.texi (Top): Avoid invalid "up" link.
8918
65374af2
GA
89192021-03-29 Eric Botcazou <ebotcazou@adacore.com>
8920
8921 PR ada/99802
8922 * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
8923 on the name of an N_Assignment_Statement to spot full access.
8924
e9800852
GA
89252021-03-10 Eric Botcazou <ebotcazou@adacore.com>
8926
8927 * gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
8928 for the main variant of an enumeration type declared as volatile.
8929
8dc225d3
GA
89302021-03-09 Mikael Pettersson <mikpelinux@gmail.com>
8931
8932 * raise-gcc.c: On Cygwin include mingw32.h to prevent
8933 windows.h from including x86intrin.h or emmintrin.h.
8934
ceae9533
GA
89352021-03-05 Eric Botcazou <ebotcazou@adacore.com>
8936
8937 PR ada/99264
8938 * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
8939 MINSIGSTKSZ and bump size to 32KB.
8940 * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
8941
d97a92dc
GA
89422021-03-02 Mikael Pettersson <mikpelinux@gmail.com>
8943
8944 PR bootstrap/98590
8945 * cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.
8946
89472021-03-02 Eric Botcazou <ebotcazou@adacore.com>
8948
8949 PR ada/99095
8950 * sem_ch8.adb (Check_Constrained_Object): Restrict again the special
8951 optimization for limited types to non-array types except in the case
8952 of an extended return statement.
8953
88938886
GA
89542021-03-02 Eric Botcazou <ebotcazou@adacore.com>
8955
8956 PR ada/99020
8957 * sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
8958 only if the type is not private.
8959
06a9f20f
GA
89602021-02-26 YunQiang Su <yunqiang.su@cipunited.com>
8961
8962 PR ada/98996
8963 * Makefile.rtl: <mips*-*-linux*>
8964 add 128Bit operation file for MIPS N64 and N32 to
8965 LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS
8966
fab095da
GA
89672021-02-12 Arnaud Charlet <charlet@adacore.com>
8968
8969 * repinfo.ads, repinfo.adb (*SO_Ref*): Restore.
8970
9faaa807
GA
89712021-02-03 Eric Botcazou <ebotcazou@adacore.com>
8972
8973 * gcc-interface/decl.c (components_to_record): If the first component
8974 with rep clause is the _Parent field with variable size, temporarily
8975 set it aside when computing the internal layout of the REP part again.
8976 * gcc-interface/utils.c (finish_record_type): Revert to taking the
8977 maximum when merging sizes for all record types with rep clause.
8978 (merge_sizes): Put SPECIAL parameter last and adjust recursive calls.
8979
89802021-02-03 Eric Botcazou <ebotcazou@adacore.com>
8981
8982 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
8983 two fields of the fat pointer type addressable, and do not make the
8984 template type read-only.
8985 <E_Record_Type>: If the type has discriminants mark it as may_alias.
8986 * gcc-interface/utils.c (make_dummy_type): Likewise.
8987 (build_dummy_unc_pointer_types): Likewise.
8988
e62bb7f0
GA
89892021-01-26 Marius Hillenbrand <mhillen@linux.ibm.com>
8990
8991 PR ada/98228
8992 * gcc-interface/utils.c (maybe_pad_type): Test the size of the new
8993 packable type instead of its alignment for addressability's sake.
8994
161e4c08
GA
89952021-01-25 Eric Botcazou <ebotcazou@adacore.com>
8996
8997 * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
8998 of the parameters and do not set TREE_PUBLIC on the thunk.
8999 (maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
9000 * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
9001 of the parameters here...
9002 (begin_subprog_body): ...instead of here.
9003
f35a4f96
GA
90042021-01-19 Eric Botcazou <ebotcazou@adacore.com>
9005
9006 PR ada/98740
9007 * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
9008
5fff80fd
GA
90092021-01-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
9010
9011 PR ada/98595
9012 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
9013 wraplf version of Aux_Long_Long_Float.
9014
2e96eec6
GA
90152021-01-03 Eric Botcazou <ebotcazou@adacore.com>
9016
9017 * gnatvsn.ads: Bump copyright year.
9018
b6dd195a
GA
90192021-01-01 Jakub Jelinek <jakub@redhat.com>
9020
9021 * gnat_ugn.texi: Bump @copying's copyright year.
9022 * gnat_rm.texi: Likewise.
9023
90242021-01-01 Jakub Jelinek <jakub@redhat.com>
9025
9026 * ChangeLog-2020: Rotate ChangeLog. New file.
9027
848830dc 9028\f
618e665a 9029Copyright (C) 2021 Free Software Foundation, Inc.
848830dc
PMR
9030
9031Copying and distribution of this file, with or without modification,
9032are permitted in any medium without royalty provided the copyright
9033notice and this notice are preserved.