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