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