]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
1 2021-10-28 Alexandre Oliva <oliva@adacore.com>
2
3 * doc/gnat_rm/security_hardening_features.rst
4 (Hardened Conditionals): New.
5
6 2021-10-25 Arnaud Charlet <charlet@adacore.com>
7
8 * gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Remove
9 gnatfind and gnatxref.
10
11 2021-10-25 Ed Schonberg <schonberg@adacore.com>
12
13 * sem_ch4.adb (Has_Possible_Literal_Aspects): If analysis of an
14 operator node fails to find a possible interpretation, and one
15 of its operands is a literal or a named number, assign to the
16 node the corresponding class type (Any_Integer, Any_String,
17 etc).
18 (Operator_Check): Call it before emitting a type error.
19 * sem_res.adb (Has_Applicable_User_Defined_Literal): Given a
20 literal and a type, determine whether the type has a
21 user_defined aspect that can apply to the literal, and rewrite
22 the node as call to the corresponding function. Most of the code
23 was previously in procedure Resolve.
24 (Try_User_Defined_Literal): Check operands of a predefined
25 operator that fails to resolve, and apply
26 Has_Applicable_User_Defined_Literal to literal operands if any,
27 to find if a conversion will allow the operator to resolve
28 properly.
29 (Resolve): Call the above when a literal or an operator with a
30 literal operand fails to resolve.
31
32 2021-10-25 Bob Duff <duff@adacore.com>
33
34 * freeze.adb (Freeze_Fixed_Point_Type): Remove
35 previously-inserted test for Uint_0; no longer needed.
36 * gen_il-gen.ads: Improve comments.
37 * repinfo.adb (Rep_Value): Use Ubool type for B.
38 * repinfo.ads (Node_Ref): Use Unegative type.
39 (Node_Ref_Or_Val): Document that values of this type can be
40 No_Uint.
41 * exp_disp.adb (Make_Disp_Requeue_Body): Minor comment fix.
42 * sem_ch3.adb: Likewise.
43 * sem_ch8.adb: Likewise.
44 * sinfo-utils.adb (End_Location): End_Span can never be No_Uint,
45 so remove the "if No (L)" test.
46 * uintp.adb (Image_String): Use "for ... of" loop.
47 * uintp.ads (Unegative): New type for negative integers. We
48 give it a long name (unlike Unat and Upos) because it is rarely
49 used.
50
51 2021-10-25 Etienne Servais <servais@adacore.com>
52
53 * errout.adb (Skip_Msg_Insertion_Warning): Adapt and format as
54 Erroutc.Prescan_Message.Parse_Message_Class.
55 (Warn_Insertion): Adapt to new format.
56 * errout.ads: Update documentation.
57 * erroutc.adb (Get_Warning_Tag): Adapt to new format.
58 (Prescan_Message): Introduce Parse_Message_Class function.
59 (Validate_Specific_Warnings): Update ?W? to ?.w?.
60 * erroutc.ads: Update type and documentation.
61 * checks.adb (Validity_Check_Range): Update ?X? to ?.x?.
62 * exp_ch11.adb (Possible_Local_Raise): Update ?X? to ?.x?.
63 (Warn_If_No_Local_Raise): Likewise.
64 (Warn_If_No_Propagation): Likewise.
65 (Warn_No_Exception_Propagation_Active): Likewise.
66 * exp_ch4.adb (Expand_N_Allocator): Attach warning message to
67 -gnatw_a.
68 * exp_prag.adb (Expand_Pragma_Check): Update ?A? to ?.a?.
69 * exp_util.adb (Activate_Atomic_Synchronization): Update ?N? to
70 ?.n?.
71 (Add_Invariant_Check): Update ?L? to ?.l?.
72 * freeze.adb (Check_Suspicious_Modulus): Update ?M? to ?.m?.
73 (Freeze_Entity): Update ?T? to ?.t?, ?Z? to ?.z?.
74 * par-util.adb (Warn_If_Standard_Redefinition): Update ?K? to
75 ?.k?.
76 * sem_attr.adb (Min_Max): Update ?U? to ?.u?.
77 * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Update ?V?
78 to ?.v?.
79 (Adjust_Record_For_Reverse_Bit_Order_Ada_95): Update ?V? to ?.v?.
80 (Component_Size_Case): Update ?S? to ?.s?.
81 (Analyze_Record_Representation_Clause): Update ?S? to ?.s? and
82 ?C? to ?.c?.
83 (Add_Call): Update ?L? to ?.l?.
84 (Component_Order_Check): Attach warning message to -gnatw_r.
85 (Check_Component_List): Update ?H? to ?.h?.
86 (Set_Biased): Update ?B? to ?.b?.
87 * sem_ch3.adb (Modular_Type_Declaration): Update ?M? to ?.m?.
88 * sem_ch4.adb (Analyze_Mod): Update ?M? to ?.m?.
89 (Analyze_Quantified_Expression): Update ?T? to ?.t?.
90 * sem_ch6.adb (Check_Conformance): Attach warning message to
91 -gnatw_p.
92 (List_Inherited_Pre_Post_Aspects): Update ?L? to ?.l?.
93 * sem_ch7.adb (Unit_Requires_Body_Info): Update ?Y? to ?.y?.
94 * sem_ch8.adb (Analyze_Object_Renaming): Update ?R? to ?.r?.
95 * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Attach
96 warning message to -gnatw_c.
97 * sem_res.adb (Check_Argument_Order): Update ?P? to ?.p?.
98 (Resolve_Comparison_Op): Update ?U? to ?.u?.
99 (Resolve_Range): Update ?U? to ?.u?.
100 (Resolve_Short_Circuit): Update ?A? to ?.a?.
101 (Resolve_Unary_Op): Update ?M? to ?.m?.
102 * sem_util.adb (Check_Result_And_Post_State): Update ?T? to ?.t?.
103 * sem_warn.adb (Output_Unused_Warnings_Off_Warnings): Update ?W?
104 to ?.w?.
105 * warnsw.ads: Update documentation for -gnatw_c.
106
107 2021-10-25 Bob Duff <duff@adacore.com>
108
109 * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Fix
110 comment.
111
112 2021-10-25 Bob Duff <duff@adacore.com>
113
114 * gen_il-gen.adb (Put_Seinfo): Generate type
115 Seinfo.Type_Only_Enum based on type
116 Gen_IL.Internals.Type_Only_Enum. Automatically generating a copy
117 of the type will help keep them in sync. (Note that there are
118 no Ada compiler packages imported into Gen_IL.) Add a Type_Only
119 field to Field_Descriptor, so this information is available in
120 the Ada compiler (as opposed to just in the Gen_IL "compiler").
121 (One_Comp): Add initialization of the Type_Only field of
122 Field_Descriptor.
123 * gen_il-internals.ads (Image): Image function for
124 Type_Only_Enum.
125 * atree.ads (Node_To_Fetch_From): New function to compute which
126 node to fetch from, based on the Type_Only aspect.
127 * atree.adb (Get_Field_Value): Call Node_To_Fetch_From.
128 * treepr.adb (Print_Entity_Field): Call Node_To_Fetch_From.
129 (Print_Node_Field): Assert.
130 * sinfo-utils.adb (Walk_Sinfo_Fields,
131 Walk_Sinfo_Fields_Pairwise): Asserts.
132
133 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
134
135 * exp_ch4.adb (Expand_Composite_Equality): Fix style.
136 (Element_To_Compare): Simplify loop.
137 (Expand_Record_Equality): Adapt calls to Element_To_Compare.
138
139 2021-10-25 Steve Baird <baird@adacore.com>
140
141 * sem_case.adb (Composite_Case_Ops.Box_Value_Required): A new
142 function which takes a component type and returns a Boolean.
143 Returns True for the cases which were formerly forbidden as
144 components (these checks were formerly performed in the
145 now-deleted procedure
146 Check_Composite_Case_Selector.Check_Component_Subtype).
147 (Composite_Case_Ops.Normalized_Case_Expr_Type): Hoist this
148 function out of the Array_Case_Ops package because it has been
149 generalized to also do the analogous thing in the case of a
150 discriminated type.
151 (Composite_Case_Ops.Scalar_Part_Count): Return 0 if
152 Box_Value_Required returns True for the given type/subtype.
153 (Composite_Case_Ops.Choice_Analysis.Choice_Analysis.Component_Bounds_Info.
154 Traverse_Discrete_Parts): Return without doing anything if
155 Box_Value_Required returns True for the given type/subtype.
156 (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
157 If Box_Value_Required yields True for a given component type,
158 then check that the value of that component in a choice
159 expression is indeed a box (in which case the component is
160 ignored).
161 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
162 documentation.
163 * gnat_rm.texi: Regenerate.
164
165 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
166
167 * libgnat/a-nbnbin__gmp.adb (From_String): Fix predicate
168 mismatch between subprogram declaration and body.
169
170 2021-10-25 Bob Duff <duff@adacore.com>
171
172 * einfo-utils.adb (Declaration_Node): Avoid returning the
173 following node kinds: N_Assignment_Statement, N_Integer_Literal,
174 N_Procedure_Call_Statement, N_Subtype_Indication, and
175 N_Type_Conversion. Assert that the result is in N_Is_Decl or
176 empty.
177 * gen_il-gen-gen_nodes.adb (N_Is_Decl): Modify to match the
178 things that Declaration_Node can return.
179
180 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
181
182 * libgnat/a-strsup.ads (Super_Length, Super_Element,
183 Super_Slice): Add Global contracts.
184
185 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
186
187 * exp_ch3.adb (Predefined_Primitive_Bodies): Simplify detection
188 of existing equality operator.
189
190 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
191
192 * exp_ch3.adb (Predefined_Primitive_Bodies): Remove redundant
193 conditions related to interface types.
194
195 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
196
197 * adaint.c (__gnat_portable_spawn): Do not expect execv to
198 return 0.
199 (__gnat_portable_no_block_spawn): Likewise.
200
201 2021-10-25 Ghjuvan Lacambre <lacambre@adacore.com>
202
203 * sem_ch8.adb (Analyze_Subprogram_Renaming): Set New_S to Empty.
204
205 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
206
207 * libgnat/a-strunb.ads (Unbounded_String): Reference is never
208 null.
209 * libgnat/a-strunb.adb (Finalize): Copy reference while it needs
210 to be deallocated.
211
212 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
213
214 * lib-xref.adb (Get_Through_Renamings): Exit loop when an
215 enumeration literal is found.
216
217 2021-10-25 Arnaud Charlet <charlet@adacore.com>
218
219 * libgnat/s-widthu.adb: Add pragma Annotate.
220
221 2021-10-25 Javier Miranda <miranda@adacore.com>
222
223 * sem_ch8.adb (Build_Class_Wide_Wrapper): Previous version split
224 in two subprograms to factorize its functionality:
225 Find_Suitable_Candidate, and Build_Class_Wide_Wrapper. These
226 routines are also placed in the new subprogram
227 Handle_Instance_With_Class_Wide_Type.
228 (Handle_Instance_With_Class_Wide_Type): New subprogram that
229 encapsulates all the code that handles instantiations with
230 class-wide types.
231 (Analyze_Subprogram_Renaming): Adjust code to invoke the new
232 nested subprogram Handle_Instance_With_Class_Wide_Type; adjust
233 documentation.
234
235 2021-10-25 Bob Duff <duff@adacore.com>
236
237 * einfo-utils.ads, einfo-utils.adb (Alias, Set_Alias,
238 Renamed_Entity, Set_Renamed_Entity, Renamed_Object,
239 Set_Renamed_Object): Add assertions that reflect how these are
240 supposed to be used and what they are supposed to return.
241 (Renamed_Entity_Or_Object): New getter.
242 (Set_Renamed_Object_Of_Possibly_Void): Setter that allows N to
243 be E_Void.
244 * checks.adb (Ensure_Valid): Use Renamed_Entity_Or_Object
245 because this is called for both cases.
246 * exp_dbug.adb (Debug_Renaming_Declaration): Use
247 Renamed_Entity_Or_Object because this is called for both cases.
248 Add assertions.
249 * exp_util.adb (Possible_Bit_Aligned_Component): Likewise.
250 * freeze.adb (Freeze_All_Ent): Likewise.
251 * sem_ch5.adb (Within_Function): Likewise.
252 * exp_attr.adb (Calculate_Header_Size): Call Renamed_Entity
253 instead of Renamed_Object.
254 * exp_ch11.adb (Expand_N_Raise_Statement): Likewise.
255 * repinfo.adb (Find_Declaration): Likewise.
256 * sem_ch10.adb (Same_Unit, Process_Spec_Clauses,
257 Analyze_With_Clause, Install_Parents): Likewise.
258 * sem_ch12.adb (Build_Local_Package, Needs_Body_Instantiated,
259 Build_Subprogram_Renaming, Check_Formal_Package_Instance,
260 Check_Generic_Actuals, In_Enclosing_Instance,
261 Denotes_Formal_Package, Process_Nested_Formal,
262 Check_Initialized_Types, Map_Formal_Package_Entities,
263 Restore_Nested_Formal): Likewise.
264 * sem_ch6.adb (Report_Conflict): Likewise.
265 * sem_ch8.adb (Analyze_Exception_Renaming,
266 Analyze_Generic_Renaming, Analyze_Package_Renaming,
267 Is_Primitive_Operator_In_Use, Declared_In_Actual,
268 Note_Redundant_Use): Likewise.
269 * sem_warn.adb (Find_Package_Renaming): Likewise.
270 * sem_elab.adb (Ultimate_Variable): Call Renamed_Object instead
271 of Renamed_Entity.
272 * exp_ch6.adb (Get_Function_Id): Call
273 Set_Renamed_Object_Of_Possibly_Void, because the defining
274 identifer is still E_Void at this point.
275 * sem_util.adb (Function_Call_Or_Allocator_Level): Likewise.
276 Remove redundant (unreachable) code.
277 (Is_Object_Renaming, Is_Valid_Renaming): Call Renamed_Object
278 instead of Renamed_Entity.
279 (Get_Fullest_View): Call Renamed_Entity instead of
280 Renamed_Object.
281 (Copy_Node_With_Replacement): Call
282 Set_Renamed_Object_Of_Possibly_Void because the defining entity
283 is sometimes E_Void.
284 * exp_ch5.adb (Expand_N_Assignment_Statement): Protect a call to
285 Renamed_Object with Is_Object to avoid assertion failure.
286 * einfo.ads: Minor comment fixes.
287 * inline.adb: Minor comment fixes.
288 * tbuild.ads: Minor comment fixes.
289
290 2021-10-25 Arnaud Charlet <charlet@adacore.com>
291
292 * sem_ch13.adb (Build_Discrete_Static_Predicate): Remove use of
293 exception propagation since this code is exercised during the
294 bootstrap.
295
296 2021-10-25 Yannick Moy <moy@adacore.com>
297
298 * sem_ch13.adb (Freeze_Entity_Checks): Perform same check on
299 predicate expression inside pragma as inside aspect.
300 * sem_util.adb (Is_Current_Instance): Recognize possible
301 occurrence of subtype as current instance inside the pragma
302 Predicate.
303
304 2021-10-25 Ghjuvan Lacambre <lacambre@adacore.com>
305
306 * erroutc.adb (Count_Compile_Time_Pragma_Warnings): Don't count
307 deleted warnings.
308
309 2021-10-22 Eric Gallager <egallager@gcc.gnu.org>
310
311 PR other/102663
312 * gcc-interface/Make-lang.in: Allow dvi-formatted
313 documentation to be installed.
314
315 2021-10-20 Bob Duff <duff@adacore.com>
316
317 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove unnecessary
318 call to No_Uint_To_0.
319
320 2021-10-20 Richard Kenner <kenner@adacore.com>
321
322 * exp_unst.adb (Visit_Node, when N_Subprogram_Call): Never treat
323 instrinsic subprograms as nested.
324
325 2021-10-20 Yannick Moy <moy@adacore.com>
326
327 * libgnat/s-widlllu.ads: Mark in SPARK.
328 * libgnat/s-widllu.ads: Likewise.
329 * libgnat/s-widuns.ads: Likewise.
330 * libgnat/s-widthu.adb: Add ghost code and a
331 pseudo-postcondition.
332
333 2021-10-20 Yannick Moy <moy@adacore.com>
334
335 * libgnat/a-nbnbin__ghost.adb (Signed_Conversions,
336 Unsigned_Conversions): Mark subprograms as not imported.
337 * libgnat/a-nbnbin__ghost.ads: Provide a dummy body.
338
339 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
340
341 * sem_eval.adb (Eval_Type_Conversion): If the target subtype is
342 a static floating-point subtype and the result is a real literal,
343 consider its machine-rounded value to raise Constraint_Error.
344 (Test_In_Range): Turn local variables into constants.
345
346 2021-10-20 Doug Rupp <rupp@adacore.com>
347
348 * libgnat/g-io-put__vxworks.adb: Remove (unused)
349 * libgnat/s-parame__ae653.ads: Likewise.
350 * libgnat/s-thread.ads: Likewise.
351 * libgnat/s-thread__ae653.adb: Likewise.
352
353 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
354
355 * sem_eval.ads (Machine_Number): New inline function.
356 * sem_eval.adb (Machine_Number): New function body implementing
357 the machine rounding operation specified by RM 4.9(38/2).
358 (Check_Non_Static_Context): Call Machine_Number and set the
359 Is_Machine_Number flag consistently on the resulting node.
360 * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Likewise.
361 * checks.adb (Apply_Float_Conversion_Check): Call Machine_Number.
362 (Round_Machine): Likewise.
363
364 2021-10-20 Johannes Kliemann <kliemann@adacore.com>
365
366 * vxworks7-cert-rtp-link.spec: Add the definition of
367 __wrs_rtp_base.
368
369 2021-10-20 Piotr Trojanek <trojanek@adacore.com>
370
371 * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject boxes in
372 record delta aggregates.
373
374 2021-10-20 Justin Squirek <squirek@adacore.com>
375
376 * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
377 generation of accessibility checks to be more consolidated and
378 get triggered properly in required cases.
379 * sem_util.adb (Accessibility_Level): Add extra check within
380 condition to handle aliased formals properly in more cases.
381
382 2021-10-20 Justin Squirek <squirek@adacore.com>
383
384 * exp_ch7.adb (Make_Final_Call): Detect expanded protected types
385 and use original protected type in order to calculate
386 appropriate finalization routine.
387
388 2021-10-20 Johannes Kliemann <kliemann@adacore.com>
389
390 * libgnat/a-nbnbin__ghost.ads: Add ghost package.
391
392 2021-10-20 Piotr Trojanek <trojanek@adacore.com>
393
394 * sem_aggr.adb (Variant_Depth): Refine type from Integer to
395 Natural.
396
397 2021-10-20 Bob Duff <duff@adacore.com>
398
399 * atree.ads: Comment improvements. How is a "completely new
400 node" different from a "new node"? Document default values
401 corresponding to field types.
402 * exp_ch7.adb (Process_Tagged_Type_Declaration): Use
403 higher-level Scope_Depth instead of Scope_Depth_Value. Remove
404 confusing comment: not clear what a "true" library level package
405 is.
406 * uintp.adb (Image_Out): Print No_Uint in a more readable way.
407 * gen_il-gen.adb, gen_il-gen-gen_entities.adb,
408 gen_il-gen-gen_nodes.adb, gen_il-types.ads: Tighten up the
409 subtypes of fields whose type is Uint, where possible; use
410 more-constrained subtypes such as Unat.
411 * einfo-utils.adb, einfo-utils.ads, exp_attr.adb,
412 exp_ch3.adb, exp_intr.adb, exp_unst.adb, exp_util.adb,
413 freeze.adb, repinfo.adb, sem.adb, sem_ch12.adb, sem_ch13.adb,
414 sem_ch3.adb, sem_ch8.adb, sem_util.adb, sprint.adb, treepr.adb:
415 No longer use Uint_0 to indicate "unknown" or "not yet known"
416 for various fields whose type is Uint. Use No_Uint for that,
417 except in a small number of legacy cases that cause test
418 failures. Protect many queries of such fields with calls to
419 Known_... functions. Improve comments.
420 * exp_aggr.adb: Likewise.
421 (Is_OK_Aggregate): Check whether Csiz is present.
422 (Aggr_Assignment_OK_For_Backend): Ensure we do not access an
423 uninitialized size.
424 * exp_strm.adb (Build_Elementary_Input_Call,
425 Build_Elementary_Write_Call): Check whether P_Size is present.
426 * cstand.adb: Leave Component_Size of Any_Composite unknown.
427 Similar for RM_Size of Standard_Exception_Type. These should
428 not be used.
429 * einfo.ads: Comment improvements.
430 * exp_disp.ads: Minor.
431 * gen_il-internals.ads, gen_il-internals.adb: Minor.
432 * sinfo-utils.adb: Take advantage of full-coverage rules.
433 * types.h: Minor.
434
435 2021-10-20 Gary Dismukes <dismukes@adacore.com>
436
437 * sem_ch6.adb: Add with and use of Warnsw.
438 (Check_Conformance): Report a warning when subtypes or
439 designated subtypes of formal parameters or result subtypes
440 denote different declarations between the spec and body of the
441 (Subprogram_Subtypes_Have_Same_Declaration): New function nested
442 within Check_Conformance that determines whether two subtype
443 entities referenced in a subprogram come from the same
444 declaration. Returns True immediately if the subprogram is in a
445 generic instantiation, or the subprogram is marked Is_Internal
446 or is declared in an internal (GNAT library) unit, or GNAT_Mode
447 is enabled, otherwise compares the nonlimited views of the
448 entities (or their designated subtypes' nonlimited views in the
449 anonymous access cases).
450 (Nonlimited_View_Of_Subtype): New function nested within
451 function Subprogram_Subtypes_Have_Same_Declaration that returns
452 Non_Limited_View of a type or subtype that is an incomplete or
453 class-wide type that comes from a limited of a
454 package (From_Limited_With is True for the entity), or returns
455 Full_View when the nonlimited view is an incomplete type.
456 Otherwise returns the entity passed in.
457 * warnsw.ads (Warn_On_Pedantic_Checks): New warning flag.
458 (type Warning_Record): New component Warn_On_Pedantic_Checks.
459 * warnsw.adb (All_Warnings): Set Warn_On_Pedantic_Checks from
460 parameter Setting.
461 (Restore_Warnings): Restore the value of the
462 Warn_On_Pedantic_Checks flag.
463 (Save_Warnings): Save the value of the Warn_On_Pedantic_Checks
464 flag.
465 (Set_Underscore_Warning_Switch): Add settings of the
466 Warn_On_Pedantic flag according to the switch ("-gnatw_p" vs.
467 "-gnatw_P").
468 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
469 documentation of new switches -gnatw_p and -gnatw_P (warnings
470 for pedantic checks).
471 * gnat_ugn.texi: Regenerate.
472 * usage.adb: Add Warn_On_Pedantic_Checks.
473
474 2021-10-20 Piotr Trojanek <trojanek@adacore.com>
475
476 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Guard
477 against equality of an uninitialized RM_Size field.
478
479 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
480
481 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Also propagate an
482 interface name on an intrinsic subprogram. Remove obsolete comment.
483 * libgnat/s-atopri.ads (Atomic_Load): New generic intrinsic function
484 (Atomic_Load_8): Rewrite into instantiation.
485 (Atomic_Load_16): Likewise.
486 (Atomic_Load_32): Likewise.
487 (Atomic_Load_64): Likewise.
488 (Sync_Compare_And_Swap): New generic intrinsic function.
489 (Sync_Compare_And_Swap_8): Rewrite into instantiation.
490 (Sync_Compare_And_Swap_16): Likewise.
491 (Sync_Compare_And_Swap_32): Likewise.
492 (Sync_Compare_And_Swap_64): Likewise.
493 (Lock_Free_Read): New generic inline function.
494 (Lock_Free_Read_8): Rewrite into instantiation.
495 (Lock_Free_Read_16): Likewise.
496 (Lock_Free_Read_32): Likewise.
497 (Lock_Free_Read_64): Likewise.
498 (Lock_Free_Try_Write): New generic inline function.
499 (Lock_Free_Try_Write_8): Rewrite into instantiation.
500 (Lock_Free_Try_Write_16): Likewise.
501 (Lock_Free_Try_Write_32): Likewise.
502 (Lock_Free_Try_Write_64): Likewise.
503 * libgnat/s-atopri.adb (Lock_Free_Read): New function body.
504 (Lock_Free_Read_8): Delete.
505 (Lock_Free_Read_16): Likewise.
506 (Lock_Free_Read_32): Likewise.
507 (Lock_Free_Read_64): Likewise.
508 (Lock_Free_Try_Write): New function body.
509 (Lock_Free_Try_Write_8): Delete.
510 (Lock_Free_Try_Write_16): Likewise.
511 (Lock_Free_Try_Write_32): Likewise.
512 (Lock_Free_Try_Write_64): Likewise.
513 * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add): Use type-generic GCC
514 atomic builtin and tidy up implementation.
515 (Atomic_Fetch_And_Subtract): Likewise.
516 * libgnat/s-aomoar.adb (Atomic_Fetch_And_Add): Likewise.
517 (Atomic_Fetch_And_Subtract): Likewise.
518 * libgnat/s-atopex.adb (Atomic_Exchange): Likewise.
519 (Atomic_Compare_And_Exchange): Likewise.
520
521 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
522
523 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
524 Replace test on Convention_Intrinsic with Is_Intrinsic_Subprogram.
525 (gnat_to_gnu_param): Likewise.
526 (gnat_to_gnu_subprog_type): Likewise.
527 * gcc-interface/trans.c (elaborate_all_entities_for_package): Ditto.
528
529 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
530
531 * sem_eval.ads (Check_Non_Static_Context): Update documentation.
532 * sem_eval.adb (In_Any_Integer_Context): Change parameter type,
533 adjust accordingly and remove unreachable case.
534 (Eval_Integer_Literal): Consider the node kind throughout and
535 trim down verbose condition.
536
537 2021-10-20 Doug Rupp <rupp@adacore.com>
538
539 * Makefile.rtl: Remove references to system-vxworks-ppc.ads
540 and system-vxworks-x86.ads.
541 * libgnat/system-vxworks-ppc.ads: Remove.
542 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
543 * libgnat/system-vxworks-x86.ads: Likewise.
544
545 2021-10-20 Yannick Moy <moy@adacore.com>
546
547 * sem_ch4.adb (Analyze_QUantified_Expression): Issue warning on
548 conjunct/disjunct sub-expression of the full expression inside a
549 quantified expression, when it does not reference the quantified
550 variable.
551
552 2021-10-20 Marc Poulhiès <poulhies@adacore.com>
553
554 * checks.adb (Insert_Valid_Check): in case of checked type
555 conversion, update Typ to match Exp's type and add call to
556 Analyze_And_Resolve.
557
558 2021-10-20 Arnaud Charlet <charlet@adacore.com>
559
560 PR ada/100486
561 * sem_prag.adb (Check_Valid_Library_Unit_Pragma): Do not raise an
562 exception as part of the bootstrap.
563
564 2021-10-15 Richard Biener <rguenther@suse.de>
565
566 * gcc-interface/misc.c (gnat_post_options): Do not warn
567 about DBX_DEBUG use here.
568
569 2021-10-14 Alexandre Oliva <oliva@adacore.com>
570
571 * par-ch10.adb (P_Compilation_Unit): Reenable ada83 library
572 unit renaming test and error.
573
574 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
575
576 * gcc-interface/gigi.h (resolve_atomic_size): Declare.
577 (list_third): New inline function.
578 * gcc-interface/decl.c (type_for_atomic_builtin_p): New function.
579 (resolve_atomic_builtin): Likewise.
580 (gnat_to_gnu_subprog_type): Perform type resolution for most of
581 type-generic GCC atomic builtins and give an error for the rest.
582 * gcc-interface/utils2.c (resolve_atomic_size): Make public.
583
584 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
585
586 * gcc-interface/trans.c (gnat_to_gnu) <N_Pop_Constraint_Error_Label>:
587 Given the warning only if No_Exception_Propagation is active.
588 <N_Pop_Storage_Error_Label>: Likewise.
589 <N_Pop_Program_Error_Label>: Likewise.
590
591 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
592
593 * gcc-interface/decl.c (promote_object_alignment): Add GNU_SIZE
594 parameter and use it for the size of the object if not null.
595 (gnat_to_gnu_entity) <E_Variable>: Perform the automatic alignment
596 promotion for objects whose nominal subtype is of variable size.
597 (gnat_to_gnu_field): Adjust call to promote_object_alignment.
598
599 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
600
601 * gcc-interface/decl.c (gnat_to_gnu_param): Strip padding types
602 only if the size does not change in the process. Rename local
603 variable and add bypass for initialization procedures.
604
605 2021-10-11 Doug Rupp <rupp@adacore.com>
606
607 * libgnat/s-thread.ads: Fix comments. Remove unused package
608 imports.
609 (Thread_Body_Exception_Exit): Remove Exception_Occurrence
610 parameter.
611 (ATSD): Declare type locally.
612 * libgnat/s-thread__ae653.adb: Fix comments. Remove unused
613 package imports. Remove package references to Stack_Limit
614 checking.
615 (Install_Handler): Remove.
616 (Set_Sec_Stack): Likewise.
617 (Thread_Body_Enter): Remove calls to Install_Handler and
618 Stack_Limit checking.
619 (Thread_Body_Exception_Exit): Remove Exception_Occurrence
620 parameter.
621 (Init_RTS): Call local Get_Sec_Stack. Remove call to
622 Install_Handler. Remove references to accessors for
623 Get_Sec_Stack and Set_Sec_Stack. Remove OS check.
624 (Set_Sec_Stack): Remove.
625
626 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
627
628 * exp_ch3.adb (Make_Predefined_Primitive_Specs,
629 Predefined_Primitive_Bodies): Remove guard with restriction
630 No_Dispatching_Calls.
631
632 2021-10-11 Steve Baird <baird@adacore.com>
633
634 * sem_attr.adb (Analyze_Attribute_Old_Result): Permit an
635 attribute reference inside a compiler-generated _Postconditions
636 procedure. In this case, Subp_Decl is assigned the declaration
637 of the enclosing subprogram.
638 * exp_util.adb (Insert_Actions): When climbing up the tree
639 looking for an insertion point, do not climb past an
640 N_Iterated_Component/Element_Association, since this could
641 result in inserting a reference to a loop parameter at a
642 location outside of the scope of that loop parameter. On the
643 other hand, be careful to preserve existing behavior in the case
644 of an N_Component_Association node.
645
646 2021-10-11 Steve Baird <baird@adacore.com>
647
648 * exp_ch6.adb (Can_Fold_Predicate_Call): Do not attempt folding
649 if there is more than one predicate involved. Recall that
650 predicate aspect specification are additive, not overriding, and
651 that there are three different predicate
652 aspects (Dynamic_Predicate, Static_Predicate, and the
653 GNAT-defined Predicate aspect). These various ways of
654 introducing multiple predicates are all checked for. A new
655 nested function, Augments_Other_Dynamic_Predicate, is
656 introduced.
657 * sem_ch4.adb
658 (Analyze_Indexed_Component_Form.Process_Function_Call): When
659 determining whether a name like "X (Some_Discrete_Type)" might
660 be interpreted as a slice, the answer should be "no" if the
661 type/subtype name denotes the current instance of type/subtype.
662
663 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
664
665 * libgnarl/s-osinte__rtems.ads: Change sigset_t to an unsigned
666 long.
667
668 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
669
670 * libgnat/s-parame__rtems.adb: use
671 _POSIX_Threads_Minimum_stack_size instead of
672 ada_pthread_minimum_stack_size.
673
674 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
675
676 * fe.h (No_Exception_Propagation_Active): Declare.
677 * restrict.ads (No_Exception_Propagation_Active): Add WARNING line.
678
679 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
680
681 * sem_ch13.adb (Validate_Unchecked_Conversion): Simplify code
682 for detecting conversions with Ada.Calendar.Time type and extend
683 it to similar types in the Ada.Real_Time package.
684
685 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
686
687 * sem_ch10.adb, sem_prag.adb, sem_util.adb: Use
688 N_Generic_Declaration in membership tests.
689
690 2021-10-11 Etienne Servais <servais@adacore.com>
691
692 * ali.adb (Get_Name): Ignore_Spaces is always False.
693 * bindo-graphs.adb (Set_Is_Existing_Source_Target_Relation): Val
694 is always True.
695 * cstand.adb (New_Standard_Entity): New_Node_Kind is always
696 N_Defininig_Identifier.
697 * exp_ch3.adb (Predef_Stream_Attr_Spec): For_Body is always
698 False.
699 * exp_dist.adb (Add_Parameter_To_NVList): RACW_Ctrl is always
700 False.
701 * gnatls.adb (Add_Directories): Prepend is always False.
702 * sem_ch10.adb, sem_ch10.ads (Load_Needed_Body): Do_Analyze is
703 always True.
704 * sem_ch3.adb, sem_ch3.ads (Process_Range_Expr_In_Decl):
705 R_Check_Off is always False.
706 * sem_elab.adb: (Info_Variable_Reference): Info_Msg is always
707 False, In_SPARK is always True.
708 (Set_Is_Traversed_Body, Set_Is_Saved_Construct,
709 Set_Is_Saved_Relation): Val is always True.
710 * treepr.adb (Visit_Descendant): No_Indent is always False.
711 (Print_Node): Fmt does not need such a big scope.
712
713 2021-10-11 Etienne Servais <servais@adacore.com>
714
715 * sem_ch4.adb (Analyze_Membership_Op): Finds interpretation for
716 the case of a membership test with a singleton value in case of
717 overloading.
718
719 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
720
721 * Makefile.rtl (VxWorks): Rename s-inmaop__vxworks.adb to
722 s-inmaop__hwint.adb.
723 (RTEMS): Use s-inmaop__hwint.adb, s-intman__rtems.adb/s,
724 s-taprop__rtems.adb.
725 * libgnarl/a-intnam__rtems.ads: Remove signals definitions and
726 replace with Hardware_Interrupts.
727 * libgnarl/s-inmaop__vxworks.adb: Rename as...
728 * libgnarl/s-inmaop__hwint.adb: ... this.
729 * libgnarl/s-interr__hwint.adb: Remove unnecessary comments.
730 * libgnarl/s-intman__rtems.ads, libgnarl/s-intman__rtems.adb:
731 New files.
732 * libgnarl/s-osinte__rtems.adb: Add RTEMS API bindings.
733 (Binary_Semaphore_Create, Binary_Semaphore_Delete,
734 Binary_Semaphore_Obtain, Binary_Semaphore_Release,
735 Binary_Semaphore_Flush, Interrupt_Connect,
736 Interrupt_Number_To_Vector): New functions.
737 * libgnarl/s-osinte__rtems.ads (Num_HW_Interrupts, Signal):
738 Removed.
739 (NSIG, Interrupt_Range): New.
740 (Binary_Semaphore_Create, Binary_Semaphore_Delete,
741 Binary_Semaphore_Obtain, Binary_Semaphore_Release,
742 Binary_Semaphore_Flush, Interrupt_Connect,
743 Interrupt_Number_To_Vector): Remove Import pragma.
744 * libgnarl/s-taprop__rtems.adb: New file.
745
746 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
747
748 * exp_fixd.adb (Get_Size_For_Value): New function returning a size
749 suitable for a non-negative integer value.
750 (Get_Type_For_Size): New function returning a standard type suitable
751 for a size.
752 (Build_Divide): Call both functions to compute the result type, but
753 make sure to pass a non-negative value to the first.
754 (Build_Multiply): Likewise.
755 (Do_Multiply_Fixed_Universal): Minor consistency tweak.
756 (Integer_Literal): Call both functions to compute the type.
757
758 2021-10-11 Etienne Servais <servais@adacore.com>
759
760 * sem_ch4.adb (Analyze_Membership_Op): Reorder subprogram spec
761 and bodies in alphabetical order.
762
763 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
764
765 * exp_util.adb (Build_Class_Wide_Expression): Replace entities
766 of both simple and extended names.
767
768 2021-10-11 Ghjuvan Lacambre <lacambre@adacore.com>
769
770 * libgnarl/s-intman__android.adb, libgnarl/s-intman__lynxos.adb,
771 libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb,
772 libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb,
773 libgnarl/s-taprob.adb, libgnarl/s-taprop__hpux-dce.adb,
774 libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
775 libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
776 libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
777 libgnarl/s-taskin.adb, libgnarl/s-tasque.adb,
778 libgnarl/s-tpoben.adb, libgnat/a-calend.adb,
779 libgnat/a-excach.adb, libgnat/a-except.adb, libgnat/a-tags.adb,
780 libgnat/a-textio.adb, libgnat/a-witeio.adb,
781 libgnat/a-ztexio.adb, libgnat/g-binenv.adb,
782 libgnat/s-parame.adb, libgnat/s-parame__vxworks.adb,
783 libgnat/s-stratt.adb, libgnat/s-trasym__dwarf.adb: Mark imported
784 binder globals as constant.
785
786 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
787
788 * exp_aggr.adb (Initialize_Record_Component): Add assertion
789 about one of the parameters, so that illegal attempts to
790 initialize record components with Empty node are detected early
791 on.
792 (Build_Record_Aggr_Code): Handle boxes in aggregate component
793 associations just the components with no initialization in
794 Build_Record_Init_Proc.
795 * sem_aggr.adb (Resolve_Record_Aggregate): For components that
796 require simple initialization carry boxes from resolution to
797 expansion.
798 * sem_util.adb (Needs_Simple_Initialization): Remove redundant
799 paren.
800
801 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
802
803 * exp_ch3.adb (Build_Init_Statements): Simplify detection of
804 concurrent record types.
805
806 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
807
808 * exp_aggr.adb (Is_Delayed_Aggregate): Simplify.
809
810 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
811
812 * exp_aggr.adb (Has_Default_Init_Comps): Simplify.
813
814 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
815
816 * exp_aggr.adb (Component_OK_For_Backend): Remove redundant
817 guard.
818
819 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
820
821 * Makefile.rtl (RTEMS): Add s-stchop.o to
822 EXTRA_GNATRTL_NONTASKING_OBJS, remove s-stchop__rtems.adb.
823 * libgnat/s-stchop__rtems.adb: Removed.
824
825 2021-10-11 Marc Poulhiès <poulhies@adacore.com>
826
827 * expander.adb (Expand): Skip clearing of Analyzed flag if
828 already set for N_Real_Literal.
829
830 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
831
832 * sem_util.adb (Compile_Time_Constraint_Error): Simplify getting
833 the type of the first formal parameter.
834
835 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
836
837 * exp_util.adb (Inside_Init_Proc): Simplify.
838 * sem_aggr.adb (Resolve_Record_Aggregate): Fix style.
839 * sem_util.adb (Compile_Time_Constraint_Error): Guard against
840 calling Corresponding_Concurrent_Type with an array type entity.
841
842 2021-10-11 Doug Rupp <rupp@adacore.com>
843
844 * libgnat/s-parame__ae653.ads (time_t_bits): Change to
845 Long_Long_Integer'Size. Add some comments to explain.
846
847 2021-10-08 Martin Liska <mliska@suse.cz>
848
849 * gcc-interface/misc.c (gnat_post_options): Use new macro
850 OPTION_SET_P.
851 (gnat_init_gcc_eh): Likewise.
852 (gnat_init_gcc_fp): Likewise.
853
854 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
855
856 * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values
857 referenced in pragmas.
858
859 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
860
861 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Do not set the
862 DECL_DISREGARD_INLINE_LIMITS flag if -gnatd.8 is specified.
863
864 2021-10-05 Bob Duff <duff@adacore.com>
865
866 * gcc-interface/trans.c (set_end_locus_from_node): Check that
867 Handled_Statement_Sequence is not Empty before calling
868 End_Label, because the Empty node has no End_Label, and
869 depending on the exact node layout chosen by gen_il, calling
870 End_Label might crash, or might work OK by accident.
871
872 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
873
874 * gcc-interface/cuintp.c: Adjust placement of include directive.
875 * gcc-interface/targtyps.c: Likewise.
876
877 2021-10-05 Alexandre Oliva <oliva@adacore.com>
878
879 * doc/gnat_rm.rst: Add...
880 * doc/gnat_rm/security_hardening_features.rst: New.
881 * doc/gnat_rm/about_this_guide.rst: Link to new chapter.
882 * gnat_rm.texi: Regenerate.
883 * gcc-interface/utils.c (handle_strub_attribute): New.
884 (gnat_internal_attribute_table): Add strub.
885 * libgnat/a-except.adb: Make Rcheck_CE_* strub-callable.
886 * libgnat/a-except.ads (Raise_Exception): Likewise.
887 (Raise_Exception_Always): Likewise.
888 * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128):
889 Likewise.
890 * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64):
891 Likewise.
892 * libgnat/s-secsta.ads (SS_Allocate, SS_Mark, SS_Release):
893 Likewise.
894
895 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
896
897 * exp_ch9.adb (Install_Private_Data_Declarations): Copy the Sloc of
898 components for the local renamings as well as the Comes_From_Source
899 flag, and also set Warnings_Off on them. Use Nam local variable.
900
901 2021-10-05 Arnaud Charlet <charlet@adacore.com>
902
903 * libgnarl/a-tasini.ads (Set_Initialization_Handler): Update
904 comments.
905
906 2021-10-05 Corentin Gay <gay@adacore.com>
907
908 * init.c (QNX): Add #include errno.h.
909
910 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
911
912 * exp_attr.adb (Expand_Fpt_Attribute): Likewise.
913 * snames.ads-tmpl (Name_Unaligned_Valid): Delete.
914
915 2021-10-05 Etienne Servais <servais@adacore.com>
916
917 * sem_prag.adb (Analyze_Pragma): Forbid use of
918 Compile_Time_(Error|Warning) as configuration pragma.
919 * doc/gnat_ugn/the_gnat_compilation_model.rst:
920 Compile_Time_(Error|Warning) and Compiler_Unit(_Warning) are not
921 configuration pragmas and shall not be listed as such. The
922 following pragmas are either obsolete or undocumented:
923 No_Run_Time, Propagate_Exceptions, Rational, Ravenscar,
924 Restricted_Run_Time, Short_Descriptors, Universal_Data. Fix
925 some typos (notably on Restriction_Warnings).
926 * doc/gnat_rm/implementation_defined_pragmas.rst: Move
927 Rename_Pragma documentation to alphabetical order.
928 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
929
930 2021-10-05 Corentin Gay <gay@adacore.com>
931
932 * adaint.c (QNX): Add #include for sys/time.h.
933
934 2021-10-05 Pascal Obry <obry@adacore.com>
935
936 * libgnat/g-forstr.adb (Next_Format): When there is no more
937 format specifier found issue a proper error message instead of
938 raising a contraint error.
939
940 2021-10-05 Pascal Obry <obry@adacore.com>
941
942 * libgnat/g-forstr.adb (Get_Formatted): Fix computation of the
943 number of zero to use in the formatted string. This was a wrong
944 copy/paste.
945
946 2021-10-05 Pascal Obry <obry@adacore.com>
947
948 * libgnat/g-forstr.adb (Get_Formatted): Minor code clean-up.
949
950 2021-10-05 Etienne Servais <servais@adacore.com>
951
952 * libgnat/a-zchhan.ads, libgnat/a-zchhan.adb
953 (Character_Set_Version, Is_Basic, To_Basic): New.
954 * libgnat/a-zchuni.ads, libgnat/a-zchuni.adb (Is_Basic,
955 To_Basic): New.
956
957 2021-10-05 Yannick Moy <moy@adacore.com>
958
959 * sem_aggr.adb (Resolve_Array_Aggregate): Improve error message.
960
961 2021-10-05 Gary Dismukes <dismukes@adacore.com>
962
963 * aspects.ads (type Aspect_Id): Add
964 Aspect_Designated_Storage_Model and Aspect_Storage_Model_Type.
965 (Aspect_Argument): Add associations for the above new aspects.
966 (Is_Representation_Aspect): Likewise.
967 (Aspect_Names, Aspect_Delay): Likewise.
968 * exp_ch4.adb (Expand_N_Allocator): Call Find_Storage_Op rather
969 than Find_Prim_Op.
970 * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
971 * exp_util.ads (Find_Storage_Op): New function that locates
972 either a primitive operation of a storage pool or an operation
973 of a storage-model type specified in its Storage_Model_Type
974 aspect.
975 * exp_util.adb (Find_Storage_Op): New function that calls either
976 Find_Prim_Op or Get_Storage_Model_Type_Entity to locate a
977 storage-related operation that is associated with a type.
978 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Analyzes,
979 resolves, and validates the arguments of aspect
980 Designated_Storage_Model_Type.
981 (Analyze_Aspect_Specifications): Sets delay-related flags on
982 storage-model aspects when Delay_Required. Checks that aspect
983 Designated_Storage_Model is only specified for an access type
984 and that aspect Storage_Model_Type is only specified on an
985 immutably limited type. Also records such aspects for their
986 associated types.
987 (Check_Aspect_At_Freeze_Point): Resolve each of the argument
988 associations given for a Storage_Model_Type aspect.
989 (Resolve_Storage_Model_Type_Argument): New procedure that
990 resolves an argument given in the association for a given entity
991 name associated with a type with aspect Storage_Model_Type,
992 ensuring that it has the proper kind or profile.
993 (Validate_Storage_Model_Type_Aspect): New procedure that checks
994 the legality and completeness of the entity associations given
995 in a Storage_Model_Type aspect.
996 * sem_util.ads (package Storage_Model_Support): New nested
997 package that encapsulates a set of convenient utility functions
998 for retrieving entities, etc. associated with
999 storage-model-related types and objects.
1000 (Get_Storage_Model_Type_Entity): New function to return a
1001 specified entity associated with a type that has aspect
1002 Storage_Model_Type.
1003 (Has_Designated_Storage_Model_Aspect): New function that returns
1004 whether a type has aspect Designated_Storage_Model.
1005 (Has_Storage_Model_Type_Aspect): New function that returns
1006 whether a type has aspect Storage_Model_Type.
1007 (Storage_Model_Object): New function that returns the object
1008 Entity_Id associated with a type's Designated_Storage_Model
1009 aspect.
1010 (Storage_Model_Type): New function that returns the type
1011 associated with a storage-model object (when the object's type
1012 specifies Storage_Model_Type).
1013 (Storage_Model_Address_Type): New function that returns the
1014 Address_Type associated with a type that has aspect
1015 Storage_Model_Type.
1016 (Storage_Model_Null_Address): New function that returns the
1017 Null_Address constant associated with a type that has aspect
1018 Storage_Model_Type.
1019 (Storage_Model_Allocate): New function that returns the Allocate
1020 procedure associated with a type that has aspect
1021 Storage_Model_Type.
1022 (Storage_Model_Deallocate): New function that returns the
1023 Deallocate procedure associated with a type that has aspect
1024 Storage_Model_Type.
1025 (Storage_Model_Copy_From): New function that returns the
1026 Copy_From procedure associated with a type that has aspect
1027 Storage_Model_Type.
1028 (Storage_Model_Copy_To): New function that returns the Copy_To
1029 procedure associated with a type that has aspect
1030 Storage_Model_Type.
1031 (Storage_Model_Storage_Size): New function that returns the
1032 Storage_Size function associated with a type that has aspect
1033 Storage_Model_Type.
1034 * sem_util.adb (package Storage_Model_Support): Body of new
1035 nested package that contains the implementations the utility
1036 functions declared in the spec of this package.
1037 * snames.ads-tmpl: Add new names Name_Designated_Storage_Pool,
1038 Name_Storage_Model, Name_Storage_Model_Type, Name_Address_Type,
1039 Name_Copy_From, Name_Copy_To, and Name_Null_Address for the new
1040 aspects and associated aspect arguments.
1041
1042 2021-10-05 Richard Kenner <kenner@adacore.com>
1043
1044 * debug.adb: Add documentation for -gnatd_t.
1045
1046 2021-10-05 Corentin Gay <gay@adacore.com>
1047
1048 * sysdep.c (__gnat_is_file_not_found_error): Add else if case.
1049
1050 2021-10-05 Piotr Trojanek <trojanek@adacore.com>
1051
1052 * exp_util.adb (Build_Class_Wide_Expression): Replace entities
1053 of both identifiers and operator symbols.
1054
1055 2021-10-05 Piotr Trojanek <trojanek@adacore.com>
1056
1057 * sem_ch3.adb (Derive_Subprogram): Copy ghost status from parent
1058 to derived subprogram.
1059
1060 2021-10-05 Joffrey Huguet <huguet@adacore.com>
1061
1062 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Add
1063 Default_Initial_Condition to Unbounded_String.
1064
1065 2021-10-05 Claire Dross <dross@adacore.com>
1066
1067 * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
1068 contract cases at execution.
1069 * libgnat/a-cfinve.ads: Idem.
1070 * libgnat/a-cofove.ads: Idem.
1071 * libgnat/a-cfhase.ads: Idem.
1072 * libgnat/a-cfhama.ads: Idem.
1073 * libgnat/a-cforse.ads: Idem.
1074 * libgnat/a-cforma.ads: Idem.
1075
1076 2021-10-05 Bob Duff <duff@adacore.com>
1077
1078 * par-ch4.adb (P_Iterated_Component_Association): Parse these
1079 features the same way in all language versions. Move the call
1080 to Error_Msg_Ada_2022_Feature into semantic analysis.
1081 * sem_aggr.adb (Resolve_Iterated_Component_Association,
1082 Resolve_Iterated_Association): Move the call to
1083 Error_Msg_Ada_2022_Feature here from par-ch4.adb.
1084
1085 2021-10-05 Yannick Moy <moy@adacore.com>
1086
1087 * sem_res.adb (Resolve): Recognize specially that case.
1088
1089 2021-10-05 Yannick Moy <moy@adacore.com>
1090
1091 * libgnat/a-strmap.adb: Add ghost code for proof.
1092 (To_Range): This is the most involved proof, as it requires
1093 creating the result of the call to To_Domain as a ghost
1094 variable, and show the unicity of this result in order to prove
1095 the postcondition.
1096 * libgnat/a-strmap.ads: (SPARK_Proof_Sorted_Character_Sequence):
1097 New ghost function.
1098 (To_Domain): Add postcondition regarding sorting of result.
1099 (To_Range): Fix postcondition that should compare Length instead
1100 of Last for the results of To_Domain and To_Range, as the value
1101 of Last for an empty result is not specified in the Ada RM.
1102
1103 2021-10-05 Yannick Moy <moy@adacore.com>
1104
1105 * libgnat/a-chahan.adb: Add loop invariants as needed to prove
1106 subprograms. Also use extended return statements where
1107 appropriate and not done already. Mark data with
1108 Relaxed_Initialization where needed for initialization by parts.
1109 Convert regular functions to expression functions where needed
1110 for proof.
1111 * libgnat/a-chahan.ads: Add postconditions.
1112 * libgnat/a-strmap.ads (Model): New ghost function to create a
1113 publicly visible model of the private data Character_Mapping,
1114 needed in order to prove subprograms in Ada.Characters.Handling.
1115
1116 2021-10-04 Justin Squirek <squirek@adacore.com>
1117
1118 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
1119 Add new entry for No_Dynamic_Accessibility_Checks documenting
1120 behavior.
1121 * gnat_rm.texi: Regenerate.
1122 * exp_ch4.adb (Expand_N_In): Perform special expansion for
1123 membership tests when No_Dynamic_Accessibility_Checks is active.
1124 * sem_attr.adb (Resolve_Attribute): Skip static accessibility
1125 check on actuals for anonymous access type formal parameters,
1126 and add constants for readability.
1127 * sem_util.adb (Function_Call_Or_Allocator_Level): Use the
1128 innermost master for determining the level for function calls
1129 within the alternative accessibility model.
1130 (Type_Access_Level): Properly get the level for anonymous access
1131 function result types.
1132
1133 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1134
1135 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
1136 (gnateA): This switch no longer looks at the formal parameter
1137 type being composite (as originally mandated by SPARK), but in
1138 the parameter passing mechanism being not specified (as
1139 currently mandated by Ada).
1140 * gnat_ugn.texi: Regenerate.
1141
1142 2021-10-04 Ed Schonberg <schonberg@adacore.com>
1143
1144 * sem_ch6.adb (Analyze_Operator_Symbol): Recognize strings as
1145 operator names when they are the value of one of the Ada2022
1146 aspects for User_Defined_Literals.
1147 * sem_ch13.adb (Analyze_One_Aspect): Handle an aspect value
1148 given by an Operator_Name.
1149 (Validate_Literal_Aspect): Call Analyze_Operator_Symbol when
1150 needed.
1151
1152 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1153
1154 * gen_il-gen.adb (Put_Make_Spec): Don't emit the LF character in
1155 the middle of a string, because the Put routine won't indent it
1156 properly.
1157
1158 2021-10-04 Ghjuvan Lacambre <lacambre@adacore.com>
1159
1160 * gnat_cuda.adb (Remove_CUDA_Device_Entities): New function.
1161 (Expand_CUDA_Package): Call Remove_CUDA_Device_Entities.
1162 * gnat_cuda.ads (Expand_CUDA_Package): Expand documentation.
1163 * sem_prag.adb (Analyze_Pragma): Remove warning about
1164 CUDA_Device not being implemented.
1165
1166 2021-10-04 Gary Dismukes <dismukes@adacore.com>
1167
1168 * sem_ch7.adb (Analyze_Package_Specification): For types marked
1169 as Must_Have_Preelab_Init, we now check for the presence of a
1170 Preelaborable_Initialization aspect on the type, and pass the
1171 aspect's expression (if any) on the call to
1172 Has_Preelaborable_Initialization (or pass Empty if the type has
1173 no such aspect or the aspect has no associated expression).
1174 * sem_util.ads (Has_Preelaborable_Initialization): Change
1175 Boolean formal parameter Formal_Types_Have_Preelab_Init to
1176 instead be a formal of type Node_Id (named Preelab_Init_Expr),
1177 to allow passing an expression that may be a conjunction of
1178 Preelaborable_Initialization aspects. Revise spec comment
1179 accordingly (and remove ??? comment).
1180 * sem_util.adb (Type_Named_In_Preelab_Init_Expression): New
1181 nested function with a result indicating whether a given type is
1182 named as the prefix of a Preelaborable_Initialization attribute
1183 in the expression of a corresponding P_I aspect.
1184 (Has_Preelaborable_Initialization): For generic formal derived
1185 and private types, test whether the type is named in the
1186 expression Preelab_Init_Expr (by calling
1187 Type_Named_In_Preelab_Init_Expression), and if so, treat the
1188 formal type as having preelaborable initialization (returning
1189 True).
1190 * libgnat/a-cobove.ads (Vector): Replace pragma
1191 Preelaborable_Initialization with the aspect, specifying its
1192 value as Element_Type'Preelaborable_Initialization.
1193 (Cursor): Replace pragma P_I with the aspect (defaulting to
1194 True).
1195 * libgnat/a-cbdlli.ads (List): Replace pragma
1196 Preelaborable_Initialization with the aspect, specifying its
1197 value as Element_Type'Preelaborable_Initialization.
1198 (Cursor): Replace pragma P_I with the aspect (defaulting to
1199 True).
1200 * libgnat/a-cbhama.ads (Map): Replace pragma
1201 Preelaborable_Initialization with the aspect, specifying its
1202 value as (Element_Type'Preelaborable_Initialization and
1203 Key_Type'Preelaborable_Initialization).
1204 (Cursor): Replace pragma P_I with the aspect (defaulting to
1205 True).
1206 * libgnat/a-cborma.ads (Map): Replace pragma
1207 Preelaborable_Initialization with the aspect, specifying its
1208 value as (Element_Type'Preelaborable_Initialization and
1209 Key_Type'Preelaborable_Initialization).
1210 (Cursor): Replace pragma P_I with the aspect (defaulting to
1211 True).
1212 * libgnat/a-cbhase.ads (Set): Replace pragma
1213 Preelaborable_Initialization with the aspect, specifying its
1214 value as Element_Type'Preelaborable_Initialization.
1215 (Cursor): Replace pragma P_I with the aspect (defaulting to
1216 True).
1217 * libgnat/a-cborse.ads (Set): Replace pragma
1218 Preelaborable_Initialization with the aspect, specifying its
1219 value as Element_Type'Preelaborable_Initialization.
1220 (Cursor): Replace pragma P_I with the aspect (defaulting to
1221 True).
1222 * libgnat/a-cbmutr.ads (Tree): Replace pragma
1223 Preelaborable_Initialization with the aspect, specifying its
1224 value as Element_Type'Preelaborable_Initialization.
1225 (Cursor): Replace pragma P_I with the aspect (defaulting to
1226 True).
1227 * libgnat/a-coboho.ads (Holder): Replace pragma
1228 Preelaborable_Initialization with the aspect, specifying its
1229 value as Element_Type'Preelaborable_Initialization.
1230 (Cursor): Replace pragma P_I with the aspect (defaulting to
1231 True).
1232
1233 2021-10-04 Yannick Moy <moy@adacore.com>
1234
1235 * libgnat/a-textio.adb: Mark body out of SPARK.
1236 * libgnat/a-textio.ads: Mark spec in SPARK and private part out
1237 of SPARK.
1238 * sem.adb (Semantics.Do_Analyze): Similar to ghost code
1239 attributes, save and restore value of
1240 Ignore_SPARK_Mode_Pragmas_In_Instance.
1241
1242 2021-10-04 Bob Duff <duff@adacore.com>
1243
1244 * libgnat/s-regpat.ads: Change Data_First to Data'First. Change
1245 "still" to "always". Similar changes for Data_Last.
1246
1247 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1248
1249 * sprint.adb (Sprint_Node_Actual): Refactor code for generic
1250 package and subprogram declarations.
1251
1252 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1253
1254 * sem_res.adb (Resolve_Indexed_Component, Resolve_Slice): Rename
1255 the local constant Name to Pref; remove repeated calls to
1256 Prefix.
1257
1258 2021-10-04 Matthieu Eyraud <eyraud@adacore.com>
1259
1260 * scos.ads: Extend the documentation.
1261 * par_sco.adb (Process_Decisions): Emit specific SCOs for
1262 quantified expressions.
1263
1264 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1265
1266 * checks.adb (Selected_Range_Checks): Fix style.
1267 * exp_ch4.adb (Expand_N_Slice): Fix style and comment.
1268 * sem_res.adb (Resolve_Indexed_Component): Fix style.
1269
1270 2021-10-04 Yannick Moy <moy@adacore.com>
1271
1272 * libgnat/a-strbou.ads: Add comments.
1273
1274 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1275
1276 * sem_attr.adb (Eval_Attribute): Evaluation of attribute
1277 Leading_Part with illegal second parameter is now similar to
1278 evaluation of Remainder with its second parameter being zero.
1279
1280 2021-10-04 Ed Schonberg <schonberg@adacore.com>
1281
1282 * sem_res.adb (Resolve_Declare_Expression): Use tree traversals
1283 to perform name capture of local entities in the expression of
1284 the construct.
1285 * exp_util.adb (Possible_Side_Effects_In_SPARK): Do not apply to
1286 the prefix of an attribute reference Reduce when that prefix is
1287 an aggregate, because it will be expanded into a loop, and has
1288 no identifiable type.
1289
1290 2021-10-04 Javier Miranda <miranda@adacore.com>
1291
1292 * sem_ch8.adb (Build_Class_Wide_Wrapper): Fix handling of
1293 class-wide subtypes; required to handle chains of
1294 instantiations. Adding also code to identify these wrappers and
1295 properly resolve instantiations where the wrapper and a tagged
1296 type primitive are visible.
1297 * einfo.ads (Is_Class_Wide_Wrapper): Adding documentation.
1298 * gen_il-fields.ads (Opt_Field_Enum): Adding
1299 Is_Class_Wide_Wrapper.
1300 * gen_il-gen-gen_entities.adb (Root_Entity_Type): Adding
1301 semantic flag Is_Class_Wide_Wrapper.
1302
1303 2021-10-04 Bob Duff <duff@adacore.com>
1304
1305 * einfo.ads (Declaration_Node): Document that Declaration_Node
1306 for Itypes.
1307 * einfo-utils.adb (Declaration_Node): Make it return Empty for
1308 Itypes, or a proper type or subtype declaration.
1309 * gen_il-gen.adb: Minor comment improvement.
1310
1311 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1312
1313 * sem_res.adb (Resolve_Slice): Fix application of range checks
1314 to slice range given as a subtype name.
1315
1316 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1317
1318 * sem_res.adb (Resolve_Slice): Handle range given as a subtype
1319 indication.
1320
1321 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1322
1323 * sem_res.adb (Resolve_Slice): Add custom handling of attribute
1324 Image and similar in CodePeer mode. This complements the
1325 existing custom handling of these attributes in
1326 Expand_N_Attribute_Reference.
1327
1328 2021-10-04 Justin Squirek <squirek@adacore.com>
1329
1330 * sem_util.adb (Is_Variable): Add check for implicitly
1331 dereferenced access types
1332 (Is_Dependent_Component_Of_Mutable_Object): Set Prefix_Type when
1333 not specified.
1334
1335 2021-10-04 Eric Botcazou <ebotcazou@adacore.com>
1336
1337 * doc/gnat_ugn/the_gnat_compilation_model.rst (Binding generation):
1338 Document specific behavior for /include/-ending paths and update.
1339 * gnat_ugn.texi: Regenerate.
1340
1341 2021-10-04 Arnaud Charlet <charlet@adacore.com>
1342
1343 PR ada/102073
1344 * socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing
1345 return statements.
1346
1347 2021-10-04 Justin Squirek <squirek@adacore.com>
1348
1349 * sem_util.adb (Function_Or_Allocator_Level): Properly handle
1350 direct function calls in the default alternative accessibility
1351 checking mode.
1352
1353 2021-10-04 Javier Miranda <miranda@adacore.com>
1354
1355 * sem_util.adb (Is_Library_Level_Entity): Return False for
1356 entities defined in E_Loop scopes. This change is not required
1357 by the frontend; it is required by tools that depend on the
1358 frontend sources.
1359 * einfo-utils.adb (Is_Dynamic_Scope): Code cleanup.
1360
1361 2021-10-04 Justin Squirek <squirek@adacore.com>
1362
1363 * sem_util.adb (Accessibility_Level): Add a case to handle
1364 renamed subprograms in addition to renamed objects.
1365
1366 2021-10-04 Doug Rupp <rupp@adacore.com>
1367
1368 * libgnarl/s-osinte__vxworks.ads (tlsKeyCreate): Return int.
1369 * libgnarl/s-tpopsp__vxworks-rtp.adb (ERROR): Declare from
1370 System.VxWorks.Ext.ERROR.
1371 (Initialize): Declare IERR. Assert it.
1372 * libgnarl/s-tpopsp__vxworks.adb (ERROR): Declare from
1373 System.VxWorks.Ext.ERROR.
1374 (Is_Valid_Task): Declare IERR. Test return.
1375 * libgnarl/s-vxwext__kernel.adb (semDelete): Return STATUS.
1376
1377 2021-10-04 Eric Botcazou <ebotcazou@adacore.com>
1378
1379 * exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the
1380 type onto the TSD object.
1381
1382 2021-10-04 Steve Baird <baird@adacore.com>
1383
1384 * sem_util.adb (Is_Repeatedly_Evaluated): Handle the case of an
1385 Old attribute reference that occurs within what was originally a
1386 quantified expression but which expansion has transformed into
1387 an Expression_With_Actions.
1388
1389 2021-10-04 Steve Baird <baird@adacore.com>
1390
1391 * exp_ch4.adb (Expand_N_Indexed_Component): The two improvements
1392 described above.
1393
1394 2021-10-01 Bob Duff <duff@adacore.com>
1395
1396 * exp_ch6.adb (Expand_Call_Helper): Do not call
1397 Check_Subprogram_Variant if the subprogram is an ignored ghost
1398 entity. Otherwise the compiler crashes (in debug builds) or
1399 gives strange error messages (in production builds).
1400
1401 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1402
1403 * gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure.
1404 (Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms.
1405
1406 2021-10-01 Steve Baird <baird@adacore.com>
1407
1408 * checks.ads: Define a type Dimension_Set. Add an out-mode
1409 parameter of this new type to Generate_Index_Checks so that
1410 callers can know for which dimensions a check was generated. Add
1411 an in-mode parameter of this new type to
1412 Apply_Subscript_Validity_Checks so that callers can indicate
1413 that no check is needed for certain dimensions.
1414 * checks.adb (Generate_Index_Checks): Implement new
1415 Checks_Generated parameter.
1416 (Apply_Subscript_Validity_Checks): Implement new No_Check_Needed
1417 parameter.
1418 * exp_ch4.adb (Expand_N_Indexed_Component): Call
1419 Apply_Subscript_Validity_Checks in more cases than before. This
1420 includes declaring two new local functions,
1421 (Is_Renamed_Variable_Name,
1422 Type_Requires_Subscript_Validity_Checks_For_Reads): To help in
1423 deciding whether to call Apply_Subscript_Validity_Checks.
1424 Adjust to parameter profile changes in Generate_Index_Checks and
1425 Apply_Subscript_Validity_Checks.
1426
1427 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1428
1429 * doc/gnat_rm/implementation_defined_characteristics.rst: Document
1430 the rounding mode assumed for dynamic computations as per 3.5.7(16).
1431 * gnat_rm.texi: Regenerate.
1432
1433 2021-10-01 Bob Duff <duff@adacore.com>
1434
1435 * table.ads (Table_Type): Remove "aliased"; no longer needed by
1436 Atree. Besides it contradicted the comment a few lines above,
1437 "-- Note: We do not make the table components aliased...".
1438 * types.ads: Move type Slot to Atree.
1439 * atree.ads: Move type Slot fromt Types to here. Move type
1440 Node_Header from Seinfo to here.
1441 * atree.adb: Avoid the need for aliased components of the Slots
1442 table. Instead of 'Access, use a getter and setter. Misc
1443 cleanups.
1444 (Print_Statistics): Print statistics about node and entity kind
1445 frequencies. Give 3 digit fractions instead of percentages.
1446 * (Get_Original_Node_Count, Set_Original_Node_Count): Statistics
1447 for calls to Original_Node and Set_Original_Node.
1448 (Original_Node, Set_Original_Node): Gather statistics by calling
1449 the above.
1450 (Print_Field_Statistics): Print Original_Node statistics.
1451 (Update_Kind_Statistics): Remove, and put all statistics
1452 gathering under "if Atree_Statistics_Enabled", which is a flag
1453 generated in Seinfo by Gen_IL.
1454 * gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of
1455 Nkind, Ekind, and Homonym first. This causes a slight efficiency
1456 improvement. Misc cleanups. Do not generate Node_Header; it is
1457 now hand-written in Atree. When choosing the order in which to
1458 assign offsets, weight by the frequency of the node type, so the
1459 more common nodes get their field offsets assigned earlier. Add
1460 more special cases.
1461 (Compute_Type_Sizes): Remove this and related things.
1462 There was a comment: "At some point we can instrument Atree to
1463 print out accurate size statistics, and remove this code." We
1464 have Atree statistics, so we now remove this code.
1465 (Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal
1466 to Statistics_Enabled. This allows Atree to say "if
1467 Atree_Statistics_Enabled then <gather statistics>" for
1468 efficiency. When Atree_Statistics_Enabled is False, the "if ..."
1469 will be optimized away.
1470 * gen_il-internals.ads (Type_Frequency): New table of kind
1471 frequencies.
1472 * gen_il-internals.adb: Minor comment improvement.
1473 * gen_il-fields.ads: Remove unused subtypes. Suppress style
1474 checks in the Type_Frequency table. If we regenerate this
1475 table (see -gnatd.A) we don't want to have to fiddle with
1476 casing.
1477 * impunit.adb: Minor.
1478 * sinfo-utils.adb: Minor.
1479 * debug.adb: Minor comment improvement.
1480
1481 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1482
1483 * sem_type.adb (Specific_Type): Check that the type is tagged
1484 before calling Interface_Present_In_Ancestor on it.
1485
1486 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1487
1488 * debug.adb (d.8): Document usage.
1489 * fe.h (Debug_Flag_Dot_8): Declare.
1490
1491 2021-10-01 Gary Dismukes <dismukes@adacore.com>
1492
1493 * sem_util.adb (Enter_Name): Suppress hiding warning when in an
1494 instance.
1495
1496 2021-10-01 Ed Schonberg <schonberg@adacore.com>
1497
1498 * sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can
1499 be applied to a formal type.
1500 * sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is
1501 not enabled, verify that the type of the expression is discrete.
1502
1503 2021-10-01 Justin Squirek <squirek@adacore.com>
1504
1505 * exp_dbug.adb (Debug_Renaming_Declaration): Add check for
1506 Entity present for Ren to prevent looking at unanalyzed nodes
1507
1508 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1509
1510 * atree.adb (Print_Statistics): Help CodePeer see Total as
1511 greater than zero.
1512 * gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified.
1513
1514 2021-10-01 Richard Kenner <kenner@adacore.com>
1515
1516 * gen_il-gen-gen_entities.adb (Evaluable_Kind,
1517 Global_Name_Kind): Add.
1518 * gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise.
1519
1520 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1521
1522 * aspects.ads: Add CUDA_Device aspect.
1523 * gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram.
1524 * gnat_cuda.adb:
1525 (Add_CUDA_Device_Entity): New subprogram.
1526 (CUDA_Device_Entities_Table): New hashmap for CUDA_Device
1527 entities.
1528 (Get_CUDA_Device_Entities): New internal subprogram.
1529 (Set_CUDA_Device_Entities): New internal subprogram.
1530 * par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device.
1531 * sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as
1532 being both aspect and pragma.
1533 * sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to
1534 list of CUDA_Entities belonging to package N.
1535 (Sig_Flags): Signal CUDA_Device entities as referenced.
1536 * snames.ads-tmpl: Create CUDA_Device names and pragmas.
1537
1538 2021-10-01 Gary Dismukes <dismukes@adacore.com>
1539
1540 * exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate
1541 Assert pragma. Remove unneeded and dead code related to derived
1542 private types.
1543
1544 2021-10-01 Richard Kenner <kenner@adacore.com>
1545
1546 * gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice):
1547 Add.
1548 (N_Is_Exception_Choice, N_Is_Range): Likewise.
1549 * gen_il-types.ads: Add above names.
1550 * gen_il-gen.adb (Put_Union_Membership): Write both declarations
1551 and definitions of union functions.
1552
1553 2021-10-01 Ed Schonberg <schonberg@adacore.com>
1554
1555 * exp_aggr.adb (Expand_Array_Aggregate,
1556 Two_Pass_Aggregate_Expansion): Increment index for element
1557 insertion within the loop, only if upper bound has not been
1558 reached.
1559
1560 2021-10-01 Javier Miranda <miranda@adacore.com>
1561
1562 * contracts.ads (Make_Class_Precondition_Subps): New subprogram.
1563 (Merge_Class_Conditions): New subprogram.
1564 (Process_Class_Conditions_At_Freeze_Point): New subprogram.
1565 * contracts.adb (Check_Class_Condition): New subprogram.
1566 (Set_Class_Condition): New subprogram.
1567 (Analyze_Contracts): Remove code analyzing class-wide-clone
1568 subprogram since it is no longer built.
1569 (Process_Spec_Postconditions): Avoid processing twice seen
1570 subprograms.
1571 (Process_Preconditions): Simplify its functionality to
1572 non-class-wide preconditions.
1573 (Process_Preconditions_For): No action needed for wrappers and
1574 helpers.
1575 (Make_Class_Precondition_Subps): New subprogram.
1576 (Process_Class_Conditions_At_Freeze_Point): New subprogram.
1577 (Merge_Class_Conditions): New subprogram.
1578 * exp_ch6.ads (Install_Class_Preconditions_Check): New
1579 subprogram.
1580 * exp_ch6.adb (Expand_Call_Helper): Install class-wide
1581 preconditions check on dispatching primitives that have or
1582 inherit class-wide preconditions.
1583 (Freeze_Subprogram): Remove code for null procedures with
1584 preconditions.
1585 (Install_Class_Preconditions_Check): New subprogram.
1586 * exp_util.ads (Build_Class_Wide_Expression): Lower the
1587 complexity of this subprogram; out-mode formal Needs_Wrapper
1588 since this functionality is now provided by a new subprogram.
1589 (Get_Mapped_Entity): New subprogram.
1590 (Map_Formals): New subprogram.
1591 * exp_util.adb (Build_Class_Wide_Expression): Lower the
1592 complexity of this subprogram. Its previous functionality is now
1593 provided by subprograms Needs_Wrapper and Check_Class_Condition.
1594 (Add_Parent_DICs): Map the overridden primitive to the
1595 overriding one.
1596 (Get_Mapped_Entity): New subprogram.
1597 (Map_Formals): New subprogram.
1598 (Update_Primitives_Mapping): Adding assertion.
1599 * freeze.ads (Check_Inherited_Conditions): Subprogram made
1600 public with added formal to support late overriding.
1601 * freeze.adb (Check_Inherited_Conditions): New implementation;
1602 builds the dispatch table wrapper required for class-wide
1603 pre/postconditions; added support for late overriding.
1604 (Needs_Wrapper): New subprogram.
1605 * sem.ads (Inside_Class_Condition_Preanalysis): New global
1606 variable.
1607 * sem_disp.ads (Covered_Interface_Primitives): New subprogram.
1608 * sem_disp.adb (Covered_Interface_Primitives): New subprogram.
1609 (Check_Dispatching_Context): Skip checking context of
1610 dispatching calls during preanalysis of class-wide conditions
1611 since at that stage the expression is not installed yet on its
1612 definite context.
1613 (Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by
1614 AI12-0412 on helpers and wrappers internally built for
1615 supporting class-wide conditions; for late-overriding
1616 subprograms call Check_Inherited_Conditions to build the
1617 dispatch-table wrapper (if required).
1618 (Propagate_Tag): Adding call to
1619 Install_Class_Preconditions_Check.
1620 * sem_util.ads (Build_Class_Wide_Clone_Body): Removed.
1621 (Build_Class_Wide_Clone_Call): Removed.
1622 (Build_Class_Wide_Clone_Decl): Removed.
1623 (Class_Condition): New subprogram.
1624 (Nearest_Class_Condition_Subprogram): New subprogram.
1625 * sem_util.adb (Build_Class_Wide_Clone_Body): Removed.
1626 (Build_Class_Wide_Clone_Call): Removed.
1627 (Build_Class_Wide_Clone_Decl): Removed.
1628 (Class_Condition): New subprogram.
1629 (Nearest_Class_Condition_Subprogram): New subprogram.
1630 (Eligible_For_Conditional_Evaluation): No need to evaluate
1631 class-wide conditions during preanalysis since the expression is
1632 not installed on its definite context.
1633 * einfo.ads (Class_Wide_Clone): Removed.
1634 (Class_Postconditions): New attribute.
1635 (Class_Preconditions): New attribute.
1636 (Class_Preconditions_Subprogram): New attribute.
1637 (Dynamic_Call_Helper): New attribute.
1638 (Ignored_Class_Postconditions): New attribute.
1639 (Ignored_Class_Preconditions): New attribute.
1640 (Indirect_Call_Wrapper): New attribute.
1641 (Is_Dispatch_Table_Wrapper): New attribute.
1642 (Static_Call_Helper): New attribute.
1643 * exp_attr.adb (Expand_N_Attribute_Reference): When the prefix
1644 is of an access-to-subprogram type that has class-wide
1645 preconditions and an indirect-call wrapper of such subprogram is
1646 available, replace the prefix by the wrapper.
1647 * exp_ch3.adb (Build_Class_Condition_Subprograms): New
1648 subprogram.
1649 (Register_Dispatch_Table_Wrappers): New subprogram.
1650 * exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide
1651 precondition checks now rely on internally built helpers.
1652 * sem_ch13.adb (Analyze_Aspect_Specifications): Set initial
1653 value of attributes Class_Preconditions, Class_Postconditions,
1654 Ignored_Class_Preconditions and Ignored_Class_Postconditions.
1655 These values are later updated with the full pre/postcondition
1656 by Merge_Class_Conditions.
1657 (Freeze_Entity_Checks): Call
1658 Process_Class_Conditions_At_Freeze_Point.
1659 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code
1660 building the body of the class-wide clone subprogram since it is
1661 no longer required.
1662 (Install_Entity): Adding assertion.
1663 * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
1664 code building and analyzing the class-wide clone subprogram; no
1665 longer required.
1666 (Build_Pragma_Check_Equivalent): Adjust call to
1667 Build_Class_Wide_Expression since the formal named Needs_Wrapper
1668 has been removed.
1669 * sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing
1670 these attributes during preanalysis of class-wide conditions
1671 since at that stage the expression is not installed yet on its
1672 definite context.
1673 * sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and
1674 SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers
1675 built to support class-wide preconditions.
1676 * sem_ch5.adb (Process_Bounds): Do not generate a constant
1677 declaration for the bounds when we are preanalyzing a class-wide
1678 condition.
1679 (Analyze_Loop_Parameter_Specification): Handle preanalysis of
1680 quantified expression placed in the outermost expression of a
1681 class-wide condition.
1682 * ghost.adb (Check_Ghost_Context): No check required during
1683 preanalysis of class-wide conditions.
1684 * gen_il-fields.ads (Opt_Field_Enum): Adding
1685 Class_Postconditions, Class_Preconditions,
1686 Class_Preconditions_Subprogram, Dynamic_Call_Helper,
1687 Ignored_Class_Postconditions, Ignored_Class_Preconditions,
1688 Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper,
1689 Static_Call_Helper.
1690 * gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper):
1691 Adding semantic flag Is_Dispatch_Table_Wrapper; removing
1692 semantic field Class_Wide_Clone; adding semantic fields for
1693 Class_Postconditions, Class_Preconditions,
1694 Class_Preconditions_Subprogram, Dynamic_Call_Helper,
1695 Ignored_Class_Postconditions, Indirect_Call_Wrapper,
1696 Ignored_Class_Preconditions, and Static_Call_Helper.
1697
1698 2021-10-01 Piotr Trojanek <trojanek@adacore.com>
1699
1700 * comperr.adb (Delete_SCIL_Files): Handle generic subprogram
1701 declarations and renaming just like generic package declarations
1702 and renamings, respectively; handle
1703 N_Subprogram_Renaming_Declaration.
1704
1705 2021-10-01 Steve Baird <baird@adacore.com>
1706
1707 * bcheck.adb (Check_Versions): Add support for the case where
1708 the .ali file contains both a primary and a secondary version
1709 number, as in "GNAT Lib v22.20210809".
1710
1711 2021-10-01 Steve Baird <baird@adacore.com>
1712
1713 * sem_res.adb (Resolve): Two separate fixes. In the case where
1714 Find_Aspect for a literal aspect returns the aspect for a
1715 different (ancestor) type, call Corresponding_Primitive_Op to
1716 get the right callee. In the case where a downward tagged type
1717 conversion appears to be needed, generate a null extension
1718 aggregate instead, as per Ada RM 3.4(27).
1719 * sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op
1720 function. It maps a primitive op of a tagged type and a
1721 descendant type of that tagged type to the corresponding
1722 primitive op of the descendant type. The body of this function
1723 was written by Javier Miranda.
1724
1725 2021-10-01 Bob Duff <duff@adacore.com>
1726
1727 * atree.adb: Gather and print statistics about frequency of
1728 getter and setter calls.
1729 * atree.ads (Print_Statistics): New procedure for printing
1730 statistics.
1731 * debug.adb: Document -gnatd.A switch.
1732 * gen_il-gen.adb: Generate code for statistics gathering.
1733 Choose the offset of Homonym early. Misc cleanup. Put more
1734 comments in the generated code.
1735 * gen_il-internals.ads (Unknown_Offset): New value to indicate
1736 that the offset has not yet been chosen.
1737 * gnat1drv.adb: Call Print_Statistics.
1738 * libgnat/s-imglli.ads: Minor comment fix.
1739 * output.ads (Write_Int_64): New procedure to write a 64-bit
1740 value. Needed for new statistics, and could come in handy
1741 elsewhere.
1742 * output.adb (Write_Int_64): Likewise.
1743 * sinfo.ads: Remove obsolete comment. The xtreeprs program no
1744 longer exists.
1745 * types.ads: New 64-bit types needed for new statistics.
1746
1747 2021-10-01 Dmitriy Anisimkov <anisimko@adacore.com>
1748
1749 * libgnat/memtrack.adb (Putc): New routine wrapped around fputc
1750 with error check.
1751 (Write): New routine wrapped around fwrite with error check.
1752 Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit.
1753 Use the similar routines from System.CRTL and System.OS_Lib.
1754
1755 2021-10-01 Ed Schonberg <schonberg@adacore.com>
1756
1757 * exp_aggr.adb (Must_Slide): If the aggregate only contains an
1758 others_clause no sliding id involved. Otherwise sliding is
1759 required if any bound of the aggregate or the context subtype is
1760 non-static.
1761
1762 2021-10-01 Richard Kenner <kenner@adacore.com>
1763
1764 * gen_il-gen-gen_nodes.adb (N_Is_Decl): Add.
1765 * gen_il-types.ads (N_Is_Decl): Likewise.
1766
1767 2021-10-01 Richard Kenner <kenner@adacore.com>
1768
1769 * gen_il-gen-gen_nodes.adb (N_Entity_Name): Add.
1770 * gen_il-types.ads (N_Entity_Name): Likewise.
1771
1772 2021-10-01 Steve Baird <baird@adacore.com>
1773
1774 * bcheck.adb (Check_Versions): In the case of an ali file
1775 version mismatch, if distinct integer values can be extracted
1776 from the two version strings then include those values in the
1777 generated error message.
1778
1779 2021-10-01 Steve Baird <baird@adacore.com>
1780
1781 * sem_elab.adb (Is_Safe_Call): Return True in the case of a
1782 (possibly rewritten) call to an expression function.
1783
1784 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1785
1786 * sem_aggr.adb (Resolve_Iterated_Component_Association):
1787 Initialize Id_Typ to Any_Type by default.
1788
1789 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1790
1791 * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document
1792 that it works only with fixed-position executables.
1793
1794 2021-10-01 Doug Rupp <rupp@adacore.com>
1795
1796 * libgnat/s-parame__vxworks.ads (time_t_bits): Change to
1797 Long_Long_Integer'Size.
1798
1799 2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
1800
1801 * gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment.
1802
1803 2021-09-23 Richard Kenner <kenner@adacore.com>
1804
1805 * gen_il-gen-gen_entities.adb (Subprogram_Body_Or_Type): Add.
1806 * gen_il-types.ads (Subprogram_Body_Or_Type): Likewise.
1807
1808 2021-09-23 Richard Kenner <kenner@adacore.com>
1809
1810 * einfo-utils.adb (Next_Index): Verify input and output are
1811 N_Is_Index.
1812 * gen_il-gen-gen_nodes.adb (N_Has_Bounds, N_Is_Index): Add.
1813 * gen_il-types.ads (N_Has_Bounds, N_Is_Index): Likewise.
1814 * sem_ch3.adb (Array_Type_Declaration): Use Next, not
1815 Next_Index.
1816 * sem_ch12.adb (Formal_Dimensions): Likewise.
1817 * sem_util.adb (Is_Valid_Renaming): Likewise.
1818
1819 2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
1820
1821 * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize):
1822 Document new --load option and -g1 as minimal compilation
1823 requirement.
1824
1825 2021-09-23 Piotr Trojanek <trojanek@adacore.com>
1826
1827 * sem_aggr.adb (Resolve_Array_Aggregate): Only keep the bounds
1828 for internally generated attributes; otherwise, compute them
1829 anew.
1830
1831 2021-09-23 Javier Miranda <miranda@adacore.com>
1832
1833 * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Decorate the
1834 wrapper with attribute Is_Wrapper, and move its declaration to
1835 the freezing actions of its type declaration; done to facilitate
1836 identifying it at later stages to avoid handling it as a
1837 primitive operation of a tagged type; otherwise it may be
1838 handled as a dispatching operation and erroneously registered in
1839 a dispatch table.
1840 (Make_Index): Add missing decoration of field Parent.
1841 * sem_disp.adb (Check_Dispatching_Operation): Complete
1842 decoration of late-overriding dispatching primitives.
1843 (Is_Access_To_Subprogram_Wrapper): New subprogram.
1844 (Inherited_Subprograms): Prevent cascaded errors; adding missing
1845 support for private types.
1846 * sem_type.adb (Add_One_Interp): Add missing support for the
1847 first interpretation of a primitive of an inmediate ancestor
1848 interface.
1849 * sem_util.adb (Check_Result_And_Post_State_In_Pragma): Do not
1850 report missing reference in postcondition placed in internally
1851 built wrappers.
1852 * exp_disp.adb (Expand_Dispatching_Call): Adding assertion.
1853
1854 2021-09-23 Ed Schonberg <schonberg@adacore.com>
1855
1856 * sem_aggr.adb (Resolve_Array_Aggregate): Check the validity of
1857 an array aggregate all of whose components are iterated
1858 component associations.
1859 * exp_aggr.adb (Expand_Array_Aggregate,
1860 Two_Pass_Aggregate_Expansion): implement two-pass algorithm and
1861 replace original aggregate with resulting temporary, to ensure
1862 that a proper length check is performed if context is
1863 constrained. Use attributes Pos and Val to handle index types of
1864 any discrete type.
1865
1866 2021-09-23 Bob Duff <duff@adacore.com>
1867
1868 * gen_il-gen.adb: Set the number of concrete nodes that have the
1869 Homonym field to a higher number than any other field. This
1870 isn't true, but it forces Homonym's offset to be chosen first,
1871 so it will be at offset zero and hence slot zero.
1872
1873 2021-09-23 Richard Kenner <kenner@adacore.com>
1874
1875 * atree.adb (Relocate_Node): If relocating a subprgram call and
1876 we're doing unnesting, make a new Parameter_Associations, if
1877 any.
1878
1879 2021-09-23 Piotr Trojanek <trojanek@adacore.com>
1880
1881 * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove explicit
1882 Initializes contract.
1883
1884 2021-09-23 Bob Duff <duff@adacore.com>
1885
1886 * gen_il-gen.adb: Generate getters and setters with much of the
1887 code inlined. Generate code for storing a few fields in the node
1888 header, to avoid the extra level of indirection for those
1889 fields. We generate the header type, so we don't have to
1890 duplicate hand-written Ada and C code to depend on the number of
1891 header fields. Declare constants for slot size. Use short names
1892 because these are used all over. Remove
1893 Put_Low_Level_Accessor_Instantiations, Put_Low_Level_C_Getter,
1894 which are no longer needed. Rename
1895 Put_High_Level_C_Getter-->Put_C_Getter.
1896 * atree.ads, atree.adb: Take into account the header slots.
1897 Take into account the single Node_Or_Entity_Field type. Remove
1898 "pragma Assertion_Policy (Ignore);", because the routines in
1899 this package are no longer efficiency critical.
1900 * atree.h: Remove low-level getters, which are no longer used by
1901 sinfo.h and einfo.h.
1902 * einfo-utils.adb: Avoid crash in Known_Alignment.
1903 * live.adb, sem_eval.adb: Remove code that prevents Node_Id from
1904 having a predicate. We don't actually add a predicate to
1905 Node_Id, but we want to be able to for temporary debugging.
1906 * sinfo-utils.adb: Remove code that prevents Node_Id from having
1907 a predicate. Take into account the single Node_Or_Entity_Field
1908 type.
1909 * sinfo-utils.ads: Minor.
1910 * table.ads (Table_Type): Make the components aliased, because
1911 low-level setters in Atree need to take 'Access.
1912 * treepr.adb: Take into account the single Node_Or_Entity_Field
1913 type. Make some code more robust, so we can print out
1914 half-baked nodes.
1915 * types.ads: Move types here for visibility purposes.
1916 * gcc-interface/gigi.h, gcc-interface/trans.c: Take into account
1917 the Node_Header change in the GNAT front end.
1918 * gcc-interface/cuintp.c, gcc-interface/targtyps.c: Add because
1919 gigi.h now refers to type Node_Header, which is in sinfo.h.
1920
1921 2021-09-23 Yannick Moy <moy@adacore.com>
1922
1923 * libgnat/a-strfix.adb (Delete, Insert, Overwrite,
1924 Replace_Slice): Remove SPARK_Mode Off.
1925 * libgnat/a-strfix.ads (Insert, Overwrite, Replace_Slice):
1926 Strengthen precondition.
1927
1928 2021-09-23 Piotr Trojanek <trojanek@adacore.com>
1929
1930 * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove non-null
1931 Global contracts.
1932
1933 2021-09-23 Steve Baird <baird@adacore.com>
1934
1935 * doc/gnat_rm/implementation_defined_characteristics.rst: Update
1936 this section to reflect the current version of Ada RM M.2.
1937 * gnat_rm.texi: Regenerate.
1938
1939 2021-09-22 Yannick Moy <moy@adacore.com>
1940
1941 * libgnat/a-strfix.ads (Trim): Simplify contracts.
1942 * libgnat/a-strfix.adb (Trim): Remove white space.
1943
1944 2021-09-22 Piotr Trojanek <trojanek@adacore.com>
1945
1946 * exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result.
1947 * exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old.
1948
1949 2021-09-22 Yannick Moy <moy@adacore.com>
1950
1951 * sem_ch3.adb (Analyze_Object_Declaration): Do not insert a
1952 predicate check after a deferred constant declaration.
1953
1954 2021-09-22 Bob Duff <duff@adacore.com>
1955
1956 * contracts.adb, einfo-utils.adb, einfo-utils.ads, exp_ch7.adb,
1957 exp_ch9.adb, exp_disp.adb, exp_prag.adb, exp_smem.adb,
1958 exp_util.adb, freeze.adb, sem_aggr.adb, sem_attr.adb,
1959 sem_ch8.adb, sem_prag.ads, sem_util.adb, sem_util.ads: Fix
1960 conformance errors.
1961 * errout.adb, erroutc.adb: Remove pragmas Suppress.
1962 * err_vars.ads: Initialize variables that were previously being
1963 read uninitialized.
1964
1965 2021-09-22 Yannick Moy <moy@adacore.com>
1966
1967 * libgnat/a-strunb.ads: Mark package in SPARK with private part
1968 not in SPARK.
1969 (Free): Mark not in SPARK.
1970
1971 2021-09-22 Arnaud Charlet <charlet@adacore.com>
1972
1973 * snames.ads-tmpl: Update status of some attributes.
1974
1975 2021-09-22 Doug Rupp <rupp@adacore.com>
1976
1977 * libgnarl/s-interr__vxworks.adb (Interfaces.C): Remove as
1978 unused.
1979 (System.VxWorks.Ext): Import.
1980 (System.VxWorks.Ext.STATUS): use type.
1981 (STATUS): New subtype.
1982 (OK): New constant.
1983 (Interrupt_Connector): Return STATUS type vice int.
1984 (Interrupt_Connect, Notify_Interrupt, Unbind_Handler,
1985 Interrupt_Server_Task): Rename Status to Result. Assert Result =
1986 OK.
1987 * libgnarl/s-osinte__vxworks.adb (To_Clock_Ticks): Define constant
1988 IERR, and return it vice ERROR.
1989 (Binary_Semaphore_Delete): Return STATUS type vice int.
1990 (Binary_Semaphore_Obtain): Likewise.
1991 (Binary_Semaphore_Release): Likewise.
1992 (Binary_Semaphore_Flush): Likewise.
1993 * libgnarl/s-osinte__vxworks.ads (SVE): Renaming of
1994 System.VxWorks.Ext.
1995 (STATUS): Use SVE in declaration of subtype.
1996 (BOOL): Likewise.
1997 (vx_freq_t): Likewise.
1998 (t_id): Likewise.
1999 (gitpid): Use SVE in renaming of subprogram
2000 (Task_Stop): Likewise.
2001 (Task_Cont): Likewise.
2002 (Int_Lock): Likewise.
2003 (Int_Unlock): Likewise.
2004 (Set_Time_Slice): Likewise.
2005 (semDelete): Likewise.
2006 (taskCpuAffinitySet): Likewise.
2007 (taskMaskAffinitySet): Likewise.
2008 (sigset_t): Use SVE in declaration of type.
2009 (OK): Remove as unused.
2010 (ERROR): Likewise.
2011 (taskOptionsGet): return STATUS vice int.
2012 (taskSuspend): Likewise.
2013 (taskResume): Likewise.
2014 (taskDelay): Likewise.
2015 (taskVarAdd): Likewise.
2016 (taskVarDelete): Likewise.
2017 (taskVarSet): Likewise.
2018 (tlkKeyCreate): Likewise.
2019 (taskPrioritySet): Likewise.
2020 (semGive): Likewise.
2021 (semTake): Likewise.
2022 (Binary_Semaphore_Delete): Likewise.
2023 (Binary_Semaphore_Obtain): Likewise.
2024 (Binary_Semaphore_Release): Likewise.
2025 (Binary_Semaphore_Flush): Likewise.
2026 (Interrupt_Connect): Likewise.
2027 * libgnarl/s-taprop__vxworks.adb
2028 (System.VxWorks.Ext.STATUS): use type.
2029 (int): Syntactically align subtype.
2030 (STATUS): New subtype.
2031 (OK): New constant.
2032 (Finalize_Lock): Check STATUS vice int. Assert OK.
2033 (Finalize_Lock): Likewise.
2034 (Write_Lock): Likewise.
2035 (Write_Lock): Likewise.
2036 (Write_Lock): Likewise.
2037 (Unlock): Likewise.
2038 (Unlock): Likewise.
2039 (Unlock): Likewise.
2040 (Unlock): Likewise.
2041 (Sleep): Likewise.
2042 (Sleep): Likewise.
2043 (Sleep): Likewise.
2044 (Timed_Sleep): Likewise and test Result.
2045 (Timed_Delay): Likewise and test Result.
2046 (Wakeup): Likewise.
2047 (Yield): Likewise.
2048 (Finalize_TCB): Likewise.
2049 (Suspend_Until_True): Check OK.
2050 (Stop_All_Tasks): Declare Dummy STATUS vice in. Check OK.
2051 (Is_Task_Context): Use OSI renaming.
2052 (Initialize): Use STATUS vice int.
2053 * libgnarl/s-vxwext.adb
2054 (IERR): Renamed from ERROR.
2055 (taskCpuAffinitySet): Return IERR (int).
2056 (taskMaskAffinitySet): Likewise.
2057 * libgnarl/s-vxwext.ads
2058 (STATUS): New subtype.
2059 (OK): New STATUS constant.
2060 (ERROR): Likewise.
2061 * libgnarl/s-vxwext__kernel-smp.adb
2062 (IERR): Renamed from ERROR.
2063 (Int_Lock): Return IERR.
2064 (semDelete): Return STATUS.
2065 (Task_Cont): Likewise.
2066 (Task_Stop): Likewise.
2067 * libgnarl/s-vxwext__kernel.adb
2068 (IERR): Renamed from ERROR.
2069 (semDelete): Return STATUS.
2070 (Task_Cont): Likewise.
2071 (Task_Stop): Likewise.
2072 (taskCpuAffinitySet): Return IERR (int)
2073 (taskMaskAffinitySet): Likewise.
2074 * libgnarl/s-vxwext__kernel.ads
2075 (STATUS): New subtype.
2076 (OK): New STATUS constant.
2077 (ERROR): Likewise.
2078 (Interrupt_Connect): Return STATUS
2079 (semDelete): Likewise.
2080 (Task_Cont): Likewise.
2081 (Task_Stop): Likewise.
2082 (Set_Time_Slice): Likewise.
2083 * libgnarl/s-vxwext__rtp-smp.adb
2084 (IERR): Renamed from ERROR.
2085 (Int_Lock): return IERR constant vice ERROR.
2086 (Interrupt_Connect): Return STATUS.
2087 (semDelete): Likewise.
2088 (Set_Time_Slice): Likewise.
2089 * libgnarl/s-vxwext__rtp.adb
2090 (IERR): Renamed from ERROR.
2091 (Int_Lock): return IERR constant vice ERROR.
2092 (Int_Unlock): Return STATUS.
2093 (semDelete): Likewise.
2094 (Set_Time_Slice): Likewise.
2095 (taskCpuAffinitySet): Return IERR (int)
2096 (taskMaskAffinitySet): Likewise.
2097 * libgnarl/s-vxwext__rtp.ads
2098 (STATUS): New subtype.
2099 (OK): New STATUS constant.
2100 (ERROR): Likewise.
2101 (Interrupt_Connect): Return STATUS
2102 (semDelete): Likewise.
2103 (Task_Cont): Likewise.
2104 (Task_Stop): Likewise.
2105 (Set_Time_Slice): Likewise.
2106
2107 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2108
2109 * prep.adb (Preprocess): Allow for more flexibility when
2110 Relaxed_RM_Semantics is set.
2111
2112 2021-09-22 Pierre-Alexandre Bazin <bazin@adacore.com>
2113
2114 * libgnat/a-strbou.adb: Turn SPARK_Mode on.
2115 * libgnat/a-strbou.ads: Write contracts.
2116 * libgnat/a-strfix.ads (Index): Fix grammar error in a comment.
2117 * libgnat/a-strsea.ads (Index): Likewise.
2118 * libgnat/a-strsup.adb: Rewrite the body to take into account
2119 the new definition of Super_String using Relaxed_Initialization
2120 and a predicate.
2121 (Super_Replicate, Super_Translate, Times): Added loop
2122 invariants, and ghost lemmas for Super_Replicate and Times.
2123 (Super_Trim): Rewrite the body using search functions to
2124 determine the cutting points.
2125 (Super_Element, Super_Length, Super_Slice, Super_To_String):
2126 Remove (now written as expression functions in a-strsup.ads).
2127 * libgnat/a-strsup.ads: Added contracts.
2128 (Super_Element, Super_Length, Super_Slice, Super_To_String):
2129 Rewrite as expression functions.
2130
2131 2021-09-22 Yannick Moy <moy@adacore.com>
2132
2133 * sem_ch13.adb (Build_Predicate_Functions): Add guard.
2134
2135 2021-09-22 Doug Rupp <rupp@adacore.com>
2136
2137 * libgnarl/s-vxwext.ads (BOOL): New int type.
2138 (Interrupt_Context): Change return type to BOOL.
2139 * libgnarl/s-vxwext__kernel.ads: Likewise.
2140 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
2141 * libgnarl/s-vxwext__rtp.adb: Likewise.
2142 * libgnarl/s-vxwext__rtp.ads: Likewise.
2143 * libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change
2144 return type to BOOL.
2145 * libgnarl/s-osinte__vxworks.ads (BOOL) New subtype.
2146 (taskIsSuspended): Change return type to BOOL.
2147 (Interrupt_Context): Change return type to BOOL. Adjust comments
2148 accordingly.
2149 * libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL):
2150 use type.
2151 (Is_Task_Context): Test Interrupt_Context against 0.
2152 * libgnat/i-vxwork.ads (BOOL): New int.
2153 (intContext): Change return type to BOOL. Adjust comments.
2154 * libgnat/i-vxwork__x86.ads: Likewise.
2155
2156 2021-09-22 Piotr Trojanek <trojanek@adacore.com>
2157
2158 * sem_aux.adb, sem_aux.ads (Package_Body): Moved from GNATprove.
2159 * sem_elab.adb (Spec_And_Body_From_Entity): Refine type of parameter.
2160
2161 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2162
2163 * doc/gnat_ugn/platform_specific_information.rst: Improve doc
2164 on permission and containers.
2165 * gnat_ugn.texi: Regenerate.
2166
2167 2021-09-22 Yannick Moy <moy@adacore.com>
2168
2169 * atree.adb (Rewrite): Fix parent node of shared aspects.
2170 * atree.ads (Rewrite): Add ??? comment on incorrect
2171 documentation.
2172 * einfo-utils.adb (Known_Esize): Fix logic.
2173 * sem_ch13.adb (Alignment_Check_For_Size_Change,
2174 Analyze_Attribute_Definition_Clause): Protect against unset
2175 Size.
2176
2177 2021-09-22 Yannick Moy <moy@adacore.com>
2178
2179 * freeze.adb (Build_Renamed_Body): Special case for GNATprove.
2180 * sem_ch6.adb (Analyze_Expression_Function): Remove useless test
2181 for a node to come from source, which becomes harmful otherwise.
2182
2183 2021-09-22 Justin Squirek <squirek@adacore.com>
2184
2185 * ali.adb, ali.ads (Scan_ALI): Remove use of deprecated
2186 parameter Ignore_ED, and all specification for Lower in call to
2187 Get_File_Name.
2188 * ali-util.adb (Read_Withed_ALIs): Modify call to Scan_ALI.
2189 * clean.adb (Clean_Executables): Likewise.
2190 * gnatbind.adb (Add_Artificial_ALI_File, Executable section):
2191 Likewise.
2192 * gnatlink.adb (Executable section): Likewise.
2193 * gnatls.adb (Executable section): Likewise.
2194 * make.adb (Check, Wait_For_Available_Slot): Likewise.
2195 * aspects.ads: Add Aspect_No_Controlled_Parts to
2196 Nonoverridable_Aspect_Id
2197 * opt.ads: Remove function pointers used as a workaround for
2198 ASIS.
2199 * osint-c.adb (Executable section): Remove setting of function
2200 pointer workarounds needed for ASIS.
2201 * osint.adb (Read_Default_Search_Dirs): Correct behavior to
2202 detect EOL characters.
2203 * par_sco.adb (Output_Header): Remove comment regarding use of
2204 First_Sloc.
2205 (Traverse_Sync_Definition): Renamed to
2206 Traverse_Protected_Or_Task_Definition.
2207 * pprint.adb (Interal_List_Name): Add description about purpose,
2208 and refactor conditional statement.
2209 (Prepend): Removed.
2210 * repinfo.adb (List_Rep_Info, Write_Info_Line): Remove use of
2211 subprogram pointer.
2212 * scng.adb (Scan): Remove CODEFIX question, and minor comment
2213 change.
2214 * sem_attr.adb (Analyze_Image_Attribute): Remove special
2215 processing for 'Img.
2216 * sem_ch6.adb (Check_Untagged_Equality): Add RM reference.
2217 (FCE): Add comment describing behavior.
2218 (Is_Non_Overriding_Operation): Minor comment formatting change.
2219 * sem_type.adb (Is_Actual_Subprogram): Add comment about
2220 Comes_From_Source test.
2221 (Matching_Types): Describe non-matching cases.
2222 * sem_util.adb (Is_Confirming): Add stub case for
2223 No_Controlled_Parts.
2224
2225 2021-09-22 Yannick Moy <moy@adacore.com>
2226
2227 * sem_ch13.adb (Build_Predicate_Functions): Access
2228 Predicated_Parent only on subtypes.
2229
2230 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2231
2232 * sem_prag.adb (Process_Import_Or_Interface): Relax error when
2233 Relaxed_RM_Semantics.
2234
2235 2021-09-22 Steve Baird <baird@adacore.com>
2236
2237 * libgnat/s-regpat.adb (Match): Handle the case where Self.First
2238 is not NUL (so we know the first character we are looking for),
2239 but case-insensitive matching has
2240 been specified.
2241 (Optimize): In the case of an EXACTF Op, set Self.First as is
2242 done in the EXACT case, except with the addition of a call to
2243 Lower_Case.
2244
2245 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2246
2247 * libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete.
2248 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o.
2249 (GNATBIND_OBJS): Likewise.
2250
2251 2021-09-22 Yannick Moy <moy@adacore.com>
2252
2253 * einfo.ads: Fix comments.
2254 * exp_aggr.adb: Fix variable name.
2255 * exp_util.adb: Fix comments.
2256 * sem_ch13.adb: Fix comments.
2257 * sem_ch3.adb: Fix comments and variable name.
2258
2259 2021-09-22 Doug Rupp <rupp@adacore.com>
2260
2261 * libgnarl/s-osinte__vxworks.ads: Make procedure vice function.
2262 * libgnarl/s-vxwext.ads: Likewise.
2263 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
2264 * libgnarl/s-vxwext__kernel.adb: Likewise.
2265 * libgnarl/s-vxwext__kernel.ads: Likewise.
2266 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
2267 * libgnarl/s-vxwext__rtp.adb: Likewise.
2268 * libgnarl/s-vxwext__rtp.ads: Likewise.
2269 * libgnarl/s-taprop__vxworks.adb (Stop_All_Tasks): Call
2270 Int_Unlock as a procedure.
2271
2272 2021-09-22 Doug Rupp <rupp@adacore.com>
2273
2274 * libgnarl/s-osinte__vxworks.ads (SVE): New package renaming
2275 (vx_freq_t): New subtype.
2276 (sysClkRateGet): Return vx_freq_t.
2277 * libgnarl/s-vxwext.ads (vx_freq_t): New type.
2278 * libgnarl/s-vxwext__kernel.ads: Likewise.
2279 * libgnarl/s-vxwext__rtp.ads: Likewise.
2280
2281 2021-09-22 Ghjuvan Lacambre <lacambre@adacore.com>
2282
2283 * sem_case.adb (Composite_Case_Ops): Replace 'Image with
2284 Error_Msg_Uint.
2285
2286 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2287
2288 * exp_ch4.adb (Expand_N_If_Expression): Generate an intermediate
2289 temporary when the expression is a condition in an outer decision
2290 and control-flow optimizations are suppressed.
2291
2292 2021-09-22 Steve Baird <baird@adacore.com>
2293
2294 * exp_ch5.adb (Expand_General_Case_Statement.Pattern_Match): Add
2295 new function Indexed_Element to handle array element
2296 comparisons. Handle case choices that are array aggregates,
2297 string literals, or names denoting constants.
2298 * sem_case.adb (Composite_Case_Ops.Array_Case_Ops): New package
2299 providing utilities needed for casing on arrays.
2300 (Composite_Case_Ops.Choice_Analysis): If necessary, include
2301 array length as a "component" (like a discriminant) when
2302 traversing components. We do not (yet) partition choice analysis
2303 to deal with unequal length choices separately. Instead, we
2304 embed everything in the minimum-dimensionality Cartesian product
2305 space needed to handle all choices properly; this is determined
2306 by the length of the longest choice pattern.
2307 (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
2308 Include length as a "component" in the traversal if necessary.
2309 (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
2310 Add support for case choices that are string literals or names
2311 denoting constants.
2312 (Composite_Case_Ops.Choice_Analysis): Include length as a
2313 "component" in the analysis if necessary.
2314 (Check_Choices.Check_Case_Pattern_Choices.Ops.Value_Sets.Value_Index_Count):
2315 Improve error message when capacity exceeded.
2316 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
2317 documentation to reflect current implementation status.
2318 * gnat_rm.texi: Regenerate.
2319
2320 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2321
2322 * freeze.adb (Check_Component_Storage_Order): Give a specific error
2323 message for non-byte-aligned component in the packed case. Replace
2324 "composite" with "record" in both cases.
2325
2326 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2327
2328 * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: Make compatible
2329 with No_Elaboration_Code_All.
2330 * libgnarl/s-taskin.ads, libgnarl/s-tassta.adb: Adjust
2331 accordingly.
2332
2333 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2334
2335 * sem_ch6.adb (Check_Returns): Change message on missing return.
2336
2337 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2338
2339 * gnatfind.adb, gnatxref.adb: Mark these tools as obsolete
2340 before removing them completely.
2341
2342 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2343
2344 * gcc-interface/decl.c (range_cannot_be_superflat): Tweak comments.
2345
2346 2021-09-21 Doug Rupp <rupp@adacore.com>
2347
2348 * init.c (__gnat_error_handler) [LynxOS]: Add a comment about
2349 missing optional args.
2350
2351 2021-09-21 Yannick Moy <moy@adacore.com>
2352
2353 * gen_il-gen.adb (Put_Opt_Subtype): Add suffix.
2354
2355 2021-09-21 Justin Squirek <squirek@adacore.com>
2356
2357 * sem_util.adb (Accessibility_Level): Remove spurious special
2358 case for protected type components.
2359 * exp_ch4.adb (Generate_Accessibility_Check): Use general
2360 Accessibility_Level instead of the low-level function
2361 Type_Access_Level.
2362
2363 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2364
2365 * gnat_ugn.texi: Regenerate.
2366
2367 2021-09-21 Matthieu Eyraud <eyraud@adacore.com>
2368
2369 * par_sco.adb (Traverse_One): Add support for pragma Invariant /
2370 Type_Invariant.
2371
2372 2021-09-21 Bob Duff <duff@adacore.com>
2373
2374 * gen_il-gen.adb (Put_Opt_Subtype): Print out subtypes of the
2375 form:
2376 subtype Opt_N_Declaration is
2377 Node_Id with Predicate =>
2378 Opt_N_Declaration = Empty or else
2379 Opt_N_Declaration in N_Declaration_Id;
2380 One for each node or entity type, with the predicate allowing
2381 Empty.
2382 * atree.adb (Parent, Set_Parent): Remove unnecessary "Atree.".
2383
2384 2021-09-21 Patrick Bernardi <bernardi@adacore.com>
2385
2386 * bindgen.adb (Gen_Adainit): For targets that suppress the
2387 standard library: set the default stack size global variable if
2388 a value is provided via the -d switch, and generate a call to
2389 __gnat_initialize_stack_limit if stack checking using stack
2390 limits is enabled.
2391
2392 2021-09-21 Bob Duff <duff@adacore.com>
2393
2394 * sem_ch13.adb (Stream_Size): Print message about allowed stream
2395 sizes even if other error were already found. This avoids
2396 falling into the 'else', which prints "Stream_Size cannot be
2397 given for...", which is misleading -- the Size COULD be given if
2398 it were correct.
2399
2400 2021-09-21 Daniel Mercier <mercier@adacore.com>
2401
2402 * exp_util.adb (Build_Temporary): In case of an external DISCR
2403 symbol, set the related expression for CodePeer so that a more
2404 comprehensible message can be emitted to the user.
2405
2406 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2407
2408 * libgnat/s-dwalin.adb (Parse_Header): Tweak comments.
2409 (Read_Entry_Format_Array): Tweak exception message.
2410 (Symbolic_Address.Set_Result): Likewise.
2411
2412 2021-09-21 Ed Schonberg <schonberg@adacore.com>
2413
2414 * exp_ch7.adb (Make_Init_Call): Add guard to protect against a
2415 missing initialization procedure for a type.
2416
2417 2021-09-21 Doug Rupp <rupp@adacore.com>
2418
2419 * Makefile.rtl: Remove unused VxWorks sections.
2420 * libgnarl/s-vxwext__noints.adb: Remove.
2421 * libgnarl/s-vxwext__vthreads.ads: Remove.
2422 * libgnat/a-elchha__vxworks-ppc-full.adb: Remove.
2423 * libgnat/s-osprim__vxworks.adb: Remove.
2424 * libgnat/s-osvers__vxworks-653.ads: Remove.
2425 * libgnat/system-vxworks-e500-vthread.ads: Remove.
2426 * libgnat/system-vxworks-ppc-vthread.ads: Remove.
2427 * libgnat/system-vxworks-x86-vthread.ads: Remove.
2428
2429 2021-09-21 Bob Duff <duff@adacore.com>
2430
2431 * uintp.ads, uintp.adb (UI_Is_In_Int_Range): Change the type of
2432 the formal parameter to Valid_Uint. Remove code that preserved
2433 the previous behavior, and replace it with an assertion. The
2434 previous behavior is no longer needed given the recent change to
2435 gigi.
2436 (No, Present): Add comment.
2437
2438 2021-09-21 Bob Duff <duff@adacore.com>
2439
2440 * sem_eval.adb (Fold_Shift): Replace an if_expression with an
2441 if_statement.
2442
2443 2021-09-21 Bob Duff <duff@adacore.com>
2444
2445 * uintp.ads, uintp.adb: Add assertions.
2446 (Ubool, Opt_Ubool): New "boolean" subtypes.
2447 (UI_Is_In_Int_Range): The parameter should probably be
2448 Valid_Uint, but we don't change that for now, because it causes
2449 failures in gigi.
2450 * sem_util.ads, sem_util.adb (Is_True, Is_False,
2451 Static_Boolean): Use Opt_Ubool subtype. Document the fact that
2452 Is_True (No_Uint) = True. Implement Is_False in terms of
2453 Is_True. We considered changing Static_Boolean to return Uint_1
2454 in case of error, but that doesn't fit in well with
2455 Static_Integer.
2456 (Has_Compatible_Alignment_Internal): Deal with cases where Offs
2457 is No_Uint. Change one "and" to "and then" to ensure we don't
2458 pass No_Uint to ">", which would violate the new assertions.
2459 * exp_util.adb, freeze.adb, sem_ch13.adb: Avoid violating new
2460 assertions in Uintp.
2461
2462 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2463
2464 * libgnat/s-dwalin.adb (To_File_Name): Fetch only the last string
2465 from the .debug_line_str section.
2466 (Symbolic_Address.Set_Result): Likewise.
2467
2468 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2469
2470 * libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx
2471 and DW_FORM_implicit_const. Replace Constraint_Error with
2472 Dwarf_Error.
2473
2474 2021-09-21 Ghjuvan Lacambre <lacambre@adacore.com>
2475
2476 * exp_pakd.adb (Expand_Packed_Not): Replace expression with
2477 statement.
2478
2479 2021-09-21 Ghjuvan Lacambre <lacambre@adacore.com>
2480
2481 * sem_eval.adb (Is_Static_Subtype): Take predicates created
2482 through "predicate" pragma into account.
2483
2484 2021-09-21 Frederic Konrad <konrad@adacore.com>
2485
2486 * Makefile.rtl (aarch64-rtems*): Add GNATRTL_128BIT_PAIRS to
2487 the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
2488 the EXTRA_GNATRTL_NONTASKING_OBJS list.
2489
2490 2021-09-21 Gary Dismukes <dismukes@adacore.com>
2491
2492 * sem_ch4.adb (Remove_Abstract_Operations): Add condition to
2493 test for an E_Operator as part of criteria for setting
2494 Abstract_Op on interpretations involving predefined operators.
2495
2496 2021-09-21 Javier Miranda <miranda@adacore.com>
2497
2498 * exp_ch6.adb (Expand_Simple_Function_Return): For explicit
2499 dereference of type conversion, enable code that ensures that
2500 the tag of the result is that of the result type.
2501
2502 2021-09-21 Bob Duff <duff@adacore.com>
2503
2504 * einfo-utils.adb: Add support (currently disabled) for using
2505 "initial zero" instead of "Uint_0" to represent "unknown". Call
2506 Known_ functions, instead of evilly duplicating their code
2507 inline.
2508 * fe.h (No_Uint_To_0): New function to convert No_Uint to
2509 Uint_0, in order to preserve existing behavior.
2510 (Copy_Esize, Copy_RM_Size): New imports from Einfo.Utils.
2511 * cstand.adb: Set size fields of Standard_Debug_Renaming_Type
2512 and Standard_Exception_Type.
2513 * checks.adb, exp_attr.adb, exp_ch3.adb, exp_ch5.adb,
2514 exp_ch6.adb, exp_pakd.adb, exp_util.adb, freeze.adb, itypes.adb,
2515 layout.adb, repinfo.adb, sem_attr.adb, sem_ch12.adb,
2516 sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch7.adb,
2517 sem_util.adb: Protect calls with Known_..., use Copy_... Remove
2518 assumption that Uint_0 represents "unknown".
2519 * types.ads (Nonzero_Int): New subtype.
2520 * gcc-interface/decl.c, gcc-interface/trans.c: Protect calls
2521 with Known_... and use Copy_... as appropriate, to avoid
2522 blowing up in unknown cases. Similarly, call No_Uint_To_0 to
2523 preserve existing behavior.
2524
2525 2021-09-21 Steve Baird <baird@adacore.com>
2526
2527 * sem_ch13.adb (Analyze_Aspect_Specifications): Add a new nested
2528 function, Directly_Specified, and then use it in the
2529 implementation of the required check.
2530
2531 2021-09-21 Steve Baird <baird@adacore.com>
2532
2533 * libgnat/a-costso.ads, libgnat/a-costso.adb: A new library
2534 unit, Ada.Containers.Stable_Sorting, which exports a pair of
2535 generics (one within the other) which are instantiated by each
2536 of the 5 doubly-linked list container generics to implement
2537 their respective Sort procedures. We use a pair of generics,
2538 rather than a single generic, in order to further reduce code
2539 duplication. The outer generic takes a formal private Node_Ref
2540 type representing a reference to a linked list element. For some
2541 instances, the corresponding actual parameter will be an access
2542 type; for others, it will be the index type for an array.
2543 * Makefile.rtl: Include new Ada.Containers.Stable_Sorting unit.
2544 * libgnat/a-cbdlli.adb, libgnat/a-cdlili.adb,
2545 libgnat/a-cfdlli.adb, libgnat/a-cidlli.adb, libgnat/a-crdlli.adb
2546 (Sort): Replace existing Sort implementation with a call to an
2547 instance of
2548 Ada.Containers.Stable_Sorting.Doubly_Linked_List_Sort. Declare
2549 the (trivial) actual parameters needed to declare that instance.
2550 * libgnat/a-cfdlli.ads: Fix a bug encountered during testing in
2551 the postcondition for M_Elements_Sorted. With a partial
2552 ordering, it is possible for all three of (X < Y), (Y < X),
2553 and (X = Y) to be simultaneously false, so that case needs to
2554 handled correctly.
2555
2556 2021-09-21 Piotr Trojanek <trojanek@adacore.com>
2557
2558 * errout.adb (Error_Msg_Internal): Fix references to Sptr and
2559 Optr in comment; fix grammar of "low-level" where it is used as
2560 an adjective.
2561
2562 2021-09-21 Piotr Trojanek <trojanek@adacore.com>
2563
2564 * errout.adb (Write_Source_Code_Lines): Use Cur_Loc before
2565 incrementing it, so that we don't need to decrement it.
2566
2567 2021-09-21 Yannick Moy <moy@adacore.com>
2568
2569 * errout.adb (Get_Line_End): Do not allow the result to go past
2570 the end of the buffer.
2571
2572 2021-09-21 Ed Schonberg <schonberg@adacore.com>
2573
2574 * sem_ch3.adb (Process_Discriminant_Expressions): If the
2575 constraint is for a Component_Definition that appears in a
2576 Component_Declaration, the entity to be used to create the
2577 potentially global symbol is the Defining_Identifier of the
2578 Component_Declaration.
2579
2580 2021-09-21 Bob Duff <duff@adacore.com>
2581
2582 * libgnat/a-stbufi.ads, libgnat/a-stbufi.adb: Change all
2583 occurrences of GNAT.OS_Lib to System.OS_Lib.
2584
2585 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2586
2587 * inline.adb (Has_Excluded_Declaration): Remove redundant guard;
2588 the guarded code will call First on a No_List, which is
2589 well-defined and gives Empty.
2590
2591 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2592
2593 * inline.adb (Has_Excluded_Declaration): Rename and reduce scope
2594 of a local variable.
2595
2596 2021-09-20 Bob Duff <duff@adacore.com>
2597
2598 * uintp.ads, uintp.adb (Present, No): New functions for
2599 comparing with No_Uint.
2600 * checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb,
2601 exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb,
2602 exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb,
2603 sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb,
2604 sinfo-utils.adb, treepr.adb: Use Present (...) instead of "...
2605 /= No_Uint", and No (...) instead of "... = No_Uint".
2606
2607 2021-09-20 Claire Dross <dross@adacore.com>
2608
2609 * libgnat/s-ficobl.ads: The entire package has a SPARK_Mode =>
2610 Off aspect.
2611
2612 2021-09-20 Doug Rupp <rupp@adacore.com>
2613
2614 * libgnat/a-calend.adb: Remove time_t, replace with OS_Time.
2615 * libgnat/s-os_lib.ads: Fix comments regarding time_t conversion
2616 functions to reflect the use of To_Ada in in Ada.Calendar
2617 package body.
2618 * sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of
2619 time_t.
2620
2621 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2622
2623 * sem_res.adb (Resolve_Actual): Remove
2624
2625 2021-09-20 Bob Duff <duff@adacore.com>
2626
2627 * einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads,
2628 gen_il-fields.ads: Remove unused and no-longer-used routines.
2629 Move related routines together. Rewrite incorrect
2630 documentation, and documentation that will be incorrect when
2631 e.g. Esize-related routines are fixed. Remove unused field
2632 Normalized_Position_Max.
2633 * cstand.adb, exp_pakd.adb, freeze.adb,
2634 gen_il-gen-gen_entities.adb, itypes.adb, layout.adb,
2635 sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
2636 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
2637 sem_util.adb, ttypes.ads: Update calls to routines removed from
2638 or renamed in Einfo.Utils.
2639 * uintp.ads (Upos): Fix this subtype, which was unintentionally
2640 declared to include Uint_0.
2641
2642 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2643
2644 * exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in
2645 comment.
2646 * exp_disp.adb (Mark_DT): Remove unnecessary initialization of
2647 I_Depth.
2648
2649 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2650
2651 * contracts.adb (Add_Contract_Item): Accept volatile-related
2652 properties on constants.
2653 (Analyze_Object_Contract): Check external properties on
2654 constants; accept volatile constants.
2655 (Check_Type_Or_Object_External_Properties): Replace "variable"
2656 with "object" in error messages; replace Decl_Kind with a local
2657 constant.
2658 * sem_prag.adb (Analyze_Pragma): Accept volatile-related
2659 properties on constants.
2660
2661 2021-09-20 Pierre-Alexandre Bazin <bazin@adacore.com>
2662
2663 * libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas
2664 for proof.
2665 (Delete): Added assertions for proof, and conditions to avoid
2666 overflow.
2667 (Head): Added loop invariant.
2668 (Insert): Same as Delete.
2669 (Move): Declared with SPARK_Mode Off.
2670 (Overwrite): Added assertions for proof, and conditions to avoid
2671 overflow.
2672 (Replace_Slice): Added assertions for proof, and conditions to
2673 avoid overflow.
2674 (Tail): Added loop invariant and avoided overflows.
2675 (Translate): Added loop invariants.
2676 (Trim): Ensured empty strings returned start at 1.
2677 * libgnat/a-strfix.ads (Index): Rewrote contract cases for
2678 easier proof.
2679 (Index_Non_Blank): Separated the null string case.
2680 (Count): Specified Mapping shouldn't be null.
2681 (Find_Token): Specified Source'First should be Positive when no
2682 From is given.
2683 (Translate): Specified Mapping shouldn't be null.
2684 ("*"): Rewrote postcondition for easier proof.
2685 * libgnat/a-strsea.adb (Belongs): Added postcondition.
2686 (Count): Rewrote loops and added loop invariants to avoid
2687 overflows.
2688 (Find_Token): Added loop invariants.
2689 (Index): Rewrote loops to avoid overflows and added loop
2690 invariants for proof.
2691 (Index_Non_Blank): Added loop invariants.
2692 (Is_Identity): New function isolated without SPARK_Mode.
2693 * libgnat/a-strsea.ads: Fix starting comment as package is no
2694 longer private.
2695 (Match): Declared ghost expression function Match.
2696 (Is_Identity): Described identity in the postcondition.
2697 (Index, Index_Non_Blank, Count, Find_Token): Added contract from
2698 a-strfix.ads.
2699
2700 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2701
2702 * sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after
2703 specs; fix typo in header box; cleanup whitespace.
2704
2705 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2706
2707 * libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF.
2708
2709 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2710
2711 * adaint.c (__gnat_get_executable_load_address): Add Win32 support.
2712 * libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment.
2713 (Object_File): Minor reformatting.
2714 (ELF_Object_File): Uncomment predicate.
2715 (PECOFF_Object_File): Likewise.
2716 (XCOFF32_Object_File): Likewise.
2717 * libgnat/s-objrea.adb: Minor reformatting throughout.
2718 (Get_Load_Address): Implement for PE-COFF.
2719 * libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements
2720 and use consistent wording in comments.
2721 (Dwarf_Context): Set type of Low, High and Load_Address to Address.
2722 * libgnat/s-dwalin.adb (Get_Load_Displacement): New function.
2723 (Is_Inside): Call Get_Load_Displacement.
2724 (Low_Address): Likewise.
2725 (Open): Adjust to type change.
2726 (Aranges_Lookup): Change type of Addr to Address.
2727 (Read_Aranges_Entry): Likewise for Start and adjust.
2728 (Enable_Cach): Adjust to type change.
2729 (Symbolic_Address): Change type of Addr to Address.
2730 (Symbolic_Traceback): Call Get_Load_Displacement.
2731
2732 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2733
2734 * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table,
2735 so it is executed regardless of the Generate_SCIL mode.
2736
2737 2021-09-20 Ed Schonberg <schonberg@adacore.com>
2738
2739 * exp_util.ads (Force_Evaluation): Add formal parameter
2740 Discr_Number, to indicate discriminant expression for which an
2741 external name must be created.
2742 (Remove_Side_Effects): Ditto.
2743 * exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with
2744 added parameter.
2745 (Remove_Side_Effects, Build_Temporary): If Discr_Number is
2746 positive, create an external name with suffix DISCR and the
2747 given discriminant number, analogous to what is done for
2748 temporaries for array type bounds.
2749 * sem_ch3.adb (Process_Discriminant_Expressions): If the
2750 constraint is for an object or component declaration and the
2751 corresponding entity may be visible in another unit, invoke
2752 Force_Evaluation with the new parameter.
2753
2754 2021-09-20 Arnaud Charlet <charlet@adacore.com>
2755
2756 * gen_il-internals.ads (Invalid_Val): Remove, unused and
2757 generates warnings.
2758
2759 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2760
2761 * exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine
2762 types of local constants.
2763
2764 2021-09-20 Gary Dismukes <dismukes@adacore.com>
2765
2766 * exp_attr.adb (Expand_N_Attribute_Reference): Fold
2767 Preelaborable_Initialization attribute in cases where it hasn't
2768 been folded by the analyzer.
2769 * exp_disp.adb (Original_View_In_Visible_Part): This function is
2770 removed and moved to sem_util.adb.
2771 * sem_attr.adb (Attribute_22): Add
2772 Attribute_Preelaborable_Initialization as an Ada 2022 attribute.
2773 (Analyze_Attribute, Attribute_Preelaborable_Initialization):
2774 Check that the prefix of the attribute is either a formal
2775 private or derived type, or a composite type declared within the
2776 visible part of a package or generic package.
2777 (Eval_Attribute): Perform folding of
2778 Preelaborable_Initialization attribute based on
2779 Has_Preelaborable_Initialization applied to the prefix type.
2780 * sem_ch3.adb (Resolve_Aspects): Add specialized code for
2781 Preelaborable_Initialization used at the end of a package
2782 visible part for setting Known_To_Have_Preelab_Init on types
2783 that are specified with True or that have a conjunction of one
2784 or more P_I attributes applied to formal types.
2785 * sem_ch7.adb (Analyze_Package_Specification): On call to
2786 Has_Preelaborable_Initialization, pass True for new formal
2787 Formal_Types_Have_Preelab_Init, so that error checking treats
2788 subcomponents that are declared within types in generics as
2789 having preelaborable initialization when the subcomponents are
2790 of formal types.
2791 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for
2792 P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since
2793 this aspect is handled specially and the
2794 Known_To_Have_Preelab_Init flag will get set on types that have
2795 the aspect by other means.
2796 (Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for
2797 Aspect_Preelaborable_Initialization for allowing the aspect to
2798 be specified on formal type declarations.
2799 (Is_Operational_Item): Treat Attribute_Put_Image as an
2800 operational attribute. The need for this was encountered while
2801 working on these changes.
2802 * sem_util.ads (Has_Preelaborable_Initialization): Add
2803 Formal_Types_Have_Preelab_Init as a new formal parameter that
2804 defaults to False.
2805 (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New
2806 function.
2807 (Original_View_In_Visible_Part): Moved here from exp_disp.adb,
2808 so it can be called by Analyze_Attribute.
2809 * sem_util.adb (Has_Preelaborable_Initialization): Return True
2810 for formal private and derived types when new formal
2811 Formal_Types_Have_Preelab_Init is True, and pass along the
2812 Formal_Types_Have_Preelab_Init flag in the array component case.
2813 (Check_Components): Pass along Formal_Types_Have_Preelab_Init
2814 flag on call to Has_Preelaborable_Initialization.
2815 (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function
2816 that returns True when passed an expression that includes one or
2817 more attributes for Preelaborable_Initialization applied to
2818 prefixes that denote formal types.
2819 (Is_Formal_Preelab_Init_Attribute): New utility function nested
2820 within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that
2821 determines whether a node is a P_I attribute applied to a
2822 generic formal type.
2823 (Original_View_In_Visible_Part): Moved here from exp_util.adb,
2824 so it can be called by Analyze_Attribute.
2825 * snames.ads-tmpl: Add note near the start of spec giving
2826 details about what needs to be done when adding a name that
2827 corresponds to both an attribute and a pragma. Delete existing
2828 occurrence of Name_Preelaborable_Initialization, and add a note
2829 comment in the list of Name_* constants at that place,
2830 indicating that it's included in type Pragma_Id, etc., echoing
2831 other such comments for names that are both an attribute and a
2832 pragma. Insert Name_Preelaborable_Initialization in the
2833 alphabetized set of Name_* constants corresponding to
2834 attributes (between First_Attribute_Name and
2835 Last_Attribute_Name).
2836 (type Attribute_Id): Add new literal
2837 Attribute_Preelaborable_Initialization.
2838 (type Pragma_Id): Move Pragma_Preelaborable_Initialization from
2839 its current position to the end of the type, in the special set
2840 of pragma literals that have corresponding atttributes. Add to
2841 accompanying comment, indicating that functions Get_Pragma_Id
2842 and Is_Pragma_Name need to be updated when adding a pragma
2843 literal to the special set.
2844 * snames.adb-tmpl (Get_Pragma_Id): Add case alternative for
2845 Pragma_Preelaborable_Initialization.
2846 (Is_Pragma_Name): Add test for
2847 Name_Preelaborable_Initialization.
2848
2849 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2850
2851 * sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check.
2852
2853 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2854
2855 * sem_ch3.adb (Build_Discriminant_Constraints): Exit once a
2856 first discriminant is found and the Discrim_Present flag is set.
2857
2858 2021-09-20 Bob Duff <duff@adacore.com>
2859
2860 * gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in
2861 Generate_SCIL and GNATprove_Mode.
2862 * repinfo.adb (List_Common_Type_Info): Fix comment.
2863
2864 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2865
2866 * libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback,
2867 add clause for System.Traceback_Entries and alphabetize.
2868 (AET): Delete.
2869 (STE): New package renaming.
2870 (Symbolic_Traceback): Adjust.
2871 * libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback
2872 and System.Traceback_Entries.
2873 (Symbolic_Traceback): Adjust.
2874
2875 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2876
2877 * sem_ch4.adb (Find_Non_Universal_Interpretations): Check if
2878 types are compatible before adding interpretation.
2879
2880 2021-09-20 Justin Squirek <squirek@adacore.com>
2881
2882 * exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect
2883 against calculating accessibility levels against internal
2884 compiler-generated types.
2885
2886 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2887
2888 * sem_dim.adb (Dimensions_Msg_Of): Capitalize comment.
2889
2890 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2891
2892 * adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning
2893 logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
2894 * back_end.adb (Scan_Back_End_Switches): Replace switch-scanning
2895 logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
2896 * backend_utils.adb: New file.
2897 * backend_utils.ads: New file.
2898 * gcc-interface/Make-lang.in: Add ada/backend_utils.o.
2899
2900 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2901
2902 * atree.adb (Get_32_Bit_Field): Declare result before returning.
2903
2904 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2905
2906 * exp_ch7.adb (Expand_N_Package_Body): Replace
2907 Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package.
2908 * gnat_cuda.adb (Expand_CUDA_Package): New procedure.
2909 (Build_And_Insert_Cuda_Initialization): Make internal.
2910 * gnat_cuda.ads (Expand_CUDA_Package): New procedure.
2911 (Build_And_Insert_Cuda_Initialization): Remove from spec.
2912
2913 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2914
2915 * usage.adb (Usage): Update -gnatw.c messages.
2916
2917 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2918
2919 * sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted.
2920
2921 2021-09-15 Alexandre Oliva <oliva@adacore.com>
2922
2923 * gcc-interface/utils.c: Include opts.h.
2924 (handle_zero_call_used_regs_attribute): New.
2925 (gnat_internal_attribute_table): Add zero_call_used_regs.
2926
2927 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2928
2929 PR ada/101970
2930 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>:
2931 Use an unchecked conversion instead of a regular conversion in the
2932 enumeration case and remove Conversion_OK flag in the integer case.
2933 <Attribute_Pos>: Remove superfluous test.
2934
2935 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2936
2937 * gcc-interface/decl.c (validate_size): Do not issue an error if the
2938 old size has overflowed.
2939
2940 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2941
2942 * gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make
2943 the representative array the debug type.
2944
2945 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2946
2947 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Turn variable
2948 into constant. Capitalize GCC in warning message.
2949 (intrin_arglists_compatible_p): Change parameter to pointer-to-const
2950 Adjust warning messages. Turn warning into error for vector types.
2951 (intrin_return_compatible_p): Likewise.
2952 (intrin_profiles_compatible_p): Change parameter to pointer-to-const
2953
2954 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2955
2956 * libgnat/s-atopri.ads (bool): Delete.
2957 (Atomic_Test_And_Set): Replace bool with Boolean.
2958 (Atomic_Always_Lock_Free): Likewise.
2959 * libgnat/s-aoinar.adb (Is_Lock_Free): Adjust.
2960 * libgnat/s-aomoar.adb (Is_Lock_Free): Likewise.
2961 * libgnat/s-aotase.adb (Atomic_Test_And_Set): Likewise.
2962 * libgnat/s-atopex.adb (Atomic_Compare_And_Exchange): Likewise.
2963 * gcc-interface/decl.c: Include gimple-expr.h.
2964 (intrin_types_incompatible_p): Delete.
2965 (intrin_arglists_compatible_p): Call types_compatible_p.
2966 (intrin_return_compatible_p): Likewise.
2967
2968 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2969
2970 * gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on
2971 pointer and reference types.
2972
2973 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2974
2975 PR ada/101385
2976 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2977 (-Wall): Minor fixes.
2978 (-w): Likewise.
2979 (-Werror): Document that it also sets -gnatwe by default.
2980 * gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is
2981 passed and move expansion of -gnatw switches to before -gnatez.
2982
2983 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2984
2985 * gcc-interface/utils.c (can_materialize_object_renaming_p): Do not
2986 call UI_Is_In_Int_Range on the result of Normalized_First_Bit.
2987
2988 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2989
2990 * gcc-interface/decl.c (gnat_to_gnu_entity) <is_type>: Declare new
2991 constant. Adjust error message issued by validate_size in the case
2992 of by-reference types.
2993 (validate_size): Always use the error strings passed by the caller.
2994
2995 2021-09-08 liuhongt <hongtao.liu@intel.com>
2996
2997 * gcc-interface/misc.c (gnat_post_options): Issue an error for
2998 -fexcess-precision=16.
2999
3000 2021-08-19 Arnaud Charlet <charlet@adacore.com>
3001
3002 PR ada/101924
3003 * gcc-interface/Make-lang.in (STAGE1_LIBS): Define on hpux.
3004
3005 2021-08-18 Eric Botcazou <ebotcazou@gcc.gnu.org>
3006
3007 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Fix
3008 thinko in latest change.
3009
3010 2021-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
3011
3012 PR debug/101598
3013 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the
3014 DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to
3015 UNKNOWN_LOCATION.
3016
3017 2021-07-25 Arnaud Charlet <charlet@adacore.com>
3018
3019 * libgnat/s-osprim__x32.adb: Add missing with clause.
3020
3021 2021-07-12 Pierre-Marie de Rodat <derodat@adacore.com>
3022
3023 * adaint.c (__gnat_number_of_cpus): Replace "#ifdef" by "#if
3024 defined".
3025
3026 2021-07-12 Eric Botcazou <ebotcazou@adacore.com>
3027
3028 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Add a
3029 parallel type only when -fgnat-encodings=all is specified.
3030 <E_Array_Type>: Use the PAT name and special suffixes only when
3031 -fgnat-encodings=all is specified.
3032 <E_Array_Subtype>: Build a special type for debugging purposes only
3033 when -fgnat-encodings=all is specified. Add a parallel type or use
3034 the PAT name only when -fgnat-encodings=all is specified.
3035 <E_Record_Type>: Generate debug info for the inner record types only
3036 when -fgnat-encodings=all is specified.
3037 <E_Record_Subtype>: Use a debug type for an artificial subtype only
3038 except when -fgnat-encodings=all is specified.
3039 (elaborate_expression_1): Reset need_for_debug when possible only
3040 except when -fgnat-encodings=all is specified.
3041 (components_to_record): Use XV encodings for variable size only
3042 when -fgnat-encodings=all is specified.
3043 (associate_original_type_to_packed_array): Add a parallel type only
3044 when -fgnat-encodings=all is specified.
3045 * gcc-interface/misc.c (gnat_get_array_descr_info): Do not return
3046 full information only when -fgnat-encodings=all is specified.
3047 * gcc-interface/utils.c (make_packable_type): Add a parallel type
3048 only when -fgnat-encodings=all is specified.
3049 (maybe_pad_type): Make the inner type a debug type only except when
3050 -fgnat-encodings=all is specified. Create an XVS type for variable
3051 size only when -fgnat-encodings=all is specified.
3052 (rest_of_record_type_compilation): Add a parallel type only when
3053 -fgnat-encodings=all is specified.
3054
3055 2021-07-12 Eric Botcazou <ebotcazou@adacore.com>
3056
3057 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Use a
3058 fixed lower bound if the index subtype is marked so, as well as a
3059 more efficient formula for the upper bound if the array cannot be
3060 superflat.
3061 (flb_cannot_be_superflat): New predicate.
3062 (cannot_be_superflat): Rename into...
3063 (range_cannot_be_superfla): ...this. Minor tweak.
3064
3065 2021-07-12 Bob Duff <duff@adacore.com>
3066
3067 * uintp.ads, types.h: New subtypes of Uint: Valid_Uint, Unat,
3068 Upos, Nonzero_Uint with predicates. These correspond to new
3069 field types in Gen_IL.
3070 * gen_il-types.ads (Valid_Uint, Unat, Upos, Nonzero_Uint): New
3071 field types.
3072 * einfo-utils.ads, einfo-utils.adb, fe.h (Known_Alignment,
3073 Init_Alignment): Use the initial zero value to represent
3074 "unknown". This will ensure that if Alignment is called before
3075 Set_Alignment, the compiler will blow up (if assertions are
3076 enabled).
3077 * atree.ads, atree.adb, atree.h, gen_il-gen.adb
3078 (Get_Valid_32_Bit_Field): New generic low-level getter for
3079 subtypes of Uint.
3080 (Copy_Alignment): New procedure to copy Alignment field even
3081 when Unknown.
3082 (Init_Object_Size_Align, Init_Size_Align): Do not bypass the
3083 Init_ procedures.
3084 * exp_pakd.adb, freeze.adb, layout.adb, repinfo.adb,
3085 sem_util.adb: Protect calls to Alignment with Known_Alignment.
3086 Use Copy_Alignment when it might be unknown.
3087 * gen_il-gen-gen_entities.adb (Alignment,
3088 String_Literal_Length): Use type Unat instead of Uint, to ensure
3089 that the field is always Set_ before we get it, and that it is
3090 set to a nonnegative value.
3091 (Enumeration_Pos): Unat.
3092 (Enumeration_Rep): Valid_Uint. Can be negative, but must be
3093 valid before fetching.
3094 (Discriminant_Number): Upos.
3095 (Renaming_Map): Remove.
3096 * gen_il-gen-gen_nodes.adb (Char_Literal_Value, Reason): Unat.
3097 (Intval, Corresponding_Integer_Value): Valid_Uint.
3098 * gen_il-internals.ads: New functions for dealing with special
3099 defaults and new subtypes of Uint.
3100 * scans.ads: Correct comments.
3101 * scn.adb (Post_Scan): Do not set Intval to No_Uint; that is no
3102 longer allowed.
3103 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Do
3104 not set Enumeration_Rep to No_Uint; that is no longer allowed.
3105 (Offset_Value): Protect calls to Alignment with Known_Alignment.
3106 * sem_prag.adb (Set_Atomic_VFA): Do not use Uint_0 to mean
3107 "unknown"; call Init_Alignment instead.
3108 * sinfo.ads: Minor comment fix.
3109 * treepr.adb: Deal with printing of new field types.
3110 * einfo.ads, gen_il-fields.ads (Renaming_Map): Remove.
3111 * gcc-interface/decl.c (gnat_to_gnu_entity): Use Known_Alignment
3112 before calling Alignment. This preserve some probably buggy
3113 behavior: if the alignment is not set, it previously defaulted
3114 to Uint_0; we now make that explicit. Use Copy_Alignment,
3115 because "Set_Alignment (Y, Alignment (X));" no longer works when
3116 the Alignment of X has not yet been set.
3117 * gcc-interface/trans.c (process_freeze_entity): Use
3118 Copy_Alignment.
3119
3120 2021-07-12 Eric Botcazou <ebotcazou@adacore.com>
3121
3122 * libgnat/s-dwalin.ads: Adjust a few comments left and right.
3123 (Line_Info_Register): Comment out unused components.
3124 (Line_Info_Header): Add DWARF 5 support.
3125 (Dwarf_Context): Likewise. Rename "prologue" into "header".
3126 * libgnat/s-dwalin.adb: Alphabetize "with" clauses.
3127 (DWARF constants): Add DWARF 5 support and reorder.
3128 (For_Each_Row): Adjust.
3129 (Initialize_Pass): Likewise.
3130 (Initialize_State_Machine): Likewise and fix typo.
3131 (Open): Add DWARF 5 support.
3132 (Parse_Prologue): Rename into...
3133 (Parse_Header): ...this and add DWARF 5 support.
3134 (Read_And_Execute_Isn): Rename into...
3135 (Read_And_Execute_Insn): ...this and adjust.
3136 (To_File_Name): Change parameter name and add DWARF 5 support.
3137 (Read_Entry_Format_Array): New procedure.
3138 (Skip_Form): Add DWARF 5 support and reorder.
3139 (Seek_Abbrev): Do not count entries and add DWARF 5 support.
3140 (Debug_Info_Lookup): Add DWARF 5 support.
3141 (Symbolic_Address.Set_Result): Likewise.
3142 (Symbolic_Address): Adjust.
3143
3144 2021-07-12 Bob Duff <duff@adacore.com>
3145
3146 * sem_ch13.adb (Duplicate_Clause): Add a helper routine
3147 Check_One_Attr, with a parameter for the attribute_designator we
3148 are looking for, and one for the attribute_designator of the
3149 current node (which are usually the same). For Size and
3150 Value_Size, call it twice, once for each.
3151 * errout.ads: Fix a typo.
3152
3153 2021-07-12 Piotr Trojanek <trojanek@adacore.com>
3154
3155 * exp_imgv.adb (Expand_Image_Attribute): Move rewriting to
3156 attribute Put_Image to the beginning of expansion of attribute
3157 Image.
3158
3159 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3160
3161 * gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line.
3162
3163 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3164
3165 * exp_put_image.adb (Make_Put_Image_Name): Fix style.
3166 (Image_Should_Call_Put_Image): Likewise.
3167 (Build_Image_Call): Likewise.
3168
3169 2021-07-09 Ghjuvan Lacambre <lacambre@adacore.com>
3170
3171 * par-ch6.adb (Contains_Import_Aspect): New function.
3172 (P_Subprogram): Acknowledge `Import` aspects.
3173
3174 2021-07-09 Bob Duff <duff@adacore.com>
3175
3176 * exp_put_image.adb (Make_Component_Attributes): Use
3177 Implementation_Base_Type to get the parent type. Otherwise,
3178 Parent_Type_Decl is actually an internally generated subtype
3179 declaration, so we blow up on
3180 Type_Definition (Parent_Type_Decl).
3181
3182 2021-07-09 Dmitriy Anisimkov <anisimko@adacore.com>
3183
3184 * gsocket.h: Include net/if.h to get IF_NAMESIZE constant.
3185 * s-oscons-tmplt.c: Define IPV6_FLOWINFO for Linux.
3186
3187 2021-07-09 Steve Baird <baird@adacore.com>
3188
3189 * libgnat/a-cdlili.adb: Reimplement
3190 Ada.Containers.Doubly_Linked_Lists.Generic_Sorting.Sort using
3191 Mergesort instead of the previous Quicksort variant.
3192
3193 2021-07-09 Justin Squirek <squirek@adacore.com>
3194
3195 * exp_ch6.adb (Is_Build_In_Place_Function_Call): Add check to
3196 verify the Selector_Name of Exp_Node has been analyzed before
3197 obtaining its entity.
3198
3199 2021-07-09 Gary Dismukes <dismukes@adacore.com>
3200
3201 * libgnarl/s-osinte__vxworks.ads: Fix typo ("release" =>
3202 "releases") plus comment reformatting.
3203 * libgnat/s-os_lib.ads: In a comment, fix typo ("indended" =>
3204 "intended"), add a hyphen and semicolon, plus reformatting. In
3205 comment for subtype time_t, fix typo ("effect" => "affect"), add
3206 hyphens, plus reformatting.
3207 * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
3208 libgnat/s-parame__hpux.ads: Remove period from one-line comment.
3209
3210 2021-07-09 Steve Baird <baird@adacore.com>
3211
3212 * exp_ch5.adb (Expand_General_Case_Statement): Add new function
3213 Else_Statements to handle the case of invalid data analogously
3214 to how it is handled when casing on a discrete value.
3215 * sem_case.adb (Has_Static_Discriminant_Constraint): A new
3216 Boolean-valued function.
3217 (Composite_Case_Ops.Scalar_Part_Count): Include discriminants
3218 when traversing components.
3219 (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
3220 Include discriminants when traversing components; the component
3221 range for a constrained discriminant is a single value.
3222 (Composite_Case_Ops.Choice_Analysis.Parse_Choice): Eliminate
3223 Done variable and modify how Next_Part is computed so that it is
3224 always correct (as opposed to being incorrect when Done is
3225 True). This includes changes in Update_Result (a local
3226 procedure). Add new local procedure
3227 Update_Result_For_Box_Component and call it not just for box
3228 components but also for "missing" components (components
3229 associated with an inactive variant).
3230 (Check_Choices.Check_Composite_Case_Selector.Check_Component_Subtype):
3231 Instead of disallowing all discriminated component types, allow
3232 those that are unconstrained or statically constrained. Check
3233 discriminant subtypes along with other component subtypes.
3234 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
3235 documentation to reflect current implementation status.
3236 * gnat_rm.texi: Regenerate.
3237
3238 2021-07-09 Justin Squirek <squirek@adacore.com>
3239
3240 * sem_ch6.adb (Check_Pragma_Inline): Correctly use
3241 Corresponding_Spec_Of_Stub when dealing subprogram body stubs.
3242
3243 2021-07-09 Doug Rupp <rupp@adacore.com>
3244
3245 * Makefile.rtl: Add translations for s-parame__posix2008.ads
3246 * libgnarl/s-linux.ads: Import System.Parameters.
3247 (time_t): Declare using System.Parameters.time_t_bits.
3248 * libgnarl/s-linux__alpha.ads: Likewise.
3249 * libgnarl/s-linux__android.ads: Likewise.
3250 * libgnarl/s-linux__hppa.ads: Likewise.
3251 * libgnarl/s-linux__mips.ads: Likewise.
3252 * libgnarl/s-linux__riscv.ads: Likewise.
3253 * libgnarl/s-linux__sparc.ads: Likewise.
3254 * libgnarl/s-linux__x32.ads: Likewise.
3255 * libgnarl/s-qnx.ads: Likewise.
3256 * libgnarl/s-osinte__aix.ads: Likewise.
3257 * libgnarl/s-osinte__android.ads: Likewise.
3258 * libgnarl/s-osinte__darwin.ads: Likewise.
3259 * libgnarl/s-osinte__dragonfly.ads: Likewise.
3260 * libgnarl/s-osinte__freebsd.ads: Likewise.
3261 * libgnarl/s-osinte__gnu.ads: Likewise.
3262 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
3263 * libgnarl/s-osinte__hpux.ads: Likewise.
3264 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
3265 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
3266 * libgnarl/s-osinte__qnx.ads: Likewise.
3267 * libgnarl/s-osinte__rtems.ads: Likewise.
3268 * libgnarl/s-osinte__solaris.ads: Likewise.
3269 * libgnarl/s-osinte__vxworks.ads: Likewise.
3270 * libgnat/g-sothco.ads: Likewise.
3271 * libgnat/s-osprim__darwin.adb: Likewise.
3272 * libgnat/s-osprim__posix.adb: Likewise.
3273 * libgnat/s-osprim__posix2008.adb: Likewise.
3274 * libgnat/s-osprim__rtems.adb: Likewise.
3275 * libgnat/s-osprim__x32.adb: Likewise.
3276 * libgnarl/s-osinte__linux.ads: use type System.Linux.time_t.
3277 * libgnat/s-os_lib.ads (time_t): Declare as subtype of
3278 Long_Long_Integer.
3279 * libgnat/s-parame.ads (time_t_bits): New constant.
3280 * libgnat/s-parame__ae653.ads (time_t_bits): Likewise.
3281 * libgnat/s-parame__hpux.ads (time_t_bits): Likewise.
3282 * libgnat/s-parame__vxworks.ads (time_t_bits): Likewise.
3283 * libgnat/s-parame__posix2008.ads: New file for 64 bit time_t.
3284
3285 2021-07-09 Bob Duff <duff@adacore.com>
3286
3287 * comperr.adb (Compiler_Abort): Print source file name.
3288
3289 2021-07-09 Joffrey Huguet <huguet@adacore.com>
3290
3291 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Fix layout
3292 in contracts.
3293
3294 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3295
3296 * repinfo.ads (JSON output format): Document adjusted key name.
3297 * repinfo.adb (List_Record_Layout): Use Original_Record_Component
3298 if the normalized position of the component is not known.
3299 (List_Structural_Record_Layout): Rename Outer_Ent parameter into
3300 Ext_End and add Ext_Level parameter. In an extension, if the parent
3301 subtype has static discriminants, call List_Record_Layout on it.
3302 Output "parent_" prefixes before "variant" according to Ext_Level.
3303 Adjust recursive calls throughout the procedure.
3304
3305 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3306
3307 * exp_util.ads (Map_Types): Fix typo.
3308
3309 2021-07-09 Fedor Rybin <frybin@adacore.com>
3310
3311 * krunch.adb: Add safeguards against index range violations.
3312
3313 2021-07-09 Arnaud Charlet <charlet@adacore.com>
3314
3315 * libgnat/a-strfix.adb: Take advantage of extended returns.
3316
3317 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3318
3319 * doc/gnat_rm/implementation_defined_attributes.rst
3320 (Scalar_Storage_Order): Add paragraph about representation
3321 changes.
3322 * gnat_rm.texi: Regenerate.
3323
3324 2021-07-09 Frederic Konrad <konrad@adacore.com>
3325
3326 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <aarch64*-*-rtems*>: Use
3327 the wraplf variant of Aux_Long_Long_Float.
3328
3329 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3330
3331 * sem_ch6.adb (Analyze_Expression_Function): Initialize Orig_N
3332 and Typ variables.
3333
3334 2021-07-09 Arnaud Charlet <charlet@adacore.com>
3335
3336 * sem_ch13.adb (Resolve_Aspect_Expressions): Use the same
3337 processing for Predicate, Static_Predicate and
3338 Dynamic_Predicate. Do not build the predicate function spec.
3339 Update comments.
3340 (Resolve_Name): Only reset Entity when necessary to avoid
3341 spurious visibility errors.
3342 (Check_Aspect_At_End_Of_Declarations): Handle consistently all
3343 Predicate aspects.
3344 * sem_ch3.adb (Analyze_Subtype_Declaration): Fix handling of
3345 private types with predicates.
3346
3347 2021-07-09 Justin Squirek <squirek@adacore.com>
3348
3349 * sem_util.ads (Type_Access_Level): Add new optional parameter
3350 Assoc_Ent.
3351 * sem_util.adb (Accessibility_Level): Treat access discriminants
3352 the same as components when the restriction
3353 No_Dynamic_Accessibility_Checks is enabled.
3354 (Deepest_Type_Access_Level): Remove exception for
3355 Debug_Flag_Underscore_B when returning the result of
3356 Type_Access_Level in the case where
3357 No_Dynamic_Accessibility_Checks is active.
3358 (Function_Call_Or_Allocator_Level): Correctly calculate the
3359 level of Expr based on its containing subprogram instead of
3360 using Current_Subprogram.
3361 * sem_res.adb (Valid_Conversion): Add actual for new parameter
3362 Assoc_Ent in call to Type_Access_Level, and add test of
3363 No_Dynamic_Accessibility_Checks_Enabled to ensure that static
3364 accessibility checks are performed for all anonymous access type
3365 conversions.
3366
3367 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3368
3369 * exp_dbug.ads: Update documentation of various items.
3370
3371 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3372
3373 * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
3374
3375 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3376
3377 * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
3378
3379 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3380
3381 * sem_ch6.adb (Analyze_Expression_Function): Add variable to
3382 avoid repeated calls to Etype.
3383
3384 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3385
3386 * sem_ch6.adb (Analyze_Expression_Function): Fix comment.
3387
3388 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3389
3390 * sem_ch6.adb (Analyze_Expression_Function): Use Orig_N variable
3391 instead of repeated calls to Original_Node.
3392
3393 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3394
3395 * sem_ch6.adb (Analyze_Expression_Function): Change types local
3396 variables from Entity_Id to Node_Id.
3397
3398 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3399
3400 * sem_ch6.adb (Analyze_Expression_Function): A local Expr
3401 constant was shadowing a global constant with the same name and
3402 the same value.
3403
3404 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3405
3406 * sem_res.adb (Preanalyze_And_Resolve): Only call
3407 Set_Must_Not_Freeze when it is necessary to restore the previous
3408 value.
3409
3410 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3411
3412 * sem_ch5.adb (Analyze_Assignment): Clear Current_Assignment at
3413 exit.
3414 (Analyze_Target_Name): Prevent AST climbing from going too far.
3415
3416 2021-07-08 Ed Schonberg <schonberg@adacore.com>
3417
3418 * sem_ch5.adb (Analyze_Target_Name): Properly reject a
3419 Target_Name when it appears outside of an assignment statement,
3420 or within the left-hand side of one.
3421
3422 2021-07-08 Bob Duff <duff@adacore.com>
3423
3424 * einfo-utils.ads, einfo-utils.adb (Unknown_Alignment,
3425 Unknown_Component_Bit_Offset, Unknown_Component_Size,
3426 Unknown_Esize, Unknown_Normalized_First_Bit,
3427 Unknown_Normalized_Position, Unknown_Normalized_Position_Max,
3428 Unknown_RM_Size): Remove these functions.
3429 * exp_pakd.adb, exp_util.adb, fe.h, freeze.adb, layout.adb,
3430 repinfo.adb, sem_ch13.adb, sem_ch3.adb, sem_util.adb: Remove
3431 calls to these functions; do "not Known_..." instead.
3432 * gcc-interface/decl.c, gcc-interface/trans.c
3433 (Unknown_Alignment, Unknown_Component_Size, Unknown_Esize,
3434 Unknown_RM_Size): Remove calls to these functions; do
3435 "!Known_..." instead.
3436
3437 2021-07-08 Eric Botcazou <ebotcazou@adacore.com>
3438
3439 * exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete
3440 types with custom bounds, except with -fgnat-encodings=all.
3441 * exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment.
3442
3443 2021-07-08 Bob Duff <duff@adacore.com>
3444
3445 * comperr.adb (Compiler_Abort): Call Sinput.Unlock, because if
3446 this is called late, then Source_Dump would crash otherwise.
3447 * debug.adb: Correct documentation of the -gnatd.9 switch.
3448 * exp_ch4.adb (Expand_Allocator_Expression): Add a comment.
3449 * exp_ch6.adb: Minor comment fixes. Add assertion.
3450 * exp_ch6.ads (Is_Build_In_Place_Result_Type): Correct comment.
3451 * exp_ch7.adb, checks.ads: Minor comment fixes.
3452
3453 2021-07-08 Doug Rupp <rupp@adacore.com>
3454
3455 * sigtramp-vxworks-target.inc: Rename to...
3456 * sigtramp-vxworks-target.h: ... this.
3457 * sigtramp-vxworks.c, Makefile.rtl: Likewise.
3458
3459 2021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
3460
3461 * lib-writ.ads: Mention SCOs dependency as reason for duplicates.
3462 * lib.ads (Units): Update documentation to mention duplicated
3463 units.
3464
3465 2021-07-08 Ed Schonberg <schonberg@adacore.com>
3466
3467 * style.adb (Missing_Overriding): Do not emit message when
3468 parent of subprogram is a full type declaration.
3469
3470 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3471
3472 * par-ch5.adb (P_Iterator_Specification): Add support for access
3473 definition in loop parameter.
3474 * sem_ch5.adb (Check_Subtype_Indication): Renamed...
3475 (Check_Subtype_Definition): ... into this and check for conformance
3476 on access definitions, and improve error messages.
3477 (Analyze_Iterator_Specification): Add support for access definition
3478 in loop parameter.
3479
3480 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3481
3482 * sem_util.ads, sem_util.adb
3483 (Apply_Compile_Time_Constraint_Error): New parameter
3484 Emit_Message.
3485 * sem_ch4.adb (Analyze_Selected_Component): Disable warning
3486 within an instance.
3487
3488 2021-07-08 Eric Botcazou <ebotcazou@adacore.com>
3489
3490 * exp_imgv.adb: Add with and use clause for Restrict and Rident.
3491 (Build_Enumeration_Image_Tables): Do not generate the hash function
3492 if the No_Implicit_Loops restriction is active.
3493
3494 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3495
3496 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sprint.adb: Simplify
3497 checks for non-empty lists.
3498
3499 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3500
3501 * par-ch10.adb (Unit_Display): Remove redundant condition; fix
3502 whitespace.
3503
3504 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3505
3506 * lib-load.adb (Load): Replace early return with goto to properly
3507 restore context on failure.
3508
3509 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3510
3511 * lib-writ.adb (Ensure_System_Dependency): Simplify condition.
3512
3513 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3514
3515 * lib-load.adb (Load_Unit): Fix style in comment.
3516 * par-load.adb (Load): Likewise.
3517 * scng.adb (Initialize_Scanner): Fix whitespace.
3518
3519 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3520
3521 * par-load.adb (Load): Don't remove unit, but flag it as
3522 erroneous and return.
3523
3524 2021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
3525
3526 * exp_prag.adb (Expand_Pragma_Inspection_Point): Fix error
3527 message.
3528
3529 2021-07-08 Yannick Moy <moy@adacore.com>
3530
3531 * layout.adb (Layout_Type): Do not call Number_Dimensions if the
3532 type does not have First_Index set.
3533
3534 2021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
3535
3536 * exp_prag.adb (Expand_Pragma_Inspection_Point): After expansion
3537 of the Inspection_Point pragma, check if referenced entities
3538 that have a freeze node are already frozen. If they aren't, emit
3539 a warning and turn the pragma into a no-op.
3540
3541 2021-07-08 Yannick Moy <moy@adacore.com>
3542
3543 * layout.adb (Layout_Type): Add guard before calling Expr_Value.
3544
3545 2021-07-08 Yannick Moy <moy@adacore.com>
3546
3547 * layout.adb (Layout_Type): Special case when RM_Size and Esize
3548 can be computed for packed arrays.
3549
3550 2021-07-08 Steve Baird <baird@adacore.com>
3551
3552 * rtsfind.ads, rtsfind.adb: Add support for finding the packages
3553 System.Atomic_Operations and
3554 System.Atomic_Operations.Test_And_Set and the declarations
3555 within that latter package of the type Test_And_Set_Flag and the
3556 function Atomic_Test_And_Set.
3557 * exp_ch11.adb (Expand_N_Exception_Declaration): If an exception
3558 is declared other than at library level, then we need to call
3559 Register_Exception the first time (and only the first time) the
3560 declaration is elaborated. In order to decide whether to
3561 perform this call for a given elaboration of the declaration, we
3562 used to unconditionally use a (library-level) Boolean variable.
3563 Now we instead use a variable of type
3564 System.Atomic_Operations.Test_And_Set.Test_And_Set_Flag unless
3565 either that type is unavailable or a No_Tasking restriction is
3566 in effect (in which case we use a Boolean variable as before).
3567
3568 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3569
3570 * gcc-interface/system.ads: Add No_Tasking restriction.
3571
3572 2021-07-08 Ed Schonberg <schonberg@adacore.com>
3573
3574 * libgnat/a-cohama.ads: Introduce an equality operator over
3575 cursors.
3576 * libgnat/a-cohase.ads: Ditto.
3577 * libgnat/a-cohama.adb: Add body for "=" over cursors.
3578 (Insert): Do not set the Position component of the cursor that
3579 denotes the inserted element.
3580 * libgnat/a-cohase.adb: Ditto.
3581
3582 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3583
3584 * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
3585 libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
3586 libgnat/a-cborma.adb, libgnat/a-cborse.adb,
3587 libgnat/a-cobove.adb, libgnat/a-textio.adb,
3588 libgnat/a-witeio.adb, libgnat/a-ztexio.adb: Make code compatible
3589 with No_Dynamic_Accessibility_Checks restriction.
3590
3591 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3592
3593 * debug.adb, sem_util.adb: Revert meaning of -gnatd_b.
3594 * sem_res.adb: Minor reformatting.
3595
3596 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3597
3598 * make.adb, osint.adb: Make code compatible with
3599 No_Dynamic_Accessibility_Checks restriction.
3600
3601 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3602
3603 * lib-writ.adb (Ensure_System_Dependency): Replace search in
3604 Lib.Units with a search in Lib.Unit_Names.
3605
3606 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3607
3608 * sinput-l.adb (Load_File): Simplify foreword manipulation with
3609 concatenation; similar for filename with preprocessed output.
3610
3611 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3612
3613 * s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef
3614 __MINWGW32__.
3615
3616 2021-07-07 Gary Dismukes <dismukes@adacore.com>
3617
3618 * einfo-utils.adb (Primitive_Operations): Default to returning
3619 Direct_Primitive_Operations in the case of concurrent types
3620 (when Corresponding_Record_Type not present).
3621 * sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize
3622 Direct_Primitive_Operations to an empty element list.
3623 (Analyze_Task_Type_Declaration): Initialize
3624 Direct_Primitive_Operations to an empty element list.
3625
3626 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3627
3628 * sem_eval.adb (Set_Checking_Potentially_Static_Expression):
3629 Stronger assertion.
3630
3631 2021-07-07 Arnaud Charlet <charlet@adacore.com>
3632
3633 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id
3634 intrinsic before calling Analyze_Instance_And_Renamings because
3635 this flag may be propagated to other nodes.
3636
3637 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3638
3639 * s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL):
3640 Hardcode on Windows if undefined.
3641
3642 2021-07-07 Bob Duff <duff@adacore.com>
3643
3644 * checks.adb (Install_Primitive_Elaboration_Check): Do not
3645 generate elaboration checks for primitives if pragma Pure or
3646 Preelaborate is present. Misc comment fixes, including
3647 referring to the correct kind of check (elaboration, not
3648 accessibility).
3649 * checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor
3650 reformatting and comment fixes.
3651
3652 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3653
3654 * sem_prag.adb (Analyze_Pragma): Simplify processing of pragma
3655 CPP_Constructor.
3656
3657 2021-07-07 Arnaud Charlet <charlet@adacore.com>
3658
3659 * libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default
3660 Initialize.
3661
3662 2021-07-07 Arnaud Charlet <charlet@adacore.com>
3663
3664 * libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
3665 cleanups.
3666
3667 2021-07-07 Gary Dismukes <dismukes@adacore.com>
3668
3669 * freeze.adb (Check_Inherited_Conditions): Setting of Ekind,
3670 LSP_Subprogram, and Is_Wrapper needs to happen for null
3671 procedures as well as other wrapper cases, so the code is moved
3672 from the else part in front of the if statement. (Fixes a
3673 latent bug encountered while working on this set of changes.)
3674 * sem_attr.adb (Resolve_Attribute): Report an error for the case
3675 of an Access attribute applied to a primitive of an abstract
3676 type when the primitive has any nonstatic Pre'Class or
3677 Post'Class expressions.
3678 * sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for
3679 the case of a actual subprogram associated with a nonabstract
3680 formal subprogram when the actual is a primitive of an abstract
3681 type and the primitive has any nonstatic Pre'Class or Post'Class
3682 expressions.
3683 * sem_disp.adb (Check_Dispatching_Context): Remove special
3684 testing for null procedures, and replace it with a relaxed test
3685 that avoids getting an error about illegal calls to abstract
3686 subprograms in cases where RM 6.1.1(7/5) applies in
3687 Pre/Post'Class aspects. Also, remove special test for
3688 Postcondition, which seems to be unnecessary, update associated
3689 comments, and fix a typo in one comment.
3690 (Check_Dispatching_Call): Remove an unneeded return statement,
3691 and report an error for the case of a nondispatching call to a
3692 nonabstract subprogram of an abstract type where the subprogram
3693 has nonstatic Pre/Post'Class aspects.
3694 * sem_util.ads
3695 (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function.
3696 (In_Pre_Post_Condition): Add a flag formal Class_Wide_Only,
3697 defaulted to False, for indicating whether the function should
3698 only test for the node being within class-wide pre- and
3699 postconditions.
3700 * sem_util.adb
3701 (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function
3702 to determine whether a subprogram is a primitive of an abstract
3703 type where the primitive has class-wide Pre/Post'Class aspects
3704 specified with nonstatic expressions.
3705 (In_Pre_Post_Condition): Extend testing to account for the new
3706 formal Class_Wide_Only.
3707
3708 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3709
3710 * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors
3711 emitted via Check_Volatility_Compatibility are now emitted at
3712 Actual, just like other errors emitted by
3713 Check_Shared_Variable_Control_Aspects.
3714
3715 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3716
3717 * uname.adb (Get_Unit_Name): Simplify with a bounded string
3718 buffer; also, this addresses a ??? comment about the max length
3719 being exceeded.
3720
3721 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3722
3723 * uname.adb (Get_Body_Name, Get_Parent_Body_Name,
3724 Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name,
3725 Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local
3726 instead of the global buffer.
3727
3728 2021-07-07 Bob Duff <duff@adacore.com>
3729
3730 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine
3731 processing of Size and Value_Size clauses. Ensure that
3732 Value_Size is treated the same as Size, in the cases where both
3733 are allowed (i.e. the prefix denotes a first subtype). Misc
3734 cleanup.
3735 * einfo-utils.adb (Init_Size): Add assertions.
3736 (Size_Clause): Return a Value_Size clause if present, instead of
3737 just looking for a Size clause.
3738 * einfo.ads (Has_Size_Clause, Size_Clause): Change documentation
3739 to include Value_Size.
3740 * sem_ch13.ads, layout.ads, layout.adb: Comment modifications.
3741
3742 2021-07-07 Steve Baird <baird@adacore.com>
3743
3744 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add
3745 TSS_Put_Image to list of predefined primitives that need special
3746 treatment.
3747 (Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs):
3748 Remove previous hack for dealing with TSS_Put_Image procedures.
3749
3750 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3751
3752 * libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when
3753 Minus_500ms_Windows_Timeout is True.
3754 (Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to
3755 convert to milliseconds.
3756
3757 2021-07-07 Bob Duff <duff@adacore.com>
3758
3759 * tbuild.adb (Unchecked_Convert_To): Set the Parent of the new
3760 node to the Parent of the old node.
3761 * tbuild.ads (Unchecked_Convert_To): Document differences
3762 between Convert_To and Unchecked_Convert_To. The previous
3763 documentation claimed they are identical except for the
3764 uncheckedness of the conversion.
3765
3766 2021-07-07 Yannick Moy <moy@adacore.com>
3767
3768 * checks.adb (Apply_Scalar_Range_Check): Remove special case for
3769 GNATprove mode.
3770 * sem_res.adb (Resolve_Arithmetic_Op): Same.
3771 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Same.
3772
3773 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3774
3775 * sem_ch6.adb (Check_For_Primitive_Subprogram): Move
3776 declarations of local variables after nested subprogram bodies.
3777
3778 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3779
3780 * exp_disp.adb (CPP_Num_Prims): Reuse List_Length.
3781
3782 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3783
3784 * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind
3785 membership test in Private_Kind with a call to Is_Private_Type.
3786
3787 2021-07-07 Bob Duff <duff@adacore.com>
3788
3789 * gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma
3790 field from Record_Field_Kind. Minor comment improvement.
3791
3792 2021-07-07 Yannick Moy <moy@adacore.com>
3793
3794 * libgnat/a-ngelfu.ads (Cot): Fix precondition.
3795
3796 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3797
3798 * par.adb (Par): A local Name variable is now a renaming of a
3799 constant slice.
3800
3801 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3802
3803 * gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its
3804 corresponding spec as requiring code generation; now the flags
3805 are set much earlier.
3806 * lib-load.adb (Load_Main_Source): Set Generate_Code flag on the
3807 main unit source.
3808 (Make_Instance_Unit): Copy Generate_Code flag from the main unit
3809 to instance units.
3810 * lib-writ.adb (Write_ALI): Remove redundant condition;
3811 Generate_Code flag is always set for the main unit.
3812 * par-load.adb (Load): Set Generate_Code flag on the main unit's
3813 corresponding spec, if any.
3814
3815 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3816
3817 * libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count,
3818 Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration.
3819 (Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and
3820 Keep_Alive_Interval alternatives to the case of discriminated
3821 record.
3822 * libgnat/g-socket.adb (Options): Add Keep_Alive_Count,
3823 Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to
3824 OS constant converter.
3825 (Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle,
3826 and Keep_Alive_Interval socket options.
3827 (Get_Socket_Option): Idem.
3828
3829 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3830
3831 * lib-writ.adb (Write_ALI): Exit from loop after seeing first
3832 unit that violates No_Elaboration_Code restriction.
3833
3834 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3835
3836 * inline.adb (Instantiate_Bodies): Fix white in declaration.
3837 (Remove_Dead_Instance): Change iteration from WHILE to FOR.
3838
3839 2021-07-07 Bob Duff <duff@adacore.com>
3840
3841 * checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
3842 exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb,
3843 sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion
3844 to call Unchecked_Convert_To instead. This involves removing
3845 New_Occurrence_Of on the first parameter, because
3846 Unchecked_Convert_To expects a type entity, rather than the name
3847 of one. Also, removed calls to Relocate_Node, because
3848 Unchecked_Convert_To takes care of that.
3849 * sinfo.ads: Change comment to be worded more firmly.
3850
3851 2021-07-07 Steve Baird <baird@adacore.com>
3852
3853 * libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock
3854 before, rather than after, querying the task's Terminated flag.
3855 Add a corresponding Task_Unlock call.
3856
3857 2021-07-06 Bob Duff <duff@adacore.com>
3858
3859 * atree.ads (Current_Error_Node): Initialize to Empty.
3860
3861 2021-07-06 Steve Baird <baird@adacore.com>
3862
3863 * exp_put_image.adb: Eliminate references to
3864 Debug_Flag_Underscore_Z. Change the meaning of the function
3865 Enable_Put_Image. Previously, a result of False for a tagged
3866 type would mean that the type does not get a Put_Image (PI)
3867 routine at all. Now, it means that the type gets a PI routine
3868 with very abbreviated functionality (just a call to
3869 Unknown_Put_Image). This resolves problems in mixing code
3870 compiled with and without the -gnat2022 switch.
3871 * exp_ch3.adb: Enable_Put_Image no longer participates in
3872 determining whether a tagged type gets a Put_Image procedure. A
3873 tagged type does not get a Put_Image procedure if the type
3874 Root_Buffer_Type is unavailable. This is needed to support cross
3875 targets where tagged types are supported but the type
3876 Root_Buffer_Type is not available.
3877 * exp_dist.adb: Add workarounds for some problems that arise
3878 when using the (obsolete?) Garlic implementation of the
3879 distributed systems annex with Ada 2022 constructs.
3880 * libgnat/a-sttebu.ads: Workaround a bootstrapping problem.
3881 Older compilers do not support raise expressions, so revise the
3882 the Pre'Class condition to meet this requirement without
3883 changing the condition's behavior at run time.
3884
3885 2021-07-06 Eric Botcazou <ebotcazou@adacore.com>
3886
3887 * repinfo-input.adb (JSON_Entity_Kind, Read_Variant_Part): Fix
3888 typo in comment.
3889
3890 2021-07-06 Steve Baird <baird@adacore.com>
3891
3892 * sem_ch5.adb (Analyze_Assignment): Add new nested function,
3893 Omit_Range_Check_For_Streaming, and make call to
3894 Apply_Scalar_Range_Check conditional on the result of this new
3895 function.
3896 * exp_attr.adb (Compile_Stream_Body_In_Scope): Eliminate Check
3897 parameter, update callers. The new
3898 Omit_Range_Check_For_Streaming parameter takes the place of the
3899 old use of calling Insert_Action with Suppress => All_Checks,
3900 which was insufficiently precise (it did not allow suppressing
3901 checks for one component but not for another).
3902 (Expand_N_Attribute_Reference): Eliminate another "Suppress =>
3903 All_Checks" from an Insert_Action call, this one in generating
3904 the expansion of a T'Read attribute reference for a composite
3905 type T.
3906
3907 2021-07-06 Ghjuvan Lacambre <lacambre@adacore.com>
3908
3909 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for
3910 empty loops caused by constraints.
3911
3912 2021-07-06 Nicolas Roche <roche@adacore.com>
3913
3914 * rtinit.c (skip_quoted_string): Handle malformed command line
3915 with no closing double quote.
3916 (skip_argument): Handle case in which a null character is
3917 encountered by skip_quote_string.
3918
3919 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3920
3921 * uname.adb (Add_Node_Name): Replace local constant whose
3922 initial expression was evaluated even when unnecessary with just
3923 that expression that is evaluated at most once and only when
3924 needed.
3925
3926 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3927
3928 * lib.adb (Remove_Unit): Replace defensive code with an
3929 assertion.
3930 * par-load.adb (Load): Address a question mark in the comment.
3931
3932 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3933
3934 * sem_util.adb (Enclosing_Comp_Unit_Node): When the loop exits
3935 the Current_Node is either an N_Compilation_Unit node or Empty,
3936 so simply return it without redundant checks.
3937
3938 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3939
3940 * lib-load.adb (Load_Unit): Remove excessive whitespace.
3941 * lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise.
3942 * par-ch10.adb (P_Compilation_Unit): Simplify with membership
3943 test.
3944 * par-load.adb (Load): Likewise.
3945 * uname.adb (Get_Unit_Name): Likewise.
3946
3947 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3948
3949 * lib-writ.adb (Ensure_System_Dependency): Simplify by reusing a
3950 constant name.
3951
3952 2021-07-06 Steve Baird <baird@adacore.com>
3953
3954 * exp_ch5.adb
3955 (Expand_N_Case_Statement.Expand_General_Case_Statement.Pattern_Match):
3956 When generating an equality test for a statically known discrete
3957 value, only generate the numeric value if the discrete type is
3958 not an enumeration type. If it is an enumeration type, then
3959 call Get_Enum_Lit_From_Pos instead.
3960
3961 2021-07-06 Justin Squirek <squirek@adacore.com>
3962
3963 * par-ch6.adb (Get_Return_Kind): Removed.
3964 (Is_Extended): Created to identify simple and "when" return
3965 statements from extended return statements.
3966 (P_Return_Statement): Merged simple and "when" return statement
3967 processing.
3968
3969 2021-07-06 Gary Dismukes <dismukes@adacore.com>
3970
3971 * sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of
3972 "not Extensions_Allowed" with test for absence of Obj_Type's
3973 primitive operations Elist, as an additional condition for early
3974 return from this procedure.
3975
3976 2021-07-06 Gary Dismukes <dismukes@adacore.com>
3977
3978 * exp_ch4.adb (Process_Transient_In_Expression): In one comment,
3979 fix two typos and reorder wording of one sentence, plus minor
3980 reformatting.
3981
3982 2021-07-06 Justin Squirek <squirek@adacore.com>
3983
3984 * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove
3985 legacy expansion of element iterators, and use expansion form
3986 used by unconstrained element types in the general case.
3987
3988 2021-07-06 Ed Schonberg <schonberg@adacore.com>
3989
3990 * exp_ch4.adb (Process_Transient_In_Expression): Ensure that
3991 Fin_Context, used to insert finalization code for the
3992 expression, is a list member: the value returned by
3993 Find_Hook_Context may be an expression node when the transient
3994 is part of a larger expression and it has a non-boolean type.
3995
3996 2021-07-06 Yannick Moy <moy@adacore.com>
3997
3998 * sem_case.adb: Fix error message.
3999
4000 2021-07-06 Bob Duff <duff@adacore.com>
4001
4002 * tbuild.adb (Convert_To): Add assert, along with a comment.
4003 (Make_DT_Access): Remove this function, which is not used. It
4004 was incorrect anyway (the call to New_Occurrence_Of should not
4005 be there).
4006 (Unchecked_Convert_To): Add assert. The previous version's test
4007 for unchecked conversion to the same type was redundant and
4008 could never be true, because the previous 'if' already checked
4009 for ANY expression of the same type. Remove that, and replace
4010 with a test for unchecked conversion to a related type.
4011 Otherwise, we somethings get things like
4012 "finalize(some_type!(some_type!(x)))" in the generated code,
4013 where x is already of type some_type, but we're converting it to
4014 the private type and then to the full type or vice versa (so the
4015 types aren't equal, so the previous 'if' doesn't catch it).
4016 Avoid updating the Parent. This is not necessary; the Parent
4017 will be updated if/when the node is attached to the tree.
4018 * tbuild.ads: Fix comments. No need to say "this is safe" when
4019 we just explained that a few lines earlier. Remove
4020 Make_DT_Access.
4021 * sinfo.ads: Add comments.
4022 * exp_ch7.adb (Make_Finalize_Address_Stmts): Minor comment fix.
4023 * gen_il-gen.adb, gen_il-gen.ads, gen_il-gen-gen_nodes.adb,
4024 gen_il-internals.ads: Implement a feature where you can put:
4025 Nmake_Assert => "expr" where expr is a boolean expression in a
4026 call to Create_Concrete_Node_Type. It is added in a pragma
4027 Assert in the Nmake.Make_... function for that type.
4028
4029 2021-07-06 Gary Dismukes <dismukes@adacore.com>
4030
4031 * checks.adb: Remove calls of Set_Do_Tag_Check (N, False).
4032 * einfo.ads: Remove hanging unneeded ??? comment ("this real description
4033 was clobbered").
4034 * exp_util.ads (Insert_Actions_After): Remove ??? from spec comment.
4035 * gen_il-fields.ads (Opt_Field_Enum): Remove literals
4036 Do_Accessibility_Check and Do_Tag_Check.
4037 * gen_il-gen-gen_nodes.adb: Remove all calls to Sm for
4038 Do_Accessibility_Check and Do_Tag_Check.
4039 * sem_type.ads (Is_Subtype_Of): Remove obsolete ???
4040 comment (function is not limited to scalar subtypes).
4041 * sem_util.ads (Is_Local_Variable_Reference): Revise comment to
4042 mention out-mode parameters as well, and remove ???.
4043 (Propagate_Concurrent_Flags): Minor reformatting.
4044 (Propagate_Invariant_Attributes): Typo fix.
4045 (Propagate_Predicate_Attributes): Indicate what is propagated
4046 and remove ??? comment.
4047 * sem_util.adb (Cannot_Raise_Constraint_Error): Remove unneeded
4048 test of Do_Tag_Check.
4049 (Is_Local_Variable_Reference): Extend function to testing for
4050 formals of mode out as well.
4051 * sinfo.ads: Remove ??? comment about flag
4052 Convert_To_Return_False indicating that the flag is obsolete (in
4053 fact it's used). Remove references to Do_Accessibility_Check and
4054 Do_Tag_Check (and the two associated ??? comments), as these
4055 flags are unneeded.
4056 * sinfo-cn.adb (Change_Conversion_To_Unchecked): Remove call of
4057 Set_Do_Tag_Check (N, False).
4058 * targparm.ads (Support_Atomic_Primitives_On_Target): Remove ???
4059 comment, plus minor reformatting.
4060
4061 2021-07-06 Justin Squirek <squirek@adacore.com>
4062
4063 * par-ch6.adb (Get_Return_Kind): Properly handle the case of a
4064 "return when" statement in the procedure case.
4065
4066 2021-07-06 Bob Duff <duff@adacore.com>
4067
4068 * sem.ads (Node_To_Be_Wrapped): Minor comment fix.
4069 * exp_ch7.adb (Establish_Transient_Scope): Misc cleanups and
4070 comment improvements.
4071 (Set_Node_To_Be_Wrapped): Remove -- not worth putting this code
4072 in a separate procedure, called only once.
4073 * sem_util.adb (Requires_Transient_Scope): Assert that our
4074 parameter has the right Kind. It probably shouldn't be E_Void,
4075 but that is passed in in some cases.
4076 (Ensure_Minimum_Decoration): Move the call later, so we know Typ
4077 is Present, and remove "if Present (Typ)" from this procedure.
4078 * exp_aggr.adb (Convert_To_Assignments): Use membership test,
4079 and avoid the "if False" idiom.
4080 (Expand_Array_Aggregate): Remove a ??? comment.
4081 * sem_ch8.adb (Push_Scope): Take advantage of the full coverage
4082 rules for aggregates.
4083 * sem_res.adb (Resolve_Declare_Expression): Remove test for
4084 Is_Type -- that's all it can be. Use named notation in call to
4085 Establish_Transient_Scope.
4086 * libgnat/a-cdlili.adb (Adjust): Remove redundant code.
4087 (Clear): Remove "pragma Warnings (Off);", which wasn't actually
4088 suppressing any warnings.
4089
4090 2021-07-06 Bob Duff <duff@adacore.com>
4091
4092 * gen_il-gen-gen_nodes.adb: Change the parent of
4093 N_Exception_Declaration to be N_Declaration. Minor comment fix.
4094
4095 2021-07-06 Ed Schonberg <schonberg@adacore.com>
4096
4097 * exp_ch4.adb (Expand_N_Type_Conversion): If the conversion is
4098 the name of an assignment operation do not apply predicate check
4099 to it prior to the assignment.
4100
4101 2021-07-06 Bob Duff <duff@adacore.com>
4102
4103 * libgnat/a-conhel.adb: Assert that tampering counts remain
4104 between 0 and 2**31-1. This makes debugging of
4105 finalization-related bugs easier.
4106
4107 2021-07-06 Doug Rupp <rupp@adacore.com>
4108
4109 * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use s-osprim__posix.adb
4110 vice s-osprim__vxworks.adb for all vxworks7r2 targets.
4111
4112 2021-07-06 Richard Kenner <kenner@adacore.com>
4113
4114 * gen_il-types.ads (Void_Or_Type_Kind,
4115 Exception_Or_Object_Kind): Declare.
4116 * gen_il-gen-gen_entities.adb: Likewise.
4117
4118 2021-07-06 Gary Dismukes <dismukes@adacore.com>
4119
4120 * doc/gnat_rm/implementation_defined_pragmas.rst: Add a
4121 description of the feature of prefixed-view calls for untagged
4122 types to the section on pragma Extensions_Allowed.
4123 * gnat_rm.texi: Regenerate.
4124 * einfo.ads: Update specification for
4125 Direct_Primitive_Operations to reflect its use for untagged
4126 types when Extensions_Allowed is True.
4127 * gen_il-gen-gen_entities.adb: Allow Direct_Primitive_Operations
4128 as a field of untagged classes of types by removing the "Pre"
4129 test of "Is_Tagged_Type (N)", and making that field generally
4130 available for all types and subtypes by defining it for
4131 Type_Kind and removing its specification for individual classes
4132 of types.
4133 * sem_ch3.adb (Analyze_Full_Type_Declaration): Initialize the
4134 Direct_Primitive_Operations list when not already set for the
4135 new (sub)type and its base type (except when Ekind of the type
4136 is E_Void, which can happen due to errors in cases where
4137 Derived_Type_Declaration is called and perhaps in other
4138 situations).
4139 (Analyze_Subtype_Declaration): Inherit
4140 Direct_Primitive_Operations list from the base type, for record
4141 and private cases.
4142 (Build_Derived_Record_Type): Initialize the
4143 Direct_Primitive_Operations list for derived record and private
4144 types.
4145 (Build_Derived_Type): Initialize the Direct_Primitive_Operations
4146 list for derived types (and also for their associated base types
4147 when needed).
4148 (Process_Full_View): For full types that are untagged record and
4149 private types, copy the primitive operations of the partial view
4150 to the primitives list of the full view.
4151 * sem_ch4.adb (Analyze_Selected_Component): Allow prefixed
4152 notation for subprogram calls in the case of untagged
4153 types (when Extensions_Allowed is True). In the case where
4154 Is_Private_Type (Prefix_Type) is True, call Try_Object_Operation
4155 when a discriminant selector wasn't found. Also call
4156 Try_Object_Operation in other type kind cases (when
4157 Extensions_Allowed is True).
4158 (Try_Object_Operation.Try_One_Prefixed_Interpretation): Prevent
4159 early return in the untagged case (when Extensions_Allowed is
4160 True). Condition main call to Try_Primitive_Operation on the
4161 type having primitives, and after that, if Prim_Result is False,
4162 test for case where the prefix type is a named access type with
4163 primitive operations and in that case call
4164 Try_Primitive_Operation after temporarily resetting Obj_Type to
4165 denote the access type (and restore it to the designated type
4166 after the call)
4167 (Try_Object_Operation.Valid_First_Argument_Of): Do matching type
4168 comparison by testing Base_Type (Obj_Type) against
4169 Base_Type (Typ), rather than against just Typ, to properly
4170 handle cases where the object prefix has a constrained
4171 subtype. (Fixes a bug discovered while working on this
4172 feature.)
4173 * sem_ch6.adb
4174 (New_Overloaded_Entity.Check_For_Primitive_Subprogram): Add a
4175 primitive of an untagged type to the type's list of primitive
4176 operations, for both explicit and implicit (derived, so
4177 Comes_From_Source is False) subprogram declarations. In the case
4178 where the new primitive overrides an inherited subprogram,
4179 locate the primitives Elist that references the overridden
4180 subprogram, and replace that element of the list with the new
4181 subprogram (done by calling the new procedure
4182 Add_Or_Replace_Untagged_Primitive on the result type and each
4183 formal atype).
4184 (Check_For_Primitive_Subprogram.Add_Or_Replace_Untagged_Primitive):
4185 New nested procedure to either add or replace an untagged
4186 primitive subprogram in a given type's list of primitive
4187 operations (replacement happens in case where the new subprogram
4188 overrides a primitive of the type).
4189 * sem_ch7.adb (New_Private_Type): When Extensions_Allowed is
4190 True, initialize the Direct_Primitive_Operations list of a
4191 private type to New_Elmt_List in the case of untagged types.
4192 * sem_ch8.adb (Find_Selected_Component): In the case where the
4193 prefix is an entity name, relax condition that tests
4194 Has_Components so that Analyze_Selected_Component will also be
4195 called when Extensions_Allowed is True and the prefix type is
4196 any type.
4197
4198 2021-07-06 Ed Schonberg <schonberg@adacore.com>
4199
4200 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
4201 conformance check when the subprogram body has been created for
4202 an expression function that is not a completion of a previous
4203 specification, because the profile of the constructed body is
4204 copied from the expression function itself.
4205
4206 2021-07-06 Steve Baird <baird@adacore.com>
4207
4208 * doc/gnat_rm/implementation_of_specific_ada_features.rst: Add a
4209 warning indicating that the details of the default (i.e.,
4210 selected by the compiler) implementation of T'Put_Image for a
4211 nonscalar type T are subject to change.
4212 * gnat_rm.texi: Regenerate.
4213
4214 2021-07-05 Pierre-Marie de Rodat <derodat@adacore.com>
4215
4216 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
4217
4218 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4219
4220 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Reject overlays
4221 in Depends and Refined_Depends contracts.
4222 (Analyze_Global_In_Decl_Part): Likewise for Global and
4223 Refined_Global.
4224 (Analyze_Initializes_In_Decl_Part): Likewise for Initializes
4225 (when appearing both as a single item and as a initialization
4226 clause).
4227 * sem_util.ads (Ultimate_Overlaid_Entity): New routine.
4228 * sem_util.adb (Report_Unused_Body_States): Ignore overlays.
4229 (Ultimate_Overlaid_Entity): New routine.
4230
4231 2021-07-05 Claire Dross <dross@adacore.com>
4232
4233 * libgnat/a-cfdlli.ads, libgnat/a-cfdlli.adb
4234 libgnat/a-cfinve.ads, libgnat/a-cfinve.adb,
4235 libgnat/a-cofove.ads, libgnat/a-cofove.adb,
4236 libgnat/a-coboho.ads, libgnat/a-coboho.adb (Constant_Reference):
4237 Get a read-only access to an element of the container.
4238 (At_End): Ghost functions used to express pledges in the
4239 postcondition of Reference.
4240 (Reference): Get a read-write access to an element of the
4241 container.
4242 * libgnat/a-cfhama.ads, libgnat/a-cfhama.adb,
4243 libgnat/a-cforma.ads, libgnat/a-cforma.adb: The full view of the
4244 Map type is no longer a tagged type, but a wrapper over this
4245 tagged type. This is to avoid issues with dispatching result in
4246 At_End functions.
4247 (Constant_Reference): Get a read-only access to an element of
4248 the container.
4249 (At_End): Ghost functions used to express pledges in the
4250 postcondition of Reference.
4251 (Reference): Get a read-write access to an element of the
4252 container.
4253 * libgnat/a-cfhase.ads, libgnat/a-cfhase.adb,
4254 libgnat/a-cforse.ads, libgnat/a-cforse.adb: The full view of the
4255 Map type is no longer a tagged type, but a wrapper over this
4256 tagged type.
4257 (Constant_Reference): Get a read-only access to an element of
4258 the container.
4259 * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads (Copy_Element):
4260 Expression function used to cause SPARK to make sure
4261 Element_Type is copiable.
4262 * libgnat/a-cofuma.ads (Copy_Key): Expression function used to
4263 cause SPARK to make sure Key_Type is copiable.
4264 (Copy_Element): Expression function used to cause SPARK to make
4265 sure Element_Type is copiable.
4266
4267 2021-07-05 Yannick Moy <moy@adacore.com>
4268
4269 * sem_prag.adb (Analyze_Global_Item): Adapt to update SPARK RM
4270 rule.
4271
4272 2021-07-05 Arnaud Charlet <charlet@adacore.com>
4273
4274 * Make-generated.in: Add -f switch to ensure cp will never fail.
4275
4276 2021-07-05 Steve Baird <baird@adacore.com>
4277
4278 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): When
4279 building the assignment statement corresponding to the default
4280 expression for a component, we make a copy of the expression.
4281 When making that copy (and if we have seen a component that
4282 requires late initialization), pass a Map parameter into the
4283 call to New_Copy_Tree to redirect references to the type to
4284 instead refer to the _Init formal parameter of the init proc.
4285 This includes hoisting the declaration of Has_Late_Init_Comp out
4286 one level so that it becomes available to Build_Assignment.
4287 (Find_Current_Instance): Return True for other kinds of current
4288 instance references, instead of just access-valued attribute
4289 references such as T'Access.
4290 * sem_util.adb (Is_Aliased_View): Return True for the _Init
4291 formal parameter of an init procedure. The changes in
4292 exp_ch3.adb can have the effect of replacing a "T'Access"
4293 attribute reference in an init procedure with an "_Init'Access"
4294 attribute reference. We want such an attribute reference to be
4295 legal. However, we do not simply mark the formal parameter as
4296 being aliased because that might impact callers.
4297 (Is_Object_Image): Return True if Is_Current_Instance returns
4298 True for the prefix of an Image (or related attribute) attribute
4299 reference.
4300
4301 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4302
4303 * exp_ch3.adb (Stream_Operation_OK): Reuse
4304 Is_Concurrent_Interface.
4305 * sem_ch3.adb (Analyze_Interface_Declaration,
4306 Build_Derived_Record_Type): Likewise.
4307 * sem_ch6.adb (Check_Limited_Return): Likewise.
4308 * sem_util.adb (Is_Concurrent_Interface): Don't call
4309 Is_Interface because each of the Is_Protected_Interface,
4310 Is_Synchronized_Interface and Is_Task_Interface calls it anyway.
4311
4312 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4313
4314 * sem_ch6.adb (Check_Limited_Return): Replace Comes_From_Source
4315 with Comes_From_Extended_Return_Statement.
4316
4317 2021-07-05 Steve Baird <baird@adacore.com>
4318
4319 * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
4320 libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
4321 libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
4322 libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
4323 libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
4324 libgnat/a-stouut.adb, libgnat/a-stouut.ads,
4325 libgnat/a-stteou.ads: Delete files.
4326 * Makefile.rtl, impunit.adb: Remove references to deleted files.
4327
4328 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4329
4330 * sem_util.adb (Has_Compatible_Alignment_Internal): If the
4331 prefix of the Address expression is an entire object with a
4332 known alignment, then skip checks related to its size.
4333
4334 2021-07-05 Doug Rupp <rupp@adacore.com>
4335
4336 * libgnat/s-os_lib.ads: Import OS_Time comparison ops as
4337 intrinsic.
4338 * libgnat/s-os_lib.adb: Remove OS_TIme comparison ops
4339 implementation.
4340
4341 2021-07-05 Doug Rupp <rupp@adacore.com>
4342
4343 * libgnat/s-os_lib.ads: Add some comments about time_t.
4344 * libgnat/s-os_lib.adb (GM_Split/To_GM_Time): Rename formal to
4345 P_OS_Time.
4346 (GM_Time_Of/To_OS_Time): Likewise.
4347
4348 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4349
4350 * sem_res.adb (Resolve): Insert minus sign if needed.
4351
4352 2021-07-05 Steve Baird <baird@adacore.com>
4353
4354 * exp_put_image.adb:
4355 (Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying
4356 the -gnatd_z switch, as opposed to testing whether Ada_Version >= Ada_2022.
4357
4358 2021-07-05 Justin Squirek <squirek@adacore.com>
4359
4360 * checks.adb (Accessibility_Checks_Suppressed): Add check
4361 against restriction No_Dynamic_Accessibility_Checks.
4362 (Apply_Accessibility_Check): Add assertion to check restriction
4363 No_Dynamic_Accessibility_Checks is not active.
4364 * debug.adb: Add documentation for new debugging switch to
4365 control which accessibility model gets employed under
4366 restriction No_Dynamic_Accessibility_Checks.
4367 * exp_attr.adb (Expand_N_Attribute_Reference): Disable dynamic
4368 accessibility check generation when
4369 No_Dynamic_Accessibility_Checks is active.
4370 * exp_ch4.adb (Apply_Accessibility_Check): Skip check generation
4371 when restriction No_Dynamic_Accessibility_Checks is active.
4372 (Expand_N_Allocator): Disable dynamic accessibility checks when
4373 No_Dynamic_Accessibility_Checks is active.
4374 (Expand_N_In): Disable dynamic accessibility checks when
4375 No_Dynamic_Accessibility_Checks is active.
4376 (Expand_N_Type_Conversion): Disable dynamic accessibility checks
4377 when No_Dynamic_Accessibility_Checks is active.
4378 * exp_ch5.adb (Expand_N_Assignment_Statement): Disable
4379 alternative accessibility model calculations when computing a
4380 dynamic level for a SAOAAT.
4381 * exp_ch6.adb (Add_Call_By_Copy_Code): Disable dynamic
4382 accessibility check generation when
4383 No_Dynamic_Accessibility_Checks is active.
4384 (Expand_Branch): Disable alternative accessibility model
4385 calculations.
4386 (Expand_Call_Helper): Disable alternative accessibility model
4387 calculations.
4388 * restrict.adb, restrict.ads: Add new restriction
4389 No_Dynamic_Accessibility_Checks.
4390 (No_Dynamic_Accessibility_Checks_Enabled): Created to test when
4391 experimental features (which are generally incompatible with
4392 standard Ada) can be enabled.
4393 * sem_attr.adb (Safe_Value_Conversions): Add handling of new
4394 accessibility model under the restriction
4395 No_Dynamic_Accessibility_Checks.
4396 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
4397 Disallow new restriction No_Dynamic_Accessibility_Checks from
4398 being exclusively specified within a body or subunit without
4399 being present in a specification.
4400 * sem_res.adb (Check_Fully_Declared_Prefix): Minor comment
4401 fixup.
4402 (Valid_Conversion): Omit implicit conversion checks on anonymous
4403 access types and perform static checking instead when
4404 No_Dynamic_Accessibility_Checks is active.
4405 * sem_util.adb, sem_util.ads (Accessibility_Level): Add special
4406 handling of anonymous access objects, formal parameters,
4407 anonymous access components, and function return objects.
4408 (Deepest_Type_Access_Level): When
4409 No_Dynamic_Accessibility_Checks is active employ an alternative
4410 model. Add paramter Allow_Alt_Model to override the new behavior
4411 in certain cases.
4412 (Type_Access_Level): When No_Dynamic_Accessibility_Checks is
4413 active employ an alternative model. Add parameter
4414 Allow_Alt_Model to override the new behavior in certain cases.
4415 (Typ_Access_Level): Created within Accessibility_Level for
4416 convenience.
4417 * libgnat/s-rident.ads, snames.ads-tmpl: Add handing for
4418 No_Dynamic_Accessibility_Checks.
4419
4420 2021-07-05 Doug Rupp <rupp@adacore.com>
4421
4422 * adaint.h (__gnat_set_file_time_name): Use OS_Time.
4423 * adaint.c (__gnat_set_file_time_name): Likewise.
4424
4425 2021-07-05 Doug Rupp <rupp@adacore.com>
4426
4427 * adaint.h (OS_Time): typedef as long long.
4428 * osint.adb (Underlying_OS_Time): Declare as 64-bit signed type.
4429 * libgnat/s-os_lib.adb ("<"): Compare OS_Time as
4430 Long_Long_Integer.
4431 ("<="): Likewise.
4432 (">"): Likewise.
4433 (">="): Likewise.
4434 * libgnat/s-os_lib.ads (OS_Time): Declare as 64-bit signed type.
4435
4436 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4437
4438 * sem_ch3.adb (Check_Abstract_Overriding): Post error message on
4439 renaming node.
4440
4441 2021-07-05 Yannick Moy <moy@adacore.com>
4442
4443 * libgnat/a-uncdea.ads: Add Depends/Post to
4444 Ada.Unchecked_Deallocation.
4445 * sem_ch4.adb (Analyze_Allocator): Remove checking of allocator
4446 placement.
4447 * sem_res.adb (Flag_Object): Same.
4448
4449 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4450
4451 * aspects.ads: Add GNAT_Annotate aspect.
4452 * gnat1drv.adb (Adjust_Global_Switches): Stop defining
4453 Name_Gnat_Annotate as an alias of Name_Annotate.
4454 * snames.ads-tmpl: Define Gnat_Annotate.
4455 * par-prag.adb, sem_prag.ads: Add Pragma_Gnat_Annotate to list
4456 of pragmas.
4457 * lib-writ.adb, sem_ch13.adb, sem_prag.adb: Handle Gnat_Annotate
4458 like Aspect_Annotate.
4459
4460 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4461
4462 * ttypes.ads (Target_Strict_Alignment): Fix comment.
4463
4464 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4465
4466 * sem_util.adb (Has_Compatible_Alignment_Internal): Fix
4467 indentation of ELSIF comments; remove explicit calls to
4468 UI_To_Int; remove extra parens around the MOD operand.
4469
4470 2021-07-05 Ed Schonberg <schonberg@adacore.com>
4471
4472 * sem_aggr.adb (Resolve_Record_Aggregate, Step_5): Do not check
4473 for the need to use an extension aggregate for a given component
4474 when within an instance and the type of the component hss a
4475 private ancestor: the instantiation is legal if the generic
4476 compiles, and spurious errors may be generated otherwise.
4477
4478 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4479
4480 * errout.adb (Output_JSON_Message): Recursively call
4481 Output_JSON_Message for continuation messages instead of
4482 appending their content to the initial message.
4483
4484 2021-07-05 Steve Baird <baird@adacore.com>
4485
4486 * debug.adb: Remove comments about -gnatd_z switch.
4487 * exp_ch3.adb (Make_Predefined_Primitive_Specs): A one-line fix
4488 for a subtle bug that took some effort to debug. Append a new
4489 Put_Image procedure for a type extension even if it seems to
4490 already have one, just as is done for (for example) the
4491 streaming-related Read procedure.
4492 * exp_put_image.adb:
4493 (Build_Record_Put_Image_Procedure.Make_Component_Attributes): Do
4494 not treat _Parent component like just another component, for two
4495 reasons. 1. If the _parent component's type has a
4496 user-specified Put_Image procedure, then we want to generate a
4497 call to that procedure and then generate extension aggregate
4498 syntax. 2. Otherwise, we still don't want to see any mention of
4499 "_parent" in the generated image text.
4500 (Build_Record_Put_Image_Procedure.Make_Component_Name): Add
4501 assertion that we are not generating a reference to an "_parent"
4502 component.
4503 (Build_Record_Put_Image_Procedure): Add special treatment for
4504 null records. Add call to Duplicate_Subexpr for image attribute
4505 prefix in order to help with expansion needed in the class-wide
4506 case (where the prefix is also referenced in the call to
4507 Wide_Wide_Expanded_Name) if evaluation of the prefix has side
4508 effects. Add new local helper function, Put_String_Exp. Add
4509 support for case where prefix type is class-wide.
4510 (Enable_Put_Image, Preload_Root_Buffer_Type): Query Ada_Version
4511 > Ada_2022 instead of (indirectly) querying -gnatd_z switch.
4512 * freeze.adb (In_Expanded_Body): A one-line change to add
4513 TSS_Put_Image to the list of subprograms that have
4514 expander-created bodies.
4515 * rtsfind.ads: Add support for accessing
4516 Ada.Tags.Wide_Wide_Expanded_Name.
4517 * sem_ch3.ads, sem_ch3.adb: Delete Is_Null_Extension function,
4518 as part of moving it to Sem_Util.
4519 * sem_ch13.adb
4520 (Analyze_Put_Image_TSS_Definition.Has_Good_Profile): Improve
4521 diagnostic messages in cases where the result is going to be
4522 False and the Report parameter is True. Relax overly-restrictive
4523 checks in order to implement mode conformance.
4524 (Analyze_Stream_TSS_Definition.Has_Good_Profile): Add similar
4525 relaxation of parameter subtype checking for the Stream
4526 parameter of user-defined streaming subprograms.
4527 * sem_disp.adb (Check_Dispatching_Operation): A one-line
4528 change (and an accompanying comment change) to add TSS_Put_Image
4529 to the list of compiler-generated dispatching primitive
4530 operations.
4531 * sem_util.ads, sem_util.adb: Add Ignore_Privacy Boolean
4532 parameter to Is_Null_Record_Type function (typically the
4533 parameter will be False when the function is being used in the
4534 implementation of static semantics and True for dynamic
4535 semantics; the parameter might make a difference in the case of,
4536 for example, a private type that is implemented as a null record
4537 type). Add related new routines Is_Null_Extension (formerly
4538 declared in Sem_Ch3), Is_Null_Extension_Of, and
4539 Is_Null_Record_Definition.
4540
4541 2021-07-05 Justin Squirek <squirek@adacore.com>
4542
4543 * freeze.adb (Freeze_Profile): Use N's Sloc, F_type's chars.
4544
4545 2021-07-05 Bob Duff <duff@adacore.com>
4546
4547 * checks.adb, exp_aggr.adb, exp_ch5.adb, freeze.adb,
4548 sem_util.adb, sem_util.ads: Change L and H to be First and Last,
4549 to match the attributes in the RM. Change calls from procedure
4550 to function where appropriate.
4551
4552 2021-07-05 Bob Duff <duff@adacore.com>
4553
4554 * sem_util.ads, sem_util.adb (Compute_Returns_By_Ref): New
4555 procedure to compute Returns_By_Ref, to avoid some code
4556 duplication. This will likely change soon, so it's good to have
4557 the code in one place.
4558 (CW_Or_Has_Controlled_Part): Move here from Exp_Ch7, because
4559 it's called by Compute_Returns_By_Ref, and this is a better
4560 place for it anyway.
4561 (Needs_Finalization): Fix comment to be vague instead of wrong.
4562 * exp_ch6.adb (Expand_N_Subprogram_Body, Freeze_Subprogram):
4563 Call Compute_Returns_By_Ref.
4564 * sem_ch6.adb (Check_Delayed_Subprogram): Call
4565 Compute_Returns_By_Ref.
4566 * exp_ch7.ads, exp_ch7.adb (CW_Or_Has_Controlled_Part): Move to
4567 Sem_Util.
4568 (Has_New_Controlled_Component): Remove unused function.
4569
4570 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4571
4572 * sem_ch3.adb (Check_Abstract_Overriding): Check for renamings.
4573
4574 2021-07-05 Boris Yakobowski <yakobowski@adacore.com>
4575
4576 * exp_ch4.adb (Expand_N_Op_Rem): Remove special case for rem -1
4577 in CodePeer_Mode.
4578
4579 2021-07-01 Eric Botcazou <ebotcazou@adacore.com>
4580
4581 PR ada/101094
4582 * exp_attr.adb (Get_Integer_Type): Return an integer type with the
4583 same signedness as the input type.
4584
4585 2021-06-29 Richard Kenner <kenner@adacore.com>
4586
4587 * sem_util.adb (Visit_Node): Add handling for N_Block_Statement
4588 with declarations.
4589
4590 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4591
4592 * einfo-utils.adb
4593 (Unknown_Alignment): Simply negate the Known_ counterpart.
4594 (Unknown_Component_Bit_Offset): Likewise.
4595 (Unknown_Esize): Likewise.
4596 (Unknown_Normalized_First_Bit): Likewise.
4597 (Unknown_Normalized_Position): Likewise.
4598 (Unknown_Normalized_Position_Max): Likewise.
4599 (Unknown_RM_Size): Likewise.
4600
4601 2021-06-29 Boris Yakobowski <yakobowski@adacore.com>
4602
4603 * exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1
4604 in CodePeer_Mode.
4605
4606 2021-06-29 Aleksandra Pasek <pasek@adacore.com>
4607
4608 * libgnat/s-objrea.adb (EM_AARCH64): New Constant.
4609 (Initialize): Handle EM_AARCH64 case.
4610 (Read_Address): Handle AARCH64 case.
4611 * libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record
4612 component.
4613
4614 2021-06-29 Bob Duff <duff@adacore.com>
4615
4616 * sem_ch13.adb (Analyze_Record_Representation_Clause): Call
4617 Set_Entity_With_Checks instead of Set_Entity, so we perform the
4618 check for correct casing.
4619 * style.adb (Check_Identifier): Minor comment improvement.
4620 Cleanup overly complicated code.
4621
4622 2021-06-29 Ed Schonberg <schonberg@adacore.com>
4623
4624 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of
4625 the aggregate, the expression can be removed from the
4626 declaration, except if the object is class-wide, in which case
4627 the aggregate provides the actual type. In other cases the
4628 presence of the expression may lead to spurious freezing issue.
4629 * exp_ch3.adb (Expand_N_Object_Declaration): If the expression
4630 in the declaration is an aggregate with delayed expansion (as is
4631 the case for objects of a limited type, or a subsequent address
4632 specification) the aggregate must be resolved at this point.
4633 This resolution must not include expansion, because the
4634 expansion of the enclosing declaration will construct the
4635 necessary aggregate expansion.
4636
4637 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4638
4639 * errout.ads (Adjust_Name_Case): Remove obsolete and now unused
4640 variant.
4641 * errout.adb (Adjust_Name_Case): Likewise; fix variant that uses
4642 a custom buffer to also use it for names in Standard_Location.
4643
4644 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4645
4646 * sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze".
4647 (Install_Body): Likewise.
4648
4649 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4650
4651 * adaint.c (__gnat_portable_spawn): Revert change that
4652 introduced setting of __gnat_in_child_after_fork.
4653
4654 2021-06-29 Patrick Bernardi <bernardi@adacore.com>
4655
4656 * libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components
4657 aspect.
4658
4659 2021-06-29 Doug Rupp <rupp@adacore.com>
4660
4661 * Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move
4662 i-vxinco.o out of RTP runtime.
4663
4664 2021-06-29 Claire Dross <dross@adacore.com>
4665
4666 * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
4667 pre and postconditions.
4668 * libgnat/a-cfhama.ads: Likewise.
4669 * libgnat/a-cfhase.ads: Likewise.
4670 * libgnat/a-cfinve.ads: Likewise.
4671 * libgnat/a-cforma.ads: Likewise.
4672 * libgnat/a-cforse.ads: Likewise.
4673 * libgnat/a-cofove.ads: Likewise.
4674
4675 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4676
4677 * sem_util.ads (Get_Fullest_View): Refill comment; remove extra
4678 extra after period.
4679 * sem_util.adb (Get_Fullest_View): Fix style.
4680
4681 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4682
4683 * sem_ch3.adb (Analyze_Declarations): Remove explicit check for
4684 missing, because a subsequent call to Is_Empty_List will detect
4685 them anyway.
4686
4687 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4688
4689 * freeze.adb (Freeze_All): Simplify by reusing
4690 Is_Subprogram_Or_Entry.
4691 * sem_ch11.adb (Analyze_Handled_Statement): Likewise.
4692
4693 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4694
4695 * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded
4696 errors once for the subprogram call, not for every pair of
4697 actual parameters.
4698
4699 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4700
4701 * sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within.
4702
4703 2021-06-29 Gary Dismukes <dismukes@adacore.com>
4704
4705 * sem_ch6.ads (Can_Override_Operator): Function declaration
4706 moved from package body to package spec.
4707 * sem_ch6.adb (Check_Overriding_Indicator): Now use test of
4708 whether the subprogram's Chars is an operator name, to handle
4709 cases of function instances whose entity is
4710 N_Defining_Identifier rather than N_Defining_Operator_Symbol.
4711 (Can_Override_Operator): Function declaration moved to package
4712 spec. Now use test of whether the subprogram's Chars is an
4713 operator name, to handle cases of function instances whose
4714 entity is N_Defining_Identifier rather than
4715 N_Defining_Operator_Symbol.
4716 * sem_ch8.adb (Analyze_Renamed_Subprogram): Check for
4717 possibility of an overridden predefined operator, and suppress
4718 the "not overriding" message in that case.
4719
4720 2021-06-29 Doug Rupp <rupp@adacore.com>
4721
4722 * Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib.
4723
4724 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4725
4726 * exp_attr.adb (Build_Array_VS_Func): Restore uses of
4727 Validated_View.
4728 (Build_Record_VS_Func): Likewise.
4729 (Expand_N_Attribute_Reference): Likewise.
4730 * sem_util.adb (Validated_View): Behave as an identity function
4731 for arrays and scalars.
4732
4733 2021-06-29 Bob Duff <duff@adacore.com>
4734
4735 * atree.adb, atree.ads (Parent, Set_Parent): Assert node is
4736 Present.
4737 (Copy_Parent, Parent_Kind): New helper routines.
4738 * gen_il-gen.adb: Add with clause.
4739 * nlists.adb (Parent): Assert Parent of list is Present.
4740 * aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb,
4741 exp_util.adb, lib-xref-spark_specific.adb, osint.ads,
4742 sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb,
4743 sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
4744 treepr.adb: Do not call Parent and Set_Parent on the Empty node.
4745 * libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb:
4746 Minor: Fix typos in comments.
4747 * einfo.ads: Minor comment update.
4748 * sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent):
4749 New functions.
4750
4751 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4752
4753 * repinfo-input.adb (Read_JSON_Stream): Fix typo.
4754
4755 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4756
4757 * rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into
4758 RE_Valid_Value_Enumeration_NN.
4759 (RE_Unit_Table): Adjust to above renaming.
4760 * exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise.
4761 * libgnat/s-valuen.ads (Invalid): Remove.
4762 (Value_Enumeration_Pos): Move to...
4763 * libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here.
4764 Return -1 instead of Invalid.
4765 (Value_Enumeration): Compare against 0 instead of Invalid.
4766 (Valid_Enumeration_Value): Likewise. Rename to...
4767 (Valid_Value_Enumeration): ...this.
4768 * libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into...
4769 (Valid_Value_Enumeration_8): ...this.
4770 * libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into...
4771 (Valid_Value_Enumeration_16): ...this.
4772 * libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into...
4773 (Valid_Value_Enumeration_32): ...this.
4774
4775 2021-06-29 Bob Duff <duff@adacore.com>
4776
4777 * einfo.ads (Component_Bit_Offset, Component_Size): Update
4778 documentation: Repinfo is the package where these negative
4779 values are documented.
4780 * einfo-utils.adb (Known_Component_Size,
4781 Known_Static_Component_Size, Unknown_Component_Size): Remove
4782 calls to Implementation_Base_Type, because Component_Size is an
4783 Impl_Base_Type_Only field (see Gen_Entities).
4784 * sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and
4785 RM_Size. This is unnecessary in the case of Size. For
4786 Component_Size, it is wrong, because we would be setting the
4787 Esize and RM_Size of the component type.
4788
4789 2021-06-29 Pascal Obry <obry@adacore.com>
4790
4791 * s-oscons-tmplt.c: Add some OS constants.
4792
4793 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4794
4795 * sem_util.ads (Validated_View): Fix style in comment.
4796 * sem_util.adb (Validated_View): Rewrite in recursive style.
4797
4798 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4799
4800 * Make-generated.in (ada/stamp-gen_il): Ignore errors from
4801 running gen_il-main.
4802
4803 2021-06-29 Richard Kenner <kenner@adacore.com>
4804
4805 * gen_il-gen-gen_entities.adb (Record_Field_Kind,
4806 Allocatable_Kind): Add new abstract kinds.
4807 (Constant_Or_Variable_Kind): Likewise.
4808 (E_Constant, E_Variable, E_Loop_Parameter): Use them.
4809 (E_Discriminant, E_Component): Likewise.
4810 * gen_il-types.ads (type Opt_Type_Enum): Add them.
4811
4812 2021-06-29 Bob Duff <duff@adacore.com>
4813
4814 * gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct
4815 numbers.
4816 * gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this
4817 function. It was assuming that the order of the enumeration
4818 literals in Type_Enum is the same as the order of the generated
4819 types Node_Kind and Entity_Kind, which is not true.
4820
4821 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4822
4823 * exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use
4824 Validated_View for record objects.
4825
4826 2021-06-28 Martin Sebor <msebor@redhat.com>
4827
4828 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
4829 Replace TREE_NO_WARNING with suppress_warning.
4830 (gnat_gimplify_expr): Same.
4831 * gcc-interface/utils.c (gnat_pushdecl): Same.
4832
4833 2021-06-21 Gary Dismukes <dismukes@adacore.com>
4834
4835 * checks.adb (Selected_Range_Checks): In the case of a
4836 qualified_expression where the qualifying subtype is an
4837 unconstrained array subtype with fixed lower bounds for some of
4838 its indexes, generate tests to check that those bounds are equal
4839 to the corresponding lower bounds of the qualified array object.
4840
4841 2021-06-21 Bob Duff <duff@adacore.com>
4842
4843 * libgnat/s-valuen.ads (Value_Enumeration,
4844 Valid_Enumeration_Value): Inline.
4845 (Value_Enumeration_Pos): Add Pure_Function.
4846
4847 2021-06-21 Justin Squirek <squirek@adacore.com>
4848
4849 * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
4850 feature under pragma Extensions_Allowed.
4851 * gnat_rm.texi: Regenerate.
4852 * errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to
4853 issue errors when parsing extension only constructs.
4854 * exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement):
4855 Created to expand raise ... when constucts.
4856 * exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement):
4857 Created to expand goto ... when constructs.
4858 * exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement):
4859 Created to expand return ... when constructs.
4860 * expander.adb (Expand): Add case entries for "when" constructs.
4861 * gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for
4862 "when" constructs.
4863 * par-ch11.adb (P_Raise_Statement): Add processing for raise ...
4864 when.
4865 * par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to
4866 Missing_Semicolon_On_When and moved to par-util.adb.
4867 * par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and
4868 processing added for "return ... when" return kind.
4869 (Is_Simple): Renamed to Get_Return_Kind.
4870 (P_Return_Statement): Add case for return ... when variant of
4871 return statement.
4872 * par-util.adb, par.adb (Missing_Semicolon_On_When): Added to
4873 centeralize parsing of "when" keywords in the context of "when"
4874 constructs.
4875 * sem.adb (Analyze): Add case for "when" constructs.
4876 * sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement):
4877 Created to analyze raise ... when constructs.
4878 * sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement):
4879 Created to analyze goto ... when constructs.
4880 * sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement):
4881 Created to analyze return ... when constructs.
4882 * sprint.adb (Sprint_Node_Actual): Add entries for new "when"
4883 nodes.
4884
4885 2021-06-21 Steve Baird <baird@adacore.com>
4886
4887 * Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags.
4888 (ada/stamp-gen_il): Remove dependencies on libgnat/ sources. Do not
4889 copy libgnat/ sources locally and tidy up.
4890 * Makefile.rtl: Include object files for new Text_Buffer units
4891 in the GNATRTL_NONTASKING_OBJS list.
4892 * exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to
4893 match new specs. For example, calls to RE_Sink are replaced with
4894 calls to RE_Root_Buffer_Type. Update comments and change
4895 subprogram names accordingly (e.g., Preload_Sink is changed to
4896 Preload_Root_Buffer_Type).
4897 * impunit.adb: Add 6 new predefined units (Text_Buffers and 5
4898 child units thereof).
4899 * rtsfind.ads, rtsfind.adb: Add interfaces for accessing the
4900 Ada.Strings.Text_Buffers package and declarations
4901 therein (including the Unbounded child unit). Do not (yet)
4902 delete interfaces for accessing the old Text_Output package.
4903 * sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses
4904 with RE_Root_Buffer_Type and update comments accordingly.
4905 * sem_ch10.adb (Analyze_Compilation_Unit): Update call to
4906 reflect name change of callee (that is, the former Preload_Sink
4907 is now Preload_Root_Buffer_Type).
4908 * sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with
4909 RE_Root_Buffer_Type.
4910 (Build_Spec): Update comment describing a parameter type.
4911 * gen_il.ads: Remove clauses for the old Text_Output package and
4912 add them for Ada.Streams.Stream_IO.
4913 (Sink): Declare.
4914 (Create_File): Likewise.
4915 (Increase_Indent): Likewise.
4916 (Decrease_Indent): Likewise.
4917 (Put): Likewise.
4918 (LF): Likewise.
4919 * gen_il.adb: Add clauses for Ada.Streams.Stream_IO.
4920 (Create_File): New procedure.
4921 (Increase_Indent): Likewise.
4922 (Decrease_Indent): Likewise.
4923 (Put): New procedures.
4924 * gen_il-gen.adb: Add clauses for Ada.Text_IO. Replace
4925 Sink'Class with Sink throughout. Use string concatenation and
4926 LF marker instead of formatted strings and "\n" marker. Update
4927 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
4928 names.
4929 (Put_Membership_Query_Decl): Remove.
4930 * gen_il-internals.ads: Replace Sink'Class with Sink throughout.
4931 (Ptypes): Remove.
4932 (Pfields): Likewise.
4933 * gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and
4934 Ada.Strings.Text_Buffers.Files. Replace Sink'Class with Sink
4935 throughout. Use string concatenation and LF marker instead of
4936 formatted strings and "\n" marker.
4937 (Stdout): Remove.
4938 (Ptypes): Likewise.
4939 (Pfields): Likewise.
4940 * libgnarl/s-putaim.ads: Modify context clause, update
4941 declaration of subtype Sink to refer to
4942 Text_Buffers.Root_Buffer_Type instead of the old
4943 Text_Output.Sink type.
4944 * libgnarl/s-putaim.adb: Modify context clause and add use
4945 clause to refer to Text_Buffers package.
4946 * libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
4947 libgnat/a-cbhama.ads, libgnat/a-cbhama.adb,
4948 libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
4949 libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb,
4950 libgnat/a-cborma.ads, libgnat/a-cborma.adb,
4951 libgnat/a-cborse.ads, libgnat/a-cborse.adb,
4952 libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
4953 libgnat/a-cidlli.ads, libgnat/a-cidlli.adb,
4954 libgnat/a-cihama.ads, libgnat/a-cihama.adb,
4955 libgnat/a-cihase.ads, libgnat/a-cihase.adb,
4956 libgnat/a-cimutr.ads, libgnat/a-cimutr.adb,
4957 libgnat/a-ciorma.ads, libgnat/a-ciorma.adb,
4958 libgnat/a-ciormu.ads, libgnat/a-ciormu.adb,
4959 libgnat/a-ciorse.ads, libgnat/a-ciorse.adb,
4960 libgnat/a-coboho.ads, libgnat/a-coboho.adb,
4961 libgnat/a-cobove.ads, libgnat/a-cobove.adb,
4962 libgnat/a-cohama.ads, libgnat/a-cohama.adb,
4963 libgnat/a-cohase.ads, libgnat/a-cohase.adb,
4964 libgnat/a-coinho.ads, libgnat/a-coinho.adb,
4965 libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb,
4966 libgnat/a-coinve.ads, libgnat/a-coinve.adb,
4967 libgnat/a-comutr.ads, libgnat/a-comutr.adb,
4968 libgnat/a-convec.ads, libgnat/a-convec.adb,
4969 libgnat/a-coorma.ads, libgnat/a-coorma.adb,
4970 libgnat/a-coormu.ads, libgnat/a-coormu.adb,
4971 libgnat/a-coorse.ads, libgnat/a-coorse.adb,
4972 libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
4973 libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads,
4974 libgnat/a-nbnbre.adb, libgnat/a-strunb.ads,
4975 libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads,
4976 libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads,
4977 libgnat/s-rannum.adb: Modify Put_Image procedure used in
4978 Put_Image aspect specification to conform to Ada profile
4979 rules (in particular, the first parameter shall be of type
4980 Ada.Strings.Text_Buffers.Root_Buffer_Type'Class).
4981 * libgnat/a-sttebu.ads, libgnat/a-sttebu.adb,
4982 libgnat/a-stbubo.ads, libgnat/a-stbubo.adb,
4983 libgnat/a-stbufi.ads, libgnat/a-stbufi.adb,
4984 libgnat/a-stbufo.ads, libgnat/a-stbufo.adb,
4985 libgnat/a-stbuun.ads, libgnat/a-stbuun.adb,
4986 libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined
4987 unit, Ada.Strings.Text_Buffers, and five child units. Two of
4988 the five are RM-defined: Bounded and Unbounded. The remaining
4989 three are GNAT-defined: Files, Utils, and Formatting. The buffer
4990 type corresponding to an output file, type Files.File_Buffer, is
4991 simpler (and perhaps therefore slower) than its predecessor.
4992 Caching similar to what was being done before could be added
4993 later if that seems appropriate.
4994 * libgnat/s-putima.ads: Modify context clause, update
4995 declaration of subtype Sink to refer to
4996 Text_Buffers.Root_Buffer_Type instead of the old
4997 Text_Output.Sink type.
4998 * libgnat/s-putima.adb: Modify context clause. Update
4999 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
5000 names; ditto for "Put_String => Put" name change.
5001 * libgnat/a-stteou__bootstrap.ads: Delete.
5002
5003 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
5004
5005 * exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian
5006 ordering is in effect for the operands and they are small,
5007 adjust the unchecked conversions done around them.
5008
5009 2021-06-21 Richard Kenner <kenner@adacore.com>
5010
5011 * einfo.ads (Return_Statement): Add documentation.
5012 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it.
5013 * gen_il-fields.ads: Add it.
5014 * gen_il-gen-gen_entities.adb: Add it.
5015
5016 2021-06-21 Bob Duff <duff@adacore.com>
5017
5018 * rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb,
5019 libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library
5020 function to copy bit fields faster than Copy_Bitfield. Cannot be
5021 called with zero-size bit fields. Remove obsolete ??? comments
5022 from s-bituti.adb; we already do "avoid calling this if
5023 Forwards_OK is False".
5024 * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield,
5025 Expand_Assign_Array_Bitfield_Fast): Generate calls to
5026 Fast_Copy_Bitfield when appropriate.
5027 * sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new
5028 functions for getting the index bounds. These are more
5029 convenient than the procedure of the same name, because they can
5030 be used to initialize constants.
5031
5032 2021-06-21 Ed Schonberg <schonberg@adacore.com>
5033
5034 * gen_il-fields.ads: Add Default_Subtype_Mark to enumeration
5035 type for fields.
5036 * gen_il-gen-gen_nodes.adb: Add call to create new field for
5037 Formal_Type_Declaration node.
5038 * par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode,
5039 recognize new syntax for default: "or use subtype_mark".
5040 (P_Formal_Type_Definition): Ditto for the case of a formal
5041 incomplete type.
5042 * sinfo.ads: Add field Default_Subtype_Mark to
5043 N_Formal_Type_Declaration.
5044 * sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to
5045 apply legality rules to default subtypes in formal type
5046 declarations. Some legality rules apply to all defaults, such as
5047 the requirement that the default for a formal type that depends
5048 on previous formal entities must itself be a previously declared
5049 formal of the same unit. Other checks are kind- specific.
5050 (Analyze_Associations): Use specified default if there is no
5051 actual provided for a formal type in an instance.
5052 (Analyze_Formal_Type_Declaration): Call
5053 Validate_Formal_Type_Default when default subtype is present.
5054
5055 2021-06-21 Bob Duff <duff@adacore.com>
5056
5057 * libgnat/s-valuen.ads, libgnat/s-valuen.adb
5058 (Value_Enumeration_Pos): New function to compute the 'Pos of the
5059 enumeration literal for a given String. Return a special value
5060 instead of raising an exception on invalid input. Called by both
5061 Valid_Enumeration_Image and Value_Enumeration.
5062 (Valid_Enumeration_Image): Return a Boolean indicating whether
5063 the String is a valid Image for the given enumeration type.
5064 (Value_Enumeration): Implement in terms of
5065 Value_Enumeration_Pos.
5066 * libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads,
5067 libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the
5068 instances.
5069 * libgnat/s-valuti.ads: Correct documentation (it was not true
5070 for the null string).
5071 * libgnat/s-valuti.adb (Normalize_String): Do not raise
5072 Constraint_Error for the null string, nor strings containing
5073 nothing but blanks, so that Valid_Enumeration_Image can return
5074 False in these cases, rather than raising an exception.
5075 * rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16,
5076 RE_Value_Enumeration_32): New functions.
5077 (RTE_Available): Improve comment (E doesn't have to be a
5078 subprogram, although that's the usual case).
5079 * sem_attr.adb (nalid_Value): Semantic analysis for new
5080 attribute.
5081 * exp_attr.adb: Call Expand_Valid_Value_Attribute for new
5082 attribute.
5083 * exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New
5084 procedure to expand Valid_Value into a call to
5085 Valid_Enumeration_Image_NN.
5086 (Expand_Value_Attribute): Misc code cleanups. Remove two ???
5087 mark comments. RTE_Available won't work here. For one thing,
5088 RTE_Available (X) shouldn't be called until the compiler has
5089 decided to make use of X (see comments on RTE_Available), and in
5090 this case we're trying to AVOID calling something.
5091 * snames.ads-tmpl: New attribute name.
5092 * doc/gnat_rm/implementation_defined_attributes.rst: Document
5093 new attribute.
5094 * gnat_rm.texi: Regenerate.
5095
5096 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
5097
5098 * fe.h (Assume_No_Invalid_Values): Declare.
5099 * opt.ads (Assume_No_Invalid_Values): Add warning comment.
5100
5101 2021-06-21 Bob Duff <duff@adacore.com>
5102
5103 * libgnat/s-bituti.ads (Small_Size): Do not include 0 in this
5104 type.
5105 * libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit
5106 bitfields.
5107
5108 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
5109
5110 * exp_ch9.adb (Build_Simple_Entry_Call): Add comment.
5111 * libgnat/s-rannum.adb (Random): Update comment.
5112 * libgnat/s-rannum.ads (Generator): Update comment.
5113
5114 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5115
5116 * doc/gnat_rm/representation_clauses_and_pragmas.rst (Address
5117 Clauses): Fix unbalanced parens.
5118 * gnat_rm.texi: Regenerate.
5119
5120 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
5121
5122 * errout.adb (Handle_Serious_Error): Capitalize comment.
5123 * exp_dbug.adb (Set_Entity_Name): Capitalize sentence.
5124 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix
5125 typo.
5126 * sem_ch3.adb (Modular_Type_Declaration): Add space after comma.
5127
5128 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
5129
5130 * debug.adb: Document -gnatd_U as taken.
5131 * err_vars.ads (Warning_Doc_Switch): Set to True.
5132 * errout.ads (Errout): Update documentation.
5133 * gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U.
5134 * hostparm.ads (Tag_Errors): Set to True.
5135 * opt.ads (Unique_Error_Tag): Document -gnatd_U.
5136
5137 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
5138
5139 * urealp.ads (UR_Write_To_JSON): Declare.
5140 * urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10
5141 specially and rewrite handling of numbers in other bases.
5142 (Decimal_Exponent_Lo): Likewise.
5143 (Normalize): Minor tweak.
5144 (UR_Write_To_JSON): New wrapper procedure around UR_Write.
5145 * repinfo.adb (List_Type_Info): When the output is to JSON, call
5146 UR_Write_To_JSON instead of UR_Write.
5147
5148 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5149
5150 * sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown
5151 offset for components within multidimensional arrays; remove
5152 redundant parens.
5153
5154 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5155
5156 * sem_util.adb (Find_Overlaid_Entity): Ignore references to
5157 components and discriminants.
5158
5159 2021-06-21 Doug Rupp <rupp@adacore.com>
5160
5161 * Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add
5162 $(TRASYM_DWARF_UNIX_PAIRS).
5163 [EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS)
5164
5165 2021-06-21 Gary Dismukes <dismukes@adacore.com>
5166
5167 * exp_util.adb (Expand_Sliding_Conversion): Only perform
5168 expansion when Expander_Active is True. Add a comment about this
5169 and refine existing comment regarding string literals.
5170
5171 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5172
5173 * sem_util.adb (Denotes_Same_Object): Simplify handling of
5174 slices.
5175
5176 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5177
5178 * sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming;
5179 simplify; adapt callers.
5180
5181 2021-06-21 Frederic Konrad <konrad@adacore.com>
5182
5183 * Makefile.rtl: Compiles both static and dynamic libgnat for
5184 powerpc64-wrs-vxworks7r2.
5185
5186 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5187
5188 * sem_ch3.adb (Constrain_Array): Add error checking for
5189 fixed-lower-bound and constrained index ranges applied
5190 inappropriately on subtypes of unconstrained and
5191 fixed-lower-bound array types.
5192 (Constrain_Index): Correct and refine comment related to
5193 fixed-lower-bound index ranges.
5194
5195 2021-06-18 Bob Duff <duff@adacore.com>
5196
5197 * gen_il-gen.adb: Improve comments.
5198 * snames.ads-tmpl (Convention_Id): Remove "-- Plenty of space
5199 for expansion", because that's irrelevant now that we are no
5200 longer laying out node fields by hand.
5201
5202 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5203
5204 * sem_util.adb (Denotes_Same_Object): Handle character literals
5205 just like integer literals.
5206
5207 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5208
5209 * sem_util.adb (Denotes_Same_Object): Explicitly test for node
5210 kinds being the same; deal with renamings one-by-one; adjust
5211 numbers in references to the Ada RM.
5212
5213 2021-06-18 Bob Duff <duff@adacore.com>
5214
5215 * sprint.adb (Write_Source_Line): Check for EOF in
5216 Line_Terminator loop. Note that when a source file is read in,
5217 an EOF character is added to the end.
5218
5219 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5220
5221 * sem_aux.adb (Package_Specification): Add assertions to confirm
5222 the kind of the of parameter and returned node.
5223 * sem_ch12.adb (Remove_Parent): Reorder conditions; this change
5224 appears to be semantically neutral, but is enough to avoid the
5225 problematic call to Package_Specification.
5226 * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop
5227 with a call to Package_Specification.
5228
5229 2021-06-18 Bob Duff <duff@adacore.com>
5230
5231 * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use
5232 Enum_Type'Object_Size.
5233
5234 2021-06-18 Olivier Hainque <hainque@adacore.com>
5235
5236 * sigtramp-vxworks-target.inc (__aarch64__): Sync
5237 REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
5238 In CFI_COMMON_REGS, leave r18 alone, VxWorks private.
5239
5240 2021-06-18 Javier Miranda <miranda@adacore.com>
5241
5242 * contracts.adb (Process_Spec_Postconditions): Add missing
5243 support for aliased subprograms and handle wrappers of
5244 class-wide pre/post conditions.
5245 (Process_Inherited_Preconditions): Add missing support for
5246 aliased subprograms and handle wrappers of class-wide pre/post
5247 conditions.
5248 * einfo.ads (Class_Wide_Clone): Fix typo.
5249 (Is_Class_Wide_Clone): Removed since it is not referenced.
5250 (Is_Wrapper): Documenting new flag.
5251 (LSP_Subprogram): Documenting new attribute.
5252 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate
5253 wrapper as Is_Wrapper and adjust call to
5254 Override_Dispatching_Operation.
5255 * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in
5256 documentation.
5257 (Check_Inherited_Conditions): Handle LSP wrappers; ensure
5258 correct decoration of LSP wrappers.
5259 * gen_il-fields.ads (Is_Class_Wide_Clone): Removed.
5260 (Is_Wrapper): Added.
5261 (LSP_Subprogram): Added.
5262 * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed.
5263 (Is_Wrapper): Added.
5264 (LSP_Subprogram): Added.
5265 * gen_il-internals.adb (Image): Adding uppercase image of
5266 LSP_Subprogram.
5267 * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP
5268 wrappers.
5269 * sem_disp.ads (Override_Dispatching_Operation): Remove
5270 parameter Is_Wrapper; no longer needed.
5271 * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion.
5272 (Override_Dispatching_Operation): Remove parameter Is_Wrapper;
5273 no longer needed.
5274 * treepr.adb (Image): Adding uppercase image of LSP_Subprogram.
5275
5276 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5277
5278 * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type
5279 of the name of a "for of" loop is frozen.
5280 * exp_disp.adb (Check_Premature_Freezing): Complete condition to
5281 take into account a private type completed by another private
5282 type now that the freezing rule are better implemented.
5283 * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an
5284 early freeze on types if not in the proper scope. Special case
5285 expression functions that requires access to the dispatch table.
5286 (Should_Freeze_Type): New.
5287 * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert
5288 failure in case of an invalid tree (previous errors detected).
5289 * sem_res.adb (Resolve): Remove kludge related to entities
5290 causing incorrect premature freezing.
5291 * sem_util.adb (Ensure_Minimum_Decoration): Add protection
5292 against non base types.
5293
5294 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5295
5296 * sem_ch3.adb (Constrain_Index): Set the High_Bound of a
5297 fixed-lower-bound subtype's range to T (the subtype of the FLB
5298 index being constrained) rather than Base_Type (T).
5299
5300 2021-06-18 Bob Duff <duff@adacore.com>
5301
5302 * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb,
5303 einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb,
5304 libgnat/a-textio.ads, libgnat/g-memdum.ads,
5305 libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb,
5306 osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb,
5307 sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl,
5308 targparm.ads, types.ads: Remove AAMP-specific code.
5309 * switch.ads: Minor reformatting.
5310 * gen_il-fields.ads, gen_il-gen.adb,
5311 gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb,
5312 einfo-utils.ads: Package Types now contains "type Float_Rep_Kind
5313 is (IEEE_Binary);", which used to also have an enumeral AAMP.
5314 Gen_IL can't handle fields of this type, which would be zero
5315 sized. Therefore, we move the Float_Rep field into Einfo.Utils
5316 as a synthesized attribute. (We do not delete the field
5317 altogether, in case we want new floating-point representations
5318 in the future.)
5319 * doc/gnat_rm/implementation_defined_pragmas.rst,
5320 doc/gnat_rm/implementation_defined_aspects.rst,
5321 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
5322 doc/gnat_ugn/the_gnat_compilation_model.rst: Remove
5323 AAMP-specific documentation.
5324 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5325
5326 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5327
5328 * exp_util.adb (Expand_Sliding_Conversion): Move test of
5329 Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string
5330 literals from sliding expansion.
5331
5332 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5333
5334 * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions
5335 related to Ada_Version.
5336
5337 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5338
5339 * sem_util.adb (Address_Value): Simplify.
5340
5341 2021-06-18 Bob Duff <duff@adacore.com>
5342
5343 * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value
5344 instead of Intval, because the latter only exists in literals.
5345 Remove Set_Etype on E1; setting the type is done elsewhere.
5346
5347 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5348
5349 * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of
5350 both formal parameters; refactor a complex detection of
5351 by-reference types.
5352
5353 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5354
5355 * gnatcmd.adb: Fix handling of check and test commands.
5356
5357 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5358
5359 * doc/gnat_rm/implementation_defined_pragmas.rst: Add
5360 documentation for the array fixed-lower-bound feature.
5361 * gnat_rm.texi: Regenerate.
5362
5363 2021-06-18 Bob Duff <duff@adacore.com>
5364
5365 * debug.adb: Document switch.
5366 * exp_aggr.adb: If -gnatd_g was given, then do not bump the
5367 limit to 500_000.
5368
5369 2021-06-18 Bob Duff <duff@adacore.com>
5370
5371 * sem_util.ads, sem_util.adb (Has_Access_Values): Remove
5372 Include_Internal parameter that was added in previous change.
5373 * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==>
5374 Formal_Kind change made previously. Check Is_Private_Type to
5375 avoid warnings on private types. Misc cleanup.
5376 * sem_attr.adb (Attribute_Has_Access_Values): Remove
5377 Include_Internal parameter.
5378
5379 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5380
5381 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch
5382 for overlapping actuals in prefix notation.
5383
5384 2021-06-18 Eric Botcazou <ebotcazou@adacore.com>
5385
5386 * sem_prag.adb (Process_Import_Or_Interface): Do not
5387 artificially record a possible modification for a constant.
5388
5389 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5390
5391 * exp_ch6.adb (Expand_Call_Helper): Code cleanups.
5392
5393 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5394
5395 * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads,
5396 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb,
5397 sem_util.adb, sem_util.ads, sinfo.ads: Update comments.
5398
5399 2021-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
5400
5401 * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to
5402 True if -fdiagnostics-format=json option is found.
5403 * back_end.ads (Scan_Compiler_Arguments): Mention
5404 Opt.JSON_Output.
5405 * errout.adb (Output_JSON_Message): New procedure.
5406 (Output_Messages): If Opt.JSON_Output is True, print messages
5407 with new Output_JSON_Message procedure.
5408 * opt.ads: Declare JSON_Output variable.
5409 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
5410 Mention new -fdiagnostics-format option.
5411 * gnat_ugn.texi: Regenerate.
5412
5413 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5414
5415 * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
5416 mismatch check when Relaxed_RM_Semantics is set.
5417
5418 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5419
5420 * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb,
5421 switch-c.adb (Extensions_Allowed): Replace by a function.
5422 (Ada_Version_Type): Add new value Ada_With_Extensions, to
5423 replace setting of Extensions_Allowed. Update setting of
5424 Extensions_Allowed.
5425
5426 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5427
5428 * bindgen.adb (Gen_Output_File_Ada): Generate a new constant
5429 GNAT_Version_Address.
5430 * libgnat/g-comver.adb (GNAT_Version_Address): New;
5431 (GNAT_Version): Use GNAT_Version_Address to disable LTO warning.
5432
5433 2021-06-18 Javier Miranda <miranda@adacore.com>
5434
5435 * einfo.ads (Is_Ada_2022_Only): Adding documentation.
5436 * gen_il-fields.ads (Is_Ada_2022_Only): New flag.
5437 * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag.
5438 * itypes.adb (Create_Null_Excluding_Itype): Inherit
5439 Is_Ada_2022_Only.
5440 * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error
5441 on Ada 2022 only subprograms that require overriding if we are
5442 not in Ada 2022 mode.
5443 (Derive_Subprogram): Inherit Is_Ada_2022_Only.
5444 * sem_ch6.adb (Check_Overriding_Indicator): Inherit
5445 Is_Ada_2022_Only.
5446 (New_Overloaded_Entity): Inherit Is_Ada_2022_Only.
5447 * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit
5448 Is_Ada_2022_Only.
5449 (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only.
5450 * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit
5451 Is_Ada_2022_Only.
5452 (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only.
5453 * sem_prag.adb (Analyze_Pragma): Allow form with argument for
5454 Ada 2022.
5455 * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only
5456 * lib-xref.adb (Generate_Reference): Error on static and
5457 dispatching calls to Ada 2022 subprograms that require
5458 overriding if we are not in Ada 2022 mode; warn on other
5459 references to Ada 2022 entities when not in Ada 2022 mode.
5460 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit
5461 Ada_2020_Only.
5462 * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022.
5463 * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022.
5464 * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022.
5465 * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022.
5466 * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022.
5467 (New_Vector): Adding pragma Ada_2022.
5468 (Insert_Vector): Adding pragma Ada_2022.
5469 (Prepend_Vector): Adding pragma Ada_2022.
5470 (Append_Vector): Adding pragma Ada_2022.
5471
5472 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5473
5474 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against
5475 no Primitive_Operations.
5476
5477 2021-06-17 Vadim Godunko <godunko@adacore.com>
5478
5479 * libgnat/a-strunb__shared.ads (Allocate): Additional parameter
5480 to provide additional amount of space to be allocated.
5481 * libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit
5482 length to Natural'Last when requested length is larger than it.
5483 (Allocate): Merge two slightly different implementations into
5484 one.
5485
5486 2021-06-17 Gary Dismukes <dismukes@adacore.com>
5487
5488 * checks.adb (Discrete_Range_Cond): For an index subtype that
5489 has a fixed lower bound, require that the range's lower bound
5490 match that of the subtype.
5491 (Selected_Range_Checks): Warn about the case where a static
5492 lower bound does not equal an index subtype's fixed lower bound.
5493 * einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype,
5494 Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag.
5495 * exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of
5496 an unconstrained array subtype with fixed lower bound, then
5497 Expand_Sliding_Conversion is applied to the operand.
5498 * exp_ch6.adb (Expand_Simple_Function_Return): If the result
5499 subtype is an unconstrained array subtype with fixed lower
5500 bound, then Expand_Sliding_Conversion is applied to the return
5501 object.
5502 * exp_util.ads (Expand_Sliding_Conversion): New procedure for
5503 applying a sliding subtype conversion to an array object of a
5504 fixed-lower-bound subtype when needed.
5505 * exp_util.adb: Add with_clause for Freeze.
5506 (Expand_Sliding_Conversion): New procedure for applying a
5507 sliding subtype conversion to an array object of a
5508 fixed-lower-bound subtype when needed. It traverses the indexes
5509 of the unconstrained array type/subtype to create a target
5510 constrained subtype and rewrites the array object to be a
5511 conversion to that subtype, when there's at least one index
5512 whose lower bound does not statically match the fixed-lower
5513 bound of the target subtype.
5514 * gen_il-fields.ads (type Opt_Field_Enum): Add literals
5515 Is_Fixed_Lower_Bound_Array_Subtype and
5516 Is_Fixed_Lower_Bound_Index_Subtype for new flags on type
5517 entities.
5518 * gen_il-gen-gen_entities.adb: Add calls to
5519 Create_Semantic_Field for the new fixed-lower-bound flags on
5520 type entities.
5521 * par-ch3.adb (P_Array_Type_Definition): Add handling for
5522 parsing of fixed-lower-bound index ranges in unconstrained array
5523 types. Report an error if such an index is encountered and GNAT
5524 language extensions are not enabled.
5525 (P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure
5526 for parsing unconstrained index ranges.
5527 (P_Index_Or_Discriminant_Constraint): Add handling for parsing
5528 of index constraints that specify ranges with fixed lower
5529 bounds. Report an error if such an index is encountered and GNAT
5530 language extensions are not enabled.
5531 * sem_ch3.adb (Analyze_Object_Declaration): If the object's
5532 nominal subtype is an array subtype with fixed lower bound, then
5533 Expand_Sliding_Conversion is applied to the object.
5534 (Array_Type_Declaration): Mark the array type and the subtypes
5535 of any indexes that specify a fixed lower bound as being
5536 fixed-lower-bound subtypes, and set the High_bound of the range
5537 of such an index to the upper bound of the named subtype.
5538 (Constrain_Array): For an array subtype with one or more index
5539 ranges specifying a fixed lower bound, set Is_Constrained to
5540 False and set the array subtype's
5541 Is_Fixed_Lower_Bound_Array_Subtype flag to True.
5542 (Constrain_Index): Mark the subtypes of an index that specifies
5543 a fixed lower bound as being a fixed-lower-bound index subtype,
5544 and set the High_bound of the range of such an index to the
5545 upper bound of the base type of the array type's corresponding
5546 index.
5547 * sem_res.adb (Resolve_Actuals): If a formal is of an
5548 unconstrained array subtype with fixed lower bound, then
5549 Expand_Sliding_Conversion is applied to the actual.
5550 * sem_util.adb (Build_Actual_Subtype): If the actual subtype
5551 corresponds to an unconstrained array subtype having any indexes
5552 with fixed lower bounds, then set the lower bounds of any such
5553 indexes of the actual subtype to the appropriate fixed lower
5554 bound of the formal subtype (rather than taking it from the
5555 formal itself).
5556 * sprint.adb (Sprint_Node_Actual, case N_Range): If a range's
5557 Etype has a fixed lower bound, then print "<>" rather than the
5558 High_Bound of the range.
5559
5560 2021-06-17 Bob Duff <duff@adacore.com>
5561
5562 * sem_util.adb, sem_util.ads (Has_Access_Values): New formal
5563 Include_Internal to indicate whether internal types should be
5564 included.
5565 * sem_warn.adb (Check_References): Change E_Out_Parameter to
5566 Formal_Kind, to match the comment about Spec_Entity. Pass
5567 Include_Internal => False to Has_Access_Values, so that we warn
5568 on types with access values that happen to be in internal types,
5569 such as Unbounded_String.
5570 * sem_attr.adb (Attribute_Has_Access_Values): Pass
5571 Include_Internal => True to Has_Access_Values, to preserve
5572 existing behavior.
5573 * libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to
5574 'in', to avoid warning enabled by the change to sem_warn.adb.
5575 * libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in
5576 out' to 'in', to avoid warning enabled by the change to
5577 sem_warn.adb.
5578
5579 2021-06-17 Steve Baird <baird@adacore.com>
5580
5581 * exp_ch5.adb
5582 (Expand_N_Case_Statement.Expand_General_Case_Statement): New
5583 subprogram.
5584 (Expand_N_Case_Statement): If extensions are allowed and the
5585 case selector is not of a discrete type, then call
5586 Expand_General_Case_Statement to generate expansion instead of
5587 flagging the non-discrete selector as an error.
5588 * sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued
5589 function for testing whether a given expression occurs as part
5590 of a case choice pattern.
5591 * sem_case.adb (Composite_Case_Ops): New package providing
5592 support routines for the new form of case statements. This
5593 includes a nested package, Composite_Case_Ops.Value_Sets, which
5594 encapsulates the "representative values" implementation of
5595 composite value sets.
5596 (Check_Choices.Check_Case_Pattern_Choices): New procedure for
5597 semantic checking of non-discrete case choices. This includes
5598 the checks pertaining to coverage and overlapping.
5599 (Check_Choices.Check_Composite_Case_Selector): New procedure for
5600 semantic checking of non-discrete case selectors.
5601 (Check_Choices): If extensions are allowed then a non-discrete
5602 selector type no longer implies that an error must have been
5603 flagged earlier. Instead of simply returning, call
5604 Check_Composite_Case_Selector and Check_Case_Pattern_Choices.
5605 (Is_Case_Choice_Pattern): Body of new function declared in
5606 sem_case.ads .
5607 * sem_ch5.adb (Analyze_Case_Statement): If extensions are
5608 allowed, then we can't use RM 5.4's "The selecting_expression is
5609 expected to be of any discrete type" name resolution rule.
5610 Handle the case where the type of the selecting expression is
5611 not discrete, as well as the new ambiguous-name-resolution error
5612 cases made possible by this change.
5613 * sem_res.adb (Resolve_Entity_Name): It is ok to treat the name
5614 of a type or subtype as an expression if it is part of a case
5615 choice pattern, as in "(Field1 => Positive, Field2 => <>)".
5616 * exp_aggr.adb (Expand_Record_Aggregate): Do not expand case
5617 choice aggregates.
5618 * gen_il-fields.ads: Define two new node attributes,
5619 Binding_Chars and Multidefined_Bindings.
5620 * gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings
5621 attribute is Boolean-valued and may be set on
5622 N_Case_Statement_Alternative nodes. The new Binding_Chars
5623 attribute is Name_Id-valued and may be set on
5624 N_Component_Association nodes.
5625 * par-ch4.adb (P_Record_Or_Array_Component_Association): When
5626 parsing a component association, check for both new syntax forms
5627 used to specify a bound value in a case-choice aggregate. In
5628 the case of a box value, an identifier may occur within the box,
5629 as in "Foo => <Abc>" instead of "Foo => <>". In the more general
5630 case, an expression (or a box) may be followed by "is
5631 <identifier>", as in
5632 "Foo => Bar is Abc" instead of just "Foo => Bar".
5633 * sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box
5634 component values in a case-choice aggregate.
5635 * sinfo.ads: Provide comments for the new attributes added in
5636 gen_il-fields.ads.
5637 * doc/gnat_rm/implementation_defined_pragmas.rst: Describe this
5638 new feature in documentation for pragma Extensions_Allowed.
5639 * gnat_rm.texi: Regenerate.
5640
5641 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5642
5643 * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action):
5644 Do not abandon processing on a nested N_Expression_With_Actions
5645 or N_Loop_Statement, otherwise we may miss some transient
5646 declarations.
5647
5648 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5649
5650 * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate
5651 node.
5652
5653 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5654
5655 * sem_util.adb (Is_Valid_Renaming): Check not only indexed
5656 components, but slices too.
5657
5658 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5659
5660 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check
5661 No_Wide_Characters restriction after rejecting illegal parent
5662 types.
5663 (Derived_Type_Declaration): Likewise.
5664 (Find_Type_Of_Subtype_Indic): Remove check for
5665 No_Wide_Characters restriction, which was done too early.
5666
5667 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5668
5669 * sem_util.adb (Is_Valid_Renaming): Body moved from its nested
5670 routine.
5671
5672 2021-06-17 Gary Dismukes <dismukes@adacore.com>
5673
5674 * sem_ch12.adb (Instantiate_Type): If the actual type for an
5675 incomplete formal type is also incomplete, but has a Full_View,
5676 use the Full_View of the actual type rather than the incomplete
5677 view.
5678
5679 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5680
5681 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
5682 (-gnatw.I): Remove double period at the end of sentence.
5683 * gnat_ugn.texi: Regenerate.
5684
5685 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5686
5687 * sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with
5688 the range of a slice object, not its type.
5689
5690 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5691
5692 * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style;
5693 refactor repeated calls to Nkind; remove early RETURN.
5694
5695 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5696
5697 * sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of
5698 generic types, but keep examining other parameters.
5699
5700 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5701
5702 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code.
5703
5704 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5705
5706 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated
5707 code.
5708
5709 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5710
5711 * checks.adb (Overlap_Check): Replace Set_Casing with
5712 Adjust_Name_Case and adapt surrounding code as needed.
5713
5714 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5715
5716 * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move...
5717 * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.
5718
5719 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5720
5721 * uintp.ads, uintp.adb (UI_To_Unsigned_64): New.
5722
5723 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5724
5725 * sem_prag.adb (Get_Overflow_Mode): Reword error message.
5726 * switch-c.adb (Get_Overflow_Mode): Likewise.
5727
5728 2021-06-17 Richard Kenner <kenner@adacore.com>
5729
5730 * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle
5731 Others_Discrete_Choices in N_Others_Choice.
5732
5733 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5734
5735 * atree.adb: Remove redundant comment with spec.
5736 * sem_warn.adb: Fix typo in comment.
5737
5738 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5739
5740 * atree.adb: Do not suppress checks.
5741
5742 2021-06-17 Justin Squirek <squirek@adacore.com>
5743
5744 * exp_ch3.adb (Check_Missing_Others): Add comment.
5745 (Build_Initialization_Call): Remove inaccurate accessibility
5746 comment.
5747 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove
5748 test for Ada2012.
5749 (Analyze_Package_Instantiation): Remove speculative comment.
5750 (Inline_Instance_Body): Add comments for loops.
5751 (Build_Subprogram_Renaming): Remove comment about fix being
5752 partial and "ugly."
5753 (Instantiate_Subprogram_Body): Remove comment referencing DEC
5754 related internal issue.
5755 (Subtypes_Match): Add comment and simplify anonymous access
5756 test.
5757 (Is_Global): Add test for when E is an expanded name, and
5758 calculate the scope accordingly.
5759 * sem_ch6.adb (Analyze_Function_Return): Update comment
5760 regarding accessibility, and add check for
5761 Warn_On_Ada_2012_Compatibility.
5762 (Mask_Type_Refs): Add comments.
5763 (Analyze_Subprogram_Declaration): Remove mysterious suppression
5764 of elaboration checks.
5765 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic
5766 value.
5767 * sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment.
5768 (Note_Redundant_Use): Fix calls to Find_First_Use to be
5769 Find_Most_Prev.
5770 (Get_Object_Name): Modify error message to be more descriptive.
5771 (Known_But_Visible): Remove mysterious special case for
5772 GNAT_Mode.
5773 (Find_First_Use): Removed.
5774 (Find_Most_Prev): Renamed from Find_First_Use.
5775 * sem_prag.adb (Check_Static_Constraint): Add comments to
5776 routine.
5777
5778 2021-06-17 Bob Duff <duff@adacore.com>
5779
5780 * treepr.adb (Print_Node): Display the Entity or Associated_Node
5781 fields if appropriate.
5782 * sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These
5783 are no longer needed.
5784
5785 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5786
5787 * checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to
5788 Is_Object_Reference with calls to Is_Name_Reference; remove
5789 asymmetric condition that only detected an aggregate as the
5790 first actual (aggregate objects were just a special case of an
5791 object reference that was not a name).
5792
5793 2021-06-17 Bob Duff <duff@adacore.com>
5794
5795 * gen_il-gen.adb, gen_il-internals.ads: Generate field
5796 enumeration literals with "F_" prefix. Update all generated
5797 references accordingly.
5798 * atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb,
5799 sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb,
5800 sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the
5801 field enumeration literals.
5802
5803 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5804
5805 * libgnat/i-c.ads, libgnat/i-cexten.ads,
5806 libgnat/i-cexten__128.ads: bool renamed C_bool.
5807
5808 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5809
5810 * sem_ch4.adb (Analyze_Allocator): Reject allocators in
5811 restricted contexts.
5812
5813 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5814
5815 * gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot
5816 be found.
5817
5818 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5819
5820 * sem_util.adb (Is_Volatile_Function): Follow the exact wording
5821 of SPARK (regarding volatile functions) and Ada (regarding
5822 protected functions).
5823
5824 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5825
5826 * sem_util.adb (Is_OK_Volatile_Context): All references to
5827 volatile objects are legal in preanalysis.
5828 (Within_Volatile_Function): Previously it was wrongly called on
5829 Empty entities; now it is only called on E_Return_Statement,
5830 which allow the body to be greatly simplified.
5831
5832 2021-06-16 Yannick Moy <moy@adacore.com>
5833
5834 * sem_res.adb (Set_Slice_Subtype): Revert special-case
5835 introduced previously, which is not needed as Itypes created for
5836 slices are precisely always used.
5837
5838 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5839
5840 * urealp.adb (Scale): Change first paramter to Uint and adjust.
5841 (Equivalent_Decimal_Exponent): Pass U.Den directly to Scale.
5842 * libgnat/s-exponr.adb (Negative): Rename to...
5843 (Safe_Negative): ...this and change its lower bound.
5844 (Exponr): Adjust to above renaming and deal with Integer'First.
5845
5846 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5847
5848 * sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
5849 allocators within restricted contexts and not just entity names.
5850 (Resolve_Actuals): Remove duplicated code for detecting
5851 restricted contexts; it is now exclusively done in
5852 Is_OK_Volatile_Context.
5853 (Resolve_Entity_Name): Adapt to new parameter of
5854 Is_OK_Volatile_Context.
5855 * sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
5856 handle contexts both inside and outside of subprogram call
5857 actual parameters.
5858 (Within_Subprogram_Call): Remove; now handled by
5859 Is_OK_Volatile_Context itself and its parameter.
5860
5861 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5862
5863 * sinput.adb (Sloc_Range): Refactor several repeated calls to
5864 Sloc and two comparisons with No_Location.
5865
5866 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5867
5868 * checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending
5869 on the parameter passing mechanism. Grammar adjustment ("has"
5870 => "have").
5871 (Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment.
5872
5873 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5874
5875 * exp_ch3.adb (Build_Slice_Assignment): Remove unused
5876 initialization.
5877
5878 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5879
5880 * restrict.adb, sem_attr.adb, types.ads: Fix typos in
5881 "occuring"; refill comment as necessary.
5882
5883 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5884
5885 * sem_util.ads (Is_Actual_Parameter): Update comment.
5886 * sem_util.adb (Is_Actual_Parameter): Also detect entry parameters.
5887
5888 2021-06-16 Arnaud Charlet <charlet@adacore.com>
5889
5890 * rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb,
5891 exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related
5892 entities to the expander directly.
5893
5894 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5895
5896 * sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace
5897 cleanup.
5898 (Is_Attribute_Expression): Prevent AST climbing from going to
5899 the root of the compilation unit.
5900
5901 2021-06-16 Steve Baird <baird@adacore.com>
5902
5903 * doc/gnat_rm/implementation_advice.rst: Add a section for RM
5904 A.18 .
5905 * gnat_rm.texi: Regenerate.
5906
5907 2021-06-16 Justin Squirek <squirek@adacore.com>
5908
5909 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add
5910 check for the mixing of entries.
5911
5912 2021-06-16 Justin Squirek <squirek@adacore.com>
5913
5914 * sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions
5915 in Priority aspect arguments for restriction Static_Priorities.
5916
5917 2021-06-16 Justin Squirek <squirek@adacore.com>
5918
5919 * sem_util.adb (Accessibility_Level): Take into account
5920 renamings of loop parameters.
5921
5922 2021-06-16 Matthieu Eyraud <eyraud@adacore.com>
5923
5924 * par_sco.adb (Set_Statement_Entry): Change sloc for dominance
5925 marker.
5926 (Traverse_One): Fix typo.
5927 (Output_Header): Fix comment.
5928
5929 2021-06-16 Richard Kenner <kenner@adacore.com>
5930
5931 * exp_unst.adb (Register_Subprogram): Don't look for aliases for
5932 subprograms that are generic. Reorder tests for efficiency.
5933
5934 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5935
5936 * sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of
5937 the parameter and use it to find its incomplete view, if any.
5938
5939 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5940
5941 * freeze.adb (Check_No_Parts_Violations): Return earlier if the
5942 type is elementary or does not come from source.
5943
5944 2021-06-16 Bob Duff <duff@adacore.com>
5945
5946 * ghost.adb: Add another special case where full analysis is
5947 needed. This bug is due to quirks in the way
5948 Mark_And_Set_Ghost_Assignment works (it happens very early,
5949 before name resolution is done).
5950
5951 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5952
5953 * sem_util.adb (Current_Entity_In_Scope): Reimplement.
5954
5955 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5956
5957 * sem_ch8.adb (End_Scope): Remove extra parens.
5958
5959 2021-06-16 Javier Miranda <miranda@adacore.com>
5960
5961 * exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation
5962 of actuals is side effects free (since the check duplicates
5963 actuals).
5964
5965 2021-06-16 Ed Schonberg <schonberg@adacore.com>
5966
5967 * sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules
5968 concerning the need for parentheses around Raise_Expressions in
5969 various contexts.
5970
5971 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5972
5973 * sem_ch13.adb (Validate_Unchecked_Conversion): Move detection
5974 of generic types before switching to their private views; fix
5975 style in using AND THEN.
5976
5977 2021-06-16 Arnaud Charlet <charlet@adacore.com>
5978
5979 * sem_ch3.adb (Analyze_Component_Declaration): Do not special
5980 case raise expressions.
5981
5982 2021-06-16 Sergey Rybin <rybin@adacore.com>
5983
5984 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
5985 Instead of referring to the formatting of the Ada examples in
5986 Ada RM add use the list of checks that are actually performed.
5987 * gnat_ugn.texi: Regenerate.
5988
5989 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5990
5991 * initialize.c: Do not include vxWorks.h and fcntl.h from here.
5992 (__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
5993 (__gnat_initialize) [init_float]: Delete.
5994 (__gnat_initialize) [VxWorks]: Likewise.
5995 (__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
5996 * runtime.h: Add comment about vxWorks.h include.
5997
5998 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5999
6000 * libgnat/s-except.ads (ZCX_By_Default): Delete.
6001 (Require_Body): Likewise.
6002 * libgnat/s-except.adb: Replace body with pragma No_Body.
6003
6004 2021-06-15 Steve Baird <baird@adacore.com>
6005
6006 * exp_util.adb (Kill_Dead_Code): Generalize the existing
6007 handling of if statements to handle case statements similarly.
6008
6009 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6010
6011 * raise.h (_gnat_builtin_longjmp): Delete.
6012 (set_gnat_exit_status): Likewise.
6013
6014 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6015
6016 * exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component
6017 declaration just like full type and subtype declarations.
6018
6019 2021-06-15 Yannick Moy <moy@adacore.com>
6020
6021 * errout.adb (First_And_Last_Node): Also apply to arbitrary late
6022 declarations, not only subprogram specs.
6023
6024 2021-06-15 Bob Duff <duff@adacore.com>
6025
6026 * sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to
6027 Reinit_Field_To_Zero are for the correct Ekinds.
6028
6029 2021-06-15 Bob Duff <duff@adacore.com>
6030
6031 * aspects.ads (No_Task_Parts): New aspect.
6032 * snames.ads-tmpl: Add the aspect name.
6033 * exp_ch6.adb (Might_Have_Tasks): Return False if this is a
6034 class-wide type whose specific type has No_Task_Parts.
6035 * freeze.adb (Check_No_Parts_Violations): This is an adaptation
6036 of the procedure formerly known as
6037 Check_No_Controlled_Parts_Violations, which now supports both
6038 No_Controlled_Parts and No_Task_Parts. It takes a parameter
6039 indicating which aspect is being checked.
6040 (Freeze_Entity): Call Check_No_Parts_Violations for both
6041 aspects.
6042 * sem_ch13.adb (Analyze_Aspect_Specifications): The code for
6043 Aspect_No_Controlled_Parts already works as is with
6044 Aspect_No_Task_Parts.
6045 * libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
6046 iterator iterfaces.
6047 * doc/gnat_rm/implementation_defined_aspects.rst: Add
6048 documentation for the No_Task_Parts aspect.
6049 * gnat_rm.texi: Regenerate.
6050
6051 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6052
6053 * exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix
6054 handling of scopes for subprogram calls.
6055
6056 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6057
6058 * sem_prag.adb: Fix typos in comments related to access types.
6059 * sem_util.adb (Is_Access_Variable): Stronger condition.
6060
6061 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6062
6063 * Make-generated.in: Add rule to copy runtime files needed
6064 during stage1.
6065 * raise.c: Remove obsolete symbols used during bootstrap.
6066 * gcc-interface/Make-lang.in: Do not use libgnat sources during
6067 stage1.
6068 (GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
6069 part and the part only used outside of stage1.
6070 (ADA_GENERATED_FILES): Add runtime files needed during bootstrap
6071 when recent APIs are needed.
6072 (ada/b_gnatb.adb): Remove prerequisite.
6073 * gcc-interface/system.ads: Remove obsolete entries.
6074
6075 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6076
6077 * raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION.
6078
6079 2021-06-15 Ed Schonberg <schonberg@adacore.com>
6080
6081 * sem_util.adb (Is_Confirming): Separate the handling of
6082 Implicit_Dereference, for which no pragma is generated but which
6083 is already checked for legality in Sem_Ch13, including renamed
6084 discriminants in a derived type.
6085 (Is_Confirming, Same_Name): For expanded names, only check
6086 matching of selector, because prefix may correspond to original
6087 and derived types with different names and/or scopes. Semantic
6088 checks on aspect expression have already verified its legality.
6089 Add comments regarding possible gaps in RM description of the
6090 feature.
6091
6092 2021-06-15 Gary Dismukes <dismukes@adacore.com>
6093
6094 * freeze.adb (Freeze_Subprogram): Don't propagate conventions
6095 Intrinsic or Entry to anonymous access-to-subprogram types
6096 associated with subprograms having those conventions. Update
6097 related comment.
6098 * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove
6099 special-case warning code for cases where a called subprogram
6100 has convention Intrinsic as well as its formal's type (the
6101 expected type for the Access attribute), since this case can no
6102 longer occur.
6103
6104 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6105
6106 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix
6107 typos.
6108
6109 2021-06-15 Bob Duff <duff@adacore.com>
6110
6111 * einfo-utils.adb (Known_Component_Size,
6112 Known_Static_Component_Size, Unknown_Component_Size): Use
6113 Implementation_Base_Type instead of Base_Type.
6114
6115 2021-06-15 Bob Duff <duff@adacore.com>
6116
6117 * gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add
6118 Interface_Name field.
6119
6120 2021-06-15 Bob Duff <duff@adacore.com>
6121
6122 * sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic
6123 expression in predefined unit with pragma Preelaborate.
6124
6125 2021-06-15 Yannick Moy <moy@adacore.com>
6126
6127 * doc/gnat_rm/intrinsic_subprograms.rst: More details on shift
6128 operations for signed types. Also add the missing Import and
6129 Convention on the example.
6130 * gnat_rm.texi: Regenerate.
6131
6132 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6133
6134 * raise-gcc.c: Include <cstdarg> instead of <stdarg.h> in C++.
6135 Include <stdbool.h> and unconditionally <stdlib.h> in C.
6136
6137 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6138
6139 * sem_util.ads (Find_Overlaid_Entity): Simplify comment for
6140 spec.
6141 * sem_util.adb (Find_Overlaid_Entity): Remove defensive code
6142 from body.
6143
6144 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6145
6146 * argv.c: Add include of <stdlib.h> for the runtime.
6147 (gnat_argv): Change type to char ** and initialize to NULL.
6148 (gnat_envp): Likewise.
6149 * argv-lynxos178-raven-cert.c: Add include of <stdlib.h>.
6150 (gnat_argv): Change type to char ** and initialize to NULL.
6151 (gnat_envp): Likewise.
6152
6153 2021-06-15 Bob Duff <duff@adacore.com>
6154
6155 * gen_il-gen.adb (Setter_Needs_Parent): Add missing
6156 Then_Actions. Fix self-contradictory comment.
6157 * exp_util.adb (Insert_Actions): Minor comment improvments.
6158
6159 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6160
6161 * sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable):
6162 Add support for folding more "and"/"or" expressions.
6163 * exp_util.adb (Side_Effect_Free): Fix handling of membership
6164 tests.
6165
6166 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6167
6168 * sem_res.adb (Resolve_Actual): Replace repeated calls to
6169 "Etype (F)" with references to "F_Typ", which keeps the results
6170 of exactly that call.
6171
6172 2021-06-15 Bob Duff <duff@adacore.com>
6173
6174 * gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in
6175 computations in Last_Bit when Offset = 'Last.
6176 (Choose_Offset): Give a better error message when we run out of
6177 fields. In particular, point out that
6178 Gen_IL.Internals.Bit_Offset'Last needs to be increased.
6179
6180 2021-06-15 Bob Duff <duff@adacore.com>
6181
6182 * atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb,
6183 gen_il.ads, gen_il-gen-gen_entities.adb,
6184 gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb,
6185 sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up
6186 ??? comments and other comments.
6187 * atree.adb: Clean up ??? comments and other comments.
6188 (Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)"
6189 should be "Off_0 (N) <= Off_L (N)".
6190 * gen_il-gen.adb, gen_il-gen.ads: Clean up ???
6191 comments and other comments. Add support for getter-specific
6192 and setter-specific preconditions. Detect the error of putting
6193 a field in the wrong subrange. Misc cleanup.
6194 (Node_Field vs. Entity_Field): Clean up Nmake. Improve
6195 comments.
6196 * gen_il-utils.ads: Misc cleanup. Move...
6197 * gen_il-internals.ads: ... here.
6198 * gen_il-utils.adb: Misc cleanup. Move...
6199 * gen_il-internals.adb: ... here.
6200 * gen_il-fields.ads: Move Was_Default_Init_Box_Association,
6201 which was in the wrong subrange. Add comments. Misc cleanup.
6202 * gen_il-types.ads: Add Named_Access_Kind.
6203 * sinfo-cn.adb: Clean up ??? comments and other comments.
6204 Remove redundant assertions.
6205 * einfo.ads, sinfo.ads: Clean up ??? comments and other
6206 comments. Remove all the comments indicating field offsets.
6207 These are obsolete now that Gen_IL computes the offsets
6208 automatically.
6209
6210 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6211
6212 * einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb,
6213 exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb,
6214 exp_put_image.adb, fe.h, impunit.adb, impunit.ads,
6215 libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads,
6216 par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
6217 par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb,
6218 sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
6219 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
6220 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
6221 sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads,
6222 sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb,
6223 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
6224 doc/gnat_rm/implementation_defined_aspects.rst,
6225 gcc-interface/trans.c: Update all references to Ada 2020 to Ada
6226 2022. Rename pragma Ada_2020 to Ada_2022. Update documentation
6227 accordingly.
6228 * gnat_ugn.texi, gnat_rm.texi: Regenerate.
6229
6230 2021-06-15 Steve Baird <baird@adacore.com>
6231
6232 * sem_util.adb (Gather_Components): Factor the test that was
6233 already being used to govern emitting a pre-Ada_2020 error
6234 message into an expression function,
6235 OK_Scope_For_Discrim_Value_Error_Messages. Call that new
6236 function in two places: the point where the same test was being
6237 performed previously, and in governing emission of a newer
6238 Ada_2020 error message. In both cases, the out-mode parameter
6239 Gather_Components.Report_Errors is set to True even if no error
6240 messages are generated within Gather_Components.
6241 * sem_util.ads: Correct a comment.
6242
6243 2021-06-15 Richard Kenner <kenner@adacore.com>
6244
6245 * sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type):
6246 Reinitialize Stored_Constraint when needed.
6247 (Set_Modular_Size): Likewise.
6248 * atree.adb: (Check_Vanishing_Fields): Add node id to debugging
6249 information.
6250
6251 2021-06-15 Bob Duff <duff@adacore.com>
6252
6253 * sem_util.adb (Propagate_Invariant_Attributes): Call
6254 Set_Has_Own_Invariants on the base type, because these are
6255 Base_Type_Only. The problem is that the base type of a type is
6256 indeed a base type when Set_Base_Type is called, but then the
6257 type is mutated into a subtype in rare cases.
6258 * atree.ads, atree.adb (Is_Entity): Export. Correct subtype of
6259 parameter in body.
6260 * gen_il-gen.adb: Improve getters so that "Pre => ..." can refer
6261 to the value of the field. Put Warnings (Off) on some with
6262 clauses that are not currently used, but might be used by such
6263 Pre's.
6264
6265 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6266
6267 * sem_ch3.adb (Access_Type_Declaration): Add comments to explain
6268 the ordering of Mutate_Kind and Set_Directly_Designated_Type;
6269 remove temporary setting of Ekind to E_Access_Type for building
6270 _master objects, since now the Ekind is already set to its final
6271 value. Move repeated code into Setup_Access_Type routine and use
6272 it so that Process_Subtype is executed before mutating the kind
6273 of the type entity.
6274 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
6275 Directly_Designated_Type from E_Void, E_Private_Record,
6276 E_Limited_Private_Type and Incomplete_Kind; now it only belongs
6277 to Access_Kind entities.
6278 * sem_util.adb: Minor reformatting.
6279
6280 2021-06-03 Eric Botcazou <ebotcazou@adacore.com>
6281
6282 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
6283 local constant and use it throughout. If it is set, use a ref-all
6284 pointer type for the pointer-to-array field of the fat pointer type.
6285 <E_Array_Subtype>: Add PAT local constant and use it throughout.
6286
6287 2021-05-26 Jakub Jelinek <jakub@redhat.com>
6288
6289 * init.c (__gnat_error_handler): Remove register keyword.
6290
6291 2021-05-25 Martin Liska <mliska@suse.cz>
6292
6293 * doc/share/conf.py: Fix Sphinx 4.0.x error.
6294
6295 2021-05-21 Piotr Trojanek <trojanek@adacore.com>
6296
6297 * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion.
6298
6299 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6300
6301 * gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment.
6302 * gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR
6303 if the offset of the field has overflowed.
6304 (build_component_ref): Add gigi checking assertion that the reference
6305 has been built and replace the discriminant check by a Program_Error.
6306
6307 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6308
6309 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_Integer>: Do
6310 not pass default value in call to create_var_decl.
6311 <E_Variable>: Likewise.
6312 <E_Record_Subtype>: Both pass true for const_flag and false for
6313 const_decl_allowed_p in call to create_var_decl.
6314 Small tweaks in the generic record type case.
6315 (elaborate_expression): Rename need_debug into need_for_debug and
6316 adjust throughout.
6317 (elaborate_expression_1): Likewise. Pass Needs_Debug_Info instead
6318 of need_for_debug in call to create_var_decl.
6319 (elaborate_expression_2): Likewise.
6320 * gcc-interface/utils.c (maybe_pad_type): Pass false for
6321 const_decl_allowed_p in call to create_var_decl.
6322
6323 2021-05-21 Ghjuvan Lacambre <lacambre@adacore.com>
6324
6325 * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??.
6326 (gnat_to_gnu_param): Likewise.
6327 (gnat_to_gnu_subprog_type): Likewise.
6328 (warn_on_field_placement): Likewise.
6329 (intrin_arglists_compatible_p): Likewise.
6330 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
6331 (gnat_to_gnu): Likewise.
6332 (validate_unchecked_conversion): Likewise.
6333 * gcc-interface/utils.c (maybe_pad_type): Likewise.
6334
6335 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6336
6337 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
6338 the implementation type of a packed type implemented specially.
6339
6340 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6341
6342 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
6343 the Is_Pure flag into the "pure" attribute of GNU C.
6344
6345 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6346
6347 * gcc-interface/trans.c (Call_to_gnu): Restrict previous change
6348 to bitfields whose size is not equal to the type size.
6349 (gnat_to_gnu): Likewise.
6350
6351 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6352
6353 * gcc-interface/trans.c (Call_to_gnu): Minor tweaks.
6354 (gnat_to_gnu_external): Likewise.
6355 (Raise_Error_to_gnu): Return an empty statement list if there is a
6356 condition and it is always false.
6357 (gnat_to_gnu): Do not check for elaboration code a priori during the
6358 translation but a posteriori instead.
6359
6360 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6361
6362 * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
6363 Put a SLOC on the assignment from the return value to the return
6364 object in the copy-in/copy-out case.
6365
6366 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6367
6368 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Replace
6369 CEIL_DIV_EXPR with EXACT_DIV_EXPR.
6370 * gcc-interface/misc.c (gnat_type_max_size): Likewise.
6371 * gcc-interface/utils.c (maybe_pad_type): Likewise.
6372 (finish_record_type): Likewise. And always compute the unit size.
6373
6374 2021-05-14 Martin Liska <mliska@suse.cz>
6375
6376 * doc/Makefile: Add gnat-style target.
6377 * doc/share/conf.py: Likewise.
6378 * doc/gnat-style.rst: New file.
6379
6380 2021-05-12 Bob Duff <duff@adacore.com>
6381
6382 PR ada/100564
6383 * atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id
6384 when the Nkind has not yet been set; call the other Zero_Slots
6385 that takes a range of slot offsets. Call the new Mutate_Kind
6386 that takes an Old_Size, for the same reason -- the size cannot
6387 be computed without the Nkind.
6388 (Mutate_Nkind): New function that allows specifying the Old_Size.
6389 (Size_In_Slots): Assert that the Nkind has proper (nonzero) value.
6390 * atree.ads: Minor reformatting.
6391
6392 2021-05-12 Martin Liska <mliska@suse.cz>
6393
6394 * doc/share/conf.py: Do not use binary mode.
6395 Do not use u' literals as Python3 uses unicode by default.
6396
6397 2021-05-11 Martin Liska <mliska@suse.cz>
6398
6399 * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins
6400 from COROUTINES.
6401 (BUILT_IN_UNLIKELY): Likewise.
6402
6403 2021-05-11 Eric Botcazou <ebotcazou@adacore.com>
6404
6405 * gnatvsn.adb (Version_String): Rename to...
6406 (C_Version_String): ...this.
6407 (Gnat_Version_String): Adjust to above renaming.
6408 * version.c : Fix formatting glitches.
6409
6410 2021-05-10 Martin Liska <mliska@suse.cz>
6411
6412 PR bootstrap/100506
6413 * Make-generated.in: Replace version.c with ada/version.c.
6414 * gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and
6415 GNATBIND_OBJS.
6416 * gcc-interface/Makefile.in: Replace version.c with ada/version.c.
6417 Add version.o to TOOLS_LIBS.
6418 * gnatvsn.adb: Replace version_string with gnat_version_string.
6419 * version.c: New file.
6420
6421 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6422
6423 * einfo-utils.ads (Classification Attributes): Add pragma Inline.
6424 (Synthesized Attribute Functions): Move pragma Inline around.
6425 (Type Representation Attribute Predicates): Likewise.
6426 (Field Initialization Routines): Likewise.
6427 (Miscellaneous Subprogram): Likewise.
6428
6429 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6430
6431 * atree.ads (Slot): Remove pragma Provide_Shift_Operators.
6432 (Shift_Left): New intrinsic function.
6433 (Shift_Right): Likewise.
6434 * atree.adb (Get_1_Bit_Val): Use Natural instead of Integer.
6435 (Get_2_Bit_Val): Likewise.
6436 (Get_4_Bit_Val): Likewise.
6437 (Get_8_Bit_Val): Likewise.
6438 (Set_1_Bit_Val): Likewise.
6439 (Set_2_Bit_Val): Likewise.
6440 (Set_4_Bit_Val): Likewise.
6441 (Set_8_Bit_Val): Likewise.
6442
6443 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6444
6445 * atree.adb (Zero_Slots): Remove obsolete comment and add header.
6446
6447 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6448
6449 * atree.h (Get_32_Bit_Field): Tidy up.
6450 (Get_32_Bit_Field_With_Default): Likewise.
6451
6452 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6453
6454 * Make-generated.in (do_gen_il): Replace with...
6455 (ada/stamp-gen_il): ...this. Do not copy files into generated/.
6456
6457 2021-05-10 Martin Liska <mliska@suse.cz>
6458
6459 * gcc-interface/utils.c (def_builtin_1): Use startswith
6460 function instead of strncmp.
6461
6462 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6463
6464 * einfo-utils.adb (Is_Access_Object_Type): Use
6465 Directly_Designated_Type.
6466 (Is_Access_Subprogram_Type): Use Directly_Designated_Type.
6467 (Set_Convention): Use plain Ekind.
6468 * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind.
6469 * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal
6470 completion with an access type don't attempt to decorate the
6471 completion entity; previously the entity had its Ekind set to
6472 E_General_Access_Type or E_Access_Type, but its Designated_Type
6473 was empty, which caused a crash in freezing. (Actually, the
6474 error recovery in the surrounding context is still incomplete,
6475 e.g. we will crash when the illegal completion is an access to
6476 an unknown identifier).
6477
6478 2021-05-07 Bob Duff <duff@adacore.com>
6479
6480 * par_sco.adb: Align with/use clauses.
6481 (Traverse_Declarations_Or_Statements): Minor comment fix.
6482 * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb,
6483 contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb,
6484 errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb,
6485 exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb,
6486 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb,
6487 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb,
6488 exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb,
6489 exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb,
6490 exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb,
6491 exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb,
6492 exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb,
6493 frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb,
6494 impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb,
6495 lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb,
6496 lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb,
6497 par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb,
6498 repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb,
6499 sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb,
6500 sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb,
6501 sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
6502 sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
6503 sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb,
6504 sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
6505 sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb,
6506 sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
6507 sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb,
6508 sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads,
6509 treepr.adb, uname.adb: Align with/use clauses.
6510
6511 2021-05-07 Bob Duff <duff@adacore.com>
6512
6513 * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean
6514 up ??? marks. Rename Set_Ekind to be Mutate_Ekind.
6515 * einfo.ads, sinfo.ads: Likewise. Change "definitive
6516 definition" to "official definition", because the former sounds
6517 redundant. Rename Set_Ekind to be Mutate_Ekind.
6518 * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb,
6519 exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb,
6520 exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb,
6521 exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb,
6522 exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb,
6523 lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb,
6524 sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
6525 sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
6526 sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb,
6527 sem_util.adb: Rename Set_Ekind to be Mutate_Ekind.
6528
6529 2021-05-07 Bob Duff <duff@adacore.com>
6530
6531 * atree.adb: Move nnd-related code from here, and leave a
6532 comment pointing to sinfo-utils.adb.
6533 * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to
6534 here.
6535
6536 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6537
6538 * einfo.ads: Move Corresponding_Protected_Entry...
6539 * sinfo.ads: ... here.
6540 * exp_ch9.adb (Build_Entry_Body): Link procedure and entry
6541 bodies.
6542 * gen_il-fields.ads (Opt_Field_Enum): Add
6543 Corresponding_Entry_Body field to nodes; remove
6544 Corresponding_Protected_Entry field from entities.
6545 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
6546 Corresponding_Protected_Entry field from E_Void and
6547 E_Subprogram_Body.
6548 * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add
6549 Corresponding_Entry_Body field to N_Subprogram_Body.
6550 * sem_ch6.adb (Analyze_Subprogram_Specification): Remove
6551 manipulation of Ekind and Corresponding_Protected_Entry added as
6552 part of the support for varsize-nodes.
6553
6554 2021-05-07 Bob Duff <duff@adacore.com>
6555
6556 * sem_ch3.adb (Process_Incomplete_Dependents): Reset
6557 Private_Dependents field to zero before calling Set_Ekind. Also
6558 move Set_Etype to after Set_Ekind, because it's always best to
6559 set the Ekind as early as possible.
6560 * atree.adb: Improve debugging facilities for vanishing fields.
6561
6562 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6563
6564 * atree.ads (Slot): Change to modular type.
6565 (Slot_1_Bit): Delete.
6566 (Slot_2_Bit): Likewise.
6567 (Slot_4_Bit): Likewise.
6568 (Slot_8_Bit): Likewise.
6569 (Slot_32_Bit): Likewise.
6570 * atree.adb (Get_1_Bit_Val): Adjust to above change.
6571 (Get_2_Bit_Val): Likewise.
6572 (Get_4_Bit_Val): Likewise.
6573 (Get_8_Bit_Val): Likewise.
6574 (Get_32_Bit_Val): Likewise.
6575 (Set_1_Bit_Val): Likewise.
6576 (Set_2_Bit_Val): Likewise.
6577 (Set_4_Bit_Val): Likewise.
6578 (Set_8_Bit_Val): Likewise.
6579 (Set_32_Bit_Val): Likewise.
6580 (Print_Atree_Info): Likewise.
6581 (Zero): Likewise.
6582 * atree.h (Get_1_Bit_Field): Likewise.
6583 (Get_2_Bit_Field): Likewise.
6584 (Get_4_Bit_Field): Likewise.
6585 (Get_8_Bit_Field): Likewise.
6586 (Get_32_Bit_Field): Likewise.
6587 (Get_32_Bit_Field_With_Default): Likewise.
6588 * types.h (slot_1_bit): Delete.
6589 (slot_2_bit): Likewise.
6590 (slot_4_bit): Likewise.
6591 (slot_8_bit): Likewise.
6592 (slot_32_bit): Likewise.
6593 (any_slot): Change to unsigned int.
6594 (Slot_Size): New macro.
6595
6596 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6597
6598 * gcc-interface/gigi.h (enum standard_datatype): Remove
6599 ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id.
6600 (exception_data_name_id): Delete.
6601 (not_handled_by_others_name_id): New macro.
6602 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old
6603 kludge for exceptions.
6604 <E_Record_Type>: Likewise.
6605 (gnat_to_gnu_field): Force character type on Not_Handled_By_Others.
6606 * gcc-interface/misc.c (gnat_argv): Change type to char **.
6607 (gnat_init_options): Adjust accordingly.
6608 * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id
6609 and use it to set not_handled_by_others_decl.
6610 (Exception_Handler_to_gnu_fe_sjlj): Fix indentation.
6611
6612 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6613
6614 * raise-gcc.c (__gnat_others_value): Remove const qualifier.
6615 (__gnat_all_others_value): Likewise.
6616 (__gnat_unhandled_others_value): Likewise.
6617 (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr.
6618 (GNAT_ALL_OTHERS): Likewise.
6619 (GNAT_UNHANDLED_OTHERS): Likewise.
6620 (Is_Handled_By_Others): Change parameter type to Exception_Id.
6621 (Language_For): Likewise.
6622 (Foreign_Data_For): Likewise.
6623 (is_handled_by): Likewise. Adjust throughout, remove redundant
6624 line and fix indentation.
6625 * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and
6626 useless qualification from parameter type.
6627 (Foreign_Data_For): Likewise.
6628 (Language_For): Likewise.
6629
6630 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6631
6632 * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased.
6633 * stand.ads (Standard_Entity_Type): Enhance comments.
6634 * cstand.adb (Make_Component): Rename into...
6635 (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent
6636 flags on the component.
6637 (Create_Standard): Adjust the types of the component of the record
6638 Standard_Exception_Type and mark them as aliased.
6639 * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK
6640 conversion to Standard_Address for Full_Name component, except
6641 in CodePeer_Mode (set it to 0).
6642 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise.
6643 * raise.h (struct Exception_Data): Change the type of Full_Name,
6644 HTable_Ptr and Foreign_Data.
6645
6646 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6647
6648 * atree.h (Slots_Ptr): Change pointed-to type to any_slot.
6649 * fe.h (Get_RT_Exception_Name): Change type of parameter.
6650 * namet.ads (Name_Entry): Mark non-boolean components as aliased,
6651 reorder the boolean components and add an explicit Spare component.
6652 * namet.adb (Name_Enter): Adjust aggregate accordingly.
6653 (Name_Find): Likewise.
6654 (Reinitialize): Likewise.
6655 * namet.h (struct Name_Entry): Adjust accordingly.
6656 (Names_Ptr): Use correct type.
6657 (Name_Chars_Ptr): Likewise.
6658 (Get_Name_String): Fix declaration and adjust to above changes.
6659 * types.ads (RT_Exception_Code): Add pragma Convention C.
6660 * types.h (Column_Number_Type): Fix original type.
6661 (slot): Rename union type to...
6662 (any_slot): ...this and adjust assertion accordingly.
6663 (RT_Exception_Code): New enumeration type.
6664 * uintp.ads (Uint_Entry): Mark components as aliased.
6665 * uintp.h (Uints_Ptr): Use correct type.
6666 (Udigits_Ptr): Likewise.
6667 * gcc-interface/gigi.h (gigi): Adjust name and type of parameter.
6668 * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr
6669 and Udigits_Ptr.
6670 * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type.
6671 (gigi): Adjust type of parameter.
6672 (build_raise_check): Add cast in call to Get_RT_Exception_Name.
6673
6674 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6675
6676 * init.c (__gnat_raise_program_error): Fix parameter type.
6677 (Raise_From_Signal_Handler): Likewise and mark as no-return.
6678 * raise-gcc.c (__gnat_others_value): Fix type.
6679 (__gnat_all_others_value): Likewise.
6680 (__gnat_unhandled_others_value): Likewise.
6681 * seh_init.c (Raise_From_Signal_Handler): Fix parameter type.
6682 * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C
6683 and new symbol name, move declaration to...
6684 (Raise_From_Controlled_Operation): Minor tweak.
6685 * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here.
6686 * libgnat/a-exexpr.adb (bool): New C compatible boolean type.
6687 (Is_Handled_By_Others): Use it as return type for the function.
6688
6689 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6690
6691 * errout.ads (Set_Identifier_Casing): Add pragma Convention C.
6692 * eval_fat.ads (Rounding_Mode): Likewise.
6693 (Machine): Add WARNING comment line.
6694 * exp_code.ads (Clobber_Get_Next): Add pragma Convention C.
6695 * fe.h (Compiler_Abort): Fix return type.
6696 (Set_Identifier_Casing): Change type of parameters.
6697 (Clobber_Get_Next): Change return type.
6698 * gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast.
6699
6700 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6701
6702 * atree.h (Parent): Remove duplicate declaration.
6703 (Get_1_Bit_Field): Also use INLINE specifier in the declaration,
6704 fix formatting and use gcc_unreachable for the default case.
6705 (Get_2_Bit_Field): Likewise.
6706 (Get_4_Bit_Field): Likewise.
6707 (Get_8_Bit_Field): Likewise.
6708 (Get_32_Bit_Field): Likewise.
6709 (Get_32_Bit_Field_With_Default): Likewise.
6710
6711 2021-05-07 Bob Duff <duff@adacore.com>
6712
6713 * atree.ads, atree.adb: Major rewrite to support variable-sized
6714 node types. Add pragmas Suppress and Assertion_Policy. We now
6715 have an extra level of indirection: Node_Offsets is a table
6716 mapping Node_Ids to the offset of the start of each node in
6717 Slots. Slots is a table containing one or more contiguous slots
6718 for each node. Each slot is a 32-bit unchecked union that can
6719 contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits.
6720 The old low-level getters and setters (e.g. Flag123) are
6721 removed.
6722 * gen_il-fields.ads, gen_il-gen-gen_entities.adb,
6723 gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads,
6724 gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb,
6725 gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program
6726 that generates various Ada and C++ files. In particular, the
6727 following files are generated by gen_il: einfo-entities.adb
6728 einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads,
6729 seinfo.ads, seinfo_tables.adb, seinfo_tables.ads,
6730 sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h.
6731 * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb,
6732 einfo-utils.ads: New files containing code that needs to refer
6733 to Sinfo.Nodes and Einfo.Entities. This code is mostly moved
6734 here from Sinfo and Einfo to break cycles.
6735 * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi,
6736 instead of nodes_ptr and flags_ptr. The Nodes and Flags tables
6737 no longer exist. (Note that gigi never used the Flags table.)
6738 * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier,
6739 Change_Character_Literal_To_Defining_Character_Literal,
6740 Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into
6741 an IN formal.
6742 * sinfo-cn.adb: Update. Add assertions, which can be removed at
6743 some point. Rewrite to use higher-level facilities. Make sure
6744 vanishing fields are zeroed out. Add with/use for new packages.
6745 * sem_util.adb: Remove "Assert(False)" immediately followed by
6746 "raise Program_Error". Use higher-level facilities such as
6747 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
6748 routines that no longer exist. Use Get_Comes_From_Source_Default
6749 instead of Default_Node.Comes_From_Source (Default_Node no
6750 longer exists). Use Set_Basic_Convention instead of
6751 Basic_Set_Convention. Add with/use for new packages.
6752 * sem_util.ads: The Convention field had getter Convention and
6753 setter Basic_Set_Convention. Make that more uniform: there is
6754 now a field called Basic_Convention, with Basic_Convention and
6755 Set_Basic_Convention as getter/setter, and write Convention and
6756 Set_Convention here.
6757 * nlists.adb: Rewrite to use abstractions, rather then depending
6758 on low-level implementation details of Atree. Necessary because
6759 those details have changed. Add with/use for new packages.
6760 * sem_ch12.adb: Use higher-level facilities such as
6761 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
6762 routines that no longer exist. Add with/use for new packages.
6763 * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb,
6764 sem_prag.adb, sem_warn.adb: Change expanded names to refer to
6765 the new packages for things that moved. Add with/use for new
6766 packages.
6767 * sem_ch3.adb: Likewise. Reinitialize vanishing fields.
6768 * exp_disp.adb: Likewise. Remove failing assertion.
6769 * sinfo.ads, einfo.ads: Remove code that is now generated into
6770 Sinfo.Nodes and Einfo.Entities.
6771 * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;".
6772 We should delete these at some point, but No_Body makes make
6773 files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities,
6774 Sinfo.Utils, and Einfo.Utils. Some is no longer necessary.
6775 * treepr.adb: Rewrite to use new tables. We no longer need
6776 treeprs.ads.
6777 * treepr.ads: Add comment.
6778 * types.ads: Move types Component_Alignment_Kind and
6779 Float_Rep_Kind here.
6780 * atree.h: Major update to match atree.ads changes. Add slot
6781 types, for use by getters/setters.
6782 * types.h: Move types Component_Alignment_Kind and
6783 Float_Rep_Kind here.
6784 * fe.h: Rewrite to deal with code that has changed or moved from
6785 Atree, Sinfo, Einfo.
6786 * nlists.h: Move some code to fe.h.
6787 * alloc.ads: Split Nodes_* constants into Node_Offsets and
6788 Slots, because Atree has two separate tables. Increase values.
6789 Remove Nodes_Release_Threshold. Improve comment.
6790 * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N
6791 switches. Add with/use for new packages.
6792 * opt.ads: Minor comment fix.
6793 * aspects.adb, checks.adb, comperr.adb, contracts.adb,
6794 cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb,
6795 exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb,
6796 exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
6797 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
6798 exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb,
6799 exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
6800 exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb,
6801 exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb,
6802 exp_util.ads, expander.adb, freeze.adb, frontend.adb,
6803 get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb,
6804 itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb,
6805 lib-writ.adb, lib-xref.adb, lib-xref.ads,
6806 lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb,
6807 pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb,
6808 scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb,
6809 sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb,
6810 sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb,
6811 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb,
6812 sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb,
6813 sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb,
6814 sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb,
6815 sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb,
6816 tbuild.ads, uname.adb: Add with/use for new packages.
6817 * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease
6818 bootstrap.
6819 * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File,
6820 Create_New_File): Create file in binary format, to avoid
6821 introducing unwanted text conversions on Windows. Simplify to
6822 ease bootstrap.
6823 * libgnat/a-stteou__bootstrap.ads: New.
6824 * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb,
6825 xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete.
6826 * Make-generated.in: Build and run the gen_il program to
6827 generate files. The files are generated in the ada/gen_il
6828 subdirectory, and then moved up to ada. We rely on gnatmake (as
6829 opposed to make) to build the gen_il program efficiently (i.e.
6830 don't do anything if the sources didn't change).
6831 * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU.
6832 (GNATMAKE_OBJS): Add new object files.
6833 (GENERATED_FILES_FOR_TOOLS): New variable.
6834 (../stamp-tools): Create a link for all
6835 GENERATED_FILES_FOR_TOOLS.
6836 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object
6837 files. Remove ada/treeprs.o.
6838 (GNATBIND_OBJS): Add new object files.
6839 (ada.mostlyclean): Remove ada/sdefault.adb and add
6840 ada/stamp-gen_il.
6841 (ada.maintainer-clean): Remove ada/treeprs.ads.
6842 (update-sources): Remove obsolete target.
6843 (ada_generated_files): Rename to...
6844 (ADA_GENERATED_FILES): ... this. Add new source files. Add
6845 comment.
6846 * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and
6847 Flags_ptr. Add Node_Offsets_Ptr and Slots_Ptr, which point to
6848 the corresponding tables in Atree.
6849 * gcc-interface/gigi.h (gigi): New parameters for initializing
6850 Node_Offsets_Ptr and Slots_Ptr.
6851 * gcc-interface/decl.c: Numeric_Kind,
6852 Discrete_Or_Fixed_Point_Kind, and Record_Kind were
6853 nonhierarchical, and were therefore removed for simplicity.
6854 Replace uses with calls to Is_In_... functions.
6855
6856 2021-05-07 Ed Schonberg <schonberg@adacore.com>
6857
6858 * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A
6859 component declaration whose subtype indication is an entity name
6860 without an explicit constraint is an Unchecked_Union type only
6861 if the entity has an unconstrained nominal subtype (record type
6862 or private type) whose parent type is an Unchecked_Union.
6863
6864 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6865
6866 * sem_res.adb (Flag_Object): Ignore prefixes of attribute
6867 Address.
6868
6869 2021-05-07 Yannick Moy <moy@adacore.com>
6870
6871 * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value.
6872 * sem_res.adb (Resolve_Unary_Op): Generate warning.
6873 * usage.adb: Refine doc for -gnatw.m/M switch.
6874 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
6875 Update doc on -gnatw.m switch.
6876 * gnat_ugn.texi: Regenerate.
6877
6878 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6879
6880 * sem_res.adb (Flag_Object): Replace chained IF with a CASE;
6881 remove repeated calls to Entity; do not traverse into
6882 N_Identifier and N_Expanded_Name, because only need to examine
6883 their Entity field anyway.
6884
6885 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6886
6887 * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List.
6888 (Process_Overloaded_Indexed_Component): Remove call to
6889 End_Interp_List.
6890 * sem_util.adb (Insert_Explicit_Dereference): Remove call to
6891 End_Interp_List.
6892 * sem_type.ads (End_Interp_List): Remove.
6893 * sem_type.adb (Add_Entry): The guard against duplicate entries
6894 is now checked before other conditions, so that EXIT statements
6895 do not bypass this guard.
6896 (End_Interp_List): Remove.
6897
6898 2021-05-07 Ed Schonberg <schonberg@adacore.com>
6899
6900 * exp_util.adb (Remove_Init_Call): If a simple initialization
6901 call is present, and the next statement is an initialization
6902 block (that contains a call to a Deep_ Initialize routine),
6903 remove the block as well, and insert the first initialization
6904 call in it, in case it is needed for later relocation.
6905
6906 2021-05-07 Gary Dismukes <dismukes@adacore.com>
6907
6908 * errout.ads (Size_Too_Small_Message): Remove low-value ???
6909 comment.
6910 * exp_util.ads: Remove ??? in part of overall package comments
6911 and restructure comment to clarify.
6912 (Duplicate_Subexpr): Remove ??? comment that seems unnecessary.
6913 * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized
6914 ??? comments and add more description of the procedure's
6915 actions.
6916 (Get_Discriminant_Value): Remove ??? comment requesting more
6917 documentation, expanding description of the function's actions.
6918 * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more
6919 semantic description of the procedure and remove ??? comment
6920 requesting such.
6921 (Propagate_Tag): Refine comment to indicate meaning of formal
6922 parameters and generally improve the spec comment (and remove
6923 ??? comment asking about the parameters).
6924
6925 2021-05-07 Arnaud Charlet <charlet@adacore.com>
6926
6927 * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left
6928 resulting in negative signed values.
6929
6930 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6931
6932 * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter.
6933 (Defining_Entity_Or_Empty): New function.
6934 * sem_util.adb (Defining_Entity): Move bulk of implementation to...
6935 (Defining_Entity_Or_Empty): ...here. Do not raise Program_Error.
6936 (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty.
6937
6938 2021-05-07 Justin Squirek <squirek@adacore.com>
6939
6940 * aspects.ads: Add entries to register
6941 Aspect_No_Controlled_Parts.
6942 * freeze.adb (Check_No_Controlled_Parts_Violations): Added to
6943 check requirements of aspect No_Controlled_Parts after a type
6944 has been frozen.
6945 (Freeze_Entity): Add call to
6946 Check_No_Controlled_Parts_Violations.
6947 (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect
6948 specification for No_Controlled_Parts on a given type when
6949 present.
6950 (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid
6951 value.
6952 (Has_Aspect_No_Controlled_Parts): Created as a prediate function
6953 to check if No_Controlled_Parts has been specified on a type for
6954 Get_Anacestor_Types_With_Specification.
6955 (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the
6956 value of the aspect No_Controlled_Parts when specified on a
6957 given type.
6958 (Get_Generic_Formal_Types_In_Hierarchy): Created to collect
6959 formal types in a given type's hierarchy.
6960 (Get_Types_With_Aspect_In_Hierarchy): Created to collect types
6961 in a given type's hierarchy with No_Controlled_Parts specified.
6962 * sem_ch13.adb (Analyze_One_Aspect): Add processing for
6963 No_Controlled_Parts, and fix error in check for allowed pragmas
6964 for formal types.
6965 (Check_Expr_Is_OK_Static_Expression): Created to enforce
6966 checking of static expressions in the same vein as
6967 Analyze_Pragma.Check_Expr_OK_Static_Expression.
6968 * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect
6969 types in a given type's hierarchy that match a given predicate
6970 function.
6971 * sem_util.ads: Fix typo.
6972 * snames.ads-tmpl: Add entry for No_Controlled_Parts.
6973
6974 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6975
6976 * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the
6977 overflow case when T'Machine_Overflows is True.
6978
6979 2021-05-07 Bob Duff <duff@adacore.com>
6980
6981 * libgnat/a-conhel.adb (TC_Check): Move the Assert into the
6982 'if'.
6983
6984 2021-05-07 Frederic Konrad <konrad@adacore.com>
6985
6986 * sigtramp-vxworks-target.inc: Use a local label for the TOC.
6987
6988 2021-05-07 Claire Dross <dross@adacore.com>
6989
6990 * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util.
6991 * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants):
6992 Moved from Exp_Ch4.
6993
6994 2021-05-07 Ed Schonberg <schonberg@adacore.com>
6995
6996 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
6997 Add guard to verify that the enclosing pragma is a precondition.
6998
6999 2021-05-06 Javier Miranda <miranda@adacore.com>
7000
7001 * exp_disp.adb (Build_Class_Wide_Check): Extending the
7002 functionality of this routine to climb to the ancestors
7003 searching for the enclosing overridden dispatching primitive
7004 that has a class-wide precondition to generate the check.
7005
7006 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7007
7008 * sem_ch3.adb (Constraint_Index): Remove redundant problematic
7009 analysis.
7010
7011 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7012
7013 * exp_unst.adb (Note_Uplevel_Bound): Exclude
7014 E_Enumeration_Literal.
7015
7016 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7017
7018 * exp_ch4.adb (Expand_N_If_Expression):
7019 Apply_Arithmetic_Overflow_Check will not deal with
7020 Then/Else_Actions so skip minimizing overflow checks if any
7021 actions are present.
7022
7023 2021-05-06 Boris Yakobowski <yakobowski@adacore.com>
7024
7025 * gnat1drv.adb (Adjust_Global_Switches): Simplify logic.
7026
7027 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7028
7029 * libgnat/i-c.ads (bool): New type.
7030 * libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now
7031 a subtype of Interfaces.C.bool.
7032 * libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify
7033 False.
7034 * libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb,
7035 libgnarl/s-tasini.adb, libgnarl/s-tasren.adb,
7036 libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb,
7037 libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace
7038 Assert (False) by Assert (Standard.False).
7039
7040 2021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
7041
7042 * make.adb (Compute_Executable): Document parameter.
7043
7044 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7045
7046 * libgnat/s-fatgen.adb (Scaling): Use single handling of
7047 underflow. Add pragma Annotate.
7048
7049 2021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
7050
7051 * sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype,
7052 remove redundant checks.
7053
7054 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7055
7056 * sem_res.adb (First_Last_Ref): Simplify "if [condition] then
7057 return True" in "return [condition]".
7058 (Resolve_Range): Remove calls appearing in IF condition from the
7059 THEN statements.
7060
7061 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7062
7063 * sem_case.adb (Missing_Choice): Fix typo in comment.
7064 (Lit_Of): Simplify with Make_Character_Literal.
7065 (Check_Choices): Remove extra spaces in parameter
7066 specifications.
7067 * sem_case.ads: Same reformatting.
7068
7069 2021-05-06 Ed Schonberg <schonberg@adacore.com>
7070
7071 * exp_aggr.adb (Expand_Array_Aggregate): If the expression in an
7072 Others_Clause has not been analyzed because previous analysis of
7073 the enclosing aggregate showed the clause to be ineffective i.e.
7074 cover a null range, analyze it now to detect a possible type
7075 illegality.
7076
7077 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7078
7079 * libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow.
7080
7081 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7082
7083 * sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a
7084 list member in both branches.
7085
7086 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7087
7088 * libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma
7089 Warnings.
7090
7091 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7092
7093 * sem_ch4.adb (Analyze_Selected_Component): Remove explicit call
7094 to Set_Raises_Constraint_Error on statically missing component.
7095 * sem_eval.adb (Eval_Arithmetic_Op): Likewise for static
7096 divisions by integer and real zeros.
7097 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Call
7098 Set_Raises_Constraint_Error before exiting early in GNATprove
7099 mode.
7100
7101 2021-05-06 Justin Squirek <squirek@adacore.com>
7102
7103 * checks.adb (Make_Discriminant_Constraint_Check): Add check for
7104 null when the type being converted is an access type.
7105
7106 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7107
7108 * exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs.
7109
7110 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7111
7112 * osint.adb (Read_Library_Info_From_Full): Cleanup unused
7113 initial value.
7114
7115 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7116
7117 * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7):
7118 Mention the IEEE standard explicitly. Use current format names.
7119 Document assumed rounding mode and new features of I/O support.
7120 * gnat_rm.texi: Regenerate.
7121
7122 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7123
7124 * init.c (__gnat_init_float): Use full version on Linux too.
7125
7126 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7127
7128 * libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0
7129 when denormalized numbers are not supported.
7130
7131 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7132
7133 * sem_attr.adb (Check_Enum_Image): Reword comment; add
7134 Check_Enumeration_Maps parameter. Now this routine combines
7135 both referencing enumeration literals and checking restriction
7136 No_Enumeration_Maps, if required.
7137 (Analyze_Attribute): Remove duplicated code and instead call
7138 Check_Enum_Image.
7139
7140 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7141
7142 * sem_attr.adb (Analyze_Image_Attribute): Remove redundant
7143 condition; add a missing header box.
7144
7145 2021-05-06 Gary Dismukes <dismukes@adacore.com>
7146
7147 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
7148 mention of underscore and fix grammar error in doc for -gnatd.
7149 * gnat_ugn.texi: Regenerate.
7150
7151 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7152
7153 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt
7154 and s-exnlfl.
7155 * exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float.
7156 * rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt.
7157 (RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float.
7158 (RE_Unit_Table): Likewise.
7159 * libgnat/s-exnflt.ads: New file.
7160 * libgnat/s-exnlfl.ads: Likewise.
7161 * libgnat/s-exnllf.ads: Change to mere instantiation.
7162 * libgnat/s-exnllf.adb: Move implementation to...
7163 * libgnat/s-exponr.ads: New generic unit.
7164 * libgnat/s-exponr.adb: ...here and also make it generic.
7165 (Expon): Do the computation in double precision internally.
7166
7167 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7168
7169 * lib-writ.adb, osint.adb, osint.ads: Cleanup.
7170
7171 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7172
7173 * exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
7174 condition.
7175 (Expand_N_Object_Declaration): Likewise.
7176 (Build_Equivalent_Aggregate): Likewise.
7177 (Initialization_Warning): Likewise; change another excessive
7178 condition into assertion.
7179 * freeze.adb (Freeze_Entity): Remove excessive condition.
7180
7181 2021-05-06 Ed Schonberg <schonberg@adacore.com>
7182
7183 * sem_res.adb (Resolve_If_Expression): If the context of the
7184 expression is an indexed_component, resolve the expression and
7185 its dependent_expressions with the base type of the index, to
7186 ensure that an index check is generated when resolving the
7187 enclosing indexxed_component, and avoid an improper use of
7188 discriminants out of scope, when the index type is
7189 discriminant-dependent.
7190
7191 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7192
7193 * einfo.ads, exp_prag.adb, exp_util.adb: Fix typos.
7194
7195 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7196
7197 * exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of
7198 attributes Input and Output for unchecked unions.
7199 * sem_case.ads: Fix typo "disriminant" and refill comment.
7200
7201 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7202
7203 * exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse
7204 Has_Defaulted_Discriminants.
7205 * sem_ch4.adb (Analyze_Allocator): Reuse
7206 Has_Defaulted_Discriminants (after reordering conjuncts); remove
7207 redundant IF statement, whose condition is implied by
7208 Has_Defaulted_Discriminants.
7209 * sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants
7210 implies that the First_Discriminant is present.
7211 (Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants.
7212
7213 2021-05-05 Justin Squirek <squirek@adacore.com>
7214
7215 * exp_ch6.adb (Expand_Call_Helper): Add condition to check for
7216 expanded actuals and remove dead code.
7217
7218 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7219
7220 * exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to
7221 follow the Ada RM grammar.
7222
7223 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7224
7225 * exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type
7226 of a local variable.
7227 * exp_dbug.adb (Scope_Contains): Refine all types from Node_Id
7228 to Entity_Id; rename parameters to match those of the
7229 Scope_Within routine (which is similar but not the same); also,
7230 simplify an OR ELSE into a membership test.
7231
7232 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7233
7234 * exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
7235 qualified and unqualified names of unchecked union components.
7236
7237 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7238
7239 * exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant
7240 check for empty list.
7241 * exp_disp.adb (Find_Entry_Index): Simplify by removing
7242 redundant check and counting from zero; fix type of a local
7243 variable.
7244 * sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary
7245 special-case for empty lists.
7246
7247 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7248
7249 * exp_ch4.adb (Apply_Accessibility_Check): Skip a statically
7250 true condition in expanded raise statement.
7251
7252 2021-05-05 Bob Duff <duff@adacore.com>
7253
7254 * libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code.
7255
7256 2021-05-05 Ed Schonberg <schonberg@adacore.com>
7257
7258 * sem_ch5.adb (Analyze_Assignment): Do not emit the warning that
7259 a previous value of the target object is useless if the
7260 right-hand side of the assignment includes target names.
7261
7262 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7263
7264 * exp_imgv.adb: Add with/use clauses for Targparm.
7265 (Build_Enumeration_Image_Tables): Set type of Threshold to Nat and
7266 initialize it to Nat'Last if the type is local and the target does
7267 not support descriptors. Adjust Threshold_For_Size similarly.
7268 (Expand_Value_Attribute): Minor tweaks.
7269
7270 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
7271
7272 * exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call.
7273 * sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init
7274 call.
7275
7276 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
7277
7278 * par-ch5.adb (P_Condition): Check if expression is declare
7279 expression.
7280
7281 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7282
7283 * make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a
7284 custom imported procedure.
7285
7286 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7287
7288 * exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete.
7289 (Expand_Image_Attribute): Move inline expansion into normal flow of
7290 control, move down declarations and remove superfluous processing.
7291
7292 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7293
7294 * libgnat/g-alleve.adb (Bit_Operation): Now a not-null type.
7295 * libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise.
7296 * libgnat/s-dwalin.adb (Callback): Likewise.
7297
7298 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
7299
7300 * exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented
7301 code.
7302
7303 2021-05-05 Ed Schonberg <schonberg@adacore.com>
7304
7305 * sem_ch3.adb (Find_Type_Of_Object): When In_Spec_Expression is
7306 set and the object declaration generates a subtype indication,
7307 build the corresponding subtype declaration and place it in tree
7308 without the use of Insert_Actions, which is disabled in this
7309 context.
7310
7311 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7312
7313 * debug.adb (d_x): Document extended usage.
7314 * exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure.
7315 (Expand_Image_Attribute): Call it to expand in line the attribute
7316 for standard boolean by default.
7317
7318 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7319
7320 * debug.adb (d_x): Document new usage.
7321 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ
7322 parameter and use it throughout the processing.
7323 (Expand_Image_Attribute): Retrieve the underlying type of the
7324 prefix and use the inline expansion for user-defined enumeration
7325 types with a literal string by default.
7326
7327 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7328
7329 * libgnat/s-dorepr.adb (Split): Declare a per-size temporary.
7330 Add pragma Annotate.
7331
7332 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7333
7334 * exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove
7335 redundant calls to UI_From_Int.
7336
7337 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7338
7339 * exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment.
7340 * exp_imgv.adb (Build_Enumeration_Image_Tables): Add the
7341 declaration nodes of the 4 tables to the declaration list of the
7342 function body.
7343
7344 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7345
7346 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16,
7347 s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and
7348 s-vaenu8. Remove s-imenne, s-imgenu and s-valenu.
7349 * debug.adb (d_h): Document new usage.
7350 * einfo.ads (Lit_Hash): New attribute for enumeration types.
7351 (Set_Lit_Hash): Declare.
7352 * einfo.adb (Lit_Hash): New function.
7353 (Set_Lit_Hash): New procedure.
7354 (Write_Field21_Name): Print Lit_Hash for Enumeration_Kind.
7355 * exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description
7356 and document the hash function and its tables.
7357 * exp_imgv.adb: Add with/use clauses for Debug. Add with clause
7358 for System.Perfect_Hash_Generators.
7359 (Append_Table_To): New helper routine.
7360 (Build_Enumeration_Image_Tables): Call it to build the tables.
7361 In the main unit, register the literals with the hash generator.
7362 If they are sufficiently many and -gnatd_h is not passed, generate
7363 a perfect hash function and its tables; otherwise, generate a dummy
7364 hash function. For the other units, generate only the declaration.
7365 In all cases, set Lit_Hash to the entity of the function, if any.
7366 (Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash,
7367 if any, as third argument to the Value_Enumeration_NN function.
7368 * gnat1drv.adb (Adjust_Global_Switches): force simpler implementation
7369 of 'Value in CodePeer_Mode.
7370 * lib.ads (Synchronize_Serial_Number): Add SN parameter.
7371 * lib.adb (Synchronize_Serial_Number): Assert that it is larger than
7372 the serial number of the current unit and set the latter to it only
7373 in this case.
7374 * rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16,
7375 System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and
7376 System_Val_Enum_32. Remove System_Img_Enum, System_Img_Enum_New
7377 and System_Val_Enum.
7378 * sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler
7379 generated Unrestricted_Access attribute as illegal in a declare
7380 expression.
7381 (RE_Unit_Table): Adjust to above changes.
7382 * libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning.
7383 * libgnat/g-table.ads: Likewise.
7384 * libgnat/g-pehage.ads: Add with clause and local renaming for
7385 System.Perfect_Hash_Generators.
7386 (Optimization): Turn into derived type.
7387 (Verbose): Turn into renaming.
7388 (Too_Many_Tries): Likewise.
7389 (Table_Name): Move to System.Perfect_Hash_Generators.
7390 (Define): Likewise.
7391 (Value): Likewise.
7392 * libgnat/g-pehage.adb: Remove with clause for Ada.Directories,
7393 GNAT.Heap_Sort_G and GNAT.Table. Move bulk of implementation
7394 to System.Perfect_Hash_Generators, only keep the output part.
7395 * libgnat/s-imagen.ads: New generic unit.
7396 * libgnat/s-imagen.adb: New body.
7397 * libgnat/s-imen16.ads: New unit.
7398 * libgnat/s-imen32.ads: Likewise.
7399 * libgnat/s-imenu8.ads: Likewise.
7400 * libgnat/s-imenne.ads: Adjust description.
7401 * libgnat/s-imgenu.ads: Delete.
7402 * libgnat/s-imgenu.adb: Likewise.
7403 * libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators.
7404 * libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators.
7405 * libgnat/s-valuen.ads: New generic unit.
7406 * libgnat/s-valuen.adb: New body.
7407 * libgnat/s-vaen16.ads: New unit.
7408 * libgnat/s-vaen32.ads: Likewise.
7409 * libgnat/s-vaenu8.ads: Likewise.
7410 * libgnat/s-valenu.ads: Delete.
7411 * libgnat/s-valenu.adb: Likewise.
7412 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o.
7413 (GNATBIND_OBJS): Remove s-imgenu.o.
7414
7415 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7416
7417 * sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove
7418 parameter Rep from the function spec and "and if the flag Rep is
7419 set" from the comment.
7420 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove
7421 parameter Rep.
7422
7423 2021-05-05 Ed Schonberg <schonberg@adacore.com>
7424
7425 * sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed
7426 aggregates with component associations verify that if there is
7427 more than one component association then all the choices are
7428 static, that the set of choices define a continuous sequence of
7429 values, and that if loop specfications appear, they do not
7430 include iterator filters or key expressions.
7431
7432 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7433
7434 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager,
7435 s-imgflt, s-imglfl and s-imgllf.
7436 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb.
7437 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise.
7438 (LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise.
7439 (LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise.
7440 (LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise.
7441 (LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise.
7442 (LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise.
7443 (LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise.
7444 (LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise.
7445 (LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise.
7446 (LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise.
7447 * exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use
7448 Fixed suffix and Long_Float type.
7449 * exp_imgv.adb (Expand_Image_Attribute): For floating-point types,
7450 use the routine of the corresponding root type. For ordinary fixed
7451 point types, use Fixed suffix and Long_Float type.
7452 (Expand_Value_Attribute): Revert latest change for Long_Long_Float.
7453 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units
7454 g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o.
7455 (GNATBIND_OBJS): Remove libgnat unit s-imgenu.o.
7456 * rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and
7457 System_Img_LLF. Remove System_Img_Real.
7458 (RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed. Add RE_Image_Float,
7459 RE_Image_Long_Float and RE_Image_Long_Long_Float. Rename
7460 RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed.
7461 (RE_Unit_Table): Adjust to above changes.
7462 * libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead
7463 of Long_Long_Float.
7464 * libgnat/a-textio.ads (Field): Remove obsolete comment.
7465 * libgnat/a-ticoau.ads (Aux): Adjust ancestor package.
7466 * libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real.
7467 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
7468 * libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt,
7469 System.Img_LFlt and System.Img_LLF.
7470 (Scalar_Float): Add third actual parameter.
7471 (Scalar_Long_Float): Likewise.
7472 (Scalar_Long_Long_Float): Likewise.
7473 * libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt
7474 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
7475 Long_Long_Float with Long_Float throughout.
7476 * libgnat/a-tifiio__128.adb: Likewise.
7477 * libgnat/a-tiflau.ads: Add Set_Image formal parameter.
7478 * libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util,
7479 remove the one for System.Img_Real.
7480 (Put): Call Set_Image instead of Set_Image_Real.
7481 (Puts): Likewise.
7482 * libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt,
7483 System.Img_LFlt and System.Img_LLF.
7484 (Aux_Float): Add third actual parameter.
7485 (Aux_Long_Float): Likewise.
7486 (Aux_Long_Long_Float): Likewise.
7487 * libgnat/a-witeio.ads (Field): Remove obsolete comment.
7488 * libgnat/a-wtcoau.ads (Aux): Adjust ancestor package.
7489 * libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real.
7490 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
7491 * libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt,
7492 System.Img_LFlt and System.Img_LLF.
7493 (Scalar_Float): Add third actual parameter.
7494 (Scalar_Long_Float): Likewise.
7495 (Scalar_Long_Long_Float): Likewise.
7496 * libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt
7497 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
7498 Long_Long_Float with Long_Float throughout.
7499 * libgnat/a-wtfiio__128.adb: Likewise.
7500 * libgnat/a-wtflau.ads: Add Set_Image formal parameter.
7501 * libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util,
7502 remove the one for System.Img_Real.
7503 (Put): Call Set_Image instead of Set_Image_Real.
7504 (Puts): Likewise.
7505 * libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt,
7506 System.Img_LFlt and System.Img_LLF.
7507 (Aux_Float): Add third actual parameter.
7508 (Aux_Long_Float): Likewise.
7509 (Aux_Long_Long_Float): Likewise.
7510 * libgnat/a-ztexio.ads (Field): Remove obsolete comment.
7511 * libgnat/a-ztcoau.ads (Aux): Adjust ancestor package.
7512 * libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real.
7513 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
7514 * libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt,
7515 System.Img_LFlt and System.Img_LLF.
7516 (Scalar_Float): Add third actual parameter.
7517 (Scalar_Long_Float): Likewise.
7518 (Scalar_Long_Long_Float): Likewise.
7519 * libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt
7520 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
7521 Long_Long_Float with Long_Float throughout.
7522 * libgnat/a-ztfiio__128.adb: Likewise.
7523 * libgnat/a-ztflau.ads: Add Set_Image formal parameter.
7524 * libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util,
7525 remove the one for System.Img_Real.
7526 (Put): Call Set_Image instead of Set_Image_Real.
7527 (Puts): Likewise.
7528 * libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt,
7529 System.Img_LFlt and System.Img_LLF.
7530 (Aux_Float): Add third actual parameter.
7531 (Aux_Long_Float): Likewise.
7532 (Aux_Long_Long_Float): Likewise.
7533 * libgnat/s-dorepr.adb: New file.
7534 * libgnat/s-dorepr__fma.adb: Likewise.
7535 * libgnat/s-dourea.ads: Likewise.
7536 * libgnat/s-dourea.adb: Likewise.
7537 * libgnat/s-forrea.ads (Fore_Real): Rename into...
7538 (Fore_Fixed): ...this and take Long_Float parameters.
7539 * libgnat/s-forrea.adb (Fore_Real): Likewise.
7540 (Fore_Fixed): Likewise.
7541 * libgnat/s-imgrea.ads: Move to...
7542 (Set_Image_Real): Turn into mere renaming.
7543 * libgnat/s-imager.ads: ...here.
7544 (Image_Ordinary_Fixed_Point): Turn into...
7545 (Image_Fixed_Point): ...this.
7546 * libgnat/s-imgrea.adb: Add pragma No_Body. Move to...
7547 * libgnat/s-imager.adb: ...here.
7548 (Image_Ordinary_Fixed_Point): Turn into...
7549 (Image_Fixed_Point): ...this.
7550 (Is_Negative): Replace Long_Long_Float with Num.
7551 (Set_Image_Real): Likewise. Use Double_T instead of single Num
7552 throughout the algorithm.
7553 * libgnat/s-imgflt.ads: New file.
7554 * libgnat/s-imglfl.ads: Likewise.
7555 * libgnat/s-imgllf.ads: Likewise.
7556 * libgnat/s-imagef.ads: Adjust comment.
7557 * libgnat/s-imguti.ads (Max_Real_Image_Length): New named number.
7558 * libgnat/s-powflt.ads (Maxpow): Adjust.
7559 (Powten): Turn into an exact table of double Float.
7560 * libgnat/s-powlfl.ads (Maxpow): Adjust.
7561 (Powten): Turn into an exact table of double Long_Float.
7562 * libgnat/s-powllf.ads (Maxpow): Adjust.
7563 (Powten): Turn into an exact table of double Long_Long_Float.
7564 * libgnat/s-valrea.ads: Change order of formal parameters.
7565 * libgnat/s-valrea.adb: Add with clause for System.Double_Real.
7566 (Double_Real): New instantiation.
7567 (Fast2Sum): Delete.
7568 (Large_Powten): New function.
7569 (Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum. Convert
7570 the value to Double_T. Do the scaling in Double_T for base 10.
7571 * libgnat/s-valflt.ads: Remove with/use clasue for Interfaces,
7572 add it for System.Unsigned_Types. Use Unsigned.
7573 * libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces,
7574 add it for System.Unsigned_Types. Use Long_Unsigned.
7575 * libgnat/s-valllf.ads: Remove with/use clasue for Interfaces,
7576 add it for System.Unsigned_Types. Use Long_Long_Unsigned.
7577
7578 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7579
7580 * sem_eval.adb (Eval_Arithmetic_Op): Call
7581 Set_Raises_Constraint_Error on real division by zero just like
7582 it is called for integer division by zero earlier in this
7583 routine.
7584
7585 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7586
7587 * freeze.adb (Build_Renamed_Body): Simplify IF and WHILE
7588 statements with the same condition.
7589
7590 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7591
7592 * pprint.adb (Expr_Name): Introduce local constants to make the
7593 code more readable and avoid repeated calls to Next to reach the
7594 ELSE part of an if-expression.
7595
7596 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7597
7598 * pprint.adb: Remove qualification of arbitrary calls to
7599 Sinfo.Expressions and Sinfo.Parameter_Associations.
7600
7601 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7602
7603 * pprint.adb (Expr_Name): Simplify with functional variant of
7604 UI_Image.
7605
7606 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7607
7608 * pprint.adb (To_Mixed): Removed.
7609
7610 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7611
7612 * pprint.adb (List_Name_Count): Change type from Integer to
7613 Natural.
7614
7615 2021-05-04 Yannick Moy <moy@adacore.com>
7616
7617 * pprint.adb (Expression_Image): Special case for
7618 expression-with-actions.
7619
7620 2021-05-04 Bob Duff <duff@adacore.com>
7621
7622 * exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.
7623
7624 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7625
7626 * lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated
7627 branch for generic subprograms (they are now handled together
7628 with non-generic subprograms in the ELSE branch); replace a
7629 low-level Ekind membership test with a high-level call to
7630 Is_Access_Subprogram_Type.
7631
7632 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7633
7634 * sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal
7635 with Next_Formal.
7636 * sem_ch6.adb (Is_Non_Overriding_Operation): Likewise.
7637
7638 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7639
7640 * sem_prag.adb (Collect_Global_Item): Iterate directly over
7641 formals.
7642
7643 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7644
7645 * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
7646 comment; this routine is no longer used by GNATprove.
7647 * sem_prag.adb (Find_Role): The IN parameter is on output only
7648 when it belongs to non-function; also, the otherwise constant
7649 object can only be written by a non-function.
7650 (Collect_Global_Item): The IN parameter can only be written when
7651 it belongs to non-function; also, unnest this check to make it
7652 easier to read.
7653
7654 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7655
7656 * libgnat/s-assert.ads (Assert_Failure): Now a renaming of
7657 Assertion_Error.
7658 * libgnat/a-assert.ads (Assertion_Error): Now a first class
7659 citizen. Remove dependency on System.Assertions.
7660 * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New.
7661 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
7662 a-assert.o from gcc-interface.
7663
7664 2021-05-04 Yannick Moy <moy@adacore.com>
7665
7666 * erroutc.adb (Matches): Move spec...
7667 * erroutc.ads (Matches): ...here.
7668
7669 2021-05-04 Yannick Moy <moy@adacore.com>
7670
7671 * gnat1drv.adb (Adjust_Global_Switches): Force error marker in
7672 GNATprove mode.
7673
7674 2021-05-04 Bob Duff <duff@adacore.com>
7675
7676 * binde.adb: No need for ??? marks in Binde, because it is
7677 superseded by Bindo.
7678 * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra
7679 works.
7680 * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for
7681 conversions passed to gigi are documented in sinfo.ads.
7682 (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of
7683 one in sinfo.ads.
7684 (Expand_N_In): Robert already added sufficient comments years
7685 after the ??? comment was inserted.
7686 (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any
7687 reason why Stand should export Long_Long_Integer'Base -- it
7688 doesn't export any other base types.
7689 (Size_In_Storage_Elements): We are doing an allocator, so we
7690 don't care about sizes in bits.
7691 (Expand_N_Allocator): PolyORB isn't going to be significantly
7692 improved, so we're not going to mess with remote access to
7693 class-wide types.
7694 (Optimize_Return_Stmt): It's not important to optimize return
7695 statements in predicate functions -- there are many
7696 more-important optimizations we could do. Keep part of the
7697 comment without "???", to clarify why the "and then ...".
7698 (User_Defined_Primitive_Equality_Op): The optimization doesn't
7699 seem important enough.
7700 (Expand_N_Unchecked_Type_Conversion): Refactor to use
7701 Expand_N_Unchecked_Expression.
7702 (Make_Array_Comparison_Op): This seems like a case of "it it's
7703 not broken, don't fix it". Too much risk of causing bugs.
7704 * debug_a.adb: Remove ??? comments asking why Current_Error_Node
7705 is maintained unconditionally, and add a comment explaining why.
7706 * errout.adb: These kinds of minor bugs do indeed exist, but
7707 we're never going to get around to fixing them "properly", so we
7708 need this code for robustness.
7709 * gnatchop.adb (Read_File): Document when read can fail.
7710 * gnatdll.adb (Parse_Command_Line): Nobody is complaining about
7711 these arbitrary limits, so no need to use Table. Increase the
7712 limits just in case. It is clear from the names what they are
7713 limits on.
7714 * gnatlink.adb: Add needed comments.
7715 (Delete): An existing comment makes clear it's intentional, and
7716 it's been like that since 1996.
7717 (Process_Args): Improve comments.
7718 (Search_Library_Path): Refactoring to avoid deep nesting.
7719 * inline.adb (Build_Body_To_Inline): Probably won't get around
7720 to doing that optimization.
7721 (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux,
7722 because it is too specialized to this context.
7723 (Do_Reset): No comment is needed here; it's clear from the
7724 comment on Reset_Dispatching_Calls. Do_Reset is an artificial
7725 subprogram; if we had proper iterators, it would just be an if
7726 statement in the loop.
7727 (Rewrite_Function_Call): Probably won't get around to doing that
7728 optimization.
7729 * layout.adb (Layout_Type): The gigi comment doesn't need to be
7730 a ??? comment, and it's been that way since 2000. The
7731 limitation to scalars will likely never be investigated, and
7732 it's been that way since 2009.
7733 * lib.adb (Check_Same_Extended_Unit): This doesn't look like
7734 something that needs fixing; it looks like a permanent
7735 workaround.
7736 * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in
7737 practice.
7738 (Load_Unit): Nobody will ever get around to investigating the
7739 obscure PMES oddity, and the optimization is not worth the
7740 trouble.
7741 * live.adb: It's not worth documenting this. It is used only
7742 with a debug switch. Nobody who has done significant work on it
7743 is still around, so it would require substantial investigation.
7744 * mdll.ads: I see no reason for USE.
7745 * namet.ads: Routines are obsolete, but they're not going
7746 anywhere anytime soon (too much work, and surprisingly delicate
7747 because of dependences on global variables).
7748 * osint.ads: Minor.
7749 * osint.adb: Improve comments.
7750 (Full_Lib_File_Name): Use Smart_Find_File.
7751
7752 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7753
7754 * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership
7755 tests with a high-level call to Is_Formal_Object.
7756
7757 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7758
7759 * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads,
7760 xr_tabls.adb, xref_lib.adb: Address ??? comments.
7761
7762 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7763
7764 * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into
7765 account when accepting or rejecting a constant of an
7766 access-to-variable type as a global Output/In_Out; do this check
7767 inside an ELSIF branch to avoid unnecessary evaluation of the
7768 subsequent condition.
7769
7770 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7771
7772 * sem_prag.adb (Role_Error, Usage_Error): Replace calls to
7773 Name_Find and Get_Name_String with a call to To_String.
7774
7775 2021-05-04 Ed Schonberg <schonberg@adacore.com>
7776
7777 * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of
7778 Expand_Container_Aggregate, to create an expression to be used
7779 in the dynamic allocation of a container with a single container
7780 element association.
7781 (Add_Range): Handle static bounds of ranges over enumerations.
7782 (Expand_Container_Aggregate): Add declaration for size
7783 expression when needed, and use it in container object
7784 declaration for container.
7785
7786 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7787
7788 * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name):
7789 Unnest so that it can be reused.
7790 (Build_Finalizer_Helper.Process_Declarations): Call the
7791 xxx__finalize_body procedure of a package instantiation in case
7792 it contains finalization statements. Code clean ups.
7793 (Build_Finalizer_Helper.Create_Finalizer): Export and set an
7794 Interface_Name for library level finalizers since these may be
7795 imported now.
7796 (Build_Finalizer_Helper): Need to process library level package
7797 body instantiations which may contain objects requiring
7798 finalization.
7799 * libgnat/s-finmas.ads: Fix typo.
7800
7801 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7802
7803 * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks,
7804 Determine_Range, Insert_Range_Checks,
7805 Install_Null_Excluding_Check, Selected_Length_Checks,
7806 Selected_Range_Checks): Address ??? comments and code cleanups.
7807
7808 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7809
7810 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
7811 Apply the rule even with no explicit Global contract (and remove
7812 a dead condition for Refined_Global).
7813
7814 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7815
7816 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
7817 Extend check to protected entries.
7818
7819 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7820
7821 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
7822 Fix reference to SPARK RM rule number.
7823
7824 2021-05-04 Eric Botcazou <ebotcazou@adacore.com>
7825
7826 * exp_intr.adb: Remove with/use clauses for Urealp.
7827 (Expand_Is_Negative): Delete.
7828 (Expand_Intrinsic_Call): Do not call it.
7829 * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned.
7830 (RE_Unit_Table): Remove entry for RE_Float_Unsigned.
7831 * snames.ads-tmpl (Name_Is_Negative): Delete.
7832 * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter.
7833 * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util.
7834 (LLU): New subtype.
7835 (Maxdigs): Use it.
7836 (Is_Negative): Reimplement.
7837 (Image_Floating_Point): Simplify.
7838 (Set_Image_Real): Fix mode of S parameter. Remove the low-level
7839 processing on characters. Flip the sign of the Scale variable.
7840 Compute the maximum number of digits for the straight notation.
7841 Call Set_Decimal_Digits at the end to do the final formatting.
7842 * libgnat/s-imguti.ads (Floating_Invalid_Value): New type.
7843 (Set_Floating_Invalid_Value): New procedure.
7844 * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it
7845 based on existing code from Set_Image_Real.
7846 * libgnat/s-unstyp.ads (Float_Unsigned): Delete.
7847
7848 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7849
7850 * csets.adb (Initialize): Refactor into CASE statement; raise
7851 exception on unsupported code of character set (it will be
7852 gently rejected earlier when scanning command line switches).
7853 * switch-b.adb (Scan_Binder_Switches): Refactor into a
7854 membership expression; add missing '9' choice; reorder as
7855 described by GNAT UG, section 4.3.11.
7856 * switch-c.adb (Scan_Front_End_Switches): Refactor into a
7857 membership expression and reorder as above.
7858 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
7859 (gnatic): Mention '5' as an allowed value for "c".
7860 * gnat_ugn.texi: Regenerate.
7861
7862 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7863
7864 * errout.adb (Error_Msg_Internal): Add assertion to prevent
7865 style mistakes reappearing in the future.
7866
7867 2021-05-04 Javier Miranda <miranda@adacore.com>
7868
7869 * exp_ch4.adb (Tagged_Membership): Remove wrong condition that
7870 is not consistent with the documentation of this subprogram.
7871
7872 2021-05-04 Yannick Moy <moy@adacore.com>
7873
7874 * sem_res.adb (Valid_Conversion): Make message a continuation.
7875
7876 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7877
7878 * styleg.adb: Address ??? comments.
7879
7880 2021-05-03 Arnaud Charlet <charlet@adacore.com>
7881
7882 * libgnat/a-stunau.ads, libgnat/a-stunau.adb,
7883 libgnat/a-stunau__shared.adb (Set_String): Remove old version,
7884 replace by a new version taking a callback to set the string.
7885
7886 2021-05-03 Arnaud Charlet <charlet@adacore.com>
7887
7888 * libgnat/a-coorma.ads (Map): Add missing
7889 Preelaborate_Initialization.
7890
7891 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7892
7893 * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon):
7894 Simplify with Is_Universal_Numeric_Type.
7895 * sem_attr.adb (Resolve_Attribute): Likewise.
7896 * sem_ch3.adb: Likewise.
7897 * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair):
7898 Likewise.
7899 * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise.
7900 * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op,
7901 Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand,
7902 Set_Operand_Type): Likewise.
7903 * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise.
7904 * sem_util.adb (Universal_Interpretation): Likewise.
7905
7906 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7907
7908 * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested
7909 routines; move a local constant after nested subprogram bodies;
7910 refill comment.
7911
7912 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7913
7914 * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit
7915 type when analysing attribute Priority.
7916 * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case
7917 in analysis of case statements.
7918 (Analyze_Iterator_Specification): Likewise for non-overloaded
7919 domain of iteration.
7920
7921 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7922
7923 * einfo.adb (Write_Entity_Info): Simplify an Ekind membership
7924 test.
7925 * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.
7926
7927 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7928
7929 * exp_ch7.adb (Build_Finalize_Statements): Refine type of a
7930 local counter variable.
7931 * exp_dist.adb (Append_Record_Traversal): Refine type of Counter
7932 parameter.
7933 (Add_Process_Element): Likewise.
7934 (Build_From_Any_Call): Refine type of a local counter variable.
7935 (Build_From_Any_Function): Likewise.
7936 (Build_To_Any_Function): Likewise.
7937 (FA_Rec_Add_Process_Element): Likewise.
7938 (TA_Append_Record_Traversal): Likewise.
7939 (TA_Rec_Add_Process_Element): Likewise.
7940
7941 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7942
7943 * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.
7944
7945 2021-05-03 Arnaud Charlet <charlet@adacore.com>
7946
7947 * Makefile.rtl: Update copyright notice.
7948 * ada_get_targ.adb: Likewise.
7949 * adabkend.adb: Likewise.
7950 * adabkend.ads: Likewise.
7951 * adadecode.c: Likewise.
7952 * adadecode.h: Likewise.
7953 * adaint.c: Likewise.
7954 * adaint.h: Likewise.
7955 * affinity.c: Likewise.
7956 * ali-util.adb: Likewise.
7957 * ali-util.ads: Likewise.
7958 * ali.adb: Likewise.
7959 * ali.ads: Likewise.
7960 * alloc.ads: Likewise.
7961 * argv-lynxos178-raven-cert.c: Likewise.
7962 * argv.c: Likewise.
7963 * aspects.adb: Likewise.
7964 * aspects.ads: Likewise.
7965 * atree.adb: Likewise.
7966 * atree.ads: Likewise.
7967 * atree.h: Likewise.
7968 * aux-io.c: Likewise.
7969 * back_end.adb: Likewise.
7970 * back_end.ads: Likewise.
7971 * bcheck.adb: Likewise.
7972 * bcheck.ads: Likewise.
7973 * binde.adb: Likewise.
7974 * binde.ads: Likewise.
7975 * binderr.adb: Likewise.
7976 * binderr.ads: Likewise.
7977 * bindgen.adb: Likewise.
7978 * bindgen.ads: Likewise.
7979 * bindo-augmentors.adb: Likewise.
7980 * bindo-augmentors.ads: Likewise.
7981 * bindo-builders.adb: Likewise.
7982 * bindo-builders.ads: Likewise.
7983 * bindo-diagnostics.adb: Likewise.
7984 * bindo-diagnostics.ads: Likewise.
7985 * bindo-elaborators.adb: Likewise.
7986 * bindo-elaborators.ads: Likewise.
7987 * bindo-graphs.adb: Likewise.
7988 * bindo-graphs.ads: Likewise.
7989 * bindo-units.adb: Likewise.
7990 * bindo-units.ads: Likewise.
7991 * bindo-validators.adb: Likewise.
7992 * bindo-validators.ads: Likewise.
7993 * bindo-writers.adb: Likewise.
7994 * bindo-writers.ads: Likewise.
7995 * bindo.adb: Likewise.
7996 * bindo.ads: Likewise.
7997 * bindusg.adb: Likewise.
7998 * bindusg.ads: Likewise.
7999 * butil.adb: Likewise.
8000 * butil.ads: Likewise.
8001 * cal.c: Likewise.
8002 * casing.adb: Likewise.
8003 * casing.ads: Likewise.
8004 * ceinfo.adb: Likewise.
8005 * checks.adb: Likewise.
8006 * checks.ads: Likewise.
8007 * cio.c: Likewise.
8008 * clean.adb: Likewise.
8009 * clean.ads: Likewise.
8010 * comperr.adb: Likewise.
8011 * comperr.ads: Likewise.
8012 * contracts.adb: Likewise.
8013 * contracts.ads: Likewise.
8014 * csets.adb: Likewise.
8015 * csets.ads: Likewise.
8016 * csinfo.adb: Likewise.
8017 * cstand.adb: Likewise.
8018 * cstand.ads: Likewise.
8019 * cstreams.c: Likewise.
8020 * ctrl_c.c: Likewise.
8021 * debug.adb: Likewise.
8022 * debug.ads: Likewise.
8023 * debug_a.adb: Likewise.
8024 * debug_a.ads: Likewise.
8025 * einfo.adb: Likewise.
8026 * einfo.ads: Likewise.
8027 * elists.adb: Likewise.
8028 * elists.ads: Likewise.
8029 * elists.h: Likewise.
8030 * env.c: Likewise.
8031 * env.h: Likewise.
8032 * err_vars.ads: Likewise.
8033 * errno.c: Likewise.
8034 * errout.adb: Likewise.
8035 * errout.ads: Likewise.
8036 * erroutc.adb: Likewise.
8037 * erroutc.ads: Likewise.
8038 * errutil.adb: Likewise.
8039 * errutil.ads: Likewise.
8040 * eval_fat.adb: Likewise.
8041 * eval_fat.ads: Likewise.
8042 * exit.c: Likewise.
8043 * exp_aggr.adb: Likewise.
8044 * exp_aggr.ads: Likewise.
8045 * exp_atag.adb: Likewise.
8046 * exp_atag.ads: Likewise.
8047 * exp_attr.adb: Likewise.
8048 * exp_attr.ads: Likewise.
8049 * exp_cg.adb: Likewise.
8050 * exp_cg.ads: Likewise.
8051 * exp_ch10.ads: Likewise.
8052 * exp_ch11.adb: Likewise.
8053 * exp_ch11.ads: Likewise.
8054 * exp_ch12.adb: Likewise.
8055 * exp_ch12.ads: Likewise.
8056 * exp_ch13.adb: Likewise.
8057 * exp_ch13.ads: Likewise.
8058 * exp_ch2.adb: Likewise.
8059 * exp_ch2.ads: Likewise.
8060 * exp_ch3.adb: Likewise.
8061 * exp_ch3.ads: Likewise.
8062 * exp_ch4.adb: Likewise.
8063 * exp_ch4.ads: Likewise.
8064 * exp_ch5.adb: Likewise.
8065 * exp_ch5.ads: Likewise.
8066 * exp_ch6.adb: Likewise.
8067 * exp_ch6.ads: Likewise.
8068 * exp_ch7.adb: Likewise.
8069 * exp_ch7.ads: Likewise.
8070 * exp_ch8.adb: Likewise.
8071 * exp_ch8.ads: Likewise.
8072 * exp_ch9.adb: Likewise.
8073 * exp_ch9.ads: Likewise.
8074 * exp_code.adb: Likewise.
8075 * exp_code.ads: Likewise.
8076 * exp_dbug.adb: Likewise.
8077 * exp_dbug.ads: Likewise.
8078 * exp_disp.adb: Likewise.
8079 * exp_disp.ads: Likewise.
8080 * exp_dist.adb: Likewise.
8081 * exp_dist.ads: Likewise.
8082 * exp_fixd.adb: Likewise.
8083 * exp_fixd.ads: Likewise.
8084 * exp_imgv.adb: Likewise.
8085 * exp_imgv.ads: Likewise.
8086 * exp_intr.adb: Likewise.
8087 * exp_intr.ads: Likewise.
8088 * exp_pakd.adb: Likewise.
8089 * exp_pakd.ads: Likewise.
8090 * exp_prag.adb: Likewise.
8091 * exp_prag.ads: Likewise.
8092 * exp_put_image.adb: Likewise.
8093 * exp_put_image.ads: Likewise.
8094 * exp_sel.adb: Likewise.
8095 * exp_sel.ads: Likewise.
8096 * exp_smem.adb: Likewise.
8097 * exp_smem.ads: Likewise.
8098 * exp_spark.adb: Likewise.
8099 * exp_spark.ads: Likewise.
8100 * exp_strm.adb: Likewise.
8101 * exp_strm.ads: Likewise.
8102 * exp_tss.adb: Likewise.
8103 * exp_tss.ads: Likewise.
8104 * exp_unst.adb: Likewise.
8105 * exp_unst.ads: Likewise.
8106 * exp_util.adb: Likewise.
8107 * exp_util.ads: Likewise.
8108 * expander.adb: Likewise.
8109 * expander.ads: Likewise.
8110 * expect.c: Likewise.
8111 * fe.h: Likewise.
8112 * final.c: Likewise.
8113 * fmap.adb: Likewise.
8114 * fmap.ads: Likewise.
8115 * fname-sf.adb: Likewise.
8116 * fname-sf.ads: Likewise.
8117 * fname-uf.adb: Likewise.
8118 * fname-uf.ads: Likewise.
8119 * fname.adb: Likewise.
8120 * fname.ads: Likewise.
8121 * freeze.adb: Likewise.
8122 * freeze.ads: Likewise.
8123 * frontend.adb: Likewise.
8124 * frontend.ads: Likewise.
8125 * gcc-interface/ada-tree.h: Likewise.
8126 * gcc-interface/ada.h: Likewise.
8127 * gcc-interface/cuintp.c: Likewise.
8128 * gcc-interface/decl.c: Likewise.
8129 * gcc-interface/gadaint.h: Likewise.
8130 * gcc-interface/gigi.h: Likewise.
8131 * gcc-interface/lang-specs.h: Likewise.
8132 * gcc-interface/misc.c: Likewise.
8133 * gcc-interface/system.ads: Likewise.
8134 * gcc-interface/targtyps.c: Likewise.
8135 * gcc-interface/trans.c: Likewise.
8136 * gcc-interface/utils.c: Likewise.
8137 * gcc-interface/utils2.c: Likewise.
8138 * get_scos.adb: Likewise.
8139 * get_scos.ads: Likewise.
8140 * get_targ.adb: Likewise.
8141 * get_targ.ads: Likewise.
8142 * ghost.adb: Likewise.
8143 * ghost.ads: Likewise.
8144 * gnat1drv.adb: Likewise.
8145 * gnat1drv.ads: Likewise.
8146 * gnat_cuda.adb: Likewise.
8147 * gnat_cuda.ads: Likewise.
8148 * gnatbind.adb: Likewise.
8149 * gnatbind.ads: Likewise.
8150 * gnatchop.adb: Likewise.
8151 * gnatclean.adb: Likewise.
8152 * gnatcmd.adb: Likewise.
8153 * gnatcmd.ads: Likewise.
8154 * gnatdll.adb: Likewise.
8155 * gnatfind.adb: Likewise.
8156 * gnatkr.adb: Likewise.
8157 * gnatkr.ads: Likewise.
8158 * gnatlink.adb: Likewise.
8159 * gnatlink.ads: Likewise.
8160 * gnatls.adb: Likewise.
8161 * gnatls.ads: Likewise.
8162 * gnatmake.adb: Likewise.
8163 * gnatmake.ads: Likewise.
8164 * gnatname.adb: Likewise.
8165 * gnatname.ads: Likewise.
8166 * gnatprep.adb: Likewise.
8167 * gnatprep.ads: Likewise.
8168 * gnatvsn.adb: Likewise.
8169 * gnatvsn.ads: Likewise.
8170 * gnatxref.adb: Likewise.
8171 * gprep.adb: Likewise.
8172 * gprep.ads: Likewise.
8173 * gsocket.h: Likewise.
8174 * hostparm.ads: Likewise.
8175 * impunit.adb: Likewise.
8176 * impunit.ads: Likewise.
8177 * indepsw-aix.adb: Likewise.
8178 * indepsw-darwin.adb: Likewise.
8179 * indepsw-gnu.adb: Likewise.
8180 * indepsw.adb: Likewise.
8181 * indepsw.ads: Likewise.
8182 * init.c: Likewise.
8183 * initialize.c: Likewise.
8184 * inline.adb: Likewise.
8185 * inline.ads: Likewise.
8186 * itypes.adb: Likewise.
8187 * itypes.ads: Likewise.
8188 * krunch.adb: Likewise.
8189 * krunch.ads: Likewise.
8190 * layout.adb: Likewise.
8191 * layout.ads: Likewise.
8192 * lib-list.adb: Likewise.
8193 * lib-load.adb: Likewise.
8194 * lib-load.ads: Likewise.
8195 * lib-sort.adb: Likewise.
8196 * lib-util.adb: Likewise.
8197 * lib-util.ads: Likewise.
8198 * lib-writ.adb: Likewise.
8199 * lib-writ.ads: Likewise.
8200 * lib-xref-spark_specific.adb: Likewise.
8201 * lib-xref.adb: Likewise.
8202 * lib-xref.ads: Likewise.
8203 * lib.adb: Likewise.
8204 * lib.ads: Likewise.
8205 * libgnarl/a-astaco.adb: Likewise.
8206 * libgnarl/a-dispat.adb: Likewise.
8207 * libgnarl/a-dynpri.adb: Likewise.
8208 * libgnarl/a-etgrbu.ads: Likewise.
8209 * libgnarl/a-exetim__darwin.adb: Likewise.
8210 * libgnarl/a-exetim__default.ads: Likewise.
8211 * libgnarl/a-exetim__mingw.adb: Likewise.
8212 * libgnarl/a-exetim__mingw.ads: Likewise.
8213 * libgnarl/a-exetim__posix.adb: Likewise.
8214 * libgnarl/a-interr.adb: Likewise.
8215 * libgnarl/a-interr.ads: Likewise.
8216 * libgnarl/a-intnam.ads: Likewise.
8217 * libgnarl/a-intnam__aix.ads: Likewise.
8218 * libgnarl/a-intnam__darwin.ads: Likewise.
8219 * libgnarl/a-intnam__dragonfly.ads: Likewise.
8220 * libgnarl/a-intnam__dummy.ads: Likewise.
8221 * libgnarl/a-intnam__freebsd.ads: Likewise.
8222 * libgnarl/a-intnam__hpux.ads: Likewise.
8223 * libgnarl/a-intnam__linux.ads: Likewise.
8224 * libgnarl/a-intnam__lynxos.ads: Likewise.
8225 * libgnarl/a-intnam__mingw.ads: Likewise.
8226 * libgnarl/a-intnam__qnx.ads: Likewise.
8227 * libgnarl/a-intnam__rtems.ads: Likewise.
8228 * libgnarl/a-intnam__solaris.ads: Likewise.
8229 * libgnarl/a-intnam__vxworks.ads: Likewise.
8230 * libgnarl/a-reatim.adb: Likewise.
8231 * libgnarl/a-reatim.ads: Likewise.
8232 * libgnarl/a-retide.adb: Likewise.
8233 * libgnarl/a-retide.ads: Likewise.
8234 * libgnarl/a-rttiev.adb: Likewise.
8235 * libgnarl/a-rttiev.ads: Likewise.
8236 * libgnarl/a-synbar.adb: Likewise.
8237 * libgnarl/a-synbar.ads: Likewise.
8238 * libgnarl/a-synbar__posix.adb: Likewise.
8239 * libgnarl/a-synbar__posix.ads: Likewise.
8240 * libgnarl/a-sytaco.adb: Likewise.
8241 * libgnarl/a-sytaco.ads: Likewise.
8242 * libgnarl/a-tasatt.adb: Likewise.
8243 * libgnarl/a-tasatt.ads: Likewise.
8244 * libgnarl/a-taside.adb: Likewise.
8245 * libgnarl/a-taside.ads: Likewise.
8246 * libgnarl/a-tasini.adb: Likewise.
8247 * libgnarl/a-tasini.ads: Likewise.
8248 * libgnarl/a-taster.adb: Likewise.
8249 * libgnarl/g-boubuf.adb: Likewise.
8250 * libgnarl/g-boubuf.ads: Likewise.
8251 * libgnarl/g-boumai.ads: Likewise.
8252 * libgnarl/g-semaph.adb: Likewise.
8253 * libgnarl/g-semaph.ads: Likewise.
8254 * libgnarl/g-signal.adb: Likewise.
8255 * libgnarl/g-signal.ads: Likewise.
8256 * libgnarl/g-tastus.ads: Likewise.
8257 * libgnarl/g-thread.adb: Likewise.
8258 * libgnarl/g-thread.ads: Likewise.
8259 * libgnarl/i-vxinco.adb: Likewise.
8260 * libgnarl/i-vxinco.ads: Likewise.
8261 * libgnarl/s-inmaop.ads: Likewise.
8262 * libgnarl/s-inmaop__dummy.adb: Likewise.
8263 * libgnarl/s-inmaop__posix.adb: Likewise.
8264 * libgnarl/s-inmaop__vxworks.adb: Likewise.
8265 * libgnarl/s-interr.adb: Likewise.
8266 * libgnarl/s-interr.ads: Likewise.
8267 * libgnarl/s-interr__dummy.adb: Likewise.
8268 * libgnarl/s-interr__hwint.adb: Likewise.
8269 * libgnarl/s-interr__sigaction.adb: Likewise.
8270 * libgnarl/s-interr__vxworks.adb: Likewise.
8271 * libgnarl/s-intman.ads: Likewise.
8272 * libgnarl/s-intman__android.adb: Likewise.
8273 * libgnarl/s-intman__dummy.adb: Likewise.
8274 * libgnarl/s-intman__lynxos.adb: Likewise.
8275 * libgnarl/s-intman__mingw.adb: Likewise.
8276 * libgnarl/s-intman__posix.adb: Likewise.
8277 * libgnarl/s-intman__qnx.adb: Likewise.
8278 * libgnarl/s-intman__solaris.adb: Likewise.
8279 * libgnarl/s-intman__susv3.adb: Likewise.
8280 * libgnarl/s-intman__vxworks.adb: Likewise.
8281 * libgnarl/s-intman__vxworks.ads: Likewise.
8282 * libgnarl/s-linux.ads: Likewise.
8283 * libgnarl/s-linux__alpha.ads: Likewise.
8284 * libgnarl/s-linux__android.ads: Likewise.
8285 * libgnarl/s-linux__hppa.ads: Likewise.
8286 * libgnarl/s-linux__mips.ads: Likewise.
8287 * libgnarl/s-linux__riscv.ads: Likewise.
8288 * libgnarl/s-linux__sparc.ads: Likewise.
8289 * libgnarl/s-linux__x32.ads: Likewise.
8290 * libgnarl/s-mudido.adb: Likewise.
8291 * libgnarl/s-mudido__affinity.adb: Likewise.
8292 * libgnarl/s-osinte__aix.adb: Likewise.
8293 * libgnarl/s-osinte__aix.ads: Likewise.
8294 * libgnarl/s-osinte__android.adb: Likewise.
8295 * libgnarl/s-osinte__android.ads: Likewise.
8296 * libgnarl/s-osinte__darwin.adb: Likewise.
8297 * libgnarl/s-osinte__darwin.ads: Likewise.
8298 * libgnarl/s-osinte__dragonfly.adb: Likewise.
8299 * libgnarl/s-osinte__dragonfly.ads: Likewise.
8300 * libgnarl/s-osinte__dummy.ads: Likewise.
8301 * libgnarl/s-osinte__freebsd.adb: Likewise.
8302 * libgnarl/s-osinte__freebsd.ads: Likewise.
8303 * libgnarl/s-osinte__gnu.adb: Likewise.
8304 * libgnarl/s-osinte__gnu.ads: Likewise.
8305 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
8306 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
8307 * libgnarl/s-osinte__hpux.ads: Likewise.
8308 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
8309 * libgnarl/s-osinte__linux.ads: Likewise.
8310 * libgnarl/s-osinte__lynxos178.adb: Likewise.
8311 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
8312 * libgnarl/s-osinte__mingw.ads: Likewise.
8313 * libgnarl/s-osinte__posix.adb: Likewise.
8314 * libgnarl/s-osinte__qnx.adb: Likewise.
8315 * libgnarl/s-osinte__qnx.ads: Likewise.
8316 * libgnarl/s-osinte__rtems.adb: Likewise.
8317 * libgnarl/s-osinte__rtems.ads: Likewise.
8318 * libgnarl/s-osinte__solaris.adb: Likewise.
8319 * libgnarl/s-osinte__solaris.ads: Likewise.
8320 * libgnarl/s-osinte__vxworks.adb: Likewise.
8321 * libgnarl/s-osinte__vxworks.ads: Likewise.
8322 * libgnarl/s-osinte__x32.adb: Likewise.
8323 * libgnarl/s-proinf.adb: Likewise.
8324 * libgnarl/s-proinf.ads: Likewise.
8325 * libgnarl/s-qnx.ads: Likewise.
8326 * libgnarl/s-solita.adb: Likewise.
8327 * libgnarl/s-solita.ads: Likewise.
8328 * libgnarl/s-stusta.adb: Likewise.
8329 * libgnarl/s-stusta.ads: Likewise.
8330 * libgnarl/s-taasde.adb: Likewise.
8331 * libgnarl/s-taasde.ads: Likewise.
8332 * libgnarl/s-tadeca.adb: Likewise.
8333 * libgnarl/s-tadeca.ads: Likewise.
8334 * libgnarl/s-tadert.adb: Likewise.
8335 * libgnarl/s-tadert.ads: Likewise.
8336 * libgnarl/s-taenca.adb: Likewise.
8337 * libgnarl/s-taenca.ads: Likewise.
8338 * libgnarl/s-taprob.adb: Likewise.
8339 * libgnarl/s-taprob.ads: Likewise.
8340 * libgnarl/s-taprop.ads: Likewise.
8341 * libgnarl/s-taprop__dummy.adb: Likewise.
8342 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
8343 * libgnarl/s-taprop__linux.adb: Likewise.
8344 * libgnarl/s-taprop__mingw.adb: Likewise.
8345 * libgnarl/s-taprop__posix.adb: Likewise.
8346 * libgnarl/s-taprop__qnx.adb: Likewise.
8347 * libgnarl/s-taprop__solaris.adb: Likewise.
8348 * libgnarl/s-taprop__vxworks.adb: Likewise.
8349 * libgnarl/s-tarest.adb: Likewise.
8350 * libgnarl/s-tarest.ads: Likewise.
8351 * libgnarl/s-tasdeb.adb: Likewise.
8352 * libgnarl/s-tasdeb.ads: Likewise.
8353 * libgnarl/s-tasinf.adb: Likewise.
8354 * libgnarl/s-tasinf.ads: Likewise.
8355 * libgnarl/s-tasinf__linux.adb: Likewise.
8356 * libgnarl/s-tasinf__linux.ads: Likewise.
8357 * libgnarl/s-tasinf__mingw.adb: Likewise.
8358 * libgnarl/s-tasinf__mingw.ads: Likewise.
8359 * libgnarl/s-tasinf__solaris.adb: Likewise.
8360 * libgnarl/s-tasinf__solaris.ads: Likewise.
8361 * libgnarl/s-tasinf__vxworks.ads: Likewise.
8362 * libgnarl/s-tasini.adb: Likewise.
8363 * libgnarl/s-tasini.ads: Likewise.
8364 * libgnarl/s-taskin.adb: Likewise.
8365 * libgnarl/s-taskin.ads: Likewise.
8366 * libgnarl/s-taspri__dummy.ads: Likewise.
8367 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
8368 * libgnarl/s-taspri__lynxos.ads: Likewise.
8369 * libgnarl/s-taspri__mingw.ads: Likewise.
8370 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
8371 * libgnarl/s-taspri__posix.ads: Likewise.
8372 * libgnarl/s-taspri__solaris.ads: Likewise.
8373 * libgnarl/s-taspri__vxworks.ads: Likewise.
8374 * libgnarl/s-tasque.adb: Likewise.
8375 * libgnarl/s-tasque.ads: Likewise.
8376 * libgnarl/s-tasren.adb: Likewise.
8377 * libgnarl/s-tasren.ads: Likewise.
8378 * libgnarl/s-tasres.ads: Likewise.
8379 * libgnarl/s-tassta.adb: Likewise.
8380 * libgnarl/s-tassta.ads: Likewise.
8381 * libgnarl/s-tasuti.adb: Likewise.
8382 * libgnarl/s-tasuti.ads: Likewise.
8383 * libgnarl/s-tataat.adb: Likewise.
8384 * libgnarl/s-tataat.ads: Likewise.
8385 * libgnarl/s-tpinop.adb: Likewise.
8386 * libgnarl/s-tpinop.ads: Likewise.
8387 * libgnarl/s-tpoaal.adb: Likewise.
8388 * libgnarl/s-tpoben.adb: Likewise.
8389 * libgnarl/s-tpoben.ads: Likewise.
8390 * libgnarl/s-tpobmu.adb: Likewise.
8391 * libgnarl/s-tpobmu.ads: Likewise.
8392 * libgnarl/s-tpobop.adb: Likewise.
8393 * libgnarl/s-tpobop.ads: Likewise.
8394 * libgnarl/s-tpopmo.adb: Likewise.
8395 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
8396 * libgnarl/s-tpopsp__posix.adb: Likewise.
8397 * libgnarl/s-tpopsp__solaris.adb: Likewise.
8398 * libgnarl/s-tpopsp__tls.adb: Likewise.
8399 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
8400 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
8401 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
8402 * libgnarl/s-tporft.adb: Likewise.
8403 * libgnarl/s-tposen.adb: Likewise.
8404 * libgnarl/s-tposen.ads: Likewise.
8405 * libgnarl/s-vxwext.adb: Likewise.
8406 * libgnarl/s-vxwext.ads: Likewise.
8407 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
8408 * libgnarl/s-vxwext__kernel.adb: Likewise.
8409 * libgnarl/s-vxwext__kernel.ads: Likewise.
8410 * libgnarl/s-vxwext__noints.adb: Likewise.
8411 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
8412 * libgnarl/s-vxwext__rtp.adb: Likewise.
8413 * libgnarl/s-vxwext__rtp.ads: Likewise.
8414 * libgnarl/s-vxwext__vthreads.ads: Likewise.
8415 * libgnarl/s-vxwork__aarch64.ads: Likewise.
8416 * libgnarl/s-vxwork__arm.ads: Likewise.
8417 * libgnarl/s-vxwork__ppc.ads: Likewise.
8418 * libgnarl/s-vxwork__x86.ads: Likewise.
8419 * libgnarl/thread.c: Likewise.
8420 * libgnat/a-assert.adb: Likewise.
8421 * libgnat/a-assert.ads: Likewise.
8422 * libgnat/a-btgbso.adb: Likewise.
8423 * libgnat/a-btgbso.ads: Likewise.
8424 * libgnat/a-calari.adb: Likewise.
8425 * libgnat/a-calari.ads: Likewise.
8426 * libgnat/a-calcon.adb: Likewise.
8427 * libgnat/a-calcon.ads: Likewise.
8428 * libgnat/a-caldel.adb: Likewise.
8429 * libgnat/a-caldel.ads: Likewise.
8430 * libgnat/a-calend.adb: Likewise.
8431 * libgnat/a-calend.ads: Likewise.
8432 * libgnat/a-calfor.adb: Likewise.
8433 * libgnat/a-calfor.ads: Likewise.
8434 * libgnat/a-catizo.adb: Likewise.
8435 * libgnat/a-cbdlli.adb: Likewise.
8436 * libgnat/a-cbdlli.ads: Likewise.
8437 * libgnat/a-cbhama.adb: Likewise.
8438 * libgnat/a-cbhama.ads: Likewise.
8439 * libgnat/a-cbhase.adb: Likewise.
8440 * libgnat/a-cbhase.ads: Likewise.
8441 * libgnat/a-cbmutr.adb: Likewise.
8442 * libgnat/a-cbmutr.ads: Likewise.
8443 * libgnat/a-cborma.adb: Likewise.
8444 * libgnat/a-cborma.ads: Likewise.
8445 * libgnat/a-cborse.adb: Likewise.
8446 * libgnat/a-cborse.ads: Likewise.
8447 * libgnat/a-cbprqu.adb: Likewise.
8448 * libgnat/a-cbprqu.ads: Likewise.
8449 * libgnat/a-cbsyqu.adb: Likewise.
8450 * libgnat/a-cbsyqu.ads: Likewise.
8451 * libgnat/a-cdlili.adb: Likewise.
8452 * libgnat/a-cdlili.ads: Likewise.
8453 * libgnat/a-cfdlli.adb: Likewise.
8454 * libgnat/a-cfdlli.ads: Likewise.
8455 * libgnat/a-cfhama.adb: Likewise.
8456 * libgnat/a-cfhama.ads: Likewise.
8457 * libgnat/a-cfhase.adb: Likewise.
8458 * libgnat/a-cfhase.ads: Likewise.
8459 * libgnat/a-cfinve.adb: Likewise.
8460 * libgnat/a-cfinve.ads: Likewise.
8461 * libgnat/a-cforma.adb: Likewise.
8462 * libgnat/a-cforma.ads: Likewise.
8463 * libgnat/a-cforse.adb: Likewise.
8464 * libgnat/a-cforse.ads: Likewise.
8465 * libgnat/a-cgaaso.adb: Likewise.
8466 * libgnat/a-cgaaso.ads: Likewise.
8467 * libgnat/a-cgarso.adb: Likewise.
8468 * libgnat/a-cgcaso.adb: Likewise.
8469 * libgnat/a-chacon.adb: Likewise.
8470 * libgnat/a-chacon.ads: Likewise.
8471 * libgnat/a-chahan.adb: Likewise.
8472 * libgnat/a-chahan.ads: Likewise.
8473 * libgnat/a-chlat9.ads: Likewise.
8474 * libgnat/a-chtgbk.adb: Likewise.
8475 * libgnat/a-chtgbk.ads: Likewise.
8476 * libgnat/a-chtgbo.adb: Likewise.
8477 * libgnat/a-chtgbo.ads: Likewise.
8478 * libgnat/a-chtgke.adb: Likewise.
8479 * libgnat/a-chtgke.ads: Likewise.
8480 * libgnat/a-chtgop.adb: Likewise.
8481 * libgnat/a-chtgop.ads: Likewise.
8482 * libgnat/a-chzla1.ads: Likewise.
8483 * libgnat/a-chzla9.ads: Likewise.
8484 * libgnat/a-cidlli.adb: Likewise.
8485 * libgnat/a-cidlli.ads: Likewise.
8486 * libgnat/a-cihama.adb: Likewise.
8487 * libgnat/a-cihama.ads: Likewise.
8488 * libgnat/a-cihase.adb: Likewise.
8489 * libgnat/a-cihase.ads: Likewise.
8490 * libgnat/a-cimutr.adb: Likewise.
8491 * libgnat/a-cimutr.ads: Likewise.
8492 * libgnat/a-ciorma.adb: Likewise.
8493 * libgnat/a-ciorma.ads: Likewise.
8494 * libgnat/a-ciormu.adb: Likewise.
8495 * libgnat/a-ciormu.ads: Likewise.
8496 * libgnat/a-ciorse.adb: Likewise.
8497 * libgnat/a-ciorse.ads: Likewise.
8498 * libgnat/a-clrefi.adb: Likewise.
8499 * libgnat/a-clrefi.ads: Likewise.
8500 * libgnat/a-coboho.adb: Likewise.
8501 * libgnat/a-coboho.ads: Likewise.
8502 * libgnat/a-cobove.adb: Likewise.
8503 * libgnat/a-cobove.ads: Likewise.
8504 * libgnat/a-cofove.adb: Likewise.
8505 * libgnat/a-cofove.ads: Likewise.
8506 * libgnat/a-cofuba.adb: Likewise.
8507 * libgnat/a-cofuba.ads: Likewise.
8508 * libgnat/a-cofuma.adb: Likewise.
8509 * libgnat/a-cofuma.ads: Likewise.
8510 * libgnat/a-cofuse.adb: Likewise.
8511 * libgnat/a-cofuse.ads: Likewise.
8512 * libgnat/a-cofuve.adb: Likewise.
8513 * libgnat/a-cofuve.ads: Likewise.
8514 * libgnat/a-cogeso.adb: Likewise.
8515 * libgnat/a-cogeso.ads: Likewise.
8516 * libgnat/a-cohama.adb: Likewise.
8517 * libgnat/a-cohama.ads: Likewise.
8518 * libgnat/a-cohase.adb: Likewise.
8519 * libgnat/a-cohase.ads: Likewise.
8520 * libgnat/a-cohata.ads: Likewise.
8521 * libgnat/a-coinho.adb: Likewise.
8522 * libgnat/a-coinho.ads: Likewise.
8523 * libgnat/a-coinho__shared.adb: Likewise.
8524 * libgnat/a-coinho__shared.ads: Likewise.
8525 * libgnat/a-coinve.adb: Likewise.
8526 * libgnat/a-coinve.ads: Likewise.
8527 * libgnat/a-colien.adb: Likewise.
8528 * libgnat/a-colien.ads: Likewise.
8529 * libgnat/a-colire.adb: Likewise.
8530 * libgnat/a-colire.ads: Likewise.
8531 * libgnat/a-comlin.adb: Likewise.
8532 * libgnat/a-comlin.ads: Likewise.
8533 * libgnat/a-comutr.adb: Likewise.
8534 * libgnat/a-comutr.ads: Likewise.
8535 * libgnat/a-conhel.adb: Likewise.
8536 * libgnat/a-conhel.ads: Likewise.
8537 * libgnat/a-convec.adb: Likewise.
8538 * libgnat/a-convec.ads: Likewise.
8539 * libgnat/a-coorma.adb: Likewise.
8540 * libgnat/a-coorma.ads: Likewise.
8541 * libgnat/a-coormu.adb: Likewise.
8542 * libgnat/a-coormu.ads: Likewise.
8543 * libgnat/a-coorse.adb: Likewise.
8544 * libgnat/a-coorse.ads: Likewise.
8545 * libgnat/a-coprnu.adb: Likewise.
8546 * libgnat/a-coprnu.ads: Likewise.
8547 * libgnat/a-crbltr.ads: Likewise.
8548 * libgnat/a-crbtgk.adb: Likewise.
8549 * libgnat/a-crbtgk.ads: Likewise.
8550 * libgnat/a-crbtgo.adb: Likewise.
8551 * libgnat/a-crbtgo.ads: Likewise.
8552 * libgnat/a-crdlli.adb: Likewise.
8553 * libgnat/a-crdlli.ads: Likewise.
8554 * libgnat/a-csquin.ads: Likewise.
8555 * libgnat/a-cuprqu.adb: Likewise.
8556 * libgnat/a-cuprqu.ads: Likewise.
8557 * libgnat/a-cusyqu.adb: Likewise.
8558 * libgnat/a-cusyqu.ads: Likewise.
8559 * libgnat/a-cwila1.ads: Likewise.
8560 * libgnat/a-cwila9.ads: Likewise.
8561 * libgnat/a-decima.adb: Likewise.
8562 * libgnat/a-decima.ads: Likewise.
8563 * libgnat/a-decima__128.ads: Likewise.
8564 * libgnat/a-dhfina.adb: Likewise.
8565 * libgnat/a-dhfina.ads: Likewise.
8566 * libgnat/a-diocst.adb: Likewise.
8567 * libgnat/a-diocst.ads: Likewise.
8568 * libgnat/a-direct.adb: Likewise.
8569 * libgnat/a-direct.ads: Likewise.
8570 * libgnat/a-direio.adb: Likewise.
8571 * libgnat/a-direio.ads: Likewise.
8572 * libgnat/a-dirval.adb: Likewise.
8573 * libgnat/a-dirval.ads: Likewise.
8574 * libgnat/a-dirval__mingw.adb: Likewise.
8575 * libgnat/a-einuoc.adb: Likewise.
8576 * libgnat/a-einuoc.ads: Likewise.
8577 * libgnat/a-elchha.adb: Likewise.
8578 * libgnat/a-elchha.ads: Likewise.
8579 * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
8580 * libgnat/a-envvar.adb: Likewise.
8581 * libgnat/a-excach.adb: Likewise.
8582 * libgnat/a-except.adb: Likewise.
8583 * libgnat/a-except.ads: Likewise.
8584 * libgnat/a-exctra.adb: Likewise.
8585 * libgnat/a-exctra.ads: Likewise.
8586 * libgnat/a-exexda.adb: Likewise.
8587 * libgnat/a-exexpr.adb: Likewise.
8588 * libgnat/a-exextr.adb: Likewise.
8589 * libgnat/a-exstat.adb: Likewise.
8590 * libgnat/a-finali.adb: Likewise.
8591 * libgnat/a-finali.ads: Likewise.
8592 * libgnat/a-locale.adb: Likewise.
8593 * libgnat/a-locale.ads: Likewise.
8594 * libgnat/a-nagefl.ads: Likewise.
8595 * libgnat/a-naliop.ads: Likewise.
8596 * libgnat/a-naliop__nolibm.ads: Likewise.
8597 * libgnat/a-nallfl.ads: Likewise.
8598 * libgnat/a-nallfl__wraplf.ads: Likewise.
8599 * libgnat/a-nalofl.ads: Likewise.
8600 * libgnat/a-nashfl.ads: Likewise.
8601 * libgnat/a-nashfl__wraplf.ads: Likewise.
8602 * libgnat/a-nbnbin.adb: Likewise.
8603 * libgnat/a-nbnbin__gmp.adb: Likewise.
8604 * libgnat/a-nbnbre.adb: Likewise.
8605 * libgnat/a-ngcefu.adb: Likewise.
8606 * libgnat/a-ngcoar.adb: Likewise.
8607 * libgnat/a-ngcoty.adb: Likewise.
8608 * libgnat/a-ngcoty.ads: Likewise.
8609 * libgnat/a-ngelfu.adb: Likewise.
8610 * libgnat/a-ngelfu.ads: Likewise.
8611 * libgnat/a-ngrear.adb: Likewise.
8612 * libgnat/a-ngrear.ads: Likewise.
8613 * libgnat/a-nuauco.ads: Likewise.
8614 * libgnat/a-nuauco__x86.ads: Likewise.
8615 * libgnat/a-nuaufl.ads: Likewise.
8616 * libgnat/a-nuaufl__wraplf.ads: Likewise.
8617 * libgnat/a-nudira.adb: Likewise.
8618 * libgnat/a-nudira.ads: Likewise.
8619 * libgnat/a-nuflra.adb: Likewise.
8620 * libgnat/a-nuflra.ads: Likewise.
8621 * libgnat/a-numaux.ads: Likewise.
8622 * libgnat/a-rbtgbk.adb: Likewise.
8623 * libgnat/a-rbtgbk.ads: Likewise.
8624 * libgnat/a-rbtgbo.adb: Likewise.
8625 * libgnat/a-rbtgbo.ads: Likewise.
8626 * libgnat/a-rbtgso.adb: Likewise.
8627 * libgnat/a-rbtgso.ads: Likewise.
8628 * libgnat/a-sbecin.adb: Likewise.
8629 * libgnat/a-sbecin.ads: Likewise.
8630 * libgnat/a-sbhcin.adb: Likewise.
8631 * libgnat/a-sbhcin.ads: Likewise.
8632 * libgnat/a-sblcin.adb: Likewise.
8633 * libgnat/a-sblcin.ads: Likewise.
8634 * libgnat/a-secain.adb: Likewise.
8635 * libgnat/a-secain.ads: Likewise.
8636 * libgnat/a-sequio.adb: Likewise.
8637 * libgnat/a-sequio.ads: Likewise.
8638 * libgnat/a-sfecin.ads: Likewise.
8639 * libgnat/a-sfhcin.ads: Likewise.
8640 * libgnat/a-sflcin.ads: Likewise.
8641 * libgnat/a-shcain.adb: Likewise.
8642 * libgnat/a-shcain.ads: Likewise.
8643 * libgnat/a-siocst.adb: Likewise.
8644 * libgnat/a-siocst.ads: Likewise.
8645 * libgnat/a-slcain.adb: Likewise.
8646 * libgnat/a-slcain.ads: Likewise.
8647 * libgnat/a-ssicst.adb: Likewise.
8648 * libgnat/a-ssicst.ads: Likewise.
8649 * libgnat/a-stboha.adb: Likewise.
8650 * libgnat/a-stmaco.ads: Likewise.
8651 * libgnat/a-stobbu.adb: Likewise.
8652 * libgnat/a-stobbu.ads: Likewise.
8653 * libgnat/a-stobfi.adb: Likewise.
8654 * libgnat/a-stobfi.ads: Likewise.
8655 * libgnat/a-storio.adb: Likewise.
8656 * libgnat/a-stoubu.adb: Likewise.
8657 * libgnat/a-stoubu.ads: Likewise.
8658 * libgnat/a-stoufi.adb: Likewise.
8659 * libgnat/a-stoufi.ads: Likewise.
8660 * libgnat/a-stoufo.adb: Likewise.
8661 * libgnat/a-stoufo.ads: Likewise.
8662 * libgnat/a-stouut.adb: Likewise.
8663 * libgnat/a-stouut.ads: Likewise.
8664 * libgnat/a-strbou.adb: Likewise.
8665 * libgnat/a-strbou.ads: Likewise.
8666 * libgnat/a-stream.adb: Likewise.
8667 * libgnat/a-stream.ads: Likewise.
8668 * libgnat/a-strfix.adb: Likewise.
8669 * libgnat/a-strhas.adb: Likewise.
8670 * libgnat/a-strmap.adb: Likewise.
8671 * libgnat/a-strmap.ads: Likewise.
8672 * libgnat/a-strsea.adb: Likewise.
8673 * libgnat/a-strsea.ads: Likewise.
8674 * libgnat/a-strsto.ads: Likewise.
8675 * libgnat/a-strsup.adb: Likewise.
8676 * libgnat/a-strsup.ads: Likewise.
8677 * libgnat/a-strunb.adb: Likewise.
8678 * libgnat/a-strunb.ads: Likewise.
8679 * libgnat/a-strunb__shared.adb: Likewise.
8680 * libgnat/a-strunb__shared.ads: Likewise.
8681 * libgnat/a-ststbo.adb: Likewise.
8682 * libgnat/a-ststbo.ads: Likewise.
8683 * libgnat/a-ststio.adb: Likewise.
8684 * libgnat/a-ststio.ads: Likewise.
8685 * libgnat/a-ststun.adb: Likewise.
8686 * libgnat/a-ststun.ads: Likewise.
8687 * libgnat/a-stteou.ads: Likewise.
8688 * libgnat/a-stunau.adb: Likewise.
8689 * libgnat/a-stunau.ads: Likewise.
8690 * libgnat/a-stunau__shared.adb: Likewise.
8691 * libgnat/a-stunha.adb: Likewise.
8692 * libgnat/a-stuten.adb: Likewise.
8693 * libgnat/a-stwibo.adb: Likewise.
8694 * libgnat/a-stwibo.ads: Likewise.
8695 * libgnat/a-stwifi.adb: Likewise.
8696 * libgnat/a-stwiha.adb: Likewise.
8697 * libgnat/a-stwima.adb: Likewise.
8698 * libgnat/a-stwima.ads: Likewise.
8699 * libgnat/a-stwise.adb: Likewise.
8700 * libgnat/a-stwise.ads: Likewise.
8701 * libgnat/a-stwisu.adb: Likewise.
8702 * libgnat/a-stwisu.ads: Likewise.
8703 * libgnat/a-stwiun.adb: Likewise.
8704 * libgnat/a-stwiun.ads: Likewise.
8705 * libgnat/a-stwiun__shared.adb: Likewise.
8706 * libgnat/a-stwiun__shared.ads: Likewise.
8707 * libgnat/a-stzbou.adb: Likewise.
8708 * libgnat/a-stzbou.ads: Likewise.
8709 * libgnat/a-stzfix.adb: Likewise.
8710 * libgnat/a-stzhas.adb: Likewise.
8711 * libgnat/a-stzmap.adb: Likewise.
8712 * libgnat/a-stzmap.ads: Likewise.
8713 * libgnat/a-stzsea.adb: Likewise.
8714 * libgnat/a-stzsea.ads: Likewise.
8715 * libgnat/a-stzsup.adb: Likewise.
8716 * libgnat/a-stzsup.ads: Likewise.
8717 * libgnat/a-stzunb.adb: Likewise.
8718 * libgnat/a-stzunb.ads: Likewise.
8719 * libgnat/a-stzunb__shared.adb: Likewise.
8720 * libgnat/a-stzunb__shared.ads: Likewise.
8721 * libgnat/a-suecin.adb: Likewise.
8722 * libgnat/a-suecin.ads: Likewise.
8723 * libgnat/a-suenco.adb: Likewise.
8724 * libgnat/a-suenst.adb: Likewise.
8725 * libgnat/a-suewst.adb: Likewise.
8726 * libgnat/a-suezst.adb: Likewise.
8727 * libgnat/a-suhcin.adb: Likewise.
8728 * libgnat/a-suhcin.ads: Likewise.
8729 * libgnat/a-sulcin.adb: Likewise.
8730 * libgnat/a-sulcin.ads: Likewise.
8731 * libgnat/a-suteio.adb: Likewise.
8732 * libgnat/a-suteio.ads: Likewise.
8733 * libgnat/a-suteio__shared.adb: Likewise.
8734 * libgnat/a-swbwha.adb: Likewise.
8735 * libgnat/a-swmwco.ads: Likewise.
8736 * libgnat/a-swunau.adb: Likewise.
8737 * libgnat/a-swunau.ads: Likewise.
8738 * libgnat/a-swunau__shared.adb: Likewise.
8739 * libgnat/a-swuwha.adb: Likewise.
8740 * libgnat/a-swuwti.adb: Likewise.
8741 * libgnat/a-swuwti.ads: Likewise.
8742 * libgnat/a-swuwti__shared.adb: Likewise.
8743 * libgnat/a-szbzha.adb: Likewise.
8744 * libgnat/a-szmzco.ads: Likewise.
8745 * libgnat/a-szunau.adb: Likewise.
8746 * libgnat/a-szunau.ads: Likewise.
8747 * libgnat/a-szunau__shared.adb: Likewise.
8748 * libgnat/a-szuzha.adb: Likewise.
8749 * libgnat/a-szuzti.adb: Likewise.
8750 * libgnat/a-szuzti.ads: Likewise.
8751 * libgnat/a-szuzti__shared.adb: Likewise.
8752 * libgnat/a-tags.adb: Likewise.
8753 * libgnat/a-tags.ads: Likewise.
8754 * libgnat/a-teioed.adb: Likewise.
8755 * libgnat/a-teioed.ads: Likewise.
8756 * libgnat/a-textio.adb: Likewise.
8757 * libgnat/a-textio.ads: Likewise.
8758 * libgnat/a-tiboio.adb: Likewise.
8759 * libgnat/a-ticoau.adb: Likewise.
8760 * libgnat/a-ticoau.ads: Likewise.
8761 * libgnat/a-ticoio.adb: Likewise.
8762 * libgnat/a-ticoio.ads: Likewise.
8763 * libgnat/a-tideau.adb: Likewise.
8764 * libgnat/a-tideau.ads: Likewise.
8765 * libgnat/a-tideio.adb: Likewise.
8766 * libgnat/a-tideio.ads: Likewise.
8767 * libgnat/a-tideio__128.adb: Likewise.
8768 * libgnat/a-tienau.adb: Likewise.
8769 * libgnat/a-tienau.ads: Likewise.
8770 * libgnat/a-tienio.adb: Likewise.
8771 * libgnat/a-tifiau.adb: Likewise.
8772 * libgnat/a-tifiau.ads: Likewise.
8773 * libgnat/a-tifiio.adb: Likewise.
8774 * libgnat/a-tifiio__128.adb: Likewise.
8775 * libgnat/a-tiflau.adb: Likewise.
8776 * libgnat/a-tiflau.ads: Likewise.
8777 * libgnat/a-tiflio.adb: Likewise.
8778 * libgnat/a-tiflio.ads: Likewise.
8779 * libgnat/a-tigeau.adb: Likewise.
8780 * libgnat/a-tigeau.ads: Likewise.
8781 * libgnat/a-tigeli.adb: Likewise.
8782 * libgnat/a-tiinau.adb: Likewise.
8783 * libgnat/a-tiinau.ads: Likewise.
8784 * libgnat/a-tiinio.adb: Likewise.
8785 * libgnat/a-tiinio.ads: Likewise.
8786 * libgnat/a-tiinio__128.adb: Likewise.
8787 * libgnat/a-timoio.adb: Likewise.
8788 * libgnat/a-timoio.ads: Likewise.
8789 * libgnat/a-timoio__128.adb: Likewise.
8790 * libgnat/a-tiocst.adb: Likewise.
8791 * libgnat/a-tiocst.ads: Likewise.
8792 * libgnat/a-tirsfi.adb: Likewise.
8793 * libgnat/a-tirsfi.ads: Likewise.
8794 * libgnat/a-titest.adb: Likewise.
8795 * libgnat/a-undesu.adb: Likewise.
8796 * libgnat/a-wichha.adb: Likewise.
8797 * libgnat/a-wichun.adb: Likewise.
8798 * libgnat/a-wichun.ads: Likewise.
8799 * libgnat/a-witeio.adb: Likewise.
8800 * libgnat/a-witeio.ads: Likewise.
8801 * libgnat/a-wrstfi.adb: Likewise.
8802 * libgnat/a-wrstfi.ads: Likewise.
8803 * libgnat/a-wtcoau.adb: Likewise.
8804 * libgnat/a-wtcoau.ads: Likewise.
8805 * libgnat/a-wtcoio.adb: Likewise.
8806 * libgnat/a-wtcstr.adb: Likewise.
8807 * libgnat/a-wtcstr.ads: Likewise.
8808 * libgnat/a-wtdeau.adb: Likewise.
8809 * libgnat/a-wtdeau.ads: Likewise.
8810 * libgnat/a-wtdeio.adb: Likewise.
8811 * libgnat/a-wtdeio__128.adb: Likewise.
8812 * libgnat/a-wtedit.adb: Likewise.
8813 * libgnat/a-wtedit.ads: Likewise.
8814 * libgnat/a-wtenau.adb: Likewise.
8815 * libgnat/a-wtenau.ads: Likewise.
8816 * libgnat/a-wtenio.adb: Likewise.
8817 * libgnat/a-wtfiau.adb: Likewise.
8818 * libgnat/a-wtfiau.ads: Likewise.
8819 * libgnat/a-wtfiio.adb: Likewise.
8820 * libgnat/a-wtfiio__128.adb: Likewise.
8821 * libgnat/a-wtflau.adb: Likewise.
8822 * libgnat/a-wtflau.ads: Likewise.
8823 * libgnat/a-wtflio.adb: Likewise.
8824 * libgnat/a-wtgeau.adb: Likewise.
8825 * libgnat/a-wtgeau.ads: Likewise.
8826 * libgnat/a-wtinau.adb: Likewise.
8827 * libgnat/a-wtinau.ads: Likewise.
8828 * libgnat/a-wtinio.adb: Likewise.
8829 * libgnat/a-wtinio__128.adb: Likewise.
8830 * libgnat/a-wtmoio.adb: Likewise.
8831 * libgnat/a-wtmoio.ads: Likewise.
8832 * libgnat/a-wtmoio__128.adb: Likewise.
8833 * libgnat/a-wttest.adb: Likewise.
8834 * libgnat/a-wwboio.adb: Likewise.
8835 * libgnat/a-zchhan.adb: Likewise.
8836 * libgnat/a-zchuni.adb: Likewise.
8837 * libgnat/a-zchuni.ads: Likewise.
8838 * libgnat/a-zrstfi.adb: Likewise.
8839 * libgnat/a-zrstfi.ads: Likewise.
8840 * libgnat/a-ztcoau.adb: Likewise.
8841 * libgnat/a-ztcoio.adb: Likewise.
8842 * libgnat/a-ztcstr.adb: Likewise.
8843 * libgnat/a-ztcstr.ads: Likewise.
8844 * libgnat/a-ztdeau.adb: Likewise.
8845 * libgnat/a-ztdeau.ads: Likewise.
8846 * libgnat/a-ztdeio.adb: Likewise.
8847 * libgnat/a-ztdeio__128.adb: Likewise.
8848 * libgnat/a-ztedit.adb: Likewise.
8849 * libgnat/a-ztedit.ads: Likewise.
8850 * libgnat/a-ztenau.adb: Likewise.
8851 * libgnat/a-ztenau.ads: Likewise.
8852 * libgnat/a-ztenio.adb: Likewise.
8853 * libgnat/a-ztexio.adb: Likewise.
8854 * libgnat/a-ztexio.ads: Likewise.
8855 * libgnat/a-ztfiau.adb: Likewise.
8856 * libgnat/a-ztfiau.ads: Likewise.
8857 * libgnat/a-ztfiio.adb: Likewise.
8858 * libgnat/a-ztfiio__128.adb: Likewise.
8859 * libgnat/a-ztflau.adb: Likewise.
8860 * libgnat/a-ztflau.ads: Likewise.
8861 * libgnat/a-ztflio.adb: Likewise.
8862 * libgnat/a-ztgeau.adb: Likewise.
8863 * libgnat/a-ztgeau.ads: Likewise.
8864 * libgnat/a-ztinau.adb: Likewise.
8865 * libgnat/a-ztinau.ads: Likewise.
8866 * libgnat/a-ztinio.adb: Likewise.
8867 * libgnat/a-ztinio__128.adb: Likewise.
8868 * libgnat/a-ztmoio.adb: Likewise.
8869 * libgnat/a-ztmoio__128.adb: Likewise.
8870 * libgnat/a-zttest.adb: Likewise.
8871 * libgnat/a-zzboio.adb: Likewise.
8872 * libgnat/g-allein.ads: Likewise.
8873 * libgnat/g-alleve.adb: Likewise.
8874 * libgnat/g-alleve.ads: Likewise.
8875 * libgnat/g-alleve__hard.adb: Likewise.
8876 * libgnat/g-alleve__hard.ads: Likewise.
8877 * libgnat/g-altcon.adb: Likewise.
8878 * libgnat/g-altcon.ads: Likewise.
8879 * libgnat/g-altive.ads: Likewise.
8880 * libgnat/g-alveop.adb: Likewise.
8881 * libgnat/g-alveop.ads: Likewise.
8882 * libgnat/g-alvety.ads: Likewise.
8883 * libgnat/g-alvevi.ads: Likewise.
8884 * libgnat/g-arrspl.adb: Likewise.
8885 * libgnat/g-arrspl.ads: Likewise.
8886 * libgnat/g-awk.adb: Likewise.
8887 * libgnat/g-awk.ads: Likewise.
8888 * libgnat/g-binenv.adb: Likewise.
8889 * libgnat/g-binenv.ads: Likewise.
8890 * libgnat/g-brapre.ads: Likewise.
8891 * libgnat/g-bubsor.adb: Likewise.
8892 * libgnat/g-bubsor.ads: Likewise.
8893 * libgnat/g-busora.adb: Likewise.
8894 * libgnat/g-busora.ads: Likewise.
8895 * libgnat/g-busorg.adb: Likewise.
8896 * libgnat/g-busorg.ads: Likewise.
8897 * libgnat/g-byorma.adb: Likewise.
8898 * libgnat/g-byorma.ads: Likewise.
8899 * libgnat/g-bytswa.adb: Likewise.
8900 * libgnat/g-bytswa.ads: Likewise.
8901 * libgnat/g-calend.adb: Likewise.
8902 * libgnat/g-calend.ads: Likewise.
8903 * libgnat/g-casuti.adb: Likewise.
8904 * libgnat/g-casuti.ads: Likewise.
8905 * libgnat/g-catiio.adb: Likewise.
8906 * libgnat/g-catiio.ads: Likewise.
8907 * libgnat/g-cgi.adb: Likewise.
8908 * libgnat/g-cgi.ads: Likewise.
8909 * libgnat/g-cgicoo.adb: Likewise.
8910 * libgnat/g-cgicoo.ads: Likewise.
8911 * libgnat/g-cgideb.adb: Likewise.
8912 * libgnat/g-cgideb.ads: Likewise.
8913 * libgnat/g-comlin.adb: Likewise.
8914 * libgnat/g-comlin.ads: Likewise.
8915 * libgnat/g-comver.adb: Likewise.
8916 * libgnat/g-comver.ads: Likewise.
8917 * libgnat/g-cppexc.adb: Likewise.
8918 * libgnat/g-cppexc.ads: Likewise.
8919 * libgnat/g-crc32.adb: Likewise.
8920 * libgnat/g-crc32.ads: Likewise.
8921 * libgnat/g-ctrl_c.adb: Likewise.
8922 * libgnat/g-ctrl_c.ads: Likewise.
8923 * libgnat/g-curexc.ads: Likewise.
8924 * libgnat/g-debpoo.adb: Likewise.
8925 * libgnat/g-debpoo.ads: Likewise.
8926 * libgnat/g-debuti.adb: Likewise.
8927 * libgnat/g-debuti.ads: Likewise.
8928 * libgnat/g-decstr.adb: Likewise.
8929 * libgnat/g-decstr.ads: Likewise.
8930 * libgnat/g-deutst.ads: Likewise.
8931 * libgnat/g-diopit.adb: Likewise.
8932 * libgnat/g-diopit.ads: Likewise.
8933 * libgnat/g-dirope.adb: Likewise.
8934 * libgnat/g-dirope.ads: Likewise.
8935 * libgnat/g-dynhta.adb: Likewise.
8936 * libgnat/g-dynhta.ads: Likewise.
8937 * libgnat/g-dyntab.adb: Likewise.
8938 * libgnat/g-dyntab.ads: Likewise.
8939 * libgnat/g-eacodu.adb: Likewise.
8940 * libgnat/g-encstr.adb: Likewise.
8941 * libgnat/g-encstr.ads: Likewise.
8942 * libgnat/g-enutst.ads: Likewise.
8943 * libgnat/g-excact.adb: Likewise.
8944 * libgnat/g-excact.ads: Likewise.
8945 * libgnat/g-except.ads: Likewise.
8946 * libgnat/g-exctra.adb: Likewise.
8947 * libgnat/g-exctra.ads: Likewise.
8948 * libgnat/g-expect.adb: Likewise.
8949 * libgnat/g-expect.ads: Likewise.
8950 * libgnat/g-exptty.adb: Likewise.
8951 * libgnat/g-exptty.ads: Likewise.
8952 * libgnat/g-flocon.ads: Likewise.
8953 * libgnat/g-forstr.adb: Likewise.
8954 * libgnat/g-forstr.ads: Likewise.
8955 * libgnat/g-graphs.adb: Likewise.
8956 * libgnat/g-graphs.ads: Likewise.
8957 * libgnat/g-heasor.adb: Likewise.
8958 * libgnat/g-heasor.ads: Likewise.
8959 * libgnat/g-hesora.adb: Likewise.
8960 * libgnat/g-hesora.ads: Likewise.
8961 * libgnat/g-hesorg.adb: Likewise.
8962 * libgnat/g-hesorg.ads: Likewise.
8963 * libgnat/g-htable.adb: Likewise.
8964 * libgnat/g-htable.ads: Likewise.
8965 * libgnat/g-io-put__vxworks.adb: Likewise.
8966 * libgnat/g-io.adb: Likewise.
8967 * libgnat/g-io.ads: Likewise.
8968 * libgnat/g-io_aux.adb: Likewise.
8969 * libgnat/g-io_aux.ads: Likewise.
8970 * libgnat/g-lists.adb: Likewise.
8971 * libgnat/g-lists.ads: Likewise.
8972 * libgnat/g-locfil.adb: Likewise.
8973 * libgnat/g-locfil.ads: Likewise.
8974 * libgnat/g-mbdira.adb: Likewise.
8975 * libgnat/g-mbdira.ads: Likewise.
8976 * libgnat/g-mbflra.adb: Likewise.
8977 * libgnat/g-mbflra.ads: Likewise.
8978 * libgnat/g-md5.adb: Likewise.
8979 * libgnat/g-md5.ads: Likewise.
8980 * libgnat/g-memdum.adb: Likewise.
8981 * libgnat/g-memdum.ads: Likewise.
8982 * libgnat/g-moreex.adb: Likewise.
8983 * libgnat/g-moreex.ads: Likewise.
8984 * libgnat/g-os_lib.adb: Likewise.
8985 * libgnat/g-os_lib.ads: Likewise.
8986 * libgnat/g-pehage.adb: Likewise.
8987 * libgnat/g-pehage.ads: Likewise.
8988 * libgnat/g-rannum.adb: Likewise.
8989 * libgnat/g-rannum.ads: Likewise.
8990 * libgnat/g-regexp.adb: Likewise.
8991 * libgnat/g-regexp.ads: Likewise.
8992 * libgnat/g-regist.adb: Likewise.
8993 * libgnat/g-regist.ads: Likewise.
8994 * libgnat/g-regpat.adb: Likewise.
8995 * libgnat/g-regpat.ads: Likewise.
8996 * libgnat/g-rewdat.adb: Likewise.
8997 * libgnat/g-rewdat.ads: Likewise.
8998 * libgnat/g-sechas.adb: Likewise.
8999 * libgnat/g-sechas.ads: Likewise.
9000 * libgnat/g-sehamd.adb: Likewise.
9001 * libgnat/g-sehamd.ads: Likewise.
9002 * libgnat/g-sehash.adb: Likewise.
9003 * libgnat/g-sehash.ads: Likewise.
9004 * libgnat/g-sercom.adb: Likewise.
9005 * libgnat/g-sercom.ads: Likewise.
9006 * libgnat/g-sercom__linux.adb: Likewise.
9007 * libgnat/g-sercom__mingw.adb: Likewise.
9008 * libgnat/g-sestin.ads: Likewise.
9009 * libgnat/g-sets.adb: Likewise.
9010 * libgnat/g-sets.ads: Likewise.
9011 * libgnat/g-sha1.adb: Likewise.
9012 * libgnat/g-sha1.ads: Likewise.
9013 * libgnat/g-sha224.ads: Likewise.
9014 * libgnat/g-sha256.ads: Likewise.
9015 * libgnat/g-sha384.ads: Likewise.
9016 * libgnat/g-sha512.ads: Likewise.
9017 * libgnat/g-shsh32.adb: Likewise.
9018 * libgnat/g-shsh32.ads: Likewise.
9019 * libgnat/g-shsh64.adb: Likewise.
9020 * libgnat/g-shsh64.ads: Likewise.
9021 * libgnat/g-shshco.adb: Likewise.
9022 * libgnat/g-shshco.ads: Likewise.
9023 * libgnat/g-soccon.ads: Likewise.
9024 * libgnat/g-socket.adb: Likewise.
9025 * libgnat/g-socket.ads: Likewise.
9026 * libgnat/g-socket__dummy.adb: Likewise.
9027 * libgnat/g-socket__dummy.ads: Likewise.
9028 * libgnat/g-socpol.adb: Likewise.
9029 * libgnat/g-socpol.ads: Likewise.
9030 * libgnat/g-socpol__dummy.adb: Likewise.
9031 * libgnat/g-socpol__dummy.ads: Likewise.
9032 * libgnat/g-socthi.adb: Likewise.
9033 * libgnat/g-socthi.ads: Likewise.
9034 * libgnat/g-socthi__dummy.adb: Likewise.
9035 * libgnat/g-socthi__dummy.ads: Likewise.
9036 * libgnat/g-socthi__mingw.adb: Likewise.
9037 * libgnat/g-socthi__mingw.ads: Likewise.
9038 * libgnat/g-socthi__vxworks.adb: Likewise.
9039 * libgnat/g-socthi__vxworks.ads: Likewise.
9040 * libgnat/g-soliop.ads: Likewise.
9041 * libgnat/g-soliop__lynxos.ads: Likewise.
9042 * libgnat/g-soliop__mingw.ads: Likewise.
9043 * libgnat/g-soliop__qnx.ads: Likewise.
9044 * libgnat/g-soliop__solaris.ads: Likewise.
9045 * libgnat/g-sopowa.adb: Likewise.
9046 * libgnat/g-sopowa__mingw.adb: Likewise.
9047 * libgnat/g-sopowa__posix.adb: Likewise.
9048 * libgnat/g-sothco.adb: Likewise.
9049 * libgnat/g-sothco.ads: Likewise.
9050 * libgnat/g-sothco__dummy.adb: Likewise.
9051 * libgnat/g-sothco__dummy.ads: Likewise.
9052 * libgnat/g-souinf.ads: Likewise.
9053 * libgnat/g-spchge.adb: Likewise.
9054 * libgnat/g-spchge.ads: Likewise.
9055 * libgnat/g-speche.adb: Likewise.
9056 * libgnat/g-speche.ads: Likewise.
9057 * libgnat/g-spipat.adb: Likewise.
9058 * libgnat/g-spipat.ads: Likewise.
9059 * libgnat/g-spitbo.adb: Likewise.
9060 * libgnat/g-spitbo.ads: Likewise.
9061 * libgnat/g-spogwa.adb: Likewise.
9062 * libgnat/g-spogwa.ads: Likewise.
9063 * libgnat/g-sptabo.ads: Likewise.
9064 * libgnat/g-sptain.ads: Likewise.
9065 * libgnat/g-sptavs.ads: Likewise.
9066 * libgnat/g-sse.ads: Likewise.
9067 * libgnat/g-ssvety.ads: Likewise.
9068 * libgnat/g-sthcso.adb: Likewise.
9069 * libgnat/g-stheme.adb: Likewise.
9070 * libgnat/g-strhas.ads: Likewise.
9071 * libgnat/g-string.adb: Likewise.
9072 * libgnat/g-string.ads: Likewise.
9073 * libgnat/g-strspl.ads: Likewise.
9074 * libgnat/g-stseme.adb: Likewise.
9075 * libgnat/g-stsifd__sockets.adb: Likewise.
9076 * libgnat/g-table.adb: Likewise.
9077 * libgnat/g-table.ads: Likewise.
9078 * libgnat/g-tasloc.adb: Likewise.
9079 * libgnat/g-tasloc.ads: Likewise.
9080 * libgnat/g-timsta.adb: Likewise.
9081 * libgnat/g-timsta.ads: Likewise.
9082 * libgnat/g-traceb.adb: Likewise.
9083 * libgnat/g-traceb.ads: Likewise.
9084 * libgnat/g-trasym.adb: Likewise.
9085 * libgnat/g-trasym.ads: Likewise.
9086 * libgnat/g-tty.adb: Likewise.
9087 * libgnat/g-tty.ads: Likewise.
9088 * libgnat/g-u3spch.adb: Likewise.
9089 * libgnat/g-u3spch.ads: Likewise.
9090 * libgnat/g-utf_32.adb: Likewise.
9091 * libgnat/g-utf_32.ads: Likewise.
9092 * libgnat/g-wispch.adb: Likewise.
9093 * libgnat/g-wispch.ads: Likewise.
9094 * libgnat/g-wistsp.ads: Likewise.
9095 * libgnat/g-zspche.adb: Likewise.
9096 * libgnat/g-zspche.ads: Likewise.
9097 * libgnat/g-zstspl.ads: Likewise.
9098 * libgnat/gnat.ads: Likewise.
9099 * libgnat/i-c.adb: Likewise.
9100 * libgnat/i-cexten.ads: Likewise.
9101 * libgnat/i-cexten__128.ads: Likewise.
9102 * libgnat/i-cobol.adb: Likewise.
9103 * libgnat/i-cobol.ads: Likewise.
9104 * libgnat/i-cpoint.adb: Likewise.
9105 * libgnat/i-cpoint.ads: Likewise.
9106 * libgnat/i-cstrea.adb: Likewise.
9107 * libgnat/i-cstrea.ads: Likewise.
9108 * libgnat/i-cstrin.adb: Likewise.
9109 * libgnat/i-cstrin.ads: Likewise.
9110 * libgnat/i-fortra.adb: Likewise.
9111 * libgnat/i-pacdec.adb: Likewise.
9112 * libgnat/i-pacdec.ads: Likewise.
9113 * libgnat/i-vxwoio.adb: Likewise.
9114 * libgnat/i-vxwoio.ads: Likewise.
9115 * libgnat/i-vxwork.ads: Likewise.
9116 * libgnat/i-vxwork__x86.ads: Likewise.
9117 * libgnat/interfac.ads: Likewise.
9118 * libgnat/interfac__2020.ads: Likewise.
9119 * libgnat/memtrack.adb: Likewise.
9120 * libgnat/s-addima.adb: Likewise.
9121 * libgnat/s-addima.ads: Likewise.
9122 * libgnat/s-addope.adb: Likewise.
9123 * libgnat/s-addope.ads: Likewise.
9124 * libgnat/s-aoinar.adb: Likewise.
9125 * libgnat/s-aoinar.ads: Likewise.
9126 * libgnat/s-aomoar.adb: Likewise.
9127 * libgnat/s-aomoar.ads: Likewise.
9128 * libgnat/s-aotase.adb: Likewise.
9129 * libgnat/s-aotase.ads: Likewise.
9130 * libgnat/s-aridou.adb: Likewise.
9131 * libgnat/s-aridou.ads: Likewise.
9132 * libgnat/s-arit128.adb: Likewise.
9133 * libgnat/s-arit128.ads: Likewise.
9134 * libgnat/s-arit32.adb: Likewise.
9135 * libgnat/s-arit32.ads: Likewise.
9136 * libgnat/s-arit64.adb: Likewise.
9137 * libgnat/s-arit64.ads: Likewise.
9138 * libgnat/s-assert.adb: Likewise.
9139 * libgnat/s-assert.ads: Likewise.
9140 * libgnat/s-atacco.adb: Likewise.
9141 * libgnat/s-atacco.ads: Likewise.
9142 * libgnat/s-atocou.adb: Likewise.
9143 * libgnat/s-atocou.ads: Likewise.
9144 * libgnat/s-atocou__builtin.adb: Likewise.
9145 * libgnat/s-atocou__x86.adb: Likewise.
9146 * libgnat/s-atoope.ads: Likewise.
9147 * libgnat/s-atopex.adb: Likewise.
9148 * libgnat/s-atopex.ads: Likewise.
9149 * libgnat/s-atopri.adb: Likewise.
9150 * libgnat/s-atopri.ads: Likewise.
9151 * libgnat/s-auxdec.adb: Likewise.
9152 * libgnat/s-auxdec.ads: Likewise.
9153 * libgnat/s-bignum.adb: Likewise.
9154 * libgnat/s-bignum.ads: Likewise.
9155 * libgnat/s-bitfie.ads: Likewise.
9156 * libgnat/s-bitops.adb: Likewise.
9157 * libgnat/s-bitops.ads: Likewise.
9158 * libgnat/s-bituti.adb: Likewise.
9159 * libgnat/s-bituti.ads: Likewise.
9160 * libgnat/s-boarop.ads: Likewise.
9161 * libgnat/s-boustr.adb: Likewise.
9162 * libgnat/s-boustr.ads: Likewise.
9163 * libgnat/s-bytswa.ads: Likewise.
9164 * libgnat/s-carsi8.adb: Likewise.
9165 * libgnat/s-carsi8.ads: Likewise.
9166 * libgnat/s-carun8.adb: Likewise.
9167 * libgnat/s-carun8.ads: Likewise.
9168 * libgnat/s-casi128.adb: Likewise.
9169 * libgnat/s-casi128.ads: Likewise.
9170 * libgnat/s-casi16.adb: Likewise.
9171 * libgnat/s-casi16.ads: Likewise.
9172 * libgnat/s-casi32.adb: Likewise.
9173 * libgnat/s-casi32.ads: Likewise.
9174 * libgnat/s-casi64.adb: Likewise.
9175 * libgnat/s-casi64.ads: Likewise.
9176 * libgnat/s-casuti.adb: Likewise.
9177 * libgnat/s-casuti.ads: Likewise.
9178 * libgnat/s-caun128.adb: Likewise.
9179 * libgnat/s-caun128.ads: Likewise.
9180 * libgnat/s-caun16.adb: Likewise.
9181 * libgnat/s-caun16.ads: Likewise.
9182 * libgnat/s-caun32.adb: Likewise.
9183 * libgnat/s-caun32.ads: Likewise.
9184 * libgnat/s-caun64.adb: Likewise.
9185 * libgnat/s-caun64.ads: Likewise.
9186 * libgnat/s-chepoo.ads: Likewise.
9187 * libgnat/s-commun.adb: Likewise.
9188 * libgnat/s-commun.ads: Likewise.
9189 * libgnat/s-conca2.adb: Likewise.
9190 * libgnat/s-conca2.ads: Likewise.
9191 * libgnat/s-conca3.adb: Likewise.
9192 * libgnat/s-conca3.ads: Likewise.
9193 * libgnat/s-conca4.adb: Likewise.
9194 * libgnat/s-conca4.ads: Likewise.
9195 * libgnat/s-conca5.adb: Likewise.
9196 * libgnat/s-conca5.ads: Likewise.
9197 * libgnat/s-conca6.adb: Likewise.
9198 * libgnat/s-conca6.ads: Likewise.
9199 * libgnat/s-conca7.adb: Likewise.
9200 * libgnat/s-conca7.ads: Likewise.
9201 * libgnat/s-conca8.adb: Likewise.
9202 * libgnat/s-conca8.ads: Likewise.
9203 * libgnat/s-conca9.adb: Likewise.
9204 * libgnat/s-conca9.ads: Likewise.
9205 * libgnat/s-crc32.adb: Likewise.
9206 * libgnat/s-crc32.ads: Likewise.
9207 * libgnat/s-crtl.ads: Likewise.
9208 * libgnat/s-dfmkio.ads: Likewise.
9209 * libgnat/s-dfmopr.ads: Likewise.
9210 * libgnat/s-dgmgop.ads: Likewise.
9211 * libgnat/s-diflio.adb: Likewise.
9212 * libgnat/s-diflio.ads: Likewise.
9213 * libgnat/s-diflmk.ads: Likewise.
9214 * libgnat/s-digemk.ads: Likewise.
9215 * libgnat/s-diinio.adb: Likewise.
9216 * libgnat/s-diinio.ads: Likewise.
9217 * libgnat/s-dilomk.ads: Likewise.
9218 * libgnat/s-dim.ads: Likewise.
9219 * libgnat/s-dimkio.ads: Likewise.
9220 * libgnat/s-dimmks.ads: Likewise.
9221 * libgnat/s-direio.adb: Likewise.
9222 * libgnat/s-direio.ads: Likewise.
9223 * libgnat/s-dlmkio.ads: Likewise.
9224 * libgnat/s-dlmopr.ads: Likewise.
9225 * libgnat/s-dmotpr.ads: Likewise.
9226 * libgnat/s-dsaser.ads: Likewise.
9227 * libgnat/s-dwalin.adb: Likewise.
9228 * libgnat/s-dwalin.ads: Likewise.
9229 * libgnat/s-elaall.adb: Likewise.
9230 * libgnat/s-elaall.ads: Likewise.
9231 * libgnat/s-excdeb.adb: Likewise.
9232 * libgnat/s-excdeb.ads: Likewise.
9233 * libgnat/s-except.adb: Likewise.
9234 * libgnat/s-except.ads: Likewise.
9235 * libgnat/s-excmac__arm.adb: Likewise.
9236 * libgnat/s-excmac__arm.ads: Likewise.
9237 * libgnat/s-excmac__gcc.adb: Likewise.
9238 * libgnat/s-excmac__gcc.ads: Likewise.
9239 * libgnat/s-exctab.adb: Likewise.
9240 * libgnat/s-exctab.ads: Likewise.
9241 * libgnat/s-exctra.adb: Likewise.
9242 * libgnat/s-exctra.ads: Likewise.
9243 * libgnat/s-exnint.adb: Likewise.
9244 * libgnat/s-exnint.ads: Likewise.
9245 * libgnat/s-exnllf.adb: Likewise.
9246 * libgnat/s-exnllf.ads: Likewise.
9247 * libgnat/s-exnlli.adb: Likewise.
9248 * libgnat/s-exnlli.ads: Likewise.
9249 * libgnat/s-exnllli.ads: Likewise.
9250 * libgnat/s-expint.adb: Likewise.
9251 * libgnat/s-expint.ads: Likewise.
9252 * libgnat/s-explli.adb: Likewise.
9253 * libgnat/s-explli.ads: Likewise.
9254 * libgnat/s-expllli.ads: Likewise.
9255 * libgnat/s-explllu.ads: Likewise.
9256 * libgnat/s-expllu.adb: Likewise.
9257 * libgnat/s-expllu.ads: Likewise.
9258 * libgnat/s-expmod.adb: Likewise.
9259 * libgnat/s-expmod.ads: Likewise.
9260 * libgnat/s-exponn.adb: Likewise.
9261 * libgnat/s-exponn.ads: Likewise.
9262 * libgnat/s-expont.adb: Likewise.
9263 * libgnat/s-expont.ads: Likewise.
9264 * libgnat/s-exponu.adb: Likewise.
9265 * libgnat/s-exponu.ads: Likewise.
9266 * libgnat/s-expuns.adb: Likewise.
9267 * libgnat/s-expuns.ads: Likewise.
9268 * libgnat/s-fatflt.ads: Likewise.
9269 * libgnat/s-fatgen.adb: Likewise.
9270 * libgnat/s-fatgen.ads: Likewise.
9271 * libgnat/s-fatlfl.ads: Likewise.
9272 * libgnat/s-fatllf.ads: Likewise.
9273 * libgnat/s-ficobl.ads: Likewise.
9274 * libgnat/s-filatt.ads: Likewise.
9275 * libgnat/s-fileio.adb: Likewise.
9276 * libgnat/s-fileio.ads: Likewise.
9277 * libgnat/s-finmas.adb: Likewise.
9278 * libgnat/s-finmas.ads: Likewise.
9279 * libgnat/s-finroo.adb: Likewise.
9280 * libgnat/s-finroo.ads: Likewise.
9281 * libgnat/s-flocon.adb: Likewise.
9282 * libgnat/s-flocon.ads: Likewise.
9283 * libgnat/s-flocon__none.adb: Likewise.
9284 * libgnat/s-fode128.ads: Likewise.
9285 * libgnat/s-fode32.ads: Likewise.
9286 * libgnat/s-fode64.ads: Likewise.
9287 * libgnat/s-fofi128.ads: Likewise.
9288 * libgnat/s-fofi32.ads: Likewise.
9289 * libgnat/s-fofi64.ads: Likewise.
9290 * libgnat/s-fore_d.adb: Likewise.
9291 * libgnat/s-fore_d.ads: Likewise.
9292 * libgnat/s-fore_f.adb: Likewise.
9293 * libgnat/s-fore_f.ads: Likewise.
9294 * libgnat/s-forrea.adb: Likewise.
9295 * libgnat/s-forrea.ads: Likewise.
9296 * libgnat/s-gearop.adb: Likewise.
9297 * libgnat/s-gearop.ads: Likewise.
9298 * libgnat/s-genbig.adb: Likewise.
9299 * libgnat/s-genbig.ads: Likewise.
9300 * libgnat/s-geveop.adb: Likewise.
9301 * libgnat/s-geveop.ads: Likewise.
9302 * libgnat/s-gloloc.adb: Likewise.
9303 * libgnat/s-gloloc.ads: Likewise.
9304 * libgnat/s-gloloc__mingw.adb: Likewise.
9305 * libgnat/s-htable.adb: Likewise.
9306 * libgnat/s-htable.ads: Likewise.
9307 * libgnat/s-imageb.adb: Likewise.
9308 * libgnat/s-imageb.ads: Likewise.
9309 * libgnat/s-imaged.adb: Likewise.
9310 * libgnat/s-imaged.ads: Likewise.
9311 * libgnat/s-imagef.adb: Likewise.
9312 * libgnat/s-imagef.ads: Likewise.
9313 * libgnat/s-imagei.adb: Likewise.
9314 * libgnat/s-imagei.ads: Likewise.
9315 * libgnat/s-imageu.adb: Likewise.
9316 * libgnat/s-imageu.ads: Likewise.
9317 * libgnat/s-imagew.adb: Likewise.
9318 * libgnat/s-imagew.ads: Likewise.
9319 * libgnat/s-imde128.ads: Likewise.
9320 * libgnat/s-imde32.ads: Likewise.
9321 * libgnat/s-imde64.ads: Likewise.
9322 * libgnat/s-imenne.adb: Likewise.
9323 * libgnat/s-imenne.ads: Likewise.
9324 * libgnat/s-imfi128.ads: Likewise.
9325 * libgnat/s-imfi32.ads: Likewise.
9326 * libgnat/s-imfi64.ads: Likewise.
9327 * libgnat/s-imgbiu.adb: Likewise.
9328 * libgnat/s-imgbiu.ads: Likewise.
9329 * libgnat/s-imgboo.adb: Likewise.
9330 * libgnat/s-imgboo.ads: Likewise.
9331 * libgnat/s-imgcha.adb: Likewise.
9332 * libgnat/s-imgcha.ads: Likewise.
9333 * libgnat/s-imgenu.adb: Likewise.
9334 * libgnat/s-imgenu.ads: Likewise.
9335 * libgnat/s-imgint.adb: Likewise.
9336 * libgnat/s-imgint.ads: Likewise.
9337 * libgnat/s-imgllb.adb: Likewise.
9338 * libgnat/s-imgllb.ads: Likewise.
9339 * libgnat/s-imglli.adb: Likewise.
9340 * libgnat/s-imglli.ads: Likewise.
9341 * libgnat/s-imglllb.ads: Likewise.
9342 * libgnat/s-imgllli.ads: Likewise.
9343 * libgnat/s-imglllu.ads: Likewise.
9344 * libgnat/s-imglllw.ads: Likewise.
9345 * libgnat/s-imgllu.adb: Likewise.
9346 * libgnat/s-imgllu.ads: Likewise.
9347 * libgnat/s-imgllw.adb: Likewise.
9348 * libgnat/s-imgllw.ads: Likewise.
9349 * libgnat/s-imgrea.adb: Likewise.
9350 * libgnat/s-imgrea.ads: Likewise.
9351 * libgnat/s-imguns.adb: Likewise.
9352 * libgnat/s-imguns.ads: Likewise.
9353 * libgnat/s-imguti.adb: Likewise.
9354 * libgnat/s-imguti.ads: Likewise.
9355 * libgnat/s-imgwch.adb: Likewise.
9356 * libgnat/s-imgwch.ads: Likewise.
9357 * libgnat/s-imgwiu.adb: Likewise.
9358 * libgnat/s-imgwiu.ads: Likewise.
9359 * libgnat/s-io.adb: Likewise.
9360 * libgnat/s-io.ads: Likewise.
9361 * libgnat/s-llflex.ads: Likewise.
9362 * libgnat/s-maccod.ads: Likewise.
9363 * libgnat/s-mantis.adb: Likewise.
9364 * libgnat/s-mantis.ads: Likewise.
9365 * libgnat/s-mastop.adb: Likewise.
9366 * libgnat/s-mastop.ads: Likewise.
9367 * libgnat/s-memcop.ads: Likewise.
9368 * libgnat/s-memory.adb: Likewise.
9369 * libgnat/s-memory.ads: Likewise.
9370 * libgnat/s-mmap.adb: Likewise.
9371 * libgnat/s-mmap.ads: Likewise.
9372 * libgnat/s-mmauni__long.ads: Likewise.
9373 * libgnat/s-mmosin__mingw.adb: Likewise.
9374 * libgnat/s-mmosin__mingw.ads: Likewise.
9375 * libgnat/s-mmosin__unix.adb: Likewise.
9376 * libgnat/s-mmosin__unix.ads: Likewise.
9377 * libgnat/s-multip.adb: Likewise.
9378 * libgnat/s-objrea.adb: Likewise.
9379 * libgnat/s-objrea.ads: Likewise.
9380 * libgnat/s-optide.adb: Likewise.
9381 * libgnat/s-os_lib.adb: Likewise.
9382 * libgnat/s-os_lib.ads: Likewise.
9383 * libgnat/s-osprim.ads: Likewise.
9384 * libgnat/s-osprim__darwin.adb: Likewise.
9385 * libgnat/s-osprim__lynxos.ads: Likewise.
9386 * libgnat/s-osprim__mingw.adb: Likewise.
9387 * libgnat/s-osprim__posix.adb: Likewise.
9388 * libgnat/s-osprim__posix2008.adb: Likewise.
9389 * libgnat/s-osprim__rtems.adb: Likewise.
9390 * libgnat/s-osprim__solaris.adb: Likewise.
9391 * libgnat/s-osprim__unix.adb: Likewise.
9392 * libgnat/s-osprim__vxworks.adb: Likewise.
9393 * libgnat/s-osprim__x32.adb: Likewise.
9394 * libgnat/s-osvers__vxworks-653.ads: Likewise.
9395 * libgnat/s-pack03.adb: Likewise.
9396 * libgnat/s-pack03.ads: Likewise.
9397 * libgnat/s-pack05.adb: Likewise.
9398 * libgnat/s-pack05.ads: Likewise.
9399 * libgnat/s-pack06.adb: Likewise.
9400 * libgnat/s-pack06.ads: Likewise.
9401 * libgnat/s-pack07.adb: Likewise.
9402 * libgnat/s-pack07.ads: Likewise.
9403 * libgnat/s-pack09.adb: Likewise.
9404 * libgnat/s-pack09.ads: Likewise.
9405 * libgnat/s-pack10.adb: Likewise.
9406 * libgnat/s-pack10.ads: Likewise.
9407 * libgnat/s-pack100.adb: Likewise.
9408 * libgnat/s-pack100.ads: Likewise.
9409 * libgnat/s-pack101.adb: Likewise.
9410 * libgnat/s-pack101.ads: Likewise.
9411 * libgnat/s-pack102.adb: Likewise.
9412 * libgnat/s-pack102.ads: Likewise.
9413 * libgnat/s-pack103.adb: Likewise.
9414 * libgnat/s-pack103.ads: Likewise.
9415 * libgnat/s-pack104.adb: Likewise.
9416 * libgnat/s-pack104.ads: Likewise.
9417 * libgnat/s-pack105.adb: Likewise.
9418 * libgnat/s-pack105.ads: Likewise.
9419 * libgnat/s-pack106.adb: Likewise.
9420 * libgnat/s-pack106.ads: Likewise.
9421 * libgnat/s-pack107.adb: Likewise.
9422 * libgnat/s-pack107.ads: Likewise.
9423 * libgnat/s-pack108.adb: Likewise.
9424 * libgnat/s-pack108.ads: Likewise.
9425 * libgnat/s-pack109.adb: Likewise.
9426 * libgnat/s-pack109.ads: Likewise.
9427 * libgnat/s-pack11.adb: Likewise.
9428 * libgnat/s-pack11.ads: Likewise.
9429 * libgnat/s-pack110.adb: Likewise.
9430 * libgnat/s-pack110.ads: Likewise.
9431 * libgnat/s-pack111.adb: Likewise.
9432 * libgnat/s-pack111.ads: Likewise.
9433 * libgnat/s-pack112.adb: Likewise.
9434 * libgnat/s-pack112.ads: Likewise.
9435 * libgnat/s-pack113.adb: Likewise.
9436 * libgnat/s-pack113.ads: Likewise.
9437 * libgnat/s-pack114.adb: Likewise.
9438 * libgnat/s-pack114.ads: Likewise.
9439 * libgnat/s-pack115.adb: Likewise.
9440 * libgnat/s-pack115.ads: Likewise.
9441 * libgnat/s-pack116.adb: Likewise.
9442 * libgnat/s-pack116.ads: Likewise.
9443 * libgnat/s-pack117.adb: Likewise.
9444 * libgnat/s-pack117.ads: Likewise.
9445 * libgnat/s-pack118.adb: Likewise.
9446 * libgnat/s-pack118.ads: Likewise.
9447 * libgnat/s-pack119.adb: Likewise.
9448 * libgnat/s-pack119.ads: Likewise.
9449 * libgnat/s-pack12.adb: Likewise.
9450 * libgnat/s-pack12.ads: Likewise.
9451 * libgnat/s-pack120.adb: Likewise.
9452 * libgnat/s-pack120.ads: Likewise.
9453 * libgnat/s-pack121.adb: Likewise.
9454 * libgnat/s-pack121.ads: Likewise.
9455 * libgnat/s-pack122.adb: Likewise.
9456 * libgnat/s-pack122.ads: Likewise.
9457 * libgnat/s-pack123.adb: Likewise.
9458 * libgnat/s-pack123.ads: Likewise.
9459 * libgnat/s-pack124.adb: Likewise.
9460 * libgnat/s-pack124.ads: Likewise.
9461 * libgnat/s-pack125.adb: Likewise.
9462 * libgnat/s-pack125.ads: Likewise.
9463 * libgnat/s-pack126.adb: Likewise.
9464 * libgnat/s-pack126.ads: Likewise.
9465 * libgnat/s-pack127.adb: Likewise.
9466 * libgnat/s-pack127.ads: Likewise.
9467 * libgnat/s-pack13.adb: Likewise.
9468 * libgnat/s-pack13.ads: Likewise.
9469 * libgnat/s-pack14.adb: Likewise.
9470 * libgnat/s-pack14.ads: Likewise.
9471 * libgnat/s-pack15.adb: Likewise.
9472 * libgnat/s-pack15.ads: Likewise.
9473 * libgnat/s-pack17.adb: Likewise.
9474 * libgnat/s-pack17.ads: Likewise.
9475 * libgnat/s-pack18.adb: Likewise.
9476 * libgnat/s-pack18.ads: Likewise.
9477 * libgnat/s-pack19.adb: Likewise.
9478 * libgnat/s-pack19.ads: Likewise.
9479 * libgnat/s-pack20.adb: Likewise.
9480 * libgnat/s-pack20.ads: Likewise.
9481 * libgnat/s-pack21.adb: Likewise.
9482 * libgnat/s-pack21.ads: Likewise.
9483 * libgnat/s-pack22.adb: Likewise.
9484 * libgnat/s-pack22.ads: Likewise.
9485 * libgnat/s-pack23.adb: Likewise.
9486 * libgnat/s-pack23.ads: Likewise.
9487 * libgnat/s-pack24.adb: Likewise.
9488 * libgnat/s-pack24.ads: Likewise.
9489 * libgnat/s-pack25.adb: Likewise.
9490 * libgnat/s-pack25.ads: Likewise.
9491 * libgnat/s-pack26.adb: Likewise.
9492 * libgnat/s-pack26.ads: Likewise.
9493 * libgnat/s-pack27.adb: Likewise.
9494 * libgnat/s-pack27.ads: Likewise.
9495 * libgnat/s-pack28.adb: Likewise.
9496 * libgnat/s-pack28.ads: Likewise.
9497 * libgnat/s-pack29.adb: Likewise.
9498 * libgnat/s-pack29.ads: Likewise.
9499 * libgnat/s-pack30.adb: Likewise.
9500 * libgnat/s-pack30.ads: Likewise.
9501 * libgnat/s-pack31.adb: Likewise.
9502 * libgnat/s-pack31.ads: Likewise.
9503 * libgnat/s-pack33.adb: Likewise.
9504 * libgnat/s-pack33.ads: Likewise.
9505 * libgnat/s-pack34.adb: Likewise.
9506 * libgnat/s-pack34.ads: Likewise.
9507 * libgnat/s-pack35.adb: Likewise.
9508 * libgnat/s-pack35.ads: Likewise.
9509 * libgnat/s-pack36.adb: Likewise.
9510 * libgnat/s-pack36.ads: Likewise.
9511 * libgnat/s-pack37.adb: Likewise.
9512 * libgnat/s-pack37.ads: Likewise.
9513 * libgnat/s-pack38.adb: Likewise.
9514 * libgnat/s-pack38.ads: Likewise.
9515 * libgnat/s-pack39.adb: Likewise.
9516 * libgnat/s-pack39.ads: Likewise.
9517 * libgnat/s-pack40.adb: Likewise.
9518 * libgnat/s-pack40.ads: Likewise.
9519 * libgnat/s-pack41.adb: Likewise.
9520 * libgnat/s-pack41.ads: Likewise.
9521 * libgnat/s-pack42.adb: Likewise.
9522 * libgnat/s-pack42.ads: Likewise.
9523 * libgnat/s-pack43.adb: Likewise.
9524 * libgnat/s-pack43.ads: Likewise.
9525 * libgnat/s-pack44.adb: Likewise.
9526 * libgnat/s-pack44.ads: Likewise.
9527 * libgnat/s-pack45.adb: Likewise.
9528 * libgnat/s-pack45.ads: Likewise.
9529 * libgnat/s-pack46.adb: Likewise.
9530 * libgnat/s-pack46.ads: Likewise.
9531 * libgnat/s-pack47.adb: Likewise.
9532 * libgnat/s-pack47.ads: Likewise.
9533 * libgnat/s-pack48.adb: Likewise.
9534 * libgnat/s-pack48.ads: Likewise.
9535 * libgnat/s-pack49.adb: Likewise.
9536 * libgnat/s-pack49.ads: Likewise.
9537 * libgnat/s-pack50.adb: Likewise.
9538 * libgnat/s-pack50.ads: Likewise.
9539 * libgnat/s-pack51.adb: Likewise.
9540 * libgnat/s-pack51.ads: Likewise.
9541 * libgnat/s-pack52.adb: Likewise.
9542 * libgnat/s-pack52.ads: Likewise.
9543 * libgnat/s-pack53.adb: Likewise.
9544 * libgnat/s-pack53.ads: Likewise.
9545 * libgnat/s-pack54.adb: Likewise.
9546 * libgnat/s-pack54.ads: Likewise.
9547 * libgnat/s-pack55.adb: Likewise.
9548 * libgnat/s-pack55.ads: Likewise.
9549 * libgnat/s-pack56.adb: Likewise.
9550 * libgnat/s-pack56.ads: Likewise.
9551 * libgnat/s-pack57.adb: Likewise.
9552 * libgnat/s-pack57.ads: Likewise.
9553 * libgnat/s-pack58.adb: Likewise.
9554 * libgnat/s-pack58.ads: Likewise.
9555 * libgnat/s-pack59.adb: Likewise.
9556 * libgnat/s-pack59.ads: Likewise.
9557 * libgnat/s-pack60.adb: Likewise.
9558 * libgnat/s-pack60.ads: Likewise.
9559 * libgnat/s-pack61.adb: Likewise.
9560 * libgnat/s-pack61.ads: Likewise.
9561 * libgnat/s-pack62.adb: Likewise.
9562 * libgnat/s-pack62.ads: Likewise.
9563 * libgnat/s-pack63.adb: Likewise.
9564 * libgnat/s-pack63.ads: Likewise.
9565 * libgnat/s-pack65.adb: Likewise.
9566 * libgnat/s-pack65.ads: Likewise.
9567 * libgnat/s-pack66.adb: Likewise.
9568 * libgnat/s-pack66.ads: Likewise.
9569 * libgnat/s-pack67.adb: Likewise.
9570 * libgnat/s-pack67.ads: Likewise.
9571 * libgnat/s-pack68.adb: Likewise.
9572 * libgnat/s-pack68.ads: Likewise.
9573 * libgnat/s-pack69.adb: Likewise.
9574 * libgnat/s-pack69.ads: Likewise.
9575 * libgnat/s-pack70.adb: Likewise.
9576 * libgnat/s-pack70.ads: Likewise.
9577 * libgnat/s-pack71.adb: Likewise.
9578 * libgnat/s-pack71.ads: Likewise.
9579 * libgnat/s-pack72.adb: Likewise.
9580 * libgnat/s-pack72.ads: Likewise.
9581 * libgnat/s-pack73.adb: Likewise.
9582 * libgnat/s-pack73.ads: Likewise.
9583 * libgnat/s-pack74.adb: Likewise.
9584 * libgnat/s-pack74.ads: Likewise.
9585 * libgnat/s-pack75.adb: Likewise.
9586 * libgnat/s-pack75.ads: Likewise.
9587 * libgnat/s-pack76.adb: Likewise.
9588 * libgnat/s-pack76.ads: Likewise.
9589 * libgnat/s-pack77.adb: Likewise.
9590 * libgnat/s-pack77.ads: Likewise.
9591 * libgnat/s-pack78.adb: Likewise.
9592 * libgnat/s-pack78.ads: Likewise.
9593 * libgnat/s-pack79.adb: Likewise.
9594 * libgnat/s-pack79.ads: Likewise.
9595 * libgnat/s-pack80.adb: Likewise.
9596 * libgnat/s-pack80.ads: Likewise.
9597 * libgnat/s-pack81.adb: Likewise.
9598 * libgnat/s-pack81.ads: Likewise.
9599 * libgnat/s-pack82.adb: Likewise.
9600 * libgnat/s-pack82.ads: Likewise.
9601 * libgnat/s-pack83.adb: Likewise.
9602 * libgnat/s-pack83.ads: Likewise.
9603 * libgnat/s-pack84.adb: Likewise.
9604 * libgnat/s-pack84.ads: Likewise.
9605 * libgnat/s-pack85.adb: Likewise.
9606 * libgnat/s-pack85.ads: Likewise.
9607 * libgnat/s-pack86.adb: Likewise.
9608 * libgnat/s-pack86.ads: Likewise.
9609 * libgnat/s-pack87.adb: Likewise.
9610 * libgnat/s-pack87.ads: Likewise.
9611 * libgnat/s-pack88.adb: Likewise.
9612 * libgnat/s-pack88.ads: Likewise.
9613 * libgnat/s-pack89.adb: Likewise.
9614 * libgnat/s-pack89.ads: Likewise.
9615 * libgnat/s-pack90.adb: Likewise.
9616 * libgnat/s-pack90.ads: Likewise.
9617 * libgnat/s-pack91.adb: Likewise.
9618 * libgnat/s-pack91.ads: Likewise.
9619 * libgnat/s-pack92.adb: Likewise.
9620 * libgnat/s-pack92.ads: Likewise.
9621 * libgnat/s-pack93.adb: Likewise.
9622 * libgnat/s-pack93.ads: Likewise.
9623 * libgnat/s-pack94.adb: Likewise.
9624 * libgnat/s-pack94.ads: Likewise.
9625 * libgnat/s-pack95.adb: Likewise.
9626 * libgnat/s-pack95.ads: Likewise.
9627 * libgnat/s-pack96.adb: Likewise.
9628 * libgnat/s-pack96.ads: Likewise.
9629 * libgnat/s-pack97.adb: Likewise.
9630 * libgnat/s-pack97.ads: Likewise.
9631 * libgnat/s-pack98.adb: Likewise.
9632 * libgnat/s-pack98.ads: Likewise.
9633 * libgnat/s-pack99.adb: Likewise.
9634 * libgnat/s-pack99.ads: Likewise.
9635 * libgnat/s-parame.adb: Likewise.
9636 * libgnat/s-parame.ads: Likewise.
9637 * libgnat/s-parame__ae653.ads: Likewise.
9638 * libgnat/s-parame__hpux.ads: Likewise.
9639 * libgnat/s-parame__rtems.adb: Likewise.
9640 * libgnat/s-parame__vxworks.adb: Likewise.
9641 * libgnat/s-parame__vxworks.ads: Likewise.
9642 * libgnat/s-parint.adb: Likewise.
9643 * libgnat/s-parint.ads: Likewise.
9644 * libgnat/s-pooglo.adb: Likewise.
9645 * libgnat/s-pooglo.ads: Likewise.
9646 * libgnat/s-pooloc.adb: Likewise.
9647 * libgnat/s-pooloc.ads: Likewise.
9648 * libgnat/s-poosiz.adb: Likewise.
9649 * libgnat/s-poosiz.ads: Likewise.
9650 * libgnat/s-powflt.ads: Likewise.
9651 * libgnat/s-powlfl.ads: Likewise.
9652 * libgnat/s-powllf.ads: Likewise.
9653 * libgnat/s-purexc.ads: Likewise.
9654 * libgnat/s-putaim.adb: Likewise.
9655 * libgnat/s-putaim.ads: Likewise.
9656 * libgnat/s-putima.adb: Likewise.
9657 * libgnat/s-putima.ads: Likewise.
9658 * libgnat/s-rannum.adb: Likewise.
9659 * libgnat/s-rannum.ads: Likewise.
9660 * libgnat/s-ransee.adb: Likewise.
9661 * libgnat/s-ransee.ads: Likewise.
9662 * libgnat/s-regexp.adb: Likewise.
9663 * libgnat/s-regexp.ads: Likewise.
9664 * libgnat/s-regpat.adb: Likewise.
9665 * libgnat/s-regpat.ads: Likewise.
9666 * libgnat/s-resfil.adb: Likewise.
9667 * libgnat/s-resfil.ads: Likewise.
9668 * libgnat/s-restri.adb: Likewise.
9669 * libgnat/s-restri.ads: Likewise.
9670 * libgnat/s-rident.ads: Likewise.
9671 * libgnat/s-rpc.adb: Likewise.
9672 * libgnat/s-rpc.ads: Likewise.
9673 * libgnat/s-scaval.adb: Likewise.
9674 * libgnat/s-scaval.ads: Likewise.
9675 * libgnat/s-scaval__128.adb: Likewise.
9676 * libgnat/s-scaval__128.ads: Likewise.
9677 * libgnat/s-secsta.adb: Likewise.
9678 * libgnat/s-secsta.ads: Likewise.
9679 * libgnat/s-sequio.adb: Likewise.
9680 * libgnat/s-sequio.ads: Likewise.
9681 * libgnat/s-shabig.ads: Likewise.
9682 * libgnat/s-shasto.adb: Likewise.
9683 * libgnat/s-shasto.ads: Likewise.
9684 * libgnat/s-soflin.adb: Likewise.
9685 * libgnat/s-soflin.ads: Likewise.
9686 * libgnat/s-soliin.adb: Likewise.
9687 * libgnat/s-soliin.ads: Likewise.
9688 * libgnat/s-sopco3.adb: Likewise.
9689 * libgnat/s-sopco3.ads: Likewise.
9690 * libgnat/s-sopco4.adb: Likewise.
9691 * libgnat/s-sopco4.ads: Likewise.
9692 * libgnat/s-sopco5.adb: Likewise.
9693 * libgnat/s-sopco5.ads: Likewise.
9694 * libgnat/s-spsufi.adb: Likewise.
9695 * libgnat/s-spsufi.ads: Likewise.
9696 * libgnat/s-stache.adb: Likewise.
9697 * libgnat/s-stache.ads: Likewise.
9698 * libgnat/s-stalib.adb: Likewise.
9699 * libgnat/s-stalib.ads: Likewise.
9700 * libgnat/s-statxd.adb: Likewise.
9701 * libgnat/s-statxd.ads: Likewise.
9702 * libgnat/s-stausa.adb: Likewise.
9703 * libgnat/s-stausa.ads: Likewise.
9704 * libgnat/s-stchop.adb: Likewise.
9705 * libgnat/s-stchop.ads: Likewise.
9706 * libgnat/s-stchop__limit.ads: Likewise.
9707 * libgnat/s-stchop__rtems.adb: Likewise.
9708 * libgnat/s-stchop__vxworks.adb: Likewise.
9709 * libgnat/s-stoele.adb: Likewise.
9710 * libgnat/s-stoele.ads: Likewise.
9711 * libgnat/s-stopoo.adb: Likewise.
9712 * libgnat/s-stopoo.ads: Likewise.
9713 * libgnat/s-stposu.adb: Likewise.
9714 * libgnat/s-stposu.ads: Likewise.
9715 * libgnat/s-stratt.adb: Likewise.
9716 * libgnat/s-stratt.ads: Likewise.
9717 * libgnat/s-strcom.adb: Likewise.
9718 * libgnat/s-strcom.ads: Likewise.
9719 * libgnat/s-strhas.adb: Likewise.
9720 * libgnat/s-strhas.ads: Likewise.
9721 * libgnat/s-string.adb: Likewise.
9722 * libgnat/s-string.ads: Likewise.
9723 * libgnat/s-strops.adb: Likewise.
9724 * libgnat/s-strops.ads: Likewise.
9725 * libgnat/s-ststop.adb: Likewise.
9726 * libgnat/s-ststop.ads: Likewise.
9727 * libgnat/s-tasloc.adb: Likewise.
9728 * libgnat/s-tasloc.ads: Likewise.
9729 * libgnat/s-thread.ads: Likewise.
9730 * libgnat/s-thread__ae653.adb: Likewise.
9731 * libgnat/s-traceb.adb: Likewise.
9732 * libgnat/s-traceb.ads: Likewise.
9733 * libgnat/s-traceb__hpux.adb: Likewise.
9734 * libgnat/s-traceb__mastop.adb: Likewise.
9735 * libgnat/s-traent.adb: Likewise.
9736 * libgnat/s-traent.ads: Likewise.
9737 * libgnat/s-trasym.adb: Likewise.
9738 * libgnat/s-trasym.ads: Likewise.
9739 * libgnat/s-trasym__dwarf.adb: Likewise.
9740 * libgnat/s-tsmona.adb: Likewise.
9741 * libgnat/s-tsmona__linux.adb: Likewise.
9742 * libgnat/s-tsmona__mingw.adb: Likewise.
9743 * libgnat/s-unstyp.ads: Likewise.
9744 * libgnat/s-utf_32.adb: Likewise.
9745 * libgnat/s-utf_32.ads: Likewise.
9746 * libgnat/s-vade128.ads: Likewise.
9747 * libgnat/s-vade32.ads: Likewise.
9748 * libgnat/s-vade64.ads: Likewise.
9749 * libgnat/s-vafi128.ads: Likewise.
9750 * libgnat/s-vafi32.ads: Likewise.
9751 * libgnat/s-vafi64.ads: Likewise.
9752 * libgnat/s-valboo.adb: Likewise.
9753 * libgnat/s-valboo.ads: Likewise.
9754 * libgnat/s-valcha.adb: Likewise.
9755 * libgnat/s-valcha.ads: Likewise.
9756 * libgnat/s-valenu.adb: Likewise.
9757 * libgnat/s-valenu.ads: Likewise.
9758 * libgnat/s-valflt.ads: Likewise.
9759 * libgnat/s-valint.adb: Likewise.
9760 * libgnat/s-valint.ads: Likewise.
9761 * libgnat/s-vallfl.ads: Likewise.
9762 * libgnat/s-valllf.ads: Likewise.
9763 * libgnat/s-vallli.adb: Likewise.
9764 * libgnat/s-vallli.ads: Likewise.
9765 * libgnat/s-valllli.ads: Likewise.
9766 * libgnat/s-vallllu.ads: Likewise.
9767 * libgnat/s-valllu.adb: Likewise.
9768 * libgnat/s-valllu.ads: Likewise.
9769 * libgnat/s-valrea.adb: Likewise.
9770 * libgnat/s-valrea.ads: Likewise.
9771 * libgnat/s-valued.adb: Likewise.
9772 * libgnat/s-valued.ads: Likewise.
9773 * libgnat/s-valuef.adb: Likewise.
9774 * libgnat/s-valuef.ads: Likewise.
9775 * libgnat/s-valuei.adb: Likewise.
9776 * libgnat/s-valuei.ads: Likewise.
9777 * libgnat/s-valuer.adb: Likewise.
9778 * libgnat/s-valuer.ads: Likewise.
9779 * libgnat/s-valueu.adb: Likewise.
9780 * libgnat/s-valueu.ads: Likewise.
9781 * libgnat/s-valuns.adb: Likewise.
9782 * libgnat/s-valuns.ads: Likewise.
9783 * libgnat/s-valuti.adb: Likewise.
9784 * libgnat/s-valuti.ads: Likewise.
9785 * libgnat/s-valwch.adb: Likewise.
9786 * libgnat/s-valwch.ads: Likewise.
9787 * libgnat/s-veboop.adb: Likewise.
9788 * libgnat/s-veboop.ads: Likewise.
9789 * libgnat/s-vector.ads: Likewise.
9790 * libgnat/s-vercon.adb: Likewise.
9791 * libgnat/s-vercon.ads: Likewise.
9792 * libgnat/s-wchcnv.adb: Likewise.
9793 * libgnat/s-wchcnv.ads: Likewise.
9794 * libgnat/s-wchcon.adb: Likewise.
9795 * libgnat/s-wchcon.ads: Likewise.
9796 * libgnat/s-wchjis.adb: Likewise.
9797 * libgnat/s-wchjis.ads: Likewise.
9798 * libgnat/s-wchstw.adb: Likewise.
9799 * libgnat/s-wchstw.ads: Likewise.
9800 * libgnat/s-wchwts.adb: Likewise.
9801 * libgnat/s-wchwts.ads: Likewise.
9802 * libgnat/s-widboo.adb: Likewise.
9803 * libgnat/s-widboo.ads: Likewise.
9804 * libgnat/s-widcha.adb: Likewise.
9805 * libgnat/s-widcha.ads: Likewise.
9806 * libgnat/s-widenu.adb: Likewise.
9807 * libgnat/s-widenu.ads: Likewise.
9808 * libgnat/s-widint.ads: Likewise.
9809 * libgnat/s-widlli.adb: Likewise.
9810 * libgnat/s-widlli.ads: Likewise.
9811 * libgnat/s-widllli.ads: Likewise.
9812 * libgnat/s-widlllu.ads: Likewise.
9813 * libgnat/s-widllu.adb: Likewise.
9814 * libgnat/s-widllu.ads: Likewise.
9815 * libgnat/s-widthi.adb: Likewise.
9816 * libgnat/s-widthi.ads: Likewise.
9817 * libgnat/s-widthu.adb: Likewise.
9818 * libgnat/s-widthu.ads: Likewise.
9819 * libgnat/s-widuns.ads: Likewise.
9820 * libgnat/s-widwch.adb: Likewise.
9821 * libgnat/s-widwch.ads: Likewise.
9822 * libgnat/s-win32.ads: Likewise.
9823 * libgnat/s-winext.ads: Likewise.
9824 * libgnat/s-wwdcha.adb: Likewise.
9825 * libgnat/s-wwdcha.ads: Likewise.
9826 * libgnat/s-wwdenu.adb: Likewise.
9827 * libgnat/s-wwdenu.ads: Likewise.
9828 * libgnat/s-wwdwch.adb: Likewise.
9829 * libgnat/s-wwdwch.ads: Likewise.
9830 * libgnat/system-aix.ads: Likewise.
9831 * libgnat/system-darwin-arm.ads: Likewise.
9832 * libgnat/system-darwin-ppc.ads: Likewise.
9833 * libgnat/system-darwin-x86.ads: Likewise.
9834 * libgnat/system-djgpp.ads: Likewise.
9835 * libgnat/system-dragonfly-x86_64.ads: Likewise.
9836 * libgnat/system-freebsd.ads: Likewise.
9837 * libgnat/system-hpux-ia64.ads: Likewise.
9838 * libgnat/system-hpux.ads: Likewise.
9839 * libgnat/system-linux-alpha.ads: Likewise.
9840 * libgnat/system-linux-arm.ads: Likewise.
9841 * libgnat/system-linux-hppa.ads: Likewise.
9842 * libgnat/system-linux-ia64.ads: Likewise.
9843 * libgnat/system-linux-m68k.ads: Likewise.
9844 * libgnat/system-linux-mips.ads: Likewise.
9845 * libgnat/system-linux-ppc.ads: Likewise.
9846 * libgnat/system-linux-riscv.ads: Likewise.
9847 * libgnat/system-linux-s390.ads: Likewise.
9848 * libgnat/system-linux-sh4.ads: Likewise.
9849 * libgnat/system-linux-sparc.ads: Likewise.
9850 * libgnat/system-linux-x86.ads: Likewise.
9851 * libgnat/system-lynxos178-ppc.ads: Likewise.
9852 * libgnat/system-lynxos178-x86.ads: Likewise.
9853 * libgnat/system-mingw.ads: Likewise.
9854 * libgnat/system-qnx-aarch64.ads: Likewise.
9855 * libgnat/system-rtems.ads: Likewise.
9856 * libgnat/system-solaris-sparc.ads: Likewise.
9857 * libgnat/system-solaris-x86.ads: Likewise.
9858 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
9859 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
9860 * libgnat/system-vxworks-arm.ads: Likewise.
9861 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
9862 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
9863 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
9864 * libgnat/system-vxworks-e500-vthread.ads: Likewise.
9865 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
9866 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
9867 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
9868 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
9869 * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
9870 * libgnat/system-vxworks-ppc.ads: Likewise.
9871 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
9872 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
9873 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
9874 * libgnat/system-vxworks-x86-vthread.ads: Likewise.
9875 * libgnat/system-vxworks-x86.ads: Likewise.
9876 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
9877 * libgnat/system-vxworks7-aarch64.ads: Likewise.
9878 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
9879 * libgnat/system-vxworks7-arm.ads: Likewise.
9880 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
9881 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
9882 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
9883 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
9884 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
9885 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
9886 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
9887 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
9888 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
9889 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
9890 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
9891 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
9892 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
9893 * link.c: Likewise.
9894 * live.adb: Likewise.
9895 * live.ads: Likewise.
9896 * locales.c: Likewise.
9897 * make.adb: Likewise.
9898 * make.ads: Likewise.
9899 * make_util.adb: Likewise.
9900 * make_util.ads: Likewise.
9901 * makeusg.adb: Likewise.
9902 * makeusg.ads: Likewise.
9903 * mdll-fil.adb: Likewise.
9904 * mdll-fil.ads: Likewise.
9905 * mdll-utl.adb: Likewise.
9906 * mdll-utl.ads: Likewise.
9907 * mdll.adb: Likewise.
9908 * mdll.ads: Likewise.
9909 * mingw32.h: Likewise.
9910 * mkdir.c: Likewise.
9911 * namet-sp.adb: Likewise.
9912 * namet-sp.ads: Likewise.
9913 * namet.adb: Likewise.
9914 * namet.ads: Likewise.
9915 * namet.h: Likewise.
9916 * nlists.adb: Likewise.
9917 * nlists.ads: Likewise.
9918 * nlists.h: Likewise.
9919 * opt.adb: Likewise.
9920 * opt.ads: Likewise.
9921 * osint-b.adb: Likewise.
9922 * osint-b.ads: Likewise.
9923 * osint-c.adb: Likewise.
9924 * osint-c.ads: Likewise.
9925 * osint-l.adb: Likewise.
9926 * osint-l.ads: Likewise.
9927 * osint-m.adb: Likewise.
9928 * osint-m.ads: Likewise.
9929 * osint.adb: Likewise.
9930 * osint.ads: Likewise.
9931 * output.adb: Likewise.
9932 * output.ads: Likewise.
9933 * par-ch10.adb: Likewise.
9934 * par-ch11.adb: Likewise.
9935 * par-ch12.adb: Likewise.
9936 * par-ch13.adb: Likewise.
9937 * par-ch2.adb: Likewise.
9938 * par-ch3.adb: Likewise.
9939 * par-ch4.adb: Likewise.
9940 * par-ch5.adb: Likewise.
9941 * par-ch6.adb: Likewise.
9942 * par-ch7.adb: Likewise.
9943 * par-ch8.adb: Likewise.
9944 * par-ch9.adb: Likewise.
9945 * par-endh.adb: Likewise.
9946 * par-labl.adb: Likewise.
9947 * par-load.adb: Likewise.
9948 * par-prag.adb: Likewise.
9949 * par-sync.adb: Likewise.
9950 * par-tchk.adb: Likewise.
9951 * par-util.adb: Likewise.
9952 * par.adb: Likewise.
9953 * par.ads: Likewise.
9954 * par_sco.adb: Likewise.
9955 * par_sco.ads: Likewise.
9956 * pprint.adb: Likewise.
9957 * pprint.ads: Likewise.
9958 * prep.adb: Likewise.
9959 * prep.ads: Likewise.
9960 * prepcomp.adb: Likewise.
9961 * prepcomp.ads: Likewise.
9962 * put_scos.adb: Likewise.
9963 * put_scos.ads: Likewise.
9964 * raise-gcc.c: Likewise.
9965 * raise.c: Likewise.
9966 * raise.h: Likewise.
9967 * repinfo-input.adb: Likewise.
9968 * repinfo-input.ads: Likewise.
9969 * repinfo.adb: Likewise.
9970 * repinfo.ads: Likewise.
9971 * repinfo.h: Likewise.
9972 * restrict.adb: Likewise.
9973 * restrict.ads: Likewise.
9974 * rident.ads: Likewise.
9975 * rtfinal.c: Likewise.
9976 * rtinit.c: Likewise.
9977 * rtsfind.adb: Likewise.
9978 * rtsfind.ads: Likewise.
9979 * runtime.h: Likewise.
9980 * s-oscons-tmplt.c: Likewise.
9981 * sa_messages.adb: Likewise.
9982 * sa_messages.ads: Likewise.
9983 * scans.adb: Likewise.
9984 * scans.ads: Likewise.
9985 * scil_ll.adb: Likewise.
9986 * scil_ll.ads: Likewise.
9987 * scn.adb: Likewise.
9988 * scn.ads: Likewise.
9989 * scng.adb: Likewise.
9990 * scng.ads: Likewise.
9991 * scos.adb: Likewise.
9992 * scos.ads: Likewise.
9993 * scos.h: Likewise.
9994 * sdefault.ads: Likewise.
9995 * seh_init.c: Likewise.
9996 * sem.adb: Likewise.
9997 * sem.ads: Likewise.
9998 * sem_aggr.adb: Likewise.
9999 * sem_aggr.ads: Likewise.
10000 * sem_attr.adb: Likewise.
10001 * sem_attr.ads: Likewise.
10002 * sem_aux.adb: Likewise.
10003 * sem_aux.ads: Likewise.
10004 * sem_case.adb: Likewise.
10005 * sem_case.ads: Likewise.
10006 * sem_cat.adb: Likewise.
10007 * sem_cat.ads: Likewise.
10008 * sem_ch10.adb: Likewise.
10009 * sem_ch10.ads: Likewise.
10010 * sem_ch11.adb: Likewise.
10011 * sem_ch11.ads: Likewise.
10012 * sem_ch12.adb: Likewise.
10013 * sem_ch12.ads: Likewise.
10014 * sem_ch13.adb: Likewise.
10015 * sem_ch13.ads: Likewise.
10016 * sem_ch2.adb: Likewise.
10017 * sem_ch2.ads: Likewise.
10018 * sem_ch3.adb: Likewise.
10019 * sem_ch3.ads: Likewise.
10020 * sem_ch4.adb: Likewise.
10021 * sem_ch4.ads: Likewise.
10022 * sem_ch5.adb: Likewise.
10023 * sem_ch5.ads: Likewise.
10024 * sem_ch6.adb: Likewise.
10025 * sem_ch6.ads: Likewise.
10026 * sem_ch7.adb: Likewise.
10027 * sem_ch7.ads: Likewise.
10028 * sem_ch8.adb: Likewise.
10029 * sem_ch8.ads: Likewise.
10030 * sem_ch9.adb: Likewise.
10031 * sem_ch9.ads: Likewise.
10032 * sem_dim.adb: Likewise.
10033 * sem_dim.ads: Likewise.
10034 * sem_disp.adb: Likewise.
10035 * sem_disp.ads: Likewise.
10036 * sem_dist.adb: Likewise.
10037 * sem_dist.ads: Likewise.
10038 * sem_elab.adb: Likewise.
10039 * sem_elab.ads: Likewise.
10040 * sem_elim.adb: Likewise.
10041 * sem_elim.ads: Likewise.
10042 * sem_eval.adb: Likewise.
10043 * sem_eval.ads: Likewise.
10044 * sem_intr.adb: Likewise.
10045 * sem_intr.ads: Likewise.
10046 * sem_mech.adb: Likewise.
10047 * sem_mech.ads: Likewise.
10048 * sem_prag.adb: Likewise.
10049 * sem_prag.ads: Likewise.
10050 * sem_res.adb: Likewise.
10051 * sem_res.ads: Likewise.
10052 * sem_scil.adb: Likewise.
10053 * sem_scil.ads: Likewise.
10054 * sem_smem.adb: Likewise.
10055 * sem_smem.ads: Likewise.
10056 * sem_type.adb: Likewise.
10057 * sem_type.ads: Likewise.
10058 * sem_util.adb: Likewise.
10059 * sem_util.ads: Likewise.
10060 * sem_warn.adb: Likewise.
10061 * sem_warn.ads: Likewise.
10062 * set_targ.adb: Likewise.
10063 * set_targ.ads: Likewise.
10064 * sfn_scan.adb: Likewise.
10065 * sfn_scan.ads: Likewise.
10066 * sigtramp-armdroid.c: Likewise.
10067 * sigtramp-ios.c: Likewise.
10068 * sigtramp-qnx.c: Likewise.
10069 * sigtramp-vxworks.c: Likewise.
10070 * sigtramp.h: Likewise.
10071 * sinfo-cn.adb: Likewise.
10072 * sinfo-cn.ads: Likewise.
10073 * sinfo.adb: Likewise.
10074 * sinfo.ads: Likewise.
10075 * sinput-c.adb: Likewise.
10076 * sinput-c.ads: Likewise.
10077 * sinput-d.adb: Likewise.
10078 * sinput-d.ads: Likewise.
10079 * sinput-l.adb: Likewise.
10080 * sinput-l.ads: Likewise.
10081 * sinput.adb: Likewise.
10082 * sinput.ads: Likewise.
10083 * snames.adb-tmpl: Likewise.
10084 * snames.ads-tmpl: Likewise.
10085 * socket.c: Likewise.
10086 * spark_xrefs.adb: Likewise.
10087 * spark_xrefs.ads: Likewise.
10088 * sprint.adb: Likewise.
10089 * sprint.ads: Likewise.
10090 * stand.ads: Likewise.
10091 * stringt.adb: Likewise.
10092 * stringt.ads: Likewise.
10093 * stringt.h: Likewise.
10094 * style.adb: Likewise.
10095 * style.ads: Likewise.
10096 * styleg.adb: Likewise.
10097 * styleg.ads: Likewise.
10098 * stylesw.adb: Likewise.
10099 * stylesw.ads: Likewise.
10100 * switch-b.adb: Likewise.
10101 * switch-b.ads: Likewise.
10102 * switch-c.adb: Likewise.
10103 * switch-c.ads: Likewise.
10104 * switch-m.adb: Likewise.
10105 * switch-m.ads: Likewise.
10106 * switch.adb: Likewise.
10107 * switch.ads: Likewise.
10108 * sysdep.c: Likewise.
10109 * table.adb: Likewise.
10110 * table.ads: Likewise.
10111 * targext.c: Likewise.
10112 * targparm.adb: Likewise.
10113 * targparm.ads: Likewise.
10114 * tbuild.adb: Likewise.
10115 * tbuild.ads: Likewise.
10116 * tempdir.adb: Likewise.
10117 * tempdir.ads: Likewise.
10118 * terminals.c: Likewise.
10119 * tracebak.c: Likewise.
10120 * treepr.adb: Likewise.
10121 * treepr.ads: Likewise.
10122 * ttypes.ads: Likewise.
10123 * types.adb: Likewise.
10124 * types.ads: Likewise.
10125 * types.h: Likewise.
10126 * uintp.adb: Likewise.
10127 * uintp.ads: Likewise.
10128 * uintp.h: Likewise.
10129 * uname.adb: Likewise.
10130 * uname.ads: Likewise.
10131 * urealp.adb: Likewise.
10132 * urealp.ads: Likewise.
10133 * urealp.h: Likewise.
10134 * usage.adb: Likewise.
10135 * usage.ads: Likewise.
10136 * validsw.adb: Likewise.
10137 * validsw.ads: Likewise.
10138 * vast.adb: Likewise.
10139 * vast.ads: Likewise.
10140 * warnsw.adb: Likewise.
10141 * warnsw.ads: Likewise.
10142 * widechar.adb: Likewise.
10143 * widechar.ads: Likewise.
10144 * xeinfo.adb: Likewise.
10145 * xnmake.adb: Likewise.
10146 * xoscons.adb: Likewise.
10147 * xr_tabls.adb: Likewise.
10148 * xr_tabls.ads: Likewise.
10149 * xref_lib.adb: Likewise.
10150 * xref_lib.ads: Likewise.
10151 * xsinfo.adb: Likewise.
10152 * xsnamest.adb: Likewise.
10153 * xtreeprs.adb: Likewise.
10154 * xutil.adb: Likewise.
10155 * xutil.ads: Likewise.
10156
10157 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10158
10159 * exp_dist.adb (Build_From_Any_Call): Remove initial value for
10160 Fnam; fix style.
10161 (Build_To_Any_Call): Remove initial value for Fnam.
10162 (Build_TypeCode_Call): Likewise.
10163
10164 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10165
10166 * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
10167 exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb,
10168 sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb,
10169 sem_util.adb: Replace calls to RTE with Is_RTE.
10170
10171 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10172
10173 * sem_ch4.adb (Try_Object_Operation): Reuse local constant.
10174
10175 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10176
10177 * sem_ch4.adb (Try_Object_Operation): When a prefixed call is
10178 overloaded and illegal, and the All_Errors flag is off, generate
10179 an error message if the re-analysis of some candidate
10180 interpretation fails to produce one.
10181
10182 2021-05-03 Dmitriy Anisimkov <anisimko@adacore.com>
10183
10184 * libgnat/g-casuti.adb: Replace with "pragma No_Body".
10185 * libgnat/g-casuti.ads: Replace with a package renaming.
10186
10187 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10188
10189 * sem_attr.adb (Check_Program_Unit): Fix references to
10190 Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
10191 Entity.
10192
10193 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10194
10195 * sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind
10196 and Protected_Kind with a collective test for Concurrent_Kind;
10197 likewise, replace calls to Is_Task_Type and Is_Protected_Type
10198 with a collective call to Is_Concurrent_Type; simplify into a
10199 single membership test; add missing Entry_Kind alternative.
10200
10201 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10202
10203 * sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error
10204 message.
10205 * sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced
10206 parens.
10207 * sem_elim.adb (Eliminate_Error_Msg): Add insertion character.
10208
10209 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10210
10211 * freeze.adb (Freeze_Profile): Replace Error_Msg_NE with
10212 Error_Msg_N; change to continuation message.
10213 * sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace
10214 calls to Error_Msg_NE with calls to Error_Msg_N.
10215
10216 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10217
10218 * exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb,
10219 sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10220 sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
10221 sem_res.adb: Remove extra leading and trailing space in error
10222 messages.
10223
10224 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10225
10226 * sem_prag.adb (Set_Exported): Do not warn on exporting a type.
10227
10228 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10229
10230 * sem_warn.adb (Check_References): Do not emit warning on a
10231 selected component when enclosing type has no discriminant and
10232 type of component has partial initialization.
10233
10234 2021-05-03 Justin Squirek <squirek@adacore.com>
10235
10236 * contracts.adb (Build_Postconditions_Procedure): Remove
10237 internally generated if statement used to control finalization
10238 actions.
10239 * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
10240 Expand_Simple_Function_Return): Add if statement around
10241 _postconditions to control finalization.
10242 * exp_ch7.adb (Build_Finalizer): Likewise.
10243 * sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to
10244 handle Context itself being a handled sequence of statements.
10245
10246 2021-05-03 Justin Squirek <squirek@adacore.com>
10247
10248 * sem_util.adb (In_Return_Value): Modified to detect when
10249 implicit dereference is specified on the return type of a
10250 function call within the expression being checked.
10251
10252 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10253
10254 * exp_aggr.adb (Expand_Array_Aggregate): If the parent node of
10255 the aggregate is a subprogram call there is no target in which
10256 to build the aggregate, and it has to be expanded into component
10257 assignments.
10258
10259 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10260
10261 * exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments;
10262 remove periods after single-line comments; use procedural
10263 variant of Next_Entity.
10264 * gnat_cuda.adb: Refill comments; remove periods after
10265 single-line comments; replace calls to UI_From_Int with
10266 constants; change iteration bounds so they match the comments.
10267 * sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma
10268 CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global
10269 with Check_Arg_Count; sync comment with code for CUDA_Global.
10270
10271 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10272
10273 * tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction
10274 checking on dead paths.
10275
10276 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10277
10278 * sem_util.adb (Check_Result_And_Post_State): Replace custom
10279 Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter
10280 flag which corresponds exactly to what we need.
10281
10282 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10283
10284 * libgnat/a-ztcoio.adb: Remove unused with clause.
10285
10286 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10287
10288 * sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment.
10289 (Resolve_Aspect_Expressions): Fix typo in comment; remove
10290 redundant check for no aspects; simplify with Discard_Node.
10291
10292 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10293
10294 * sem_util.adb (Build_Constrained_Itype): Remove prior patch,
10295 issue is better handled in Sem_Ch13.Build_Predicate_Functions.
10296 * sem_ch13.adb (Build_Predicate_Functions): Do not build
10297 predicate function for an Itype with a defined
10298 Predicated_Parent, even if that designated parent does not yet
10299 have a Predicate_Function. This can happen in instance bodies
10300 nested within a generic unit.
10301
10302 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10303
10304 * exp_attr.adb (Expand_N_Attribute_Reference)
10305 <Attribute_Max_Size_In_Storage_Elements>: Apply the checks for
10306 universal integer contexts only in the default case.
10307 * exp_ch4.adb (Get_Size_For_Range): Move to library level.
10308 (Expand_N_Type_Conversion): If the operand has Universal_Integer
10309 type and the conversion requires an overflow check, try to do an
10310 intermediate conversion to a narrower type.
10311
10312 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10313
10314 * sem_ch3.adb (Check_Anonymous_Access_Component): Factor out
10315 core processing of Check_Anonymous_Access_Components.
10316 (Check_Anonymous_Access_Components): Call
10317 Check_Anonymous_Access_Component.
10318 (Process_Discriminants): Call Check_Anonymous_Access_Component.
10319 * freeze.adb (Freeze_Record_Type): Code cleanups and add more tree
10320 checking to handle changes in sem_ch3.adb.
10321 * sem_ch8.adb (Find_Type): Remove special case for access
10322 discriminant in task types, these are now supported.
10323
10324 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10325
10326 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove
10327 entry condition.
10328 (Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left
10329 operand before doing the special overflow expansion.
10330 (Expand_N_Op_Eq): Likewise.
10331 (Expand_N_Op_Ge): Likewise.
10332 (Expand_N_Op_Gt): Likewise.
10333 (Expand_N_Op_Le): Likewise.
10334 (Expand_N_Op_Lt): Likewise.
10335 (Expand_N_Op_Ne): Likewise.
10336 (Minimized_Eliminated_Overflow_Check): Return False for Minimized
10337 if the size of the type is greater than that of Long_Long_Integer.
10338
10339 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10340
10341 * exp_ch5.adb (Expand_N_If_Statement): Only perform the
10342 simplification on return True/False for internal nodes when
10343 -fpreserve-control-flow is not set.
10344
10345 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10346
10347 * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Use
10348 Round_Even instead of Round in the call to the Machine routine.
10349
10350 2021-04-29 Bob Duff <duff@adacore.com>
10351
10352 * sem_attr.adb (Analyze_Attribute): Change "$" to "&".
10353 Otherwise, Errout will trip over an uninitialized (invalid)
10354 variable (Error_Msg_Unit_1).
10355
10356 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10357
10358 * libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero
10359 when the precision limit is reached by means of trailing zeros
10360 and prevent it from being overwritten later.
10361
10362 2021-04-29 Yannick Moy <moy@adacore.com>
10363
10364 * errout.adb (Output_Messages): Insert SGR strings where needed.
10365 * erroutc.adb (Output_Message_Txt): Insert SGR strings where
10366 needed in the text of the message itself.
10367 (Output_Msg_Text): Allow for style message not to start
10368 with (style).
10369 * erroutc.ads: Add new constants and functions to control colors
10370 in messages output to the terminal. Add variable Use_SGR_Control
10371 that should be set to True for using SGR color control strings.
10372
10373 2021-04-29 Yannick Moy <moy@adacore.com>
10374
10375 * sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply
10376 compile-time checking for overflows in non-static contexts
10377 including inlined code.
10378 (Eval_Arithmetic_Op): Use the new procedure.
10379 (Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure.
10380
10381 2021-04-29 Justin Squirek <squirek@adacore.com>
10382
10383 * checks.adb (Apply_Type_Conversion_Checks): Move out constraint
10384 check generation, and add case for general access types with
10385 constraints.
10386 (Make_Discriminant_Constraint_Check): Created to centralize
10387 generation of constraint checks for stored discriminants.
10388
10389 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10390
10391 * gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration
10392 type if the maximum integer size is lower than 64 bits.
10393
10394 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10395
10396 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files.
10397 (ADA_INCLUDE_SRCS): Remove libgnat/system.ads
10398
10399 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10400
10401 * exp_aggr.adb (Collect_Initialization_Statements): Removed.
10402 (Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix
10403 creation and insertion of Initialization_Statements. Do not set
10404 Initialization_Statements when a transient scope is involved.
10405 Move processing of Array_Slice here. Ensure that an object with
10406 an Array_Slice call gets its array component initialized. Add
10407 comments.
10408 * exp_ch7.adb: Update comments.
10409 (Store_Actions_In_Scope): Deal properly with an empty list which
10410 might now be generated by Convert_Aggr_In_Object_Decl.
10411 * exp_ch3.adb: Update comments.
10412 (Expand_N_Object_Declaration): Remove processing of Array_Slice.
10413
10414 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10415
10416 * sem_ch8.adb (Analyze_Object_Renaming): Update check for
10417 AI12-0401.
10418
10419 2021-04-29 Patrick Bernardi <bernardi@adacore.com>
10420
10421 * libgnat/s-stoele.ads (Storage_Offset): Cleanup comment.
10422
10423 2021-04-29 Gary Dismukes <dismukes@adacore.com>
10424
10425 * exp_util.adb (Add_Own_DIC): Relax the suppression of adding a
10426 DIC Check pragma that's done for abstract types by still doing
10427 it in the case where GNATprove_Mode is set.
10428
10429 2021-04-29 Joel Brobecker <brobecker@adacore.com>
10430
10431 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads,
10432 s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads.
10433
10434 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10435
10436 * layout.adb (Layout_Type): Refine type of a local variable with
10437 the required size of object from Int to Pos (it is initialized
10438 with 8 and only multiplied by 2); fix unbalanced parens in
10439 comment.
10440
10441 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10442
10443 * eval_fat.adb (Succ): Use Ureal_Half in a couple of places.
10444
10445 2021-04-29 Ed Schonberg <schonberg@adacore.com>
10446
10447 * sem_util.adb (Build_Constrained_Itype): Inhibit the generation
10448 of predicate functions for this Itype, which is created for an
10449 aggregate of a discriminated type. The object to which the
10450 aggregate is assigned, e.g a writable actual parameter, will
10451 apply the predicates if any are inherited from the base type.
10452
10453 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10454
10455 * sem_cat.adb (Set_Categorization_From_Pragmas): Remove special
10456 case for generic child units; remove optimization for empty list
10457 of pragmas; properly restore visibility.
10458
10459 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10460
10461 * sem_elab.adb (Process_SPARK_Instantiation): Fix typo in
10462 comment.
10463 * sem_prag.adb (Find_Related_Context): Add missing reference to
10464 No_Caching in the comment; handle pragmas on compilation units.
10465
10466 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10467
10468 * doc/gnat_rm/implementation_defined_attributes.rst: Change all
10469 occurrences of "permissible prefix" to "allowed prefix", for
10470 consistency.
10471 * gnat_rm.texi: Regenerate.
10472
10473 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10474
10475 * eval_fat.adb (Succ): Add a special case for zero if the type does
10476 not support denormalized numbers. Always use the canonical formula
10477 in other cases and add commentary throughout the function.
10478
10479 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10480
10481 * libgnat/s-fatgen.adb: Remove with clause for Interfaces and
10482 use type clauses for Interfaces.Unsigned_{16,32,64}.
10483 (Small16): Remove.
10484 (Small32): Likewise
10485 (Small64): Likewise.
10486 (Small80): Likewise.
10487 (Tiny16): Likewise.
10488 (Tiny32): Likewise.
10489 (Tiny64): Likewise.
10490 (Tiny80): Likewise.
10491 (Siz): Always use 16.
10492 (NR): New constant.
10493 (Rep_Last): Use it in the computation.
10494 (Exp_Factor): Remove special case for 80-bit.
10495 (Sign_Mask): Likewise.
10496 (Finite_Succ): New function implementing the Succ attribute for
10497 finite numbers.
10498 (Pred): Rewrite in terms of Finite_Succ.
10499 (Succ): Likewise.
10500
10501 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10502
10503 * debug_a.adb (Debug_Output_Astring): Remove obsolete comment.
10504
10505 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10506
10507 * sem_attr.adb (Check_Image_Type): Protect against empty
10508 Image_Type.
10509
10510 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10511
10512 * libgnat/a-nbnbin.ads (From_Universal_Image): New.
10513 (Big_Integer): Update definition.
10514 * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb
10515 (From_Universal_Image): New.
10516 (From_String): Remove alternate body, replaced by
10517 From_Universal_Image.
10518 (Big_Real): Update definition.
10519
10520 2021-04-29 Gary Dismukes <dismukes@adacore.com>
10521
10522 * sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features
10523 restriction for 'Class applied to an untagged incomplete
10524 type (when Ada_Version >= Ada_2005). Remove disabling of the
10525 warning message for such usage, along with the ??? comment,
10526 which no longer applies (because the -gnatg switch no longer
10527 sets Warn_On_Obsolescent_Feature).
10528
10529 2021-04-29 Yannick Moy <moy@adacore.com>
10530
10531 * errout.adb (Error_Msg_NEL): Extract span from node.
10532 (First_And_Last_Nodes): Use spans for subtype indications and
10533 attribute definition clauses.
10534 (Write_Source_Code_Lines): Fix for tabulation characters. Change
10535 output for large spans to skip intermediate lines.
10536 * sem_case.adb (Check_Choice_Set): Report duplicate choice on
10537 the Original_Node for the case.
10538 (Generic_Check_Choices): Set the Original_Node for the rewritten
10539 case, so that the subtree used in spans has the correct
10540 locations.
10541
10542 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10543
10544 * sem_ch13.adb, sem_util.adb: Fix style.
10545
10546 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10547
10548 * nlists.ads (List_Length): Adapt comment to match the
10549 behaviour.
10550
10551 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10552
10553 * sem_eval.adb (Eval_Selected_Component): Only consider compile
10554 time known aggregates.
10555
10556 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10557
10558 * libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16
10559 and Interfaces.Unsigned_32.
10560 (Small16): New constant.
10561 (Small32): Likewise.
10562 (Small64): Likewise.
10563 (Small80): Likewise.
10564 (Pred): Declare a local overlay for Small and return it negated
10565 for zero if the type does not support denormalized numbers.
10566 (Succ): Likewise, but return it directly.
10567
10568 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10569
10570 * inline.adb (Formal_Is_Used_Once): Refine type of the counter
10571 variable; remove redundant assignment.
10572
10573 2021-04-28 Patrick Bernardi <bernardi@adacore.com>
10574
10575 * libgnarl/s-interr.adb (Install_Restricted_Handlers): Change
10576 Prio parameter to type Interrupt_Priority.
10577 * libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise.
10578 * libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers):
10579 Likewise.
10580 * libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers):
10581 Likewise.
10582 * libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers):
10583 Likewise.
10584 * libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers):
10585 Likewise.
10586
10587 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10588
10589 * sem_type.ads (Write_Interp_Ref): Removed; no longer needed.
10590 * sem_type.adb (Headers): Removed; now the hash table is
10591 directly in the Interp_Map alone.
10592 (Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable.
10593 (Last_Overloaded): New variable to emulate Interp_Map.Last.
10594 (Add_One_Interp): Adapt to new data structure.
10595 (Get_First_Interp): Likewise.
10596 (Hash): Likewise.
10597 (Init_Interp_Tables): Likewise.
10598 (New_Interps): Likewise.
10599 (Save_Interps): Likewise; handle O_N variable like in
10600 Get_First_Interp.
10601 (Write_Interp_Ref): Removed; no longer needed.
10602
10603 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10604
10605 * inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc.
10606
10607 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10608
10609 * sem_ch13.adb (Analyze_Aspect_Static): Reuse
10610 Error_Msg_Ada_2020_Feature for aspect Static.
10611 (Analyze_One_Aspect): Likewise for aspect Full_Access.
10612
10613 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10614
10615 * sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a
10616 single check for the expression being present; adapt comments.
10617
10618 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10619
10620 * sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the
10621 error message.
10622
10623 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10624
10625 * sem_eval.adb (Eval_Selected_Component): Simplify with
10626 Unqualify.
10627
10628 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10629
10630 * libgnat/s-valrea.adb (Fast2Sum): New function.
10631 (Integer_to_Real): Use it in an iterated addition with exact
10632 error handling for the case where an extra digit is needed.
10633 Move local variable now only used in the exponentiation case.
10634
10635 2021-04-28 Yannick Moy <moy@adacore.com>
10636
10637 * errout.adb: (Error_Msg_Internal): Use span instead of
10638 location.
10639 (Error_Msg, Error_Msg_NEL): Add versions with span parameter.
10640 (Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE,
10641 Error_Msg_NW): Retrieve span from node.
10642 (First_Node): Use the new First_And_Last_Nodes.
10643 (First_And_Last_Nodes): Expand on previous First_Node. Apply to
10644 other nodes than expressions.
10645 (First_Sloc): Protect against inconsistent locations.
10646 (Last_Node): New function based on First_And_Last_Nodes.
10647 (Last_Sloc): New function similar to First_Sloc.
10648 (Output_Messages): Update output when -gnatdF is used. Use
10649 character ~ for making the span visible, similar to what is done
10650 in GCC and Clang.
10651 * errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span
10652 parameter.
10653 (First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms.
10654 * erroutc.adb: Adapt to Sptr field being a span.
10655 * erroutc.ads (Error_Msg_Object): Change field Sptr from
10656 location to span.
10657 * errutil.adb: Adapt to Sptr field being a span.
10658 * freeze.adb: Use Errout reporting procedures for nodes to get
10659 spans.
10660 * par-ch3.adb: Likewise.
10661 * par-prag.adb: Likewise.
10662 * par-util.adb: Likewise.
10663 * sem_case.adb: Likewise.
10664 * sem_ch13.adb: Likewise.
10665 * sem_ch3.adb: Likewise.
10666 * sem_prag.adb: Likewise.
10667 * types.ads: (Source_Span): New type for spans.
10668 (To_Span): Basic constructors for spans.
10669
10670 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10671
10672 * einfo.adb (Discriminant_Constraint): Refine assertion.
10673
10674 2021-04-28 Gary Dismukes <dismukes@adacore.com>
10675
10676 * exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma
10677 when the pragma occurs for an abstract type, since that could
10678 lead to a call to an abstract function, and such DIC checks can
10679 never be performed for abstract types in any case.
10680 * sem_disp.adb (Check_Dispatching_Context): Suppress the check
10681 for illegal calls to abstract subprograms when the call occurs
10682 within a Default_Initial_Condition aspect and the call is passed
10683 the current instance as an actual.
10684 (Has_Controlling_Current_Instance_Actual): New function to test
10685 a call to see if it has any actuals given by direct references
10686 to a current instance of a type
10687 * sem_res.adb (Resolve_Actuals): Issue an error for a call
10688 within a DIC aspect to a nonprimitive subprogram with an actual
10689 given by the name of the DIC type's current instance (which will
10690 show up as a reference to the formal parameter of a DIC
10691 procedure).
10692
10693 2021-04-28 Ed Schonberg <schonberg@adacore.com>
10694
10695 * exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
10696 the type extension when within a generic unit, even though
10697 expansion is disabled, to allow for proper resolution of
10698 selected components inherited from an ancestor.
10699
10700 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10701
10702 * sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type
10703 before assuming Ent is a typo.
10704 * sem_ch4.adb (Analyze_Expression_With_Actions): Update
10705 comments, minor reformatting.
10706 * sem_res.adb (Resolve_Declare_Expression): Add protection
10707 against no type.
10708
10709 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10710
10711 * exp_ch6.adb: Fix typo in comment.
10712 * sem_ch3.adb (Access_Subprogram_Declaration): Add missing call
10713 to Create_Extra_Formals. Remove obsolete bootstrap check.
10714 * sem_eval.adb (Eval_Selected_Component): Simplify a
10715 selected_component on an aggregate.
10716
10717 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10718
10719 * fmap.ads (Reset_Tables): Remove outdated references to
10720 GNSA/ASIS.
10721 * sem_eval.ads (Initialize): Likewise.
10722 * sem_type.adb (Headers): Remove initialization at elaboration.
10723 * sem_type.ads (Init_Interp_Tables): Remove outdated reference
10724 to gnatf.
10725 * stringt.ads (Initialize): Fix style in comment.
10726
10727 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10728
10729 * sem_res.ads: Update reference in comment.
10730 * sem_type.ads: Fix casing in a name of a unit.
10731
10732 2021-04-28 Yannick Moy <moy@adacore.com>
10733
10734 * ghost.adb (Check_Ghost_Context): Add continuation message when
10735 in predicate.
10736
10737 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10738
10739 * libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num
10740 for the component type of the table of powers of ten.
10741 * libgnat/s-valuer.adb (Round_Extra): Add assertion on Base.
10742
10743 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10744
10745 * sem_ch5.adb (Analyze_Case_Statement): Extend optimization to
10746 all objects; fix typo in comment.
10747
10748 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10749
10750 * exp_ch9.adb (Build_Barrier_Function): Refine type of a
10751 protected type entity.
10752 (Is_Pure_Barrier): Fix style.
10753
10754 2021-04-28 Bob Duff <duff@adacore.com>
10755
10756 * exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code,
10757 and always use OK_Convert_To, rather than Unchecked_Convert_To
10758 and Convert_To.
10759
10760 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10761
10762 * sem_ch3.adb (Analyze_Object_Declaration): Remove dead code.
10763 * ali.ads, ali.adb (Scan_ALI): Remove unused parameters.
10764 Remove unused code related to Xref lines.
10765 (Get_Typeref): Removed, no longer used.
10766
10767 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10768
10769 * exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func,
10770 Expand_N_Attribute_Reference): Use Get_Fullest_View instead of
10771 Validated_View.
10772 (Build_Record_VS_Func): Adjust to keep using Validated_View.
10773 (Expand_N_Attribute_Reference) [Valid]: Use
10774 Small_Integer_Type_For to allow for more compile time
10775 evaluations.
10776 * sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise
10777 support for N_Indexed_Component and fix support for
10778 N_Selected_Component which wasn't completely safe.
10779 (List_Cannot_Raise_CE): New.
10780 * libgnat/i-cobol.adb (Valid_Packed): Simplify test to address
10781 new GNAT warning.
10782
10783 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10784
10785 * .gitignore: New.
10786 * doc/share/conf.py: Add Python 3 compatibility.
10787 * doc/share/gnat.sty: Add missing file.
10788
10789 2021-04-28 Richard Wai <richard@annexi-strayline.com>
10790
10791 * libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor
10792 type definition to be consistent with identical definitions in other
10793 container packages. Add additional comments regarding the importance of
10794 maintaining the "Position" component for predefined equality.
10795 * libgnat/a-cohama.ads (Cursor): Likewise.
10796 * libgnat/a-cihama.ads (Cursor): Likewise.
10797 * libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects
10798 always have their "Position" component set to ensure predefined
10799 equality works as required.
10800 * libgnat/a-cohama.adb (Find, Insert): Likewise.
10801 * libgnat/a-cihama.adb (Find, Insert): Likewise.
10802
10803 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10804
10805 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a
10806 const or pure function because of a parameter whose type is pointer
10807 to function.
10808 * gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion
10809 between an actual and a formal that are unconstrained array types.
10810 (gnat_gimplify_expr) <CALL_EXPR>: New case.
10811 * gcc-interface/utils2.c (build_binary_op): Do not use |= operator.
10812 (gnat_stabilize_reference_1): Likewise.
10813 (gnat_rewrite_reference): Likewise.
10814 (build_unary_op): Do not clear existing TREE_CONSTANT on the result.
10815 (gnat_build_constructor): Also accept the address of a constant
10816 CONSTRUCTOR as constant element.
10817
10818 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10819
10820 * gcc-interface/trans.c (is_array_of_scalar_type): New predicate.
10821 (find_decls_r): New function.
10822 (return_slot_opt_for_pure_call_p): New predicate.
10823 (Call_to_gnu): Do not create a temporary for the return value if the
10824 parent node is an aggregate. If there is a target, try to apply the
10825 return slot optimization to regular calls to pure functions returning
10826 an array of scalar type.
10827
10828 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10829
10830 * gcc-interface/trans.c (language_function): Add comment.
10831 (loop_info_d): Add fndecl and invariants fields.
10832 (find_loop_for): Test fndecl instead of the context of var.
10833 (find_loop): New function.
10834 (Regular_Loop_to_gnu): Fold back into...
10835 (Loop_Statement_to_gnu): ...this. Emit invariants on entry, if any.
10836 (gnat_to_gnu) <N_Selected_Component>: Record nonconstant invariant
10837 offset computations in loops when optimization is enabled.
10838 * gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR.
10839
10840 2021-04-20 Martin Liska <mliska@suse.cz>
10841
10842 * gnatvsn.ads: Bump Library_Version to 12.
10843
10844 2021-04-13 Eric Botcazou <ebotcazou@adacore.com>
10845
10846 * gcc-interface/misc.c (gnat_init): Set default range bits to 0.
10847 * gcc-interface/trans.c (extract_encoding): Delete.
10848 (decode_name): Likewise.
10849 (File_Name_to_gnu): New function.
10850 (gigi): Call it to translate file names. Replace assertion on
10851 1-1 mapping between files and line maps with conditional error.
10852
10853 2021-04-11 Gerald Pfeifer <gerald@pfeifer.com>
10854
10855 * gnat_ugn.texi (Top): Avoid invalid "up" link.
10856
10857 2021-03-29 Eric Botcazou <ebotcazou@adacore.com>
10858
10859 PR ada/99802
10860 * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
10861 on the name of an N_Assignment_Statement to spot full access.
10862
10863 2021-03-10 Eric Botcazou <ebotcazou@adacore.com>
10864
10865 * gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
10866 for the main variant of an enumeration type declared as volatile.
10867
10868 2021-03-09 Mikael Pettersson <mikpelinux@gmail.com>
10869
10870 * raise-gcc.c: On Cygwin include mingw32.h to prevent
10871 windows.h from including x86intrin.h or emmintrin.h.
10872
10873 2021-03-05 Eric Botcazou <ebotcazou@adacore.com>
10874
10875 PR ada/99264
10876 * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
10877 MINSIGSTKSZ and bump size to 32KB.
10878 * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
10879
10880 2021-03-02 Mikael Pettersson <mikpelinux@gmail.com>
10881
10882 PR bootstrap/98590
10883 * cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.
10884
10885 2021-03-02 Eric Botcazou <ebotcazou@adacore.com>
10886
10887 PR ada/99095
10888 * sem_ch8.adb (Check_Constrained_Object): Restrict again the special
10889 optimization for limited types to non-array types except in the case
10890 of an extended return statement.
10891
10892 2021-03-02 Eric Botcazou <ebotcazou@adacore.com>
10893
10894 PR ada/99020
10895 * sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
10896 only if the type is not private.
10897
10898 2021-02-26 YunQiang Su <yunqiang.su@cipunited.com>
10899
10900 PR ada/98996
10901 * Makefile.rtl: <mips*-*-linux*>
10902 add 128Bit operation file for MIPS N64 and N32 to
10903 LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS
10904
10905 2021-02-12 Arnaud Charlet <charlet@adacore.com>
10906
10907 * repinfo.ads, repinfo.adb (*SO_Ref*): Restore.
10908
10909 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
10910
10911 * gcc-interface/decl.c (components_to_record): If the first component
10912 with rep clause is the _Parent field with variable size, temporarily
10913 set it aside when computing the internal layout of the REP part again.
10914 * gcc-interface/utils.c (finish_record_type): Revert to taking the
10915 maximum when merging sizes for all record types with rep clause.
10916 (merge_sizes): Put SPECIAL parameter last and adjust recursive calls.
10917
10918 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
10919
10920 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
10921 two fields of the fat pointer type addressable, and do not make the
10922 template type read-only.
10923 <E_Record_Type>: If the type has discriminants mark it as may_alias.
10924 * gcc-interface/utils.c (make_dummy_type): Likewise.
10925 (build_dummy_unc_pointer_types): Likewise.
10926
10927 2021-01-26 Marius Hillenbrand <mhillen@linux.ibm.com>
10928
10929 PR ada/98228
10930 * gcc-interface/utils.c (maybe_pad_type): Test the size of the new
10931 packable type instead of its alignment for addressability's sake.
10932
10933 2021-01-25 Eric Botcazou <ebotcazou@adacore.com>
10934
10935 * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
10936 of the parameters and do not set TREE_PUBLIC on the thunk.
10937 (maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
10938 * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
10939 of the parameters here...
10940 (begin_subprog_body): ...instead of here.
10941
10942 2021-01-19 Eric Botcazou <ebotcazou@adacore.com>
10943
10944 PR ada/98740
10945 * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
10946
10947 2021-01-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10948
10949 PR ada/98595
10950 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
10951 wraplf version of Aux_Long_Long_Float.
10952
10953 2021-01-03 Eric Botcazou <ebotcazou@adacore.com>
10954
10955 * gnatvsn.ads: Bump copyright year.
10956
10957 2021-01-01 Jakub Jelinek <jakub@redhat.com>
10958
10959 * gnat_ugn.texi: Bump @copying's copyright year.
10960 * gnat_rm.texi: Likewise.
10961
10962 2021-01-01 Jakub Jelinek <jakub@redhat.com>
10963
10964 * ChangeLog-2020: Rotate ChangeLog. New file.
10965
10966 \f
10967 Copyright (C) 2021 Free Software Foundation, Inc.
10968
10969 Copying and distribution of this file, with or without modification,
10970 are permitted in any medium without royalty provided the copyright
10971 notice and this notice are preserved.