1 2021-07-01 Eric Botcazou <ebotcazou@adacore.com>
4 * exp_attr.adb (Get_Integer_Type): Return an integer type with the
5 same signedness as the input type.
7 2021-06-29 Richard Kenner <kenner@adacore.com>
9 * sem_util.adb (Visit_Node): Add handling for N_Block_Statement
12 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
15 (Unknown_Alignment): Simply negate the Known_ counterpart.
16 (Unknown_Component_Bit_Offset): Likewise.
17 (Unknown_Esize): Likewise.
18 (Unknown_Normalized_First_Bit): Likewise.
19 (Unknown_Normalized_Position): Likewise.
20 (Unknown_Normalized_Position_Max): Likewise.
21 (Unknown_RM_Size): Likewise.
23 2021-06-29 Boris Yakobowski <yakobowski@adacore.com>
25 * exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1
28 2021-06-29 Aleksandra Pasek <pasek@adacore.com>
30 * libgnat/s-objrea.adb (EM_AARCH64): New Constant.
31 (Initialize): Handle EM_AARCH64 case.
32 (Read_Address): Handle AARCH64 case.
33 * libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record
36 2021-06-29 Bob Duff <duff@adacore.com>
38 * sem_ch13.adb (Analyze_Record_Representation_Clause): Call
39 Set_Entity_With_Checks instead of Set_Entity, so we perform the
40 check for correct casing.
41 * style.adb (Check_Identifier): Minor comment improvement.
42 Cleanup overly complicated code.
44 2021-06-29 Ed Schonberg <schonberg@adacore.com>
46 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of
47 the aggregate, the expression can be removed from the
48 declaration, except if the object is class-wide, in which case
49 the aggregate provides the actual type. In other cases the
50 presence of the expression may lead to spurious freezing issue.
51 * exp_ch3.adb (Expand_N_Object_Declaration): If the expression
52 in the declaration is an aggregate with delayed expansion (as is
53 the case for objects of a limited type, or a subsequent address
54 specification) the aggregate must be resolved at this point.
55 This resolution must not include expansion, because the
56 expansion of the enclosing declaration will construct the
57 necessary aggregate expansion.
59 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
61 * errout.ads (Adjust_Name_Case): Remove obsolete and now unused
63 * errout.adb (Adjust_Name_Case): Likewise; fix variant that uses
64 a custom buffer to also use it for names in Standard_Location.
66 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
68 * sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze".
69 (Install_Body): Likewise.
71 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
73 * adaint.c (__gnat_portable_spawn): Revert change that
74 introduced setting of __gnat_in_child_after_fork.
76 2021-06-29 Patrick Bernardi <bernardi@adacore.com>
78 * libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components
81 2021-06-29 Doug Rupp <rupp@adacore.com>
83 * Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move
84 i-vxinco.o out of RTP runtime.
86 2021-06-29 Claire Dross <dross@adacore.com>
88 * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
89 pre and postconditions.
90 * libgnat/a-cfhama.ads: Likewise.
91 * libgnat/a-cfhase.ads: Likewise.
92 * libgnat/a-cfinve.ads: Likewise.
93 * libgnat/a-cforma.ads: Likewise.
94 * libgnat/a-cforse.ads: Likewise.
95 * libgnat/a-cofove.ads: Likewise.
97 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
99 * sem_util.ads (Get_Fullest_View): Refill comment; remove extra
101 * sem_util.adb (Get_Fullest_View): Fix style.
103 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
105 * sem_ch3.adb (Analyze_Declarations): Remove explicit check for
106 missing, because a subsequent call to Is_Empty_List will detect
109 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
111 * freeze.adb (Freeze_All): Simplify by reusing
112 Is_Subprogram_Or_Entry.
113 * sem_ch11.adb (Analyze_Handled_Statement): Likewise.
115 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
117 * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded
118 errors once for the subprogram call, not for every pair of
121 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
123 * sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within.
125 2021-06-29 Gary Dismukes <dismukes@adacore.com>
127 * sem_ch6.ads (Can_Override_Operator): Function declaration
128 moved from package body to package spec.
129 * sem_ch6.adb (Check_Overriding_Indicator): Now use test of
130 whether the subprogram's Chars is an operator name, to handle
131 cases of function instances whose entity is
132 N_Defining_Identifier rather than N_Defining_Operator_Symbol.
133 (Can_Override_Operator): Function declaration moved to package
134 spec. Now use test of whether the subprogram's Chars is an
135 operator name, to handle cases of function instances whose
136 entity is N_Defining_Identifier rather than
137 N_Defining_Operator_Symbol.
138 * sem_ch8.adb (Analyze_Renamed_Subprogram): Check for
139 possibility of an overridden predefined operator, and suppress
140 the "not overriding" message in that case.
142 2021-06-29 Doug Rupp <rupp@adacore.com>
144 * Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib.
146 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
148 * exp_attr.adb (Build_Array_VS_Func): Restore uses of
150 (Build_Record_VS_Func): Likewise.
151 (Expand_N_Attribute_Reference): Likewise.
152 * sem_util.adb (Validated_View): Behave as an identity function
153 for arrays and scalars.
155 2021-06-29 Bob Duff <duff@adacore.com>
157 * atree.adb, atree.ads (Parent, Set_Parent): Assert node is
159 (Copy_Parent, Parent_Kind): New helper routines.
160 * gen_il-gen.adb: Add with clause.
161 * nlists.adb (Parent): Assert Parent of list is Present.
162 * aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb,
163 exp_util.adb, lib-xref-spark_specific.adb, osint.ads,
164 sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb,
165 sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
166 treepr.adb: Do not call Parent and Set_Parent on the Empty node.
167 * libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb:
168 Minor: Fix typos in comments.
169 * einfo.ads: Minor comment update.
170 * sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent):
173 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
175 * repinfo-input.adb (Read_JSON_Stream): Fix typo.
177 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
179 * rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into
180 RE_Valid_Value_Enumeration_NN.
181 (RE_Unit_Table): Adjust to above renaming.
182 * exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise.
183 * libgnat/s-valuen.ads (Invalid): Remove.
184 (Value_Enumeration_Pos): Move to...
185 * libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here.
186 Return -1 instead of Invalid.
187 (Value_Enumeration): Compare against 0 instead of Invalid.
188 (Valid_Enumeration_Value): Likewise. Rename to...
189 (Valid_Value_Enumeration): ...this.
190 * libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into...
191 (Valid_Value_Enumeration_8): ...this.
192 * libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into...
193 (Valid_Value_Enumeration_16): ...this.
194 * libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into...
195 (Valid_Value_Enumeration_32): ...this.
197 2021-06-29 Bob Duff <duff@adacore.com>
199 * einfo.ads (Component_Bit_Offset, Component_Size): Update
200 documentation: Repinfo is the package where these negative
201 values are documented.
202 * einfo-utils.adb (Known_Component_Size,
203 Known_Static_Component_Size, Unknown_Component_Size): Remove
204 calls to Implementation_Base_Type, because Component_Size is an
205 Impl_Base_Type_Only field (see Gen_Entities).
206 * sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and
207 RM_Size. This is unnecessary in the case of Size. For
208 Component_Size, it is wrong, because we would be setting the
209 Esize and RM_Size of the component type.
211 2021-06-29 Pascal Obry <obry@adacore.com>
213 * s-oscons-tmplt.c: Add some OS constants.
215 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
217 * sem_util.ads (Validated_View): Fix style in comment.
218 * sem_util.adb (Validated_View): Rewrite in recursive style.
220 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
222 * Make-generated.in (ada/stamp-gen_il): Ignore errors from
225 2021-06-29 Richard Kenner <kenner@adacore.com>
227 * gen_il-gen-gen_entities.adb (Record_Field_Kind,
228 Allocatable_Kind): Add new abstract kinds.
229 (Constant_Or_Variable_Kind): Likewise.
230 (E_Constant, E_Variable, E_Loop_Parameter): Use them.
231 (E_Discriminant, E_Component): Likewise.
232 * gen_il-types.ads (type Opt_Type_Enum): Add them.
234 2021-06-29 Bob Duff <duff@adacore.com>
236 * gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct
238 * gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this
239 function. It was assuming that the order of the enumeration
240 literals in Type_Enum is the same as the order of the generated
241 types Node_Kind and Entity_Kind, which is not true.
243 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
245 * exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use
246 Validated_View for record objects.
248 2021-06-28 Martin Sebor <msebor@redhat.com>
250 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
251 Replace TREE_NO_WARNING with suppress_warning.
252 (gnat_gimplify_expr): Same.
253 * gcc-interface/utils.c (gnat_pushdecl): Same.
255 2021-06-21 Gary Dismukes <dismukes@adacore.com>
257 * checks.adb (Selected_Range_Checks): In the case of a
258 qualified_expression where the qualifying subtype is an
259 unconstrained array subtype with fixed lower bounds for some of
260 its indexes, generate tests to check that those bounds are equal
261 to the corresponding lower bounds of the qualified array object.
263 2021-06-21 Bob Duff <duff@adacore.com>
265 * libgnat/s-valuen.ads (Value_Enumeration,
266 Valid_Enumeration_Value): Inline.
267 (Value_Enumeration_Pos): Add Pure_Function.
269 2021-06-21 Justin Squirek <squirek@adacore.com>
271 * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
272 feature under pragma Extensions_Allowed.
273 * gnat_rm.texi: Regenerate.
274 * errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to
275 issue errors when parsing extension only constructs.
276 * exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement):
277 Created to expand raise ... when constucts.
278 * exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement):
279 Created to expand goto ... when constructs.
280 * exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement):
281 Created to expand return ... when constructs.
282 * expander.adb (Expand): Add case entries for "when" constructs.
283 * gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for
285 * par-ch11.adb (P_Raise_Statement): Add processing for raise ...
287 * par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to
288 Missing_Semicolon_On_When and moved to par-util.adb.
289 * par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and
290 processing added for "return ... when" return kind.
291 (Is_Simple): Renamed to Get_Return_Kind.
292 (P_Return_Statement): Add case for return ... when variant of
294 * par-util.adb, par.adb (Missing_Semicolon_On_When): Added to
295 centeralize parsing of "when" keywords in the context of "when"
297 * sem.adb (Analyze): Add case for "when" constructs.
298 * sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement):
299 Created to analyze raise ... when constructs.
300 * sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement):
301 Created to analyze goto ... when constructs.
302 * sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement):
303 Created to analyze return ... when constructs.
304 * sprint.adb (Sprint_Node_Actual): Add entries for new "when"
307 2021-06-21 Steve Baird <baird@adacore.com>
309 * Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags.
310 (ada/stamp-gen_il): Remove dependencies on libgnat/ sources. Do not
311 copy libgnat/ sources locally and tidy up.
312 * Makefile.rtl: Include object files for new Text_Buffer units
313 in the GNATRTL_NONTASKING_OBJS list.
314 * exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to
315 match new specs. For example, calls to RE_Sink are replaced with
316 calls to RE_Root_Buffer_Type. Update comments and change
317 subprogram names accordingly (e.g., Preload_Sink is changed to
318 Preload_Root_Buffer_Type).
319 * impunit.adb: Add 6 new predefined units (Text_Buffers and 5
320 child units thereof).
321 * rtsfind.ads, rtsfind.adb: Add interfaces for accessing the
322 Ada.Strings.Text_Buffers package and declarations
323 therein (including the Unbounded child unit). Do not (yet)
324 delete interfaces for accessing the old Text_Output package.
325 * sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses
326 with RE_Root_Buffer_Type and update comments accordingly.
327 * sem_ch10.adb (Analyze_Compilation_Unit): Update call to
328 reflect name change of callee (that is, the former Preload_Sink
329 is now Preload_Root_Buffer_Type).
330 * sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with
332 (Build_Spec): Update comment describing a parameter type.
333 * gen_il.ads: Remove clauses for the old Text_Output package and
334 add them for Ada.Streams.Stream_IO.
336 (Create_File): Likewise.
337 (Increase_Indent): Likewise.
338 (Decrease_Indent): Likewise.
341 * gen_il.adb: Add clauses for Ada.Streams.Stream_IO.
342 (Create_File): New procedure.
343 (Increase_Indent): Likewise.
344 (Decrease_Indent): Likewise.
345 (Put): New procedures.
346 * gen_il-gen.adb: Add clauses for Ada.Text_IO. Replace
347 Sink'Class with Sink throughout. Use string concatenation and
348 LF marker instead of formatted strings and "\n" marker. Update
349 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
351 (Put_Membership_Query_Decl): Remove.
352 * gen_il-internals.ads: Replace Sink'Class with Sink throughout.
355 * gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and
356 Ada.Strings.Text_Buffers.Files. Replace Sink'Class with Sink
357 throughout. Use string concatenation and LF marker instead of
358 formatted strings and "\n" marker.
362 * libgnarl/s-putaim.ads: Modify context clause, update
363 declaration of subtype Sink to refer to
364 Text_Buffers.Root_Buffer_Type instead of the old
365 Text_Output.Sink type.
366 * libgnarl/s-putaim.adb: Modify context clause and add use
367 clause to refer to Text_Buffers package.
368 * libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
369 libgnat/a-cbhama.ads, libgnat/a-cbhama.adb,
370 libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
371 libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb,
372 libgnat/a-cborma.ads, libgnat/a-cborma.adb,
373 libgnat/a-cborse.ads, libgnat/a-cborse.adb,
374 libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
375 libgnat/a-cidlli.ads, libgnat/a-cidlli.adb,
376 libgnat/a-cihama.ads, libgnat/a-cihama.adb,
377 libgnat/a-cihase.ads, libgnat/a-cihase.adb,
378 libgnat/a-cimutr.ads, libgnat/a-cimutr.adb,
379 libgnat/a-ciorma.ads, libgnat/a-ciorma.adb,
380 libgnat/a-ciormu.ads, libgnat/a-ciormu.adb,
381 libgnat/a-ciorse.ads, libgnat/a-ciorse.adb,
382 libgnat/a-coboho.ads, libgnat/a-coboho.adb,
383 libgnat/a-cobove.ads, libgnat/a-cobove.adb,
384 libgnat/a-cohama.ads, libgnat/a-cohama.adb,
385 libgnat/a-cohase.ads, libgnat/a-cohase.adb,
386 libgnat/a-coinho.ads, libgnat/a-coinho.adb,
387 libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb,
388 libgnat/a-coinve.ads, libgnat/a-coinve.adb,
389 libgnat/a-comutr.ads, libgnat/a-comutr.adb,
390 libgnat/a-convec.ads, libgnat/a-convec.adb,
391 libgnat/a-coorma.ads, libgnat/a-coorma.adb,
392 libgnat/a-coormu.ads, libgnat/a-coormu.adb,
393 libgnat/a-coorse.ads, libgnat/a-coorse.adb,
394 libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
395 libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads,
396 libgnat/a-nbnbre.adb, libgnat/a-strunb.ads,
397 libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads,
398 libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads,
399 libgnat/s-rannum.adb: Modify Put_Image procedure used in
400 Put_Image aspect specification to conform to Ada profile
401 rules (in particular, the first parameter shall be of type
402 Ada.Strings.Text_Buffers.Root_Buffer_Type'Class).
403 * libgnat/a-sttebu.ads, libgnat/a-sttebu.adb,
404 libgnat/a-stbubo.ads, libgnat/a-stbubo.adb,
405 libgnat/a-stbufi.ads, libgnat/a-stbufi.adb,
406 libgnat/a-stbufo.ads, libgnat/a-stbufo.adb,
407 libgnat/a-stbuun.ads, libgnat/a-stbuun.adb,
408 libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined
409 unit, Ada.Strings.Text_Buffers, and five child units. Two of
410 the five are RM-defined: Bounded and Unbounded. The remaining
411 three are GNAT-defined: Files, Utils, and Formatting. The buffer
412 type corresponding to an output file, type Files.File_Buffer, is
413 simpler (and perhaps therefore slower) than its predecessor.
414 Caching similar to what was being done before could be added
415 later if that seems appropriate.
416 * libgnat/s-putima.ads: Modify context clause, update
417 declaration of subtype Sink to refer to
418 Text_Buffers.Root_Buffer_Type instead of the old
419 Text_Output.Sink type.
420 * libgnat/s-putima.adb: Modify context clause. Update
421 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
422 names; ditto for "Put_String => Put" name change.
423 * libgnat/a-stteou__bootstrap.ads: Delete.
425 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
427 * exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian
428 ordering is in effect for the operands and they are small,
429 adjust the unchecked conversions done around them.
431 2021-06-21 Richard Kenner <kenner@adacore.com>
433 * einfo.ads (Return_Statement): Add documentation.
434 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it.
435 * gen_il-fields.ads: Add it.
436 * gen_il-gen-gen_entities.adb: Add it.
438 2021-06-21 Bob Duff <duff@adacore.com>
440 * rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb,
441 libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library
442 function to copy bit fields faster than Copy_Bitfield. Cannot be
443 called with zero-size bit fields. Remove obsolete ??? comments
444 from s-bituti.adb; we already do "avoid calling this if
445 Forwards_OK is False".
446 * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield,
447 Expand_Assign_Array_Bitfield_Fast): Generate calls to
448 Fast_Copy_Bitfield when appropriate.
449 * sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new
450 functions for getting the index bounds. These are more
451 convenient than the procedure of the same name, because they can
452 be used to initialize constants.
454 2021-06-21 Ed Schonberg <schonberg@adacore.com>
456 * gen_il-fields.ads: Add Default_Subtype_Mark to enumeration
458 * gen_il-gen-gen_nodes.adb: Add call to create new field for
459 Formal_Type_Declaration node.
460 * par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode,
461 recognize new syntax for default: "or use subtype_mark".
462 (P_Formal_Type_Definition): Ditto for the case of a formal
464 * sinfo.ads: Add field Default_Subtype_Mark to
465 N_Formal_Type_Declaration.
466 * sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to
467 apply legality rules to default subtypes in formal type
468 declarations. Some legality rules apply to all defaults, such as
469 the requirement that the default for a formal type that depends
470 on previous formal entities must itself be a previously declared
471 formal of the same unit. Other checks are kind- specific.
472 (Analyze_Associations): Use specified default if there is no
473 actual provided for a formal type in an instance.
474 (Analyze_Formal_Type_Declaration): Call
475 Validate_Formal_Type_Default when default subtype is present.
477 2021-06-21 Bob Duff <duff@adacore.com>
479 * libgnat/s-valuen.ads, libgnat/s-valuen.adb
480 (Value_Enumeration_Pos): New function to compute the 'Pos of the
481 enumeration literal for a given String. Return a special value
482 instead of raising an exception on invalid input. Called by both
483 Valid_Enumeration_Image and Value_Enumeration.
484 (Valid_Enumeration_Image): Return a Boolean indicating whether
485 the String is a valid Image for the given enumeration type.
486 (Value_Enumeration): Implement in terms of
487 Value_Enumeration_Pos.
488 * libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads,
489 libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the
491 * libgnat/s-valuti.ads: Correct documentation (it was not true
492 for the null string).
493 * libgnat/s-valuti.adb (Normalize_String): Do not raise
494 Constraint_Error for the null string, nor strings containing
495 nothing but blanks, so that Valid_Enumeration_Image can return
496 False in these cases, rather than raising an exception.
497 * rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16,
498 RE_Value_Enumeration_32): New functions.
499 (RTE_Available): Improve comment (E doesn't have to be a
500 subprogram, although that's the usual case).
501 * sem_attr.adb (nalid_Value): Semantic analysis for new
503 * exp_attr.adb: Call Expand_Valid_Value_Attribute for new
505 * exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New
506 procedure to expand Valid_Value into a call to
507 Valid_Enumeration_Image_NN.
508 (Expand_Value_Attribute): Misc code cleanups. Remove two ???
509 mark comments. RTE_Available won't work here. For one thing,
510 RTE_Available (X) shouldn't be called until the compiler has
511 decided to make use of X (see comments on RTE_Available), and in
512 this case we're trying to AVOID calling something.
513 * snames.ads-tmpl: New attribute name.
514 * doc/gnat_rm/implementation_defined_attributes.rst: Document
516 * gnat_rm.texi: Regenerate.
518 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
520 * fe.h (Assume_No_Invalid_Values): Declare.
521 * opt.ads (Assume_No_Invalid_Values): Add warning comment.
523 2021-06-21 Bob Duff <duff@adacore.com>
525 * libgnat/s-bituti.ads (Small_Size): Do not include 0 in this
527 * libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit
530 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
532 * exp_ch9.adb (Build_Simple_Entry_Call): Add comment.
533 * libgnat/s-rannum.adb (Random): Update comment.
534 * libgnat/s-rannum.ads (Generator): Update comment.
536 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
538 * doc/gnat_rm/representation_clauses_and_pragmas.rst (Address
539 Clauses): Fix unbalanced parens.
540 * gnat_rm.texi: Regenerate.
542 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
544 * errout.adb (Handle_Serious_Error): Capitalize comment.
545 * exp_dbug.adb (Set_Entity_Name): Capitalize sentence.
546 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix
548 * sem_ch3.adb (Modular_Type_Declaration): Add space after comma.
550 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
552 * debug.adb: Document -gnatd_U as taken.
553 * err_vars.ads (Warning_Doc_Switch): Set to True.
554 * errout.ads (Errout): Update documentation.
555 * gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U.
556 * hostparm.ads (Tag_Errors): Set to True.
557 * opt.ads (Unique_Error_Tag): Document -gnatd_U.
559 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
561 * urealp.ads (UR_Write_To_JSON): Declare.
562 * urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10
563 specially and rewrite handling of numbers in other bases.
564 (Decimal_Exponent_Lo): Likewise.
565 (Normalize): Minor tweak.
566 (UR_Write_To_JSON): New wrapper procedure around UR_Write.
567 * repinfo.adb (List_Type_Info): When the output is to JSON, call
568 UR_Write_To_JSON instead of UR_Write.
570 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
572 * sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown
573 offset for components within multidimensional arrays; remove
576 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
578 * sem_util.adb (Find_Overlaid_Entity): Ignore references to
579 components and discriminants.
581 2021-06-21 Doug Rupp <rupp@adacore.com>
583 * Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add
584 $(TRASYM_DWARF_UNIX_PAIRS).
585 [EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS)
587 2021-06-21 Gary Dismukes <dismukes@adacore.com>
589 * exp_util.adb (Expand_Sliding_Conversion): Only perform
590 expansion when Expander_Active is True. Add a comment about this
591 and refine existing comment regarding string literals.
593 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
595 * sem_util.adb (Denotes_Same_Object): Simplify handling of
598 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
600 * sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming;
601 simplify; adapt callers.
603 2021-06-21 Frederic Konrad <konrad@adacore.com>
605 * Makefile.rtl: Compiles both static and dynamic libgnat for
606 powerpc64-wrs-vxworks7r2.
608 2021-06-18 Gary Dismukes <dismukes@adacore.com>
610 * sem_ch3.adb (Constrain_Array): Add error checking for
611 fixed-lower-bound and constrained index ranges applied
612 inappropriately on subtypes of unconstrained and
613 fixed-lower-bound array types.
614 (Constrain_Index): Correct and refine comment related to
615 fixed-lower-bound index ranges.
617 2021-06-18 Bob Duff <duff@adacore.com>
619 * gen_il-gen.adb: Improve comments.
620 * snames.ads-tmpl (Convention_Id): Remove "-- Plenty of space
621 for expansion", because that's irrelevant now that we are no
622 longer laying out node fields by hand.
624 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
626 * sem_util.adb (Denotes_Same_Object): Handle character literals
627 just like integer literals.
629 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
631 * sem_util.adb (Denotes_Same_Object): Explicitly test for node
632 kinds being the same; deal with renamings one-by-one; adjust
633 numbers in references to the Ada RM.
635 2021-06-18 Bob Duff <duff@adacore.com>
637 * sprint.adb (Write_Source_Line): Check for EOF in
638 Line_Terminator loop. Note that when a source file is read in,
639 an EOF character is added to the end.
641 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
643 * sem_aux.adb (Package_Specification): Add assertions to confirm
644 the kind of the of parameter and returned node.
645 * sem_ch12.adb (Remove_Parent): Reorder conditions; this change
646 appears to be semantically neutral, but is enough to avoid the
647 problematic call to Package_Specification.
648 * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop
649 with a call to Package_Specification.
651 2021-06-18 Bob Duff <duff@adacore.com>
653 * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use
654 Enum_Type'Object_Size.
656 2021-06-18 Olivier Hainque <hainque@adacore.com>
658 * sigtramp-vxworks-target.inc (__aarch64__): Sync
659 REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
660 In CFI_COMMON_REGS, leave r18 alone, VxWorks private.
662 2021-06-18 Javier Miranda <miranda@adacore.com>
664 * contracts.adb (Process_Spec_Postconditions): Add missing
665 support for aliased subprograms and handle wrappers of
666 class-wide pre/post conditions.
667 (Process_Inherited_Preconditions): Add missing support for
668 aliased subprograms and handle wrappers of class-wide pre/post
670 * einfo.ads (Class_Wide_Clone): Fix typo.
671 (Is_Class_Wide_Clone): Removed since it is not referenced.
672 (Is_Wrapper): Documenting new flag.
673 (LSP_Subprogram): Documenting new attribute.
674 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate
675 wrapper as Is_Wrapper and adjust call to
676 Override_Dispatching_Operation.
677 * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in
679 (Check_Inherited_Conditions): Handle LSP wrappers; ensure
680 correct decoration of LSP wrappers.
681 * gen_il-fields.ads (Is_Class_Wide_Clone): Removed.
683 (LSP_Subprogram): Added.
684 * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed.
686 (LSP_Subprogram): Added.
687 * gen_il-internals.adb (Image): Adding uppercase image of
689 * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP
691 * sem_disp.ads (Override_Dispatching_Operation): Remove
692 parameter Is_Wrapper; no longer needed.
693 * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion.
694 (Override_Dispatching_Operation): Remove parameter Is_Wrapper;
696 * treepr.adb (Image): Adding uppercase image of LSP_Subprogram.
698 2021-06-18 Arnaud Charlet <charlet@adacore.com>
700 * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type
701 of the name of a "for of" loop is frozen.
702 * exp_disp.adb (Check_Premature_Freezing): Complete condition to
703 take into account a private type completed by another private
704 type now that the freezing rule are better implemented.
705 * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an
706 early freeze on types if not in the proper scope. Special case
707 expression functions that requires access to the dispatch table.
708 (Should_Freeze_Type): New.
709 * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert
710 failure in case of an invalid tree (previous errors detected).
711 * sem_res.adb (Resolve): Remove kludge related to entities
712 causing incorrect premature freezing.
713 * sem_util.adb (Ensure_Minimum_Decoration): Add protection
714 against non base types.
716 2021-06-18 Gary Dismukes <dismukes@adacore.com>
718 * sem_ch3.adb (Constrain_Index): Set the High_Bound of a
719 fixed-lower-bound subtype's range to T (the subtype of the FLB
720 index being constrained) rather than Base_Type (T).
722 2021-06-18 Bob Duff <duff@adacore.com>
724 * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb,
725 einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb,
726 libgnat/a-textio.ads, libgnat/g-memdum.ads,
727 libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb,
728 osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb,
729 sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl,
730 targparm.ads, types.ads: Remove AAMP-specific code.
731 * switch.ads: Minor reformatting.
732 * gen_il-fields.ads, gen_il-gen.adb,
733 gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb,
734 einfo-utils.ads: Package Types now contains "type Float_Rep_Kind
735 is (IEEE_Binary);", which used to also have an enumeral AAMP.
736 Gen_IL can't handle fields of this type, which would be zero
737 sized. Therefore, we move the Float_Rep field into Einfo.Utils
738 as a synthesized attribute. (We do not delete the field
739 altogether, in case we want new floating-point representations
741 * doc/gnat_rm/implementation_defined_pragmas.rst,
742 doc/gnat_rm/implementation_defined_aspects.rst,
743 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
744 doc/gnat_ugn/the_gnat_compilation_model.rst: Remove
745 AAMP-specific documentation.
746 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
748 2021-06-18 Gary Dismukes <dismukes@adacore.com>
750 * exp_util.adb (Expand_Sliding_Conversion): Move test of
751 Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string
752 literals from sliding expansion.
754 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
756 * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions
757 related to Ada_Version.
759 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
761 * sem_util.adb (Address_Value): Simplify.
763 2021-06-18 Bob Duff <duff@adacore.com>
765 * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value
766 instead of Intval, because the latter only exists in literals.
767 Remove Set_Etype on E1; setting the type is done elsewhere.
769 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
771 * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of
772 both formal parameters; refactor a complex detection of
775 2021-06-18 Arnaud Charlet <charlet@adacore.com>
777 * gnatcmd.adb: Fix handling of check and test commands.
779 2021-06-18 Gary Dismukes <dismukes@adacore.com>
781 * doc/gnat_rm/implementation_defined_pragmas.rst: Add
782 documentation for the array fixed-lower-bound feature.
783 * gnat_rm.texi: Regenerate.
785 2021-06-18 Bob Duff <duff@adacore.com>
787 * debug.adb: Document switch.
788 * exp_aggr.adb: If -gnatd_g was given, then do not bump the
791 2021-06-18 Bob Duff <duff@adacore.com>
793 * sem_util.ads, sem_util.adb (Has_Access_Values): Remove
794 Include_Internal parameter that was added in previous change.
795 * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==>
796 Formal_Kind change made previously. Check Is_Private_Type to
797 avoid warnings on private types. Misc cleanup.
798 * sem_attr.adb (Attribute_Has_Access_Values): Remove
799 Include_Internal parameter.
801 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
803 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch
804 for overlapping actuals in prefix notation.
806 2021-06-18 Eric Botcazou <ebotcazou@adacore.com>
808 * sem_prag.adb (Process_Import_Or_Interface): Do not
809 artificially record a possible modification for a constant.
811 2021-06-18 Arnaud Charlet <charlet@adacore.com>
813 * exp_ch6.adb (Expand_Call_Helper): Code cleanups.
815 2021-06-18 Arnaud Charlet <charlet@adacore.com>
817 * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads,
818 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb,
819 sem_util.adb, sem_util.ads, sinfo.ads: Update comments.
821 2021-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
823 * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to
824 True if -fdiagnostics-format=json option is found.
825 * back_end.ads (Scan_Compiler_Arguments): Mention
827 * errout.adb (Output_JSON_Message): New procedure.
828 (Output_Messages): If Opt.JSON_Output is True, print messages
829 with new Output_JSON_Message procedure.
830 * opt.ads: Declare JSON_Output variable.
831 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
832 Mention new -fdiagnostics-format option.
833 * gnat_ugn.texi: Regenerate.
835 2021-06-18 Arnaud Charlet <charlet@adacore.com>
837 * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
838 mismatch check when Relaxed_RM_Semantics is set.
840 2021-06-18 Arnaud Charlet <charlet@adacore.com>
842 * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb,
843 switch-c.adb (Extensions_Allowed): Replace by a function.
844 (Ada_Version_Type): Add new value Ada_With_Extensions, to
845 replace setting of Extensions_Allowed. Update setting of
848 2021-06-18 Arnaud Charlet <charlet@adacore.com>
850 * bindgen.adb (Gen_Output_File_Ada): Generate a new constant
851 GNAT_Version_Address.
852 * libgnat/g-comver.adb (GNAT_Version_Address): New;
853 (GNAT_Version): Use GNAT_Version_Address to disable LTO warning.
855 2021-06-18 Javier Miranda <miranda@adacore.com>
857 * einfo.ads (Is_Ada_2022_Only): Adding documentation.
858 * gen_il-fields.ads (Is_Ada_2022_Only): New flag.
859 * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag.
860 * itypes.adb (Create_Null_Excluding_Itype): Inherit
862 * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error
863 on Ada 2022 only subprograms that require overriding if we are
864 not in Ada 2022 mode.
865 (Derive_Subprogram): Inherit Is_Ada_2022_Only.
866 * sem_ch6.adb (Check_Overriding_Indicator): Inherit
868 (New_Overloaded_Entity): Inherit Is_Ada_2022_Only.
869 * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit
871 (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only.
872 * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit
874 (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only.
875 * sem_prag.adb (Analyze_Pragma): Allow form with argument for
877 * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only
878 * lib-xref.adb (Generate_Reference): Error on static and
879 dispatching calls to Ada 2022 subprograms that require
880 overriding if we are not in Ada 2022 mode; warn on other
881 references to Ada 2022 entities when not in Ada 2022 mode.
882 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit
884 * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022.
885 * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022.
886 * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022.
887 * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022.
888 * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022.
889 (New_Vector): Adding pragma Ada_2022.
890 (Insert_Vector): Adding pragma Ada_2022.
891 (Prepend_Vector): Adding pragma Ada_2022.
892 (Append_Vector): Adding pragma Ada_2022.
894 2021-06-17 Arnaud Charlet <charlet@adacore.com>
896 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against
897 no Primitive_Operations.
899 2021-06-17 Vadim Godunko <godunko@adacore.com>
901 * libgnat/a-strunb__shared.ads (Allocate): Additional parameter
902 to provide additional amount of space to be allocated.
903 * libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit
904 length to Natural'Last when requested length is larger than it.
905 (Allocate): Merge two slightly different implementations into
908 2021-06-17 Gary Dismukes <dismukes@adacore.com>
910 * checks.adb (Discrete_Range_Cond): For an index subtype that
911 has a fixed lower bound, require that the range's lower bound
912 match that of the subtype.
913 (Selected_Range_Checks): Warn about the case where a static
914 lower bound does not equal an index subtype's fixed lower bound.
915 * einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype,
916 Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag.
917 * exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of
918 an unconstrained array subtype with fixed lower bound, then
919 Expand_Sliding_Conversion is applied to the operand.
920 * exp_ch6.adb (Expand_Simple_Function_Return): If the result
921 subtype is an unconstrained array subtype with fixed lower
922 bound, then Expand_Sliding_Conversion is applied to the return
924 * exp_util.ads (Expand_Sliding_Conversion): New procedure for
925 applying a sliding subtype conversion to an array object of a
926 fixed-lower-bound subtype when needed.
927 * exp_util.adb: Add with_clause for Freeze.
928 (Expand_Sliding_Conversion): New procedure for applying a
929 sliding subtype conversion to an array object of a
930 fixed-lower-bound subtype when needed. It traverses the indexes
931 of the unconstrained array type/subtype to create a target
932 constrained subtype and rewrites the array object to be a
933 conversion to that subtype, when there's at least one index
934 whose lower bound does not statically match the fixed-lower
935 bound of the target subtype.
936 * gen_il-fields.ads (type Opt_Field_Enum): Add literals
937 Is_Fixed_Lower_Bound_Array_Subtype and
938 Is_Fixed_Lower_Bound_Index_Subtype for new flags on type
940 * gen_il-gen-gen_entities.adb: Add calls to
941 Create_Semantic_Field for the new fixed-lower-bound flags on
943 * par-ch3.adb (P_Array_Type_Definition): Add handling for
944 parsing of fixed-lower-bound index ranges in unconstrained array
945 types. Report an error if such an index is encountered and GNAT
946 language extensions are not enabled.
947 (P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure
948 for parsing unconstrained index ranges.
949 (P_Index_Or_Discriminant_Constraint): Add handling for parsing
950 of index constraints that specify ranges with fixed lower
951 bounds. Report an error if such an index is encountered and GNAT
952 language extensions are not enabled.
953 * sem_ch3.adb (Analyze_Object_Declaration): If the object's
954 nominal subtype is an array subtype with fixed lower bound, then
955 Expand_Sliding_Conversion is applied to the object.
956 (Array_Type_Declaration): Mark the array type and the subtypes
957 of any indexes that specify a fixed lower bound as being
958 fixed-lower-bound subtypes, and set the High_bound of the range
959 of such an index to the upper bound of the named subtype.
960 (Constrain_Array): For an array subtype with one or more index
961 ranges specifying a fixed lower bound, set Is_Constrained to
962 False and set the array subtype's
963 Is_Fixed_Lower_Bound_Array_Subtype flag to True.
964 (Constrain_Index): Mark the subtypes of an index that specifies
965 a fixed lower bound as being a fixed-lower-bound index subtype,
966 and set the High_bound of the range of such an index to the
967 upper bound of the base type of the array type's corresponding
969 * sem_res.adb (Resolve_Actuals): If a formal is of an
970 unconstrained array subtype with fixed lower bound, then
971 Expand_Sliding_Conversion is applied to the actual.
972 * sem_util.adb (Build_Actual_Subtype): If the actual subtype
973 corresponds to an unconstrained array subtype having any indexes
974 with fixed lower bounds, then set the lower bounds of any such
975 indexes of the actual subtype to the appropriate fixed lower
976 bound of the formal subtype (rather than taking it from the
978 * sprint.adb (Sprint_Node_Actual, case N_Range): If a range's
979 Etype has a fixed lower bound, then print "<>" rather than the
980 High_Bound of the range.
982 2021-06-17 Bob Duff <duff@adacore.com>
984 * sem_util.adb, sem_util.ads (Has_Access_Values): New formal
985 Include_Internal to indicate whether internal types should be
987 * sem_warn.adb (Check_References): Change E_Out_Parameter to
988 Formal_Kind, to match the comment about Spec_Entity. Pass
989 Include_Internal => False to Has_Access_Values, so that we warn
990 on types with access values that happen to be in internal types,
991 such as Unbounded_String.
992 * sem_attr.adb (Attribute_Has_Access_Values): Pass
993 Include_Internal => True to Has_Access_Values, to preserve
995 * libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to
996 'in', to avoid warning enabled by the change to sem_warn.adb.
997 * libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in
998 out' to 'in', to avoid warning enabled by the change to
1001 2021-06-17 Steve Baird <baird@adacore.com>
1004 (Expand_N_Case_Statement.Expand_General_Case_Statement): New
1006 (Expand_N_Case_Statement): If extensions are allowed and the
1007 case selector is not of a discrete type, then call
1008 Expand_General_Case_Statement to generate expansion instead of
1009 flagging the non-discrete selector as an error.
1010 * sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued
1011 function for testing whether a given expression occurs as part
1012 of a case choice pattern.
1013 * sem_case.adb (Composite_Case_Ops): New package providing
1014 support routines for the new form of case statements. This
1015 includes a nested package, Composite_Case_Ops.Value_Sets, which
1016 encapsulates the "representative values" implementation of
1017 composite value sets.
1018 (Check_Choices.Check_Case_Pattern_Choices): New procedure for
1019 semantic checking of non-discrete case choices. This includes
1020 the checks pertaining to coverage and overlapping.
1021 (Check_Choices.Check_Composite_Case_Selector): New procedure for
1022 semantic checking of non-discrete case selectors.
1023 (Check_Choices): If extensions are allowed then a non-discrete
1024 selector type no longer implies that an error must have been
1025 flagged earlier. Instead of simply returning, call
1026 Check_Composite_Case_Selector and Check_Case_Pattern_Choices.
1027 (Is_Case_Choice_Pattern): Body of new function declared in
1029 * sem_ch5.adb (Analyze_Case_Statement): If extensions are
1030 allowed, then we can't use RM 5.4's "The selecting_expression is
1031 expected to be of any discrete type" name resolution rule.
1032 Handle the case where the type of the selecting expression is
1033 not discrete, as well as the new ambiguous-name-resolution error
1034 cases made possible by this change.
1035 * sem_res.adb (Resolve_Entity_Name): It is ok to treat the name
1036 of a type or subtype as an expression if it is part of a case
1037 choice pattern, as in "(Field1 => Positive, Field2 => <>)".
1038 * exp_aggr.adb (Expand_Record_Aggregate): Do not expand case
1040 * gen_il-fields.ads: Define two new node attributes,
1041 Binding_Chars and Multidefined_Bindings.
1042 * gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings
1043 attribute is Boolean-valued and may be set on
1044 N_Case_Statement_Alternative nodes. The new Binding_Chars
1045 attribute is Name_Id-valued and may be set on
1046 N_Component_Association nodes.
1047 * par-ch4.adb (P_Record_Or_Array_Component_Association): When
1048 parsing a component association, check for both new syntax forms
1049 used to specify a bound value in a case-choice aggregate. In
1050 the case of a box value, an identifier may occur within the box,
1051 as in "Foo => <Abc>" instead of "Foo => <>". In the more general
1052 case, an expression (or a box) may be followed by "is
1053 <identifier>", as in
1054 "Foo => Bar is Abc" instead of just "Foo => Bar".
1055 * sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box
1056 component values in a case-choice aggregate.
1057 * sinfo.ads: Provide comments for the new attributes added in
1059 * doc/gnat_rm/implementation_defined_pragmas.rst: Describe this
1060 new feature in documentation for pragma Extensions_Allowed.
1061 * gnat_rm.texi: Regenerate.
1063 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1065 * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action):
1066 Do not abandon processing on a nested N_Expression_With_Actions
1067 or N_Loop_Statement, otherwise we may miss some transient
1070 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1072 * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate
1075 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1077 * sem_util.adb (Is_Valid_Renaming): Check not only indexed
1078 components, but slices too.
1080 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1082 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check
1083 No_Wide_Characters restriction after rejecting illegal parent
1085 (Derived_Type_Declaration): Likewise.
1086 (Find_Type_Of_Subtype_Indic): Remove check for
1087 No_Wide_Characters restriction, which was done too early.
1089 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1091 * sem_util.adb (Is_Valid_Renaming): Body moved from its nested
1094 2021-06-17 Gary Dismukes <dismukes@adacore.com>
1096 * sem_ch12.adb (Instantiate_Type): If the actual type for an
1097 incomplete formal type is also incomplete, but has a Full_View,
1098 use the Full_View of the actual type rather than the incomplete
1101 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1103 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
1104 (-gnatw.I): Remove double period at the end of sentence.
1105 * gnat_ugn.texi: Regenerate.
1107 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1109 * sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with
1110 the range of a slice object, not its type.
1112 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1114 * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style;
1115 refactor repeated calls to Nkind; remove early RETURN.
1117 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1119 * sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of
1120 generic types, but keep examining other parameters.
1122 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1124 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code.
1126 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1128 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated
1131 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1133 * checks.adb (Overlap_Check): Replace Set_Casing with
1134 Adjust_Name_Case and adapt surrounding code as needed.
1136 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1138 * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move...
1139 * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.
1141 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1143 * uintp.ads, uintp.adb (UI_To_Unsigned_64): New.
1145 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1147 * sem_prag.adb (Get_Overflow_Mode): Reword error message.
1148 * switch-c.adb (Get_Overflow_Mode): Likewise.
1150 2021-06-17 Richard Kenner <kenner@adacore.com>
1152 * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle
1153 Others_Discrete_Choices in N_Others_Choice.
1155 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1157 * atree.adb: Remove redundant comment with spec.
1158 * sem_warn.adb: Fix typo in comment.
1160 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1162 * atree.adb: Do not suppress checks.
1164 2021-06-17 Justin Squirek <squirek@adacore.com>
1166 * exp_ch3.adb (Check_Missing_Others): Add comment.
1167 (Build_Initialization_Call): Remove inaccurate accessibility
1169 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove
1171 (Analyze_Package_Instantiation): Remove speculative comment.
1172 (Inline_Instance_Body): Add comments for loops.
1173 (Build_Subprogram_Renaming): Remove comment about fix being
1175 (Instantiate_Subprogram_Body): Remove comment referencing DEC
1176 related internal issue.
1177 (Subtypes_Match): Add comment and simplify anonymous access
1179 (Is_Global): Add test for when E is an expanded name, and
1180 calculate the scope accordingly.
1181 * sem_ch6.adb (Analyze_Function_Return): Update comment
1182 regarding accessibility, and add check for
1183 Warn_On_Ada_2012_Compatibility.
1184 (Mask_Type_Refs): Add comments.
1185 (Analyze_Subprogram_Declaration): Remove mysterious suppression
1186 of elaboration checks.
1187 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic
1189 * sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment.
1190 (Note_Redundant_Use): Fix calls to Find_First_Use to be
1192 (Get_Object_Name): Modify error message to be more descriptive.
1193 (Known_But_Visible): Remove mysterious special case for
1195 (Find_First_Use): Removed.
1196 (Find_Most_Prev): Renamed from Find_First_Use.
1197 * sem_prag.adb (Check_Static_Constraint): Add comments to
1200 2021-06-17 Bob Duff <duff@adacore.com>
1202 * treepr.adb (Print_Node): Display the Entity or Associated_Node
1203 fields if appropriate.
1204 * sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These
1205 are no longer needed.
1207 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1209 * checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to
1210 Is_Object_Reference with calls to Is_Name_Reference; remove
1211 asymmetric condition that only detected an aggregate as the
1212 first actual (aggregate objects were just a special case of an
1213 object reference that was not a name).
1215 2021-06-17 Bob Duff <duff@adacore.com>
1217 * gen_il-gen.adb, gen_il-internals.ads: Generate field
1218 enumeration literals with "F_" prefix. Update all generated
1219 references accordingly.
1220 * atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb,
1221 sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb,
1222 sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the
1223 field enumeration literals.
1225 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1227 * libgnat/i-c.ads, libgnat/i-cexten.ads,
1228 libgnat/i-cexten__128.ads: bool renamed C_bool.
1230 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
1232 * sem_ch4.adb (Analyze_Allocator): Reject allocators in
1233 restricted contexts.
1235 2021-06-17 Arnaud Charlet <charlet@adacore.com>
1237 * gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot
1240 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1242 * sem_util.adb (Is_Volatile_Function): Follow the exact wording
1243 of SPARK (regarding volatile functions) and Ada (regarding
1244 protected functions).
1246 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1248 * sem_util.adb (Is_OK_Volatile_Context): All references to
1249 volatile objects are legal in preanalysis.
1250 (Within_Volatile_Function): Previously it was wrongly called on
1251 Empty entities; now it is only called on E_Return_Statement,
1252 which allow the body to be greatly simplified.
1254 2021-06-16 Yannick Moy <moy@adacore.com>
1256 * sem_res.adb (Set_Slice_Subtype): Revert special-case
1257 introduced previously, which is not needed as Itypes created for
1258 slices are precisely always used.
1260 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
1262 * urealp.adb (Scale): Change first paramter to Uint and adjust.
1263 (Equivalent_Decimal_Exponent): Pass U.Den directly to Scale.
1264 * libgnat/s-exponr.adb (Negative): Rename to...
1265 (Safe_Negative): ...this and change its lower bound.
1266 (Exponr): Adjust to above renaming and deal with Integer'First.
1268 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1270 * sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
1271 allocators within restricted contexts and not just entity names.
1272 (Resolve_Actuals): Remove duplicated code for detecting
1273 restricted contexts; it is now exclusively done in
1274 Is_OK_Volatile_Context.
1275 (Resolve_Entity_Name): Adapt to new parameter of
1276 Is_OK_Volatile_Context.
1277 * sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
1278 handle contexts both inside and outside of subprogram call
1280 (Within_Subprogram_Call): Remove; now handled by
1281 Is_OK_Volatile_Context itself and its parameter.
1283 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1285 * sinput.adb (Sloc_Range): Refactor several repeated calls to
1286 Sloc and two comparisons with No_Location.
1288 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1290 * checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending
1291 on the parameter passing mechanism. Grammar adjustment ("has"
1293 (Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment.
1295 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1297 * exp_ch3.adb (Build_Slice_Assignment): Remove unused
1300 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1302 * restrict.adb, sem_attr.adb, types.ads: Fix typos in
1303 "occuring"; refill comment as necessary.
1305 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1307 * sem_util.ads (Is_Actual_Parameter): Update comment.
1308 * sem_util.adb (Is_Actual_Parameter): Also detect entry parameters.
1310 2021-06-16 Arnaud Charlet <charlet@adacore.com>
1312 * rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb,
1313 exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related
1314 entities to the expander directly.
1316 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1318 * sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace
1320 (Is_Attribute_Expression): Prevent AST climbing from going to
1321 the root of the compilation unit.
1323 2021-06-16 Steve Baird <baird@adacore.com>
1325 * doc/gnat_rm/implementation_advice.rst: Add a section for RM
1327 * gnat_rm.texi: Regenerate.
1329 2021-06-16 Justin Squirek <squirek@adacore.com>
1331 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add
1332 check for the mixing of entries.
1334 2021-06-16 Justin Squirek <squirek@adacore.com>
1336 * sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions
1337 in Priority aspect arguments for restriction Static_Priorities.
1339 2021-06-16 Justin Squirek <squirek@adacore.com>
1341 * sem_util.adb (Accessibility_Level): Take into account
1342 renamings of loop parameters.
1344 2021-06-16 Matthieu Eyraud <eyraud@adacore.com>
1346 * par_sco.adb (Set_Statement_Entry): Change sloc for dominance
1348 (Traverse_One): Fix typo.
1349 (Output_Header): Fix comment.
1351 2021-06-16 Richard Kenner <kenner@adacore.com>
1353 * exp_unst.adb (Register_Subprogram): Don't look for aliases for
1354 subprograms that are generic. Reorder tests for efficiency.
1356 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
1358 * sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of
1359 the parameter and use it to find its incomplete view, if any.
1361 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
1363 * freeze.adb (Check_No_Parts_Violations): Return earlier if the
1364 type is elementary or does not come from source.
1366 2021-06-16 Bob Duff <duff@adacore.com>
1368 * ghost.adb: Add another special case where full analysis is
1369 needed. This bug is due to quirks in the way
1370 Mark_And_Set_Ghost_Assignment works (it happens very early,
1371 before name resolution is done).
1373 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
1375 * sem_util.adb (Current_Entity_In_Scope): Reimplement.
1377 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1379 * sem_ch8.adb (End_Scope): Remove extra parens.
1381 2021-06-16 Javier Miranda <miranda@adacore.com>
1383 * exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation
1384 of actuals is side effects free (since the check duplicates
1387 2021-06-16 Ed Schonberg <schonberg@adacore.com>
1389 * sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules
1390 concerning the need for parentheses around Raise_Expressions in
1393 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
1395 * sem_ch13.adb (Validate_Unchecked_Conversion): Move detection
1396 of generic types before switching to their private views; fix
1397 style in using AND THEN.
1399 2021-06-16 Arnaud Charlet <charlet@adacore.com>
1401 * sem_ch3.adb (Analyze_Component_Declaration): Do not special
1402 case raise expressions.
1404 2021-06-16 Sergey Rybin <rybin@adacore.com>
1406 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
1407 Instead of referring to the formatting of the Ada examples in
1408 Ada RM add use the list of checks that are actually performed.
1409 * gnat_ugn.texi: Regenerate.
1411 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
1413 * initialize.c: Do not include vxWorks.h and fcntl.h from here.
1414 (__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
1415 (__gnat_initialize) [init_float]: Delete.
1416 (__gnat_initialize) [VxWorks]: Likewise.
1417 (__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
1418 * runtime.h: Add comment about vxWorks.h include.
1420 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
1422 * libgnat/s-except.ads (ZCX_By_Default): Delete.
1423 (Require_Body): Likewise.
1424 * libgnat/s-except.adb: Replace body with pragma No_Body.
1426 2021-06-15 Steve Baird <baird@adacore.com>
1428 * exp_util.adb (Kill_Dead_Code): Generalize the existing
1429 handling of if statements to handle case statements similarly.
1431 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
1433 * raise.h (_gnat_builtin_longjmp): Delete.
1434 (set_gnat_exit_status): Likewise.
1436 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
1438 * exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component
1439 declaration just like full type and subtype declarations.
1441 2021-06-15 Yannick Moy <moy@adacore.com>
1443 * errout.adb (First_And_Last_Node): Also apply to arbitrary late
1444 declarations, not only subprogram specs.
1446 2021-06-15 Bob Duff <duff@adacore.com>
1448 * sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to
1449 Reinit_Field_To_Zero are for the correct Ekinds.
1451 2021-06-15 Bob Duff <duff@adacore.com>
1453 * aspects.ads (No_Task_Parts): New aspect.
1454 * snames.ads-tmpl: Add the aspect name.
1455 * exp_ch6.adb (Might_Have_Tasks): Return False if this is a
1456 class-wide type whose specific type has No_Task_Parts.
1457 * freeze.adb (Check_No_Parts_Violations): This is an adaptation
1458 of the procedure formerly known as
1459 Check_No_Controlled_Parts_Violations, which now supports both
1460 No_Controlled_Parts and No_Task_Parts. It takes a parameter
1461 indicating which aspect is being checked.
1462 (Freeze_Entity): Call Check_No_Parts_Violations for both
1464 * sem_ch13.adb (Analyze_Aspect_Specifications): The code for
1465 Aspect_No_Controlled_Parts already works as is with
1466 Aspect_No_Task_Parts.
1467 * libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
1469 * doc/gnat_rm/implementation_defined_aspects.rst: Add
1470 documentation for the No_Task_Parts aspect.
1471 * gnat_rm.texi: Regenerate.
1473 2021-06-15 Arnaud Charlet <charlet@adacore.com>
1475 * exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix
1476 handling of scopes for subprogram calls.
1478 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
1480 * sem_prag.adb: Fix typos in comments related to access types.
1481 * sem_util.adb (Is_Access_Variable): Stronger condition.
1483 2021-06-15 Arnaud Charlet <charlet@adacore.com>
1485 * Make-generated.in: Add rule to copy runtime files needed
1487 * raise.c: Remove obsolete symbols used during bootstrap.
1488 * gcc-interface/Make-lang.in: Do not use libgnat sources during
1490 (GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
1491 part and the part only used outside of stage1.
1492 (ADA_GENERATED_FILES): Add runtime files needed during bootstrap
1493 when recent APIs are needed.
1494 (ada/b_gnatb.adb): Remove prerequisite.
1495 * gcc-interface/system.ads: Remove obsolete entries.
1497 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
1499 * raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION.
1501 2021-06-15 Ed Schonberg <schonberg@adacore.com>
1503 * sem_util.adb (Is_Confirming): Separate the handling of
1504 Implicit_Dereference, for which no pragma is generated but which
1505 is already checked for legality in Sem_Ch13, including renamed
1506 discriminants in a derived type.
1507 (Is_Confirming, Same_Name): For expanded names, only check
1508 matching of selector, because prefix may correspond to original
1509 and derived types with different names and/or scopes. Semantic
1510 checks on aspect expression have already verified its legality.
1511 Add comments regarding possible gaps in RM description of the
1514 2021-06-15 Gary Dismukes <dismukes@adacore.com>
1516 * freeze.adb (Freeze_Subprogram): Don't propagate conventions
1517 Intrinsic or Entry to anonymous access-to-subprogram types
1518 associated with subprograms having those conventions. Update
1520 * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove
1521 special-case warning code for cases where a called subprogram
1522 has convention Intrinsic as well as its formal's type (the
1523 expected type for the Access attribute), since this case can no
1526 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
1528 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix
1531 2021-06-15 Bob Duff <duff@adacore.com>
1533 * einfo-utils.adb (Known_Component_Size,
1534 Known_Static_Component_Size, Unknown_Component_Size): Use
1535 Implementation_Base_Type instead of Base_Type.
1537 2021-06-15 Bob Duff <duff@adacore.com>
1539 * gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add
1540 Interface_Name field.
1542 2021-06-15 Bob Duff <duff@adacore.com>
1544 * sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic
1545 expression in predefined unit with pragma Preelaborate.
1547 2021-06-15 Yannick Moy <moy@adacore.com>
1549 * doc/gnat_rm/intrinsic_subprograms.rst: More details on shift
1550 operations for signed types. Also add the missing Import and
1551 Convention on the example.
1552 * gnat_rm.texi: Regenerate.
1554 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
1556 * raise-gcc.c: Include <cstdarg> instead of <stdarg.h> in C++.
1557 Include <stdbool.h> and unconditionally <stdlib.h> in C.
1559 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
1561 * sem_util.ads (Find_Overlaid_Entity): Simplify comment for
1563 * sem_util.adb (Find_Overlaid_Entity): Remove defensive code
1566 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
1568 * argv.c: Add include of <stdlib.h> for the runtime.
1569 (gnat_argv): Change type to char ** and initialize to NULL.
1570 (gnat_envp): Likewise.
1571 * argv-lynxos178-raven-cert.c: Add include of <stdlib.h>.
1572 (gnat_argv): Change type to char ** and initialize to NULL.
1573 (gnat_envp): Likewise.
1575 2021-06-15 Bob Duff <duff@adacore.com>
1577 * gen_il-gen.adb (Setter_Needs_Parent): Add missing
1578 Then_Actions. Fix self-contradictory comment.
1579 * exp_util.adb (Insert_Actions): Minor comment improvments.
1581 2021-06-15 Arnaud Charlet <charlet@adacore.com>
1583 * sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable):
1584 Add support for folding more "and"/"or" expressions.
1585 * exp_util.adb (Side_Effect_Free): Fix handling of membership
1588 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
1590 * sem_res.adb (Resolve_Actual): Replace repeated calls to
1591 "Etype (F)" with references to "F_Typ", which keeps the results
1592 of exactly that call.
1594 2021-06-15 Bob Duff <duff@adacore.com>
1596 * gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in
1597 computations in Last_Bit when Offset = 'Last.
1598 (Choose_Offset): Give a better error message when we run out of
1599 fields. In particular, point out that
1600 Gen_IL.Internals.Bit_Offset'Last needs to be increased.
1602 2021-06-15 Bob Duff <duff@adacore.com>
1604 * atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb,
1605 gen_il.ads, gen_il-gen-gen_entities.adb,
1606 gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb,
1607 sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up
1608 ??? comments and other comments.
1609 * atree.adb: Clean up ??? comments and other comments.
1610 (Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)"
1611 should be "Off_0 (N) <= Off_L (N)".
1612 * gen_il-gen.adb, gen_il-gen.ads: Clean up ???
1613 comments and other comments. Add support for getter-specific
1614 and setter-specific preconditions. Detect the error of putting
1615 a field in the wrong subrange. Misc cleanup.
1616 (Node_Field vs. Entity_Field): Clean up Nmake. Improve
1618 * gen_il-utils.ads: Misc cleanup. Move...
1619 * gen_il-internals.ads: ... here.
1620 * gen_il-utils.adb: Misc cleanup. Move...
1621 * gen_il-internals.adb: ... here.
1622 * gen_il-fields.ads: Move Was_Default_Init_Box_Association,
1623 which was in the wrong subrange. Add comments. Misc cleanup.
1624 * gen_il-types.ads: Add Named_Access_Kind.
1625 * sinfo-cn.adb: Clean up ??? comments and other comments.
1626 Remove redundant assertions.
1627 * einfo.ads, sinfo.ads: Clean up ??? comments and other
1628 comments. Remove all the comments indicating field offsets.
1629 These are obsolete now that Gen_IL computes the offsets
1632 2021-06-15 Arnaud Charlet <charlet@adacore.com>
1634 * einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb,
1635 exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb,
1636 exp_put_image.adb, fe.h, impunit.adb, impunit.ads,
1637 libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads,
1638 par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
1639 par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb,
1640 sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
1641 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
1642 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
1643 sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads,
1644 sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb,
1645 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
1646 doc/gnat_rm/implementation_defined_aspects.rst,
1647 gcc-interface/trans.c: Update all references to Ada 2020 to Ada
1648 2022. Rename pragma Ada_2020 to Ada_2022. Update documentation
1650 * gnat_ugn.texi, gnat_rm.texi: Regenerate.
1652 2021-06-15 Steve Baird <baird@adacore.com>
1654 * sem_util.adb (Gather_Components): Factor the test that was
1655 already being used to govern emitting a pre-Ada_2020 error
1656 message into an expression function,
1657 OK_Scope_For_Discrim_Value_Error_Messages. Call that new
1658 function in two places: the point where the same test was being
1659 performed previously, and in governing emission of a newer
1660 Ada_2020 error message. In both cases, the out-mode parameter
1661 Gather_Components.Report_Errors is set to True even if no error
1662 messages are generated within Gather_Components.
1663 * sem_util.ads: Correct a comment.
1665 2021-06-15 Richard Kenner <kenner@adacore.com>
1667 * sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type):
1668 Reinitialize Stored_Constraint when needed.
1669 (Set_Modular_Size): Likewise.
1670 * atree.adb: (Check_Vanishing_Fields): Add node id to debugging
1673 2021-06-15 Bob Duff <duff@adacore.com>
1675 * sem_util.adb (Propagate_Invariant_Attributes): Call
1676 Set_Has_Own_Invariants on the base type, because these are
1677 Base_Type_Only. The problem is that the base type of a type is
1678 indeed a base type when Set_Base_Type is called, but then the
1679 type is mutated into a subtype in rare cases.
1680 * atree.ads, atree.adb (Is_Entity): Export. Correct subtype of
1682 * gen_il-gen.adb: Improve getters so that "Pre => ..." can refer
1683 to the value of the field. Put Warnings (Off) on some with
1684 clauses that are not currently used, but might be used by such
1687 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
1689 * sem_ch3.adb (Access_Type_Declaration): Add comments to explain
1690 the ordering of Mutate_Kind and Set_Directly_Designated_Type;
1691 remove temporary setting of Ekind to E_Access_Type for building
1692 _master objects, since now the Ekind is already set to its final
1693 value. Move repeated code into Setup_Access_Type routine and use
1694 it so that Process_Subtype is executed before mutating the kind
1696 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
1697 Directly_Designated_Type from E_Void, E_Private_Record,
1698 E_Limited_Private_Type and Incomplete_Kind; now it only belongs
1699 to Access_Kind entities.
1700 * sem_util.adb: Minor reformatting.
1702 2021-06-03 Eric Botcazou <ebotcazou@adacore.com>
1704 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
1705 local constant and use it throughout. If it is set, use a ref-all
1706 pointer type for the pointer-to-array field of the fat pointer type.
1707 <E_Array_Subtype>: Add PAT local constant and use it throughout.
1709 2021-05-26 Jakub Jelinek <jakub@redhat.com>
1711 * init.c (__gnat_error_handler): Remove register keyword.
1713 2021-05-25 Martin Liska <mliska@suse.cz>
1715 * doc/share/conf.py: Fix Sphinx 4.0.x error.
1717 2021-05-21 Piotr Trojanek <trojanek@adacore.com>
1719 * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion.
1721 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1723 * gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment.
1724 * gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR
1725 if the offset of the field has overflowed.
1726 (build_component_ref): Add gigi checking assertion that the reference
1727 has been built and replace the discriminant check by a Program_Error.
1729 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1731 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_Integer>: Do
1732 not pass default value in call to create_var_decl.
1733 <E_Variable>: Likewise.
1734 <E_Record_Subtype>: Both pass true for const_flag and false for
1735 const_decl_allowed_p in call to create_var_decl.
1736 Small tweaks in the generic record type case.
1737 (elaborate_expression): Rename need_debug into need_for_debug and
1739 (elaborate_expression_1): Likewise. Pass Needs_Debug_Info instead
1740 of need_for_debug in call to create_var_decl.
1741 (elaborate_expression_2): Likewise.
1742 * gcc-interface/utils.c (maybe_pad_type): Pass false for
1743 const_decl_allowed_p in call to create_var_decl.
1745 2021-05-21 Ghjuvan Lacambre <lacambre@adacore.com>
1747 * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??.
1748 (gnat_to_gnu_param): Likewise.
1749 (gnat_to_gnu_subprog_type): Likewise.
1750 (warn_on_field_placement): Likewise.
1751 (intrin_arglists_compatible_p): Likewise.
1752 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
1753 (gnat_to_gnu): Likewise.
1754 (validate_unchecked_conversion): Likewise.
1755 * gcc-interface/utils.c (maybe_pad_type): Likewise.
1757 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1759 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
1760 the implementation type of a packed type implemented specially.
1762 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1764 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
1765 the Is_Pure flag into the "pure" attribute of GNU C.
1767 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1769 * gcc-interface/trans.c (Call_to_gnu): Restrict previous change
1770 to bitfields whose size is not equal to the type size.
1771 (gnat_to_gnu): Likewise.
1773 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1775 * gcc-interface/trans.c (Call_to_gnu): Minor tweaks.
1776 (gnat_to_gnu_external): Likewise.
1777 (Raise_Error_to_gnu): Return an empty statement list if there is a
1778 condition and it is always false.
1779 (gnat_to_gnu): Do not check for elaboration code a priori during the
1780 translation but a posteriori instead.
1782 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1784 * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
1785 Put a SLOC on the assignment from the return value to the return
1786 object in the copy-in/copy-out case.
1788 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
1790 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Replace
1791 CEIL_DIV_EXPR with EXACT_DIV_EXPR.
1792 * gcc-interface/misc.c (gnat_type_max_size): Likewise.
1793 * gcc-interface/utils.c (maybe_pad_type): Likewise.
1794 (finish_record_type): Likewise. And always compute the unit size.
1796 2021-05-14 Martin Liska <mliska@suse.cz>
1798 * doc/Makefile: Add gnat-style target.
1799 * doc/share/conf.py: Likewise.
1800 * doc/gnat-style.rst: New file.
1802 2021-05-12 Bob Duff <duff@adacore.com>
1805 * atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id
1806 when the Nkind has not yet been set; call the other Zero_Slots
1807 that takes a range of slot offsets. Call the new Mutate_Kind
1808 that takes an Old_Size, for the same reason -- the size cannot
1809 be computed without the Nkind.
1810 (Mutate_Nkind): New function that allows specifying the Old_Size.
1811 (Size_In_Slots): Assert that the Nkind has proper (nonzero) value.
1812 * atree.ads: Minor reformatting.
1814 2021-05-12 Martin Liska <mliska@suse.cz>
1816 * doc/share/conf.py: Do not use binary mode.
1817 Do not use u' literals as Python3 uses unicode by default.
1819 2021-05-11 Martin Liska <mliska@suse.cz>
1821 * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins
1823 (BUILT_IN_UNLIKELY): Likewise.
1825 2021-05-11 Eric Botcazou <ebotcazou@adacore.com>
1827 * gnatvsn.adb (Version_String): Rename to...
1828 (C_Version_String): ...this.
1829 (Gnat_Version_String): Adjust to above renaming.
1830 * version.c : Fix formatting glitches.
1832 2021-05-10 Martin Liska <mliska@suse.cz>
1835 * Make-generated.in: Replace version.c with ada/version.c.
1836 * gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and
1838 * gcc-interface/Makefile.in: Replace version.c with ada/version.c.
1839 Add version.o to TOOLS_LIBS.
1840 * gnatvsn.adb: Replace version_string with gnat_version_string.
1841 * version.c: New file.
1843 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
1845 * einfo-utils.ads (Classification Attributes): Add pragma Inline.
1846 (Synthesized Attribute Functions): Move pragma Inline around.
1847 (Type Representation Attribute Predicates): Likewise.
1848 (Field Initialization Routines): Likewise.
1849 (Miscellaneous Subprogram): Likewise.
1851 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
1853 * atree.ads (Slot): Remove pragma Provide_Shift_Operators.
1854 (Shift_Left): New intrinsic function.
1855 (Shift_Right): Likewise.
1856 * atree.adb (Get_1_Bit_Val): Use Natural instead of Integer.
1857 (Get_2_Bit_Val): Likewise.
1858 (Get_4_Bit_Val): Likewise.
1859 (Get_8_Bit_Val): Likewise.
1860 (Set_1_Bit_Val): Likewise.
1861 (Set_2_Bit_Val): Likewise.
1862 (Set_4_Bit_Val): Likewise.
1863 (Set_8_Bit_Val): Likewise.
1865 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
1867 * atree.adb (Zero_Slots): Remove obsolete comment and add header.
1869 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
1871 * atree.h (Get_32_Bit_Field): Tidy up.
1872 (Get_32_Bit_Field_With_Default): Likewise.
1874 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
1876 * Make-generated.in (do_gen_il): Replace with...
1877 (ada/stamp-gen_il): ...this. Do not copy files into generated/.
1879 2021-05-10 Martin Liska <mliska@suse.cz>
1881 * gcc-interface/utils.c (def_builtin_1): Use startswith
1882 function instead of strncmp.
1884 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
1886 * einfo-utils.adb (Is_Access_Object_Type): Use
1887 Directly_Designated_Type.
1888 (Is_Access_Subprogram_Type): Use Directly_Designated_Type.
1889 (Set_Convention): Use plain Ekind.
1890 * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind.
1891 * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal
1892 completion with an access type don't attempt to decorate the
1893 completion entity; previously the entity had its Ekind set to
1894 E_General_Access_Type or E_Access_Type, but its Designated_Type
1895 was empty, which caused a crash in freezing. (Actually, the
1896 error recovery in the surrounding context is still incomplete,
1897 e.g. we will crash when the illegal completion is an access to
1898 an unknown identifier).
1900 2021-05-07 Bob Duff <duff@adacore.com>
1902 * par_sco.adb: Align with/use clauses.
1903 (Traverse_Declarations_Or_Statements): Minor comment fix.
1904 * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb,
1905 contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb,
1906 errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb,
1907 exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb,
1908 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb,
1909 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb,
1910 exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb,
1911 exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb,
1912 exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb,
1913 exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb,
1914 exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb,
1915 frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb,
1916 impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb,
1917 lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb,
1918 lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb,
1919 par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb,
1920 repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb,
1921 sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb,
1922 sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb,
1923 sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
1924 sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
1925 sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb,
1926 sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
1927 sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb,
1928 sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
1929 sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb,
1930 sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads,
1931 treepr.adb, uname.adb: Align with/use clauses.
1933 2021-05-07 Bob Duff <duff@adacore.com>
1935 * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean
1936 up ??? marks. Rename Set_Ekind to be Mutate_Ekind.
1937 * einfo.ads, sinfo.ads: Likewise. Change "definitive
1938 definition" to "official definition", because the former sounds
1939 redundant. Rename Set_Ekind to be Mutate_Ekind.
1940 * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb,
1941 exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb,
1942 exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb,
1943 exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb,
1944 exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb,
1945 lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb,
1946 sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
1947 sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
1948 sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb,
1949 sem_util.adb: Rename Set_Ekind to be Mutate_Ekind.
1951 2021-05-07 Bob Duff <duff@adacore.com>
1953 * atree.adb: Move nnd-related code from here, and leave a
1954 comment pointing to sinfo-utils.adb.
1955 * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to
1958 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
1960 * einfo.ads: Move Corresponding_Protected_Entry...
1961 * sinfo.ads: ... here.
1962 * exp_ch9.adb (Build_Entry_Body): Link procedure and entry
1964 * gen_il-fields.ads (Opt_Field_Enum): Add
1965 Corresponding_Entry_Body field to nodes; remove
1966 Corresponding_Protected_Entry field from entities.
1967 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
1968 Corresponding_Protected_Entry field from E_Void and
1970 * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add
1971 Corresponding_Entry_Body field to N_Subprogram_Body.
1972 * sem_ch6.adb (Analyze_Subprogram_Specification): Remove
1973 manipulation of Ekind and Corresponding_Protected_Entry added as
1974 part of the support for varsize-nodes.
1976 2021-05-07 Bob Duff <duff@adacore.com>
1978 * sem_ch3.adb (Process_Incomplete_Dependents): Reset
1979 Private_Dependents field to zero before calling Set_Ekind. Also
1980 move Set_Etype to after Set_Ekind, because it's always best to
1981 set the Ekind as early as possible.
1982 * atree.adb: Improve debugging facilities for vanishing fields.
1984 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
1986 * atree.ads (Slot): Change to modular type.
1987 (Slot_1_Bit): Delete.
1988 (Slot_2_Bit): Likewise.
1989 (Slot_4_Bit): Likewise.
1990 (Slot_8_Bit): Likewise.
1991 (Slot_32_Bit): Likewise.
1992 * atree.adb (Get_1_Bit_Val): Adjust to above change.
1993 (Get_2_Bit_Val): Likewise.
1994 (Get_4_Bit_Val): Likewise.
1995 (Get_8_Bit_Val): Likewise.
1996 (Get_32_Bit_Val): Likewise.
1997 (Set_1_Bit_Val): Likewise.
1998 (Set_2_Bit_Val): Likewise.
1999 (Set_4_Bit_Val): Likewise.
2000 (Set_8_Bit_Val): Likewise.
2001 (Set_32_Bit_Val): Likewise.
2002 (Print_Atree_Info): Likewise.
2004 * atree.h (Get_1_Bit_Field): Likewise.
2005 (Get_2_Bit_Field): Likewise.
2006 (Get_4_Bit_Field): Likewise.
2007 (Get_8_Bit_Field): Likewise.
2008 (Get_32_Bit_Field): Likewise.
2009 (Get_32_Bit_Field_With_Default): Likewise.
2010 * types.h (slot_1_bit): Delete.
2011 (slot_2_bit): Likewise.
2012 (slot_4_bit): Likewise.
2013 (slot_8_bit): Likewise.
2014 (slot_32_bit): Likewise.
2015 (any_slot): Change to unsigned int.
2016 (Slot_Size): New macro.
2018 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2020 * gcc-interface/gigi.h (enum standard_datatype): Remove
2021 ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id.
2022 (exception_data_name_id): Delete.
2023 (not_handled_by_others_name_id): New macro.
2024 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old
2025 kludge for exceptions.
2026 <E_Record_Type>: Likewise.
2027 (gnat_to_gnu_field): Force character type on Not_Handled_By_Others.
2028 * gcc-interface/misc.c (gnat_argv): Change type to char **.
2029 (gnat_init_options): Adjust accordingly.
2030 * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id
2031 and use it to set not_handled_by_others_decl.
2032 (Exception_Handler_to_gnu_fe_sjlj): Fix indentation.
2034 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2036 * raise-gcc.c (__gnat_others_value): Remove const qualifier.
2037 (__gnat_all_others_value): Likewise.
2038 (__gnat_unhandled_others_value): Likewise.
2039 (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr.
2040 (GNAT_ALL_OTHERS): Likewise.
2041 (GNAT_UNHANDLED_OTHERS): Likewise.
2042 (Is_Handled_By_Others): Change parameter type to Exception_Id.
2043 (Language_For): Likewise.
2044 (Foreign_Data_For): Likewise.
2045 (is_handled_by): Likewise. Adjust throughout, remove redundant
2046 line and fix indentation.
2047 * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and
2048 useless qualification from parameter type.
2049 (Foreign_Data_For): Likewise.
2050 (Language_For): Likewise.
2052 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2054 * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased.
2055 * stand.ads (Standard_Entity_Type): Enhance comments.
2056 * cstand.adb (Make_Component): Rename into...
2057 (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent
2058 flags on the component.
2059 (Create_Standard): Adjust the types of the component of the record
2060 Standard_Exception_Type and mark them as aliased.
2061 * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK
2062 conversion to Standard_Address for Full_Name component, except
2063 in CodePeer_Mode (set it to 0).
2064 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise.
2065 * raise.h (struct Exception_Data): Change the type of Full_Name,
2066 HTable_Ptr and Foreign_Data.
2068 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2070 * atree.h (Slots_Ptr): Change pointed-to type to any_slot.
2071 * fe.h (Get_RT_Exception_Name): Change type of parameter.
2072 * namet.ads (Name_Entry): Mark non-boolean components as aliased,
2073 reorder the boolean components and add an explicit Spare component.
2074 * namet.adb (Name_Enter): Adjust aggregate accordingly.
2075 (Name_Find): Likewise.
2076 (Reinitialize): Likewise.
2077 * namet.h (struct Name_Entry): Adjust accordingly.
2078 (Names_Ptr): Use correct type.
2079 (Name_Chars_Ptr): Likewise.
2080 (Get_Name_String): Fix declaration and adjust to above changes.
2081 * types.ads (RT_Exception_Code): Add pragma Convention C.
2082 * types.h (Column_Number_Type): Fix original type.
2083 (slot): Rename union type to...
2084 (any_slot): ...this and adjust assertion accordingly.
2085 (RT_Exception_Code): New enumeration type.
2086 * uintp.ads (Uint_Entry): Mark components as aliased.
2087 * uintp.h (Uints_Ptr): Use correct type.
2088 (Udigits_Ptr): Likewise.
2089 * gcc-interface/gigi.h (gigi): Adjust name and type of parameter.
2090 * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr
2092 * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type.
2093 (gigi): Adjust type of parameter.
2094 (build_raise_check): Add cast in call to Get_RT_Exception_Name.
2096 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2098 * init.c (__gnat_raise_program_error): Fix parameter type.
2099 (Raise_From_Signal_Handler): Likewise and mark as no-return.
2100 * raise-gcc.c (__gnat_others_value): Fix type.
2101 (__gnat_all_others_value): Likewise.
2102 (__gnat_unhandled_others_value): Likewise.
2103 * seh_init.c (Raise_From_Signal_Handler): Fix parameter type.
2104 * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C
2105 and new symbol name, move declaration to...
2106 (Raise_From_Controlled_Operation): Minor tweak.
2107 * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here.
2108 * libgnat/a-exexpr.adb (bool): New C compatible boolean type.
2109 (Is_Handled_By_Others): Use it as return type for the function.
2111 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2113 * errout.ads (Set_Identifier_Casing): Add pragma Convention C.
2114 * eval_fat.ads (Rounding_Mode): Likewise.
2115 (Machine): Add WARNING comment line.
2116 * exp_code.ads (Clobber_Get_Next): Add pragma Convention C.
2117 * fe.h (Compiler_Abort): Fix return type.
2118 (Set_Identifier_Casing): Change type of parameters.
2119 (Clobber_Get_Next): Change return type.
2120 * gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast.
2122 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2124 * atree.h (Parent): Remove duplicate declaration.
2125 (Get_1_Bit_Field): Also use INLINE specifier in the declaration,
2126 fix formatting and use gcc_unreachable for the default case.
2127 (Get_2_Bit_Field): Likewise.
2128 (Get_4_Bit_Field): Likewise.
2129 (Get_8_Bit_Field): Likewise.
2130 (Get_32_Bit_Field): Likewise.
2131 (Get_32_Bit_Field_With_Default): Likewise.
2133 2021-05-07 Bob Duff <duff@adacore.com>
2135 * atree.ads, atree.adb: Major rewrite to support variable-sized
2136 node types. Add pragmas Suppress and Assertion_Policy. We now
2137 have an extra level of indirection: Node_Offsets is a table
2138 mapping Node_Ids to the offset of the start of each node in
2139 Slots. Slots is a table containing one or more contiguous slots
2140 for each node. Each slot is a 32-bit unchecked union that can
2141 contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits.
2142 The old low-level getters and setters (e.g. Flag123) are
2144 * gen_il-fields.ads, gen_il-gen-gen_entities.adb,
2145 gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads,
2146 gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb,
2147 gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program
2148 that generates various Ada and C++ files. In particular, the
2149 following files are generated by gen_il: einfo-entities.adb
2150 einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads,
2151 seinfo.ads, seinfo_tables.adb, seinfo_tables.ads,
2152 sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h.
2153 * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb,
2154 einfo-utils.ads: New files containing code that needs to refer
2155 to Sinfo.Nodes and Einfo.Entities. This code is mostly moved
2156 here from Sinfo and Einfo to break cycles.
2157 * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi,
2158 instead of nodes_ptr and flags_ptr. The Nodes and Flags tables
2159 no longer exist. (Note that gigi never used the Flags table.)
2160 * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier,
2161 Change_Character_Literal_To_Defining_Character_Literal,
2162 Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into
2164 * sinfo-cn.adb: Update. Add assertions, which can be removed at
2165 some point. Rewrite to use higher-level facilities. Make sure
2166 vanishing fields are zeroed out. Add with/use for new packages.
2167 * sem_util.adb: Remove "Assert(False)" immediately followed by
2168 "raise Program_Error". Use higher-level facilities such as
2169 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
2170 routines that no longer exist. Use Get_Comes_From_Source_Default
2171 instead of Default_Node.Comes_From_Source (Default_Node no
2172 longer exists). Use Set_Basic_Convention instead of
2173 Basic_Set_Convention. Add with/use for new packages.
2174 * sem_util.ads: The Convention field had getter Convention and
2175 setter Basic_Set_Convention. Make that more uniform: there is
2176 now a field called Basic_Convention, with Basic_Convention and
2177 Set_Basic_Convention as getter/setter, and write Convention and
2178 Set_Convention here.
2179 * nlists.adb: Rewrite to use abstractions, rather then depending
2180 on low-level implementation details of Atree. Necessary because
2181 those details have changed. Add with/use for new packages.
2182 * sem_ch12.adb: Use higher-level facilities such as
2183 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
2184 routines that no longer exist. Add with/use for new packages.
2185 * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb,
2186 sem_prag.adb, sem_warn.adb: Change expanded names to refer to
2187 the new packages for things that moved. Add with/use for new
2189 * sem_ch3.adb: Likewise. Reinitialize vanishing fields.
2190 * exp_disp.adb: Likewise. Remove failing assertion.
2191 * sinfo.ads, einfo.ads: Remove code that is now generated into
2192 Sinfo.Nodes and Einfo.Entities.
2193 * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;".
2194 We should delete these at some point, but No_Body makes make
2195 files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities,
2196 Sinfo.Utils, and Einfo.Utils. Some is no longer necessary.
2197 * treepr.adb: Rewrite to use new tables. We no longer need
2199 * treepr.ads: Add comment.
2200 * types.ads: Move types Component_Alignment_Kind and
2201 Float_Rep_Kind here.
2202 * atree.h: Major update to match atree.ads changes. Add slot
2203 types, for use by getters/setters.
2204 * types.h: Move types Component_Alignment_Kind and
2205 Float_Rep_Kind here.
2206 * fe.h: Rewrite to deal with code that has changed or moved from
2207 Atree, Sinfo, Einfo.
2208 * nlists.h: Move some code to fe.h.
2209 * alloc.ads: Split Nodes_* constants into Node_Offsets and
2210 Slots, because Atree has two separate tables. Increase values.
2211 Remove Nodes_Release_Threshold. Improve comment.
2212 * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N
2213 switches. Add with/use for new packages.
2214 * opt.ads: Minor comment fix.
2215 * aspects.adb, checks.adb, comperr.adb, contracts.adb,
2216 cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb,
2217 exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb,
2218 exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
2219 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
2220 exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb,
2221 exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
2222 exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb,
2223 exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb,
2224 exp_util.ads, expander.adb, freeze.adb, frontend.adb,
2225 get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb,
2226 itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb,
2227 lib-writ.adb, lib-xref.adb, lib-xref.ads,
2228 lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb,
2229 pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb,
2230 scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb,
2231 sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb,
2232 sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb,
2233 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb,
2234 sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb,
2235 sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb,
2236 sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb,
2237 sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb,
2238 tbuild.ads, uname.adb: Add with/use for new packages.
2239 * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease
2241 * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File,
2242 Create_New_File): Create file in binary format, to avoid
2243 introducing unwanted text conversions on Windows. Simplify to
2245 * libgnat/a-stteou__bootstrap.ads: New.
2246 * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb,
2247 xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete.
2248 * Make-generated.in: Build and run the gen_il program to
2249 generate files. The files are generated in the ada/gen_il
2250 subdirectory, and then moved up to ada. We rely on gnatmake (as
2251 opposed to make) to build the gen_il program efficiently (i.e.
2252 don't do anything if the sources didn't change).
2253 * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU.
2254 (GNATMAKE_OBJS): Add new object files.
2255 (GENERATED_FILES_FOR_TOOLS): New variable.
2256 (../stamp-tools): Create a link for all
2257 GENERATED_FILES_FOR_TOOLS.
2258 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object
2259 files. Remove ada/treeprs.o.
2260 (GNATBIND_OBJS): Add new object files.
2261 (ada.mostlyclean): Remove ada/sdefault.adb and add
2263 (ada.maintainer-clean): Remove ada/treeprs.ads.
2264 (update-sources): Remove obsolete target.
2265 (ada_generated_files): Rename to...
2266 (ADA_GENERATED_FILES): ... this. Add new source files. Add
2268 * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and
2269 Flags_ptr. Add Node_Offsets_Ptr and Slots_Ptr, which point to
2270 the corresponding tables in Atree.
2271 * gcc-interface/gigi.h (gigi): New parameters for initializing
2272 Node_Offsets_Ptr and Slots_Ptr.
2273 * gcc-interface/decl.c: Numeric_Kind,
2274 Discrete_Or_Fixed_Point_Kind, and Record_Kind were
2275 nonhierarchical, and were therefore removed for simplicity.
2276 Replace uses with calls to Is_In_... functions.
2278 2021-05-07 Ed Schonberg <schonberg@adacore.com>
2280 * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A
2281 component declaration whose subtype indication is an entity name
2282 without an explicit constraint is an Unchecked_Union type only
2283 if the entity has an unconstrained nominal subtype (record type
2284 or private type) whose parent type is an Unchecked_Union.
2286 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
2288 * sem_res.adb (Flag_Object): Ignore prefixes of attribute
2291 2021-05-07 Yannick Moy <moy@adacore.com>
2293 * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value.
2294 * sem_res.adb (Resolve_Unary_Op): Generate warning.
2295 * usage.adb: Refine doc for -gnatw.m/M switch.
2296 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
2297 Update doc on -gnatw.m switch.
2298 * gnat_ugn.texi: Regenerate.
2300 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
2302 * sem_res.adb (Flag_Object): Replace chained IF with a CASE;
2303 remove repeated calls to Entity; do not traverse into
2304 N_Identifier and N_Expanded_Name, because only need to examine
2305 their Entity field anyway.
2307 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
2309 * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List.
2310 (Process_Overloaded_Indexed_Component): Remove call to
2312 * sem_util.adb (Insert_Explicit_Dereference): Remove call to
2314 * sem_type.ads (End_Interp_List): Remove.
2315 * sem_type.adb (Add_Entry): The guard against duplicate entries
2316 is now checked before other conditions, so that EXIT statements
2317 do not bypass this guard.
2318 (End_Interp_List): Remove.
2320 2021-05-07 Ed Schonberg <schonberg@adacore.com>
2322 * exp_util.adb (Remove_Init_Call): If a simple initialization
2323 call is present, and the next statement is an initialization
2324 block (that contains a call to a Deep_ Initialize routine),
2325 remove the block as well, and insert the first initialization
2326 call in it, in case it is needed for later relocation.
2328 2021-05-07 Gary Dismukes <dismukes@adacore.com>
2330 * errout.ads (Size_Too_Small_Message): Remove low-value ???
2332 * exp_util.ads: Remove ??? in part of overall package comments
2333 and restructure comment to clarify.
2334 (Duplicate_Subexpr): Remove ??? comment that seems unnecessary.
2335 * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized
2336 ??? comments and add more description of the procedure's
2338 (Get_Discriminant_Value): Remove ??? comment requesting more
2339 documentation, expanding description of the function's actions.
2340 * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more
2341 semantic description of the procedure and remove ??? comment
2343 (Propagate_Tag): Refine comment to indicate meaning of formal
2344 parameters and generally improve the spec comment (and remove
2345 ??? comment asking about the parameters).
2347 2021-05-07 Arnaud Charlet <charlet@adacore.com>
2349 * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left
2350 resulting in negative signed values.
2352 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2354 * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter.
2355 (Defining_Entity_Or_Empty): New function.
2356 * sem_util.adb (Defining_Entity): Move bulk of implementation to...
2357 (Defining_Entity_Or_Empty): ...here. Do not raise Program_Error.
2358 (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty.
2360 2021-05-07 Justin Squirek <squirek@adacore.com>
2362 * aspects.ads: Add entries to register
2363 Aspect_No_Controlled_Parts.
2364 * freeze.adb (Check_No_Controlled_Parts_Violations): Added to
2365 check requirements of aspect No_Controlled_Parts after a type
2367 (Freeze_Entity): Add call to
2368 Check_No_Controlled_Parts_Violations.
2369 (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect
2370 specification for No_Controlled_Parts on a given type when
2372 (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid
2374 (Has_Aspect_No_Controlled_Parts): Created as a prediate function
2375 to check if No_Controlled_Parts has been specified on a type for
2376 Get_Anacestor_Types_With_Specification.
2377 (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the
2378 value of the aspect No_Controlled_Parts when specified on a
2380 (Get_Generic_Formal_Types_In_Hierarchy): Created to collect
2381 formal types in a given type's hierarchy.
2382 (Get_Types_With_Aspect_In_Hierarchy): Created to collect types
2383 in a given type's hierarchy with No_Controlled_Parts specified.
2384 * sem_ch13.adb (Analyze_One_Aspect): Add processing for
2385 No_Controlled_Parts, and fix error in check for allowed pragmas
2387 (Check_Expr_Is_OK_Static_Expression): Created to enforce
2388 checking of static expressions in the same vein as
2389 Analyze_Pragma.Check_Expr_OK_Static_Expression.
2390 * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect
2391 types in a given type's hierarchy that match a given predicate
2393 * sem_util.ads: Fix typo.
2394 * snames.ads-tmpl: Add entry for No_Controlled_Parts.
2396 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
2398 * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the
2399 overflow case when T'Machine_Overflows is True.
2401 2021-05-07 Bob Duff <duff@adacore.com>
2403 * libgnat/a-conhel.adb (TC_Check): Move the Assert into the
2406 2021-05-07 Frederic Konrad <konrad@adacore.com>
2408 * sigtramp-vxworks-target.inc: Use a local label for the TOC.
2410 2021-05-07 Claire Dross <dross@adacore.com>
2412 * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util.
2413 * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants):
2416 2021-05-07 Ed Schonberg <schonberg@adacore.com>
2418 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
2419 Add guard to verify that the enclosing pragma is a precondition.
2421 2021-05-06 Javier Miranda <miranda@adacore.com>
2423 * exp_disp.adb (Build_Class_Wide_Check): Extending the
2424 functionality of this routine to climb to the ancestors
2425 searching for the enclosing overridden dispatching primitive
2426 that has a class-wide precondition to generate the check.
2428 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2430 * sem_ch3.adb (Constraint_Index): Remove redundant problematic
2433 2021-05-06 Arnaud Charlet <charlet@adacore.com>
2435 * exp_unst.adb (Note_Uplevel_Bound): Exclude
2436 E_Enumeration_Literal.
2438 2021-05-06 Arnaud Charlet <charlet@adacore.com>
2440 * exp_ch4.adb (Expand_N_If_Expression):
2441 Apply_Arithmetic_Overflow_Check will not deal with
2442 Then/Else_Actions so skip minimizing overflow checks if any
2443 actions are present.
2445 2021-05-06 Boris Yakobowski <yakobowski@adacore.com>
2447 * gnat1drv.adb (Adjust_Global_Switches): Simplify logic.
2449 2021-05-06 Arnaud Charlet <charlet@adacore.com>
2451 * libgnat/i-c.ads (bool): New type.
2452 * libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now
2453 a subtype of Interfaces.C.bool.
2454 * libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify
2456 * libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb,
2457 libgnarl/s-tasini.adb, libgnarl/s-tasren.adb,
2458 libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb,
2459 libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace
2460 Assert (False) by Assert (Standard.False).
2462 2021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
2464 * make.adb (Compute_Executable): Document parameter.
2466 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
2468 * libgnat/s-fatgen.adb (Scaling): Use single handling of
2469 underflow. Add pragma Annotate.
2471 2021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
2473 * sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype,
2474 remove redundant checks.
2476 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2478 * sem_res.adb (First_Last_Ref): Simplify "if [condition] then
2479 return True" in "return [condition]".
2480 (Resolve_Range): Remove calls appearing in IF condition from the
2483 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2485 * sem_case.adb (Missing_Choice): Fix typo in comment.
2486 (Lit_Of): Simplify with Make_Character_Literal.
2487 (Check_Choices): Remove extra spaces in parameter
2489 * sem_case.ads: Same reformatting.
2491 2021-05-06 Ed Schonberg <schonberg@adacore.com>
2493 * exp_aggr.adb (Expand_Array_Aggregate): If the expression in an
2494 Others_Clause has not been analyzed because previous analysis of
2495 the enclosing aggregate showed the clause to be ineffective i.e.
2496 cover a null range, analyze it now to detect a possible type
2499 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
2501 * libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow.
2503 2021-05-06 Arnaud Charlet <charlet@adacore.com>
2505 * sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a
2506 list member in both branches.
2508 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2510 * libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma
2513 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2515 * sem_ch4.adb (Analyze_Selected_Component): Remove explicit call
2516 to Set_Raises_Constraint_Error on statically missing component.
2517 * sem_eval.adb (Eval_Arithmetic_Op): Likewise for static
2518 divisions by integer and real zeros.
2519 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Call
2520 Set_Raises_Constraint_Error before exiting early in GNATprove
2523 2021-05-06 Justin Squirek <squirek@adacore.com>
2525 * checks.adb (Make_Discriminant_Constraint_Check): Add check for
2526 null when the type being converted is an access type.
2528 2021-05-06 Arnaud Charlet <charlet@adacore.com>
2530 * exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs.
2532 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2534 * osint.adb (Read_Library_Info_From_Full): Cleanup unused
2537 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
2539 * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7):
2540 Mention the IEEE standard explicitly. Use current format names.
2541 Document assumed rounding mode and new features of I/O support.
2542 * gnat_rm.texi: Regenerate.
2544 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
2546 * init.c (__gnat_init_float): Use full version on Linux too.
2548 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
2550 * libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0
2551 when denormalized numbers are not supported.
2553 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2555 * sem_attr.adb (Check_Enum_Image): Reword comment; add
2556 Check_Enumeration_Maps parameter. Now this routine combines
2557 both referencing enumeration literals and checking restriction
2558 No_Enumeration_Maps, if required.
2559 (Analyze_Attribute): Remove duplicated code and instead call
2562 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2564 * sem_attr.adb (Analyze_Image_Attribute): Remove redundant
2565 condition; add a missing header box.
2567 2021-05-06 Gary Dismukes <dismukes@adacore.com>
2569 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
2570 mention of underscore and fix grammar error in doc for -gnatd.
2571 * gnat_ugn.texi: Regenerate.
2573 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
2575 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt
2577 * exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float.
2578 * rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt.
2579 (RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float.
2580 (RE_Unit_Table): Likewise.
2581 * libgnat/s-exnflt.ads: New file.
2582 * libgnat/s-exnlfl.ads: Likewise.
2583 * libgnat/s-exnllf.ads: Change to mere instantiation.
2584 * libgnat/s-exnllf.adb: Move implementation to...
2585 * libgnat/s-exponr.ads: New generic unit.
2586 * libgnat/s-exponr.adb: ...here and also make it generic.
2587 (Expon): Do the computation in double precision internally.
2589 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2591 * lib-writ.adb, osint.adb, osint.ads: Cleanup.
2593 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
2595 * exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
2597 (Expand_N_Object_Declaration): Likewise.
2598 (Build_Equivalent_Aggregate): Likewise.
2599 (Initialization_Warning): Likewise; change another excessive
2600 condition into assertion.
2601 * freeze.adb (Freeze_Entity): Remove excessive condition.
2603 2021-05-06 Ed Schonberg <schonberg@adacore.com>
2605 * sem_res.adb (Resolve_If_Expression): If the context of the
2606 expression is an indexed_component, resolve the expression and
2607 its dependent_expressions with the base type of the index, to
2608 ensure that an index check is generated when resolving the
2609 enclosing indexxed_component, and avoid an improper use of
2610 discriminants out of scope, when the index type is
2611 discriminant-dependent.
2613 2021-05-06 Arnaud Charlet <charlet@adacore.com>
2615 * einfo.ads, exp_prag.adb, exp_util.adb: Fix typos.
2617 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2619 * exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of
2620 attributes Input and Output for unchecked unions.
2621 * sem_case.ads: Fix typo "disriminant" and refill comment.
2623 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2625 * exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse
2626 Has_Defaulted_Discriminants.
2627 * sem_ch4.adb (Analyze_Allocator): Reuse
2628 Has_Defaulted_Discriminants (after reordering conjuncts); remove
2629 redundant IF statement, whose condition is implied by
2630 Has_Defaulted_Discriminants.
2631 * sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants
2632 implies that the First_Discriminant is present.
2633 (Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants.
2635 2021-05-05 Justin Squirek <squirek@adacore.com>
2637 * exp_ch6.adb (Expand_Call_Helper): Add condition to check for
2638 expanded actuals and remove dead code.
2640 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2642 * exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to
2643 follow the Ada RM grammar.
2645 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2647 * exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type
2648 of a local variable.
2649 * exp_dbug.adb (Scope_Contains): Refine all types from Node_Id
2650 to Entity_Id; rename parameters to match those of the
2651 Scope_Within routine (which is similar but not the same); also,
2652 simplify an OR ELSE into a membership test.
2654 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2656 * exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
2657 qualified and unqualified names of unchecked union components.
2659 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2661 * exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant
2662 check for empty list.
2663 * exp_disp.adb (Find_Entry_Index): Simplify by removing
2664 redundant check and counting from zero; fix type of a local
2666 * sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary
2667 special-case for empty lists.
2669 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2671 * exp_ch4.adb (Apply_Accessibility_Check): Skip a statically
2672 true condition in expanded raise statement.
2674 2021-05-05 Bob Duff <duff@adacore.com>
2676 * libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code.
2678 2021-05-05 Ed Schonberg <schonberg@adacore.com>
2680 * sem_ch5.adb (Analyze_Assignment): Do not emit the warning that
2681 a previous value of the target object is useless if the
2682 right-hand side of the assignment includes target names.
2684 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2686 * exp_imgv.adb: Add with/use clauses for Targparm.
2687 (Build_Enumeration_Image_Tables): Set type of Threshold to Nat and
2688 initialize it to Nat'Last if the type is local and the target does
2689 not support descriptors. Adjust Threshold_For_Size similarly.
2690 (Expand_Value_Attribute): Minor tweaks.
2692 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
2694 * exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call.
2695 * sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init
2698 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
2700 * par-ch5.adb (P_Condition): Check if expression is declare
2703 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2705 * make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a
2706 custom imported procedure.
2708 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2710 * exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete.
2711 (Expand_Image_Attribute): Move inline expansion into normal flow of
2712 control, move down declarations and remove superfluous processing.
2714 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2716 * libgnat/g-alleve.adb (Bit_Operation): Now a not-null type.
2717 * libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise.
2718 * libgnat/s-dwalin.adb (Callback): Likewise.
2720 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
2722 * exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented
2725 2021-05-05 Ed Schonberg <schonberg@adacore.com>
2727 * sem_ch3.adb (Find_Type_Of_Object): When In_Spec_Expression is
2728 set and the object declaration generates a subtype indication,
2729 build the corresponding subtype declaration and place it in tree
2730 without the use of Insert_Actions, which is disabled in this
2733 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2735 * debug.adb (d_x): Document extended usage.
2736 * exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure.
2737 (Expand_Image_Attribute): Call it to expand in line the attribute
2738 for standard boolean by default.
2740 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2742 * debug.adb (d_x): Document new usage.
2743 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ
2744 parameter and use it throughout the processing.
2745 (Expand_Image_Attribute): Retrieve the underlying type of the
2746 prefix and use the inline expansion for user-defined enumeration
2747 types with a literal string by default.
2749 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2751 * libgnat/s-dorepr.adb (Split): Declare a per-size temporary.
2752 Add pragma Annotate.
2754 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2756 * exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove
2757 redundant calls to UI_From_Int.
2759 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2761 * exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment.
2762 * exp_imgv.adb (Build_Enumeration_Image_Tables): Add the
2763 declaration nodes of the 4 tables to the declaration list of the
2766 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2768 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16,
2769 s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and
2770 s-vaenu8. Remove s-imenne, s-imgenu and s-valenu.
2771 * debug.adb (d_h): Document new usage.
2772 * einfo.ads (Lit_Hash): New attribute for enumeration types.
2773 (Set_Lit_Hash): Declare.
2774 * einfo.adb (Lit_Hash): New function.
2775 (Set_Lit_Hash): New procedure.
2776 (Write_Field21_Name): Print Lit_Hash for Enumeration_Kind.
2777 * exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description
2778 and document the hash function and its tables.
2779 * exp_imgv.adb: Add with/use clauses for Debug. Add with clause
2780 for System.Perfect_Hash_Generators.
2781 (Append_Table_To): New helper routine.
2782 (Build_Enumeration_Image_Tables): Call it to build the tables.
2783 In the main unit, register the literals with the hash generator.
2784 If they are sufficiently many and -gnatd_h is not passed, generate
2785 a perfect hash function and its tables; otherwise, generate a dummy
2786 hash function. For the other units, generate only the declaration.
2787 In all cases, set Lit_Hash to the entity of the function, if any.
2788 (Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash,
2789 if any, as third argument to the Value_Enumeration_NN function.
2790 * gnat1drv.adb (Adjust_Global_Switches): force simpler implementation
2791 of 'Value in CodePeer_Mode.
2792 * lib.ads (Synchronize_Serial_Number): Add SN parameter.
2793 * lib.adb (Synchronize_Serial_Number): Assert that it is larger than
2794 the serial number of the current unit and set the latter to it only
2796 * rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16,
2797 System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and
2798 System_Val_Enum_32. Remove System_Img_Enum, System_Img_Enum_New
2799 and System_Val_Enum.
2800 * sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler
2801 generated Unrestricted_Access attribute as illegal in a declare
2803 (RE_Unit_Table): Adjust to above changes.
2804 * libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning.
2805 * libgnat/g-table.ads: Likewise.
2806 * libgnat/g-pehage.ads: Add with clause and local renaming for
2807 System.Perfect_Hash_Generators.
2808 (Optimization): Turn into derived type.
2809 (Verbose): Turn into renaming.
2810 (Too_Many_Tries): Likewise.
2811 (Table_Name): Move to System.Perfect_Hash_Generators.
2814 * libgnat/g-pehage.adb: Remove with clause for Ada.Directories,
2815 GNAT.Heap_Sort_G and GNAT.Table. Move bulk of implementation
2816 to System.Perfect_Hash_Generators, only keep the output part.
2817 * libgnat/s-imagen.ads: New generic unit.
2818 * libgnat/s-imagen.adb: New body.
2819 * libgnat/s-imen16.ads: New unit.
2820 * libgnat/s-imen32.ads: Likewise.
2821 * libgnat/s-imenu8.ads: Likewise.
2822 * libgnat/s-imenne.ads: Adjust description.
2823 * libgnat/s-imgenu.ads: Delete.
2824 * libgnat/s-imgenu.adb: Likewise.
2825 * libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators.
2826 * libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators.
2827 * libgnat/s-valuen.ads: New generic unit.
2828 * libgnat/s-valuen.adb: New body.
2829 * libgnat/s-vaen16.ads: New unit.
2830 * libgnat/s-vaen32.ads: Likewise.
2831 * libgnat/s-vaenu8.ads: Likewise.
2832 * libgnat/s-valenu.ads: Delete.
2833 * libgnat/s-valenu.adb: Likewise.
2834 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o.
2835 (GNATBIND_OBJS): Remove s-imgenu.o.
2837 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
2839 * sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove
2840 parameter Rep from the function spec and "and if the flag Rep is
2841 set" from the comment.
2842 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove
2845 2021-05-05 Ed Schonberg <schonberg@adacore.com>
2847 * sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed
2848 aggregates with component associations verify that if there is
2849 more than one component association then all the choices are
2850 static, that the set of choices define a continuous sequence of
2851 values, and that if loop specfications appear, they do not
2852 include iterator filters or key expressions.
2854 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
2856 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager,
2857 s-imgflt, s-imglfl and s-imgllf.
2858 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb.
2859 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise.
2860 (LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise.
2861 (LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise.
2862 (LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise.
2863 (LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise.
2864 (LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise.
2865 (LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise.
2866 (LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise.
2867 (LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise.
2868 (LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise.
2869 * exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use
2870 Fixed suffix and Long_Float type.
2871 * exp_imgv.adb (Expand_Image_Attribute): For floating-point types,
2872 use the routine of the corresponding root type. For ordinary fixed
2873 point types, use Fixed suffix and Long_Float type.
2874 (Expand_Value_Attribute): Revert latest change for Long_Long_Float.
2875 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units
2876 g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o.
2877 (GNATBIND_OBJS): Remove libgnat unit s-imgenu.o.
2878 * rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and
2879 System_Img_LLF. Remove System_Img_Real.
2880 (RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed. Add RE_Image_Float,
2881 RE_Image_Long_Float and RE_Image_Long_Long_Float. Rename
2882 RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed.
2883 (RE_Unit_Table): Adjust to above changes.
2884 * libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead
2886 * libgnat/a-textio.ads (Field): Remove obsolete comment.
2887 * libgnat/a-ticoau.ads (Aux): Adjust ancestor package.
2888 * libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real.
2889 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
2890 * libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt,
2891 System.Img_LFlt and System.Img_LLF.
2892 (Scalar_Float): Add third actual parameter.
2893 (Scalar_Long_Float): Likewise.
2894 (Scalar_Long_Long_Float): Likewise.
2895 * libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt
2896 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
2897 Long_Long_Float with Long_Float throughout.
2898 * libgnat/a-tifiio__128.adb: Likewise.
2899 * libgnat/a-tiflau.ads: Add Set_Image formal parameter.
2900 * libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util,
2901 remove the one for System.Img_Real.
2902 (Put): Call Set_Image instead of Set_Image_Real.
2904 * libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt,
2905 System.Img_LFlt and System.Img_LLF.
2906 (Aux_Float): Add third actual parameter.
2907 (Aux_Long_Float): Likewise.
2908 (Aux_Long_Long_Float): Likewise.
2909 * libgnat/a-witeio.ads (Field): Remove obsolete comment.
2910 * libgnat/a-wtcoau.ads (Aux): Adjust ancestor package.
2911 * libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real.
2912 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
2913 * libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt,
2914 System.Img_LFlt and System.Img_LLF.
2915 (Scalar_Float): Add third actual parameter.
2916 (Scalar_Long_Float): Likewise.
2917 (Scalar_Long_Long_Float): Likewise.
2918 * libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt
2919 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
2920 Long_Long_Float with Long_Float throughout.
2921 * libgnat/a-wtfiio__128.adb: Likewise.
2922 * libgnat/a-wtflau.ads: Add Set_Image formal parameter.
2923 * libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util,
2924 remove the one for System.Img_Real.
2925 (Put): Call Set_Image instead of Set_Image_Real.
2927 * libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt,
2928 System.Img_LFlt and System.Img_LLF.
2929 (Aux_Float): Add third actual parameter.
2930 (Aux_Long_Float): Likewise.
2931 (Aux_Long_Long_Float): Likewise.
2932 * libgnat/a-ztexio.ads (Field): Remove obsolete comment.
2933 * libgnat/a-ztcoau.ads (Aux): Adjust ancestor package.
2934 * libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real.
2935 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
2936 * libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt,
2937 System.Img_LFlt and System.Img_LLF.
2938 (Scalar_Float): Add third actual parameter.
2939 (Scalar_Long_Float): Likewise.
2940 (Scalar_Long_Long_Float): Likewise.
2941 * libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt
2942 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
2943 Long_Long_Float with Long_Float throughout.
2944 * libgnat/a-ztfiio__128.adb: Likewise.
2945 * libgnat/a-ztflau.ads: Add Set_Image formal parameter.
2946 * libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util,
2947 remove the one for System.Img_Real.
2948 (Put): Call Set_Image instead of Set_Image_Real.
2950 * libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt,
2951 System.Img_LFlt and System.Img_LLF.
2952 (Aux_Float): Add third actual parameter.
2953 (Aux_Long_Float): Likewise.
2954 (Aux_Long_Long_Float): Likewise.
2955 * libgnat/s-dorepr.adb: New file.
2956 * libgnat/s-dorepr__fma.adb: Likewise.
2957 * libgnat/s-dourea.ads: Likewise.
2958 * libgnat/s-dourea.adb: Likewise.
2959 * libgnat/s-forrea.ads (Fore_Real): Rename into...
2960 (Fore_Fixed): ...this and take Long_Float parameters.
2961 * libgnat/s-forrea.adb (Fore_Real): Likewise.
2962 (Fore_Fixed): Likewise.
2963 * libgnat/s-imgrea.ads: Move to...
2964 (Set_Image_Real): Turn into mere renaming.
2965 * libgnat/s-imager.ads: ...here.
2966 (Image_Ordinary_Fixed_Point): Turn into...
2967 (Image_Fixed_Point): ...this.
2968 * libgnat/s-imgrea.adb: Add pragma No_Body. Move to...
2969 * libgnat/s-imager.adb: ...here.
2970 (Image_Ordinary_Fixed_Point): Turn into...
2971 (Image_Fixed_Point): ...this.
2972 (Is_Negative): Replace Long_Long_Float with Num.
2973 (Set_Image_Real): Likewise. Use Double_T instead of single Num
2974 throughout the algorithm.
2975 * libgnat/s-imgflt.ads: New file.
2976 * libgnat/s-imglfl.ads: Likewise.
2977 * libgnat/s-imgllf.ads: Likewise.
2978 * libgnat/s-imagef.ads: Adjust comment.
2979 * libgnat/s-imguti.ads (Max_Real_Image_Length): New named number.
2980 * libgnat/s-powflt.ads (Maxpow): Adjust.
2981 (Powten): Turn into an exact table of double Float.
2982 * libgnat/s-powlfl.ads (Maxpow): Adjust.
2983 (Powten): Turn into an exact table of double Long_Float.
2984 * libgnat/s-powllf.ads (Maxpow): Adjust.
2985 (Powten): Turn into an exact table of double Long_Long_Float.
2986 * libgnat/s-valrea.ads: Change order of formal parameters.
2987 * libgnat/s-valrea.adb: Add with clause for System.Double_Real.
2988 (Double_Real): New instantiation.
2990 (Large_Powten): New function.
2991 (Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum. Convert
2992 the value to Double_T. Do the scaling in Double_T for base 10.
2993 * libgnat/s-valflt.ads: Remove with/use clasue for Interfaces,
2994 add it for System.Unsigned_Types. Use Unsigned.
2995 * libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces,
2996 add it for System.Unsigned_Types. Use Long_Unsigned.
2997 * libgnat/s-valllf.ads: Remove with/use clasue for Interfaces,
2998 add it for System.Unsigned_Types. Use Long_Long_Unsigned.
3000 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
3002 * sem_eval.adb (Eval_Arithmetic_Op): Call
3003 Set_Raises_Constraint_Error on real division by zero just like
3004 it is called for integer division by zero earlier in this
3007 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
3009 * freeze.adb (Build_Renamed_Body): Simplify IF and WHILE
3010 statements with the same condition.
3012 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
3014 * pprint.adb (Expr_Name): Introduce local constants to make the
3015 code more readable and avoid repeated calls to Next to reach the
3016 ELSE part of an if-expression.
3018 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3020 * pprint.adb: Remove qualification of arbitrary calls to
3021 Sinfo.Expressions and Sinfo.Parameter_Associations.
3023 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3025 * pprint.adb (Expr_Name): Simplify with functional variant of
3028 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3030 * pprint.adb (To_Mixed): Removed.
3032 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3034 * pprint.adb (List_Name_Count): Change type from Integer to
3037 2021-05-04 Yannick Moy <moy@adacore.com>
3039 * pprint.adb (Expression_Image): Special case for
3040 expression-with-actions.
3042 2021-05-04 Bob Duff <duff@adacore.com>
3044 * exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.
3046 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3048 * lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated
3049 branch for generic subprograms (they are now handled together
3050 with non-generic subprograms in the ELSE branch); replace a
3051 low-level Ekind membership test with a high-level call to
3052 Is_Access_Subprogram_Type.
3054 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3056 * sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal
3058 * sem_ch6.adb (Is_Non_Overriding_Operation): Likewise.
3060 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3062 * sem_prag.adb (Collect_Global_Item): Iterate directly over
3065 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3067 * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
3068 comment; this routine is no longer used by GNATprove.
3069 * sem_prag.adb (Find_Role): The IN parameter is on output only
3070 when it belongs to non-function; also, the otherwise constant
3071 object can only be written by a non-function.
3072 (Collect_Global_Item): The IN parameter can only be written when
3073 it belongs to non-function; also, unnest this check to make it
3076 2021-05-04 Arnaud Charlet <charlet@adacore.com>
3078 * libgnat/s-assert.ads (Assert_Failure): Now a renaming of
3080 * libgnat/a-assert.ads (Assertion_Error): Now a first class
3081 citizen. Remove dependency on System.Assertions.
3082 * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New.
3083 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
3084 a-assert.o from gcc-interface.
3086 2021-05-04 Yannick Moy <moy@adacore.com>
3088 * erroutc.adb (Matches): Move spec...
3089 * erroutc.ads (Matches): ...here.
3091 2021-05-04 Yannick Moy <moy@adacore.com>
3093 * gnat1drv.adb (Adjust_Global_Switches): Force error marker in
3096 2021-05-04 Bob Duff <duff@adacore.com>
3098 * binde.adb: No need for ??? marks in Binde, because it is
3099 superseded by Bindo.
3100 * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra
3102 * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for
3103 conversions passed to gigi are documented in sinfo.ads.
3104 (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of
3106 (Expand_N_In): Robert already added sufficient comments years
3107 after the ??? comment was inserted.
3108 (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any
3109 reason why Stand should export Long_Long_Integer'Base -- it
3110 doesn't export any other base types.
3111 (Size_In_Storage_Elements): We are doing an allocator, so we
3112 don't care about sizes in bits.
3113 (Expand_N_Allocator): PolyORB isn't going to be significantly
3114 improved, so we're not going to mess with remote access to
3116 (Optimize_Return_Stmt): It's not important to optimize return
3117 statements in predicate functions -- there are many
3118 more-important optimizations we could do. Keep part of the
3119 comment without "???", to clarify why the "and then ...".
3120 (User_Defined_Primitive_Equality_Op): The optimization doesn't
3121 seem important enough.
3122 (Expand_N_Unchecked_Type_Conversion): Refactor to use
3123 Expand_N_Unchecked_Expression.
3124 (Make_Array_Comparison_Op): This seems like a case of "it it's
3125 not broken, don't fix it". Too much risk of causing bugs.
3126 * debug_a.adb: Remove ??? comments asking why Current_Error_Node
3127 is maintained unconditionally, and add a comment explaining why.
3128 * errout.adb: These kinds of minor bugs do indeed exist, but
3129 we're never going to get around to fixing them "properly", so we
3130 need this code for robustness.
3131 * gnatchop.adb (Read_File): Document when read can fail.
3132 * gnatdll.adb (Parse_Command_Line): Nobody is complaining about
3133 these arbitrary limits, so no need to use Table. Increase the
3134 limits just in case. It is clear from the names what they are
3136 * gnatlink.adb: Add needed comments.
3137 (Delete): An existing comment makes clear it's intentional, and
3138 it's been like that since 1996.
3139 (Process_Args): Improve comments.
3140 (Search_Library_Path): Refactoring to avoid deep nesting.
3141 * inline.adb (Build_Body_To_Inline): Probably won't get around
3142 to doing that optimization.
3143 (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux,
3144 because it is too specialized to this context.
3145 (Do_Reset): No comment is needed here; it's clear from the
3146 comment on Reset_Dispatching_Calls. Do_Reset is an artificial
3147 subprogram; if we had proper iterators, it would just be an if
3148 statement in the loop.
3149 (Rewrite_Function_Call): Probably won't get around to doing that
3151 * layout.adb (Layout_Type): The gigi comment doesn't need to be
3152 a ??? comment, and it's been that way since 2000. The
3153 limitation to scalars will likely never be investigated, and
3154 it's been that way since 2009.
3155 * lib.adb (Check_Same_Extended_Unit): This doesn't look like
3156 something that needs fixing; it looks like a permanent
3158 * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in
3160 (Load_Unit): Nobody will ever get around to investigating the
3161 obscure PMES oddity, and the optimization is not worth the
3163 * live.adb: It's not worth documenting this. It is used only
3164 with a debug switch. Nobody who has done significant work on it
3165 is still around, so it would require substantial investigation.
3166 * mdll.ads: I see no reason for USE.
3167 * namet.ads: Routines are obsolete, but they're not going
3168 anywhere anytime soon (too much work, and surprisingly delicate
3169 because of dependences on global variables).
3171 * osint.adb: Improve comments.
3172 (Full_Lib_File_Name): Use Smart_Find_File.
3174 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3176 * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership
3177 tests with a high-level call to Is_Formal_Object.
3179 2021-05-04 Arnaud Charlet <charlet@adacore.com>
3181 * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads,
3182 xr_tabls.adb, xref_lib.adb: Address ??? comments.
3184 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3186 * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into
3187 account when accepting or rejecting a constant of an
3188 access-to-variable type as a global Output/In_Out; do this check
3189 inside an ELSIF branch to avoid unnecessary evaluation of the
3190 subsequent condition.
3192 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3194 * sem_prag.adb (Role_Error, Usage_Error): Replace calls to
3195 Name_Find and Get_Name_String with a call to To_String.
3197 2021-05-04 Ed Schonberg <schonberg@adacore.com>
3199 * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of
3200 Expand_Container_Aggregate, to create an expression to be used
3201 in the dynamic allocation of a container with a single container
3202 element association.
3203 (Add_Range): Handle static bounds of ranges over enumerations.
3204 (Expand_Container_Aggregate): Add declaration for size
3205 expression when needed, and use it in container object
3206 declaration for container.
3208 2021-05-04 Arnaud Charlet <charlet@adacore.com>
3210 * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name):
3211 Unnest so that it can be reused.
3212 (Build_Finalizer_Helper.Process_Declarations): Call the
3213 xxx__finalize_body procedure of a package instantiation in case
3214 it contains finalization statements. Code clean ups.
3215 (Build_Finalizer_Helper.Create_Finalizer): Export and set an
3216 Interface_Name for library level finalizers since these may be
3218 (Build_Finalizer_Helper): Need to process library level package
3219 body instantiations which may contain objects requiring
3221 * libgnat/s-finmas.ads: Fix typo.
3223 2021-05-04 Arnaud Charlet <charlet@adacore.com>
3225 * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks,
3226 Determine_Range, Insert_Range_Checks,
3227 Install_Null_Excluding_Check, Selected_Length_Checks,
3228 Selected_Range_Checks): Address ??? comments and code cleanups.
3230 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3232 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
3233 Apply the rule even with no explicit Global contract (and remove
3234 a dead condition for Refined_Global).
3236 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3238 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
3239 Extend check to protected entries.
3241 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3243 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
3244 Fix reference to SPARK RM rule number.
3246 2021-05-04 Eric Botcazou <ebotcazou@adacore.com>
3248 * exp_intr.adb: Remove with/use clauses for Urealp.
3249 (Expand_Is_Negative): Delete.
3250 (Expand_Intrinsic_Call): Do not call it.
3251 * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned.
3252 (RE_Unit_Table): Remove entry for RE_Float_Unsigned.
3253 * snames.ads-tmpl (Name_Is_Negative): Delete.
3254 * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter.
3255 * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util.
3258 (Is_Negative): Reimplement.
3259 (Image_Floating_Point): Simplify.
3260 (Set_Image_Real): Fix mode of S parameter. Remove the low-level
3261 processing on characters. Flip the sign of the Scale variable.
3262 Compute the maximum number of digits for the straight notation.
3263 Call Set_Decimal_Digits at the end to do the final formatting.
3264 * libgnat/s-imguti.ads (Floating_Invalid_Value): New type.
3265 (Set_Floating_Invalid_Value): New procedure.
3266 * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it
3267 based on existing code from Set_Image_Real.
3268 * libgnat/s-unstyp.ads (Float_Unsigned): Delete.
3270 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3272 * csets.adb (Initialize): Refactor into CASE statement; raise
3273 exception on unsupported code of character set (it will be
3274 gently rejected earlier when scanning command line switches).
3275 * switch-b.adb (Scan_Binder_Switches): Refactor into a
3276 membership expression; add missing '9' choice; reorder as
3277 described by GNAT UG, section 4.3.11.
3278 * switch-c.adb (Scan_Front_End_Switches): Refactor into a
3279 membership expression and reorder as above.
3280 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
3281 (gnatic): Mention '5' as an allowed value for "c".
3282 * gnat_ugn.texi: Regenerate.
3284 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
3286 * errout.adb (Error_Msg_Internal): Add assertion to prevent
3287 style mistakes reappearing in the future.
3289 2021-05-04 Javier Miranda <miranda@adacore.com>
3291 * exp_ch4.adb (Tagged_Membership): Remove wrong condition that
3292 is not consistent with the documentation of this subprogram.
3294 2021-05-04 Yannick Moy <moy@adacore.com>
3296 * sem_res.adb (Valid_Conversion): Make message a continuation.
3298 2021-05-04 Arnaud Charlet <charlet@adacore.com>
3300 * styleg.adb: Address ??? comments.
3302 2021-05-03 Arnaud Charlet <charlet@adacore.com>
3304 * libgnat/a-stunau.ads, libgnat/a-stunau.adb,
3305 libgnat/a-stunau__shared.adb (Set_String): Remove old version,
3306 replace by a new version taking a callback to set the string.
3308 2021-05-03 Arnaud Charlet <charlet@adacore.com>
3310 * libgnat/a-coorma.ads (Map): Add missing
3311 Preelaborate_Initialization.
3313 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
3315 * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon):
3316 Simplify with Is_Universal_Numeric_Type.
3317 * sem_attr.adb (Resolve_Attribute): Likewise.
3318 * sem_ch3.adb: Likewise.
3319 * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair):
3321 * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise.
3322 * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op,
3323 Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand,
3324 Set_Operand_Type): Likewise.
3325 * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise.
3326 * sem_util.adb (Universal_Interpretation): Likewise.
3328 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
3330 * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested
3331 routines; move a local constant after nested subprogram bodies;
3334 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
3336 * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit
3337 type when analysing attribute Priority.
3338 * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case
3339 in analysis of case statements.
3340 (Analyze_Iterator_Specification): Likewise for non-overloaded
3341 domain of iteration.
3343 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
3345 * einfo.adb (Write_Entity_Info): Simplify an Ekind membership
3347 * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.
3349 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
3351 * exp_ch7.adb (Build_Finalize_Statements): Refine type of a
3352 local counter variable.
3353 * exp_dist.adb (Append_Record_Traversal): Refine type of Counter
3355 (Add_Process_Element): Likewise.
3356 (Build_From_Any_Call): Refine type of a local counter variable.
3357 (Build_From_Any_Function): Likewise.
3358 (Build_To_Any_Function): Likewise.
3359 (FA_Rec_Add_Process_Element): Likewise.
3360 (TA_Append_Record_Traversal): Likewise.
3361 (TA_Rec_Add_Process_Element): Likewise.
3363 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
3365 * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.
3367 2021-05-03 Arnaud Charlet <charlet@adacore.com>
3369 * Makefile.rtl: Update copyright notice.
3370 * ada_get_targ.adb: Likewise.
3371 * adabkend.adb: Likewise.
3372 * adabkend.ads: Likewise.
3373 * adadecode.c: Likewise.
3374 * adadecode.h: Likewise.
3375 * adaint.c: Likewise.
3376 * adaint.h: Likewise.
3377 * affinity.c: Likewise.
3378 * ali-util.adb: Likewise.
3379 * ali-util.ads: Likewise.
3380 * ali.adb: Likewise.
3381 * ali.ads: Likewise.
3382 * alloc.ads: Likewise.
3383 * argv-lynxos178-raven-cert.c: Likewise.
3385 * aspects.adb: Likewise.
3386 * aspects.ads: Likewise.
3387 * atree.adb: Likewise.
3388 * atree.ads: Likewise.
3389 * atree.h: Likewise.
3390 * aux-io.c: Likewise.
3391 * back_end.adb: Likewise.
3392 * back_end.ads: Likewise.
3393 * bcheck.adb: Likewise.
3394 * bcheck.ads: Likewise.
3395 * binde.adb: Likewise.
3396 * binde.ads: Likewise.
3397 * binderr.adb: Likewise.
3398 * binderr.ads: Likewise.
3399 * bindgen.adb: Likewise.
3400 * bindgen.ads: Likewise.
3401 * bindo-augmentors.adb: Likewise.
3402 * bindo-augmentors.ads: Likewise.
3403 * bindo-builders.adb: Likewise.
3404 * bindo-builders.ads: Likewise.
3405 * bindo-diagnostics.adb: Likewise.
3406 * bindo-diagnostics.ads: Likewise.
3407 * bindo-elaborators.adb: Likewise.
3408 * bindo-elaborators.ads: Likewise.
3409 * bindo-graphs.adb: Likewise.
3410 * bindo-graphs.ads: Likewise.
3411 * bindo-units.adb: Likewise.
3412 * bindo-units.ads: Likewise.
3413 * bindo-validators.adb: Likewise.
3414 * bindo-validators.ads: Likewise.
3415 * bindo-writers.adb: Likewise.
3416 * bindo-writers.ads: Likewise.
3417 * bindo.adb: Likewise.
3418 * bindo.ads: Likewise.
3419 * bindusg.adb: Likewise.
3420 * bindusg.ads: Likewise.
3421 * butil.adb: Likewise.
3422 * butil.ads: Likewise.
3424 * casing.adb: Likewise.
3425 * casing.ads: Likewise.
3426 * ceinfo.adb: Likewise.
3427 * checks.adb: Likewise.
3428 * checks.ads: Likewise.
3430 * clean.adb: Likewise.
3431 * clean.ads: Likewise.
3432 * comperr.adb: Likewise.
3433 * comperr.ads: Likewise.
3434 * contracts.adb: Likewise.
3435 * contracts.ads: Likewise.
3436 * csets.adb: Likewise.
3437 * csets.ads: Likewise.
3438 * csinfo.adb: Likewise.
3439 * cstand.adb: Likewise.
3440 * cstand.ads: Likewise.
3441 * cstreams.c: Likewise.
3442 * ctrl_c.c: Likewise.
3443 * debug.adb: Likewise.
3444 * debug.ads: Likewise.
3445 * debug_a.adb: Likewise.
3446 * debug_a.ads: Likewise.
3447 * einfo.adb: Likewise.
3448 * einfo.ads: Likewise.
3449 * elists.adb: Likewise.
3450 * elists.ads: Likewise.
3451 * elists.h: Likewise.
3454 * err_vars.ads: Likewise.
3455 * errno.c: Likewise.
3456 * errout.adb: Likewise.
3457 * errout.ads: Likewise.
3458 * erroutc.adb: Likewise.
3459 * erroutc.ads: Likewise.
3460 * errutil.adb: Likewise.
3461 * errutil.ads: Likewise.
3462 * eval_fat.adb: Likewise.
3463 * eval_fat.ads: Likewise.
3465 * exp_aggr.adb: Likewise.
3466 * exp_aggr.ads: Likewise.
3467 * exp_atag.adb: Likewise.
3468 * exp_atag.ads: Likewise.
3469 * exp_attr.adb: Likewise.
3470 * exp_attr.ads: Likewise.
3471 * exp_cg.adb: Likewise.
3472 * exp_cg.ads: Likewise.
3473 * exp_ch10.ads: Likewise.
3474 * exp_ch11.adb: Likewise.
3475 * exp_ch11.ads: Likewise.
3476 * exp_ch12.adb: Likewise.
3477 * exp_ch12.ads: Likewise.
3478 * exp_ch13.adb: Likewise.
3479 * exp_ch13.ads: Likewise.
3480 * exp_ch2.adb: Likewise.
3481 * exp_ch2.ads: Likewise.
3482 * exp_ch3.adb: Likewise.
3483 * exp_ch3.ads: Likewise.
3484 * exp_ch4.adb: Likewise.
3485 * exp_ch4.ads: Likewise.
3486 * exp_ch5.adb: Likewise.
3487 * exp_ch5.ads: Likewise.
3488 * exp_ch6.adb: Likewise.
3489 * exp_ch6.ads: Likewise.
3490 * exp_ch7.adb: Likewise.
3491 * exp_ch7.ads: Likewise.
3492 * exp_ch8.adb: Likewise.
3493 * exp_ch8.ads: Likewise.
3494 * exp_ch9.adb: Likewise.
3495 * exp_ch9.ads: Likewise.
3496 * exp_code.adb: Likewise.
3497 * exp_code.ads: Likewise.
3498 * exp_dbug.adb: Likewise.
3499 * exp_dbug.ads: Likewise.
3500 * exp_disp.adb: Likewise.
3501 * exp_disp.ads: Likewise.
3502 * exp_dist.adb: Likewise.
3503 * exp_dist.ads: Likewise.
3504 * exp_fixd.adb: Likewise.
3505 * exp_fixd.ads: Likewise.
3506 * exp_imgv.adb: Likewise.
3507 * exp_imgv.ads: Likewise.
3508 * exp_intr.adb: Likewise.
3509 * exp_intr.ads: Likewise.
3510 * exp_pakd.adb: Likewise.
3511 * exp_pakd.ads: Likewise.
3512 * exp_prag.adb: Likewise.
3513 * exp_prag.ads: Likewise.
3514 * exp_put_image.adb: Likewise.
3515 * exp_put_image.ads: Likewise.
3516 * exp_sel.adb: Likewise.
3517 * exp_sel.ads: Likewise.
3518 * exp_smem.adb: Likewise.
3519 * exp_smem.ads: Likewise.
3520 * exp_spark.adb: Likewise.
3521 * exp_spark.ads: Likewise.
3522 * exp_strm.adb: Likewise.
3523 * exp_strm.ads: Likewise.
3524 * exp_tss.adb: Likewise.
3525 * exp_tss.ads: Likewise.
3526 * exp_unst.adb: Likewise.
3527 * exp_unst.ads: Likewise.
3528 * exp_util.adb: Likewise.
3529 * exp_util.ads: Likewise.
3530 * expander.adb: Likewise.
3531 * expander.ads: Likewise.
3532 * expect.c: Likewise.
3534 * final.c: Likewise.
3535 * fmap.adb: Likewise.
3536 * fmap.ads: Likewise.
3537 * fname-sf.adb: Likewise.
3538 * fname-sf.ads: Likewise.
3539 * fname-uf.adb: Likewise.
3540 * fname-uf.ads: Likewise.
3541 * fname.adb: Likewise.
3542 * fname.ads: Likewise.
3543 * freeze.adb: Likewise.
3544 * freeze.ads: Likewise.
3545 * frontend.adb: Likewise.
3546 * frontend.ads: Likewise.
3547 * gcc-interface/ada-tree.h: Likewise.
3548 * gcc-interface/ada.h: Likewise.
3549 * gcc-interface/cuintp.c: Likewise.
3550 * gcc-interface/decl.c: Likewise.
3551 * gcc-interface/gadaint.h: Likewise.
3552 * gcc-interface/gigi.h: Likewise.
3553 * gcc-interface/lang-specs.h: Likewise.
3554 * gcc-interface/misc.c: Likewise.
3555 * gcc-interface/system.ads: Likewise.
3556 * gcc-interface/targtyps.c: Likewise.
3557 * gcc-interface/trans.c: Likewise.
3558 * gcc-interface/utils.c: Likewise.
3559 * gcc-interface/utils2.c: Likewise.
3560 * get_scos.adb: Likewise.
3561 * get_scos.ads: Likewise.
3562 * get_targ.adb: Likewise.
3563 * get_targ.ads: Likewise.
3564 * ghost.adb: Likewise.
3565 * ghost.ads: Likewise.
3566 * gnat1drv.adb: Likewise.
3567 * gnat1drv.ads: Likewise.
3568 * gnat_cuda.adb: Likewise.
3569 * gnat_cuda.ads: Likewise.
3570 * gnatbind.adb: Likewise.
3571 * gnatbind.ads: Likewise.
3572 * gnatchop.adb: Likewise.
3573 * gnatclean.adb: Likewise.
3574 * gnatcmd.adb: Likewise.
3575 * gnatcmd.ads: Likewise.
3576 * gnatdll.adb: Likewise.
3577 * gnatfind.adb: Likewise.
3578 * gnatkr.adb: Likewise.
3579 * gnatkr.ads: Likewise.
3580 * gnatlink.adb: Likewise.
3581 * gnatlink.ads: Likewise.
3582 * gnatls.adb: Likewise.
3583 * gnatls.ads: Likewise.
3584 * gnatmake.adb: Likewise.
3585 * gnatmake.ads: Likewise.
3586 * gnatname.adb: Likewise.
3587 * gnatname.ads: Likewise.
3588 * gnatprep.adb: Likewise.
3589 * gnatprep.ads: Likewise.
3590 * gnatvsn.adb: Likewise.
3591 * gnatvsn.ads: Likewise.
3592 * gnatxref.adb: Likewise.
3593 * gprep.adb: Likewise.
3594 * gprep.ads: Likewise.
3595 * gsocket.h: Likewise.
3596 * hostparm.ads: Likewise.
3597 * impunit.adb: Likewise.
3598 * impunit.ads: Likewise.
3599 * indepsw-aix.adb: Likewise.
3600 * indepsw-darwin.adb: Likewise.
3601 * indepsw-gnu.adb: Likewise.
3602 * indepsw.adb: Likewise.
3603 * indepsw.ads: Likewise.
3605 * initialize.c: Likewise.
3606 * inline.adb: Likewise.
3607 * inline.ads: Likewise.
3608 * itypes.adb: Likewise.
3609 * itypes.ads: Likewise.
3610 * krunch.adb: Likewise.
3611 * krunch.ads: Likewise.
3612 * layout.adb: Likewise.
3613 * layout.ads: Likewise.
3614 * lib-list.adb: Likewise.
3615 * lib-load.adb: Likewise.
3616 * lib-load.ads: Likewise.
3617 * lib-sort.adb: Likewise.
3618 * lib-util.adb: Likewise.
3619 * lib-util.ads: Likewise.
3620 * lib-writ.adb: Likewise.
3621 * lib-writ.ads: Likewise.
3622 * lib-xref-spark_specific.adb: Likewise.
3623 * lib-xref.adb: Likewise.
3624 * lib-xref.ads: Likewise.
3625 * lib.adb: Likewise.
3626 * lib.ads: Likewise.
3627 * libgnarl/a-astaco.adb: Likewise.
3628 * libgnarl/a-dispat.adb: Likewise.
3629 * libgnarl/a-dynpri.adb: Likewise.
3630 * libgnarl/a-etgrbu.ads: Likewise.
3631 * libgnarl/a-exetim__darwin.adb: Likewise.
3632 * libgnarl/a-exetim__default.ads: Likewise.
3633 * libgnarl/a-exetim__mingw.adb: Likewise.
3634 * libgnarl/a-exetim__mingw.ads: Likewise.
3635 * libgnarl/a-exetim__posix.adb: Likewise.
3636 * libgnarl/a-interr.adb: Likewise.
3637 * libgnarl/a-interr.ads: Likewise.
3638 * libgnarl/a-intnam.ads: Likewise.
3639 * libgnarl/a-intnam__aix.ads: Likewise.
3640 * libgnarl/a-intnam__darwin.ads: Likewise.
3641 * libgnarl/a-intnam__dragonfly.ads: Likewise.
3642 * libgnarl/a-intnam__dummy.ads: Likewise.
3643 * libgnarl/a-intnam__freebsd.ads: Likewise.
3644 * libgnarl/a-intnam__hpux.ads: Likewise.
3645 * libgnarl/a-intnam__linux.ads: Likewise.
3646 * libgnarl/a-intnam__lynxos.ads: Likewise.
3647 * libgnarl/a-intnam__mingw.ads: Likewise.
3648 * libgnarl/a-intnam__qnx.ads: Likewise.
3649 * libgnarl/a-intnam__rtems.ads: Likewise.
3650 * libgnarl/a-intnam__solaris.ads: Likewise.
3651 * libgnarl/a-intnam__vxworks.ads: Likewise.
3652 * libgnarl/a-reatim.adb: Likewise.
3653 * libgnarl/a-reatim.ads: Likewise.
3654 * libgnarl/a-retide.adb: Likewise.
3655 * libgnarl/a-retide.ads: Likewise.
3656 * libgnarl/a-rttiev.adb: Likewise.
3657 * libgnarl/a-rttiev.ads: Likewise.
3658 * libgnarl/a-synbar.adb: Likewise.
3659 * libgnarl/a-synbar.ads: Likewise.
3660 * libgnarl/a-synbar__posix.adb: Likewise.
3661 * libgnarl/a-synbar__posix.ads: Likewise.
3662 * libgnarl/a-sytaco.adb: Likewise.
3663 * libgnarl/a-sytaco.ads: Likewise.
3664 * libgnarl/a-tasatt.adb: Likewise.
3665 * libgnarl/a-tasatt.ads: Likewise.
3666 * libgnarl/a-taside.adb: Likewise.
3667 * libgnarl/a-taside.ads: Likewise.
3668 * libgnarl/a-tasini.adb: Likewise.
3669 * libgnarl/a-tasini.ads: Likewise.
3670 * libgnarl/a-taster.adb: Likewise.
3671 * libgnarl/g-boubuf.adb: Likewise.
3672 * libgnarl/g-boubuf.ads: Likewise.
3673 * libgnarl/g-boumai.ads: Likewise.
3674 * libgnarl/g-semaph.adb: Likewise.
3675 * libgnarl/g-semaph.ads: Likewise.
3676 * libgnarl/g-signal.adb: Likewise.
3677 * libgnarl/g-signal.ads: Likewise.
3678 * libgnarl/g-tastus.ads: Likewise.
3679 * libgnarl/g-thread.adb: Likewise.
3680 * libgnarl/g-thread.ads: Likewise.
3681 * libgnarl/i-vxinco.adb: Likewise.
3682 * libgnarl/i-vxinco.ads: Likewise.
3683 * libgnarl/s-inmaop.ads: Likewise.
3684 * libgnarl/s-inmaop__dummy.adb: Likewise.
3685 * libgnarl/s-inmaop__posix.adb: Likewise.
3686 * libgnarl/s-inmaop__vxworks.adb: Likewise.
3687 * libgnarl/s-interr.adb: Likewise.
3688 * libgnarl/s-interr.ads: Likewise.
3689 * libgnarl/s-interr__dummy.adb: Likewise.
3690 * libgnarl/s-interr__hwint.adb: Likewise.
3691 * libgnarl/s-interr__sigaction.adb: Likewise.
3692 * libgnarl/s-interr__vxworks.adb: Likewise.
3693 * libgnarl/s-intman.ads: Likewise.
3694 * libgnarl/s-intman__android.adb: Likewise.
3695 * libgnarl/s-intman__dummy.adb: Likewise.
3696 * libgnarl/s-intman__lynxos.adb: Likewise.
3697 * libgnarl/s-intman__mingw.adb: Likewise.
3698 * libgnarl/s-intman__posix.adb: Likewise.
3699 * libgnarl/s-intman__qnx.adb: Likewise.
3700 * libgnarl/s-intman__solaris.adb: Likewise.
3701 * libgnarl/s-intman__susv3.adb: Likewise.
3702 * libgnarl/s-intman__vxworks.adb: Likewise.
3703 * libgnarl/s-intman__vxworks.ads: Likewise.
3704 * libgnarl/s-linux.ads: Likewise.
3705 * libgnarl/s-linux__alpha.ads: Likewise.
3706 * libgnarl/s-linux__android.ads: Likewise.
3707 * libgnarl/s-linux__hppa.ads: Likewise.
3708 * libgnarl/s-linux__mips.ads: Likewise.
3709 * libgnarl/s-linux__riscv.ads: Likewise.
3710 * libgnarl/s-linux__sparc.ads: Likewise.
3711 * libgnarl/s-linux__x32.ads: Likewise.
3712 * libgnarl/s-mudido.adb: Likewise.
3713 * libgnarl/s-mudido__affinity.adb: Likewise.
3714 * libgnarl/s-osinte__aix.adb: Likewise.
3715 * libgnarl/s-osinte__aix.ads: Likewise.
3716 * libgnarl/s-osinte__android.adb: Likewise.
3717 * libgnarl/s-osinte__android.ads: Likewise.
3718 * libgnarl/s-osinte__darwin.adb: Likewise.
3719 * libgnarl/s-osinte__darwin.ads: Likewise.
3720 * libgnarl/s-osinte__dragonfly.adb: Likewise.
3721 * libgnarl/s-osinte__dragonfly.ads: Likewise.
3722 * libgnarl/s-osinte__dummy.ads: Likewise.
3723 * libgnarl/s-osinte__freebsd.adb: Likewise.
3724 * libgnarl/s-osinte__freebsd.ads: Likewise.
3725 * libgnarl/s-osinte__gnu.adb: Likewise.
3726 * libgnarl/s-osinte__gnu.ads: Likewise.
3727 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
3728 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
3729 * libgnarl/s-osinte__hpux.ads: Likewise.
3730 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
3731 * libgnarl/s-osinte__linux.ads: Likewise.
3732 * libgnarl/s-osinte__lynxos178.adb: Likewise.
3733 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
3734 * libgnarl/s-osinte__mingw.ads: Likewise.
3735 * libgnarl/s-osinte__posix.adb: Likewise.
3736 * libgnarl/s-osinte__qnx.adb: Likewise.
3737 * libgnarl/s-osinte__qnx.ads: Likewise.
3738 * libgnarl/s-osinte__rtems.adb: Likewise.
3739 * libgnarl/s-osinte__rtems.ads: Likewise.
3740 * libgnarl/s-osinte__solaris.adb: Likewise.
3741 * libgnarl/s-osinte__solaris.ads: Likewise.
3742 * libgnarl/s-osinte__vxworks.adb: Likewise.
3743 * libgnarl/s-osinte__vxworks.ads: Likewise.
3744 * libgnarl/s-osinte__x32.adb: Likewise.
3745 * libgnarl/s-proinf.adb: Likewise.
3746 * libgnarl/s-proinf.ads: Likewise.
3747 * libgnarl/s-qnx.ads: Likewise.
3748 * libgnarl/s-solita.adb: Likewise.
3749 * libgnarl/s-solita.ads: Likewise.
3750 * libgnarl/s-stusta.adb: Likewise.
3751 * libgnarl/s-stusta.ads: Likewise.
3752 * libgnarl/s-taasde.adb: Likewise.
3753 * libgnarl/s-taasde.ads: Likewise.
3754 * libgnarl/s-tadeca.adb: Likewise.
3755 * libgnarl/s-tadeca.ads: Likewise.
3756 * libgnarl/s-tadert.adb: Likewise.
3757 * libgnarl/s-tadert.ads: Likewise.
3758 * libgnarl/s-taenca.adb: Likewise.
3759 * libgnarl/s-taenca.ads: Likewise.
3760 * libgnarl/s-taprob.adb: Likewise.
3761 * libgnarl/s-taprob.ads: Likewise.
3762 * libgnarl/s-taprop.ads: Likewise.
3763 * libgnarl/s-taprop__dummy.adb: Likewise.
3764 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
3765 * libgnarl/s-taprop__linux.adb: Likewise.
3766 * libgnarl/s-taprop__mingw.adb: Likewise.
3767 * libgnarl/s-taprop__posix.adb: Likewise.
3768 * libgnarl/s-taprop__qnx.adb: Likewise.
3769 * libgnarl/s-taprop__solaris.adb: Likewise.
3770 * libgnarl/s-taprop__vxworks.adb: Likewise.
3771 * libgnarl/s-tarest.adb: Likewise.
3772 * libgnarl/s-tarest.ads: Likewise.
3773 * libgnarl/s-tasdeb.adb: Likewise.
3774 * libgnarl/s-tasdeb.ads: Likewise.
3775 * libgnarl/s-tasinf.adb: Likewise.
3776 * libgnarl/s-tasinf.ads: Likewise.
3777 * libgnarl/s-tasinf__linux.adb: Likewise.
3778 * libgnarl/s-tasinf__linux.ads: Likewise.
3779 * libgnarl/s-tasinf__mingw.adb: Likewise.
3780 * libgnarl/s-tasinf__mingw.ads: Likewise.
3781 * libgnarl/s-tasinf__solaris.adb: Likewise.
3782 * libgnarl/s-tasinf__solaris.ads: Likewise.
3783 * libgnarl/s-tasinf__vxworks.ads: Likewise.
3784 * libgnarl/s-tasini.adb: Likewise.
3785 * libgnarl/s-tasini.ads: Likewise.
3786 * libgnarl/s-taskin.adb: Likewise.
3787 * libgnarl/s-taskin.ads: Likewise.
3788 * libgnarl/s-taspri__dummy.ads: Likewise.
3789 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
3790 * libgnarl/s-taspri__lynxos.ads: Likewise.
3791 * libgnarl/s-taspri__mingw.ads: Likewise.
3792 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
3793 * libgnarl/s-taspri__posix.ads: Likewise.
3794 * libgnarl/s-taspri__solaris.ads: Likewise.
3795 * libgnarl/s-taspri__vxworks.ads: Likewise.
3796 * libgnarl/s-tasque.adb: Likewise.
3797 * libgnarl/s-tasque.ads: Likewise.
3798 * libgnarl/s-tasren.adb: Likewise.
3799 * libgnarl/s-tasren.ads: Likewise.
3800 * libgnarl/s-tasres.ads: Likewise.
3801 * libgnarl/s-tassta.adb: Likewise.
3802 * libgnarl/s-tassta.ads: Likewise.
3803 * libgnarl/s-tasuti.adb: Likewise.
3804 * libgnarl/s-tasuti.ads: Likewise.
3805 * libgnarl/s-tataat.adb: Likewise.
3806 * libgnarl/s-tataat.ads: Likewise.
3807 * libgnarl/s-tpinop.adb: Likewise.
3808 * libgnarl/s-tpinop.ads: Likewise.
3809 * libgnarl/s-tpoaal.adb: Likewise.
3810 * libgnarl/s-tpoben.adb: Likewise.
3811 * libgnarl/s-tpoben.ads: Likewise.
3812 * libgnarl/s-tpobmu.adb: Likewise.
3813 * libgnarl/s-tpobmu.ads: Likewise.
3814 * libgnarl/s-tpobop.adb: Likewise.
3815 * libgnarl/s-tpobop.ads: Likewise.
3816 * libgnarl/s-tpopmo.adb: Likewise.
3817 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
3818 * libgnarl/s-tpopsp__posix.adb: Likewise.
3819 * libgnarl/s-tpopsp__solaris.adb: Likewise.
3820 * libgnarl/s-tpopsp__tls.adb: Likewise.
3821 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
3822 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
3823 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
3824 * libgnarl/s-tporft.adb: Likewise.
3825 * libgnarl/s-tposen.adb: Likewise.
3826 * libgnarl/s-tposen.ads: Likewise.
3827 * libgnarl/s-vxwext.adb: Likewise.
3828 * libgnarl/s-vxwext.ads: Likewise.
3829 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
3830 * libgnarl/s-vxwext__kernel.adb: Likewise.
3831 * libgnarl/s-vxwext__kernel.ads: Likewise.
3832 * libgnarl/s-vxwext__noints.adb: Likewise.
3833 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
3834 * libgnarl/s-vxwext__rtp.adb: Likewise.
3835 * libgnarl/s-vxwext__rtp.ads: Likewise.
3836 * libgnarl/s-vxwext__vthreads.ads: Likewise.
3837 * libgnarl/s-vxwork__aarch64.ads: Likewise.
3838 * libgnarl/s-vxwork__arm.ads: Likewise.
3839 * libgnarl/s-vxwork__ppc.ads: Likewise.
3840 * libgnarl/s-vxwork__x86.ads: Likewise.
3841 * libgnarl/thread.c: Likewise.
3842 * libgnat/a-assert.adb: Likewise.
3843 * libgnat/a-assert.ads: Likewise.
3844 * libgnat/a-btgbso.adb: Likewise.
3845 * libgnat/a-btgbso.ads: Likewise.
3846 * libgnat/a-calari.adb: Likewise.
3847 * libgnat/a-calari.ads: Likewise.
3848 * libgnat/a-calcon.adb: Likewise.
3849 * libgnat/a-calcon.ads: Likewise.
3850 * libgnat/a-caldel.adb: Likewise.
3851 * libgnat/a-caldel.ads: Likewise.
3852 * libgnat/a-calend.adb: Likewise.
3853 * libgnat/a-calend.ads: Likewise.
3854 * libgnat/a-calfor.adb: Likewise.
3855 * libgnat/a-calfor.ads: Likewise.
3856 * libgnat/a-catizo.adb: Likewise.
3857 * libgnat/a-cbdlli.adb: Likewise.
3858 * libgnat/a-cbdlli.ads: Likewise.
3859 * libgnat/a-cbhama.adb: Likewise.
3860 * libgnat/a-cbhama.ads: Likewise.
3861 * libgnat/a-cbhase.adb: Likewise.
3862 * libgnat/a-cbhase.ads: Likewise.
3863 * libgnat/a-cbmutr.adb: Likewise.
3864 * libgnat/a-cbmutr.ads: Likewise.
3865 * libgnat/a-cborma.adb: Likewise.
3866 * libgnat/a-cborma.ads: Likewise.
3867 * libgnat/a-cborse.adb: Likewise.
3868 * libgnat/a-cborse.ads: Likewise.
3869 * libgnat/a-cbprqu.adb: Likewise.
3870 * libgnat/a-cbprqu.ads: Likewise.
3871 * libgnat/a-cbsyqu.adb: Likewise.
3872 * libgnat/a-cbsyqu.ads: Likewise.
3873 * libgnat/a-cdlili.adb: Likewise.
3874 * libgnat/a-cdlili.ads: Likewise.
3875 * libgnat/a-cfdlli.adb: Likewise.
3876 * libgnat/a-cfdlli.ads: Likewise.
3877 * libgnat/a-cfhama.adb: Likewise.
3878 * libgnat/a-cfhama.ads: Likewise.
3879 * libgnat/a-cfhase.adb: Likewise.
3880 * libgnat/a-cfhase.ads: Likewise.
3881 * libgnat/a-cfinve.adb: Likewise.
3882 * libgnat/a-cfinve.ads: Likewise.
3883 * libgnat/a-cforma.adb: Likewise.
3884 * libgnat/a-cforma.ads: Likewise.
3885 * libgnat/a-cforse.adb: Likewise.
3886 * libgnat/a-cforse.ads: Likewise.
3887 * libgnat/a-cgaaso.adb: Likewise.
3888 * libgnat/a-cgaaso.ads: Likewise.
3889 * libgnat/a-cgarso.adb: Likewise.
3890 * libgnat/a-cgcaso.adb: Likewise.
3891 * libgnat/a-chacon.adb: Likewise.
3892 * libgnat/a-chacon.ads: Likewise.
3893 * libgnat/a-chahan.adb: Likewise.
3894 * libgnat/a-chahan.ads: Likewise.
3895 * libgnat/a-chlat9.ads: Likewise.
3896 * libgnat/a-chtgbk.adb: Likewise.
3897 * libgnat/a-chtgbk.ads: Likewise.
3898 * libgnat/a-chtgbo.adb: Likewise.
3899 * libgnat/a-chtgbo.ads: Likewise.
3900 * libgnat/a-chtgke.adb: Likewise.
3901 * libgnat/a-chtgke.ads: Likewise.
3902 * libgnat/a-chtgop.adb: Likewise.
3903 * libgnat/a-chtgop.ads: Likewise.
3904 * libgnat/a-chzla1.ads: Likewise.
3905 * libgnat/a-chzla9.ads: Likewise.
3906 * libgnat/a-cidlli.adb: Likewise.
3907 * libgnat/a-cidlli.ads: Likewise.
3908 * libgnat/a-cihama.adb: Likewise.
3909 * libgnat/a-cihama.ads: Likewise.
3910 * libgnat/a-cihase.adb: Likewise.
3911 * libgnat/a-cihase.ads: Likewise.
3912 * libgnat/a-cimutr.adb: Likewise.
3913 * libgnat/a-cimutr.ads: Likewise.
3914 * libgnat/a-ciorma.adb: Likewise.
3915 * libgnat/a-ciorma.ads: Likewise.
3916 * libgnat/a-ciormu.adb: Likewise.
3917 * libgnat/a-ciormu.ads: Likewise.
3918 * libgnat/a-ciorse.adb: Likewise.
3919 * libgnat/a-ciorse.ads: Likewise.
3920 * libgnat/a-clrefi.adb: Likewise.
3921 * libgnat/a-clrefi.ads: Likewise.
3922 * libgnat/a-coboho.adb: Likewise.
3923 * libgnat/a-coboho.ads: Likewise.
3924 * libgnat/a-cobove.adb: Likewise.
3925 * libgnat/a-cobove.ads: Likewise.
3926 * libgnat/a-cofove.adb: Likewise.
3927 * libgnat/a-cofove.ads: Likewise.
3928 * libgnat/a-cofuba.adb: Likewise.
3929 * libgnat/a-cofuba.ads: Likewise.
3930 * libgnat/a-cofuma.adb: Likewise.
3931 * libgnat/a-cofuma.ads: Likewise.
3932 * libgnat/a-cofuse.adb: Likewise.
3933 * libgnat/a-cofuse.ads: Likewise.
3934 * libgnat/a-cofuve.adb: Likewise.
3935 * libgnat/a-cofuve.ads: Likewise.
3936 * libgnat/a-cogeso.adb: Likewise.
3937 * libgnat/a-cogeso.ads: Likewise.
3938 * libgnat/a-cohama.adb: Likewise.
3939 * libgnat/a-cohama.ads: Likewise.
3940 * libgnat/a-cohase.adb: Likewise.
3941 * libgnat/a-cohase.ads: Likewise.
3942 * libgnat/a-cohata.ads: Likewise.
3943 * libgnat/a-coinho.adb: Likewise.
3944 * libgnat/a-coinho.ads: Likewise.
3945 * libgnat/a-coinho__shared.adb: Likewise.
3946 * libgnat/a-coinho__shared.ads: Likewise.
3947 * libgnat/a-coinve.adb: Likewise.
3948 * libgnat/a-coinve.ads: Likewise.
3949 * libgnat/a-colien.adb: Likewise.
3950 * libgnat/a-colien.ads: Likewise.
3951 * libgnat/a-colire.adb: Likewise.
3952 * libgnat/a-colire.ads: Likewise.
3953 * libgnat/a-comlin.adb: Likewise.
3954 * libgnat/a-comlin.ads: Likewise.
3955 * libgnat/a-comutr.adb: Likewise.
3956 * libgnat/a-comutr.ads: Likewise.
3957 * libgnat/a-conhel.adb: Likewise.
3958 * libgnat/a-conhel.ads: Likewise.
3959 * libgnat/a-convec.adb: Likewise.
3960 * libgnat/a-convec.ads: Likewise.
3961 * libgnat/a-coorma.adb: Likewise.
3962 * libgnat/a-coorma.ads: Likewise.
3963 * libgnat/a-coormu.adb: Likewise.
3964 * libgnat/a-coormu.ads: Likewise.
3965 * libgnat/a-coorse.adb: Likewise.
3966 * libgnat/a-coorse.ads: Likewise.
3967 * libgnat/a-coprnu.adb: Likewise.
3968 * libgnat/a-coprnu.ads: Likewise.
3969 * libgnat/a-crbltr.ads: Likewise.
3970 * libgnat/a-crbtgk.adb: Likewise.
3971 * libgnat/a-crbtgk.ads: Likewise.
3972 * libgnat/a-crbtgo.adb: Likewise.
3973 * libgnat/a-crbtgo.ads: Likewise.
3974 * libgnat/a-crdlli.adb: Likewise.
3975 * libgnat/a-crdlli.ads: Likewise.
3976 * libgnat/a-csquin.ads: Likewise.
3977 * libgnat/a-cuprqu.adb: Likewise.
3978 * libgnat/a-cuprqu.ads: Likewise.
3979 * libgnat/a-cusyqu.adb: Likewise.
3980 * libgnat/a-cusyqu.ads: Likewise.
3981 * libgnat/a-cwila1.ads: Likewise.
3982 * libgnat/a-cwila9.ads: Likewise.
3983 * libgnat/a-decima.adb: Likewise.
3984 * libgnat/a-decima.ads: Likewise.
3985 * libgnat/a-decima__128.ads: Likewise.
3986 * libgnat/a-dhfina.adb: Likewise.
3987 * libgnat/a-dhfina.ads: Likewise.
3988 * libgnat/a-diocst.adb: Likewise.
3989 * libgnat/a-diocst.ads: Likewise.
3990 * libgnat/a-direct.adb: Likewise.
3991 * libgnat/a-direct.ads: Likewise.
3992 * libgnat/a-direio.adb: Likewise.
3993 * libgnat/a-direio.ads: Likewise.
3994 * libgnat/a-dirval.adb: Likewise.
3995 * libgnat/a-dirval.ads: Likewise.
3996 * libgnat/a-dirval__mingw.adb: Likewise.
3997 * libgnat/a-einuoc.adb: Likewise.
3998 * libgnat/a-einuoc.ads: Likewise.
3999 * libgnat/a-elchha.adb: Likewise.
4000 * libgnat/a-elchha.ads: Likewise.
4001 * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
4002 * libgnat/a-envvar.adb: Likewise.
4003 * libgnat/a-excach.adb: Likewise.
4004 * libgnat/a-except.adb: Likewise.
4005 * libgnat/a-except.ads: Likewise.
4006 * libgnat/a-exctra.adb: Likewise.
4007 * libgnat/a-exctra.ads: Likewise.
4008 * libgnat/a-exexda.adb: Likewise.
4009 * libgnat/a-exexpr.adb: Likewise.
4010 * libgnat/a-exextr.adb: Likewise.
4011 * libgnat/a-exstat.adb: Likewise.
4012 * libgnat/a-finali.adb: Likewise.
4013 * libgnat/a-finali.ads: Likewise.
4014 * libgnat/a-locale.adb: Likewise.
4015 * libgnat/a-locale.ads: Likewise.
4016 * libgnat/a-nagefl.ads: Likewise.
4017 * libgnat/a-naliop.ads: Likewise.
4018 * libgnat/a-naliop__nolibm.ads: Likewise.
4019 * libgnat/a-nallfl.ads: Likewise.
4020 * libgnat/a-nallfl__wraplf.ads: Likewise.
4021 * libgnat/a-nalofl.ads: Likewise.
4022 * libgnat/a-nashfl.ads: Likewise.
4023 * libgnat/a-nashfl__wraplf.ads: Likewise.
4024 * libgnat/a-nbnbin.adb: Likewise.
4025 * libgnat/a-nbnbin__gmp.adb: Likewise.
4026 * libgnat/a-nbnbre.adb: Likewise.
4027 * libgnat/a-ngcefu.adb: Likewise.
4028 * libgnat/a-ngcoar.adb: Likewise.
4029 * libgnat/a-ngcoty.adb: Likewise.
4030 * libgnat/a-ngcoty.ads: Likewise.
4031 * libgnat/a-ngelfu.adb: Likewise.
4032 * libgnat/a-ngelfu.ads: Likewise.
4033 * libgnat/a-ngrear.adb: Likewise.
4034 * libgnat/a-ngrear.ads: Likewise.
4035 * libgnat/a-nuauco.ads: Likewise.
4036 * libgnat/a-nuauco__x86.ads: Likewise.
4037 * libgnat/a-nuaufl.ads: Likewise.
4038 * libgnat/a-nuaufl__wraplf.ads: Likewise.
4039 * libgnat/a-nudira.adb: Likewise.
4040 * libgnat/a-nudira.ads: Likewise.
4041 * libgnat/a-nuflra.adb: Likewise.
4042 * libgnat/a-nuflra.ads: Likewise.
4043 * libgnat/a-numaux.ads: Likewise.
4044 * libgnat/a-rbtgbk.adb: Likewise.
4045 * libgnat/a-rbtgbk.ads: Likewise.
4046 * libgnat/a-rbtgbo.adb: Likewise.
4047 * libgnat/a-rbtgbo.ads: Likewise.
4048 * libgnat/a-rbtgso.adb: Likewise.
4049 * libgnat/a-rbtgso.ads: Likewise.
4050 * libgnat/a-sbecin.adb: Likewise.
4051 * libgnat/a-sbecin.ads: Likewise.
4052 * libgnat/a-sbhcin.adb: Likewise.
4053 * libgnat/a-sbhcin.ads: Likewise.
4054 * libgnat/a-sblcin.adb: Likewise.
4055 * libgnat/a-sblcin.ads: Likewise.
4056 * libgnat/a-secain.adb: Likewise.
4057 * libgnat/a-secain.ads: Likewise.
4058 * libgnat/a-sequio.adb: Likewise.
4059 * libgnat/a-sequio.ads: Likewise.
4060 * libgnat/a-sfecin.ads: Likewise.
4061 * libgnat/a-sfhcin.ads: Likewise.
4062 * libgnat/a-sflcin.ads: Likewise.
4063 * libgnat/a-shcain.adb: Likewise.
4064 * libgnat/a-shcain.ads: Likewise.
4065 * libgnat/a-siocst.adb: Likewise.
4066 * libgnat/a-siocst.ads: Likewise.
4067 * libgnat/a-slcain.adb: Likewise.
4068 * libgnat/a-slcain.ads: Likewise.
4069 * libgnat/a-ssicst.adb: Likewise.
4070 * libgnat/a-ssicst.ads: Likewise.
4071 * libgnat/a-stboha.adb: Likewise.
4072 * libgnat/a-stmaco.ads: Likewise.
4073 * libgnat/a-stobbu.adb: Likewise.
4074 * libgnat/a-stobbu.ads: Likewise.
4075 * libgnat/a-stobfi.adb: Likewise.
4076 * libgnat/a-stobfi.ads: Likewise.
4077 * libgnat/a-storio.adb: Likewise.
4078 * libgnat/a-stoubu.adb: Likewise.
4079 * libgnat/a-stoubu.ads: Likewise.
4080 * libgnat/a-stoufi.adb: Likewise.
4081 * libgnat/a-stoufi.ads: Likewise.
4082 * libgnat/a-stoufo.adb: Likewise.
4083 * libgnat/a-stoufo.ads: Likewise.
4084 * libgnat/a-stouut.adb: Likewise.
4085 * libgnat/a-stouut.ads: Likewise.
4086 * libgnat/a-strbou.adb: Likewise.
4087 * libgnat/a-strbou.ads: Likewise.
4088 * libgnat/a-stream.adb: Likewise.
4089 * libgnat/a-stream.ads: Likewise.
4090 * libgnat/a-strfix.adb: Likewise.
4091 * libgnat/a-strhas.adb: Likewise.
4092 * libgnat/a-strmap.adb: Likewise.
4093 * libgnat/a-strmap.ads: Likewise.
4094 * libgnat/a-strsea.adb: Likewise.
4095 * libgnat/a-strsea.ads: Likewise.
4096 * libgnat/a-strsto.ads: Likewise.
4097 * libgnat/a-strsup.adb: Likewise.
4098 * libgnat/a-strsup.ads: Likewise.
4099 * libgnat/a-strunb.adb: Likewise.
4100 * libgnat/a-strunb.ads: Likewise.
4101 * libgnat/a-strunb__shared.adb: Likewise.
4102 * libgnat/a-strunb__shared.ads: Likewise.
4103 * libgnat/a-ststbo.adb: Likewise.
4104 * libgnat/a-ststbo.ads: Likewise.
4105 * libgnat/a-ststio.adb: Likewise.
4106 * libgnat/a-ststio.ads: Likewise.
4107 * libgnat/a-ststun.adb: Likewise.
4108 * libgnat/a-ststun.ads: Likewise.
4109 * libgnat/a-stteou.ads: Likewise.
4110 * libgnat/a-stunau.adb: Likewise.
4111 * libgnat/a-stunau.ads: Likewise.
4112 * libgnat/a-stunau__shared.adb: Likewise.
4113 * libgnat/a-stunha.adb: Likewise.
4114 * libgnat/a-stuten.adb: Likewise.
4115 * libgnat/a-stwibo.adb: Likewise.
4116 * libgnat/a-stwibo.ads: Likewise.
4117 * libgnat/a-stwifi.adb: Likewise.
4118 * libgnat/a-stwiha.adb: Likewise.
4119 * libgnat/a-stwima.adb: Likewise.
4120 * libgnat/a-stwima.ads: Likewise.
4121 * libgnat/a-stwise.adb: Likewise.
4122 * libgnat/a-stwise.ads: Likewise.
4123 * libgnat/a-stwisu.adb: Likewise.
4124 * libgnat/a-stwisu.ads: Likewise.
4125 * libgnat/a-stwiun.adb: Likewise.
4126 * libgnat/a-stwiun.ads: Likewise.
4127 * libgnat/a-stwiun__shared.adb: Likewise.
4128 * libgnat/a-stwiun__shared.ads: Likewise.
4129 * libgnat/a-stzbou.adb: Likewise.
4130 * libgnat/a-stzbou.ads: Likewise.
4131 * libgnat/a-stzfix.adb: Likewise.
4132 * libgnat/a-stzhas.adb: Likewise.
4133 * libgnat/a-stzmap.adb: Likewise.
4134 * libgnat/a-stzmap.ads: Likewise.
4135 * libgnat/a-stzsea.adb: Likewise.
4136 * libgnat/a-stzsea.ads: Likewise.
4137 * libgnat/a-stzsup.adb: Likewise.
4138 * libgnat/a-stzsup.ads: Likewise.
4139 * libgnat/a-stzunb.adb: Likewise.
4140 * libgnat/a-stzunb.ads: Likewise.
4141 * libgnat/a-stzunb__shared.adb: Likewise.
4142 * libgnat/a-stzunb__shared.ads: Likewise.
4143 * libgnat/a-suecin.adb: Likewise.
4144 * libgnat/a-suecin.ads: Likewise.
4145 * libgnat/a-suenco.adb: Likewise.
4146 * libgnat/a-suenst.adb: Likewise.
4147 * libgnat/a-suewst.adb: Likewise.
4148 * libgnat/a-suezst.adb: Likewise.
4149 * libgnat/a-suhcin.adb: Likewise.
4150 * libgnat/a-suhcin.ads: Likewise.
4151 * libgnat/a-sulcin.adb: Likewise.
4152 * libgnat/a-sulcin.ads: Likewise.
4153 * libgnat/a-suteio.adb: Likewise.
4154 * libgnat/a-suteio.ads: Likewise.
4155 * libgnat/a-suteio__shared.adb: Likewise.
4156 * libgnat/a-swbwha.adb: Likewise.
4157 * libgnat/a-swmwco.ads: Likewise.
4158 * libgnat/a-swunau.adb: Likewise.
4159 * libgnat/a-swunau.ads: Likewise.
4160 * libgnat/a-swunau__shared.adb: Likewise.
4161 * libgnat/a-swuwha.adb: Likewise.
4162 * libgnat/a-swuwti.adb: Likewise.
4163 * libgnat/a-swuwti.ads: Likewise.
4164 * libgnat/a-swuwti__shared.adb: Likewise.
4165 * libgnat/a-szbzha.adb: Likewise.
4166 * libgnat/a-szmzco.ads: Likewise.
4167 * libgnat/a-szunau.adb: Likewise.
4168 * libgnat/a-szunau.ads: Likewise.
4169 * libgnat/a-szunau__shared.adb: Likewise.
4170 * libgnat/a-szuzha.adb: Likewise.
4171 * libgnat/a-szuzti.adb: Likewise.
4172 * libgnat/a-szuzti.ads: Likewise.
4173 * libgnat/a-szuzti__shared.adb: Likewise.
4174 * libgnat/a-tags.adb: Likewise.
4175 * libgnat/a-tags.ads: Likewise.
4176 * libgnat/a-teioed.adb: Likewise.
4177 * libgnat/a-teioed.ads: Likewise.
4178 * libgnat/a-textio.adb: Likewise.
4179 * libgnat/a-textio.ads: Likewise.
4180 * libgnat/a-tiboio.adb: Likewise.
4181 * libgnat/a-ticoau.adb: Likewise.
4182 * libgnat/a-ticoau.ads: Likewise.
4183 * libgnat/a-ticoio.adb: Likewise.
4184 * libgnat/a-ticoio.ads: Likewise.
4185 * libgnat/a-tideau.adb: Likewise.
4186 * libgnat/a-tideau.ads: Likewise.
4187 * libgnat/a-tideio.adb: Likewise.
4188 * libgnat/a-tideio.ads: Likewise.
4189 * libgnat/a-tideio__128.adb: Likewise.
4190 * libgnat/a-tienau.adb: Likewise.
4191 * libgnat/a-tienau.ads: Likewise.
4192 * libgnat/a-tienio.adb: Likewise.
4193 * libgnat/a-tifiau.adb: Likewise.
4194 * libgnat/a-tifiau.ads: Likewise.
4195 * libgnat/a-tifiio.adb: Likewise.
4196 * libgnat/a-tifiio__128.adb: Likewise.
4197 * libgnat/a-tiflau.adb: Likewise.
4198 * libgnat/a-tiflau.ads: Likewise.
4199 * libgnat/a-tiflio.adb: Likewise.
4200 * libgnat/a-tiflio.ads: Likewise.
4201 * libgnat/a-tigeau.adb: Likewise.
4202 * libgnat/a-tigeau.ads: Likewise.
4203 * libgnat/a-tigeli.adb: Likewise.
4204 * libgnat/a-tiinau.adb: Likewise.
4205 * libgnat/a-tiinau.ads: Likewise.
4206 * libgnat/a-tiinio.adb: Likewise.
4207 * libgnat/a-tiinio.ads: Likewise.
4208 * libgnat/a-tiinio__128.adb: Likewise.
4209 * libgnat/a-timoio.adb: Likewise.
4210 * libgnat/a-timoio.ads: Likewise.
4211 * libgnat/a-timoio__128.adb: Likewise.
4212 * libgnat/a-tiocst.adb: Likewise.
4213 * libgnat/a-tiocst.ads: Likewise.
4214 * libgnat/a-tirsfi.adb: Likewise.
4215 * libgnat/a-tirsfi.ads: Likewise.
4216 * libgnat/a-titest.adb: Likewise.
4217 * libgnat/a-undesu.adb: Likewise.
4218 * libgnat/a-wichha.adb: Likewise.
4219 * libgnat/a-wichun.adb: Likewise.
4220 * libgnat/a-wichun.ads: Likewise.
4221 * libgnat/a-witeio.adb: Likewise.
4222 * libgnat/a-witeio.ads: Likewise.
4223 * libgnat/a-wrstfi.adb: Likewise.
4224 * libgnat/a-wrstfi.ads: Likewise.
4225 * libgnat/a-wtcoau.adb: Likewise.
4226 * libgnat/a-wtcoau.ads: Likewise.
4227 * libgnat/a-wtcoio.adb: Likewise.
4228 * libgnat/a-wtcstr.adb: Likewise.
4229 * libgnat/a-wtcstr.ads: Likewise.
4230 * libgnat/a-wtdeau.adb: Likewise.
4231 * libgnat/a-wtdeau.ads: Likewise.
4232 * libgnat/a-wtdeio.adb: Likewise.
4233 * libgnat/a-wtdeio__128.adb: Likewise.
4234 * libgnat/a-wtedit.adb: Likewise.
4235 * libgnat/a-wtedit.ads: Likewise.
4236 * libgnat/a-wtenau.adb: Likewise.
4237 * libgnat/a-wtenau.ads: Likewise.
4238 * libgnat/a-wtenio.adb: Likewise.
4239 * libgnat/a-wtfiau.adb: Likewise.
4240 * libgnat/a-wtfiau.ads: Likewise.
4241 * libgnat/a-wtfiio.adb: Likewise.
4242 * libgnat/a-wtfiio__128.adb: Likewise.
4243 * libgnat/a-wtflau.adb: Likewise.
4244 * libgnat/a-wtflau.ads: Likewise.
4245 * libgnat/a-wtflio.adb: Likewise.
4246 * libgnat/a-wtgeau.adb: Likewise.
4247 * libgnat/a-wtgeau.ads: Likewise.
4248 * libgnat/a-wtinau.adb: Likewise.
4249 * libgnat/a-wtinau.ads: Likewise.
4250 * libgnat/a-wtinio.adb: Likewise.
4251 * libgnat/a-wtinio__128.adb: Likewise.
4252 * libgnat/a-wtmoio.adb: Likewise.
4253 * libgnat/a-wtmoio.ads: Likewise.
4254 * libgnat/a-wtmoio__128.adb: Likewise.
4255 * libgnat/a-wttest.adb: Likewise.
4256 * libgnat/a-wwboio.adb: Likewise.
4257 * libgnat/a-zchhan.adb: Likewise.
4258 * libgnat/a-zchuni.adb: Likewise.
4259 * libgnat/a-zchuni.ads: Likewise.
4260 * libgnat/a-zrstfi.adb: Likewise.
4261 * libgnat/a-zrstfi.ads: Likewise.
4262 * libgnat/a-ztcoau.adb: Likewise.
4263 * libgnat/a-ztcoio.adb: Likewise.
4264 * libgnat/a-ztcstr.adb: Likewise.
4265 * libgnat/a-ztcstr.ads: Likewise.
4266 * libgnat/a-ztdeau.adb: Likewise.
4267 * libgnat/a-ztdeau.ads: Likewise.
4268 * libgnat/a-ztdeio.adb: Likewise.
4269 * libgnat/a-ztdeio__128.adb: Likewise.
4270 * libgnat/a-ztedit.adb: Likewise.
4271 * libgnat/a-ztedit.ads: Likewise.
4272 * libgnat/a-ztenau.adb: Likewise.
4273 * libgnat/a-ztenau.ads: Likewise.
4274 * libgnat/a-ztenio.adb: Likewise.
4275 * libgnat/a-ztexio.adb: Likewise.
4276 * libgnat/a-ztexio.ads: Likewise.
4277 * libgnat/a-ztfiau.adb: Likewise.
4278 * libgnat/a-ztfiau.ads: Likewise.
4279 * libgnat/a-ztfiio.adb: Likewise.
4280 * libgnat/a-ztfiio__128.adb: Likewise.
4281 * libgnat/a-ztflau.adb: Likewise.
4282 * libgnat/a-ztflau.ads: Likewise.
4283 * libgnat/a-ztflio.adb: Likewise.
4284 * libgnat/a-ztgeau.adb: Likewise.
4285 * libgnat/a-ztgeau.ads: Likewise.
4286 * libgnat/a-ztinau.adb: Likewise.
4287 * libgnat/a-ztinau.ads: Likewise.
4288 * libgnat/a-ztinio.adb: Likewise.
4289 * libgnat/a-ztinio__128.adb: Likewise.
4290 * libgnat/a-ztmoio.adb: Likewise.
4291 * libgnat/a-ztmoio__128.adb: Likewise.
4292 * libgnat/a-zttest.adb: Likewise.
4293 * libgnat/a-zzboio.adb: Likewise.
4294 * libgnat/g-allein.ads: Likewise.
4295 * libgnat/g-alleve.adb: Likewise.
4296 * libgnat/g-alleve.ads: Likewise.
4297 * libgnat/g-alleve__hard.adb: Likewise.
4298 * libgnat/g-alleve__hard.ads: Likewise.
4299 * libgnat/g-altcon.adb: Likewise.
4300 * libgnat/g-altcon.ads: Likewise.
4301 * libgnat/g-altive.ads: Likewise.
4302 * libgnat/g-alveop.adb: Likewise.
4303 * libgnat/g-alveop.ads: Likewise.
4304 * libgnat/g-alvety.ads: Likewise.
4305 * libgnat/g-alvevi.ads: Likewise.
4306 * libgnat/g-arrspl.adb: Likewise.
4307 * libgnat/g-arrspl.ads: Likewise.
4308 * libgnat/g-awk.adb: Likewise.
4309 * libgnat/g-awk.ads: Likewise.
4310 * libgnat/g-binenv.adb: Likewise.
4311 * libgnat/g-binenv.ads: Likewise.
4312 * libgnat/g-brapre.ads: Likewise.
4313 * libgnat/g-bubsor.adb: Likewise.
4314 * libgnat/g-bubsor.ads: Likewise.
4315 * libgnat/g-busora.adb: Likewise.
4316 * libgnat/g-busora.ads: Likewise.
4317 * libgnat/g-busorg.adb: Likewise.
4318 * libgnat/g-busorg.ads: Likewise.
4319 * libgnat/g-byorma.adb: Likewise.
4320 * libgnat/g-byorma.ads: Likewise.
4321 * libgnat/g-bytswa.adb: Likewise.
4322 * libgnat/g-bytswa.ads: Likewise.
4323 * libgnat/g-calend.adb: Likewise.
4324 * libgnat/g-calend.ads: Likewise.
4325 * libgnat/g-casuti.adb: Likewise.
4326 * libgnat/g-casuti.ads: Likewise.
4327 * libgnat/g-catiio.adb: Likewise.
4328 * libgnat/g-catiio.ads: Likewise.
4329 * libgnat/g-cgi.adb: Likewise.
4330 * libgnat/g-cgi.ads: Likewise.
4331 * libgnat/g-cgicoo.adb: Likewise.
4332 * libgnat/g-cgicoo.ads: Likewise.
4333 * libgnat/g-cgideb.adb: Likewise.
4334 * libgnat/g-cgideb.ads: Likewise.
4335 * libgnat/g-comlin.adb: Likewise.
4336 * libgnat/g-comlin.ads: Likewise.
4337 * libgnat/g-comver.adb: Likewise.
4338 * libgnat/g-comver.ads: Likewise.
4339 * libgnat/g-cppexc.adb: Likewise.
4340 * libgnat/g-cppexc.ads: Likewise.
4341 * libgnat/g-crc32.adb: Likewise.
4342 * libgnat/g-crc32.ads: Likewise.
4343 * libgnat/g-ctrl_c.adb: Likewise.
4344 * libgnat/g-ctrl_c.ads: Likewise.
4345 * libgnat/g-curexc.ads: Likewise.
4346 * libgnat/g-debpoo.adb: Likewise.
4347 * libgnat/g-debpoo.ads: Likewise.
4348 * libgnat/g-debuti.adb: Likewise.
4349 * libgnat/g-debuti.ads: Likewise.
4350 * libgnat/g-decstr.adb: Likewise.
4351 * libgnat/g-decstr.ads: Likewise.
4352 * libgnat/g-deutst.ads: Likewise.
4353 * libgnat/g-diopit.adb: Likewise.
4354 * libgnat/g-diopit.ads: Likewise.
4355 * libgnat/g-dirope.adb: Likewise.
4356 * libgnat/g-dirope.ads: Likewise.
4357 * libgnat/g-dynhta.adb: Likewise.
4358 * libgnat/g-dynhta.ads: Likewise.
4359 * libgnat/g-dyntab.adb: Likewise.
4360 * libgnat/g-dyntab.ads: Likewise.
4361 * libgnat/g-eacodu.adb: Likewise.
4362 * libgnat/g-encstr.adb: Likewise.
4363 * libgnat/g-encstr.ads: Likewise.
4364 * libgnat/g-enutst.ads: Likewise.
4365 * libgnat/g-excact.adb: Likewise.
4366 * libgnat/g-excact.ads: Likewise.
4367 * libgnat/g-except.ads: Likewise.
4368 * libgnat/g-exctra.adb: Likewise.
4369 * libgnat/g-exctra.ads: Likewise.
4370 * libgnat/g-expect.adb: Likewise.
4371 * libgnat/g-expect.ads: Likewise.
4372 * libgnat/g-exptty.adb: Likewise.
4373 * libgnat/g-exptty.ads: Likewise.
4374 * libgnat/g-flocon.ads: Likewise.
4375 * libgnat/g-forstr.adb: Likewise.
4376 * libgnat/g-forstr.ads: Likewise.
4377 * libgnat/g-graphs.adb: Likewise.
4378 * libgnat/g-graphs.ads: Likewise.
4379 * libgnat/g-heasor.adb: Likewise.
4380 * libgnat/g-heasor.ads: Likewise.
4381 * libgnat/g-hesora.adb: Likewise.
4382 * libgnat/g-hesora.ads: Likewise.
4383 * libgnat/g-hesorg.adb: Likewise.
4384 * libgnat/g-hesorg.ads: Likewise.
4385 * libgnat/g-htable.adb: Likewise.
4386 * libgnat/g-htable.ads: Likewise.
4387 * libgnat/g-io-put__vxworks.adb: Likewise.
4388 * libgnat/g-io.adb: Likewise.
4389 * libgnat/g-io.ads: Likewise.
4390 * libgnat/g-io_aux.adb: Likewise.
4391 * libgnat/g-io_aux.ads: Likewise.
4392 * libgnat/g-lists.adb: Likewise.
4393 * libgnat/g-lists.ads: Likewise.
4394 * libgnat/g-locfil.adb: Likewise.
4395 * libgnat/g-locfil.ads: Likewise.
4396 * libgnat/g-mbdira.adb: Likewise.
4397 * libgnat/g-mbdira.ads: Likewise.
4398 * libgnat/g-mbflra.adb: Likewise.
4399 * libgnat/g-mbflra.ads: Likewise.
4400 * libgnat/g-md5.adb: Likewise.
4401 * libgnat/g-md5.ads: Likewise.
4402 * libgnat/g-memdum.adb: Likewise.
4403 * libgnat/g-memdum.ads: Likewise.
4404 * libgnat/g-moreex.adb: Likewise.
4405 * libgnat/g-moreex.ads: Likewise.
4406 * libgnat/g-os_lib.adb: Likewise.
4407 * libgnat/g-os_lib.ads: Likewise.
4408 * libgnat/g-pehage.adb: Likewise.
4409 * libgnat/g-pehage.ads: Likewise.
4410 * libgnat/g-rannum.adb: Likewise.
4411 * libgnat/g-rannum.ads: Likewise.
4412 * libgnat/g-regexp.adb: Likewise.
4413 * libgnat/g-regexp.ads: Likewise.
4414 * libgnat/g-regist.adb: Likewise.
4415 * libgnat/g-regist.ads: Likewise.
4416 * libgnat/g-regpat.adb: Likewise.
4417 * libgnat/g-regpat.ads: Likewise.
4418 * libgnat/g-rewdat.adb: Likewise.
4419 * libgnat/g-rewdat.ads: Likewise.
4420 * libgnat/g-sechas.adb: Likewise.
4421 * libgnat/g-sechas.ads: Likewise.
4422 * libgnat/g-sehamd.adb: Likewise.
4423 * libgnat/g-sehamd.ads: Likewise.
4424 * libgnat/g-sehash.adb: Likewise.
4425 * libgnat/g-sehash.ads: Likewise.
4426 * libgnat/g-sercom.adb: Likewise.
4427 * libgnat/g-sercom.ads: Likewise.
4428 * libgnat/g-sercom__linux.adb: Likewise.
4429 * libgnat/g-sercom__mingw.adb: Likewise.
4430 * libgnat/g-sestin.ads: Likewise.
4431 * libgnat/g-sets.adb: Likewise.
4432 * libgnat/g-sets.ads: Likewise.
4433 * libgnat/g-sha1.adb: Likewise.
4434 * libgnat/g-sha1.ads: Likewise.
4435 * libgnat/g-sha224.ads: Likewise.
4436 * libgnat/g-sha256.ads: Likewise.
4437 * libgnat/g-sha384.ads: Likewise.
4438 * libgnat/g-sha512.ads: Likewise.
4439 * libgnat/g-shsh32.adb: Likewise.
4440 * libgnat/g-shsh32.ads: Likewise.
4441 * libgnat/g-shsh64.adb: Likewise.
4442 * libgnat/g-shsh64.ads: Likewise.
4443 * libgnat/g-shshco.adb: Likewise.
4444 * libgnat/g-shshco.ads: Likewise.
4445 * libgnat/g-soccon.ads: Likewise.
4446 * libgnat/g-socket.adb: Likewise.
4447 * libgnat/g-socket.ads: Likewise.
4448 * libgnat/g-socket__dummy.adb: Likewise.
4449 * libgnat/g-socket__dummy.ads: Likewise.
4450 * libgnat/g-socpol.adb: Likewise.
4451 * libgnat/g-socpol.ads: Likewise.
4452 * libgnat/g-socpol__dummy.adb: Likewise.
4453 * libgnat/g-socpol__dummy.ads: Likewise.
4454 * libgnat/g-socthi.adb: Likewise.
4455 * libgnat/g-socthi.ads: Likewise.
4456 * libgnat/g-socthi__dummy.adb: Likewise.
4457 * libgnat/g-socthi__dummy.ads: Likewise.
4458 * libgnat/g-socthi__mingw.adb: Likewise.
4459 * libgnat/g-socthi__mingw.ads: Likewise.
4460 * libgnat/g-socthi__vxworks.adb: Likewise.
4461 * libgnat/g-socthi__vxworks.ads: Likewise.
4462 * libgnat/g-soliop.ads: Likewise.
4463 * libgnat/g-soliop__lynxos.ads: Likewise.
4464 * libgnat/g-soliop__mingw.ads: Likewise.
4465 * libgnat/g-soliop__qnx.ads: Likewise.
4466 * libgnat/g-soliop__solaris.ads: Likewise.
4467 * libgnat/g-sopowa.adb: Likewise.
4468 * libgnat/g-sopowa__mingw.adb: Likewise.
4469 * libgnat/g-sopowa__posix.adb: Likewise.
4470 * libgnat/g-sothco.adb: Likewise.
4471 * libgnat/g-sothco.ads: Likewise.
4472 * libgnat/g-sothco__dummy.adb: Likewise.
4473 * libgnat/g-sothco__dummy.ads: Likewise.
4474 * libgnat/g-souinf.ads: Likewise.
4475 * libgnat/g-spchge.adb: Likewise.
4476 * libgnat/g-spchge.ads: Likewise.
4477 * libgnat/g-speche.adb: Likewise.
4478 * libgnat/g-speche.ads: Likewise.
4479 * libgnat/g-spipat.adb: Likewise.
4480 * libgnat/g-spipat.ads: Likewise.
4481 * libgnat/g-spitbo.adb: Likewise.
4482 * libgnat/g-spitbo.ads: Likewise.
4483 * libgnat/g-spogwa.adb: Likewise.
4484 * libgnat/g-spogwa.ads: Likewise.
4485 * libgnat/g-sptabo.ads: Likewise.
4486 * libgnat/g-sptain.ads: Likewise.
4487 * libgnat/g-sptavs.ads: Likewise.
4488 * libgnat/g-sse.ads: Likewise.
4489 * libgnat/g-ssvety.ads: Likewise.
4490 * libgnat/g-sthcso.adb: Likewise.
4491 * libgnat/g-stheme.adb: Likewise.
4492 * libgnat/g-strhas.ads: Likewise.
4493 * libgnat/g-string.adb: Likewise.
4494 * libgnat/g-string.ads: Likewise.
4495 * libgnat/g-strspl.ads: Likewise.
4496 * libgnat/g-stseme.adb: Likewise.
4497 * libgnat/g-stsifd__sockets.adb: Likewise.
4498 * libgnat/g-table.adb: Likewise.
4499 * libgnat/g-table.ads: Likewise.
4500 * libgnat/g-tasloc.adb: Likewise.
4501 * libgnat/g-tasloc.ads: Likewise.
4502 * libgnat/g-timsta.adb: Likewise.
4503 * libgnat/g-timsta.ads: Likewise.
4504 * libgnat/g-traceb.adb: Likewise.
4505 * libgnat/g-traceb.ads: Likewise.
4506 * libgnat/g-trasym.adb: Likewise.
4507 * libgnat/g-trasym.ads: Likewise.
4508 * libgnat/g-tty.adb: Likewise.
4509 * libgnat/g-tty.ads: Likewise.
4510 * libgnat/g-u3spch.adb: Likewise.
4511 * libgnat/g-u3spch.ads: Likewise.
4512 * libgnat/g-utf_32.adb: Likewise.
4513 * libgnat/g-utf_32.ads: Likewise.
4514 * libgnat/g-wispch.adb: Likewise.
4515 * libgnat/g-wispch.ads: Likewise.
4516 * libgnat/g-wistsp.ads: Likewise.
4517 * libgnat/g-zspche.adb: Likewise.
4518 * libgnat/g-zspche.ads: Likewise.
4519 * libgnat/g-zstspl.ads: Likewise.
4520 * libgnat/gnat.ads: Likewise.
4521 * libgnat/i-c.adb: Likewise.
4522 * libgnat/i-cexten.ads: Likewise.
4523 * libgnat/i-cexten__128.ads: Likewise.
4524 * libgnat/i-cobol.adb: Likewise.
4525 * libgnat/i-cobol.ads: Likewise.
4526 * libgnat/i-cpoint.adb: Likewise.
4527 * libgnat/i-cpoint.ads: Likewise.
4528 * libgnat/i-cstrea.adb: Likewise.
4529 * libgnat/i-cstrea.ads: Likewise.
4530 * libgnat/i-cstrin.adb: Likewise.
4531 * libgnat/i-cstrin.ads: Likewise.
4532 * libgnat/i-fortra.adb: Likewise.
4533 * libgnat/i-pacdec.adb: Likewise.
4534 * libgnat/i-pacdec.ads: Likewise.
4535 * libgnat/i-vxwoio.adb: Likewise.
4536 * libgnat/i-vxwoio.ads: Likewise.
4537 * libgnat/i-vxwork.ads: Likewise.
4538 * libgnat/i-vxwork__x86.ads: Likewise.
4539 * libgnat/interfac.ads: Likewise.
4540 * libgnat/interfac__2020.ads: Likewise.
4541 * libgnat/memtrack.adb: Likewise.
4542 * libgnat/s-addima.adb: Likewise.
4543 * libgnat/s-addima.ads: Likewise.
4544 * libgnat/s-addope.adb: Likewise.
4545 * libgnat/s-addope.ads: Likewise.
4546 * libgnat/s-aoinar.adb: Likewise.
4547 * libgnat/s-aoinar.ads: Likewise.
4548 * libgnat/s-aomoar.adb: Likewise.
4549 * libgnat/s-aomoar.ads: Likewise.
4550 * libgnat/s-aotase.adb: Likewise.
4551 * libgnat/s-aotase.ads: Likewise.
4552 * libgnat/s-aridou.adb: Likewise.
4553 * libgnat/s-aridou.ads: Likewise.
4554 * libgnat/s-arit128.adb: Likewise.
4555 * libgnat/s-arit128.ads: Likewise.
4556 * libgnat/s-arit32.adb: Likewise.
4557 * libgnat/s-arit32.ads: Likewise.
4558 * libgnat/s-arit64.adb: Likewise.
4559 * libgnat/s-arit64.ads: Likewise.
4560 * libgnat/s-assert.adb: Likewise.
4561 * libgnat/s-assert.ads: Likewise.
4562 * libgnat/s-atacco.adb: Likewise.
4563 * libgnat/s-atacco.ads: Likewise.
4564 * libgnat/s-atocou.adb: Likewise.
4565 * libgnat/s-atocou.ads: Likewise.
4566 * libgnat/s-atocou__builtin.adb: Likewise.
4567 * libgnat/s-atocou__x86.adb: Likewise.
4568 * libgnat/s-atoope.ads: Likewise.
4569 * libgnat/s-atopex.adb: Likewise.
4570 * libgnat/s-atopex.ads: Likewise.
4571 * libgnat/s-atopri.adb: Likewise.
4572 * libgnat/s-atopri.ads: Likewise.
4573 * libgnat/s-auxdec.adb: Likewise.
4574 * libgnat/s-auxdec.ads: Likewise.
4575 * libgnat/s-bignum.adb: Likewise.
4576 * libgnat/s-bignum.ads: Likewise.
4577 * libgnat/s-bitfie.ads: Likewise.
4578 * libgnat/s-bitops.adb: Likewise.
4579 * libgnat/s-bitops.ads: Likewise.
4580 * libgnat/s-bituti.adb: Likewise.
4581 * libgnat/s-bituti.ads: Likewise.
4582 * libgnat/s-boarop.ads: Likewise.
4583 * libgnat/s-boustr.adb: Likewise.
4584 * libgnat/s-boustr.ads: Likewise.
4585 * libgnat/s-bytswa.ads: Likewise.
4586 * libgnat/s-carsi8.adb: Likewise.
4587 * libgnat/s-carsi8.ads: Likewise.
4588 * libgnat/s-carun8.adb: Likewise.
4589 * libgnat/s-carun8.ads: Likewise.
4590 * libgnat/s-casi128.adb: Likewise.
4591 * libgnat/s-casi128.ads: Likewise.
4592 * libgnat/s-casi16.adb: Likewise.
4593 * libgnat/s-casi16.ads: Likewise.
4594 * libgnat/s-casi32.adb: Likewise.
4595 * libgnat/s-casi32.ads: Likewise.
4596 * libgnat/s-casi64.adb: Likewise.
4597 * libgnat/s-casi64.ads: Likewise.
4598 * libgnat/s-casuti.adb: Likewise.
4599 * libgnat/s-casuti.ads: Likewise.
4600 * libgnat/s-caun128.adb: Likewise.
4601 * libgnat/s-caun128.ads: Likewise.
4602 * libgnat/s-caun16.adb: Likewise.
4603 * libgnat/s-caun16.ads: Likewise.
4604 * libgnat/s-caun32.adb: Likewise.
4605 * libgnat/s-caun32.ads: Likewise.
4606 * libgnat/s-caun64.adb: Likewise.
4607 * libgnat/s-caun64.ads: Likewise.
4608 * libgnat/s-chepoo.ads: Likewise.
4609 * libgnat/s-commun.adb: Likewise.
4610 * libgnat/s-commun.ads: Likewise.
4611 * libgnat/s-conca2.adb: Likewise.
4612 * libgnat/s-conca2.ads: Likewise.
4613 * libgnat/s-conca3.adb: Likewise.
4614 * libgnat/s-conca3.ads: Likewise.
4615 * libgnat/s-conca4.adb: Likewise.
4616 * libgnat/s-conca4.ads: Likewise.
4617 * libgnat/s-conca5.adb: Likewise.
4618 * libgnat/s-conca5.ads: Likewise.
4619 * libgnat/s-conca6.adb: Likewise.
4620 * libgnat/s-conca6.ads: Likewise.
4621 * libgnat/s-conca7.adb: Likewise.
4622 * libgnat/s-conca7.ads: Likewise.
4623 * libgnat/s-conca8.adb: Likewise.
4624 * libgnat/s-conca8.ads: Likewise.
4625 * libgnat/s-conca9.adb: Likewise.
4626 * libgnat/s-conca9.ads: Likewise.
4627 * libgnat/s-crc32.adb: Likewise.
4628 * libgnat/s-crc32.ads: Likewise.
4629 * libgnat/s-crtl.ads: Likewise.
4630 * libgnat/s-dfmkio.ads: Likewise.
4631 * libgnat/s-dfmopr.ads: Likewise.
4632 * libgnat/s-dgmgop.ads: Likewise.
4633 * libgnat/s-diflio.adb: Likewise.
4634 * libgnat/s-diflio.ads: Likewise.
4635 * libgnat/s-diflmk.ads: Likewise.
4636 * libgnat/s-digemk.ads: Likewise.
4637 * libgnat/s-diinio.adb: Likewise.
4638 * libgnat/s-diinio.ads: Likewise.
4639 * libgnat/s-dilomk.ads: Likewise.
4640 * libgnat/s-dim.ads: Likewise.
4641 * libgnat/s-dimkio.ads: Likewise.
4642 * libgnat/s-dimmks.ads: Likewise.
4643 * libgnat/s-direio.adb: Likewise.
4644 * libgnat/s-direio.ads: Likewise.
4645 * libgnat/s-dlmkio.ads: Likewise.
4646 * libgnat/s-dlmopr.ads: Likewise.
4647 * libgnat/s-dmotpr.ads: Likewise.
4648 * libgnat/s-dsaser.ads: Likewise.
4649 * libgnat/s-dwalin.adb: Likewise.
4650 * libgnat/s-dwalin.ads: Likewise.
4651 * libgnat/s-elaall.adb: Likewise.
4652 * libgnat/s-elaall.ads: Likewise.
4653 * libgnat/s-excdeb.adb: Likewise.
4654 * libgnat/s-excdeb.ads: Likewise.
4655 * libgnat/s-except.adb: Likewise.
4656 * libgnat/s-except.ads: Likewise.
4657 * libgnat/s-excmac__arm.adb: Likewise.
4658 * libgnat/s-excmac__arm.ads: Likewise.
4659 * libgnat/s-excmac__gcc.adb: Likewise.
4660 * libgnat/s-excmac__gcc.ads: Likewise.
4661 * libgnat/s-exctab.adb: Likewise.
4662 * libgnat/s-exctab.ads: Likewise.
4663 * libgnat/s-exctra.adb: Likewise.
4664 * libgnat/s-exctra.ads: Likewise.
4665 * libgnat/s-exnint.adb: Likewise.
4666 * libgnat/s-exnint.ads: Likewise.
4667 * libgnat/s-exnllf.adb: Likewise.
4668 * libgnat/s-exnllf.ads: Likewise.
4669 * libgnat/s-exnlli.adb: Likewise.
4670 * libgnat/s-exnlli.ads: Likewise.
4671 * libgnat/s-exnllli.ads: Likewise.
4672 * libgnat/s-expint.adb: Likewise.
4673 * libgnat/s-expint.ads: Likewise.
4674 * libgnat/s-explli.adb: Likewise.
4675 * libgnat/s-explli.ads: Likewise.
4676 * libgnat/s-expllli.ads: Likewise.
4677 * libgnat/s-explllu.ads: Likewise.
4678 * libgnat/s-expllu.adb: Likewise.
4679 * libgnat/s-expllu.ads: Likewise.
4680 * libgnat/s-expmod.adb: Likewise.
4681 * libgnat/s-expmod.ads: Likewise.
4682 * libgnat/s-exponn.adb: Likewise.
4683 * libgnat/s-exponn.ads: Likewise.
4684 * libgnat/s-expont.adb: Likewise.
4685 * libgnat/s-expont.ads: Likewise.
4686 * libgnat/s-exponu.adb: Likewise.
4687 * libgnat/s-exponu.ads: Likewise.
4688 * libgnat/s-expuns.adb: Likewise.
4689 * libgnat/s-expuns.ads: Likewise.
4690 * libgnat/s-fatflt.ads: Likewise.
4691 * libgnat/s-fatgen.adb: Likewise.
4692 * libgnat/s-fatgen.ads: Likewise.
4693 * libgnat/s-fatlfl.ads: Likewise.
4694 * libgnat/s-fatllf.ads: Likewise.
4695 * libgnat/s-ficobl.ads: Likewise.
4696 * libgnat/s-filatt.ads: Likewise.
4697 * libgnat/s-fileio.adb: Likewise.
4698 * libgnat/s-fileio.ads: Likewise.
4699 * libgnat/s-finmas.adb: Likewise.
4700 * libgnat/s-finmas.ads: Likewise.
4701 * libgnat/s-finroo.adb: Likewise.
4702 * libgnat/s-finroo.ads: Likewise.
4703 * libgnat/s-flocon.adb: Likewise.
4704 * libgnat/s-flocon.ads: Likewise.
4705 * libgnat/s-flocon__none.adb: Likewise.
4706 * libgnat/s-fode128.ads: Likewise.
4707 * libgnat/s-fode32.ads: Likewise.
4708 * libgnat/s-fode64.ads: Likewise.
4709 * libgnat/s-fofi128.ads: Likewise.
4710 * libgnat/s-fofi32.ads: Likewise.
4711 * libgnat/s-fofi64.ads: Likewise.
4712 * libgnat/s-fore_d.adb: Likewise.
4713 * libgnat/s-fore_d.ads: Likewise.
4714 * libgnat/s-fore_f.adb: Likewise.
4715 * libgnat/s-fore_f.ads: Likewise.
4716 * libgnat/s-forrea.adb: Likewise.
4717 * libgnat/s-forrea.ads: Likewise.
4718 * libgnat/s-gearop.adb: Likewise.
4719 * libgnat/s-gearop.ads: Likewise.
4720 * libgnat/s-genbig.adb: Likewise.
4721 * libgnat/s-genbig.ads: Likewise.
4722 * libgnat/s-geveop.adb: Likewise.
4723 * libgnat/s-geveop.ads: Likewise.
4724 * libgnat/s-gloloc.adb: Likewise.
4725 * libgnat/s-gloloc.ads: Likewise.
4726 * libgnat/s-gloloc__mingw.adb: Likewise.
4727 * libgnat/s-htable.adb: Likewise.
4728 * libgnat/s-htable.ads: Likewise.
4729 * libgnat/s-imageb.adb: Likewise.
4730 * libgnat/s-imageb.ads: Likewise.
4731 * libgnat/s-imaged.adb: Likewise.
4732 * libgnat/s-imaged.ads: Likewise.
4733 * libgnat/s-imagef.adb: Likewise.
4734 * libgnat/s-imagef.ads: Likewise.
4735 * libgnat/s-imagei.adb: Likewise.
4736 * libgnat/s-imagei.ads: Likewise.
4737 * libgnat/s-imageu.adb: Likewise.
4738 * libgnat/s-imageu.ads: Likewise.
4739 * libgnat/s-imagew.adb: Likewise.
4740 * libgnat/s-imagew.ads: Likewise.
4741 * libgnat/s-imde128.ads: Likewise.
4742 * libgnat/s-imde32.ads: Likewise.
4743 * libgnat/s-imde64.ads: Likewise.
4744 * libgnat/s-imenne.adb: Likewise.
4745 * libgnat/s-imenne.ads: Likewise.
4746 * libgnat/s-imfi128.ads: Likewise.
4747 * libgnat/s-imfi32.ads: Likewise.
4748 * libgnat/s-imfi64.ads: Likewise.
4749 * libgnat/s-imgbiu.adb: Likewise.
4750 * libgnat/s-imgbiu.ads: Likewise.
4751 * libgnat/s-imgboo.adb: Likewise.
4752 * libgnat/s-imgboo.ads: Likewise.
4753 * libgnat/s-imgcha.adb: Likewise.
4754 * libgnat/s-imgcha.ads: Likewise.
4755 * libgnat/s-imgenu.adb: Likewise.
4756 * libgnat/s-imgenu.ads: Likewise.
4757 * libgnat/s-imgint.adb: Likewise.
4758 * libgnat/s-imgint.ads: Likewise.
4759 * libgnat/s-imgllb.adb: Likewise.
4760 * libgnat/s-imgllb.ads: Likewise.
4761 * libgnat/s-imglli.adb: Likewise.
4762 * libgnat/s-imglli.ads: Likewise.
4763 * libgnat/s-imglllb.ads: Likewise.
4764 * libgnat/s-imgllli.ads: Likewise.
4765 * libgnat/s-imglllu.ads: Likewise.
4766 * libgnat/s-imglllw.ads: Likewise.
4767 * libgnat/s-imgllu.adb: Likewise.
4768 * libgnat/s-imgllu.ads: Likewise.
4769 * libgnat/s-imgllw.adb: Likewise.
4770 * libgnat/s-imgllw.ads: Likewise.
4771 * libgnat/s-imgrea.adb: Likewise.
4772 * libgnat/s-imgrea.ads: Likewise.
4773 * libgnat/s-imguns.adb: Likewise.
4774 * libgnat/s-imguns.ads: Likewise.
4775 * libgnat/s-imguti.adb: Likewise.
4776 * libgnat/s-imguti.ads: Likewise.
4777 * libgnat/s-imgwch.adb: Likewise.
4778 * libgnat/s-imgwch.ads: Likewise.
4779 * libgnat/s-imgwiu.adb: Likewise.
4780 * libgnat/s-imgwiu.ads: Likewise.
4781 * libgnat/s-io.adb: Likewise.
4782 * libgnat/s-io.ads: Likewise.
4783 * libgnat/s-llflex.ads: Likewise.
4784 * libgnat/s-maccod.ads: Likewise.
4785 * libgnat/s-mantis.adb: Likewise.
4786 * libgnat/s-mantis.ads: Likewise.
4787 * libgnat/s-mastop.adb: Likewise.
4788 * libgnat/s-mastop.ads: Likewise.
4789 * libgnat/s-memcop.ads: Likewise.
4790 * libgnat/s-memory.adb: Likewise.
4791 * libgnat/s-memory.ads: Likewise.
4792 * libgnat/s-mmap.adb: Likewise.
4793 * libgnat/s-mmap.ads: Likewise.
4794 * libgnat/s-mmauni__long.ads: Likewise.
4795 * libgnat/s-mmosin__mingw.adb: Likewise.
4796 * libgnat/s-mmosin__mingw.ads: Likewise.
4797 * libgnat/s-mmosin__unix.adb: Likewise.
4798 * libgnat/s-mmosin__unix.ads: Likewise.
4799 * libgnat/s-multip.adb: Likewise.
4800 * libgnat/s-objrea.adb: Likewise.
4801 * libgnat/s-objrea.ads: Likewise.
4802 * libgnat/s-optide.adb: Likewise.
4803 * libgnat/s-os_lib.adb: Likewise.
4804 * libgnat/s-os_lib.ads: Likewise.
4805 * libgnat/s-osprim.ads: Likewise.
4806 * libgnat/s-osprim__darwin.adb: Likewise.
4807 * libgnat/s-osprim__lynxos.ads: Likewise.
4808 * libgnat/s-osprim__mingw.adb: Likewise.
4809 * libgnat/s-osprim__posix.adb: Likewise.
4810 * libgnat/s-osprim__posix2008.adb: Likewise.
4811 * libgnat/s-osprim__rtems.adb: Likewise.
4812 * libgnat/s-osprim__solaris.adb: Likewise.
4813 * libgnat/s-osprim__unix.adb: Likewise.
4814 * libgnat/s-osprim__vxworks.adb: Likewise.
4815 * libgnat/s-osprim__x32.adb: Likewise.
4816 * libgnat/s-osvers__vxworks-653.ads: Likewise.
4817 * libgnat/s-pack03.adb: Likewise.
4818 * libgnat/s-pack03.ads: Likewise.
4819 * libgnat/s-pack05.adb: Likewise.
4820 * libgnat/s-pack05.ads: Likewise.
4821 * libgnat/s-pack06.adb: Likewise.
4822 * libgnat/s-pack06.ads: Likewise.
4823 * libgnat/s-pack07.adb: Likewise.
4824 * libgnat/s-pack07.ads: Likewise.
4825 * libgnat/s-pack09.adb: Likewise.
4826 * libgnat/s-pack09.ads: Likewise.
4827 * libgnat/s-pack10.adb: Likewise.
4828 * libgnat/s-pack10.ads: Likewise.
4829 * libgnat/s-pack100.adb: Likewise.
4830 * libgnat/s-pack100.ads: Likewise.
4831 * libgnat/s-pack101.adb: Likewise.
4832 * libgnat/s-pack101.ads: Likewise.
4833 * libgnat/s-pack102.adb: Likewise.
4834 * libgnat/s-pack102.ads: Likewise.
4835 * libgnat/s-pack103.adb: Likewise.
4836 * libgnat/s-pack103.ads: Likewise.
4837 * libgnat/s-pack104.adb: Likewise.
4838 * libgnat/s-pack104.ads: Likewise.
4839 * libgnat/s-pack105.adb: Likewise.
4840 * libgnat/s-pack105.ads: Likewise.
4841 * libgnat/s-pack106.adb: Likewise.
4842 * libgnat/s-pack106.ads: Likewise.
4843 * libgnat/s-pack107.adb: Likewise.
4844 * libgnat/s-pack107.ads: Likewise.
4845 * libgnat/s-pack108.adb: Likewise.
4846 * libgnat/s-pack108.ads: Likewise.
4847 * libgnat/s-pack109.adb: Likewise.
4848 * libgnat/s-pack109.ads: Likewise.
4849 * libgnat/s-pack11.adb: Likewise.
4850 * libgnat/s-pack11.ads: Likewise.
4851 * libgnat/s-pack110.adb: Likewise.
4852 * libgnat/s-pack110.ads: Likewise.
4853 * libgnat/s-pack111.adb: Likewise.
4854 * libgnat/s-pack111.ads: Likewise.
4855 * libgnat/s-pack112.adb: Likewise.
4856 * libgnat/s-pack112.ads: Likewise.
4857 * libgnat/s-pack113.adb: Likewise.
4858 * libgnat/s-pack113.ads: Likewise.
4859 * libgnat/s-pack114.adb: Likewise.
4860 * libgnat/s-pack114.ads: Likewise.
4861 * libgnat/s-pack115.adb: Likewise.
4862 * libgnat/s-pack115.ads: Likewise.
4863 * libgnat/s-pack116.adb: Likewise.
4864 * libgnat/s-pack116.ads: Likewise.
4865 * libgnat/s-pack117.adb: Likewise.
4866 * libgnat/s-pack117.ads: Likewise.
4867 * libgnat/s-pack118.adb: Likewise.
4868 * libgnat/s-pack118.ads: Likewise.
4869 * libgnat/s-pack119.adb: Likewise.
4870 * libgnat/s-pack119.ads: Likewise.
4871 * libgnat/s-pack12.adb: Likewise.
4872 * libgnat/s-pack12.ads: Likewise.
4873 * libgnat/s-pack120.adb: Likewise.
4874 * libgnat/s-pack120.ads: Likewise.
4875 * libgnat/s-pack121.adb: Likewise.
4876 * libgnat/s-pack121.ads: Likewise.
4877 * libgnat/s-pack122.adb: Likewise.
4878 * libgnat/s-pack122.ads: Likewise.
4879 * libgnat/s-pack123.adb: Likewise.
4880 * libgnat/s-pack123.ads: Likewise.
4881 * libgnat/s-pack124.adb: Likewise.
4882 * libgnat/s-pack124.ads: Likewise.
4883 * libgnat/s-pack125.adb: Likewise.
4884 * libgnat/s-pack125.ads: Likewise.
4885 * libgnat/s-pack126.adb: Likewise.
4886 * libgnat/s-pack126.ads: Likewise.
4887 * libgnat/s-pack127.adb: Likewise.
4888 * libgnat/s-pack127.ads: Likewise.
4889 * libgnat/s-pack13.adb: Likewise.
4890 * libgnat/s-pack13.ads: Likewise.
4891 * libgnat/s-pack14.adb: Likewise.
4892 * libgnat/s-pack14.ads: Likewise.
4893 * libgnat/s-pack15.adb: Likewise.
4894 * libgnat/s-pack15.ads: Likewise.
4895 * libgnat/s-pack17.adb: Likewise.
4896 * libgnat/s-pack17.ads: Likewise.
4897 * libgnat/s-pack18.adb: Likewise.
4898 * libgnat/s-pack18.ads: Likewise.
4899 * libgnat/s-pack19.adb: Likewise.
4900 * libgnat/s-pack19.ads: Likewise.
4901 * libgnat/s-pack20.adb: Likewise.
4902 * libgnat/s-pack20.ads: Likewise.
4903 * libgnat/s-pack21.adb: Likewise.
4904 * libgnat/s-pack21.ads: Likewise.
4905 * libgnat/s-pack22.adb: Likewise.
4906 * libgnat/s-pack22.ads: Likewise.
4907 * libgnat/s-pack23.adb: Likewise.
4908 * libgnat/s-pack23.ads: Likewise.
4909 * libgnat/s-pack24.adb: Likewise.
4910 * libgnat/s-pack24.ads: Likewise.
4911 * libgnat/s-pack25.adb: Likewise.
4912 * libgnat/s-pack25.ads: Likewise.
4913 * libgnat/s-pack26.adb: Likewise.
4914 * libgnat/s-pack26.ads: Likewise.
4915 * libgnat/s-pack27.adb: Likewise.
4916 * libgnat/s-pack27.ads: Likewise.
4917 * libgnat/s-pack28.adb: Likewise.
4918 * libgnat/s-pack28.ads: Likewise.
4919 * libgnat/s-pack29.adb: Likewise.
4920 * libgnat/s-pack29.ads: Likewise.
4921 * libgnat/s-pack30.adb: Likewise.
4922 * libgnat/s-pack30.ads: Likewise.
4923 * libgnat/s-pack31.adb: Likewise.
4924 * libgnat/s-pack31.ads: Likewise.
4925 * libgnat/s-pack33.adb: Likewise.
4926 * libgnat/s-pack33.ads: Likewise.
4927 * libgnat/s-pack34.adb: Likewise.
4928 * libgnat/s-pack34.ads: Likewise.
4929 * libgnat/s-pack35.adb: Likewise.
4930 * libgnat/s-pack35.ads: Likewise.
4931 * libgnat/s-pack36.adb: Likewise.
4932 * libgnat/s-pack36.ads: Likewise.
4933 * libgnat/s-pack37.adb: Likewise.
4934 * libgnat/s-pack37.ads: Likewise.
4935 * libgnat/s-pack38.adb: Likewise.
4936 * libgnat/s-pack38.ads: Likewise.
4937 * libgnat/s-pack39.adb: Likewise.
4938 * libgnat/s-pack39.ads: Likewise.
4939 * libgnat/s-pack40.adb: Likewise.
4940 * libgnat/s-pack40.ads: Likewise.
4941 * libgnat/s-pack41.adb: Likewise.
4942 * libgnat/s-pack41.ads: Likewise.
4943 * libgnat/s-pack42.adb: Likewise.
4944 * libgnat/s-pack42.ads: Likewise.
4945 * libgnat/s-pack43.adb: Likewise.
4946 * libgnat/s-pack43.ads: Likewise.
4947 * libgnat/s-pack44.adb: Likewise.
4948 * libgnat/s-pack44.ads: Likewise.
4949 * libgnat/s-pack45.adb: Likewise.
4950 * libgnat/s-pack45.ads: Likewise.
4951 * libgnat/s-pack46.adb: Likewise.
4952 * libgnat/s-pack46.ads: Likewise.
4953 * libgnat/s-pack47.adb: Likewise.
4954 * libgnat/s-pack47.ads: Likewise.
4955 * libgnat/s-pack48.adb: Likewise.
4956 * libgnat/s-pack48.ads: Likewise.
4957 * libgnat/s-pack49.adb: Likewise.
4958 * libgnat/s-pack49.ads: Likewise.
4959 * libgnat/s-pack50.adb: Likewise.
4960 * libgnat/s-pack50.ads: Likewise.
4961 * libgnat/s-pack51.adb: Likewise.
4962 * libgnat/s-pack51.ads: Likewise.
4963 * libgnat/s-pack52.adb: Likewise.
4964 * libgnat/s-pack52.ads: Likewise.
4965 * libgnat/s-pack53.adb: Likewise.
4966 * libgnat/s-pack53.ads: Likewise.
4967 * libgnat/s-pack54.adb: Likewise.
4968 * libgnat/s-pack54.ads: Likewise.
4969 * libgnat/s-pack55.adb: Likewise.
4970 * libgnat/s-pack55.ads: Likewise.
4971 * libgnat/s-pack56.adb: Likewise.
4972 * libgnat/s-pack56.ads: Likewise.
4973 * libgnat/s-pack57.adb: Likewise.
4974 * libgnat/s-pack57.ads: Likewise.
4975 * libgnat/s-pack58.adb: Likewise.
4976 * libgnat/s-pack58.ads: Likewise.
4977 * libgnat/s-pack59.adb: Likewise.
4978 * libgnat/s-pack59.ads: Likewise.
4979 * libgnat/s-pack60.adb: Likewise.
4980 * libgnat/s-pack60.ads: Likewise.
4981 * libgnat/s-pack61.adb: Likewise.
4982 * libgnat/s-pack61.ads: Likewise.
4983 * libgnat/s-pack62.adb: Likewise.
4984 * libgnat/s-pack62.ads: Likewise.
4985 * libgnat/s-pack63.adb: Likewise.
4986 * libgnat/s-pack63.ads: Likewise.
4987 * libgnat/s-pack65.adb: Likewise.
4988 * libgnat/s-pack65.ads: Likewise.
4989 * libgnat/s-pack66.adb: Likewise.
4990 * libgnat/s-pack66.ads: Likewise.
4991 * libgnat/s-pack67.adb: Likewise.
4992 * libgnat/s-pack67.ads: Likewise.
4993 * libgnat/s-pack68.adb: Likewise.
4994 * libgnat/s-pack68.ads: Likewise.
4995 * libgnat/s-pack69.adb: Likewise.
4996 * libgnat/s-pack69.ads: Likewise.
4997 * libgnat/s-pack70.adb: Likewise.
4998 * libgnat/s-pack70.ads: Likewise.
4999 * libgnat/s-pack71.adb: Likewise.
5000 * libgnat/s-pack71.ads: Likewise.
5001 * libgnat/s-pack72.adb: Likewise.
5002 * libgnat/s-pack72.ads: Likewise.
5003 * libgnat/s-pack73.adb: Likewise.
5004 * libgnat/s-pack73.ads: Likewise.
5005 * libgnat/s-pack74.adb: Likewise.
5006 * libgnat/s-pack74.ads: Likewise.
5007 * libgnat/s-pack75.adb: Likewise.
5008 * libgnat/s-pack75.ads: Likewise.
5009 * libgnat/s-pack76.adb: Likewise.
5010 * libgnat/s-pack76.ads: Likewise.
5011 * libgnat/s-pack77.adb: Likewise.
5012 * libgnat/s-pack77.ads: Likewise.
5013 * libgnat/s-pack78.adb: Likewise.
5014 * libgnat/s-pack78.ads: Likewise.
5015 * libgnat/s-pack79.adb: Likewise.
5016 * libgnat/s-pack79.ads: Likewise.
5017 * libgnat/s-pack80.adb: Likewise.
5018 * libgnat/s-pack80.ads: Likewise.
5019 * libgnat/s-pack81.adb: Likewise.
5020 * libgnat/s-pack81.ads: Likewise.
5021 * libgnat/s-pack82.adb: Likewise.
5022 * libgnat/s-pack82.ads: Likewise.
5023 * libgnat/s-pack83.adb: Likewise.
5024 * libgnat/s-pack83.ads: Likewise.
5025 * libgnat/s-pack84.adb: Likewise.
5026 * libgnat/s-pack84.ads: Likewise.
5027 * libgnat/s-pack85.adb: Likewise.
5028 * libgnat/s-pack85.ads: Likewise.
5029 * libgnat/s-pack86.adb: Likewise.
5030 * libgnat/s-pack86.ads: Likewise.
5031 * libgnat/s-pack87.adb: Likewise.
5032 * libgnat/s-pack87.ads: Likewise.
5033 * libgnat/s-pack88.adb: Likewise.
5034 * libgnat/s-pack88.ads: Likewise.
5035 * libgnat/s-pack89.adb: Likewise.
5036 * libgnat/s-pack89.ads: Likewise.
5037 * libgnat/s-pack90.adb: Likewise.
5038 * libgnat/s-pack90.ads: Likewise.
5039 * libgnat/s-pack91.adb: Likewise.
5040 * libgnat/s-pack91.ads: Likewise.
5041 * libgnat/s-pack92.adb: Likewise.
5042 * libgnat/s-pack92.ads: Likewise.
5043 * libgnat/s-pack93.adb: Likewise.
5044 * libgnat/s-pack93.ads: Likewise.
5045 * libgnat/s-pack94.adb: Likewise.
5046 * libgnat/s-pack94.ads: Likewise.
5047 * libgnat/s-pack95.adb: Likewise.
5048 * libgnat/s-pack95.ads: Likewise.
5049 * libgnat/s-pack96.adb: Likewise.
5050 * libgnat/s-pack96.ads: Likewise.
5051 * libgnat/s-pack97.adb: Likewise.
5052 * libgnat/s-pack97.ads: Likewise.
5053 * libgnat/s-pack98.adb: Likewise.
5054 * libgnat/s-pack98.ads: Likewise.
5055 * libgnat/s-pack99.adb: Likewise.
5056 * libgnat/s-pack99.ads: Likewise.
5057 * libgnat/s-parame.adb: Likewise.
5058 * libgnat/s-parame.ads: Likewise.
5059 * libgnat/s-parame__ae653.ads: Likewise.
5060 * libgnat/s-parame__hpux.ads: Likewise.
5061 * libgnat/s-parame__rtems.adb: Likewise.
5062 * libgnat/s-parame__vxworks.adb: Likewise.
5063 * libgnat/s-parame__vxworks.ads: Likewise.
5064 * libgnat/s-parint.adb: Likewise.
5065 * libgnat/s-parint.ads: Likewise.
5066 * libgnat/s-pooglo.adb: Likewise.
5067 * libgnat/s-pooglo.ads: Likewise.
5068 * libgnat/s-pooloc.adb: Likewise.
5069 * libgnat/s-pooloc.ads: Likewise.
5070 * libgnat/s-poosiz.adb: Likewise.
5071 * libgnat/s-poosiz.ads: Likewise.
5072 * libgnat/s-powflt.ads: Likewise.
5073 * libgnat/s-powlfl.ads: Likewise.
5074 * libgnat/s-powllf.ads: Likewise.
5075 * libgnat/s-purexc.ads: Likewise.
5076 * libgnat/s-putaim.adb: Likewise.
5077 * libgnat/s-putaim.ads: Likewise.
5078 * libgnat/s-putima.adb: Likewise.
5079 * libgnat/s-putima.ads: Likewise.
5080 * libgnat/s-rannum.adb: Likewise.
5081 * libgnat/s-rannum.ads: Likewise.
5082 * libgnat/s-ransee.adb: Likewise.
5083 * libgnat/s-ransee.ads: Likewise.
5084 * libgnat/s-regexp.adb: Likewise.
5085 * libgnat/s-regexp.ads: Likewise.
5086 * libgnat/s-regpat.adb: Likewise.
5087 * libgnat/s-regpat.ads: Likewise.
5088 * libgnat/s-resfil.adb: Likewise.
5089 * libgnat/s-resfil.ads: Likewise.
5090 * libgnat/s-restri.adb: Likewise.
5091 * libgnat/s-restri.ads: Likewise.
5092 * libgnat/s-rident.ads: Likewise.
5093 * libgnat/s-rpc.adb: Likewise.
5094 * libgnat/s-rpc.ads: Likewise.
5095 * libgnat/s-scaval.adb: Likewise.
5096 * libgnat/s-scaval.ads: Likewise.
5097 * libgnat/s-scaval__128.adb: Likewise.
5098 * libgnat/s-scaval__128.ads: Likewise.
5099 * libgnat/s-secsta.adb: Likewise.
5100 * libgnat/s-secsta.ads: Likewise.
5101 * libgnat/s-sequio.adb: Likewise.
5102 * libgnat/s-sequio.ads: Likewise.
5103 * libgnat/s-shabig.ads: Likewise.
5104 * libgnat/s-shasto.adb: Likewise.
5105 * libgnat/s-shasto.ads: Likewise.
5106 * libgnat/s-soflin.adb: Likewise.
5107 * libgnat/s-soflin.ads: Likewise.
5108 * libgnat/s-soliin.adb: Likewise.
5109 * libgnat/s-soliin.ads: Likewise.
5110 * libgnat/s-sopco3.adb: Likewise.
5111 * libgnat/s-sopco3.ads: Likewise.
5112 * libgnat/s-sopco4.adb: Likewise.
5113 * libgnat/s-sopco4.ads: Likewise.
5114 * libgnat/s-sopco5.adb: Likewise.
5115 * libgnat/s-sopco5.ads: Likewise.
5116 * libgnat/s-spsufi.adb: Likewise.
5117 * libgnat/s-spsufi.ads: Likewise.
5118 * libgnat/s-stache.adb: Likewise.
5119 * libgnat/s-stache.ads: Likewise.
5120 * libgnat/s-stalib.adb: Likewise.
5121 * libgnat/s-stalib.ads: Likewise.
5122 * libgnat/s-statxd.adb: Likewise.
5123 * libgnat/s-statxd.ads: Likewise.
5124 * libgnat/s-stausa.adb: Likewise.
5125 * libgnat/s-stausa.ads: Likewise.
5126 * libgnat/s-stchop.adb: Likewise.
5127 * libgnat/s-stchop.ads: Likewise.
5128 * libgnat/s-stchop__limit.ads: Likewise.
5129 * libgnat/s-stchop__rtems.adb: Likewise.
5130 * libgnat/s-stchop__vxworks.adb: Likewise.
5131 * libgnat/s-stoele.adb: Likewise.
5132 * libgnat/s-stoele.ads: Likewise.
5133 * libgnat/s-stopoo.adb: Likewise.
5134 * libgnat/s-stopoo.ads: Likewise.
5135 * libgnat/s-stposu.adb: Likewise.
5136 * libgnat/s-stposu.ads: Likewise.
5137 * libgnat/s-stratt.adb: Likewise.
5138 * libgnat/s-stratt.ads: Likewise.
5139 * libgnat/s-strcom.adb: Likewise.
5140 * libgnat/s-strcom.ads: Likewise.
5141 * libgnat/s-strhas.adb: Likewise.
5142 * libgnat/s-strhas.ads: Likewise.
5143 * libgnat/s-string.adb: Likewise.
5144 * libgnat/s-string.ads: Likewise.
5145 * libgnat/s-strops.adb: Likewise.
5146 * libgnat/s-strops.ads: Likewise.
5147 * libgnat/s-ststop.adb: Likewise.
5148 * libgnat/s-ststop.ads: Likewise.
5149 * libgnat/s-tasloc.adb: Likewise.
5150 * libgnat/s-tasloc.ads: Likewise.
5151 * libgnat/s-thread.ads: Likewise.
5152 * libgnat/s-thread__ae653.adb: Likewise.
5153 * libgnat/s-traceb.adb: Likewise.
5154 * libgnat/s-traceb.ads: Likewise.
5155 * libgnat/s-traceb__hpux.adb: Likewise.
5156 * libgnat/s-traceb__mastop.adb: Likewise.
5157 * libgnat/s-traent.adb: Likewise.
5158 * libgnat/s-traent.ads: Likewise.
5159 * libgnat/s-trasym.adb: Likewise.
5160 * libgnat/s-trasym.ads: Likewise.
5161 * libgnat/s-trasym__dwarf.adb: Likewise.
5162 * libgnat/s-tsmona.adb: Likewise.
5163 * libgnat/s-tsmona__linux.adb: Likewise.
5164 * libgnat/s-tsmona__mingw.adb: Likewise.
5165 * libgnat/s-unstyp.ads: Likewise.
5166 * libgnat/s-utf_32.adb: Likewise.
5167 * libgnat/s-utf_32.ads: Likewise.
5168 * libgnat/s-vade128.ads: Likewise.
5169 * libgnat/s-vade32.ads: Likewise.
5170 * libgnat/s-vade64.ads: Likewise.
5171 * libgnat/s-vafi128.ads: Likewise.
5172 * libgnat/s-vafi32.ads: Likewise.
5173 * libgnat/s-vafi64.ads: Likewise.
5174 * libgnat/s-valboo.adb: Likewise.
5175 * libgnat/s-valboo.ads: Likewise.
5176 * libgnat/s-valcha.adb: Likewise.
5177 * libgnat/s-valcha.ads: Likewise.
5178 * libgnat/s-valenu.adb: Likewise.
5179 * libgnat/s-valenu.ads: Likewise.
5180 * libgnat/s-valflt.ads: Likewise.
5181 * libgnat/s-valint.adb: Likewise.
5182 * libgnat/s-valint.ads: Likewise.
5183 * libgnat/s-vallfl.ads: Likewise.
5184 * libgnat/s-valllf.ads: Likewise.
5185 * libgnat/s-vallli.adb: Likewise.
5186 * libgnat/s-vallli.ads: Likewise.
5187 * libgnat/s-valllli.ads: Likewise.
5188 * libgnat/s-vallllu.ads: Likewise.
5189 * libgnat/s-valllu.adb: Likewise.
5190 * libgnat/s-valllu.ads: Likewise.
5191 * libgnat/s-valrea.adb: Likewise.
5192 * libgnat/s-valrea.ads: Likewise.
5193 * libgnat/s-valued.adb: Likewise.
5194 * libgnat/s-valued.ads: Likewise.
5195 * libgnat/s-valuef.adb: Likewise.
5196 * libgnat/s-valuef.ads: Likewise.
5197 * libgnat/s-valuei.adb: Likewise.
5198 * libgnat/s-valuei.ads: Likewise.
5199 * libgnat/s-valuer.adb: Likewise.
5200 * libgnat/s-valuer.ads: Likewise.
5201 * libgnat/s-valueu.adb: Likewise.
5202 * libgnat/s-valueu.ads: Likewise.
5203 * libgnat/s-valuns.adb: Likewise.
5204 * libgnat/s-valuns.ads: Likewise.
5205 * libgnat/s-valuti.adb: Likewise.
5206 * libgnat/s-valuti.ads: Likewise.
5207 * libgnat/s-valwch.adb: Likewise.
5208 * libgnat/s-valwch.ads: Likewise.
5209 * libgnat/s-veboop.adb: Likewise.
5210 * libgnat/s-veboop.ads: Likewise.
5211 * libgnat/s-vector.ads: Likewise.
5212 * libgnat/s-vercon.adb: Likewise.
5213 * libgnat/s-vercon.ads: Likewise.
5214 * libgnat/s-wchcnv.adb: Likewise.
5215 * libgnat/s-wchcnv.ads: Likewise.
5216 * libgnat/s-wchcon.adb: Likewise.
5217 * libgnat/s-wchcon.ads: Likewise.
5218 * libgnat/s-wchjis.adb: Likewise.
5219 * libgnat/s-wchjis.ads: Likewise.
5220 * libgnat/s-wchstw.adb: Likewise.
5221 * libgnat/s-wchstw.ads: Likewise.
5222 * libgnat/s-wchwts.adb: Likewise.
5223 * libgnat/s-wchwts.ads: Likewise.
5224 * libgnat/s-widboo.adb: Likewise.
5225 * libgnat/s-widboo.ads: Likewise.
5226 * libgnat/s-widcha.adb: Likewise.
5227 * libgnat/s-widcha.ads: Likewise.
5228 * libgnat/s-widenu.adb: Likewise.
5229 * libgnat/s-widenu.ads: Likewise.
5230 * libgnat/s-widint.ads: Likewise.
5231 * libgnat/s-widlli.adb: Likewise.
5232 * libgnat/s-widlli.ads: Likewise.
5233 * libgnat/s-widllli.ads: Likewise.
5234 * libgnat/s-widlllu.ads: Likewise.
5235 * libgnat/s-widllu.adb: Likewise.
5236 * libgnat/s-widllu.ads: Likewise.
5237 * libgnat/s-widthi.adb: Likewise.
5238 * libgnat/s-widthi.ads: Likewise.
5239 * libgnat/s-widthu.adb: Likewise.
5240 * libgnat/s-widthu.ads: Likewise.
5241 * libgnat/s-widuns.ads: Likewise.
5242 * libgnat/s-widwch.adb: Likewise.
5243 * libgnat/s-widwch.ads: Likewise.
5244 * libgnat/s-win32.ads: Likewise.
5245 * libgnat/s-winext.ads: Likewise.
5246 * libgnat/s-wwdcha.adb: Likewise.
5247 * libgnat/s-wwdcha.ads: Likewise.
5248 * libgnat/s-wwdenu.adb: Likewise.
5249 * libgnat/s-wwdenu.ads: Likewise.
5250 * libgnat/s-wwdwch.adb: Likewise.
5251 * libgnat/s-wwdwch.ads: Likewise.
5252 * libgnat/system-aix.ads: Likewise.
5253 * libgnat/system-darwin-arm.ads: Likewise.
5254 * libgnat/system-darwin-ppc.ads: Likewise.
5255 * libgnat/system-darwin-x86.ads: Likewise.
5256 * libgnat/system-djgpp.ads: Likewise.
5257 * libgnat/system-dragonfly-x86_64.ads: Likewise.
5258 * libgnat/system-freebsd.ads: Likewise.
5259 * libgnat/system-hpux-ia64.ads: Likewise.
5260 * libgnat/system-hpux.ads: Likewise.
5261 * libgnat/system-linux-alpha.ads: Likewise.
5262 * libgnat/system-linux-arm.ads: Likewise.
5263 * libgnat/system-linux-hppa.ads: Likewise.
5264 * libgnat/system-linux-ia64.ads: Likewise.
5265 * libgnat/system-linux-m68k.ads: Likewise.
5266 * libgnat/system-linux-mips.ads: Likewise.
5267 * libgnat/system-linux-ppc.ads: Likewise.
5268 * libgnat/system-linux-riscv.ads: Likewise.
5269 * libgnat/system-linux-s390.ads: Likewise.
5270 * libgnat/system-linux-sh4.ads: Likewise.
5271 * libgnat/system-linux-sparc.ads: Likewise.
5272 * libgnat/system-linux-x86.ads: Likewise.
5273 * libgnat/system-lynxos178-ppc.ads: Likewise.
5274 * libgnat/system-lynxos178-x86.ads: Likewise.
5275 * libgnat/system-mingw.ads: Likewise.
5276 * libgnat/system-qnx-aarch64.ads: Likewise.
5277 * libgnat/system-rtems.ads: Likewise.
5278 * libgnat/system-solaris-sparc.ads: Likewise.
5279 * libgnat/system-solaris-x86.ads: Likewise.
5280 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
5281 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
5282 * libgnat/system-vxworks-arm.ads: Likewise.
5283 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
5284 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
5285 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
5286 * libgnat/system-vxworks-e500-vthread.ads: Likewise.
5287 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
5288 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
5289 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
5290 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
5291 * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
5292 * libgnat/system-vxworks-ppc.ads: Likewise.
5293 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
5294 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
5295 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
5296 * libgnat/system-vxworks-x86-vthread.ads: Likewise.
5297 * libgnat/system-vxworks-x86.ads: Likewise.
5298 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
5299 * libgnat/system-vxworks7-aarch64.ads: Likewise.
5300 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
5301 * libgnat/system-vxworks7-arm.ads: Likewise.
5302 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
5303 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
5304 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
5305 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
5306 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
5307 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
5308 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
5309 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
5310 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
5311 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
5312 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
5313 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
5314 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
5316 * live.adb: Likewise.
5317 * live.ads: Likewise.
5318 * locales.c: Likewise.
5319 * make.adb: Likewise.
5320 * make.ads: Likewise.
5321 * make_util.adb: Likewise.
5322 * make_util.ads: Likewise.
5323 * makeusg.adb: Likewise.
5324 * makeusg.ads: Likewise.
5325 * mdll-fil.adb: Likewise.
5326 * mdll-fil.ads: Likewise.
5327 * mdll-utl.adb: Likewise.
5328 * mdll-utl.ads: Likewise.
5329 * mdll.adb: Likewise.
5330 * mdll.ads: Likewise.
5331 * mingw32.h: Likewise.
5332 * mkdir.c: Likewise.
5333 * namet-sp.adb: Likewise.
5334 * namet-sp.ads: Likewise.
5335 * namet.adb: Likewise.
5336 * namet.ads: Likewise.
5337 * namet.h: Likewise.
5338 * nlists.adb: Likewise.
5339 * nlists.ads: Likewise.
5340 * nlists.h: Likewise.
5341 * opt.adb: Likewise.
5342 * opt.ads: Likewise.
5343 * osint-b.adb: Likewise.
5344 * osint-b.ads: Likewise.
5345 * osint-c.adb: Likewise.
5346 * osint-c.ads: Likewise.
5347 * osint-l.adb: Likewise.
5348 * osint-l.ads: Likewise.
5349 * osint-m.adb: Likewise.
5350 * osint-m.ads: Likewise.
5351 * osint.adb: Likewise.
5352 * osint.ads: Likewise.
5353 * output.adb: Likewise.
5354 * output.ads: Likewise.
5355 * par-ch10.adb: Likewise.
5356 * par-ch11.adb: Likewise.
5357 * par-ch12.adb: Likewise.
5358 * par-ch13.adb: Likewise.
5359 * par-ch2.adb: Likewise.
5360 * par-ch3.adb: Likewise.
5361 * par-ch4.adb: Likewise.
5362 * par-ch5.adb: Likewise.
5363 * par-ch6.adb: Likewise.
5364 * par-ch7.adb: Likewise.
5365 * par-ch8.adb: Likewise.
5366 * par-ch9.adb: Likewise.
5367 * par-endh.adb: Likewise.
5368 * par-labl.adb: Likewise.
5369 * par-load.adb: Likewise.
5370 * par-prag.adb: Likewise.
5371 * par-sync.adb: Likewise.
5372 * par-tchk.adb: Likewise.
5373 * par-util.adb: Likewise.
5374 * par.adb: Likewise.
5375 * par.ads: Likewise.
5376 * par_sco.adb: Likewise.
5377 * par_sco.ads: Likewise.
5378 * pprint.adb: Likewise.
5379 * pprint.ads: Likewise.
5380 * prep.adb: Likewise.
5381 * prep.ads: Likewise.
5382 * prepcomp.adb: Likewise.
5383 * prepcomp.ads: Likewise.
5384 * put_scos.adb: Likewise.
5385 * put_scos.ads: Likewise.
5386 * raise-gcc.c: Likewise.
5387 * raise.c: Likewise.
5388 * raise.h: Likewise.
5389 * repinfo-input.adb: Likewise.
5390 * repinfo-input.ads: Likewise.
5391 * repinfo.adb: Likewise.
5392 * repinfo.ads: Likewise.
5393 * repinfo.h: Likewise.
5394 * restrict.adb: Likewise.
5395 * restrict.ads: Likewise.
5396 * rident.ads: Likewise.
5397 * rtfinal.c: Likewise.
5398 * rtinit.c: Likewise.
5399 * rtsfind.adb: Likewise.
5400 * rtsfind.ads: Likewise.
5401 * runtime.h: Likewise.
5402 * s-oscons-tmplt.c: Likewise.
5403 * sa_messages.adb: Likewise.
5404 * sa_messages.ads: Likewise.
5405 * scans.adb: Likewise.
5406 * scans.ads: Likewise.
5407 * scil_ll.adb: Likewise.
5408 * scil_ll.ads: Likewise.
5409 * scn.adb: Likewise.
5410 * scn.ads: Likewise.
5411 * scng.adb: Likewise.
5412 * scng.ads: Likewise.
5413 * scos.adb: Likewise.
5414 * scos.ads: Likewise.
5416 * sdefault.ads: Likewise.
5417 * seh_init.c: Likewise.
5418 * sem.adb: Likewise.
5419 * sem.ads: Likewise.
5420 * sem_aggr.adb: Likewise.
5421 * sem_aggr.ads: Likewise.
5422 * sem_attr.adb: Likewise.
5423 * sem_attr.ads: Likewise.
5424 * sem_aux.adb: Likewise.
5425 * sem_aux.ads: Likewise.
5426 * sem_case.adb: Likewise.
5427 * sem_case.ads: Likewise.
5428 * sem_cat.adb: Likewise.
5429 * sem_cat.ads: Likewise.
5430 * sem_ch10.adb: Likewise.
5431 * sem_ch10.ads: Likewise.
5432 * sem_ch11.adb: Likewise.
5433 * sem_ch11.ads: Likewise.
5434 * sem_ch12.adb: Likewise.
5435 * sem_ch12.ads: Likewise.
5436 * sem_ch13.adb: Likewise.
5437 * sem_ch13.ads: Likewise.
5438 * sem_ch2.adb: Likewise.
5439 * sem_ch2.ads: Likewise.
5440 * sem_ch3.adb: Likewise.
5441 * sem_ch3.ads: Likewise.
5442 * sem_ch4.adb: Likewise.
5443 * sem_ch4.ads: Likewise.
5444 * sem_ch5.adb: Likewise.
5445 * sem_ch5.ads: Likewise.
5446 * sem_ch6.adb: Likewise.
5447 * sem_ch6.ads: Likewise.
5448 * sem_ch7.adb: Likewise.
5449 * sem_ch7.ads: Likewise.
5450 * sem_ch8.adb: Likewise.
5451 * sem_ch8.ads: Likewise.
5452 * sem_ch9.adb: Likewise.
5453 * sem_ch9.ads: Likewise.
5454 * sem_dim.adb: Likewise.
5455 * sem_dim.ads: Likewise.
5456 * sem_disp.adb: Likewise.
5457 * sem_disp.ads: Likewise.
5458 * sem_dist.adb: Likewise.
5459 * sem_dist.ads: Likewise.
5460 * sem_elab.adb: Likewise.
5461 * sem_elab.ads: Likewise.
5462 * sem_elim.adb: Likewise.
5463 * sem_elim.ads: Likewise.
5464 * sem_eval.adb: Likewise.
5465 * sem_eval.ads: Likewise.
5466 * sem_intr.adb: Likewise.
5467 * sem_intr.ads: Likewise.
5468 * sem_mech.adb: Likewise.
5469 * sem_mech.ads: Likewise.
5470 * sem_prag.adb: Likewise.
5471 * sem_prag.ads: Likewise.
5472 * sem_res.adb: Likewise.
5473 * sem_res.ads: Likewise.
5474 * sem_scil.adb: Likewise.
5475 * sem_scil.ads: Likewise.
5476 * sem_smem.adb: Likewise.
5477 * sem_smem.ads: Likewise.
5478 * sem_type.adb: Likewise.
5479 * sem_type.ads: Likewise.
5480 * sem_util.adb: Likewise.
5481 * sem_util.ads: Likewise.
5482 * sem_warn.adb: Likewise.
5483 * sem_warn.ads: Likewise.
5484 * set_targ.adb: Likewise.
5485 * set_targ.ads: Likewise.
5486 * sfn_scan.adb: Likewise.
5487 * sfn_scan.ads: Likewise.
5488 * sigtramp-armdroid.c: Likewise.
5489 * sigtramp-ios.c: Likewise.
5490 * sigtramp-qnx.c: Likewise.
5491 * sigtramp-vxworks.c: Likewise.
5492 * sigtramp.h: Likewise.
5493 * sinfo-cn.adb: Likewise.
5494 * sinfo-cn.ads: Likewise.
5495 * sinfo.adb: Likewise.
5496 * sinfo.ads: Likewise.
5497 * sinput-c.adb: Likewise.
5498 * sinput-c.ads: Likewise.
5499 * sinput-d.adb: Likewise.
5500 * sinput-d.ads: Likewise.
5501 * sinput-l.adb: Likewise.
5502 * sinput-l.ads: Likewise.
5503 * sinput.adb: Likewise.
5504 * sinput.ads: Likewise.
5505 * snames.adb-tmpl: Likewise.
5506 * snames.ads-tmpl: Likewise.
5507 * socket.c: Likewise.
5508 * spark_xrefs.adb: Likewise.
5509 * spark_xrefs.ads: Likewise.
5510 * sprint.adb: Likewise.
5511 * sprint.ads: Likewise.
5512 * stand.ads: Likewise.
5513 * stringt.adb: Likewise.
5514 * stringt.ads: Likewise.
5515 * stringt.h: Likewise.
5516 * style.adb: Likewise.
5517 * style.ads: Likewise.
5518 * styleg.adb: Likewise.
5519 * styleg.ads: Likewise.
5520 * stylesw.adb: Likewise.
5521 * stylesw.ads: Likewise.
5522 * switch-b.adb: Likewise.
5523 * switch-b.ads: Likewise.
5524 * switch-c.adb: Likewise.
5525 * switch-c.ads: Likewise.
5526 * switch-m.adb: Likewise.
5527 * switch-m.ads: Likewise.
5528 * switch.adb: Likewise.
5529 * switch.ads: Likewise.
5530 * sysdep.c: Likewise.
5531 * table.adb: Likewise.
5532 * table.ads: Likewise.
5533 * targext.c: Likewise.
5534 * targparm.adb: Likewise.
5535 * targparm.ads: Likewise.
5536 * tbuild.adb: Likewise.
5537 * tbuild.ads: Likewise.
5538 * tempdir.adb: Likewise.
5539 * tempdir.ads: Likewise.
5540 * terminals.c: Likewise.
5541 * tracebak.c: Likewise.
5542 * treepr.adb: Likewise.
5543 * treepr.ads: Likewise.
5544 * ttypes.ads: Likewise.
5545 * types.adb: Likewise.
5546 * types.ads: Likewise.
5547 * types.h: Likewise.
5548 * uintp.adb: Likewise.
5549 * uintp.ads: Likewise.
5550 * uintp.h: Likewise.
5551 * uname.adb: Likewise.
5552 * uname.ads: Likewise.
5553 * urealp.adb: Likewise.
5554 * urealp.ads: Likewise.
5555 * urealp.h: Likewise.
5556 * usage.adb: Likewise.
5557 * usage.ads: Likewise.
5558 * validsw.adb: Likewise.
5559 * validsw.ads: Likewise.
5560 * vast.adb: Likewise.
5561 * vast.ads: Likewise.
5562 * warnsw.adb: Likewise.
5563 * warnsw.ads: Likewise.
5564 * widechar.adb: Likewise.
5565 * widechar.ads: Likewise.
5566 * xeinfo.adb: Likewise.
5567 * xnmake.adb: Likewise.
5568 * xoscons.adb: Likewise.
5569 * xr_tabls.adb: Likewise.
5570 * xr_tabls.ads: Likewise.
5571 * xref_lib.adb: Likewise.
5572 * xref_lib.ads: Likewise.
5573 * xsinfo.adb: Likewise.
5574 * xsnamest.adb: Likewise.
5575 * xtreeprs.adb: Likewise.
5576 * xutil.adb: Likewise.
5577 * xutil.ads: Likewise.
5579 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5581 * exp_dist.adb (Build_From_Any_Call): Remove initial value for
5583 (Build_To_Any_Call): Remove initial value for Fnam.
5584 (Build_TypeCode_Call): Likewise.
5586 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5588 * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
5589 exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb,
5590 sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb,
5591 sem_util.adb: Replace calls to RTE with Is_RTE.
5593 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5595 * sem_ch4.adb (Try_Object_Operation): Reuse local constant.
5597 2021-05-03 Ed Schonberg <schonberg@adacore.com>
5599 * sem_ch4.adb (Try_Object_Operation): When a prefixed call is
5600 overloaded and illegal, and the All_Errors flag is off, generate
5601 an error message if the re-analysis of some candidate
5602 interpretation fails to produce one.
5604 2021-05-03 Dmitriy Anisimkov <anisimko@adacore.com>
5606 * libgnat/g-casuti.adb: Replace with "pragma No_Body".
5607 * libgnat/g-casuti.ads: Replace with a package renaming.
5609 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5611 * sem_attr.adb (Check_Program_Unit): Fix references to
5612 Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
5615 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5617 * sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind
5618 and Protected_Kind with a collective test for Concurrent_Kind;
5619 likewise, replace calls to Is_Task_Type and Is_Protected_Type
5620 with a collective call to Is_Concurrent_Type; simplify into a
5621 single membership test; add missing Entry_Kind alternative.
5623 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5625 * sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error
5627 * sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced
5629 * sem_elim.adb (Eliminate_Error_Msg): Add insertion character.
5631 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5633 * freeze.adb (Freeze_Profile): Replace Error_Msg_NE with
5634 Error_Msg_N; change to continuation message.
5635 * sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace
5636 calls to Error_Msg_NE with calls to Error_Msg_N.
5638 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5640 * exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb,
5641 sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
5642 sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
5643 sem_res.adb: Remove extra leading and trailing space in error
5646 2021-05-03 Arnaud Charlet <charlet@adacore.com>
5648 * sem_prag.adb (Set_Exported): Do not warn on exporting a type.
5650 2021-05-03 Ed Schonberg <schonberg@adacore.com>
5652 * sem_warn.adb (Check_References): Do not emit warning on a
5653 selected component when enclosing type has no discriminant and
5654 type of component has partial initialization.
5656 2021-05-03 Justin Squirek <squirek@adacore.com>
5658 * contracts.adb (Build_Postconditions_Procedure): Remove
5659 internally generated if statement used to control finalization
5661 * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
5662 Expand_Simple_Function_Return): Add if statement around
5663 _postconditions to control finalization.
5664 * exp_ch7.adb (Build_Finalizer): Likewise.
5665 * sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to
5666 handle Context itself being a handled sequence of statements.
5668 2021-05-03 Justin Squirek <squirek@adacore.com>
5670 * sem_util.adb (In_Return_Value): Modified to detect when
5671 implicit dereference is specified on the return type of a
5672 function call within the expression being checked.
5674 2021-05-03 Ed Schonberg <schonberg@adacore.com>
5676 * exp_aggr.adb (Expand_Array_Aggregate): If the parent node of
5677 the aggregate is a subprogram call there is no target in which
5678 to build the aggregate, and it has to be expanded into component
5681 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5683 * exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments;
5684 remove periods after single-line comments; use procedural
5685 variant of Next_Entity.
5686 * gnat_cuda.adb: Refill comments; remove periods after
5687 single-line comments; replace calls to UI_From_Int with
5688 constants; change iteration bounds so they match the comments.
5689 * sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma
5690 CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global
5691 with Check_Arg_Count; sync comment with code for CUDA_Global.
5693 2021-05-03 Arnaud Charlet <charlet@adacore.com>
5695 * tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction
5696 checking on dead paths.
5698 2021-05-03 Arnaud Charlet <charlet@adacore.com>
5700 * sem_util.adb (Check_Result_And_Post_State): Replace custom
5701 Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter
5702 flag which corresponds exactly to what we need.
5704 2021-05-03 Arnaud Charlet <charlet@adacore.com>
5706 * libgnat/a-ztcoio.adb: Remove unused with clause.
5708 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
5710 * sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment.
5711 (Resolve_Aspect_Expressions): Fix typo in comment; remove
5712 redundant check for no aspects; simplify with Discard_Node.
5714 2021-05-03 Ed Schonberg <schonberg@adacore.com>
5716 * sem_util.adb (Build_Constrained_Itype): Remove prior patch,
5717 issue is better handled in Sem_Ch13.Build_Predicate_Functions.
5718 * sem_ch13.adb (Build_Predicate_Functions): Do not build
5719 predicate function for an Itype with a defined
5720 Predicated_Parent, even if that designated parent does not yet
5721 have a Predicate_Function. This can happen in instance bodies
5722 nested within a generic unit.
5724 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5726 * exp_attr.adb (Expand_N_Attribute_Reference)
5727 <Attribute_Max_Size_In_Storage_Elements>: Apply the checks for
5728 universal integer contexts only in the default case.
5729 * exp_ch4.adb (Get_Size_For_Range): Move to library level.
5730 (Expand_N_Type_Conversion): If the operand has Universal_Integer
5731 type and the conversion requires an overflow check, try to do an
5732 intermediate conversion to a narrower type.
5734 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5736 * sem_ch3.adb (Check_Anonymous_Access_Component): Factor out
5737 core processing of Check_Anonymous_Access_Components.
5738 (Check_Anonymous_Access_Components): Call
5739 Check_Anonymous_Access_Component.
5740 (Process_Discriminants): Call Check_Anonymous_Access_Component.
5741 * freeze.adb (Freeze_Record_Type): Code cleanups and add more tree
5742 checking to handle changes in sem_ch3.adb.
5743 * sem_ch8.adb (Find_Type): Remove special case for access
5744 discriminant in task types, these are now supported.
5746 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5748 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove
5750 (Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left
5751 operand before doing the special overflow expansion.
5752 (Expand_N_Op_Eq): Likewise.
5753 (Expand_N_Op_Ge): Likewise.
5754 (Expand_N_Op_Gt): Likewise.
5755 (Expand_N_Op_Le): Likewise.
5756 (Expand_N_Op_Lt): Likewise.
5757 (Expand_N_Op_Ne): Likewise.
5758 (Minimized_Eliminated_Overflow_Check): Return False for Minimized
5759 if the size of the type is greater than that of Long_Long_Integer.
5761 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5763 * exp_ch5.adb (Expand_N_If_Statement): Only perform the
5764 simplification on return True/False for internal nodes when
5765 -fpreserve-control-flow is not set.
5767 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5769 * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Use
5770 Round_Even instead of Round in the call to the Machine routine.
5772 2021-04-29 Bob Duff <duff@adacore.com>
5774 * sem_attr.adb (Analyze_Attribute): Change "$" to "&".
5775 Otherwise, Errout will trip over an uninitialized (invalid)
5776 variable (Error_Msg_Unit_1).
5778 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5780 * libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero
5781 when the precision limit is reached by means of trailing zeros
5782 and prevent it from being overwritten later.
5784 2021-04-29 Yannick Moy <moy@adacore.com>
5786 * errout.adb (Output_Messages): Insert SGR strings where needed.
5787 * erroutc.adb (Output_Message_Txt): Insert SGR strings where
5788 needed in the text of the message itself.
5789 (Output_Msg_Text): Allow for style message not to start
5791 * erroutc.ads: Add new constants and functions to control colors
5792 in messages output to the terminal. Add variable Use_SGR_Control
5793 that should be set to True for using SGR color control strings.
5795 2021-04-29 Yannick Moy <moy@adacore.com>
5797 * sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply
5798 compile-time checking for overflows in non-static contexts
5799 including inlined code.
5800 (Eval_Arithmetic_Op): Use the new procedure.
5801 (Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure.
5803 2021-04-29 Justin Squirek <squirek@adacore.com>
5805 * checks.adb (Apply_Type_Conversion_Checks): Move out constraint
5806 check generation, and add case for general access types with
5808 (Make_Discriminant_Constraint_Check): Created to centralize
5809 generation of constraint checks for stored discriminants.
5811 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5813 * gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration
5814 type if the maximum integer size is lower than 64 bits.
5816 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5818 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files.
5819 (ADA_INCLUDE_SRCS): Remove libgnat/system.ads
5821 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5823 * exp_aggr.adb (Collect_Initialization_Statements): Removed.
5824 (Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix
5825 creation and insertion of Initialization_Statements. Do not set
5826 Initialization_Statements when a transient scope is involved.
5827 Move processing of Array_Slice here. Ensure that an object with
5828 an Array_Slice call gets its array component initialized. Add
5830 * exp_ch7.adb: Update comments.
5831 (Store_Actions_In_Scope): Deal properly with an empty list which
5832 might now be generated by Convert_Aggr_In_Object_Decl.
5833 * exp_ch3.adb: Update comments.
5834 (Expand_N_Object_Declaration): Remove processing of Array_Slice.
5836 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5838 * sem_ch8.adb (Analyze_Object_Renaming): Update check for
5841 2021-04-29 Patrick Bernardi <bernardi@adacore.com>
5843 * libgnat/s-stoele.ads (Storage_Offset): Cleanup comment.
5845 2021-04-29 Gary Dismukes <dismukes@adacore.com>
5847 * exp_util.adb (Add_Own_DIC): Relax the suppression of adding a
5848 DIC Check pragma that's done for abstract types by still doing
5849 it in the case where GNATprove_Mode is set.
5851 2021-04-29 Joel Brobecker <brobecker@adacore.com>
5853 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads,
5854 s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads.
5856 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
5858 * layout.adb (Layout_Type): Refine type of a local variable with
5859 the required size of object from Int to Pos (it is initialized
5860 with 8 and only multiplied by 2); fix unbalanced parens in
5863 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5865 * eval_fat.adb (Succ): Use Ureal_Half in a couple of places.
5867 2021-04-29 Ed Schonberg <schonberg@adacore.com>
5869 * sem_util.adb (Build_Constrained_Itype): Inhibit the generation
5870 of predicate functions for this Itype, which is created for an
5871 aggregate of a discriminated type. The object to which the
5872 aggregate is assigned, e.g a writable actual parameter, will
5873 apply the predicates if any are inherited from the base type.
5875 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
5877 * sem_cat.adb (Set_Categorization_From_Pragmas): Remove special
5878 case for generic child units; remove optimization for empty list
5879 of pragmas; properly restore visibility.
5881 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
5883 * sem_elab.adb (Process_SPARK_Instantiation): Fix typo in
5885 * sem_prag.adb (Find_Related_Context): Add missing reference to
5886 No_Caching in the comment; handle pragmas on compilation units.
5888 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
5890 * doc/gnat_rm/implementation_defined_attributes.rst: Change all
5891 occurrences of "permissible prefix" to "allowed prefix", for
5893 * gnat_rm.texi: Regenerate.
5895 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5897 * eval_fat.adb (Succ): Add a special case for zero if the type does
5898 not support denormalized numbers. Always use the canonical formula
5899 in other cases and add commentary throughout the function.
5901 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
5903 * libgnat/s-fatgen.adb: Remove with clause for Interfaces and
5904 use type clauses for Interfaces.Unsigned_{16,32,64}.
5907 (Small64): Likewise.
5908 (Small80): Likewise.
5913 (Siz): Always use 16.
5915 (Rep_Last): Use it in the computation.
5916 (Exp_Factor): Remove special case for 80-bit.
5917 (Sign_Mask): Likewise.
5918 (Finite_Succ): New function implementing the Succ attribute for
5920 (Pred): Rewrite in terms of Finite_Succ.
5923 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5925 * debug_a.adb (Debug_Output_Astring): Remove obsolete comment.
5927 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5929 * sem_attr.adb (Check_Image_Type): Protect against empty
5932 2021-04-29 Arnaud Charlet <charlet@adacore.com>
5934 * libgnat/a-nbnbin.ads (From_Universal_Image): New.
5935 (Big_Integer): Update definition.
5936 * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb
5937 (From_Universal_Image): New.
5938 (From_String): Remove alternate body, replaced by
5939 From_Universal_Image.
5940 (Big_Real): Update definition.
5942 2021-04-29 Gary Dismukes <dismukes@adacore.com>
5944 * sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features
5945 restriction for 'Class applied to an untagged incomplete
5946 type (when Ada_Version >= Ada_2005). Remove disabling of the
5947 warning message for such usage, along with the ??? comment,
5948 which no longer applies (because the -gnatg switch no longer
5949 sets Warn_On_Obsolescent_Feature).
5951 2021-04-29 Yannick Moy <moy@adacore.com>
5953 * errout.adb (Error_Msg_NEL): Extract span from node.
5954 (First_And_Last_Nodes): Use spans for subtype indications and
5955 attribute definition clauses.
5956 (Write_Source_Code_Lines): Fix for tabulation characters. Change
5957 output for large spans to skip intermediate lines.
5958 * sem_case.adb (Check_Choice_Set): Report duplicate choice on
5959 the Original_Node for the case.
5960 (Generic_Check_Choices): Set the Original_Node for the rewritten
5961 case, so that the subtree used in spans has the correct
5964 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
5966 * sem_ch13.adb, sem_util.adb: Fix style.
5968 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
5970 * nlists.ads (List_Length): Adapt comment to match the
5973 2021-04-28 Arnaud Charlet <charlet@adacore.com>
5975 * sem_eval.adb (Eval_Selected_Component): Only consider compile
5976 time known aggregates.
5978 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
5980 * libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16
5981 and Interfaces.Unsigned_32.
5982 (Small16): New constant.
5983 (Small32): Likewise.
5984 (Small64): Likewise.
5985 (Small80): Likewise.
5986 (Pred): Declare a local overlay for Small and return it negated
5987 for zero if the type does not support denormalized numbers.
5988 (Succ): Likewise, but return it directly.
5990 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
5992 * inline.adb (Formal_Is_Used_Once): Refine type of the counter
5993 variable; remove redundant assignment.
5995 2021-04-28 Patrick Bernardi <bernardi@adacore.com>
5997 * libgnarl/s-interr.adb (Install_Restricted_Handlers): Change
5998 Prio parameter to type Interrupt_Priority.
5999 * libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise.
6000 * libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers):
6002 * libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers):
6004 * libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers):
6006 * libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers):
6009 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6011 * sem_type.ads (Write_Interp_Ref): Removed; no longer needed.
6012 * sem_type.adb (Headers): Removed; now the hash table is
6013 directly in the Interp_Map alone.
6014 (Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable.
6015 (Last_Overloaded): New variable to emulate Interp_Map.Last.
6016 (Add_One_Interp): Adapt to new data structure.
6017 (Get_First_Interp): Likewise.
6019 (Init_Interp_Tables): Likewise.
6020 (New_Interps): Likewise.
6021 (Save_Interps): Likewise; handle O_N variable like in
6023 (Write_Interp_Ref): Removed; no longer needed.
6025 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6027 * inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc.
6029 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6031 * sem_ch13.adb (Analyze_Aspect_Static): Reuse
6032 Error_Msg_Ada_2020_Feature for aspect Static.
6033 (Analyze_One_Aspect): Likewise for aspect Full_Access.
6035 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6037 * sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a
6038 single check for the expression being present; adapt comments.
6040 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6042 * sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the
6045 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6047 * sem_eval.adb (Eval_Selected_Component): Simplify with
6050 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
6052 * libgnat/s-valrea.adb (Fast2Sum): New function.
6053 (Integer_to_Real): Use it in an iterated addition with exact
6054 error handling for the case where an extra digit is needed.
6055 Move local variable now only used in the exponentiation case.
6057 2021-04-28 Yannick Moy <moy@adacore.com>
6059 * errout.adb: (Error_Msg_Internal): Use span instead of
6061 (Error_Msg, Error_Msg_NEL): Add versions with span parameter.
6062 (Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE,
6063 Error_Msg_NW): Retrieve span from node.
6064 (First_Node): Use the new First_And_Last_Nodes.
6065 (First_And_Last_Nodes): Expand on previous First_Node. Apply to
6066 other nodes than expressions.
6067 (First_Sloc): Protect against inconsistent locations.
6068 (Last_Node): New function based on First_And_Last_Nodes.
6069 (Last_Sloc): New function similar to First_Sloc.
6070 (Output_Messages): Update output when -gnatdF is used. Use
6071 character ~ for making the span visible, similar to what is done
6073 * errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span
6075 (First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms.
6076 * erroutc.adb: Adapt to Sptr field being a span.
6077 * erroutc.ads (Error_Msg_Object): Change field Sptr from
6079 * errutil.adb: Adapt to Sptr field being a span.
6080 * freeze.adb: Use Errout reporting procedures for nodes to get
6082 * par-ch3.adb: Likewise.
6083 * par-prag.adb: Likewise.
6084 * par-util.adb: Likewise.
6085 * sem_case.adb: Likewise.
6086 * sem_ch13.adb: Likewise.
6087 * sem_ch3.adb: Likewise.
6088 * sem_prag.adb: Likewise.
6089 * types.ads: (Source_Span): New type for spans.
6090 (To_Span): Basic constructors for spans.
6092 2021-04-28 Arnaud Charlet <charlet@adacore.com>
6094 * einfo.adb (Discriminant_Constraint): Refine assertion.
6096 2021-04-28 Gary Dismukes <dismukes@adacore.com>
6098 * exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma
6099 when the pragma occurs for an abstract type, since that could
6100 lead to a call to an abstract function, and such DIC checks can
6101 never be performed for abstract types in any case.
6102 * sem_disp.adb (Check_Dispatching_Context): Suppress the check
6103 for illegal calls to abstract subprograms when the call occurs
6104 within a Default_Initial_Condition aspect and the call is passed
6105 the current instance as an actual.
6106 (Has_Controlling_Current_Instance_Actual): New function to test
6107 a call to see if it has any actuals given by direct references
6108 to a current instance of a type
6109 * sem_res.adb (Resolve_Actuals): Issue an error for a call
6110 within a DIC aspect to a nonprimitive subprogram with an actual
6111 given by the name of the DIC type's current instance (which will
6112 show up as a reference to the formal parameter of a DIC
6115 2021-04-28 Ed Schonberg <schonberg@adacore.com>
6117 * exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
6118 the type extension when within a generic unit, even though
6119 expansion is disabled, to allow for proper resolution of
6120 selected components inherited from an ancestor.
6122 2021-04-28 Arnaud Charlet <charlet@adacore.com>
6124 * sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type
6125 before assuming Ent is a typo.
6126 * sem_ch4.adb (Analyze_Expression_With_Actions): Update
6127 comments, minor reformatting.
6128 * sem_res.adb (Resolve_Declare_Expression): Add protection
6131 2021-04-28 Arnaud Charlet <charlet@adacore.com>
6133 * exp_ch6.adb: Fix typo in comment.
6134 * sem_ch3.adb (Access_Subprogram_Declaration): Add missing call
6135 to Create_Extra_Formals. Remove obsolete bootstrap check.
6136 * sem_eval.adb (Eval_Selected_Component): Simplify a
6137 selected_component on an aggregate.
6139 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6141 * fmap.ads (Reset_Tables): Remove outdated references to
6143 * sem_eval.ads (Initialize): Likewise.
6144 * sem_type.adb (Headers): Remove initialization at elaboration.
6145 * sem_type.ads (Init_Interp_Tables): Remove outdated reference
6147 * stringt.ads (Initialize): Fix style in comment.
6149 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6151 * sem_res.ads: Update reference in comment.
6152 * sem_type.ads: Fix casing in a name of a unit.
6154 2021-04-28 Yannick Moy <moy@adacore.com>
6156 * ghost.adb (Check_Ghost_Context): Add continuation message when
6159 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
6161 * libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num
6162 for the component type of the table of powers of ten.
6163 * libgnat/s-valuer.adb (Round_Extra): Add assertion on Base.
6165 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6167 * sem_ch5.adb (Analyze_Case_Statement): Extend optimization to
6168 all objects; fix typo in comment.
6170 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
6172 * exp_ch9.adb (Build_Barrier_Function): Refine type of a
6173 protected type entity.
6174 (Is_Pure_Barrier): Fix style.
6176 2021-04-28 Bob Duff <duff@adacore.com>
6178 * exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code,
6179 and always use OK_Convert_To, rather than Unchecked_Convert_To
6182 2021-04-28 Arnaud Charlet <charlet@adacore.com>
6184 * sem_ch3.adb (Analyze_Object_Declaration): Remove dead code.
6185 * ali.ads, ali.adb (Scan_ALI): Remove unused parameters.
6186 Remove unused code related to Xref lines.
6187 (Get_Typeref): Removed, no longer used.
6189 2021-04-28 Arnaud Charlet <charlet@adacore.com>
6191 * exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func,
6192 Expand_N_Attribute_Reference): Use Get_Fullest_View instead of
6194 (Build_Record_VS_Func): Adjust to keep using Validated_View.
6195 (Expand_N_Attribute_Reference) [Valid]: Use
6196 Small_Integer_Type_For to allow for more compile time
6198 * sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise
6199 support for N_Indexed_Component and fix support for
6200 N_Selected_Component which wasn't completely safe.
6201 (List_Cannot_Raise_CE): New.
6202 * libgnat/i-cobol.adb (Valid_Packed): Simplify test to address
6205 2021-04-28 Arnaud Charlet <charlet@adacore.com>
6208 * doc/share/conf.py: Add Python 3 compatibility.
6209 * doc/share/gnat.sty: Add missing file.
6211 2021-04-28 Richard Wai <richard@annexi-strayline.com>
6213 * libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor
6214 type definition to be consistent with identical definitions in other
6215 container packages. Add additional comments regarding the importance of
6216 maintaining the "Position" component for predefined equality.
6217 * libgnat/a-cohama.ads (Cursor): Likewise.
6218 * libgnat/a-cihama.ads (Cursor): Likewise.
6219 * libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects
6220 always have their "Position" component set to ensure predefined
6221 equality works as required.
6222 * libgnat/a-cohama.adb (Find, Insert): Likewise.
6223 * libgnat/a-cihama.adb (Find, Insert): Likewise.
6225 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
6227 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a
6228 const or pure function because of a parameter whose type is pointer
6230 * gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion
6231 between an actual and a formal that are unconstrained array types.
6232 (gnat_gimplify_expr) <CALL_EXPR>: New case.
6233 * gcc-interface/utils2.c (build_binary_op): Do not use |= operator.
6234 (gnat_stabilize_reference_1): Likewise.
6235 (gnat_rewrite_reference): Likewise.
6236 (build_unary_op): Do not clear existing TREE_CONSTANT on the result.
6237 (gnat_build_constructor): Also accept the address of a constant
6238 CONSTRUCTOR as constant element.
6240 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
6242 * gcc-interface/trans.c (is_array_of_scalar_type): New predicate.
6243 (find_decls_r): New function.
6244 (return_slot_opt_for_pure_call_p): New predicate.
6245 (Call_to_gnu): Do not create a temporary for the return value if the
6246 parent node is an aggregate. If there is a target, try to apply the
6247 return slot optimization to regular calls to pure functions returning
6248 an array of scalar type.
6250 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
6252 * gcc-interface/trans.c (language_function): Add comment.
6253 (loop_info_d): Add fndecl and invariants fields.
6254 (find_loop_for): Test fndecl instead of the context of var.
6255 (find_loop): New function.
6256 (Regular_Loop_to_gnu): Fold back into...
6257 (Loop_Statement_to_gnu): ...this. Emit invariants on entry, if any.
6258 (gnat_to_gnu) <N_Selected_Component>: Record nonconstant invariant
6259 offset computations in loops when optimization is enabled.
6260 * gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR.
6262 2021-04-20 Martin Liska <mliska@suse.cz>
6264 * gnatvsn.ads: Bump Library_Version to 12.
6266 2021-04-13 Eric Botcazou <ebotcazou@adacore.com>
6268 * gcc-interface/misc.c (gnat_init): Set default range bits to 0.
6269 * gcc-interface/trans.c (extract_encoding): Delete.
6270 (decode_name): Likewise.
6271 (File_Name_to_gnu): New function.
6272 (gigi): Call it to translate file names. Replace assertion on
6273 1-1 mapping between files and line maps with conditional error.
6275 2021-04-11 Gerald Pfeifer <gerald@pfeifer.com>
6277 * gnat_ugn.texi (Top): Avoid invalid "up" link.
6279 2021-03-29 Eric Botcazou <ebotcazou@adacore.com>
6282 * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
6283 on the name of an N_Assignment_Statement to spot full access.
6285 2021-03-10 Eric Botcazou <ebotcazou@adacore.com>
6287 * gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
6288 for the main variant of an enumeration type declared as volatile.
6290 2021-03-09 Mikael Pettersson <mikpelinux@gmail.com>
6292 * raise-gcc.c: On Cygwin include mingw32.h to prevent
6293 windows.h from including x86intrin.h or emmintrin.h.
6295 2021-03-05 Eric Botcazou <ebotcazou@adacore.com>
6298 * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
6299 MINSIGSTKSZ and bump size to 32KB.
6300 * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
6302 2021-03-02 Mikael Pettersson <mikpelinux@gmail.com>
6305 * cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.
6307 2021-03-02 Eric Botcazou <ebotcazou@adacore.com>
6310 * sem_ch8.adb (Check_Constrained_Object): Restrict again the special
6311 optimization for limited types to non-array types except in the case
6312 of an extended return statement.
6314 2021-03-02 Eric Botcazou <ebotcazou@adacore.com>
6317 * sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
6318 only if the type is not private.
6320 2021-02-26 YunQiang Su <yunqiang.su@cipunited.com>
6323 * Makefile.rtl: <mips*-*-linux*>
6324 add 128Bit operation file for MIPS N64 and N32 to
6325 LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS
6327 2021-02-12 Arnaud Charlet <charlet@adacore.com>
6329 * repinfo.ads, repinfo.adb (*SO_Ref*): Restore.
6331 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
6333 * gcc-interface/decl.c (components_to_record): If the first component
6334 with rep clause is the _Parent field with variable size, temporarily
6335 set it aside when computing the internal layout of the REP part again.
6336 * gcc-interface/utils.c (finish_record_type): Revert to taking the
6337 maximum when merging sizes for all record types with rep clause.
6338 (merge_sizes): Put SPECIAL parameter last and adjust recursive calls.
6340 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
6342 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
6343 two fields of the fat pointer type addressable, and do not make the
6344 template type read-only.
6345 <E_Record_Type>: If the type has discriminants mark it as may_alias.
6346 * gcc-interface/utils.c (make_dummy_type): Likewise.
6347 (build_dummy_unc_pointer_types): Likewise.
6349 2021-01-26 Marius Hillenbrand <mhillen@linux.ibm.com>
6352 * gcc-interface/utils.c (maybe_pad_type): Test the size of the new
6353 packable type instead of its alignment for addressability's sake.
6355 2021-01-25 Eric Botcazou <ebotcazou@adacore.com>
6357 * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
6358 of the parameters and do not set TREE_PUBLIC on the thunk.
6359 (maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
6360 * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
6361 of the parameters here...
6362 (begin_subprog_body): ...instead of here.
6364 2021-01-19 Eric Botcazou <ebotcazou@adacore.com>
6367 * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
6369 2021-01-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6372 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
6373 wraplf version of Aux_Long_Long_Float.
6375 2021-01-03 Eric Botcazou <ebotcazou@adacore.com>
6377 * gnatvsn.ads: Bump copyright year.
6379 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6381 * gnat_ugn.texi: Bump @copying's copyright year.
6382 * gnat_rm.texi: Likewise.
6384 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6386 * ChangeLog-2020: Rotate ChangeLog. New file.
6389 Copyright (C) 2021 Free Software Foundation, Inc.
6391 Copying and distribution of this file, with or without modification,
6392 are permitted in any medium without royalty provided the copyright
6393 notice and this notice are preserved.