]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/ChangeLog
914086ff02fa7d11034ec4a96f2feff61a199dfe
[thirdparty/gcc.git] / gcc / ada / ChangeLog
1 2021-10-30 Alexandre Oliva <oliva@adacore.com>
2
3 * doc/gnat_rm/security_hardening_features.rst: Mention
4 optimization to operations with implied compares.
5
6 2021-10-28 Alexandre Oliva <oliva@adacore.com>
7
8 * doc/gnat_rm/security_hardening_features.rst
9 (Hardened Conditionals): New.
10
11 2021-10-25 Arnaud Charlet <charlet@adacore.com>
12
13 * gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Remove
14 gnatfind and gnatxref.
15
16 2021-10-25 Ed Schonberg <schonberg@adacore.com>
17
18 * sem_ch4.adb (Has_Possible_Literal_Aspects): If analysis of an
19 operator node fails to find a possible interpretation, and one
20 of its operands is a literal or a named number, assign to the
21 node the corresponding class type (Any_Integer, Any_String,
22 etc).
23 (Operator_Check): Call it before emitting a type error.
24 * sem_res.adb (Has_Applicable_User_Defined_Literal): Given a
25 literal and a type, determine whether the type has a
26 user_defined aspect that can apply to the literal, and rewrite
27 the node as call to the corresponding function. Most of the code
28 was previously in procedure Resolve.
29 (Try_User_Defined_Literal): Check operands of a predefined
30 operator that fails to resolve, and apply
31 Has_Applicable_User_Defined_Literal to literal operands if any,
32 to find if a conversion will allow the operator to resolve
33 properly.
34 (Resolve): Call the above when a literal or an operator with a
35 literal operand fails to resolve.
36
37 2021-10-25 Bob Duff <duff@adacore.com>
38
39 * freeze.adb (Freeze_Fixed_Point_Type): Remove
40 previously-inserted test for Uint_0; no longer needed.
41 * gen_il-gen.ads: Improve comments.
42 * repinfo.adb (Rep_Value): Use Ubool type for B.
43 * repinfo.ads (Node_Ref): Use Unegative type.
44 (Node_Ref_Or_Val): Document that values of this type can be
45 No_Uint.
46 * exp_disp.adb (Make_Disp_Requeue_Body): Minor comment fix.
47 * sem_ch3.adb: Likewise.
48 * sem_ch8.adb: Likewise.
49 * sinfo-utils.adb (End_Location): End_Span can never be No_Uint,
50 so remove the "if No (L)" test.
51 * uintp.adb (Image_String): Use "for ... of" loop.
52 * uintp.ads (Unegative): New type for negative integers. We
53 give it a long name (unlike Unat and Upos) because it is rarely
54 used.
55
56 2021-10-25 Etienne Servais <servais@adacore.com>
57
58 * errout.adb (Skip_Msg_Insertion_Warning): Adapt and format as
59 Erroutc.Prescan_Message.Parse_Message_Class.
60 (Warn_Insertion): Adapt to new format.
61 * errout.ads: Update documentation.
62 * erroutc.adb (Get_Warning_Tag): Adapt to new format.
63 (Prescan_Message): Introduce Parse_Message_Class function.
64 (Validate_Specific_Warnings): Update ?W? to ?.w?.
65 * erroutc.ads: Update type and documentation.
66 * checks.adb (Validity_Check_Range): Update ?X? to ?.x?.
67 * exp_ch11.adb (Possible_Local_Raise): Update ?X? to ?.x?.
68 (Warn_If_No_Local_Raise): Likewise.
69 (Warn_If_No_Propagation): Likewise.
70 (Warn_No_Exception_Propagation_Active): Likewise.
71 * exp_ch4.adb (Expand_N_Allocator): Attach warning message to
72 -gnatw_a.
73 * exp_prag.adb (Expand_Pragma_Check): Update ?A? to ?.a?.
74 * exp_util.adb (Activate_Atomic_Synchronization): Update ?N? to
75 ?.n?.
76 (Add_Invariant_Check): Update ?L? to ?.l?.
77 * freeze.adb (Check_Suspicious_Modulus): Update ?M? to ?.m?.
78 (Freeze_Entity): Update ?T? to ?.t?, ?Z? to ?.z?.
79 * par-util.adb (Warn_If_Standard_Redefinition): Update ?K? to
80 ?.k?.
81 * sem_attr.adb (Min_Max): Update ?U? to ?.u?.
82 * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Update ?V?
83 to ?.v?.
84 (Adjust_Record_For_Reverse_Bit_Order_Ada_95): Update ?V? to ?.v?.
85 (Component_Size_Case): Update ?S? to ?.s?.
86 (Analyze_Record_Representation_Clause): Update ?S? to ?.s? and
87 ?C? to ?.c?.
88 (Add_Call): Update ?L? to ?.l?.
89 (Component_Order_Check): Attach warning message to -gnatw_r.
90 (Check_Component_List): Update ?H? to ?.h?.
91 (Set_Biased): Update ?B? to ?.b?.
92 * sem_ch3.adb (Modular_Type_Declaration): Update ?M? to ?.m?.
93 * sem_ch4.adb (Analyze_Mod): Update ?M? to ?.m?.
94 (Analyze_Quantified_Expression): Update ?T? to ?.t?.
95 * sem_ch6.adb (Check_Conformance): Attach warning message to
96 -gnatw_p.
97 (List_Inherited_Pre_Post_Aspects): Update ?L? to ?.l?.
98 * sem_ch7.adb (Unit_Requires_Body_Info): Update ?Y? to ?.y?.
99 * sem_ch8.adb (Analyze_Object_Renaming): Update ?R? to ?.r?.
100 * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Attach
101 warning message to -gnatw_c.
102 * sem_res.adb (Check_Argument_Order): Update ?P? to ?.p?.
103 (Resolve_Comparison_Op): Update ?U? to ?.u?.
104 (Resolve_Range): Update ?U? to ?.u?.
105 (Resolve_Short_Circuit): Update ?A? to ?.a?.
106 (Resolve_Unary_Op): Update ?M? to ?.m?.
107 * sem_util.adb (Check_Result_And_Post_State): Update ?T? to ?.t?.
108 * sem_warn.adb (Output_Unused_Warnings_Off_Warnings): Update ?W?
109 to ?.w?.
110 * warnsw.ads: Update documentation for -gnatw_c.
111
112 2021-10-25 Bob Duff <duff@adacore.com>
113
114 * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Fix
115 comment.
116
117 2021-10-25 Bob Duff <duff@adacore.com>
118
119 * gen_il-gen.adb (Put_Seinfo): Generate type
120 Seinfo.Type_Only_Enum based on type
121 Gen_IL.Internals.Type_Only_Enum. Automatically generating a copy
122 of the type will help keep them in sync. (Note that there are
123 no Ada compiler packages imported into Gen_IL.) Add a Type_Only
124 field to Field_Descriptor, so this information is available in
125 the Ada compiler (as opposed to just in the Gen_IL "compiler").
126 (One_Comp): Add initialization of the Type_Only field of
127 Field_Descriptor.
128 * gen_il-internals.ads (Image): Image function for
129 Type_Only_Enum.
130 * atree.ads (Node_To_Fetch_From): New function to compute which
131 node to fetch from, based on the Type_Only aspect.
132 * atree.adb (Get_Field_Value): Call Node_To_Fetch_From.
133 * treepr.adb (Print_Entity_Field): Call Node_To_Fetch_From.
134 (Print_Node_Field): Assert.
135 * sinfo-utils.adb (Walk_Sinfo_Fields,
136 Walk_Sinfo_Fields_Pairwise): Asserts.
137
138 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
139
140 * exp_ch4.adb (Expand_Composite_Equality): Fix style.
141 (Element_To_Compare): Simplify loop.
142 (Expand_Record_Equality): Adapt calls to Element_To_Compare.
143
144 2021-10-25 Steve Baird <baird@adacore.com>
145
146 * sem_case.adb (Composite_Case_Ops.Box_Value_Required): A new
147 function which takes a component type and returns a Boolean.
148 Returns True for the cases which were formerly forbidden as
149 components (these checks were formerly performed in the
150 now-deleted procedure
151 Check_Composite_Case_Selector.Check_Component_Subtype).
152 (Composite_Case_Ops.Normalized_Case_Expr_Type): Hoist this
153 function out of the Array_Case_Ops package because it has been
154 generalized to also do the analogous thing in the case of a
155 discriminated type.
156 (Composite_Case_Ops.Scalar_Part_Count): Return 0 if
157 Box_Value_Required returns True for the given type/subtype.
158 (Composite_Case_Ops.Choice_Analysis.Choice_Analysis.Component_Bounds_Info.
159 Traverse_Discrete_Parts): Return without doing anything if
160 Box_Value_Required returns True for the given type/subtype.
161 (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
162 If Box_Value_Required yields True for a given component type,
163 then check that the value of that component in a choice
164 expression is indeed a box (in which case the component is
165 ignored).
166 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
167 documentation.
168 * gnat_rm.texi: Regenerate.
169
170 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
171
172 * libgnat/a-nbnbin__gmp.adb (From_String): Fix predicate
173 mismatch between subprogram declaration and body.
174
175 2021-10-25 Bob Duff <duff@adacore.com>
176
177 * einfo-utils.adb (Declaration_Node): Avoid returning the
178 following node kinds: N_Assignment_Statement, N_Integer_Literal,
179 N_Procedure_Call_Statement, N_Subtype_Indication, and
180 N_Type_Conversion. Assert that the result is in N_Is_Decl or
181 empty.
182 * gen_il-gen-gen_nodes.adb (N_Is_Decl): Modify to match the
183 things that Declaration_Node can return.
184
185 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
186
187 * libgnat/a-strsup.ads (Super_Length, Super_Element,
188 Super_Slice): Add Global contracts.
189
190 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
191
192 * exp_ch3.adb (Predefined_Primitive_Bodies): Simplify detection
193 of existing equality operator.
194
195 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
196
197 * exp_ch3.adb (Predefined_Primitive_Bodies): Remove redundant
198 conditions related to interface types.
199
200 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
201
202 * adaint.c (__gnat_portable_spawn): Do not expect execv to
203 return 0.
204 (__gnat_portable_no_block_spawn): Likewise.
205
206 2021-10-25 Ghjuvan Lacambre <lacambre@adacore.com>
207
208 * sem_ch8.adb (Analyze_Subprogram_Renaming): Set New_S to Empty.
209
210 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
211
212 * libgnat/a-strunb.ads (Unbounded_String): Reference is never
213 null.
214 * libgnat/a-strunb.adb (Finalize): Copy reference while it needs
215 to be deallocated.
216
217 2021-10-25 Piotr Trojanek <trojanek@adacore.com>
218
219 * lib-xref.adb (Get_Through_Renamings): Exit loop when an
220 enumeration literal is found.
221
222 2021-10-25 Arnaud Charlet <charlet@adacore.com>
223
224 * libgnat/s-widthu.adb: Add pragma Annotate.
225
226 2021-10-25 Javier Miranda <miranda@adacore.com>
227
228 * sem_ch8.adb (Build_Class_Wide_Wrapper): Previous version split
229 in two subprograms to factorize its functionality:
230 Find_Suitable_Candidate, and Build_Class_Wide_Wrapper. These
231 routines are also placed in the new subprogram
232 Handle_Instance_With_Class_Wide_Type.
233 (Handle_Instance_With_Class_Wide_Type): New subprogram that
234 encapsulates all the code that handles instantiations with
235 class-wide types.
236 (Analyze_Subprogram_Renaming): Adjust code to invoke the new
237 nested subprogram Handle_Instance_With_Class_Wide_Type; adjust
238 documentation.
239
240 2021-10-25 Bob Duff <duff@adacore.com>
241
242 * einfo-utils.ads, einfo-utils.adb (Alias, Set_Alias,
243 Renamed_Entity, Set_Renamed_Entity, Renamed_Object,
244 Set_Renamed_Object): Add assertions that reflect how these are
245 supposed to be used and what they are supposed to return.
246 (Renamed_Entity_Or_Object): New getter.
247 (Set_Renamed_Object_Of_Possibly_Void): Setter that allows N to
248 be E_Void.
249 * checks.adb (Ensure_Valid): Use Renamed_Entity_Or_Object
250 because this is called for both cases.
251 * exp_dbug.adb (Debug_Renaming_Declaration): Use
252 Renamed_Entity_Or_Object because this is called for both cases.
253 Add assertions.
254 * exp_util.adb (Possible_Bit_Aligned_Component): Likewise.
255 * freeze.adb (Freeze_All_Ent): Likewise.
256 * sem_ch5.adb (Within_Function): Likewise.
257 * exp_attr.adb (Calculate_Header_Size): Call Renamed_Entity
258 instead of Renamed_Object.
259 * exp_ch11.adb (Expand_N_Raise_Statement): Likewise.
260 * repinfo.adb (Find_Declaration): Likewise.
261 * sem_ch10.adb (Same_Unit, Process_Spec_Clauses,
262 Analyze_With_Clause, Install_Parents): Likewise.
263 * sem_ch12.adb (Build_Local_Package, Needs_Body_Instantiated,
264 Build_Subprogram_Renaming, Check_Formal_Package_Instance,
265 Check_Generic_Actuals, In_Enclosing_Instance,
266 Denotes_Formal_Package, Process_Nested_Formal,
267 Check_Initialized_Types, Map_Formal_Package_Entities,
268 Restore_Nested_Formal): Likewise.
269 * sem_ch6.adb (Report_Conflict): Likewise.
270 * sem_ch8.adb (Analyze_Exception_Renaming,
271 Analyze_Generic_Renaming, Analyze_Package_Renaming,
272 Is_Primitive_Operator_In_Use, Declared_In_Actual,
273 Note_Redundant_Use): Likewise.
274 * sem_warn.adb (Find_Package_Renaming): Likewise.
275 * sem_elab.adb (Ultimate_Variable): Call Renamed_Object instead
276 of Renamed_Entity.
277 * exp_ch6.adb (Get_Function_Id): Call
278 Set_Renamed_Object_Of_Possibly_Void, because the defining
279 identifer is still E_Void at this point.
280 * sem_util.adb (Function_Call_Or_Allocator_Level): Likewise.
281 Remove redundant (unreachable) code.
282 (Is_Object_Renaming, Is_Valid_Renaming): Call Renamed_Object
283 instead of Renamed_Entity.
284 (Get_Fullest_View): Call Renamed_Entity instead of
285 Renamed_Object.
286 (Copy_Node_With_Replacement): Call
287 Set_Renamed_Object_Of_Possibly_Void because the defining entity
288 is sometimes E_Void.
289 * exp_ch5.adb (Expand_N_Assignment_Statement): Protect a call to
290 Renamed_Object with Is_Object to avoid assertion failure.
291 * einfo.ads: Minor comment fixes.
292 * inline.adb: Minor comment fixes.
293 * tbuild.ads: Minor comment fixes.
294
295 2021-10-25 Arnaud Charlet <charlet@adacore.com>
296
297 * sem_ch13.adb (Build_Discrete_Static_Predicate): Remove use of
298 exception propagation since this code is exercised during the
299 bootstrap.
300
301 2021-10-25 Yannick Moy <moy@adacore.com>
302
303 * sem_ch13.adb (Freeze_Entity_Checks): Perform same check on
304 predicate expression inside pragma as inside aspect.
305 * sem_util.adb (Is_Current_Instance): Recognize possible
306 occurrence of subtype as current instance inside the pragma
307 Predicate.
308
309 2021-10-25 Ghjuvan Lacambre <lacambre@adacore.com>
310
311 * erroutc.adb (Count_Compile_Time_Pragma_Warnings): Don't count
312 deleted warnings.
313
314 2021-10-22 Eric Gallager <egallager@gcc.gnu.org>
315
316 PR other/102663
317 * gcc-interface/Make-lang.in: Allow dvi-formatted
318 documentation to be installed.
319
320 2021-10-20 Bob Duff <duff@adacore.com>
321
322 * gcc-interface/decl.c (gnat_to_gnu_entity): Remove unnecessary
323 call to No_Uint_To_0.
324
325 2021-10-20 Richard Kenner <kenner@adacore.com>
326
327 * exp_unst.adb (Visit_Node, when N_Subprogram_Call): Never treat
328 instrinsic subprograms as nested.
329
330 2021-10-20 Yannick Moy <moy@adacore.com>
331
332 * libgnat/s-widlllu.ads: Mark in SPARK.
333 * libgnat/s-widllu.ads: Likewise.
334 * libgnat/s-widuns.ads: Likewise.
335 * libgnat/s-widthu.adb: Add ghost code and a
336 pseudo-postcondition.
337
338 2021-10-20 Yannick Moy <moy@adacore.com>
339
340 * libgnat/a-nbnbin__ghost.adb (Signed_Conversions,
341 Unsigned_Conversions): Mark subprograms as not imported.
342 * libgnat/a-nbnbin__ghost.ads: Provide a dummy body.
343
344 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
345
346 * sem_eval.adb (Eval_Type_Conversion): If the target subtype is
347 a static floating-point subtype and the result is a real literal,
348 consider its machine-rounded value to raise Constraint_Error.
349 (Test_In_Range): Turn local variables into constants.
350
351 2021-10-20 Doug Rupp <rupp@adacore.com>
352
353 * libgnat/g-io-put__vxworks.adb: Remove (unused)
354 * libgnat/s-parame__ae653.ads: Likewise.
355 * libgnat/s-thread.ads: Likewise.
356 * libgnat/s-thread__ae653.adb: Likewise.
357
358 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
359
360 * sem_eval.ads (Machine_Number): New inline function.
361 * sem_eval.adb (Machine_Number): New function body implementing
362 the machine rounding operation specified by RM 4.9(38/2).
363 (Check_Non_Static_Context): Call Machine_Number and set the
364 Is_Machine_Number flag consistently on the resulting node.
365 * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Likewise.
366 * checks.adb (Apply_Float_Conversion_Check): Call Machine_Number.
367 (Round_Machine): Likewise.
368
369 2021-10-20 Johannes Kliemann <kliemann@adacore.com>
370
371 * vxworks7-cert-rtp-link.spec: Add the definition of
372 __wrs_rtp_base.
373
374 2021-10-20 Piotr Trojanek <trojanek@adacore.com>
375
376 * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject boxes in
377 record delta aggregates.
378
379 2021-10-20 Justin Squirek <squirek@adacore.com>
380
381 * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
382 generation of accessibility checks to be more consolidated and
383 get triggered properly in required cases.
384 * sem_util.adb (Accessibility_Level): Add extra check within
385 condition to handle aliased formals properly in more cases.
386
387 2021-10-20 Justin Squirek <squirek@adacore.com>
388
389 * exp_ch7.adb (Make_Final_Call): Detect expanded protected types
390 and use original protected type in order to calculate
391 appropriate finalization routine.
392
393 2021-10-20 Johannes Kliemann <kliemann@adacore.com>
394
395 * libgnat/a-nbnbin__ghost.ads: Add ghost package.
396
397 2021-10-20 Piotr Trojanek <trojanek@adacore.com>
398
399 * sem_aggr.adb (Variant_Depth): Refine type from Integer to
400 Natural.
401
402 2021-10-20 Bob Duff <duff@adacore.com>
403
404 * atree.ads: Comment improvements. How is a "completely new
405 node" different from a "new node"? Document default values
406 corresponding to field types.
407 * exp_ch7.adb (Process_Tagged_Type_Declaration): Use
408 higher-level Scope_Depth instead of Scope_Depth_Value. Remove
409 confusing comment: not clear what a "true" library level package
410 is.
411 * uintp.adb (Image_Out): Print No_Uint in a more readable way.
412 * gen_il-gen.adb, gen_il-gen-gen_entities.adb,
413 gen_il-gen-gen_nodes.adb, gen_il-types.ads: Tighten up the
414 subtypes of fields whose type is Uint, where possible; use
415 more-constrained subtypes such as Unat.
416 * einfo-utils.adb, einfo-utils.ads, exp_attr.adb,
417 exp_ch3.adb, exp_intr.adb, exp_unst.adb, exp_util.adb,
418 freeze.adb, repinfo.adb, sem.adb, sem_ch12.adb, sem_ch13.adb,
419 sem_ch3.adb, sem_ch8.adb, sem_util.adb, sprint.adb, treepr.adb:
420 No longer use Uint_0 to indicate "unknown" or "not yet known"
421 for various fields whose type is Uint. Use No_Uint for that,
422 except in a small number of legacy cases that cause test
423 failures. Protect many queries of such fields with calls to
424 Known_... functions. Improve comments.
425 * exp_aggr.adb: Likewise.
426 (Is_OK_Aggregate): Check whether Csiz is present.
427 (Aggr_Assignment_OK_For_Backend): Ensure we do not access an
428 uninitialized size.
429 * exp_strm.adb (Build_Elementary_Input_Call,
430 Build_Elementary_Write_Call): Check whether P_Size is present.
431 * cstand.adb: Leave Component_Size of Any_Composite unknown.
432 Similar for RM_Size of Standard_Exception_Type. These should
433 not be used.
434 * einfo.ads: Comment improvements.
435 * exp_disp.ads: Minor.
436 * gen_il-internals.ads, gen_il-internals.adb: Minor.
437 * sinfo-utils.adb: Take advantage of full-coverage rules.
438 * types.h: Minor.
439
440 2021-10-20 Gary Dismukes <dismukes@adacore.com>
441
442 * sem_ch6.adb: Add with and use of Warnsw.
443 (Check_Conformance): Report a warning when subtypes or
444 designated subtypes of formal parameters or result subtypes
445 denote different declarations between the spec and body of the
446 (Subprogram_Subtypes_Have_Same_Declaration): New function nested
447 within Check_Conformance that determines whether two subtype
448 entities referenced in a subprogram come from the same
449 declaration. Returns True immediately if the subprogram is in a
450 generic instantiation, or the subprogram is marked Is_Internal
451 or is declared in an internal (GNAT library) unit, or GNAT_Mode
452 is enabled, otherwise compares the nonlimited views of the
453 entities (or their designated subtypes' nonlimited views in the
454 anonymous access cases).
455 (Nonlimited_View_Of_Subtype): New function nested within
456 function Subprogram_Subtypes_Have_Same_Declaration that returns
457 Non_Limited_View of a type or subtype that is an incomplete or
458 class-wide type that comes from a limited of a
459 package (From_Limited_With is True for the entity), or returns
460 Full_View when the nonlimited view is an incomplete type.
461 Otherwise returns the entity passed in.
462 * warnsw.ads (Warn_On_Pedantic_Checks): New warning flag.
463 (type Warning_Record): New component Warn_On_Pedantic_Checks.
464 * warnsw.adb (All_Warnings): Set Warn_On_Pedantic_Checks from
465 parameter Setting.
466 (Restore_Warnings): Restore the value of the
467 Warn_On_Pedantic_Checks flag.
468 (Save_Warnings): Save the value of the Warn_On_Pedantic_Checks
469 flag.
470 (Set_Underscore_Warning_Switch): Add settings of the
471 Warn_On_Pedantic flag according to the switch ("-gnatw_p" vs.
472 "-gnatw_P").
473 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
474 documentation of new switches -gnatw_p and -gnatw_P (warnings
475 for pedantic checks).
476 * gnat_ugn.texi: Regenerate.
477 * usage.adb: Add Warn_On_Pedantic_Checks.
478
479 2021-10-20 Piotr Trojanek <trojanek@adacore.com>
480
481 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Guard
482 against equality of an uninitialized RM_Size field.
483
484 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
485
486 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Also propagate an
487 interface name on an intrinsic subprogram. Remove obsolete comment.
488 * libgnat/s-atopri.ads (Atomic_Load): New generic intrinsic function
489 (Atomic_Load_8): Rewrite into instantiation.
490 (Atomic_Load_16): Likewise.
491 (Atomic_Load_32): Likewise.
492 (Atomic_Load_64): Likewise.
493 (Sync_Compare_And_Swap): New generic intrinsic function.
494 (Sync_Compare_And_Swap_8): Rewrite into instantiation.
495 (Sync_Compare_And_Swap_16): Likewise.
496 (Sync_Compare_And_Swap_32): Likewise.
497 (Sync_Compare_And_Swap_64): Likewise.
498 (Lock_Free_Read): New generic inline function.
499 (Lock_Free_Read_8): Rewrite into instantiation.
500 (Lock_Free_Read_16): Likewise.
501 (Lock_Free_Read_32): Likewise.
502 (Lock_Free_Read_64): Likewise.
503 (Lock_Free_Try_Write): New generic inline function.
504 (Lock_Free_Try_Write_8): Rewrite into instantiation.
505 (Lock_Free_Try_Write_16): Likewise.
506 (Lock_Free_Try_Write_32): Likewise.
507 (Lock_Free_Try_Write_64): Likewise.
508 * libgnat/s-atopri.adb (Lock_Free_Read): New function body.
509 (Lock_Free_Read_8): Delete.
510 (Lock_Free_Read_16): Likewise.
511 (Lock_Free_Read_32): Likewise.
512 (Lock_Free_Read_64): Likewise.
513 (Lock_Free_Try_Write): New function body.
514 (Lock_Free_Try_Write_8): Delete.
515 (Lock_Free_Try_Write_16): Likewise.
516 (Lock_Free_Try_Write_32): Likewise.
517 (Lock_Free_Try_Write_64): Likewise.
518 * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add): Use type-generic GCC
519 atomic builtin and tidy up implementation.
520 (Atomic_Fetch_And_Subtract): Likewise.
521 * libgnat/s-aomoar.adb (Atomic_Fetch_And_Add): Likewise.
522 (Atomic_Fetch_And_Subtract): Likewise.
523 * libgnat/s-atopex.adb (Atomic_Exchange): Likewise.
524 (Atomic_Compare_And_Exchange): Likewise.
525
526 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
527
528 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
529 Replace test on Convention_Intrinsic with Is_Intrinsic_Subprogram.
530 (gnat_to_gnu_param): Likewise.
531 (gnat_to_gnu_subprog_type): Likewise.
532 * gcc-interface/trans.c (elaborate_all_entities_for_package): Ditto.
533
534 2021-10-20 Eric Botcazou <ebotcazou@adacore.com>
535
536 * sem_eval.ads (Check_Non_Static_Context): Update documentation.
537 * sem_eval.adb (In_Any_Integer_Context): Change parameter type,
538 adjust accordingly and remove unreachable case.
539 (Eval_Integer_Literal): Consider the node kind throughout and
540 trim down verbose condition.
541
542 2021-10-20 Doug Rupp <rupp@adacore.com>
543
544 * Makefile.rtl: Remove references to system-vxworks-ppc.ads
545 and system-vxworks-x86.ads.
546 * libgnat/system-vxworks-ppc.ads: Remove.
547 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
548 * libgnat/system-vxworks-x86.ads: Likewise.
549
550 2021-10-20 Yannick Moy <moy@adacore.com>
551
552 * sem_ch4.adb (Analyze_QUantified_Expression): Issue warning on
553 conjunct/disjunct sub-expression of the full expression inside a
554 quantified expression, when it does not reference the quantified
555 variable.
556
557 2021-10-20 Marc Poulhiès <poulhies@adacore.com>
558
559 * checks.adb (Insert_Valid_Check): in case of checked type
560 conversion, update Typ to match Exp's type and add call to
561 Analyze_And_Resolve.
562
563 2021-10-20 Arnaud Charlet <charlet@adacore.com>
564
565 PR ada/100486
566 * sem_prag.adb (Check_Valid_Library_Unit_Pragma): Do not raise an
567 exception as part of the bootstrap.
568
569 2021-10-15 Richard Biener <rguenther@suse.de>
570
571 * gcc-interface/misc.c (gnat_post_options): Do not warn
572 about DBX_DEBUG use here.
573
574 2021-10-14 Alexandre Oliva <oliva@adacore.com>
575
576 * par-ch10.adb (P_Compilation_Unit): Reenable ada83 library
577 unit renaming test and error.
578
579 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
580
581 * gcc-interface/gigi.h (resolve_atomic_size): Declare.
582 (list_third): New inline function.
583 * gcc-interface/decl.c (type_for_atomic_builtin_p): New function.
584 (resolve_atomic_builtin): Likewise.
585 (gnat_to_gnu_subprog_type): Perform type resolution for most of
586 type-generic GCC atomic builtins and give an error for the rest.
587 * gcc-interface/utils2.c (resolve_atomic_size): Make public.
588
589 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
590
591 * gcc-interface/trans.c (gnat_to_gnu) <N_Pop_Constraint_Error_Label>:
592 Given the warning only if No_Exception_Propagation is active.
593 <N_Pop_Storage_Error_Label>: Likewise.
594 <N_Pop_Program_Error_Label>: Likewise.
595
596 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
597
598 * gcc-interface/decl.c (promote_object_alignment): Add GNU_SIZE
599 parameter and use it for the size of the object if not null.
600 (gnat_to_gnu_entity) <E_Variable>: Perform the automatic alignment
601 promotion for objects whose nominal subtype is of variable size.
602 (gnat_to_gnu_field): Adjust call to promote_object_alignment.
603
604 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
605
606 * gcc-interface/decl.c (gnat_to_gnu_param): Strip padding types
607 only if the size does not change in the process. Rename local
608 variable and add bypass for initialization procedures.
609
610 2021-10-11 Doug Rupp <rupp@adacore.com>
611
612 * libgnat/s-thread.ads: Fix comments. Remove unused package
613 imports.
614 (Thread_Body_Exception_Exit): Remove Exception_Occurrence
615 parameter.
616 (ATSD): Declare type locally.
617 * libgnat/s-thread__ae653.adb: Fix comments. Remove unused
618 package imports. Remove package references to Stack_Limit
619 checking.
620 (Install_Handler): Remove.
621 (Set_Sec_Stack): Likewise.
622 (Thread_Body_Enter): Remove calls to Install_Handler and
623 Stack_Limit checking.
624 (Thread_Body_Exception_Exit): Remove Exception_Occurrence
625 parameter.
626 (Init_RTS): Call local Get_Sec_Stack. Remove call to
627 Install_Handler. Remove references to accessors for
628 Get_Sec_Stack and Set_Sec_Stack. Remove OS check.
629 (Set_Sec_Stack): Remove.
630
631 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
632
633 * exp_ch3.adb (Make_Predefined_Primitive_Specs,
634 Predefined_Primitive_Bodies): Remove guard with restriction
635 No_Dispatching_Calls.
636
637 2021-10-11 Steve Baird <baird@adacore.com>
638
639 * sem_attr.adb (Analyze_Attribute_Old_Result): Permit an
640 attribute reference inside a compiler-generated _Postconditions
641 procedure. In this case, Subp_Decl is assigned the declaration
642 of the enclosing subprogram.
643 * exp_util.adb (Insert_Actions): When climbing up the tree
644 looking for an insertion point, do not climb past an
645 N_Iterated_Component/Element_Association, since this could
646 result in inserting a reference to a loop parameter at a
647 location outside of the scope of that loop parameter. On the
648 other hand, be careful to preserve existing behavior in the case
649 of an N_Component_Association node.
650
651 2021-10-11 Steve Baird <baird@adacore.com>
652
653 * exp_ch6.adb (Can_Fold_Predicate_Call): Do not attempt folding
654 if there is more than one predicate involved. Recall that
655 predicate aspect specification are additive, not overriding, and
656 that there are three different predicate
657 aspects (Dynamic_Predicate, Static_Predicate, and the
658 GNAT-defined Predicate aspect). These various ways of
659 introducing multiple predicates are all checked for. A new
660 nested function, Augments_Other_Dynamic_Predicate, is
661 introduced.
662 * sem_ch4.adb
663 (Analyze_Indexed_Component_Form.Process_Function_Call): When
664 determining whether a name like "X (Some_Discrete_Type)" might
665 be interpreted as a slice, the answer should be "no" if the
666 type/subtype name denotes the current instance of type/subtype.
667
668 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
669
670 * libgnarl/s-osinte__rtems.ads: Change sigset_t to an unsigned
671 long.
672
673 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
674
675 * libgnat/s-parame__rtems.adb: use
676 _POSIX_Threads_Minimum_stack_size instead of
677 ada_pthread_minimum_stack_size.
678
679 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
680
681 * fe.h (No_Exception_Propagation_Active): Declare.
682 * restrict.ads (No_Exception_Propagation_Active): Add WARNING line.
683
684 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
685
686 * sem_ch13.adb (Validate_Unchecked_Conversion): Simplify code
687 for detecting conversions with Ada.Calendar.Time type and extend
688 it to similar types in the Ada.Real_Time package.
689
690 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
691
692 * sem_ch10.adb, sem_prag.adb, sem_util.adb: Use
693 N_Generic_Declaration in membership tests.
694
695 2021-10-11 Etienne Servais <servais@adacore.com>
696
697 * ali.adb (Get_Name): Ignore_Spaces is always False.
698 * bindo-graphs.adb (Set_Is_Existing_Source_Target_Relation): Val
699 is always True.
700 * cstand.adb (New_Standard_Entity): New_Node_Kind is always
701 N_Defininig_Identifier.
702 * exp_ch3.adb (Predef_Stream_Attr_Spec): For_Body is always
703 False.
704 * exp_dist.adb (Add_Parameter_To_NVList): RACW_Ctrl is always
705 False.
706 * gnatls.adb (Add_Directories): Prepend is always False.
707 * sem_ch10.adb, sem_ch10.ads (Load_Needed_Body): Do_Analyze is
708 always True.
709 * sem_ch3.adb, sem_ch3.ads (Process_Range_Expr_In_Decl):
710 R_Check_Off is always False.
711 * sem_elab.adb: (Info_Variable_Reference): Info_Msg is always
712 False, In_SPARK is always True.
713 (Set_Is_Traversed_Body, Set_Is_Saved_Construct,
714 Set_Is_Saved_Relation): Val is always True.
715 * treepr.adb (Visit_Descendant): No_Indent is always False.
716 (Print_Node): Fmt does not need such a big scope.
717
718 2021-10-11 Etienne Servais <servais@adacore.com>
719
720 * sem_ch4.adb (Analyze_Membership_Op): Finds interpretation for
721 the case of a membership test with a singleton value in case of
722 overloading.
723
724 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
725
726 * Makefile.rtl (VxWorks): Rename s-inmaop__vxworks.adb to
727 s-inmaop__hwint.adb.
728 (RTEMS): Use s-inmaop__hwint.adb, s-intman__rtems.adb/s,
729 s-taprop__rtems.adb.
730 * libgnarl/a-intnam__rtems.ads: Remove signals definitions and
731 replace with Hardware_Interrupts.
732 * libgnarl/s-inmaop__vxworks.adb: Rename as...
733 * libgnarl/s-inmaop__hwint.adb: ... this.
734 * libgnarl/s-interr__hwint.adb: Remove unnecessary comments.
735 * libgnarl/s-intman__rtems.ads, libgnarl/s-intman__rtems.adb:
736 New files.
737 * libgnarl/s-osinte__rtems.adb: Add RTEMS API bindings.
738 (Binary_Semaphore_Create, Binary_Semaphore_Delete,
739 Binary_Semaphore_Obtain, Binary_Semaphore_Release,
740 Binary_Semaphore_Flush, Interrupt_Connect,
741 Interrupt_Number_To_Vector): New functions.
742 * libgnarl/s-osinte__rtems.ads (Num_HW_Interrupts, Signal):
743 Removed.
744 (NSIG, Interrupt_Range): New.
745 (Binary_Semaphore_Create, Binary_Semaphore_Delete,
746 Binary_Semaphore_Obtain, Binary_Semaphore_Release,
747 Binary_Semaphore_Flush, Interrupt_Connect,
748 Interrupt_Number_To_Vector): Remove Import pragma.
749 * libgnarl/s-taprop__rtems.adb: New file.
750
751 2021-10-11 Eric Botcazou <ebotcazou@adacore.com>
752
753 * exp_fixd.adb (Get_Size_For_Value): New function returning a size
754 suitable for a non-negative integer value.
755 (Get_Type_For_Size): New function returning a standard type suitable
756 for a size.
757 (Build_Divide): Call both functions to compute the result type, but
758 make sure to pass a non-negative value to the first.
759 (Build_Multiply): Likewise.
760 (Do_Multiply_Fixed_Universal): Minor consistency tweak.
761 (Integer_Literal): Call both functions to compute the type.
762
763 2021-10-11 Etienne Servais <servais@adacore.com>
764
765 * sem_ch4.adb (Analyze_Membership_Op): Reorder subprogram spec
766 and bodies in alphabetical order.
767
768 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
769
770 * exp_util.adb (Build_Class_Wide_Expression): Replace entities
771 of both simple and extended names.
772
773 2021-10-11 Ghjuvan Lacambre <lacambre@adacore.com>
774
775 * libgnarl/s-intman__android.adb, libgnarl/s-intman__lynxos.adb,
776 libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb,
777 libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb,
778 libgnarl/s-taprob.adb, libgnarl/s-taprop__hpux-dce.adb,
779 libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
780 libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
781 libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
782 libgnarl/s-taskin.adb, libgnarl/s-tasque.adb,
783 libgnarl/s-tpoben.adb, libgnat/a-calend.adb,
784 libgnat/a-excach.adb, libgnat/a-except.adb, libgnat/a-tags.adb,
785 libgnat/a-textio.adb, libgnat/a-witeio.adb,
786 libgnat/a-ztexio.adb, libgnat/g-binenv.adb,
787 libgnat/s-parame.adb, libgnat/s-parame__vxworks.adb,
788 libgnat/s-stratt.adb, libgnat/s-trasym__dwarf.adb: Mark imported
789 binder globals as constant.
790
791 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
792
793 * exp_aggr.adb (Initialize_Record_Component): Add assertion
794 about one of the parameters, so that illegal attempts to
795 initialize record components with Empty node are detected early
796 on.
797 (Build_Record_Aggr_Code): Handle boxes in aggregate component
798 associations just the components with no initialization in
799 Build_Record_Init_Proc.
800 * sem_aggr.adb (Resolve_Record_Aggregate): For components that
801 require simple initialization carry boxes from resolution to
802 expansion.
803 * sem_util.adb (Needs_Simple_Initialization): Remove redundant
804 paren.
805
806 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
807
808 * exp_ch3.adb (Build_Init_Statements): Simplify detection of
809 concurrent record types.
810
811 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
812
813 * exp_aggr.adb (Is_Delayed_Aggregate): Simplify.
814
815 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
816
817 * exp_aggr.adb (Has_Default_Init_Comps): Simplify.
818
819 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
820
821 * exp_aggr.adb (Component_OK_For_Backend): Remove redundant
822 guard.
823
824 2021-10-11 Patrick Bernardi <bernardi@adacore.com>
825
826 * Makefile.rtl (RTEMS): Add s-stchop.o to
827 EXTRA_GNATRTL_NONTASKING_OBJS, remove s-stchop__rtems.adb.
828 * libgnat/s-stchop__rtems.adb: Removed.
829
830 2021-10-11 Marc Poulhiès <poulhies@adacore.com>
831
832 * expander.adb (Expand): Skip clearing of Analyzed flag if
833 already set for N_Real_Literal.
834
835 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
836
837 * sem_util.adb (Compile_Time_Constraint_Error): Simplify getting
838 the type of the first formal parameter.
839
840 2021-10-11 Piotr Trojanek <trojanek@adacore.com>
841
842 * exp_util.adb (Inside_Init_Proc): Simplify.
843 * sem_aggr.adb (Resolve_Record_Aggregate): Fix style.
844 * sem_util.adb (Compile_Time_Constraint_Error): Guard against
845 calling Corresponding_Concurrent_Type with an array type entity.
846
847 2021-10-11 Doug Rupp <rupp@adacore.com>
848
849 * libgnat/s-parame__ae653.ads (time_t_bits): Change to
850 Long_Long_Integer'Size. Add some comments to explain.
851
852 2021-10-08 Martin Liska <mliska@suse.cz>
853
854 * gcc-interface/misc.c (gnat_post_options): Use new macro
855 OPTION_SET_P.
856 (gnat_init_gcc_eh): Likewise.
857 (gnat_init_gcc_fp): Likewise.
858
859 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
860
861 * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values
862 referenced in pragmas.
863
864 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
865
866 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Do not set the
867 DECL_DISREGARD_INLINE_LIMITS flag if -gnatd.8 is specified.
868
869 2021-10-05 Bob Duff <duff@adacore.com>
870
871 * gcc-interface/trans.c (set_end_locus_from_node): Check that
872 Handled_Statement_Sequence is not Empty before calling
873 End_Label, because the Empty node has no End_Label, and
874 depending on the exact node layout chosen by gen_il, calling
875 End_Label might crash, or might work OK by accident.
876
877 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
878
879 * gcc-interface/cuintp.c: Adjust placement of include directive.
880 * gcc-interface/targtyps.c: Likewise.
881
882 2021-10-05 Alexandre Oliva <oliva@adacore.com>
883
884 * doc/gnat_rm.rst: Add...
885 * doc/gnat_rm/security_hardening_features.rst: New.
886 * doc/gnat_rm/about_this_guide.rst: Link to new chapter.
887 * gnat_rm.texi: Regenerate.
888 * gcc-interface/utils.c (handle_strub_attribute): New.
889 (gnat_internal_attribute_table): Add strub.
890 * libgnat/a-except.adb: Make Rcheck_CE_* strub-callable.
891 * libgnat/a-except.ads (Raise_Exception): Likewise.
892 (Raise_Exception_Always): Likewise.
893 * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128):
894 Likewise.
895 * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64):
896 Likewise.
897 * libgnat/s-secsta.ads (SS_Allocate, SS_Mark, SS_Release):
898 Likewise.
899
900 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
901
902 * exp_ch9.adb (Install_Private_Data_Declarations): Copy the Sloc of
903 components for the local renamings as well as the Comes_From_Source
904 flag, and also set Warnings_Off on them. Use Nam local variable.
905
906 2021-10-05 Arnaud Charlet <charlet@adacore.com>
907
908 * libgnarl/a-tasini.ads (Set_Initialization_Handler): Update
909 comments.
910
911 2021-10-05 Corentin Gay <gay@adacore.com>
912
913 * init.c (QNX): Add #include errno.h.
914
915 2021-10-05 Eric Botcazou <ebotcazou@adacore.com>
916
917 * exp_attr.adb (Expand_Fpt_Attribute): Likewise.
918 * snames.ads-tmpl (Name_Unaligned_Valid): Delete.
919
920 2021-10-05 Etienne Servais <servais@adacore.com>
921
922 * sem_prag.adb (Analyze_Pragma): Forbid use of
923 Compile_Time_(Error|Warning) as configuration pragma.
924 * doc/gnat_ugn/the_gnat_compilation_model.rst:
925 Compile_Time_(Error|Warning) and Compiler_Unit(_Warning) are not
926 configuration pragmas and shall not be listed as such. The
927 following pragmas are either obsolete or undocumented:
928 No_Run_Time, Propagate_Exceptions, Rational, Ravenscar,
929 Restricted_Run_Time, Short_Descriptors, Universal_Data. Fix
930 some typos (notably on Restriction_Warnings).
931 * doc/gnat_rm/implementation_defined_pragmas.rst: Move
932 Rename_Pragma documentation to alphabetical order.
933 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
934
935 2021-10-05 Corentin Gay <gay@adacore.com>
936
937 * adaint.c (QNX): Add #include for sys/time.h.
938
939 2021-10-05 Pascal Obry <obry@adacore.com>
940
941 * libgnat/g-forstr.adb (Next_Format): When there is no more
942 format specifier found issue a proper error message instead of
943 raising a contraint error.
944
945 2021-10-05 Pascal Obry <obry@adacore.com>
946
947 * libgnat/g-forstr.adb (Get_Formatted): Fix computation of the
948 number of zero to use in the formatted string. This was a wrong
949 copy/paste.
950
951 2021-10-05 Pascal Obry <obry@adacore.com>
952
953 * libgnat/g-forstr.adb (Get_Formatted): Minor code clean-up.
954
955 2021-10-05 Etienne Servais <servais@adacore.com>
956
957 * libgnat/a-zchhan.ads, libgnat/a-zchhan.adb
958 (Character_Set_Version, Is_Basic, To_Basic): New.
959 * libgnat/a-zchuni.ads, libgnat/a-zchuni.adb (Is_Basic,
960 To_Basic): New.
961
962 2021-10-05 Yannick Moy <moy@adacore.com>
963
964 * sem_aggr.adb (Resolve_Array_Aggregate): Improve error message.
965
966 2021-10-05 Gary Dismukes <dismukes@adacore.com>
967
968 * aspects.ads (type Aspect_Id): Add
969 Aspect_Designated_Storage_Model and Aspect_Storage_Model_Type.
970 (Aspect_Argument): Add associations for the above new aspects.
971 (Is_Representation_Aspect): Likewise.
972 (Aspect_Names, Aspect_Delay): Likewise.
973 * exp_ch4.adb (Expand_N_Allocator): Call Find_Storage_Op rather
974 than Find_Prim_Op.
975 * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
976 * exp_util.ads (Find_Storage_Op): New function that locates
977 either a primitive operation of a storage pool or an operation
978 of a storage-model type specified in its Storage_Model_Type
979 aspect.
980 * exp_util.adb (Find_Storage_Op): New function that calls either
981 Find_Prim_Op or Get_Storage_Model_Type_Entity to locate a
982 storage-related operation that is associated with a type.
983 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Analyzes,
984 resolves, and validates the arguments of aspect
985 Designated_Storage_Model_Type.
986 (Analyze_Aspect_Specifications): Sets delay-related flags on
987 storage-model aspects when Delay_Required. Checks that aspect
988 Designated_Storage_Model is only specified for an access type
989 and that aspect Storage_Model_Type is only specified on an
990 immutably limited type. Also records such aspects for their
991 associated types.
992 (Check_Aspect_At_Freeze_Point): Resolve each of the argument
993 associations given for a Storage_Model_Type aspect.
994 (Resolve_Storage_Model_Type_Argument): New procedure that
995 resolves an argument given in the association for a given entity
996 name associated with a type with aspect Storage_Model_Type,
997 ensuring that it has the proper kind or profile.
998 (Validate_Storage_Model_Type_Aspect): New procedure that checks
999 the legality and completeness of the entity associations given
1000 in a Storage_Model_Type aspect.
1001 * sem_util.ads (package Storage_Model_Support): New nested
1002 package that encapsulates a set of convenient utility functions
1003 for retrieving entities, etc. associated with
1004 storage-model-related types and objects.
1005 (Get_Storage_Model_Type_Entity): New function to return a
1006 specified entity associated with a type that has aspect
1007 Storage_Model_Type.
1008 (Has_Designated_Storage_Model_Aspect): New function that returns
1009 whether a type has aspect Designated_Storage_Model.
1010 (Has_Storage_Model_Type_Aspect): New function that returns
1011 whether a type has aspect Storage_Model_Type.
1012 (Storage_Model_Object): New function that returns the object
1013 Entity_Id associated with a type's Designated_Storage_Model
1014 aspect.
1015 (Storage_Model_Type): New function that returns the type
1016 associated with a storage-model object (when the object's type
1017 specifies Storage_Model_Type).
1018 (Storage_Model_Address_Type): New function that returns the
1019 Address_Type associated with a type that has aspect
1020 Storage_Model_Type.
1021 (Storage_Model_Null_Address): New function that returns the
1022 Null_Address constant associated with a type that has aspect
1023 Storage_Model_Type.
1024 (Storage_Model_Allocate): New function that returns the Allocate
1025 procedure associated with a type that has aspect
1026 Storage_Model_Type.
1027 (Storage_Model_Deallocate): New function that returns the
1028 Deallocate procedure associated with a type that has aspect
1029 Storage_Model_Type.
1030 (Storage_Model_Copy_From): New function that returns the
1031 Copy_From procedure associated with a type that has aspect
1032 Storage_Model_Type.
1033 (Storage_Model_Copy_To): New function that returns the Copy_To
1034 procedure associated with a type that has aspect
1035 Storage_Model_Type.
1036 (Storage_Model_Storage_Size): New function that returns the
1037 Storage_Size function associated with a type that has aspect
1038 Storage_Model_Type.
1039 * sem_util.adb (package Storage_Model_Support): Body of new
1040 nested package that contains the implementations the utility
1041 functions declared in the spec of this package.
1042 * snames.ads-tmpl: Add new names Name_Designated_Storage_Pool,
1043 Name_Storage_Model, Name_Storage_Model_Type, Name_Address_Type,
1044 Name_Copy_From, Name_Copy_To, and Name_Null_Address for the new
1045 aspects and associated aspect arguments.
1046
1047 2021-10-05 Richard Kenner <kenner@adacore.com>
1048
1049 * debug.adb: Add documentation for -gnatd_t.
1050
1051 2021-10-05 Corentin Gay <gay@adacore.com>
1052
1053 * sysdep.c (__gnat_is_file_not_found_error): Add else if case.
1054
1055 2021-10-05 Piotr Trojanek <trojanek@adacore.com>
1056
1057 * exp_util.adb (Build_Class_Wide_Expression): Replace entities
1058 of both identifiers and operator symbols.
1059
1060 2021-10-05 Piotr Trojanek <trojanek@adacore.com>
1061
1062 * sem_ch3.adb (Derive_Subprogram): Copy ghost status from parent
1063 to derived subprogram.
1064
1065 2021-10-05 Joffrey Huguet <huguet@adacore.com>
1066
1067 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Add
1068 Default_Initial_Condition to Unbounded_String.
1069
1070 2021-10-05 Claire Dross <dross@adacore.com>
1071
1072 * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
1073 contract cases at execution.
1074 * libgnat/a-cfinve.ads: Idem.
1075 * libgnat/a-cofove.ads: Idem.
1076 * libgnat/a-cfhase.ads: Idem.
1077 * libgnat/a-cfhama.ads: Idem.
1078 * libgnat/a-cforse.ads: Idem.
1079 * libgnat/a-cforma.ads: Idem.
1080
1081 2021-10-05 Bob Duff <duff@adacore.com>
1082
1083 * par-ch4.adb (P_Iterated_Component_Association): Parse these
1084 features the same way in all language versions. Move the call
1085 to Error_Msg_Ada_2022_Feature into semantic analysis.
1086 * sem_aggr.adb (Resolve_Iterated_Component_Association,
1087 Resolve_Iterated_Association): Move the call to
1088 Error_Msg_Ada_2022_Feature here from par-ch4.adb.
1089
1090 2021-10-05 Yannick Moy <moy@adacore.com>
1091
1092 * sem_res.adb (Resolve): Recognize specially that case.
1093
1094 2021-10-05 Yannick Moy <moy@adacore.com>
1095
1096 * libgnat/a-strmap.adb: Add ghost code for proof.
1097 (To_Range): This is the most involved proof, as it requires
1098 creating the result of the call to To_Domain as a ghost
1099 variable, and show the unicity of this result in order to prove
1100 the postcondition.
1101 * libgnat/a-strmap.ads: (SPARK_Proof_Sorted_Character_Sequence):
1102 New ghost function.
1103 (To_Domain): Add postcondition regarding sorting of result.
1104 (To_Range): Fix postcondition that should compare Length instead
1105 of Last for the results of To_Domain and To_Range, as the value
1106 of Last for an empty result is not specified in the Ada RM.
1107
1108 2021-10-05 Yannick Moy <moy@adacore.com>
1109
1110 * libgnat/a-chahan.adb: Add loop invariants as needed to prove
1111 subprograms. Also use extended return statements where
1112 appropriate and not done already. Mark data with
1113 Relaxed_Initialization where needed for initialization by parts.
1114 Convert regular functions to expression functions where needed
1115 for proof.
1116 * libgnat/a-chahan.ads: Add postconditions.
1117 * libgnat/a-strmap.ads (Model): New ghost function to create a
1118 publicly visible model of the private data Character_Mapping,
1119 needed in order to prove subprograms in Ada.Characters.Handling.
1120
1121 2021-10-04 Justin Squirek <squirek@adacore.com>
1122
1123 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
1124 Add new entry for No_Dynamic_Accessibility_Checks documenting
1125 behavior.
1126 * gnat_rm.texi: Regenerate.
1127 * exp_ch4.adb (Expand_N_In): Perform special expansion for
1128 membership tests when No_Dynamic_Accessibility_Checks is active.
1129 * sem_attr.adb (Resolve_Attribute): Skip static accessibility
1130 check on actuals for anonymous access type formal parameters,
1131 and add constants for readability.
1132 * sem_util.adb (Function_Call_Or_Allocator_Level): Use the
1133 innermost master for determining the level for function calls
1134 within the alternative accessibility model.
1135 (Type_Access_Level): Properly get the level for anonymous access
1136 function result types.
1137
1138 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1139
1140 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
1141 (gnateA): This switch no longer looks at the formal parameter
1142 type being composite (as originally mandated by SPARK), but in
1143 the parameter passing mechanism being not specified (as
1144 currently mandated by Ada).
1145 * gnat_ugn.texi: Regenerate.
1146
1147 2021-10-04 Ed Schonberg <schonberg@adacore.com>
1148
1149 * sem_ch6.adb (Analyze_Operator_Symbol): Recognize strings as
1150 operator names when they are the value of one of the Ada2022
1151 aspects for User_Defined_Literals.
1152 * sem_ch13.adb (Analyze_One_Aspect): Handle an aspect value
1153 given by an Operator_Name.
1154 (Validate_Literal_Aspect): Call Analyze_Operator_Symbol when
1155 needed.
1156
1157 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1158
1159 * gen_il-gen.adb (Put_Make_Spec): Don't emit the LF character in
1160 the middle of a string, because the Put routine won't indent it
1161 properly.
1162
1163 2021-10-04 Ghjuvan Lacambre <lacambre@adacore.com>
1164
1165 * gnat_cuda.adb (Remove_CUDA_Device_Entities): New function.
1166 (Expand_CUDA_Package): Call Remove_CUDA_Device_Entities.
1167 * gnat_cuda.ads (Expand_CUDA_Package): Expand documentation.
1168 * sem_prag.adb (Analyze_Pragma): Remove warning about
1169 CUDA_Device not being implemented.
1170
1171 2021-10-04 Gary Dismukes <dismukes@adacore.com>
1172
1173 * sem_ch7.adb (Analyze_Package_Specification): For types marked
1174 as Must_Have_Preelab_Init, we now check for the presence of a
1175 Preelaborable_Initialization aspect on the type, and pass the
1176 aspect's expression (if any) on the call to
1177 Has_Preelaborable_Initialization (or pass Empty if the type has
1178 no such aspect or the aspect has no associated expression).
1179 * sem_util.ads (Has_Preelaborable_Initialization): Change
1180 Boolean formal parameter Formal_Types_Have_Preelab_Init to
1181 instead be a formal of type Node_Id (named Preelab_Init_Expr),
1182 to allow passing an expression that may be a conjunction of
1183 Preelaborable_Initialization aspects. Revise spec comment
1184 accordingly (and remove ??? comment).
1185 * sem_util.adb (Type_Named_In_Preelab_Init_Expression): New
1186 nested function with a result indicating whether a given type is
1187 named as the prefix of a Preelaborable_Initialization attribute
1188 in the expression of a corresponding P_I aspect.
1189 (Has_Preelaborable_Initialization): For generic formal derived
1190 and private types, test whether the type is named in the
1191 expression Preelab_Init_Expr (by calling
1192 Type_Named_In_Preelab_Init_Expression), and if so, treat the
1193 formal type as having preelaborable initialization (returning
1194 True).
1195 * libgnat/a-cobove.ads (Vector): 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-cbdlli.ads (List): Replace pragma
1201 Preelaborable_Initialization with the aspect, specifying its
1202 value as Element_Type'Preelaborable_Initialization.
1203 (Cursor): Replace pragma P_I with the aspect (defaulting to
1204 True).
1205 * libgnat/a-cbhama.ads (Map): Replace pragma
1206 Preelaborable_Initialization with the aspect, specifying its
1207 value as (Element_Type'Preelaborable_Initialization and
1208 Key_Type'Preelaborable_Initialization).
1209 (Cursor): Replace pragma P_I with the aspect (defaulting to
1210 True).
1211 * libgnat/a-cborma.ads (Map): Replace pragma
1212 Preelaborable_Initialization with the aspect, specifying its
1213 value as (Element_Type'Preelaborable_Initialization and
1214 Key_Type'Preelaborable_Initialization).
1215 (Cursor): Replace pragma P_I with the aspect (defaulting to
1216 True).
1217 * libgnat/a-cbhase.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-cborse.ads (Set): 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-cbmutr.ads (Tree): 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 * libgnat/a-coboho.ads (Holder): Replace pragma
1233 Preelaborable_Initialization with the aspect, specifying its
1234 value as Element_Type'Preelaborable_Initialization.
1235 (Cursor): Replace pragma P_I with the aspect (defaulting to
1236 True).
1237
1238 2021-10-04 Yannick Moy <moy@adacore.com>
1239
1240 * libgnat/a-textio.adb: Mark body out of SPARK.
1241 * libgnat/a-textio.ads: Mark spec in SPARK and private part out
1242 of SPARK.
1243 * sem.adb (Semantics.Do_Analyze): Similar to ghost code
1244 attributes, save and restore value of
1245 Ignore_SPARK_Mode_Pragmas_In_Instance.
1246
1247 2021-10-04 Bob Duff <duff@adacore.com>
1248
1249 * libgnat/s-regpat.ads: Change Data_First to Data'First. Change
1250 "still" to "always". Similar changes for Data_Last.
1251
1252 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1253
1254 * sprint.adb (Sprint_Node_Actual): Refactor code for generic
1255 package and subprogram declarations.
1256
1257 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1258
1259 * sem_res.adb (Resolve_Indexed_Component, Resolve_Slice): Rename
1260 the local constant Name to Pref; remove repeated calls to
1261 Prefix.
1262
1263 2021-10-04 Matthieu Eyraud <eyraud@adacore.com>
1264
1265 * scos.ads: Extend the documentation.
1266 * par_sco.adb (Process_Decisions): Emit specific SCOs for
1267 quantified expressions.
1268
1269 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1270
1271 * checks.adb (Selected_Range_Checks): Fix style.
1272 * exp_ch4.adb (Expand_N_Slice): Fix style and comment.
1273 * sem_res.adb (Resolve_Indexed_Component): Fix style.
1274
1275 2021-10-04 Yannick Moy <moy@adacore.com>
1276
1277 * libgnat/a-strbou.ads: Add comments.
1278
1279 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1280
1281 * sem_attr.adb (Eval_Attribute): Evaluation of attribute
1282 Leading_Part with illegal second parameter is now similar to
1283 evaluation of Remainder with its second parameter being zero.
1284
1285 2021-10-04 Ed Schonberg <schonberg@adacore.com>
1286
1287 * sem_res.adb (Resolve_Declare_Expression): Use tree traversals
1288 to perform name capture of local entities in the expression of
1289 the construct.
1290 * exp_util.adb (Possible_Side_Effects_In_SPARK): Do not apply to
1291 the prefix of an attribute reference Reduce when that prefix is
1292 an aggregate, because it will be expanded into a loop, and has
1293 no identifiable type.
1294
1295 2021-10-04 Javier Miranda <miranda@adacore.com>
1296
1297 * sem_ch8.adb (Build_Class_Wide_Wrapper): Fix handling of
1298 class-wide subtypes; required to handle chains of
1299 instantiations. Adding also code to identify these wrappers and
1300 properly resolve instantiations where the wrapper and a tagged
1301 type primitive are visible.
1302 * einfo.ads (Is_Class_Wide_Wrapper): Adding documentation.
1303 * gen_il-fields.ads (Opt_Field_Enum): Adding
1304 Is_Class_Wide_Wrapper.
1305 * gen_il-gen-gen_entities.adb (Root_Entity_Type): Adding
1306 semantic flag Is_Class_Wide_Wrapper.
1307
1308 2021-10-04 Bob Duff <duff@adacore.com>
1309
1310 * einfo.ads (Declaration_Node): Document that Declaration_Node
1311 for Itypes.
1312 * einfo-utils.adb (Declaration_Node): Make it return Empty for
1313 Itypes, or a proper type or subtype declaration.
1314 * gen_il-gen.adb: Minor comment improvement.
1315
1316 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1317
1318 * sem_res.adb (Resolve_Slice): Fix application of range checks
1319 to slice range given as a subtype name.
1320
1321 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1322
1323 * sem_res.adb (Resolve_Slice): Handle range given as a subtype
1324 indication.
1325
1326 2021-10-04 Piotr Trojanek <trojanek@adacore.com>
1327
1328 * sem_res.adb (Resolve_Slice): Add custom handling of attribute
1329 Image and similar in CodePeer mode. This complements the
1330 existing custom handling of these attributes in
1331 Expand_N_Attribute_Reference.
1332
1333 2021-10-04 Justin Squirek <squirek@adacore.com>
1334
1335 * sem_util.adb (Is_Variable): Add check for implicitly
1336 dereferenced access types
1337 (Is_Dependent_Component_Of_Mutable_Object): Set Prefix_Type when
1338 not specified.
1339
1340 2021-10-04 Eric Botcazou <ebotcazou@adacore.com>
1341
1342 * doc/gnat_ugn/the_gnat_compilation_model.rst (Binding generation):
1343 Document specific behavior for /include/-ending paths and update.
1344 * gnat_ugn.texi: Regenerate.
1345
1346 2021-10-04 Arnaud Charlet <charlet@adacore.com>
1347
1348 PR ada/102073
1349 * socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing
1350 return statements.
1351
1352 2021-10-04 Justin Squirek <squirek@adacore.com>
1353
1354 * sem_util.adb (Function_Or_Allocator_Level): Properly handle
1355 direct function calls in the default alternative accessibility
1356 checking mode.
1357
1358 2021-10-04 Javier Miranda <miranda@adacore.com>
1359
1360 * sem_util.adb (Is_Library_Level_Entity): Return False for
1361 entities defined in E_Loop scopes. This change is not required
1362 by the frontend; it is required by tools that depend on the
1363 frontend sources.
1364 * einfo-utils.adb (Is_Dynamic_Scope): Code cleanup.
1365
1366 2021-10-04 Justin Squirek <squirek@adacore.com>
1367
1368 * sem_util.adb (Accessibility_Level): Add a case to handle
1369 renamed subprograms in addition to renamed objects.
1370
1371 2021-10-04 Doug Rupp <rupp@adacore.com>
1372
1373 * libgnarl/s-osinte__vxworks.ads (tlsKeyCreate): Return int.
1374 * libgnarl/s-tpopsp__vxworks-rtp.adb (ERROR): Declare from
1375 System.VxWorks.Ext.ERROR.
1376 (Initialize): Declare IERR. Assert it.
1377 * libgnarl/s-tpopsp__vxworks.adb (ERROR): Declare from
1378 System.VxWorks.Ext.ERROR.
1379 (Is_Valid_Task): Declare IERR. Test return.
1380 * libgnarl/s-vxwext__kernel.adb (semDelete): Return STATUS.
1381
1382 2021-10-04 Eric Botcazou <ebotcazou@adacore.com>
1383
1384 * exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the
1385 type onto the TSD object.
1386
1387 2021-10-04 Steve Baird <baird@adacore.com>
1388
1389 * sem_util.adb (Is_Repeatedly_Evaluated): Handle the case of an
1390 Old attribute reference that occurs within what was originally a
1391 quantified expression but which expansion has transformed into
1392 an Expression_With_Actions.
1393
1394 2021-10-04 Steve Baird <baird@adacore.com>
1395
1396 * exp_ch4.adb (Expand_N_Indexed_Component): The two improvements
1397 described above.
1398
1399 2021-10-01 Bob Duff <duff@adacore.com>
1400
1401 * exp_ch6.adb (Expand_Call_Helper): Do not call
1402 Check_Subprogram_Variant if the subprogram is an ignored ghost
1403 entity. Otherwise the compiler crashes (in debug builds) or
1404 gives strange error messages (in production builds).
1405
1406 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1407
1408 * gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure.
1409 (Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms.
1410
1411 2021-10-01 Steve Baird <baird@adacore.com>
1412
1413 * checks.ads: Define a type Dimension_Set. Add an out-mode
1414 parameter of this new type to Generate_Index_Checks so that
1415 callers can know for which dimensions a check was generated. Add
1416 an in-mode parameter of this new type to
1417 Apply_Subscript_Validity_Checks so that callers can indicate
1418 that no check is needed for certain dimensions.
1419 * checks.adb (Generate_Index_Checks): Implement new
1420 Checks_Generated parameter.
1421 (Apply_Subscript_Validity_Checks): Implement new No_Check_Needed
1422 parameter.
1423 * exp_ch4.adb (Expand_N_Indexed_Component): Call
1424 Apply_Subscript_Validity_Checks in more cases than before. This
1425 includes declaring two new local functions,
1426 (Is_Renamed_Variable_Name,
1427 Type_Requires_Subscript_Validity_Checks_For_Reads): To help in
1428 deciding whether to call Apply_Subscript_Validity_Checks.
1429 Adjust to parameter profile changes in Generate_Index_Checks and
1430 Apply_Subscript_Validity_Checks.
1431
1432 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1433
1434 * doc/gnat_rm/implementation_defined_characteristics.rst: Document
1435 the rounding mode assumed for dynamic computations as per 3.5.7(16).
1436 * gnat_rm.texi: Regenerate.
1437
1438 2021-10-01 Bob Duff <duff@adacore.com>
1439
1440 * table.ads (Table_Type): Remove "aliased"; no longer needed by
1441 Atree. Besides it contradicted the comment a few lines above,
1442 "-- Note: We do not make the table components aliased...".
1443 * types.ads: Move type Slot to Atree.
1444 * atree.ads: Move type Slot fromt Types to here. Move type
1445 Node_Header from Seinfo to here.
1446 * atree.adb: Avoid the need for aliased components of the Slots
1447 table. Instead of 'Access, use a getter and setter. Misc
1448 cleanups.
1449 (Print_Statistics): Print statistics about node and entity kind
1450 frequencies. Give 3 digit fractions instead of percentages.
1451 * (Get_Original_Node_Count, Set_Original_Node_Count): Statistics
1452 for calls to Original_Node and Set_Original_Node.
1453 (Original_Node, Set_Original_Node): Gather statistics by calling
1454 the above.
1455 (Print_Field_Statistics): Print Original_Node statistics.
1456 (Update_Kind_Statistics): Remove, and put all statistics
1457 gathering under "if Atree_Statistics_Enabled", which is a flag
1458 generated in Seinfo by Gen_IL.
1459 * gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of
1460 Nkind, Ekind, and Homonym first. This causes a slight efficiency
1461 improvement. Misc cleanups. Do not generate Node_Header; it is
1462 now hand-written in Atree. When choosing the order in which to
1463 assign offsets, weight by the frequency of the node type, so the
1464 more common nodes get their field offsets assigned earlier. Add
1465 more special cases.
1466 (Compute_Type_Sizes): Remove this and related things.
1467 There was a comment: "At some point we can instrument Atree to
1468 print out accurate size statistics, and remove this code." We
1469 have Atree statistics, so we now remove this code.
1470 (Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal
1471 to Statistics_Enabled. This allows Atree to say "if
1472 Atree_Statistics_Enabled then <gather statistics>" for
1473 efficiency. When Atree_Statistics_Enabled is False, the "if ..."
1474 will be optimized away.
1475 * gen_il-internals.ads (Type_Frequency): New table of kind
1476 frequencies.
1477 * gen_il-internals.adb: Minor comment improvement.
1478 * gen_il-fields.ads: Remove unused subtypes. Suppress style
1479 checks in the Type_Frequency table. If we regenerate this
1480 table (see -gnatd.A) we don't want to have to fiddle with
1481 casing.
1482 * impunit.adb: Minor.
1483 * sinfo-utils.adb: Minor.
1484 * debug.adb: Minor comment improvement.
1485
1486 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1487
1488 * sem_type.adb (Specific_Type): Check that the type is tagged
1489 before calling Interface_Present_In_Ancestor on it.
1490
1491 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1492
1493 * debug.adb (d.8): Document usage.
1494 * fe.h (Debug_Flag_Dot_8): Declare.
1495
1496 2021-10-01 Gary Dismukes <dismukes@adacore.com>
1497
1498 * sem_util.adb (Enter_Name): Suppress hiding warning when in an
1499 instance.
1500
1501 2021-10-01 Ed Schonberg <schonberg@adacore.com>
1502
1503 * sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can
1504 be applied to a formal type.
1505 * sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is
1506 not enabled, verify that the type of the expression is discrete.
1507
1508 2021-10-01 Justin Squirek <squirek@adacore.com>
1509
1510 * exp_dbug.adb (Debug_Renaming_Declaration): Add check for
1511 Entity present for Ren to prevent looking at unanalyzed nodes
1512
1513 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1514
1515 * atree.adb (Print_Statistics): Help CodePeer see Total as
1516 greater than zero.
1517 * gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified.
1518
1519 2021-10-01 Richard Kenner <kenner@adacore.com>
1520
1521 * gen_il-gen-gen_entities.adb (Evaluable_Kind,
1522 Global_Name_Kind): Add.
1523 * gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise.
1524
1525 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1526
1527 * aspects.ads: Add CUDA_Device aspect.
1528 * gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram.
1529 * gnat_cuda.adb:
1530 (Add_CUDA_Device_Entity): New subprogram.
1531 (CUDA_Device_Entities_Table): New hashmap for CUDA_Device
1532 entities.
1533 (Get_CUDA_Device_Entities): New internal subprogram.
1534 (Set_CUDA_Device_Entities): New internal subprogram.
1535 * par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device.
1536 * sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as
1537 being both aspect and pragma.
1538 * sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to
1539 list of CUDA_Entities belonging to package N.
1540 (Sig_Flags): Signal CUDA_Device entities as referenced.
1541 * snames.ads-tmpl: Create CUDA_Device names and pragmas.
1542
1543 2021-10-01 Gary Dismukes <dismukes@adacore.com>
1544
1545 * exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate
1546 Assert pragma. Remove unneeded and dead code related to derived
1547 private types.
1548
1549 2021-10-01 Richard Kenner <kenner@adacore.com>
1550
1551 * gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice):
1552 Add.
1553 (N_Is_Exception_Choice, N_Is_Range): Likewise.
1554 * gen_il-types.ads: Add above names.
1555 * gen_il-gen.adb (Put_Union_Membership): Write both declarations
1556 and definitions of union functions.
1557
1558 2021-10-01 Ed Schonberg <schonberg@adacore.com>
1559
1560 * exp_aggr.adb (Expand_Array_Aggregate,
1561 Two_Pass_Aggregate_Expansion): Increment index for element
1562 insertion within the loop, only if upper bound has not been
1563 reached.
1564
1565 2021-10-01 Javier Miranda <miranda@adacore.com>
1566
1567 * contracts.ads (Make_Class_Precondition_Subps): New subprogram.
1568 (Merge_Class_Conditions): New subprogram.
1569 (Process_Class_Conditions_At_Freeze_Point): New subprogram.
1570 * contracts.adb (Check_Class_Condition): New subprogram.
1571 (Set_Class_Condition): New subprogram.
1572 (Analyze_Contracts): Remove code analyzing class-wide-clone
1573 subprogram since it is no longer built.
1574 (Process_Spec_Postconditions): Avoid processing twice seen
1575 subprograms.
1576 (Process_Preconditions): Simplify its functionality to
1577 non-class-wide preconditions.
1578 (Process_Preconditions_For): No action needed for wrappers and
1579 helpers.
1580 (Make_Class_Precondition_Subps): New subprogram.
1581 (Process_Class_Conditions_At_Freeze_Point): New subprogram.
1582 (Merge_Class_Conditions): New subprogram.
1583 * exp_ch6.ads (Install_Class_Preconditions_Check): New
1584 subprogram.
1585 * exp_ch6.adb (Expand_Call_Helper): Install class-wide
1586 preconditions check on dispatching primitives that have or
1587 inherit class-wide preconditions.
1588 (Freeze_Subprogram): Remove code for null procedures with
1589 preconditions.
1590 (Install_Class_Preconditions_Check): New subprogram.
1591 * exp_util.ads (Build_Class_Wide_Expression): Lower the
1592 complexity of this subprogram; out-mode formal Needs_Wrapper
1593 since this functionality is now provided by a new subprogram.
1594 (Get_Mapped_Entity): New subprogram.
1595 (Map_Formals): New subprogram.
1596 * exp_util.adb (Build_Class_Wide_Expression): Lower the
1597 complexity of this subprogram. Its previous functionality is now
1598 provided by subprograms Needs_Wrapper and Check_Class_Condition.
1599 (Add_Parent_DICs): Map the overridden primitive to the
1600 overriding one.
1601 (Get_Mapped_Entity): New subprogram.
1602 (Map_Formals): New subprogram.
1603 (Update_Primitives_Mapping): Adding assertion.
1604 * freeze.ads (Check_Inherited_Conditions): Subprogram made
1605 public with added formal to support late overriding.
1606 * freeze.adb (Check_Inherited_Conditions): New implementation;
1607 builds the dispatch table wrapper required for class-wide
1608 pre/postconditions; added support for late overriding.
1609 (Needs_Wrapper): New subprogram.
1610 * sem.ads (Inside_Class_Condition_Preanalysis): New global
1611 variable.
1612 * sem_disp.ads (Covered_Interface_Primitives): New subprogram.
1613 * sem_disp.adb (Covered_Interface_Primitives): New subprogram.
1614 (Check_Dispatching_Context): Skip checking context of
1615 dispatching calls during preanalysis of class-wide conditions
1616 since at that stage the expression is not installed yet on its
1617 definite context.
1618 (Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by
1619 AI12-0412 on helpers and wrappers internally built for
1620 supporting class-wide conditions; for late-overriding
1621 subprograms call Check_Inherited_Conditions to build the
1622 dispatch-table wrapper (if required).
1623 (Propagate_Tag): Adding call to
1624 Install_Class_Preconditions_Check.
1625 * sem_util.ads (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 * sem_util.adb (Build_Class_Wide_Clone_Body): Removed.
1631 (Build_Class_Wide_Clone_Call): Removed.
1632 (Build_Class_Wide_Clone_Decl): Removed.
1633 (Class_Condition): New subprogram.
1634 (Nearest_Class_Condition_Subprogram): New subprogram.
1635 (Eligible_For_Conditional_Evaluation): No need to evaluate
1636 class-wide conditions during preanalysis since the expression is
1637 not installed on its definite context.
1638 * einfo.ads (Class_Wide_Clone): Removed.
1639 (Class_Postconditions): New attribute.
1640 (Class_Preconditions): New attribute.
1641 (Class_Preconditions_Subprogram): New attribute.
1642 (Dynamic_Call_Helper): New attribute.
1643 (Ignored_Class_Postconditions): New attribute.
1644 (Ignored_Class_Preconditions): New attribute.
1645 (Indirect_Call_Wrapper): New attribute.
1646 (Is_Dispatch_Table_Wrapper): New attribute.
1647 (Static_Call_Helper): New attribute.
1648 * exp_attr.adb (Expand_N_Attribute_Reference): When the prefix
1649 is of an access-to-subprogram type that has class-wide
1650 preconditions and an indirect-call wrapper of such subprogram is
1651 available, replace the prefix by the wrapper.
1652 * exp_ch3.adb (Build_Class_Condition_Subprograms): New
1653 subprogram.
1654 (Register_Dispatch_Table_Wrappers): New subprogram.
1655 * exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide
1656 precondition checks now rely on internally built helpers.
1657 * sem_ch13.adb (Analyze_Aspect_Specifications): Set initial
1658 value of attributes Class_Preconditions, Class_Postconditions,
1659 Ignored_Class_Preconditions and Ignored_Class_Postconditions.
1660 These values are later updated with the full pre/postcondition
1661 by Merge_Class_Conditions.
1662 (Freeze_Entity_Checks): Call
1663 Process_Class_Conditions_At_Freeze_Point.
1664 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code
1665 building the body of the class-wide clone subprogram since it is
1666 no longer required.
1667 (Install_Entity): Adding assertion.
1668 * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
1669 code building and analyzing the class-wide clone subprogram; no
1670 longer required.
1671 (Build_Pragma_Check_Equivalent): Adjust call to
1672 Build_Class_Wide_Expression since the formal named Needs_Wrapper
1673 has been removed.
1674 * sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing
1675 these attributes during preanalysis of class-wide conditions
1676 since at that stage the expression is not installed yet on its
1677 definite context.
1678 * sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and
1679 SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers
1680 built to support class-wide preconditions.
1681 * sem_ch5.adb (Process_Bounds): Do not generate a constant
1682 declaration for the bounds when we are preanalyzing a class-wide
1683 condition.
1684 (Analyze_Loop_Parameter_Specification): Handle preanalysis of
1685 quantified expression placed in the outermost expression of a
1686 class-wide condition.
1687 * ghost.adb (Check_Ghost_Context): No check required during
1688 preanalysis of class-wide conditions.
1689 * gen_il-fields.ads (Opt_Field_Enum): Adding
1690 Class_Postconditions, Class_Preconditions,
1691 Class_Preconditions_Subprogram, Dynamic_Call_Helper,
1692 Ignored_Class_Postconditions, Ignored_Class_Preconditions,
1693 Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper,
1694 Static_Call_Helper.
1695 * gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper):
1696 Adding semantic flag Is_Dispatch_Table_Wrapper; removing
1697 semantic field Class_Wide_Clone; adding semantic fields for
1698 Class_Postconditions, Class_Preconditions,
1699 Class_Preconditions_Subprogram, Dynamic_Call_Helper,
1700 Ignored_Class_Postconditions, Indirect_Call_Wrapper,
1701 Ignored_Class_Preconditions, and Static_Call_Helper.
1702
1703 2021-10-01 Piotr Trojanek <trojanek@adacore.com>
1704
1705 * comperr.adb (Delete_SCIL_Files): Handle generic subprogram
1706 declarations and renaming just like generic package declarations
1707 and renamings, respectively; handle
1708 N_Subprogram_Renaming_Declaration.
1709
1710 2021-10-01 Steve Baird <baird@adacore.com>
1711
1712 * bcheck.adb (Check_Versions): Add support for the case where
1713 the .ali file contains both a primary and a secondary version
1714 number, as in "GNAT Lib v22.20210809".
1715
1716 2021-10-01 Steve Baird <baird@adacore.com>
1717
1718 * sem_res.adb (Resolve): Two separate fixes. In the case where
1719 Find_Aspect for a literal aspect returns the aspect for a
1720 different (ancestor) type, call Corresponding_Primitive_Op to
1721 get the right callee. In the case where a downward tagged type
1722 conversion appears to be needed, generate a null extension
1723 aggregate instead, as per Ada RM 3.4(27).
1724 * sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op
1725 function. It maps a primitive op of a tagged type and a
1726 descendant type of that tagged type to the corresponding
1727 primitive op of the descendant type. The body of this function
1728 was written by Javier Miranda.
1729
1730 2021-10-01 Bob Duff <duff@adacore.com>
1731
1732 * atree.adb: Gather and print statistics about frequency of
1733 getter and setter calls.
1734 * atree.ads (Print_Statistics): New procedure for printing
1735 statistics.
1736 * debug.adb: Document -gnatd.A switch.
1737 * gen_il-gen.adb: Generate code for statistics gathering.
1738 Choose the offset of Homonym early. Misc cleanup. Put more
1739 comments in the generated code.
1740 * gen_il-internals.ads (Unknown_Offset): New value to indicate
1741 that the offset has not yet been chosen.
1742 * gnat1drv.adb: Call Print_Statistics.
1743 * libgnat/s-imglli.ads: Minor comment fix.
1744 * output.ads (Write_Int_64): New procedure to write a 64-bit
1745 value. Needed for new statistics, and could come in handy
1746 elsewhere.
1747 * output.adb (Write_Int_64): Likewise.
1748 * sinfo.ads: Remove obsolete comment. The xtreeprs program no
1749 longer exists.
1750 * types.ads: New 64-bit types needed for new statistics.
1751
1752 2021-10-01 Dmitriy Anisimkov <anisimko@adacore.com>
1753
1754 * libgnat/memtrack.adb (Putc): New routine wrapped around fputc
1755 with error check.
1756 (Write): New routine wrapped around fwrite with error check.
1757 Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit.
1758 Use the similar routines from System.CRTL and System.OS_Lib.
1759
1760 2021-10-01 Ed Schonberg <schonberg@adacore.com>
1761
1762 * exp_aggr.adb (Must_Slide): If the aggregate only contains an
1763 others_clause no sliding id involved. Otherwise sliding is
1764 required if any bound of the aggregate or the context subtype is
1765 non-static.
1766
1767 2021-10-01 Richard Kenner <kenner@adacore.com>
1768
1769 * gen_il-gen-gen_nodes.adb (N_Is_Decl): Add.
1770 * gen_il-types.ads (N_Is_Decl): Likewise.
1771
1772 2021-10-01 Richard Kenner <kenner@adacore.com>
1773
1774 * gen_il-gen-gen_nodes.adb (N_Entity_Name): Add.
1775 * gen_il-types.ads (N_Entity_Name): Likewise.
1776
1777 2021-10-01 Steve Baird <baird@adacore.com>
1778
1779 * bcheck.adb (Check_Versions): In the case of an ali file
1780 version mismatch, if distinct integer values can be extracted
1781 from the two version strings then include those values in the
1782 generated error message.
1783
1784 2021-10-01 Steve Baird <baird@adacore.com>
1785
1786 * sem_elab.adb (Is_Safe_Call): Return True in the case of a
1787 (possibly rewritten) call to an expression function.
1788
1789 2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
1790
1791 * sem_aggr.adb (Resolve_Iterated_Component_Association):
1792 Initialize Id_Typ to Any_Type by default.
1793
1794 2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
1795
1796 * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document
1797 that it works only with fixed-position executables.
1798
1799 2021-10-01 Doug Rupp <rupp@adacore.com>
1800
1801 * libgnat/s-parame__vxworks.ads (time_t_bits): Change to
1802 Long_Long_Integer'Size.
1803
1804 2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
1805
1806 * gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment.
1807
1808 2021-09-23 Richard Kenner <kenner@adacore.com>
1809
1810 * gen_il-gen-gen_entities.adb (Subprogram_Body_Or_Type): Add.
1811 * gen_il-types.ads (Subprogram_Body_Or_Type): Likewise.
1812
1813 2021-09-23 Richard Kenner <kenner@adacore.com>
1814
1815 * einfo-utils.adb (Next_Index): Verify input and output are
1816 N_Is_Index.
1817 * gen_il-gen-gen_nodes.adb (N_Has_Bounds, N_Is_Index): Add.
1818 * gen_il-types.ads (N_Has_Bounds, N_Is_Index): Likewise.
1819 * sem_ch3.adb (Array_Type_Declaration): Use Next, not
1820 Next_Index.
1821 * sem_ch12.adb (Formal_Dimensions): Likewise.
1822 * sem_util.adb (Is_Valid_Renaming): Likewise.
1823
1824 2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
1825
1826 * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize):
1827 Document new --load option and -g1 as minimal compilation
1828 requirement.
1829
1830 2021-09-23 Piotr Trojanek <trojanek@adacore.com>
1831
1832 * sem_aggr.adb (Resolve_Array_Aggregate): Only keep the bounds
1833 for internally generated attributes; otherwise, compute them
1834 anew.
1835
1836 2021-09-23 Javier Miranda <miranda@adacore.com>
1837
1838 * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Decorate the
1839 wrapper with attribute Is_Wrapper, and move its declaration to
1840 the freezing actions of its type declaration; done to facilitate
1841 identifying it at later stages to avoid handling it as a
1842 primitive operation of a tagged type; otherwise it may be
1843 handled as a dispatching operation and erroneously registered in
1844 a dispatch table.
1845 (Make_Index): Add missing decoration of field Parent.
1846 * sem_disp.adb (Check_Dispatching_Operation): Complete
1847 decoration of late-overriding dispatching primitives.
1848 (Is_Access_To_Subprogram_Wrapper): New subprogram.
1849 (Inherited_Subprograms): Prevent cascaded errors; adding missing
1850 support for private types.
1851 * sem_type.adb (Add_One_Interp): Add missing support for the
1852 first interpretation of a primitive of an inmediate ancestor
1853 interface.
1854 * sem_util.adb (Check_Result_And_Post_State_In_Pragma): Do not
1855 report missing reference in postcondition placed in internally
1856 built wrappers.
1857 * exp_disp.adb (Expand_Dispatching_Call): Adding assertion.
1858
1859 2021-09-23 Ed Schonberg <schonberg@adacore.com>
1860
1861 * sem_aggr.adb (Resolve_Array_Aggregate): Check the validity of
1862 an array aggregate all of whose components are iterated
1863 component associations.
1864 * exp_aggr.adb (Expand_Array_Aggregate,
1865 Two_Pass_Aggregate_Expansion): implement two-pass algorithm and
1866 replace original aggregate with resulting temporary, to ensure
1867 that a proper length check is performed if context is
1868 constrained. Use attributes Pos and Val to handle index types of
1869 any discrete type.
1870
1871 2021-09-23 Bob Duff <duff@adacore.com>
1872
1873 * gen_il-gen.adb: Set the number of concrete nodes that have the
1874 Homonym field to a higher number than any other field. This
1875 isn't true, but it forces Homonym's offset to be chosen first,
1876 so it will be at offset zero and hence slot zero.
1877
1878 2021-09-23 Richard Kenner <kenner@adacore.com>
1879
1880 * atree.adb (Relocate_Node): If relocating a subprgram call and
1881 we're doing unnesting, make a new Parameter_Associations, if
1882 any.
1883
1884 2021-09-23 Piotr Trojanek <trojanek@adacore.com>
1885
1886 * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove explicit
1887 Initializes contract.
1888
1889 2021-09-23 Bob Duff <duff@adacore.com>
1890
1891 * gen_il-gen.adb: Generate getters and setters with much of the
1892 code inlined. Generate code for storing a few fields in the node
1893 header, to avoid the extra level of indirection for those
1894 fields. We generate the header type, so we don't have to
1895 duplicate hand-written Ada and C code to depend on the number of
1896 header fields. Declare constants for slot size. Use short names
1897 because these are used all over. Remove
1898 Put_Low_Level_Accessor_Instantiations, Put_Low_Level_C_Getter,
1899 which are no longer needed. Rename
1900 Put_High_Level_C_Getter-->Put_C_Getter.
1901 * atree.ads, atree.adb: Take into account the header slots.
1902 Take into account the single Node_Or_Entity_Field type. Remove
1903 "pragma Assertion_Policy (Ignore);", because the routines in
1904 this package are no longer efficiency critical.
1905 * atree.h: Remove low-level getters, which are no longer used by
1906 sinfo.h and einfo.h.
1907 * einfo-utils.adb: Avoid crash in Known_Alignment.
1908 * live.adb, sem_eval.adb: Remove code that prevents Node_Id from
1909 having a predicate. We don't actually add a predicate to
1910 Node_Id, but we want to be able to for temporary debugging.
1911 * sinfo-utils.adb: Remove code that prevents Node_Id from having
1912 a predicate. Take into account the single Node_Or_Entity_Field
1913 type.
1914 * sinfo-utils.ads: Minor.
1915 * table.ads (Table_Type): Make the components aliased, because
1916 low-level setters in Atree need to take 'Access.
1917 * treepr.adb: Take into account the single Node_Or_Entity_Field
1918 type. Make some code more robust, so we can print out
1919 half-baked nodes.
1920 * types.ads: Move types here for visibility purposes.
1921 * gcc-interface/gigi.h, gcc-interface/trans.c: Take into account
1922 the Node_Header change in the GNAT front end.
1923 * gcc-interface/cuintp.c, gcc-interface/targtyps.c: Add because
1924 gigi.h now refers to type Node_Header, which is in sinfo.h.
1925
1926 2021-09-23 Yannick Moy <moy@adacore.com>
1927
1928 * libgnat/a-strfix.adb (Delete, Insert, Overwrite,
1929 Replace_Slice): Remove SPARK_Mode Off.
1930 * libgnat/a-strfix.ads (Insert, Overwrite, Replace_Slice):
1931 Strengthen precondition.
1932
1933 2021-09-23 Piotr Trojanek <trojanek@adacore.com>
1934
1935 * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove non-null
1936 Global contracts.
1937
1938 2021-09-23 Steve Baird <baird@adacore.com>
1939
1940 * doc/gnat_rm/implementation_defined_characteristics.rst: Update
1941 this section to reflect the current version of Ada RM M.2.
1942 * gnat_rm.texi: Regenerate.
1943
1944 2021-09-22 Yannick Moy <moy@adacore.com>
1945
1946 * libgnat/a-strfix.ads (Trim): Simplify contracts.
1947 * libgnat/a-strfix.adb (Trim): Remove white space.
1948
1949 2021-09-22 Piotr Trojanek <trojanek@adacore.com>
1950
1951 * exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result.
1952 * exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old.
1953
1954 2021-09-22 Yannick Moy <moy@adacore.com>
1955
1956 * sem_ch3.adb (Analyze_Object_Declaration): Do not insert a
1957 predicate check after a deferred constant declaration.
1958
1959 2021-09-22 Bob Duff <duff@adacore.com>
1960
1961 * contracts.adb, einfo-utils.adb, einfo-utils.ads, exp_ch7.adb,
1962 exp_ch9.adb, exp_disp.adb, exp_prag.adb, exp_smem.adb,
1963 exp_util.adb, freeze.adb, sem_aggr.adb, sem_attr.adb,
1964 sem_ch8.adb, sem_prag.ads, sem_util.adb, sem_util.ads: Fix
1965 conformance errors.
1966 * errout.adb, erroutc.adb: Remove pragmas Suppress.
1967 * err_vars.ads: Initialize variables that were previously being
1968 read uninitialized.
1969
1970 2021-09-22 Yannick Moy <moy@adacore.com>
1971
1972 * libgnat/a-strunb.ads: Mark package in SPARK with private part
1973 not in SPARK.
1974 (Free): Mark not in SPARK.
1975
1976 2021-09-22 Arnaud Charlet <charlet@adacore.com>
1977
1978 * snames.ads-tmpl: Update status of some attributes.
1979
1980 2021-09-22 Doug Rupp <rupp@adacore.com>
1981
1982 * libgnarl/s-interr__vxworks.adb (Interfaces.C): Remove as
1983 unused.
1984 (System.VxWorks.Ext): Import.
1985 (System.VxWorks.Ext.STATUS): use type.
1986 (STATUS): New subtype.
1987 (OK): New constant.
1988 (Interrupt_Connector): Return STATUS type vice int.
1989 (Interrupt_Connect, Notify_Interrupt, Unbind_Handler,
1990 Interrupt_Server_Task): Rename Status to Result. Assert Result =
1991 OK.
1992 * libgnarl/s-osinte__vxworks.adb (To_Clock_Ticks): Define constant
1993 IERR, and return it vice ERROR.
1994 (Binary_Semaphore_Delete): Return STATUS type vice int.
1995 (Binary_Semaphore_Obtain): Likewise.
1996 (Binary_Semaphore_Release): Likewise.
1997 (Binary_Semaphore_Flush): Likewise.
1998 * libgnarl/s-osinte__vxworks.ads (SVE): Renaming of
1999 System.VxWorks.Ext.
2000 (STATUS): Use SVE in declaration of subtype.
2001 (BOOL): Likewise.
2002 (vx_freq_t): Likewise.
2003 (t_id): Likewise.
2004 (gitpid): Use SVE in renaming of subprogram
2005 (Task_Stop): Likewise.
2006 (Task_Cont): Likewise.
2007 (Int_Lock): Likewise.
2008 (Int_Unlock): Likewise.
2009 (Set_Time_Slice): Likewise.
2010 (semDelete): Likewise.
2011 (taskCpuAffinitySet): Likewise.
2012 (taskMaskAffinitySet): Likewise.
2013 (sigset_t): Use SVE in declaration of type.
2014 (OK): Remove as unused.
2015 (ERROR): Likewise.
2016 (taskOptionsGet): return STATUS vice int.
2017 (taskSuspend): Likewise.
2018 (taskResume): Likewise.
2019 (taskDelay): Likewise.
2020 (taskVarAdd): Likewise.
2021 (taskVarDelete): Likewise.
2022 (taskVarSet): Likewise.
2023 (tlkKeyCreate): Likewise.
2024 (taskPrioritySet): Likewise.
2025 (semGive): Likewise.
2026 (semTake): Likewise.
2027 (Binary_Semaphore_Delete): Likewise.
2028 (Binary_Semaphore_Obtain): Likewise.
2029 (Binary_Semaphore_Release): Likewise.
2030 (Binary_Semaphore_Flush): Likewise.
2031 (Interrupt_Connect): Likewise.
2032 * libgnarl/s-taprop__vxworks.adb
2033 (System.VxWorks.Ext.STATUS): use type.
2034 (int): Syntactically align subtype.
2035 (STATUS): New subtype.
2036 (OK): New constant.
2037 (Finalize_Lock): Check STATUS vice int. Assert OK.
2038 (Finalize_Lock): Likewise.
2039 (Write_Lock): Likewise.
2040 (Write_Lock): Likewise.
2041 (Write_Lock): Likewise.
2042 (Unlock): Likewise.
2043 (Unlock): Likewise.
2044 (Unlock): Likewise.
2045 (Unlock): Likewise.
2046 (Sleep): Likewise.
2047 (Sleep): Likewise.
2048 (Sleep): Likewise.
2049 (Timed_Sleep): Likewise and test Result.
2050 (Timed_Delay): Likewise and test Result.
2051 (Wakeup): Likewise.
2052 (Yield): Likewise.
2053 (Finalize_TCB): Likewise.
2054 (Suspend_Until_True): Check OK.
2055 (Stop_All_Tasks): Declare Dummy STATUS vice in. Check OK.
2056 (Is_Task_Context): Use OSI renaming.
2057 (Initialize): Use STATUS vice int.
2058 * libgnarl/s-vxwext.adb
2059 (IERR): Renamed from ERROR.
2060 (taskCpuAffinitySet): Return IERR (int).
2061 (taskMaskAffinitySet): Likewise.
2062 * libgnarl/s-vxwext.ads
2063 (STATUS): New subtype.
2064 (OK): New STATUS constant.
2065 (ERROR): Likewise.
2066 * libgnarl/s-vxwext__kernel-smp.adb
2067 (IERR): Renamed from ERROR.
2068 (Int_Lock): Return IERR.
2069 (semDelete): Return STATUS.
2070 (Task_Cont): Likewise.
2071 (Task_Stop): Likewise.
2072 * libgnarl/s-vxwext__kernel.adb
2073 (IERR): Renamed from ERROR.
2074 (semDelete): Return STATUS.
2075 (Task_Cont): Likewise.
2076 (Task_Stop): Likewise.
2077 (taskCpuAffinitySet): Return IERR (int)
2078 (taskMaskAffinitySet): Likewise.
2079 * libgnarl/s-vxwext__kernel.ads
2080 (STATUS): New subtype.
2081 (OK): New STATUS constant.
2082 (ERROR): Likewise.
2083 (Interrupt_Connect): Return STATUS
2084 (semDelete): Likewise.
2085 (Task_Cont): Likewise.
2086 (Task_Stop): Likewise.
2087 (Set_Time_Slice): Likewise.
2088 * libgnarl/s-vxwext__rtp-smp.adb
2089 (IERR): Renamed from ERROR.
2090 (Int_Lock): return IERR constant vice ERROR.
2091 (Interrupt_Connect): Return STATUS.
2092 (semDelete): Likewise.
2093 (Set_Time_Slice): Likewise.
2094 * libgnarl/s-vxwext__rtp.adb
2095 (IERR): Renamed from ERROR.
2096 (Int_Lock): return IERR constant vice ERROR.
2097 (Int_Unlock): Return STATUS.
2098 (semDelete): Likewise.
2099 (Set_Time_Slice): Likewise.
2100 (taskCpuAffinitySet): Return IERR (int)
2101 (taskMaskAffinitySet): Likewise.
2102 * libgnarl/s-vxwext__rtp.ads
2103 (STATUS): New subtype.
2104 (OK): New STATUS constant.
2105 (ERROR): Likewise.
2106 (Interrupt_Connect): Return STATUS
2107 (semDelete): Likewise.
2108 (Task_Cont): Likewise.
2109 (Task_Stop): Likewise.
2110 (Set_Time_Slice): Likewise.
2111
2112 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2113
2114 * prep.adb (Preprocess): Allow for more flexibility when
2115 Relaxed_RM_Semantics is set.
2116
2117 2021-09-22 Pierre-Alexandre Bazin <bazin@adacore.com>
2118
2119 * libgnat/a-strbou.adb: Turn SPARK_Mode on.
2120 * libgnat/a-strbou.ads: Write contracts.
2121 * libgnat/a-strfix.ads (Index): Fix grammar error in a comment.
2122 * libgnat/a-strsea.ads (Index): Likewise.
2123 * libgnat/a-strsup.adb: Rewrite the body to take into account
2124 the new definition of Super_String using Relaxed_Initialization
2125 and a predicate.
2126 (Super_Replicate, Super_Translate, Times): Added loop
2127 invariants, and ghost lemmas for Super_Replicate and Times.
2128 (Super_Trim): Rewrite the body using search functions to
2129 determine the cutting points.
2130 (Super_Element, Super_Length, Super_Slice, Super_To_String):
2131 Remove (now written as expression functions in a-strsup.ads).
2132 * libgnat/a-strsup.ads: Added contracts.
2133 (Super_Element, Super_Length, Super_Slice, Super_To_String):
2134 Rewrite as expression functions.
2135
2136 2021-09-22 Yannick Moy <moy@adacore.com>
2137
2138 * sem_ch13.adb (Build_Predicate_Functions): Add guard.
2139
2140 2021-09-22 Doug Rupp <rupp@adacore.com>
2141
2142 * libgnarl/s-vxwext.ads (BOOL): New int type.
2143 (Interrupt_Context): Change return type to BOOL.
2144 * libgnarl/s-vxwext__kernel.ads: Likewise.
2145 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
2146 * libgnarl/s-vxwext__rtp.adb: Likewise.
2147 * libgnarl/s-vxwext__rtp.ads: Likewise.
2148 * libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change
2149 return type to BOOL.
2150 * libgnarl/s-osinte__vxworks.ads (BOOL) New subtype.
2151 (taskIsSuspended): Change return type to BOOL.
2152 (Interrupt_Context): Change return type to BOOL. Adjust comments
2153 accordingly.
2154 * libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL):
2155 use type.
2156 (Is_Task_Context): Test Interrupt_Context against 0.
2157 * libgnat/i-vxwork.ads (BOOL): New int.
2158 (intContext): Change return type to BOOL. Adjust comments.
2159 * libgnat/i-vxwork__x86.ads: Likewise.
2160
2161 2021-09-22 Piotr Trojanek <trojanek@adacore.com>
2162
2163 * sem_aux.adb, sem_aux.ads (Package_Body): Moved from GNATprove.
2164 * sem_elab.adb (Spec_And_Body_From_Entity): Refine type of parameter.
2165
2166 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2167
2168 * doc/gnat_ugn/platform_specific_information.rst: Improve doc
2169 on permission and containers.
2170 * gnat_ugn.texi: Regenerate.
2171
2172 2021-09-22 Yannick Moy <moy@adacore.com>
2173
2174 * atree.adb (Rewrite): Fix parent node of shared aspects.
2175 * atree.ads (Rewrite): Add ??? comment on incorrect
2176 documentation.
2177 * einfo-utils.adb (Known_Esize): Fix logic.
2178 * sem_ch13.adb (Alignment_Check_For_Size_Change,
2179 Analyze_Attribute_Definition_Clause): Protect against unset
2180 Size.
2181
2182 2021-09-22 Yannick Moy <moy@adacore.com>
2183
2184 * freeze.adb (Build_Renamed_Body): Special case for GNATprove.
2185 * sem_ch6.adb (Analyze_Expression_Function): Remove useless test
2186 for a node to come from source, which becomes harmful otherwise.
2187
2188 2021-09-22 Justin Squirek <squirek@adacore.com>
2189
2190 * ali.adb, ali.ads (Scan_ALI): Remove use of deprecated
2191 parameter Ignore_ED, and all specification for Lower in call to
2192 Get_File_Name.
2193 * ali-util.adb (Read_Withed_ALIs): Modify call to Scan_ALI.
2194 * clean.adb (Clean_Executables): Likewise.
2195 * gnatbind.adb (Add_Artificial_ALI_File, Executable section):
2196 Likewise.
2197 * gnatlink.adb (Executable section): Likewise.
2198 * gnatls.adb (Executable section): Likewise.
2199 * make.adb (Check, Wait_For_Available_Slot): Likewise.
2200 * aspects.ads: Add Aspect_No_Controlled_Parts to
2201 Nonoverridable_Aspect_Id
2202 * opt.ads: Remove function pointers used as a workaround for
2203 ASIS.
2204 * osint-c.adb (Executable section): Remove setting of function
2205 pointer workarounds needed for ASIS.
2206 * osint.adb (Read_Default_Search_Dirs): Correct behavior to
2207 detect EOL characters.
2208 * par_sco.adb (Output_Header): Remove comment regarding use of
2209 First_Sloc.
2210 (Traverse_Sync_Definition): Renamed to
2211 Traverse_Protected_Or_Task_Definition.
2212 * pprint.adb (Interal_List_Name): Add description about purpose,
2213 and refactor conditional statement.
2214 (Prepend): Removed.
2215 * repinfo.adb (List_Rep_Info, Write_Info_Line): Remove use of
2216 subprogram pointer.
2217 * scng.adb (Scan): Remove CODEFIX question, and minor comment
2218 change.
2219 * sem_attr.adb (Analyze_Image_Attribute): Remove special
2220 processing for 'Img.
2221 * sem_ch6.adb (Check_Untagged_Equality): Add RM reference.
2222 (FCE): Add comment describing behavior.
2223 (Is_Non_Overriding_Operation): Minor comment formatting change.
2224 * sem_type.adb (Is_Actual_Subprogram): Add comment about
2225 Comes_From_Source test.
2226 (Matching_Types): Describe non-matching cases.
2227 * sem_util.adb (Is_Confirming): Add stub case for
2228 No_Controlled_Parts.
2229
2230 2021-09-22 Yannick Moy <moy@adacore.com>
2231
2232 * sem_ch13.adb (Build_Predicate_Functions): Access
2233 Predicated_Parent only on subtypes.
2234
2235 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2236
2237 * sem_prag.adb (Process_Import_Or_Interface): Relax error when
2238 Relaxed_RM_Semantics.
2239
2240 2021-09-22 Steve Baird <baird@adacore.com>
2241
2242 * libgnat/s-regpat.adb (Match): Handle the case where Self.First
2243 is not NUL (so we know the first character we are looking for),
2244 but case-insensitive matching has
2245 been specified.
2246 (Optimize): In the case of an EXACTF Op, set Self.First as is
2247 done in the EXACT case, except with the addition of a call to
2248 Lower_Case.
2249
2250 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2251
2252 * libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete.
2253 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o.
2254 (GNATBIND_OBJS): Likewise.
2255
2256 2021-09-22 Yannick Moy <moy@adacore.com>
2257
2258 * einfo.ads: Fix comments.
2259 * exp_aggr.adb: Fix variable name.
2260 * exp_util.adb: Fix comments.
2261 * sem_ch13.adb: Fix comments.
2262 * sem_ch3.adb: Fix comments and variable name.
2263
2264 2021-09-22 Doug Rupp <rupp@adacore.com>
2265
2266 * libgnarl/s-osinte__vxworks.ads: Make procedure vice function.
2267 * libgnarl/s-vxwext.ads: Likewise.
2268 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
2269 * libgnarl/s-vxwext__kernel.adb: Likewise.
2270 * libgnarl/s-vxwext__kernel.ads: Likewise.
2271 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
2272 * libgnarl/s-vxwext__rtp.adb: Likewise.
2273 * libgnarl/s-vxwext__rtp.ads: Likewise.
2274 * libgnarl/s-taprop__vxworks.adb (Stop_All_Tasks): Call
2275 Int_Unlock as a procedure.
2276
2277 2021-09-22 Doug Rupp <rupp@adacore.com>
2278
2279 * libgnarl/s-osinte__vxworks.ads (SVE): New package renaming
2280 (vx_freq_t): New subtype.
2281 (sysClkRateGet): Return vx_freq_t.
2282 * libgnarl/s-vxwext.ads (vx_freq_t): New type.
2283 * libgnarl/s-vxwext__kernel.ads: Likewise.
2284 * libgnarl/s-vxwext__rtp.ads: Likewise.
2285
2286 2021-09-22 Ghjuvan Lacambre <lacambre@adacore.com>
2287
2288 * sem_case.adb (Composite_Case_Ops): Replace 'Image with
2289 Error_Msg_Uint.
2290
2291 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2292
2293 * exp_ch4.adb (Expand_N_If_Expression): Generate an intermediate
2294 temporary when the expression is a condition in an outer decision
2295 and control-flow optimizations are suppressed.
2296
2297 2021-09-22 Steve Baird <baird@adacore.com>
2298
2299 * exp_ch5.adb (Expand_General_Case_Statement.Pattern_Match): Add
2300 new function Indexed_Element to handle array element
2301 comparisons. Handle case choices that are array aggregates,
2302 string literals, or names denoting constants.
2303 * sem_case.adb (Composite_Case_Ops.Array_Case_Ops): New package
2304 providing utilities needed for casing on arrays.
2305 (Composite_Case_Ops.Choice_Analysis): If necessary, include
2306 array length as a "component" (like a discriminant) when
2307 traversing components. We do not (yet) partition choice analysis
2308 to deal with unequal length choices separately. Instead, we
2309 embed everything in the minimum-dimensionality Cartesian product
2310 space needed to handle all choices properly; this is determined
2311 by the length of the longest choice pattern.
2312 (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
2313 Include length as a "component" in the traversal if necessary.
2314 (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice):
2315 Add support for case choices that are string literals or names
2316 denoting constants.
2317 (Composite_Case_Ops.Choice_Analysis): Include length as a
2318 "component" in the analysis if necessary.
2319 (Check_Choices.Check_Case_Pattern_Choices.Ops.Value_Sets.Value_Index_Count):
2320 Improve error message when capacity exceeded.
2321 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
2322 documentation to reflect current implementation status.
2323 * gnat_rm.texi: Regenerate.
2324
2325 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2326
2327 * freeze.adb (Check_Component_Storage_Order): Give a specific error
2328 message for non-byte-aligned component in the packed case. Replace
2329 "composite" with "record" in both cases.
2330
2331 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2332
2333 * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: Make compatible
2334 with No_Elaboration_Code_All.
2335 * libgnarl/s-taskin.ads, libgnarl/s-tassta.adb: Adjust
2336 accordingly.
2337
2338 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2339
2340 * sem_ch6.adb (Check_Returns): Change message on missing return.
2341
2342 2021-09-22 Arnaud Charlet <charlet@adacore.com>
2343
2344 * gnatfind.adb, gnatxref.adb: Mark these tools as obsolete
2345 before removing them completely.
2346
2347 2021-09-22 Eric Botcazou <ebotcazou@adacore.com>
2348
2349 * gcc-interface/decl.c (range_cannot_be_superflat): Tweak comments.
2350
2351 2021-09-21 Doug Rupp <rupp@adacore.com>
2352
2353 * init.c (__gnat_error_handler) [LynxOS]: Add a comment about
2354 missing optional args.
2355
2356 2021-09-21 Yannick Moy <moy@adacore.com>
2357
2358 * gen_il-gen.adb (Put_Opt_Subtype): Add suffix.
2359
2360 2021-09-21 Justin Squirek <squirek@adacore.com>
2361
2362 * sem_util.adb (Accessibility_Level): Remove spurious special
2363 case for protected type components.
2364 * exp_ch4.adb (Generate_Accessibility_Check): Use general
2365 Accessibility_Level instead of the low-level function
2366 Type_Access_Level.
2367
2368 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2369
2370 * gnat_ugn.texi: Regenerate.
2371
2372 2021-09-21 Matthieu Eyraud <eyraud@adacore.com>
2373
2374 * par_sco.adb (Traverse_One): Add support for pragma Invariant /
2375 Type_Invariant.
2376
2377 2021-09-21 Bob Duff <duff@adacore.com>
2378
2379 * gen_il-gen.adb (Put_Opt_Subtype): Print out subtypes of the
2380 form:
2381 subtype Opt_N_Declaration is
2382 Node_Id with Predicate =>
2383 Opt_N_Declaration = Empty or else
2384 Opt_N_Declaration in N_Declaration_Id;
2385 One for each node or entity type, with the predicate allowing
2386 Empty.
2387 * atree.adb (Parent, Set_Parent): Remove unnecessary "Atree.".
2388
2389 2021-09-21 Patrick Bernardi <bernardi@adacore.com>
2390
2391 * bindgen.adb (Gen_Adainit): For targets that suppress the
2392 standard library: set the default stack size global variable if
2393 a value is provided via the -d switch, and generate a call to
2394 __gnat_initialize_stack_limit if stack checking using stack
2395 limits is enabled.
2396
2397 2021-09-21 Bob Duff <duff@adacore.com>
2398
2399 * sem_ch13.adb (Stream_Size): Print message about allowed stream
2400 sizes even if other error were already found. This avoids
2401 falling into the 'else', which prints "Stream_Size cannot be
2402 given for...", which is misleading -- the Size COULD be given if
2403 it were correct.
2404
2405 2021-09-21 Daniel Mercier <mercier@adacore.com>
2406
2407 * exp_util.adb (Build_Temporary): In case of an external DISCR
2408 symbol, set the related expression for CodePeer so that a more
2409 comprehensible message can be emitted to the user.
2410
2411 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2412
2413 * libgnat/s-dwalin.adb (Parse_Header): Tweak comments.
2414 (Read_Entry_Format_Array): Tweak exception message.
2415 (Symbolic_Address.Set_Result): Likewise.
2416
2417 2021-09-21 Ed Schonberg <schonberg@adacore.com>
2418
2419 * exp_ch7.adb (Make_Init_Call): Add guard to protect against a
2420 missing initialization procedure for a type.
2421
2422 2021-09-21 Doug Rupp <rupp@adacore.com>
2423
2424 * Makefile.rtl: Remove unused VxWorks sections.
2425 * libgnarl/s-vxwext__noints.adb: Remove.
2426 * libgnarl/s-vxwext__vthreads.ads: Remove.
2427 * libgnat/a-elchha__vxworks-ppc-full.adb: Remove.
2428 * libgnat/s-osprim__vxworks.adb: Remove.
2429 * libgnat/s-osvers__vxworks-653.ads: Remove.
2430 * libgnat/system-vxworks-e500-vthread.ads: Remove.
2431 * libgnat/system-vxworks-ppc-vthread.ads: Remove.
2432 * libgnat/system-vxworks-x86-vthread.ads: Remove.
2433
2434 2021-09-21 Bob Duff <duff@adacore.com>
2435
2436 * uintp.ads, uintp.adb (UI_Is_In_Int_Range): Change the type of
2437 the formal parameter to Valid_Uint. Remove code that preserved
2438 the previous behavior, and replace it with an assertion. The
2439 previous behavior is no longer needed given the recent change to
2440 gigi.
2441 (No, Present): Add comment.
2442
2443 2021-09-21 Bob Duff <duff@adacore.com>
2444
2445 * sem_eval.adb (Fold_Shift): Replace an if_expression with an
2446 if_statement.
2447
2448 2021-09-21 Bob Duff <duff@adacore.com>
2449
2450 * uintp.ads, uintp.adb: Add assertions.
2451 (Ubool, Opt_Ubool): New "boolean" subtypes.
2452 (UI_Is_In_Int_Range): The parameter should probably be
2453 Valid_Uint, but we don't change that for now, because it causes
2454 failures in gigi.
2455 * sem_util.ads, sem_util.adb (Is_True, Is_False,
2456 Static_Boolean): Use Opt_Ubool subtype. Document the fact that
2457 Is_True (No_Uint) = True. Implement Is_False in terms of
2458 Is_True. We considered changing Static_Boolean to return Uint_1
2459 in case of error, but that doesn't fit in well with
2460 Static_Integer.
2461 (Has_Compatible_Alignment_Internal): Deal with cases where Offs
2462 is No_Uint. Change one "and" to "and then" to ensure we don't
2463 pass No_Uint to ">", which would violate the new assertions.
2464 * exp_util.adb, freeze.adb, sem_ch13.adb: Avoid violating new
2465 assertions in Uintp.
2466
2467 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2468
2469 * libgnat/s-dwalin.adb (To_File_Name): Fetch only the last string
2470 from the .debug_line_str section.
2471 (Symbolic_Address.Set_Result): Likewise.
2472
2473 2021-09-21 Eric Botcazou <ebotcazou@adacore.com>
2474
2475 * libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx
2476 and DW_FORM_implicit_const. Replace Constraint_Error with
2477 Dwarf_Error.
2478
2479 2021-09-21 Ghjuvan Lacambre <lacambre@adacore.com>
2480
2481 * exp_pakd.adb (Expand_Packed_Not): Replace expression with
2482 statement.
2483
2484 2021-09-21 Ghjuvan Lacambre <lacambre@adacore.com>
2485
2486 * sem_eval.adb (Is_Static_Subtype): Take predicates created
2487 through "predicate" pragma into account.
2488
2489 2021-09-21 Frederic Konrad <konrad@adacore.com>
2490
2491 * Makefile.rtl (aarch64-rtems*): Add GNATRTL_128BIT_PAIRS to
2492 the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
2493 the EXTRA_GNATRTL_NONTASKING_OBJS list.
2494
2495 2021-09-21 Gary Dismukes <dismukes@adacore.com>
2496
2497 * sem_ch4.adb (Remove_Abstract_Operations): Add condition to
2498 test for an E_Operator as part of criteria for setting
2499 Abstract_Op on interpretations involving predefined operators.
2500
2501 2021-09-21 Javier Miranda <miranda@adacore.com>
2502
2503 * exp_ch6.adb (Expand_Simple_Function_Return): For explicit
2504 dereference of type conversion, enable code that ensures that
2505 the tag of the result is that of the result type.
2506
2507 2021-09-21 Bob Duff <duff@adacore.com>
2508
2509 * einfo-utils.adb: Add support (currently disabled) for using
2510 "initial zero" instead of "Uint_0" to represent "unknown". Call
2511 Known_ functions, instead of evilly duplicating their code
2512 inline.
2513 * fe.h (No_Uint_To_0): New function to convert No_Uint to
2514 Uint_0, in order to preserve existing behavior.
2515 (Copy_Esize, Copy_RM_Size): New imports from Einfo.Utils.
2516 * cstand.adb: Set size fields of Standard_Debug_Renaming_Type
2517 and Standard_Exception_Type.
2518 * checks.adb, exp_attr.adb, exp_ch3.adb, exp_ch5.adb,
2519 exp_ch6.adb, exp_pakd.adb, exp_util.adb, freeze.adb, itypes.adb,
2520 layout.adb, repinfo.adb, sem_attr.adb, sem_ch12.adb,
2521 sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch7.adb,
2522 sem_util.adb: Protect calls with Known_..., use Copy_... Remove
2523 assumption that Uint_0 represents "unknown".
2524 * types.ads (Nonzero_Int): New subtype.
2525 * gcc-interface/decl.c, gcc-interface/trans.c: Protect calls
2526 with Known_... and use Copy_... as appropriate, to avoid
2527 blowing up in unknown cases. Similarly, call No_Uint_To_0 to
2528 preserve existing behavior.
2529
2530 2021-09-21 Steve Baird <baird@adacore.com>
2531
2532 * sem_ch13.adb (Analyze_Aspect_Specifications): Add a new nested
2533 function, Directly_Specified, and then use it in the
2534 implementation of the required check.
2535
2536 2021-09-21 Steve Baird <baird@adacore.com>
2537
2538 * libgnat/a-costso.ads, libgnat/a-costso.adb: A new library
2539 unit, Ada.Containers.Stable_Sorting, which exports a pair of
2540 generics (one within the other) which are instantiated by each
2541 of the 5 doubly-linked list container generics to implement
2542 their respective Sort procedures. We use a pair of generics,
2543 rather than a single generic, in order to further reduce code
2544 duplication. The outer generic takes a formal private Node_Ref
2545 type representing a reference to a linked list element. For some
2546 instances, the corresponding actual parameter will be an access
2547 type; for others, it will be the index type for an array.
2548 * Makefile.rtl: Include new Ada.Containers.Stable_Sorting unit.
2549 * libgnat/a-cbdlli.adb, libgnat/a-cdlili.adb,
2550 libgnat/a-cfdlli.adb, libgnat/a-cidlli.adb, libgnat/a-crdlli.adb
2551 (Sort): Replace existing Sort implementation with a call to an
2552 instance of
2553 Ada.Containers.Stable_Sorting.Doubly_Linked_List_Sort. Declare
2554 the (trivial) actual parameters needed to declare that instance.
2555 * libgnat/a-cfdlli.ads: Fix a bug encountered during testing in
2556 the postcondition for M_Elements_Sorted. With a partial
2557 ordering, it is possible for all three of (X < Y), (Y < X),
2558 and (X = Y) to be simultaneously false, so that case needs to
2559 handled correctly.
2560
2561 2021-09-21 Piotr Trojanek <trojanek@adacore.com>
2562
2563 * errout.adb (Error_Msg_Internal): Fix references to Sptr and
2564 Optr in comment; fix grammar of "low-level" where it is used as
2565 an adjective.
2566
2567 2021-09-21 Piotr Trojanek <trojanek@adacore.com>
2568
2569 * errout.adb (Write_Source_Code_Lines): Use Cur_Loc before
2570 incrementing it, so that we don't need to decrement it.
2571
2572 2021-09-21 Yannick Moy <moy@adacore.com>
2573
2574 * errout.adb (Get_Line_End): Do not allow the result to go past
2575 the end of the buffer.
2576
2577 2021-09-21 Ed Schonberg <schonberg@adacore.com>
2578
2579 * sem_ch3.adb (Process_Discriminant_Expressions): If the
2580 constraint is for a Component_Definition that appears in a
2581 Component_Declaration, the entity to be used to create the
2582 potentially global symbol is the Defining_Identifier of the
2583 Component_Declaration.
2584
2585 2021-09-21 Bob Duff <duff@adacore.com>
2586
2587 * libgnat/a-stbufi.ads, libgnat/a-stbufi.adb: Change all
2588 occurrences of GNAT.OS_Lib to System.OS_Lib.
2589
2590 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2591
2592 * inline.adb (Has_Excluded_Declaration): Remove redundant guard;
2593 the guarded code will call First on a No_List, which is
2594 well-defined and gives Empty.
2595
2596 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2597
2598 * inline.adb (Has_Excluded_Declaration): Rename and reduce scope
2599 of a local variable.
2600
2601 2021-09-20 Bob Duff <duff@adacore.com>
2602
2603 * uintp.ads, uintp.adb (Present, No): New functions for
2604 comparing with No_Uint.
2605 * checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb,
2606 exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb,
2607 exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb,
2608 sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb,
2609 sinfo-utils.adb, treepr.adb: Use Present (...) instead of "...
2610 /= No_Uint", and No (...) instead of "... = No_Uint".
2611
2612 2021-09-20 Claire Dross <dross@adacore.com>
2613
2614 * libgnat/s-ficobl.ads: The entire package has a SPARK_Mode =>
2615 Off aspect.
2616
2617 2021-09-20 Doug Rupp <rupp@adacore.com>
2618
2619 * libgnat/a-calend.adb: Remove time_t, replace with OS_Time.
2620 * libgnat/s-os_lib.ads: Fix comments regarding time_t conversion
2621 functions to reflect the use of To_Ada in in Ada.Calendar
2622 package body.
2623 * sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of
2624 time_t.
2625
2626 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2627
2628 * sem_res.adb (Resolve_Actual): Remove
2629
2630 2021-09-20 Bob Duff <duff@adacore.com>
2631
2632 * einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads,
2633 gen_il-fields.ads: Remove unused and no-longer-used routines.
2634 Move related routines together. Rewrite incorrect
2635 documentation, and documentation that will be incorrect when
2636 e.g. Esize-related routines are fixed. Remove unused field
2637 Normalized_Position_Max.
2638 * cstand.adb, exp_pakd.adb, freeze.adb,
2639 gen_il-gen-gen_entities.adb, itypes.adb, layout.adb,
2640 sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
2641 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
2642 sem_util.adb, ttypes.ads: Update calls to routines removed from
2643 or renamed in Einfo.Utils.
2644 * uintp.ads (Upos): Fix this subtype, which was unintentionally
2645 declared to include Uint_0.
2646
2647 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2648
2649 * exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in
2650 comment.
2651 * exp_disp.adb (Mark_DT): Remove unnecessary initialization of
2652 I_Depth.
2653
2654 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2655
2656 * contracts.adb (Add_Contract_Item): Accept volatile-related
2657 properties on constants.
2658 (Analyze_Object_Contract): Check external properties on
2659 constants; accept volatile constants.
2660 (Check_Type_Or_Object_External_Properties): Replace "variable"
2661 with "object" in error messages; replace Decl_Kind with a local
2662 constant.
2663 * sem_prag.adb (Analyze_Pragma): Accept volatile-related
2664 properties on constants.
2665
2666 2021-09-20 Pierre-Alexandre Bazin <bazin@adacore.com>
2667
2668 * libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas
2669 for proof.
2670 (Delete): Added assertions for proof, and conditions to avoid
2671 overflow.
2672 (Head): Added loop invariant.
2673 (Insert): Same as Delete.
2674 (Move): Declared with SPARK_Mode Off.
2675 (Overwrite): Added assertions for proof, and conditions to avoid
2676 overflow.
2677 (Replace_Slice): Added assertions for proof, and conditions to
2678 avoid overflow.
2679 (Tail): Added loop invariant and avoided overflows.
2680 (Translate): Added loop invariants.
2681 (Trim): Ensured empty strings returned start at 1.
2682 * libgnat/a-strfix.ads (Index): Rewrote contract cases for
2683 easier proof.
2684 (Index_Non_Blank): Separated the null string case.
2685 (Count): Specified Mapping shouldn't be null.
2686 (Find_Token): Specified Source'First should be Positive when no
2687 From is given.
2688 (Translate): Specified Mapping shouldn't be null.
2689 ("*"): Rewrote postcondition for easier proof.
2690 * libgnat/a-strsea.adb (Belongs): Added postcondition.
2691 (Count): Rewrote loops and added loop invariants to avoid
2692 overflows.
2693 (Find_Token): Added loop invariants.
2694 (Index): Rewrote loops to avoid overflows and added loop
2695 invariants for proof.
2696 (Index_Non_Blank): Added loop invariants.
2697 (Is_Identity): New function isolated without SPARK_Mode.
2698 * libgnat/a-strsea.ads: Fix starting comment as package is no
2699 longer private.
2700 (Match): Declared ghost expression function Match.
2701 (Is_Identity): Described identity in the postcondition.
2702 (Index, Index_Non_Blank, Count, Find_Token): Added contract from
2703 a-strfix.ads.
2704
2705 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2706
2707 * sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after
2708 specs; fix typo in header box; cleanup whitespace.
2709
2710 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2711
2712 * libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF.
2713
2714 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2715
2716 * adaint.c (__gnat_get_executable_load_address): Add Win32 support.
2717 * libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment.
2718 (Object_File): Minor reformatting.
2719 (ELF_Object_File): Uncomment predicate.
2720 (PECOFF_Object_File): Likewise.
2721 (XCOFF32_Object_File): Likewise.
2722 * libgnat/s-objrea.adb: Minor reformatting throughout.
2723 (Get_Load_Address): Implement for PE-COFF.
2724 * libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements
2725 and use consistent wording in comments.
2726 (Dwarf_Context): Set type of Low, High and Load_Address to Address.
2727 * libgnat/s-dwalin.adb (Get_Load_Displacement): New function.
2728 (Is_Inside): Call Get_Load_Displacement.
2729 (Low_Address): Likewise.
2730 (Open): Adjust to type change.
2731 (Aranges_Lookup): Change type of Addr to Address.
2732 (Read_Aranges_Entry): Likewise for Start and adjust.
2733 (Enable_Cach): Adjust to type change.
2734 (Symbolic_Address): Change type of Addr to Address.
2735 (Symbolic_Traceback): Call Get_Load_Displacement.
2736
2737 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2738
2739 * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table,
2740 so it is executed regardless of the Generate_SCIL mode.
2741
2742 2021-09-20 Ed Schonberg <schonberg@adacore.com>
2743
2744 * exp_util.ads (Force_Evaluation): Add formal parameter
2745 Discr_Number, to indicate discriminant expression for which an
2746 external name must be created.
2747 (Remove_Side_Effects): Ditto.
2748 * exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with
2749 added parameter.
2750 (Remove_Side_Effects, Build_Temporary): If Discr_Number is
2751 positive, create an external name with suffix DISCR and the
2752 given discriminant number, analogous to what is done for
2753 temporaries for array type bounds.
2754 * sem_ch3.adb (Process_Discriminant_Expressions): If the
2755 constraint is for an object or component declaration and the
2756 corresponding entity may be visible in another unit, invoke
2757 Force_Evaluation with the new parameter.
2758
2759 2021-09-20 Arnaud Charlet <charlet@adacore.com>
2760
2761 * gen_il-internals.ads (Invalid_Val): Remove, unused and
2762 generates warnings.
2763
2764 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2765
2766 * exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine
2767 types of local constants.
2768
2769 2021-09-20 Gary Dismukes <dismukes@adacore.com>
2770
2771 * exp_attr.adb (Expand_N_Attribute_Reference): Fold
2772 Preelaborable_Initialization attribute in cases where it hasn't
2773 been folded by the analyzer.
2774 * exp_disp.adb (Original_View_In_Visible_Part): This function is
2775 removed and moved to sem_util.adb.
2776 * sem_attr.adb (Attribute_22): Add
2777 Attribute_Preelaborable_Initialization as an Ada 2022 attribute.
2778 (Analyze_Attribute, Attribute_Preelaborable_Initialization):
2779 Check that the prefix of the attribute is either a formal
2780 private or derived type, or a composite type declared within the
2781 visible part of a package or generic package.
2782 (Eval_Attribute): Perform folding of
2783 Preelaborable_Initialization attribute based on
2784 Has_Preelaborable_Initialization applied to the prefix type.
2785 * sem_ch3.adb (Resolve_Aspects): Add specialized code for
2786 Preelaborable_Initialization used at the end of a package
2787 visible part for setting Known_To_Have_Preelab_Init on types
2788 that are specified with True or that have a conjunction of one
2789 or more P_I attributes applied to formal types.
2790 * sem_ch7.adb (Analyze_Package_Specification): On call to
2791 Has_Preelaborable_Initialization, pass True for new formal
2792 Formal_Types_Have_Preelab_Init, so that error checking treats
2793 subcomponents that are declared within types in generics as
2794 having preelaborable initialization when the subcomponents are
2795 of formal types.
2796 * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for
2797 P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since
2798 this aspect is handled specially and the
2799 Known_To_Have_Preelab_Init flag will get set on types that have
2800 the aspect by other means.
2801 (Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for
2802 Aspect_Preelaborable_Initialization for allowing the aspect to
2803 be specified on formal type declarations.
2804 (Is_Operational_Item): Treat Attribute_Put_Image as an
2805 operational attribute. The need for this was encountered while
2806 working on these changes.
2807 * sem_util.ads (Has_Preelaborable_Initialization): Add
2808 Formal_Types_Have_Preelab_Init as a new formal parameter that
2809 defaults to False.
2810 (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New
2811 function.
2812 (Original_View_In_Visible_Part): Moved here from exp_disp.adb,
2813 so it can be called by Analyze_Attribute.
2814 * sem_util.adb (Has_Preelaborable_Initialization): Return True
2815 for formal private and derived types when new formal
2816 Formal_Types_Have_Preelab_Init is True, and pass along the
2817 Formal_Types_Have_Preelab_Init flag in the array component case.
2818 (Check_Components): Pass along Formal_Types_Have_Preelab_Init
2819 flag on call to Has_Preelaborable_Initialization.
2820 (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function
2821 that returns True when passed an expression that includes one or
2822 more attributes for Preelaborable_Initialization applied to
2823 prefixes that denote formal types.
2824 (Is_Formal_Preelab_Init_Attribute): New utility function nested
2825 within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that
2826 determines whether a node is a P_I attribute applied to a
2827 generic formal type.
2828 (Original_View_In_Visible_Part): Moved here from exp_util.adb,
2829 so it can be called by Analyze_Attribute.
2830 * snames.ads-tmpl: Add note near the start of spec giving
2831 details about what needs to be done when adding a name that
2832 corresponds to both an attribute and a pragma. Delete existing
2833 occurrence of Name_Preelaborable_Initialization, and add a note
2834 comment in the list of Name_* constants at that place,
2835 indicating that it's included in type Pragma_Id, etc., echoing
2836 other such comments for names that are both an attribute and a
2837 pragma. Insert Name_Preelaborable_Initialization in the
2838 alphabetized set of Name_* constants corresponding to
2839 attributes (between First_Attribute_Name and
2840 Last_Attribute_Name).
2841 (type Attribute_Id): Add new literal
2842 Attribute_Preelaborable_Initialization.
2843 (type Pragma_Id): Move Pragma_Preelaborable_Initialization from
2844 its current position to the end of the type, in the special set
2845 of pragma literals that have corresponding atttributes. Add to
2846 accompanying comment, indicating that functions Get_Pragma_Id
2847 and Is_Pragma_Name need to be updated when adding a pragma
2848 literal to the special set.
2849 * snames.adb-tmpl (Get_Pragma_Id): Add case alternative for
2850 Pragma_Preelaborable_Initialization.
2851 (Is_Pragma_Name): Add test for
2852 Name_Preelaborable_Initialization.
2853
2854 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2855
2856 * sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check.
2857
2858 2021-09-20 Piotr Trojanek <trojanek@adacore.com>
2859
2860 * sem_ch3.adb (Build_Discriminant_Constraints): Exit once a
2861 first discriminant is found and the Discrim_Present flag is set.
2862
2863 2021-09-20 Bob Duff <duff@adacore.com>
2864
2865 * gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in
2866 Generate_SCIL and GNATprove_Mode.
2867 * repinfo.adb (List_Common_Type_Info): Fix comment.
2868
2869 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2870
2871 * libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback,
2872 add clause for System.Traceback_Entries and alphabetize.
2873 (AET): Delete.
2874 (STE): New package renaming.
2875 (Symbolic_Traceback): Adjust.
2876 * libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback
2877 and System.Traceback_Entries.
2878 (Symbolic_Traceback): Adjust.
2879
2880 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2881
2882 * sem_ch4.adb (Find_Non_Universal_Interpretations): Check if
2883 types are compatible before adding interpretation.
2884
2885 2021-09-20 Justin Squirek <squirek@adacore.com>
2886
2887 * exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect
2888 against calculating accessibility levels against internal
2889 compiler-generated types.
2890
2891 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2892
2893 * sem_dim.adb (Dimensions_Msg_Of): Capitalize comment.
2894
2895 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2896
2897 * adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning
2898 logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
2899 * back_end.adb (Scan_Back_End_Switches): Replace switch-scanning
2900 logic with call to Backend_Utils.Scan_Common_Back_End_Switches.
2901 * backend_utils.adb: New file.
2902 * backend_utils.ads: New file.
2903 * gcc-interface/Make-lang.in: Add ada/backend_utils.o.
2904
2905 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2906
2907 * atree.adb (Get_32_Bit_Field): Declare result before returning.
2908
2909 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2910
2911 * exp_ch7.adb (Expand_N_Package_Body): Replace
2912 Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package.
2913 * gnat_cuda.adb (Expand_CUDA_Package): New procedure.
2914 (Build_And_Insert_Cuda_Initialization): Make internal.
2915 * gnat_cuda.ads (Expand_CUDA_Package): New procedure.
2916 (Build_And_Insert_Cuda_Initialization): Remove from spec.
2917
2918 2021-09-20 Ghjuvan Lacambre <lacambre@adacore.com>
2919
2920 * usage.adb (Usage): Update -gnatw.c messages.
2921
2922 2021-09-20 Eric Botcazou <ebotcazou@adacore.com>
2923
2924 * sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted.
2925
2926 2021-09-15 Alexandre Oliva <oliva@adacore.com>
2927
2928 * gcc-interface/utils.c: Include opts.h.
2929 (handle_zero_call_used_regs_attribute): New.
2930 (gnat_internal_attribute_table): Add zero_call_used_regs.
2931
2932 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2933
2934 PR ada/101970
2935 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>:
2936 Use an unchecked conversion instead of a regular conversion in the
2937 enumeration case and remove Conversion_OK flag in the integer case.
2938 <Attribute_Pos>: Remove superfluous test.
2939
2940 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2941
2942 * gcc-interface/decl.c (validate_size): Do not issue an error if the
2943 old size has overflowed.
2944
2945 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2946
2947 * gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make
2948 the representative array the debug type.
2949
2950 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2951
2952 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Turn variable
2953 into constant. Capitalize GCC in warning message.
2954 (intrin_arglists_compatible_p): Change parameter to pointer-to-const
2955 Adjust warning messages. Turn warning into error for vector types.
2956 (intrin_return_compatible_p): Likewise.
2957 (intrin_profiles_compatible_p): Change parameter to pointer-to-const
2958
2959 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2960
2961 * libgnat/s-atopri.ads (bool): Delete.
2962 (Atomic_Test_And_Set): Replace bool with Boolean.
2963 (Atomic_Always_Lock_Free): Likewise.
2964 * libgnat/s-aoinar.adb (Is_Lock_Free): Adjust.
2965 * libgnat/s-aomoar.adb (Is_Lock_Free): Likewise.
2966 * libgnat/s-aotase.adb (Atomic_Test_And_Set): Likewise.
2967 * libgnat/s-atopex.adb (Atomic_Compare_And_Exchange): Likewise.
2968 * gcc-interface/decl.c: Include gimple-expr.h.
2969 (intrin_types_incompatible_p): Delete.
2970 (intrin_arglists_compatible_p): Call types_compatible_p.
2971 (intrin_return_compatible_p): Likewise.
2972
2973 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2974
2975 * gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on
2976 pointer and reference types.
2977
2978 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2979
2980 PR ada/101385
2981 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
2982 (-Wall): Minor fixes.
2983 (-w): Likewise.
2984 (-Werror): Document that it also sets -gnatwe by default.
2985 * gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is
2986 passed and move expansion of -gnatw switches to before -gnatez.
2987
2988 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2989
2990 * gcc-interface/utils.c (can_materialize_object_renaming_p): Do not
2991 call UI_Is_In_Int_Range on the result of Normalized_First_Bit.
2992
2993 2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
2994
2995 * gcc-interface/decl.c (gnat_to_gnu_entity) <is_type>: Declare new
2996 constant. Adjust error message issued by validate_size in the case
2997 of by-reference types.
2998 (validate_size): Always use the error strings passed by the caller.
2999
3000 2021-09-08 liuhongt <hongtao.liu@intel.com>
3001
3002 * gcc-interface/misc.c (gnat_post_options): Issue an error for
3003 -fexcess-precision=16.
3004
3005 2021-08-19 Arnaud Charlet <charlet@adacore.com>
3006
3007 PR ada/101924
3008 * gcc-interface/Make-lang.in (STAGE1_LIBS): Define on hpux.
3009
3010 2021-08-18 Eric Botcazou <ebotcazou@gcc.gnu.org>
3011
3012 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Fix
3013 thinko in latest change.
3014
3015 2021-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
3016
3017 PR debug/101598
3018 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the
3019 DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to
3020 UNKNOWN_LOCATION.
3021
3022 2021-07-25 Arnaud Charlet <charlet@adacore.com>
3023
3024 * libgnat/s-osprim__x32.adb: Add missing with clause.
3025
3026 2021-07-12 Pierre-Marie de Rodat <derodat@adacore.com>
3027
3028 * adaint.c (__gnat_number_of_cpus): Replace "#ifdef" by "#if
3029 defined".
3030
3031 2021-07-12 Eric Botcazou <ebotcazou@adacore.com>
3032
3033 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Add a
3034 parallel type only when -fgnat-encodings=all is specified.
3035 <E_Array_Type>: Use the PAT name and special suffixes only when
3036 -fgnat-encodings=all is specified.
3037 <E_Array_Subtype>: Build a special type for debugging purposes only
3038 when -fgnat-encodings=all is specified. Add a parallel type or use
3039 the PAT name only when -fgnat-encodings=all is specified.
3040 <E_Record_Type>: Generate debug info for the inner record types only
3041 when -fgnat-encodings=all is specified.
3042 <E_Record_Subtype>: Use a debug type for an artificial subtype only
3043 except when -fgnat-encodings=all is specified.
3044 (elaborate_expression_1): Reset need_for_debug when possible only
3045 except when -fgnat-encodings=all is specified.
3046 (components_to_record): Use XV encodings for variable size only
3047 when -fgnat-encodings=all is specified.
3048 (associate_original_type_to_packed_array): Add a parallel type only
3049 when -fgnat-encodings=all is specified.
3050 * gcc-interface/misc.c (gnat_get_array_descr_info): Do not return
3051 full information only when -fgnat-encodings=all is specified.
3052 * gcc-interface/utils.c (make_packable_type): Add a parallel type
3053 only when -fgnat-encodings=all is specified.
3054 (maybe_pad_type): Make the inner type a debug type only except when
3055 -fgnat-encodings=all is specified. Create an XVS type for variable
3056 size only when -fgnat-encodings=all is specified.
3057 (rest_of_record_type_compilation): Add a parallel type only when
3058 -fgnat-encodings=all is specified.
3059
3060 2021-07-12 Eric Botcazou <ebotcazou@adacore.com>
3061
3062 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Use a
3063 fixed lower bound if the index subtype is marked so, as well as a
3064 more efficient formula for the upper bound if the array cannot be
3065 superflat.
3066 (flb_cannot_be_superflat): New predicate.
3067 (cannot_be_superflat): Rename into...
3068 (range_cannot_be_superfla): ...this. Minor tweak.
3069
3070 2021-07-12 Bob Duff <duff@adacore.com>
3071
3072 * uintp.ads, types.h: New subtypes of Uint: Valid_Uint, Unat,
3073 Upos, Nonzero_Uint with predicates. These correspond to new
3074 field types in Gen_IL.
3075 * gen_il-types.ads (Valid_Uint, Unat, Upos, Nonzero_Uint): New
3076 field types.
3077 * einfo-utils.ads, einfo-utils.adb, fe.h (Known_Alignment,
3078 Init_Alignment): Use the initial zero value to represent
3079 "unknown". This will ensure that if Alignment is called before
3080 Set_Alignment, the compiler will blow up (if assertions are
3081 enabled).
3082 * atree.ads, atree.adb, atree.h, gen_il-gen.adb
3083 (Get_Valid_32_Bit_Field): New generic low-level getter for
3084 subtypes of Uint.
3085 (Copy_Alignment): New procedure to copy Alignment field even
3086 when Unknown.
3087 (Init_Object_Size_Align, Init_Size_Align): Do not bypass the
3088 Init_ procedures.
3089 * exp_pakd.adb, freeze.adb, layout.adb, repinfo.adb,
3090 sem_util.adb: Protect calls to Alignment with Known_Alignment.
3091 Use Copy_Alignment when it might be unknown.
3092 * gen_il-gen-gen_entities.adb (Alignment,
3093 String_Literal_Length): Use type Unat instead of Uint, to ensure
3094 that the field is always Set_ before we get it, and that it is
3095 set to a nonnegative value.
3096 (Enumeration_Pos): Unat.
3097 (Enumeration_Rep): Valid_Uint. Can be negative, but must be
3098 valid before fetching.
3099 (Discriminant_Number): Upos.
3100 (Renaming_Map): Remove.
3101 * gen_il-gen-gen_nodes.adb (Char_Literal_Value, Reason): Unat.
3102 (Intval, Corresponding_Integer_Value): Valid_Uint.
3103 * gen_il-internals.ads: New functions for dealing with special
3104 defaults and new subtypes of Uint.
3105 * scans.ads: Correct comments.
3106 * scn.adb (Post_Scan): Do not set Intval to No_Uint; that is no
3107 longer allowed.
3108 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Do
3109 not set Enumeration_Rep to No_Uint; that is no longer allowed.
3110 (Offset_Value): Protect calls to Alignment with Known_Alignment.
3111 * sem_prag.adb (Set_Atomic_VFA): Do not use Uint_0 to mean
3112 "unknown"; call Init_Alignment instead.
3113 * sinfo.ads: Minor comment fix.
3114 * treepr.adb: Deal with printing of new field types.
3115 * einfo.ads, gen_il-fields.ads (Renaming_Map): Remove.
3116 * gcc-interface/decl.c (gnat_to_gnu_entity): Use Known_Alignment
3117 before calling Alignment. This preserve some probably buggy
3118 behavior: if the alignment is not set, it previously defaulted
3119 to Uint_0; we now make that explicit. Use Copy_Alignment,
3120 because "Set_Alignment (Y, Alignment (X));" no longer works when
3121 the Alignment of X has not yet been set.
3122 * gcc-interface/trans.c (process_freeze_entity): Use
3123 Copy_Alignment.
3124
3125 2021-07-12 Eric Botcazou <ebotcazou@adacore.com>
3126
3127 * libgnat/s-dwalin.ads: Adjust a few comments left and right.
3128 (Line_Info_Register): Comment out unused components.
3129 (Line_Info_Header): Add DWARF 5 support.
3130 (Dwarf_Context): Likewise. Rename "prologue" into "header".
3131 * libgnat/s-dwalin.adb: Alphabetize "with" clauses.
3132 (DWARF constants): Add DWARF 5 support and reorder.
3133 (For_Each_Row): Adjust.
3134 (Initialize_Pass): Likewise.
3135 (Initialize_State_Machine): Likewise and fix typo.
3136 (Open): Add DWARF 5 support.
3137 (Parse_Prologue): Rename into...
3138 (Parse_Header): ...this and add DWARF 5 support.
3139 (Read_And_Execute_Isn): Rename into...
3140 (Read_And_Execute_Insn): ...this and adjust.
3141 (To_File_Name): Change parameter name and add DWARF 5 support.
3142 (Read_Entry_Format_Array): New procedure.
3143 (Skip_Form): Add DWARF 5 support and reorder.
3144 (Seek_Abbrev): Do not count entries and add DWARF 5 support.
3145 (Debug_Info_Lookup): Add DWARF 5 support.
3146 (Symbolic_Address.Set_Result): Likewise.
3147 (Symbolic_Address): Adjust.
3148
3149 2021-07-12 Bob Duff <duff@adacore.com>
3150
3151 * sem_ch13.adb (Duplicate_Clause): Add a helper routine
3152 Check_One_Attr, with a parameter for the attribute_designator we
3153 are looking for, and one for the attribute_designator of the
3154 current node (which are usually the same). For Size and
3155 Value_Size, call it twice, once for each.
3156 * errout.ads: Fix a typo.
3157
3158 2021-07-12 Piotr Trojanek <trojanek@adacore.com>
3159
3160 * exp_imgv.adb (Expand_Image_Attribute): Move rewriting to
3161 attribute Put_Image to the beginning of expansion of attribute
3162 Image.
3163
3164 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3165
3166 * gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line.
3167
3168 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3169
3170 * exp_put_image.adb (Make_Put_Image_Name): Fix style.
3171 (Image_Should_Call_Put_Image): Likewise.
3172 (Build_Image_Call): Likewise.
3173
3174 2021-07-09 Ghjuvan Lacambre <lacambre@adacore.com>
3175
3176 * par-ch6.adb (Contains_Import_Aspect): New function.
3177 (P_Subprogram): Acknowledge `Import` aspects.
3178
3179 2021-07-09 Bob Duff <duff@adacore.com>
3180
3181 * exp_put_image.adb (Make_Component_Attributes): Use
3182 Implementation_Base_Type to get the parent type. Otherwise,
3183 Parent_Type_Decl is actually an internally generated subtype
3184 declaration, so we blow up on
3185 Type_Definition (Parent_Type_Decl).
3186
3187 2021-07-09 Dmitriy Anisimkov <anisimko@adacore.com>
3188
3189 * gsocket.h: Include net/if.h to get IF_NAMESIZE constant.
3190 * s-oscons-tmplt.c: Define IPV6_FLOWINFO for Linux.
3191
3192 2021-07-09 Steve Baird <baird@adacore.com>
3193
3194 * libgnat/a-cdlili.adb: Reimplement
3195 Ada.Containers.Doubly_Linked_Lists.Generic_Sorting.Sort using
3196 Mergesort instead of the previous Quicksort variant.
3197
3198 2021-07-09 Justin Squirek <squirek@adacore.com>
3199
3200 * exp_ch6.adb (Is_Build_In_Place_Function_Call): Add check to
3201 verify the Selector_Name of Exp_Node has been analyzed before
3202 obtaining its entity.
3203
3204 2021-07-09 Gary Dismukes <dismukes@adacore.com>
3205
3206 * libgnarl/s-osinte__vxworks.ads: Fix typo ("release" =>
3207 "releases") plus comment reformatting.
3208 * libgnat/s-os_lib.ads: In a comment, fix typo ("indended" =>
3209 "intended"), add a hyphen and semicolon, plus reformatting. In
3210 comment for subtype time_t, fix typo ("effect" => "affect"), add
3211 hyphens, plus reformatting.
3212 * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
3213 libgnat/s-parame__hpux.ads: Remove period from one-line comment.
3214
3215 2021-07-09 Steve Baird <baird@adacore.com>
3216
3217 * exp_ch5.adb (Expand_General_Case_Statement): Add new function
3218 Else_Statements to handle the case of invalid data analogously
3219 to how it is handled when casing on a discrete value.
3220 * sem_case.adb (Has_Static_Discriminant_Constraint): A new
3221 Boolean-valued function.
3222 (Composite_Case_Ops.Scalar_Part_Count): Include discriminants
3223 when traversing components.
3224 (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts):
3225 Include discriminants when traversing components; the component
3226 range for a constrained discriminant is a single value.
3227 (Composite_Case_Ops.Choice_Analysis.Parse_Choice): Eliminate
3228 Done variable and modify how Next_Part is computed so that it is
3229 always correct (as opposed to being incorrect when Done is
3230 True). This includes changes in Update_Result (a local
3231 procedure). Add new local procedure
3232 Update_Result_For_Box_Component and call it not just for box
3233 components but also for "missing" components (components
3234 associated with an inactive variant).
3235 (Check_Choices.Check_Composite_Case_Selector.Check_Component_Subtype):
3236 Instead of disallowing all discriminated component types, allow
3237 those that are unconstrained or statically constrained. Check
3238 discriminant subtypes along with other component subtypes.
3239 * doc/gnat_rm/implementation_defined_pragmas.rst: Update
3240 documentation to reflect current implementation status.
3241 * gnat_rm.texi: Regenerate.
3242
3243 2021-07-09 Justin Squirek <squirek@adacore.com>
3244
3245 * sem_ch6.adb (Check_Pragma_Inline): Correctly use
3246 Corresponding_Spec_Of_Stub when dealing subprogram body stubs.
3247
3248 2021-07-09 Doug Rupp <rupp@adacore.com>
3249
3250 * Makefile.rtl: Add translations for s-parame__posix2008.ads
3251 * libgnarl/s-linux.ads: Import System.Parameters.
3252 (time_t): Declare using System.Parameters.time_t_bits.
3253 * libgnarl/s-linux__alpha.ads: Likewise.
3254 * libgnarl/s-linux__android.ads: Likewise.
3255 * libgnarl/s-linux__hppa.ads: Likewise.
3256 * libgnarl/s-linux__mips.ads: Likewise.
3257 * libgnarl/s-linux__riscv.ads: Likewise.
3258 * libgnarl/s-linux__sparc.ads: Likewise.
3259 * libgnarl/s-linux__x32.ads: Likewise.
3260 * libgnarl/s-qnx.ads: Likewise.
3261 * libgnarl/s-osinte__aix.ads: Likewise.
3262 * libgnarl/s-osinte__android.ads: Likewise.
3263 * libgnarl/s-osinte__darwin.ads: Likewise.
3264 * libgnarl/s-osinte__dragonfly.ads: Likewise.
3265 * libgnarl/s-osinte__freebsd.ads: Likewise.
3266 * libgnarl/s-osinte__gnu.ads: Likewise.
3267 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
3268 * libgnarl/s-osinte__hpux.ads: Likewise.
3269 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
3270 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
3271 * libgnarl/s-osinte__qnx.ads: Likewise.
3272 * libgnarl/s-osinte__rtems.ads: Likewise.
3273 * libgnarl/s-osinte__solaris.ads: Likewise.
3274 * libgnarl/s-osinte__vxworks.ads: Likewise.
3275 * libgnat/g-sothco.ads: Likewise.
3276 * libgnat/s-osprim__darwin.adb: Likewise.
3277 * libgnat/s-osprim__posix.adb: Likewise.
3278 * libgnat/s-osprim__posix2008.adb: Likewise.
3279 * libgnat/s-osprim__rtems.adb: Likewise.
3280 * libgnat/s-osprim__x32.adb: Likewise.
3281 * libgnarl/s-osinte__linux.ads: use type System.Linux.time_t.
3282 * libgnat/s-os_lib.ads (time_t): Declare as subtype of
3283 Long_Long_Integer.
3284 * libgnat/s-parame.ads (time_t_bits): New constant.
3285 * libgnat/s-parame__ae653.ads (time_t_bits): Likewise.
3286 * libgnat/s-parame__hpux.ads (time_t_bits): Likewise.
3287 * libgnat/s-parame__vxworks.ads (time_t_bits): Likewise.
3288 * libgnat/s-parame__posix2008.ads: New file for 64 bit time_t.
3289
3290 2021-07-09 Bob Duff <duff@adacore.com>
3291
3292 * comperr.adb (Compiler_Abort): Print source file name.
3293
3294 2021-07-09 Joffrey Huguet <huguet@adacore.com>
3295
3296 * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Fix layout
3297 in contracts.
3298
3299 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3300
3301 * repinfo.ads (JSON output format): Document adjusted key name.
3302 * repinfo.adb (List_Record_Layout): Use Original_Record_Component
3303 if the normalized position of the component is not known.
3304 (List_Structural_Record_Layout): Rename Outer_Ent parameter into
3305 Ext_End and add Ext_Level parameter. In an extension, if the parent
3306 subtype has static discriminants, call List_Record_Layout on it.
3307 Output "parent_" prefixes before "variant" according to Ext_Level.
3308 Adjust recursive calls throughout the procedure.
3309
3310 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3311
3312 * exp_util.ads (Map_Types): Fix typo.
3313
3314 2021-07-09 Fedor Rybin <frybin@adacore.com>
3315
3316 * krunch.adb: Add safeguards against index range violations.
3317
3318 2021-07-09 Arnaud Charlet <charlet@adacore.com>
3319
3320 * libgnat/a-strfix.adb: Take advantage of extended returns.
3321
3322 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3323
3324 * doc/gnat_rm/implementation_defined_attributes.rst
3325 (Scalar_Storage_Order): Add paragraph about representation
3326 changes.
3327 * gnat_rm.texi: Regenerate.
3328
3329 2021-07-09 Frederic Konrad <konrad@adacore.com>
3330
3331 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <aarch64*-*-rtems*>: Use
3332 the wraplf variant of Aux_Long_Long_Float.
3333
3334 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3335
3336 * sem_ch6.adb (Analyze_Expression_Function): Initialize Orig_N
3337 and Typ variables.
3338
3339 2021-07-09 Arnaud Charlet <charlet@adacore.com>
3340
3341 * sem_ch13.adb (Resolve_Aspect_Expressions): Use the same
3342 processing for Predicate, Static_Predicate and
3343 Dynamic_Predicate. Do not build the predicate function spec.
3344 Update comments.
3345 (Resolve_Name): Only reset Entity when necessary to avoid
3346 spurious visibility errors.
3347 (Check_Aspect_At_End_Of_Declarations): Handle consistently all
3348 Predicate aspects.
3349 * sem_ch3.adb (Analyze_Subtype_Declaration): Fix handling of
3350 private types with predicates.
3351
3352 2021-07-09 Justin Squirek <squirek@adacore.com>
3353
3354 * sem_util.ads (Type_Access_Level): Add new optional parameter
3355 Assoc_Ent.
3356 * sem_util.adb (Accessibility_Level): Treat access discriminants
3357 the same as components when the restriction
3358 No_Dynamic_Accessibility_Checks is enabled.
3359 (Deepest_Type_Access_Level): Remove exception for
3360 Debug_Flag_Underscore_B when returning the result of
3361 Type_Access_Level in the case where
3362 No_Dynamic_Accessibility_Checks is active.
3363 (Function_Call_Or_Allocator_Level): Correctly calculate the
3364 level of Expr based on its containing subprogram instead of
3365 using Current_Subprogram.
3366 * sem_res.adb (Valid_Conversion): Add actual for new parameter
3367 Assoc_Ent in call to Type_Access_Level, and add test of
3368 No_Dynamic_Accessibility_Checks_Enabled to ensure that static
3369 accessibility checks are performed for all anonymous access type
3370 conversions.
3371
3372 2021-07-09 Eric Botcazou <ebotcazou@adacore.com>
3373
3374 * exp_dbug.ads: Update documentation of various items.
3375
3376 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3377
3378 * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
3379
3380 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3381
3382 * sem_ch6.adb (Analyze_Expression_Function): Reorder code.
3383
3384 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3385
3386 * sem_ch6.adb (Analyze_Expression_Function): Add variable to
3387 avoid repeated calls to Etype.
3388
3389 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3390
3391 * sem_ch6.adb (Analyze_Expression_Function): Fix comment.
3392
3393 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3394
3395 * sem_ch6.adb (Analyze_Expression_Function): Use Orig_N variable
3396 instead of repeated calls to Original_Node.
3397
3398 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3399
3400 * sem_ch6.adb (Analyze_Expression_Function): Change types local
3401 variables from Entity_Id to Node_Id.
3402
3403 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3404
3405 * sem_ch6.adb (Analyze_Expression_Function): A local Expr
3406 constant was shadowing a global constant with the same name and
3407 the same value.
3408
3409 2021-07-09 Piotr Trojanek <trojanek@adacore.com>
3410
3411 * sem_res.adb (Preanalyze_And_Resolve): Only call
3412 Set_Must_Not_Freeze when it is necessary to restore the previous
3413 value.
3414
3415 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3416
3417 * sem_ch5.adb (Analyze_Assignment): Clear Current_Assignment at
3418 exit.
3419 (Analyze_Target_Name): Prevent AST climbing from going too far.
3420
3421 2021-07-08 Ed Schonberg <schonberg@adacore.com>
3422
3423 * sem_ch5.adb (Analyze_Target_Name): Properly reject a
3424 Target_Name when it appears outside of an assignment statement,
3425 or within the left-hand side of one.
3426
3427 2021-07-08 Bob Duff <duff@adacore.com>
3428
3429 * einfo-utils.ads, einfo-utils.adb (Unknown_Alignment,
3430 Unknown_Component_Bit_Offset, Unknown_Component_Size,
3431 Unknown_Esize, Unknown_Normalized_First_Bit,
3432 Unknown_Normalized_Position, Unknown_Normalized_Position_Max,
3433 Unknown_RM_Size): Remove these functions.
3434 * exp_pakd.adb, exp_util.adb, fe.h, freeze.adb, layout.adb,
3435 repinfo.adb, sem_ch13.adb, sem_ch3.adb, sem_util.adb: Remove
3436 calls to these functions; do "not Known_..." instead.
3437 * gcc-interface/decl.c, gcc-interface/trans.c
3438 (Unknown_Alignment, Unknown_Component_Size, Unknown_Esize,
3439 Unknown_RM_Size): Remove calls to these functions; do
3440 "!Known_..." instead.
3441
3442 2021-07-08 Eric Botcazou <ebotcazou@adacore.com>
3443
3444 * exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete
3445 types with custom bounds, except with -fgnat-encodings=all.
3446 * exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment.
3447
3448 2021-07-08 Bob Duff <duff@adacore.com>
3449
3450 * comperr.adb (Compiler_Abort): Call Sinput.Unlock, because if
3451 this is called late, then Source_Dump would crash otherwise.
3452 * debug.adb: Correct documentation of the -gnatd.9 switch.
3453 * exp_ch4.adb (Expand_Allocator_Expression): Add a comment.
3454 * exp_ch6.adb: Minor comment fixes. Add assertion.
3455 * exp_ch6.ads (Is_Build_In_Place_Result_Type): Correct comment.
3456 * exp_ch7.adb, checks.ads: Minor comment fixes.
3457
3458 2021-07-08 Doug Rupp <rupp@adacore.com>
3459
3460 * sigtramp-vxworks-target.inc: Rename to...
3461 * sigtramp-vxworks-target.h: ... this.
3462 * sigtramp-vxworks.c, Makefile.rtl: Likewise.
3463
3464 2021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
3465
3466 * lib-writ.ads: Mention SCOs dependency as reason for duplicates.
3467 * lib.ads (Units): Update documentation to mention duplicated
3468 units.
3469
3470 2021-07-08 Ed Schonberg <schonberg@adacore.com>
3471
3472 * style.adb (Missing_Overriding): Do not emit message when
3473 parent of subprogram is a full type declaration.
3474
3475 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3476
3477 * par-ch5.adb (P_Iterator_Specification): Add support for access
3478 definition in loop parameter.
3479 * sem_ch5.adb (Check_Subtype_Indication): Renamed...
3480 (Check_Subtype_Definition): ... into this and check for conformance
3481 on access definitions, and improve error messages.
3482 (Analyze_Iterator_Specification): Add support for access definition
3483 in loop parameter.
3484
3485 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3486
3487 * sem_util.ads, sem_util.adb
3488 (Apply_Compile_Time_Constraint_Error): New parameter
3489 Emit_Message.
3490 * sem_ch4.adb (Analyze_Selected_Component): Disable warning
3491 within an instance.
3492
3493 2021-07-08 Eric Botcazou <ebotcazou@adacore.com>
3494
3495 * exp_imgv.adb: Add with and use clause for Restrict and Rident.
3496 (Build_Enumeration_Image_Tables): Do not generate the hash function
3497 if the No_Implicit_Loops restriction is active.
3498
3499 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3500
3501 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sprint.adb: Simplify
3502 checks for non-empty lists.
3503
3504 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3505
3506 * par-ch10.adb (Unit_Display): Remove redundant condition; fix
3507 whitespace.
3508
3509 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3510
3511 * lib-load.adb (Load): Replace early return with goto to properly
3512 restore context on failure.
3513
3514 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3515
3516 * lib-writ.adb (Ensure_System_Dependency): Simplify condition.
3517
3518 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3519
3520 * lib-load.adb (Load_Unit): Fix style in comment.
3521 * par-load.adb (Load): Likewise.
3522 * scng.adb (Initialize_Scanner): Fix whitespace.
3523
3524 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3525
3526 * par-load.adb (Load): Don't remove unit, but flag it as
3527 erroneous and return.
3528
3529 2021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
3530
3531 * exp_prag.adb (Expand_Pragma_Inspection_Point): Fix error
3532 message.
3533
3534 2021-07-08 Yannick Moy <moy@adacore.com>
3535
3536 * layout.adb (Layout_Type): Do not call Number_Dimensions if the
3537 type does not have First_Index set.
3538
3539 2021-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
3540
3541 * exp_prag.adb (Expand_Pragma_Inspection_Point): After expansion
3542 of the Inspection_Point pragma, check if referenced entities
3543 that have a freeze node are already frozen. If they aren't, emit
3544 a warning and turn the pragma into a no-op.
3545
3546 2021-07-08 Yannick Moy <moy@adacore.com>
3547
3548 * layout.adb (Layout_Type): Add guard before calling Expr_Value.
3549
3550 2021-07-08 Yannick Moy <moy@adacore.com>
3551
3552 * layout.adb (Layout_Type): Special case when RM_Size and Esize
3553 can be computed for packed arrays.
3554
3555 2021-07-08 Steve Baird <baird@adacore.com>
3556
3557 * rtsfind.ads, rtsfind.adb: Add support for finding the packages
3558 System.Atomic_Operations and
3559 System.Atomic_Operations.Test_And_Set and the declarations
3560 within that latter package of the type Test_And_Set_Flag and the
3561 function Atomic_Test_And_Set.
3562 * exp_ch11.adb (Expand_N_Exception_Declaration): If an exception
3563 is declared other than at library level, then we need to call
3564 Register_Exception the first time (and only the first time) the
3565 declaration is elaborated. In order to decide whether to
3566 perform this call for a given elaboration of the declaration, we
3567 used to unconditionally use a (library-level) Boolean variable.
3568 Now we instead use a variable of type
3569 System.Atomic_Operations.Test_And_Set.Test_And_Set_Flag unless
3570 either that type is unavailable or a No_Tasking restriction is
3571 in effect (in which case we use a Boolean variable as before).
3572
3573 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3574
3575 * gcc-interface/system.ads: Add No_Tasking restriction.
3576
3577 2021-07-08 Ed Schonberg <schonberg@adacore.com>
3578
3579 * libgnat/a-cohama.ads: Introduce an equality operator over
3580 cursors.
3581 * libgnat/a-cohase.ads: Ditto.
3582 * libgnat/a-cohama.adb: Add body for "=" over cursors.
3583 (Insert): Do not set the Position component of the cursor that
3584 denotes the inserted element.
3585 * libgnat/a-cohase.adb: Ditto.
3586
3587 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3588
3589 * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
3590 libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
3591 libgnat/a-cborma.adb, libgnat/a-cborse.adb,
3592 libgnat/a-cobove.adb, libgnat/a-textio.adb,
3593 libgnat/a-witeio.adb, libgnat/a-ztexio.adb: Make code compatible
3594 with No_Dynamic_Accessibility_Checks restriction.
3595
3596 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3597
3598 * debug.adb, sem_util.adb: Revert meaning of -gnatd_b.
3599 * sem_res.adb: Minor reformatting.
3600
3601 2021-07-08 Arnaud Charlet <charlet@adacore.com>
3602
3603 * make.adb, osint.adb: Make code compatible with
3604 No_Dynamic_Accessibility_Checks restriction.
3605
3606 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3607
3608 * lib-writ.adb (Ensure_System_Dependency): Replace search in
3609 Lib.Units with a search in Lib.Unit_Names.
3610
3611 2021-07-08 Piotr Trojanek <trojanek@adacore.com>
3612
3613 * sinput-l.adb (Load_File): Simplify foreword manipulation with
3614 concatenation; similar for filename with preprocessed output.
3615
3616 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3617
3618 * s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef
3619 __MINWGW32__.
3620
3621 2021-07-07 Gary Dismukes <dismukes@adacore.com>
3622
3623 * einfo-utils.adb (Primitive_Operations): Default to returning
3624 Direct_Primitive_Operations in the case of concurrent types
3625 (when Corresponding_Record_Type not present).
3626 * sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize
3627 Direct_Primitive_Operations to an empty element list.
3628 (Analyze_Task_Type_Declaration): Initialize
3629 Direct_Primitive_Operations to an empty element list.
3630
3631 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3632
3633 * sem_eval.adb (Set_Checking_Potentially_Static_Expression):
3634 Stronger assertion.
3635
3636 2021-07-07 Arnaud Charlet <charlet@adacore.com>
3637
3638 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id
3639 intrinsic before calling Analyze_Instance_And_Renamings because
3640 this flag may be propagated to other nodes.
3641
3642 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3643
3644 * s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL):
3645 Hardcode on Windows if undefined.
3646
3647 2021-07-07 Bob Duff <duff@adacore.com>
3648
3649 * checks.adb (Install_Primitive_Elaboration_Check): Do not
3650 generate elaboration checks for primitives if pragma Pure or
3651 Preelaborate is present. Misc comment fixes, including
3652 referring to the correct kind of check (elaboration, not
3653 accessibility).
3654 * checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor
3655 reformatting and comment fixes.
3656
3657 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3658
3659 * sem_prag.adb (Analyze_Pragma): Simplify processing of pragma
3660 CPP_Constructor.
3661
3662 2021-07-07 Arnaud Charlet <charlet@adacore.com>
3663
3664 * libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default
3665 Initialize.
3666
3667 2021-07-07 Arnaud Charlet <charlet@adacore.com>
3668
3669 * libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
3670 cleanups.
3671
3672 2021-07-07 Gary Dismukes <dismukes@adacore.com>
3673
3674 * freeze.adb (Check_Inherited_Conditions): Setting of Ekind,
3675 LSP_Subprogram, and Is_Wrapper needs to happen for null
3676 procedures as well as other wrapper cases, so the code is moved
3677 from the else part in front of the if statement. (Fixes a
3678 latent bug encountered while working on this set of changes.)
3679 * sem_attr.adb (Resolve_Attribute): Report an error for the case
3680 of an Access attribute applied to a primitive of an abstract
3681 type when the primitive has any nonstatic Pre'Class or
3682 Post'Class expressions.
3683 * sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for
3684 the case of a actual subprogram associated with a nonabstract
3685 formal subprogram when the actual is a primitive of an abstract
3686 type and the primitive has any nonstatic Pre'Class or Post'Class
3687 expressions.
3688 * sem_disp.adb (Check_Dispatching_Context): Remove special
3689 testing for null procedures, and replace it with a relaxed test
3690 that avoids getting an error about illegal calls to abstract
3691 subprograms in cases where RM 6.1.1(7/5) applies in
3692 Pre/Post'Class aspects. Also, remove special test for
3693 Postcondition, which seems to be unnecessary, update associated
3694 comments, and fix a typo in one comment.
3695 (Check_Dispatching_Call): Remove an unneeded return statement,
3696 and report an error for the case of a nondispatching call to a
3697 nonabstract subprogram of an abstract type where the subprogram
3698 has nonstatic Pre/Post'Class aspects.
3699 * sem_util.ads
3700 (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function.
3701 (In_Pre_Post_Condition): Add a flag formal Class_Wide_Only,
3702 defaulted to False, for indicating whether the function should
3703 only test for the node being within class-wide pre- and
3704 postconditions.
3705 * sem_util.adb
3706 (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function
3707 to determine whether a subprogram is a primitive of an abstract
3708 type where the primitive has class-wide Pre/Post'Class aspects
3709 specified with nonstatic expressions.
3710 (In_Pre_Post_Condition): Extend testing to account for the new
3711 formal Class_Wide_Only.
3712
3713 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3714
3715 * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors
3716 emitted via Check_Volatility_Compatibility are now emitted at
3717 Actual, just like other errors emitted by
3718 Check_Shared_Variable_Control_Aspects.
3719
3720 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3721
3722 * uname.adb (Get_Unit_Name): Simplify with a bounded string
3723 buffer; also, this addresses a ??? comment about the max length
3724 being exceeded.
3725
3726 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3727
3728 * uname.adb (Get_Body_Name, Get_Parent_Body_Name,
3729 Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name,
3730 Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local
3731 instead of the global buffer.
3732
3733 2021-07-07 Bob Duff <duff@adacore.com>
3734
3735 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine
3736 processing of Size and Value_Size clauses. Ensure that
3737 Value_Size is treated the same as Size, in the cases where both
3738 are allowed (i.e. the prefix denotes a first subtype). Misc
3739 cleanup.
3740 * einfo-utils.adb (Init_Size): Add assertions.
3741 (Size_Clause): Return a Value_Size clause if present, instead of
3742 just looking for a Size clause.
3743 * einfo.ads (Has_Size_Clause, Size_Clause): Change documentation
3744 to include Value_Size.
3745 * sem_ch13.ads, layout.ads, layout.adb: Comment modifications.
3746
3747 2021-07-07 Steve Baird <baird@adacore.com>
3748
3749 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add
3750 TSS_Put_Image to list of predefined primitives that need special
3751 treatment.
3752 (Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs):
3753 Remove previous hack for dealing with TSS_Put_Image procedures.
3754
3755 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3756
3757 * libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when
3758 Minus_500ms_Windows_Timeout is True.
3759 (Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to
3760 convert to milliseconds.
3761
3762 2021-07-07 Bob Duff <duff@adacore.com>
3763
3764 * tbuild.adb (Unchecked_Convert_To): Set the Parent of the new
3765 node to the Parent of the old node.
3766 * tbuild.ads (Unchecked_Convert_To): Document differences
3767 between Convert_To and Unchecked_Convert_To. The previous
3768 documentation claimed they are identical except for the
3769 uncheckedness of the conversion.
3770
3771 2021-07-07 Yannick Moy <moy@adacore.com>
3772
3773 * checks.adb (Apply_Scalar_Range_Check): Remove special case for
3774 GNATprove mode.
3775 * sem_res.adb (Resolve_Arithmetic_Op): Same.
3776 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Same.
3777
3778 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3779
3780 * sem_ch6.adb (Check_For_Primitive_Subprogram): Move
3781 declarations of local variables after nested subprogram bodies.
3782
3783 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3784
3785 * exp_disp.adb (CPP_Num_Prims): Reuse List_Length.
3786
3787 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3788
3789 * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind
3790 membership test in Private_Kind with a call to Is_Private_Type.
3791
3792 2021-07-07 Bob Duff <duff@adacore.com>
3793
3794 * gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma
3795 field from Record_Field_Kind. Minor comment improvement.
3796
3797 2021-07-07 Yannick Moy <moy@adacore.com>
3798
3799 * libgnat/a-ngelfu.ads (Cot): Fix precondition.
3800
3801 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3802
3803 * par.adb (Par): A local Name variable is now a renaming of a
3804 constant slice.
3805
3806 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3807
3808 * gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its
3809 corresponding spec as requiring code generation; now the flags
3810 are set much earlier.
3811 * lib-load.adb (Load_Main_Source): Set Generate_Code flag on the
3812 main unit source.
3813 (Make_Instance_Unit): Copy Generate_Code flag from the main unit
3814 to instance units.
3815 * lib-writ.adb (Write_ALI): Remove redundant condition;
3816 Generate_Code flag is always set for the main unit.
3817 * par-load.adb (Load): Set Generate_Code flag on the main unit's
3818 corresponding spec, if any.
3819
3820 2021-07-07 Dmitriy Anisimkov <anisimko@adacore.com>
3821
3822 * libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count,
3823 Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration.
3824 (Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and
3825 Keep_Alive_Interval alternatives to the case of discriminated
3826 record.
3827 * libgnat/g-socket.adb (Options): Add Keep_Alive_Count,
3828 Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to
3829 OS constant converter.
3830 (Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle,
3831 and Keep_Alive_Interval socket options.
3832 (Get_Socket_Option): Idem.
3833
3834 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3835
3836 * lib-writ.adb (Write_ALI): Exit from loop after seeing first
3837 unit that violates No_Elaboration_Code restriction.
3838
3839 2021-07-07 Piotr Trojanek <trojanek@adacore.com>
3840
3841 * inline.adb (Instantiate_Bodies): Fix white in declaration.
3842 (Remove_Dead_Instance): Change iteration from WHILE to FOR.
3843
3844 2021-07-07 Bob Duff <duff@adacore.com>
3845
3846 * checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
3847 exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb,
3848 sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion
3849 to call Unchecked_Convert_To instead. This involves removing
3850 New_Occurrence_Of on the first parameter, because
3851 Unchecked_Convert_To expects a type entity, rather than the name
3852 of one. Also, removed calls to Relocate_Node, because
3853 Unchecked_Convert_To takes care of that.
3854 * sinfo.ads: Change comment to be worded more firmly.
3855
3856 2021-07-07 Steve Baird <baird@adacore.com>
3857
3858 * libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock
3859 before, rather than after, querying the task's Terminated flag.
3860 Add a corresponding Task_Unlock call.
3861
3862 2021-07-06 Bob Duff <duff@adacore.com>
3863
3864 * atree.ads (Current_Error_Node): Initialize to Empty.
3865
3866 2021-07-06 Steve Baird <baird@adacore.com>
3867
3868 * exp_put_image.adb: Eliminate references to
3869 Debug_Flag_Underscore_Z. Change the meaning of the function
3870 Enable_Put_Image. Previously, a result of False for a tagged
3871 type would mean that the type does not get a Put_Image (PI)
3872 routine at all. Now, it means that the type gets a PI routine
3873 with very abbreviated functionality (just a call to
3874 Unknown_Put_Image). This resolves problems in mixing code
3875 compiled with and without the -gnat2022 switch.
3876 * exp_ch3.adb: Enable_Put_Image no longer participates in
3877 determining whether a tagged type gets a Put_Image procedure. A
3878 tagged type does not get a Put_Image procedure if the type
3879 Root_Buffer_Type is unavailable. This is needed to support cross
3880 targets where tagged types are supported but the type
3881 Root_Buffer_Type is not available.
3882 * exp_dist.adb: Add workarounds for some problems that arise
3883 when using the (obsolete?) Garlic implementation of the
3884 distributed systems annex with Ada 2022 constructs.
3885 * libgnat/a-sttebu.ads: Workaround a bootstrapping problem.
3886 Older compilers do not support raise expressions, so revise the
3887 the Pre'Class condition to meet this requirement without
3888 changing the condition's behavior at run time.
3889
3890 2021-07-06 Eric Botcazou <ebotcazou@adacore.com>
3891
3892 * repinfo-input.adb (JSON_Entity_Kind, Read_Variant_Part): Fix
3893 typo in comment.
3894
3895 2021-07-06 Steve Baird <baird@adacore.com>
3896
3897 * sem_ch5.adb (Analyze_Assignment): Add new nested function,
3898 Omit_Range_Check_For_Streaming, and make call to
3899 Apply_Scalar_Range_Check conditional on the result of this new
3900 function.
3901 * exp_attr.adb (Compile_Stream_Body_In_Scope): Eliminate Check
3902 parameter, update callers. The new
3903 Omit_Range_Check_For_Streaming parameter takes the place of the
3904 old use of calling Insert_Action with Suppress => All_Checks,
3905 which was insufficiently precise (it did not allow suppressing
3906 checks for one component but not for another).
3907 (Expand_N_Attribute_Reference): Eliminate another "Suppress =>
3908 All_Checks" from an Insert_Action call, this one in generating
3909 the expansion of a T'Read attribute reference for a composite
3910 type T.
3911
3912 2021-07-06 Ghjuvan Lacambre <lacambre@adacore.com>
3913
3914 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for
3915 empty loops caused by constraints.
3916
3917 2021-07-06 Nicolas Roche <roche@adacore.com>
3918
3919 * rtinit.c (skip_quoted_string): Handle malformed command line
3920 with no closing double quote.
3921 (skip_argument): Handle case in which a null character is
3922 encountered by skip_quote_string.
3923
3924 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3925
3926 * uname.adb (Add_Node_Name): Replace local constant whose
3927 initial expression was evaluated even when unnecessary with just
3928 that expression that is evaluated at most once and only when
3929 needed.
3930
3931 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3932
3933 * lib.adb (Remove_Unit): Replace defensive code with an
3934 assertion.
3935 * par-load.adb (Load): Address a question mark in the comment.
3936
3937 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3938
3939 * sem_util.adb (Enclosing_Comp_Unit_Node): When the loop exits
3940 the Current_Node is either an N_Compilation_Unit node or Empty,
3941 so simply return it without redundant checks.
3942
3943 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3944
3945 * lib-load.adb (Load_Unit): Remove excessive whitespace.
3946 * lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise.
3947 * par-ch10.adb (P_Compilation_Unit): Simplify with membership
3948 test.
3949 * par-load.adb (Load): Likewise.
3950 * uname.adb (Get_Unit_Name): Likewise.
3951
3952 2021-07-06 Piotr Trojanek <trojanek@adacore.com>
3953
3954 * lib-writ.adb (Ensure_System_Dependency): Simplify by reusing a
3955 constant name.
3956
3957 2021-07-06 Steve Baird <baird@adacore.com>
3958
3959 * exp_ch5.adb
3960 (Expand_N_Case_Statement.Expand_General_Case_Statement.Pattern_Match):
3961 When generating an equality test for a statically known discrete
3962 value, only generate the numeric value if the discrete type is
3963 not an enumeration type. If it is an enumeration type, then
3964 call Get_Enum_Lit_From_Pos instead.
3965
3966 2021-07-06 Justin Squirek <squirek@adacore.com>
3967
3968 * par-ch6.adb (Get_Return_Kind): Removed.
3969 (Is_Extended): Created to identify simple and "when" return
3970 statements from extended return statements.
3971 (P_Return_Statement): Merged simple and "when" return statement
3972 processing.
3973
3974 2021-07-06 Gary Dismukes <dismukes@adacore.com>
3975
3976 * sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of
3977 "not Extensions_Allowed" with test for absence of Obj_Type's
3978 primitive operations Elist, as an additional condition for early
3979 return from this procedure.
3980
3981 2021-07-06 Gary Dismukes <dismukes@adacore.com>
3982
3983 * exp_ch4.adb (Process_Transient_In_Expression): In one comment,
3984 fix two typos and reorder wording of one sentence, plus minor
3985 reformatting.
3986
3987 2021-07-06 Justin Squirek <squirek@adacore.com>
3988
3989 * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove
3990 legacy expansion of element iterators, and use expansion form
3991 used by unconstrained element types in the general case.
3992
3993 2021-07-06 Ed Schonberg <schonberg@adacore.com>
3994
3995 * exp_ch4.adb (Process_Transient_In_Expression): Ensure that
3996 Fin_Context, used to insert finalization code for the
3997 expression, is a list member: the value returned by
3998 Find_Hook_Context may be an expression node when the transient
3999 is part of a larger expression and it has a non-boolean type.
4000
4001 2021-07-06 Yannick Moy <moy@adacore.com>
4002
4003 * sem_case.adb: Fix error message.
4004
4005 2021-07-06 Bob Duff <duff@adacore.com>
4006
4007 * tbuild.adb (Convert_To): Add assert, along with a comment.
4008 (Make_DT_Access): Remove this function, which is not used. It
4009 was incorrect anyway (the call to New_Occurrence_Of should not
4010 be there).
4011 (Unchecked_Convert_To): Add assert. The previous version's test
4012 for unchecked conversion to the same type was redundant and
4013 could never be true, because the previous 'if' already checked
4014 for ANY expression of the same type. Remove that, and replace
4015 with a test for unchecked conversion to a related type.
4016 Otherwise, we somethings get things like
4017 "finalize(some_type!(some_type!(x)))" in the generated code,
4018 where x is already of type some_type, but we're converting it to
4019 the private type and then to the full type or vice versa (so the
4020 types aren't equal, so the previous 'if' doesn't catch it).
4021 Avoid updating the Parent. This is not necessary; the Parent
4022 will be updated if/when the node is attached to the tree.
4023 * tbuild.ads: Fix comments. No need to say "this is safe" when
4024 we just explained that a few lines earlier. Remove
4025 Make_DT_Access.
4026 * sinfo.ads: Add comments.
4027 * exp_ch7.adb (Make_Finalize_Address_Stmts): Minor comment fix.
4028 * gen_il-gen.adb, gen_il-gen.ads, gen_il-gen-gen_nodes.adb,
4029 gen_il-internals.ads: Implement a feature where you can put:
4030 Nmake_Assert => "expr" where expr is a boolean expression in a
4031 call to Create_Concrete_Node_Type. It is added in a pragma
4032 Assert in the Nmake.Make_... function for that type.
4033
4034 2021-07-06 Gary Dismukes <dismukes@adacore.com>
4035
4036 * checks.adb: Remove calls of Set_Do_Tag_Check (N, False).
4037 * einfo.ads: Remove hanging unneeded ??? comment ("this real description
4038 was clobbered").
4039 * exp_util.ads (Insert_Actions_After): Remove ??? from spec comment.
4040 * gen_il-fields.ads (Opt_Field_Enum): Remove literals
4041 Do_Accessibility_Check and Do_Tag_Check.
4042 * gen_il-gen-gen_nodes.adb: Remove all calls to Sm for
4043 Do_Accessibility_Check and Do_Tag_Check.
4044 * sem_type.ads (Is_Subtype_Of): Remove obsolete ???
4045 comment (function is not limited to scalar subtypes).
4046 * sem_util.ads (Is_Local_Variable_Reference): Revise comment to
4047 mention out-mode parameters as well, and remove ???.
4048 (Propagate_Concurrent_Flags): Minor reformatting.
4049 (Propagate_Invariant_Attributes): Typo fix.
4050 (Propagate_Predicate_Attributes): Indicate what is propagated
4051 and remove ??? comment.
4052 * sem_util.adb (Cannot_Raise_Constraint_Error): Remove unneeded
4053 test of Do_Tag_Check.
4054 (Is_Local_Variable_Reference): Extend function to testing for
4055 formals of mode out as well.
4056 * sinfo.ads: Remove ??? comment about flag
4057 Convert_To_Return_False indicating that the flag is obsolete (in
4058 fact it's used). Remove references to Do_Accessibility_Check and
4059 Do_Tag_Check (and the two associated ??? comments), as these
4060 flags are unneeded.
4061 * sinfo-cn.adb (Change_Conversion_To_Unchecked): Remove call of
4062 Set_Do_Tag_Check (N, False).
4063 * targparm.ads (Support_Atomic_Primitives_On_Target): Remove ???
4064 comment, plus minor reformatting.
4065
4066 2021-07-06 Justin Squirek <squirek@adacore.com>
4067
4068 * par-ch6.adb (Get_Return_Kind): Properly handle the case of a
4069 "return when" statement in the procedure case.
4070
4071 2021-07-06 Bob Duff <duff@adacore.com>
4072
4073 * sem.ads (Node_To_Be_Wrapped): Minor comment fix.
4074 * exp_ch7.adb (Establish_Transient_Scope): Misc cleanups and
4075 comment improvements.
4076 (Set_Node_To_Be_Wrapped): Remove -- not worth putting this code
4077 in a separate procedure, called only once.
4078 * sem_util.adb (Requires_Transient_Scope): Assert that our
4079 parameter has the right Kind. It probably shouldn't be E_Void,
4080 but that is passed in in some cases.
4081 (Ensure_Minimum_Decoration): Move the call later, so we know Typ
4082 is Present, and remove "if Present (Typ)" from this procedure.
4083 * exp_aggr.adb (Convert_To_Assignments): Use membership test,
4084 and avoid the "if False" idiom.
4085 (Expand_Array_Aggregate): Remove a ??? comment.
4086 * sem_ch8.adb (Push_Scope): Take advantage of the full coverage
4087 rules for aggregates.
4088 * sem_res.adb (Resolve_Declare_Expression): Remove test for
4089 Is_Type -- that's all it can be. Use named notation in call to
4090 Establish_Transient_Scope.
4091 * libgnat/a-cdlili.adb (Adjust): Remove redundant code.
4092 (Clear): Remove "pragma Warnings (Off);", which wasn't actually
4093 suppressing any warnings.
4094
4095 2021-07-06 Bob Duff <duff@adacore.com>
4096
4097 * gen_il-gen-gen_nodes.adb: Change the parent of
4098 N_Exception_Declaration to be N_Declaration. Minor comment fix.
4099
4100 2021-07-06 Ed Schonberg <schonberg@adacore.com>
4101
4102 * exp_ch4.adb (Expand_N_Type_Conversion): If the conversion is
4103 the name of an assignment operation do not apply predicate check
4104 to it prior to the assignment.
4105
4106 2021-07-06 Bob Duff <duff@adacore.com>
4107
4108 * libgnat/a-conhel.adb: Assert that tampering counts remain
4109 between 0 and 2**31-1. This makes debugging of
4110 finalization-related bugs easier.
4111
4112 2021-07-06 Doug Rupp <rupp@adacore.com>
4113
4114 * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use s-osprim__posix.adb
4115 vice s-osprim__vxworks.adb for all vxworks7r2 targets.
4116
4117 2021-07-06 Richard Kenner <kenner@adacore.com>
4118
4119 * gen_il-types.ads (Void_Or_Type_Kind,
4120 Exception_Or_Object_Kind): Declare.
4121 * gen_il-gen-gen_entities.adb: Likewise.
4122
4123 2021-07-06 Gary Dismukes <dismukes@adacore.com>
4124
4125 * doc/gnat_rm/implementation_defined_pragmas.rst: Add a
4126 description of the feature of prefixed-view calls for untagged
4127 types to the section on pragma Extensions_Allowed.
4128 * gnat_rm.texi: Regenerate.
4129 * einfo.ads: Update specification for
4130 Direct_Primitive_Operations to reflect its use for untagged
4131 types when Extensions_Allowed is True.
4132 * gen_il-gen-gen_entities.adb: Allow Direct_Primitive_Operations
4133 as a field of untagged classes of types by removing the "Pre"
4134 test of "Is_Tagged_Type (N)", and making that field generally
4135 available for all types and subtypes by defining it for
4136 Type_Kind and removing its specification for individual classes
4137 of types.
4138 * sem_ch3.adb (Analyze_Full_Type_Declaration): Initialize the
4139 Direct_Primitive_Operations list when not already set for the
4140 new (sub)type and its base type (except when Ekind of the type
4141 is E_Void, which can happen due to errors in cases where
4142 Derived_Type_Declaration is called and perhaps in other
4143 situations).
4144 (Analyze_Subtype_Declaration): Inherit
4145 Direct_Primitive_Operations list from the base type, for record
4146 and private cases.
4147 (Build_Derived_Record_Type): Initialize the
4148 Direct_Primitive_Operations list for derived record and private
4149 types.
4150 (Build_Derived_Type): Initialize the Direct_Primitive_Operations
4151 list for derived types (and also for their associated base types
4152 when needed).
4153 (Process_Full_View): For full types that are untagged record and
4154 private types, copy the primitive operations of the partial view
4155 to the primitives list of the full view.
4156 * sem_ch4.adb (Analyze_Selected_Component): Allow prefixed
4157 notation for subprogram calls in the case of untagged
4158 types (when Extensions_Allowed is True). In the case where
4159 Is_Private_Type (Prefix_Type) is True, call Try_Object_Operation
4160 when a discriminant selector wasn't found. Also call
4161 Try_Object_Operation in other type kind cases (when
4162 Extensions_Allowed is True).
4163 (Try_Object_Operation.Try_One_Prefixed_Interpretation): Prevent
4164 early return in the untagged case (when Extensions_Allowed is
4165 True). Condition main call to Try_Primitive_Operation on the
4166 type having primitives, and after that, if Prim_Result is False,
4167 test for case where the prefix type is a named access type with
4168 primitive operations and in that case call
4169 Try_Primitive_Operation after temporarily resetting Obj_Type to
4170 denote the access type (and restore it to the designated type
4171 after the call)
4172 (Try_Object_Operation.Valid_First_Argument_Of): Do matching type
4173 comparison by testing Base_Type (Obj_Type) against
4174 Base_Type (Typ), rather than against just Typ, to properly
4175 handle cases where the object prefix has a constrained
4176 subtype. (Fixes a bug discovered while working on this
4177 feature.)
4178 * sem_ch6.adb
4179 (New_Overloaded_Entity.Check_For_Primitive_Subprogram): Add a
4180 primitive of an untagged type to the type's list of primitive
4181 operations, for both explicit and implicit (derived, so
4182 Comes_From_Source is False) subprogram declarations. In the case
4183 where the new primitive overrides an inherited subprogram,
4184 locate the primitives Elist that references the overridden
4185 subprogram, and replace that element of the list with the new
4186 subprogram (done by calling the new procedure
4187 Add_Or_Replace_Untagged_Primitive on the result type and each
4188 formal atype).
4189 (Check_For_Primitive_Subprogram.Add_Or_Replace_Untagged_Primitive):
4190 New nested procedure to either add or replace an untagged
4191 primitive subprogram in a given type's list of primitive
4192 operations (replacement happens in case where the new subprogram
4193 overrides a primitive of the type).
4194 * sem_ch7.adb (New_Private_Type): When Extensions_Allowed is
4195 True, initialize the Direct_Primitive_Operations list of a
4196 private type to New_Elmt_List in the case of untagged types.
4197 * sem_ch8.adb (Find_Selected_Component): In the case where the
4198 prefix is an entity name, relax condition that tests
4199 Has_Components so that Analyze_Selected_Component will also be
4200 called when Extensions_Allowed is True and the prefix type is
4201 any type.
4202
4203 2021-07-06 Ed Schonberg <schonberg@adacore.com>
4204
4205 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
4206 conformance check when the subprogram body has been created for
4207 an expression function that is not a completion of a previous
4208 specification, because the profile of the constructed body is
4209 copied from the expression function itself.
4210
4211 2021-07-06 Steve Baird <baird@adacore.com>
4212
4213 * doc/gnat_rm/implementation_of_specific_ada_features.rst: Add a
4214 warning indicating that the details of the default (i.e.,
4215 selected by the compiler) implementation of T'Put_Image for a
4216 nonscalar type T are subject to change.
4217 * gnat_rm.texi: Regenerate.
4218
4219 2021-07-05 Pierre-Marie de Rodat <derodat@adacore.com>
4220
4221 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
4222
4223 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4224
4225 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Reject overlays
4226 in Depends and Refined_Depends contracts.
4227 (Analyze_Global_In_Decl_Part): Likewise for Global and
4228 Refined_Global.
4229 (Analyze_Initializes_In_Decl_Part): Likewise for Initializes
4230 (when appearing both as a single item and as a initialization
4231 clause).
4232 * sem_util.ads (Ultimate_Overlaid_Entity): New routine.
4233 * sem_util.adb (Report_Unused_Body_States): Ignore overlays.
4234 (Ultimate_Overlaid_Entity): New routine.
4235
4236 2021-07-05 Claire Dross <dross@adacore.com>
4237
4238 * libgnat/a-cfdlli.ads, libgnat/a-cfdlli.adb
4239 libgnat/a-cfinve.ads, libgnat/a-cfinve.adb,
4240 libgnat/a-cofove.ads, libgnat/a-cofove.adb,
4241 libgnat/a-coboho.ads, libgnat/a-coboho.adb (Constant_Reference):
4242 Get a read-only access to an element of the container.
4243 (At_End): Ghost functions used to express pledges in the
4244 postcondition of Reference.
4245 (Reference): Get a read-write access to an element of the
4246 container.
4247 * libgnat/a-cfhama.ads, libgnat/a-cfhama.adb,
4248 libgnat/a-cforma.ads, libgnat/a-cforma.adb: The full view of the
4249 Map type is no longer a tagged type, but a wrapper over this
4250 tagged type. This is to avoid issues with dispatching result in
4251 At_End functions.
4252 (Constant_Reference): Get a read-only access to an element of
4253 the container.
4254 (At_End): Ghost functions used to express pledges in the
4255 postcondition of Reference.
4256 (Reference): Get a read-write access to an element of the
4257 container.
4258 * libgnat/a-cfhase.ads, libgnat/a-cfhase.adb,
4259 libgnat/a-cforse.ads, libgnat/a-cforse.adb: The full view of the
4260 Map type is no longer a tagged type, but a wrapper over this
4261 tagged type.
4262 (Constant_Reference): Get a read-only access to an element of
4263 the container.
4264 * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads (Copy_Element):
4265 Expression function used to cause SPARK to make sure
4266 Element_Type is copiable.
4267 * libgnat/a-cofuma.ads (Copy_Key): Expression function used to
4268 cause SPARK to make sure Key_Type is copiable.
4269 (Copy_Element): Expression function used to cause SPARK to make
4270 sure Element_Type is copiable.
4271
4272 2021-07-05 Yannick Moy <moy@adacore.com>
4273
4274 * sem_prag.adb (Analyze_Global_Item): Adapt to update SPARK RM
4275 rule.
4276
4277 2021-07-05 Arnaud Charlet <charlet@adacore.com>
4278
4279 * Make-generated.in: Add -f switch to ensure cp will never fail.
4280
4281 2021-07-05 Steve Baird <baird@adacore.com>
4282
4283 * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): When
4284 building the assignment statement corresponding to the default
4285 expression for a component, we make a copy of the expression.
4286 When making that copy (and if we have seen a component that
4287 requires late initialization), pass a Map parameter into the
4288 call to New_Copy_Tree to redirect references to the type to
4289 instead refer to the _Init formal parameter of the init proc.
4290 This includes hoisting the declaration of Has_Late_Init_Comp out
4291 one level so that it becomes available to Build_Assignment.
4292 (Find_Current_Instance): Return True for other kinds of current
4293 instance references, instead of just access-valued attribute
4294 references such as T'Access.
4295 * sem_util.adb (Is_Aliased_View): Return True for the _Init
4296 formal parameter of an init procedure. The changes in
4297 exp_ch3.adb can have the effect of replacing a "T'Access"
4298 attribute reference in an init procedure with an "_Init'Access"
4299 attribute reference. We want such an attribute reference to be
4300 legal. However, we do not simply mark the formal parameter as
4301 being aliased because that might impact callers.
4302 (Is_Object_Image): Return True if Is_Current_Instance returns
4303 True for the prefix of an Image (or related attribute) attribute
4304 reference.
4305
4306 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4307
4308 * exp_ch3.adb (Stream_Operation_OK): Reuse
4309 Is_Concurrent_Interface.
4310 * sem_ch3.adb (Analyze_Interface_Declaration,
4311 Build_Derived_Record_Type): Likewise.
4312 * sem_ch6.adb (Check_Limited_Return): Likewise.
4313 * sem_util.adb (Is_Concurrent_Interface): Don't call
4314 Is_Interface because each of the Is_Protected_Interface,
4315 Is_Synchronized_Interface and Is_Task_Interface calls it anyway.
4316
4317 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4318
4319 * sem_ch6.adb (Check_Limited_Return): Replace Comes_From_Source
4320 with Comes_From_Extended_Return_Statement.
4321
4322 2021-07-05 Steve Baird <baird@adacore.com>
4323
4324 * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
4325 libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
4326 libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
4327 libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
4328 libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
4329 libgnat/a-stouut.adb, libgnat/a-stouut.ads,
4330 libgnat/a-stteou.ads: Delete files.
4331 * Makefile.rtl, impunit.adb: Remove references to deleted files.
4332
4333 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4334
4335 * sem_util.adb (Has_Compatible_Alignment_Internal): If the
4336 prefix of the Address expression is an entire object with a
4337 known alignment, then skip checks related to its size.
4338
4339 2021-07-05 Doug Rupp <rupp@adacore.com>
4340
4341 * libgnat/s-os_lib.ads: Import OS_Time comparison ops as
4342 intrinsic.
4343 * libgnat/s-os_lib.adb: Remove OS_TIme comparison ops
4344 implementation.
4345
4346 2021-07-05 Doug Rupp <rupp@adacore.com>
4347
4348 * libgnat/s-os_lib.ads: Add some comments about time_t.
4349 * libgnat/s-os_lib.adb (GM_Split/To_GM_Time): Rename formal to
4350 P_OS_Time.
4351 (GM_Time_Of/To_OS_Time): Likewise.
4352
4353 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4354
4355 * sem_res.adb (Resolve): Insert minus sign if needed.
4356
4357 2021-07-05 Steve Baird <baird@adacore.com>
4358
4359 * exp_put_image.adb:
4360 (Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying
4361 the -gnatd_z switch, as opposed to testing whether Ada_Version >= Ada_2022.
4362
4363 2021-07-05 Justin Squirek <squirek@adacore.com>
4364
4365 * checks.adb (Accessibility_Checks_Suppressed): Add check
4366 against restriction No_Dynamic_Accessibility_Checks.
4367 (Apply_Accessibility_Check): Add assertion to check restriction
4368 No_Dynamic_Accessibility_Checks is not active.
4369 * debug.adb: Add documentation for new debugging switch to
4370 control which accessibility model gets employed under
4371 restriction No_Dynamic_Accessibility_Checks.
4372 * exp_attr.adb (Expand_N_Attribute_Reference): Disable dynamic
4373 accessibility check generation when
4374 No_Dynamic_Accessibility_Checks is active.
4375 * exp_ch4.adb (Apply_Accessibility_Check): Skip check generation
4376 when restriction No_Dynamic_Accessibility_Checks is active.
4377 (Expand_N_Allocator): Disable dynamic accessibility checks when
4378 No_Dynamic_Accessibility_Checks is active.
4379 (Expand_N_In): Disable dynamic accessibility checks when
4380 No_Dynamic_Accessibility_Checks is active.
4381 (Expand_N_Type_Conversion): Disable dynamic accessibility checks
4382 when No_Dynamic_Accessibility_Checks is active.
4383 * exp_ch5.adb (Expand_N_Assignment_Statement): Disable
4384 alternative accessibility model calculations when computing a
4385 dynamic level for a SAOAAT.
4386 * exp_ch6.adb (Add_Call_By_Copy_Code): Disable dynamic
4387 accessibility check generation when
4388 No_Dynamic_Accessibility_Checks is active.
4389 (Expand_Branch): Disable alternative accessibility model
4390 calculations.
4391 (Expand_Call_Helper): Disable alternative accessibility model
4392 calculations.
4393 * restrict.adb, restrict.ads: Add new restriction
4394 No_Dynamic_Accessibility_Checks.
4395 (No_Dynamic_Accessibility_Checks_Enabled): Created to test when
4396 experimental features (which are generally incompatible with
4397 standard Ada) can be enabled.
4398 * sem_attr.adb (Safe_Value_Conversions): Add handling of new
4399 accessibility model under the restriction
4400 No_Dynamic_Accessibility_Checks.
4401 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
4402 Disallow new restriction No_Dynamic_Accessibility_Checks from
4403 being exclusively specified within a body or subunit without
4404 being present in a specification.
4405 * sem_res.adb (Check_Fully_Declared_Prefix): Minor comment
4406 fixup.
4407 (Valid_Conversion): Omit implicit conversion checks on anonymous
4408 access types and perform static checking instead when
4409 No_Dynamic_Accessibility_Checks is active.
4410 * sem_util.adb, sem_util.ads (Accessibility_Level): Add special
4411 handling of anonymous access objects, formal parameters,
4412 anonymous access components, and function return objects.
4413 (Deepest_Type_Access_Level): When
4414 No_Dynamic_Accessibility_Checks is active employ an alternative
4415 model. Add paramter Allow_Alt_Model to override the new behavior
4416 in certain cases.
4417 (Type_Access_Level): When No_Dynamic_Accessibility_Checks is
4418 active employ an alternative model. Add parameter
4419 Allow_Alt_Model to override the new behavior in certain cases.
4420 (Typ_Access_Level): Created within Accessibility_Level for
4421 convenience.
4422 * libgnat/s-rident.ads, snames.ads-tmpl: Add handing for
4423 No_Dynamic_Accessibility_Checks.
4424
4425 2021-07-05 Doug Rupp <rupp@adacore.com>
4426
4427 * adaint.h (__gnat_set_file_time_name): Use OS_Time.
4428 * adaint.c (__gnat_set_file_time_name): Likewise.
4429
4430 2021-07-05 Doug Rupp <rupp@adacore.com>
4431
4432 * adaint.h (OS_Time): typedef as long long.
4433 * osint.adb (Underlying_OS_Time): Declare as 64-bit signed type.
4434 * libgnat/s-os_lib.adb ("<"): Compare OS_Time as
4435 Long_Long_Integer.
4436 ("<="): Likewise.
4437 (">"): Likewise.
4438 (">="): Likewise.
4439 * libgnat/s-os_lib.ads (OS_Time): Declare as 64-bit signed type.
4440
4441 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4442
4443 * sem_ch3.adb (Check_Abstract_Overriding): Post error message on
4444 renaming node.
4445
4446 2021-07-05 Yannick Moy <moy@adacore.com>
4447
4448 * libgnat/a-uncdea.ads: Add Depends/Post to
4449 Ada.Unchecked_Deallocation.
4450 * sem_ch4.adb (Analyze_Allocator): Remove checking of allocator
4451 placement.
4452 * sem_res.adb (Flag_Object): Same.
4453
4454 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4455
4456 * aspects.ads: Add GNAT_Annotate aspect.
4457 * gnat1drv.adb (Adjust_Global_Switches): Stop defining
4458 Name_Gnat_Annotate as an alias of Name_Annotate.
4459 * snames.ads-tmpl: Define Gnat_Annotate.
4460 * par-prag.adb, sem_prag.ads: Add Pragma_Gnat_Annotate to list
4461 of pragmas.
4462 * lib-writ.adb, sem_ch13.adb, sem_prag.adb: Handle Gnat_Annotate
4463 like Aspect_Annotate.
4464
4465 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4466
4467 * ttypes.ads (Target_Strict_Alignment): Fix comment.
4468
4469 2021-07-05 Piotr Trojanek <trojanek@adacore.com>
4470
4471 * sem_util.adb (Has_Compatible_Alignment_Internal): Fix
4472 indentation of ELSIF comments; remove explicit calls to
4473 UI_To_Int; remove extra parens around the MOD operand.
4474
4475 2021-07-05 Ed Schonberg <schonberg@adacore.com>
4476
4477 * sem_aggr.adb (Resolve_Record_Aggregate, Step_5): Do not check
4478 for the need to use an extension aggregate for a given component
4479 when within an instance and the type of the component hss a
4480 private ancestor: the instantiation is legal if the generic
4481 compiles, and spurious errors may be generated otherwise.
4482
4483 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4484
4485 * errout.adb (Output_JSON_Message): Recursively call
4486 Output_JSON_Message for continuation messages instead of
4487 appending their content to the initial message.
4488
4489 2021-07-05 Steve Baird <baird@adacore.com>
4490
4491 * debug.adb: Remove comments about -gnatd_z switch.
4492 * exp_ch3.adb (Make_Predefined_Primitive_Specs): A one-line fix
4493 for a subtle bug that took some effort to debug. Append a new
4494 Put_Image procedure for a type extension even if it seems to
4495 already have one, just as is done for (for example) the
4496 streaming-related Read procedure.
4497 * exp_put_image.adb:
4498 (Build_Record_Put_Image_Procedure.Make_Component_Attributes): Do
4499 not treat _Parent component like just another component, for two
4500 reasons. 1. If the _parent component's type has a
4501 user-specified Put_Image procedure, then we want to generate a
4502 call to that procedure and then generate extension aggregate
4503 syntax. 2. Otherwise, we still don't want to see any mention of
4504 "_parent" in the generated image text.
4505 (Build_Record_Put_Image_Procedure.Make_Component_Name): Add
4506 assertion that we are not generating a reference to an "_parent"
4507 component.
4508 (Build_Record_Put_Image_Procedure): Add special treatment for
4509 null records. Add call to Duplicate_Subexpr for image attribute
4510 prefix in order to help with expansion needed in the class-wide
4511 case (where the prefix is also referenced in the call to
4512 Wide_Wide_Expanded_Name) if evaluation of the prefix has side
4513 effects. Add new local helper function, Put_String_Exp. Add
4514 support for case where prefix type is class-wide.
4515 (Enable_Put_Image, Preload_Root_Buffer_Type): Query Ada_Version
4516 > Ada_2022 instead of (indirectly) querying -gnatd_z switch.
4517 * freeze.adb (In_Expanded_Body): A one-line change to add
4518 TSS_Put_Image to the list of subprograms that have
4519 expander-created bodies.
4520 * rtsfind.ads: Add support for accessing
4521 Ada.Tags.Wide_Wide_Expanded_Name.
4522 * sem_ch3.ads, sem_ch3.adb: Delete Is_Null_Extension function,
4523 as part of moving it to Sem_Util.
4524 * sem_ch13.adb
4525 (Analyze_Put_Image_TSS_Definition.Has_Good_Profile): Improve
4526 diagnostic messages in cases where the result is going to be
4527 False and the Report parameter is True. Relax overly-restrictive
4528 checks in order to implement mode conformance.
4529 (Analyze_Stream_TSS_Definition.Has_Good_Profile): Add similar
4530 relaxation of parameter subtype checking for the Stream
4531 parameter of user-defined streaming subprograms.
4532 * sem_disp.adb (Check_Dispatching_Operation): A one-line
4533 change (and an accompanying comment change) to add TSS_Put_Image
4534 to the list of compiler-generated dispatching primitive
4535 operations.
4536 * sem_util.ads, sem_util.adb: Add Ignore_Privacy Boolean
4537 parameter to Is_Null_Record_Type function (typically the
4538 parameter will be False when the function is being used in the
4539 implementation of static semantics and True for dynamic
4540 semantics; the parameter might make a difference in the case of,
4541 for example, a private type that is implemented as a null record
4542 type). Add related new routines Is_Null_Extension (formerly
4543 declared in Sem_Ch3), Is_Null_Extension_Of, and
4544 Is_Null_Record_Definition.
4545
4546 2021-07-05 Justin Squirek <squirek@adacore.com>
4547
4548 * freeze.adb (Freeze_Profile): Use N's Sloc, F_type's chars.
4549
4550 2021-07-05 Bob Duff <duff@adacore.com>
4551
4552 * checks.adb, exp_aggr.adb, exp_ch5.adb, freeze.adb,
4553 sem_util.adb, sem_util.ads: Change L and H to be First and Last,
4554 to match the attributes in the RM. Change calls from procedure
4555 to function where appropriate.
4556
4557 2021-07-05 Bob Duff <duff@adacore.com>
4558
4559 * sem_util.ads, sem_util.adb (Compute_Returns_By_Ref): New
4560 procedure to compute Returns_By_Ref, to avoid some code
4561 duplication. This will likely change soon, so it's good to have
4562 the code in one place.
4563 (CW_Or_Has_Controlled_Part): Move here from Exp_Ch7, because
4564 it's called by Compute_Returns_By_Ref, and this is a better
4565 place for it anyway.
4566 (Needs_Finalization): Fix comment to be vague instead of wrong.
4567 * exp_ch6.adb (Expand_N_Subprogram_Body, Freeze_Subprogram):
4568 Call Compute_Returns_By_Ref.
4569 * sem_ch6.adb (Check_Delayed_Subprogram): Call
4570 Compute_Returns_By_Ref.
4571 * exp_ch7.ads, exp_ch7.adb (CW_Or_Has_Controlled_Part): Move to
4572 Sem_Util.
4573 (Has_New_Controlled_Component): Remove unused function.
4574
4575 2021-07-05 Ghjuvan Lacambre <lacambre@adacore.com>
4576
4577 * sem_ch3.adb (Check_Abstract_Overriding): Check for renamings.
4578
4579 2021-07-05 Boris Yakobowski <yakobowski@adacore.com>
4580
4581 * exp_ch4.adb (Expand_N_Op_Rem): Remove special case for rem -1
4582 in CodePeer_Mode.
4583
4584 2021-07-01 Eric Botcazou <ebotcazou@adacore.com>
4585
4586 PR ada/101094
4587 * exp_attr.adb (Get_Integer_Type): Return an integer type with the
4588 same signedness as the input type.
4589
4590 2021-06-29 Richard Kenner <kenner@adacore.com>
4591
4592 * sem_util.adb (Visit_Node): Add handling for N_Block_Statement
4593 with declarations.
4594
4595 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4596
4597 * einfo-utils.adb
4598 (Unknown_Alignment): Simply negate the Known_ counterpart.
4599 (Unknown_Component_Bit_Offset): Likewise.
4600 (Unknown_Esize): Likewise.
4601 (Unknown_Normalized_First_Bit): Likewise.
4602 (Unknown_Normalized_Position): Likewise.
4603 (Unknown_Normalized_Position_Max): Likewise.
4604 (Unknown_RM_Size): Likewise.
4605
4606 2021-06-29 Boris Yakobowski <yakobowski@adacore.com>
4607
4608 * exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1
4609 in CodePeer_Mode.
4610
4611 2021-06-29 Aleksandra Pasek <pasek@adacore.com>
4612
4613 * libgnat/s-objrea.adb (EM_AARCH64): New Constant.
4614 (Initialize): Handle EM_AARCH64 case.
4615 (Read_Address): Handle AARCH64 case.
4616 * libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record
4617 component.
4618
4619 2021-06-29 Bob Duff <duff@adacore.com>
4620
4621 * sem_ch13.adb (Analyze_Record_Representation_Clause): Call
4622 Set_Entity_With_Checks instead of Set_Entity, so we perform the
4623 check for correct casing.
4624 * style.adb (Check_Identifier): Minor comment improvement.
4625 Cleanup overly complicated code.
4626
4627 2021-06-29 Ed Schonberg <schonberg@adacore.com>
4628
4629 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of
4630 the aggregate, the expression can be removed from the
4631 declaration, except if the object is class-wide, in which case
4632 the aggregate provides the actual type. In other cases the
4633 presence of the expression may lead to spurious freezing issue.
4634 * exp_ch3.adb (Expand_N_Object_Declaration): If the expression
4635 in the declaration is an aggregate with delayed expansion (as is
4636 the case for objects of a limited type, or a subsequent address
4637 specification) the aggregate must be resolved at this point.
4638 This resolution must not include expansion, because the
4639 expansion of the enclosing declaration will construct the
4640 necessary aggregate expansion.
4641
4642 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4643
4644 * errout.ads (Adjust_Name_Case): Remove obsolete and now unused
4645 variant.
4646 * errout.adb (Adjust_Name_Case): Likewise; fix variant that uses
4647 a custom buffer to also use it for names in Standard_Location.
4648
4649 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4650
4651 * sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze".
4652 (Install_Body): Likewise.
4653
4654 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4655
4656 * adaint.c (__gnat_portable_spawn): Revert change that
4657 introduced setting of __gnat_in_child_after_fork.
4658
4659 2021-06-29 Patrick Bernardi <bernardi@adacore.com>
4660
4661 * libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components
4662 aspect.
4663
4664 2021-06-29 Doug Rupp <rupp@adacore.com>
4665
4666 * Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move
4667 i-vxinco.o out of RTP runtime.
4668
4669 2021-06-29 Claire Dross <dross@adacore.com>
4670
4671 * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable
4672 pre and postconditions.
4673 * libgnat/a-cfhama.ads: Likewise.
4674 * libgnat/a-cfhase.ads: Likewise.
4675 * libgnat/a-cfinve.ads: Likewise.
4676 * libgnat/a-cforma.ads: Likewise.
4677 * libgnat/a-cforse.ads: Likewise.
4678 * libgnat/a-cofove.ads: Likewise.
4679
4680 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4681
4682 * sem_util.ads (Get_Fullest_View): Refill comment; remove extra
4683 extra after period.
4684 * sem_util.adb (Get_Fullest_View): Fix style.
4685
4686 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4687
4688 * sem_ch3.adb (Analyze_Declarations): Remove explicit check for
4689 missing, because a subsequent call to Is_Empty_List will detect
4690 them anyway.
4691
4692 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4693
4694 * freeze.adb (Freeze_All): Simplify by reusing
4695 Is_Subprogram_Or_Entry.
4696 * sem_ch11.adb (Analyze_Handled_Statement): Likewise.
4697
4698 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4699
4700 * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded
4701 errors once for the subprogram call, not for every pair of
4702 actual parameters.
4703
4704 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4705
4706 * sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within.
4707
4708 2021-06-29 Gary Dismukes <dismukes@adacore.com>
4709
4710 * sem_ch6.ads (Can_Override_Operator): Function declaration
4711 moved from package body to package spec.
4712 * sem_ch6.adb (Check_Overriding_Indicator): Now use test of
4713 whether the subprogram's Chars is an operator name, to handle
4714 cases of function instances whose entity is
4715 N_Defining_Identifier rather than N_Defining_Operator_Symbol.
4716 (Can_Override_Operator): Function declaration moved to package
4717 spec. Now use test of whether the subprogram's Chars is an
4718 operator name, to handle cases of function instances whose
4719 entity is N_Defining_Identifier rather than
4720 N_Defining_Operator_Symbol.
4721 * sem_ch8.adb (Analyze_Renamed_Subprogram): Check for
4722 possibility of an overridden predefined operator, and suppress
4723 the "not overriding" message in that case.
4724
4725 2021-06-29 Doug Rupp <rupp@adacore.com>
4726
4727 * Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib.
4728
4729 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4730
4731 * exp_attr.adb (Build_Array_VS_Func): Restore uses of
4732 Validated_View.
4733 (Build_Record_VS_Func): Likewise.
4734 (Expand_N_Attribute_Reference): Likewise.
4735 * sem_util.adb (Validated_View): Behave as an identity function
4736 for arrays and scalars.
4737
4738 2021-06-29 Bob Duff <duff@adacore.com>
4739
4740 * atree.adb, atree.ads (Parent, Set_Parent): Assert node is
4741 Present.
4742 (Copy_Parent, Parent_Kind): New helper routines.
4743 * gen_il-gen.adb: Add with clause.
4744 * nlists.adb (Parent): Assert Parent of list is Present.
4745 * aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb,
4746 exp_util.adb, lib-xref-spark_specific.adb, osint.ads,
4747 sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb,
4748 sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
4749 treepr.adb: Do not call Parent and Set_Parent on the Empty node.
4750 * libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb:
4751 Minor: Fix typos in comments.
4752 * einfo.ads: Minor comment update.
4753 * sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent):
4754 New functions.
4755
4756 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4757
4758 * repinfo-input.adb (Read_JSON_Stream): Fix typo.
4759
4760 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4761
4762 * rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into
4763 RE_Valid_Value_Enumeration_NN.
4764 (RE_Unit_Table): Adjust to above renaming.
4765 * exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise.
4766 * libgnat/s-valuen.ads (Invalid): Remove.
4767 (Value_Enumeration_Pos): Move to...
4768 * libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here.
4769 Return -1 instead of Invalid.
4770 (Value_Enumeration): Compare against 0 instead of Invalid.
4771 (Valid_Enumeration_Value): Likewise. Rename to...
4772 (Valid_Value_Enumeration): ...this.
4773 * libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into...
4774 (Valid_Value_Enumeration_8): ...this.
4775 * libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into...
4776 (Valid_Value_Enumeration_16): ...this.
4777 * libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into...
4778 (Valid_Value_Enumeration_32): ...this.
4779
4780 2021-06-29 Bob Duff <duff@adacore.com>
4781
4782 * einfo.ads (Component_Bit_Offset, Component_Size): Update
4783 documentation: Repinfo is the package where these negative
4784 values are documented.
4785 * einfo-utils.adb (Known_Component_Size,
4786 Known_Static_Component_Size, Unknown_Component_Size): Remove
4787 calls to Implementation_Base_Type, because Component_Size is an
4788 Impl_Base_Type_Only field (see Gen_Entities).
4789 * sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and
4790 RM_Size. This is unnecessary in the case of Size. For
4791 Component_Size, it is wrong, because we would be setting the
4792 Esize and RM_Size of the component type.
4793
4794 2021-06-29 Pascal Obry <obry@adacore.com>
4795
4796 * s-oscons-tmplt.c: Add some OS constants.
4797
4798 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4799
4800 * sem_util.ads (Validated_View): Fix style in comment.
4801 * sem_util.adb (Validated_View): Rewrite in recursive style.
4802
4803 2021-06-29 Eric Botcazou <ebotcazou@adacore.com>
4804
4805 * Make-generated.in (ada/stamp-gen_il): Ignore errors from
4806 running gen_il-main.
4807
4808 2021-06-29 Richard Kenner <kenner@adacore.com>
4809
4810 * gen_il-gen-gen_entities.adb (Record_Field_Kind,
4811 Allocatable_Kind): Add new abstract kinds.
4812 (Constant_Or_Variable_Kind): Likewise.
4813 (E_Constant, E_Variable, E_Loop_Parameter): Use them.
4814 (E_Discriminant, E_Component): Likewise.
4815 * gen_il-types.ads (type Opt_Type_Enum): Add them.
4816
4817 2021-06-29 Bob Duff <duff@adacore.com>
4818
4819 * gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct
4820 numbers.
4821 * gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this
4822 function. It was assuming that the order of the enumeration
4823 literals in Type_Enum is the same as the order of the generated
4824 types Node_Kind and Entity_Kind, which is not true.
4825
4826 2021-06-29 Piotr Trojanek <trojanek@adacore.com>
4827
4828 * exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use
4829 Validated_View for record objects.
4830
4831 2021-06-28 Martin Sebor <msebor@redhat.com>
4832
4833 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
4834 Replace TREE_NO_WARNING with suppress_warning.
4835 (gnat_gimplify_expr): Same.
4836 * gcc-interface/utils.c (gnat_pushdecl): Same.
4837
4838 2021-06-21 Gary Dismukes <dismukes@adacore.com>
4839
4840 * checks.adb (Selected_Range_Checks): In the case of a
4841 qualified_expression where the qualifying subtype is an
4842 unconstrained array subtype with fixed lower bounds for some of
4843 its indexes, generate tests to check that those bounds are equal
4844 to the corresponding lower bounds of the qualified array object.
4845
4846 2021-06-21 Bob Duff <duff@adacore.com>
4847
4848 * libgnat/s-valuen.ads (Value_Enumeration,
4849 Valid_Enumeration_Value): Inline.
4850 (Value_Enumeration_Pos): Add Pure_Function.
4851
4852 2021-06-21 Justin Squirek <squirek@adacore.com>
4853
4854 * doc/gnat_rm/implementation_defined_pragmas.rst: Document new
4855 feature under pragma Extensions_Allowed.
4856 * gnat_rm.texi: Regenerate.
4857 * errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to
4858 issue errors when parsing extension only constructs.
4859 * exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement):
4860 Created to expand raise ... when constucts.
4861 * exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement):
4862 Created to expand goto ... when constructs.
4863 * exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement):
4864 Created to expand return ... when constructs.
4865 * expander.adb (Expand): Add case entries for "when" constructs.
4866 * gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for
4867 "when" constructs.
4868 * par-ch11.adb (P_Raise_Statement): Add processing for raise ...
4869 when.
4870 * par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to
4871 Missing_Semicolon_On_When and moved to par-util.adb.
4872 * par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and
4873 processing added for "return ... when" return kind.
4874 (Is_Simple): Renamed to Get_Return_Kind.
4875 (P_Return_Statement): Add case for return ... when variant of
4876 return statement.
4877 * par-util.adb, par.adb (Missing_Semicolon_On_When): Added to
4878 centeralize parsing of "when" keywords in the context of "when"
4879 constructs.
4880 * sem.adb (Analyze): Add case for "when" constructs.
4881 * sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement):
4882 Created to analyze raise ... when constructs.
4883 * sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement):
4884 Created to analyze goto ... when constructs.
4885 * sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement):
4886 Created to analyze return ... when constructs.
4887 * sprint.adb (Sprint_Node_Actual): Add entries for new "when"
4888 nodes.
4889
4890 2021-06-21 Steve Baird <baird@adacore.com>
4891
4892 * Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags.
4893 (ada/stamp-gen_il): Remove dependencies on libgnat/ sources. Do not
4894 copy libgnat/ sources locally and tidy up.
4895 * Makefile.rtl: Include object files for new Text_Buffer units
4896 in the GNATRTL_NONTASKING_OBJS list.
4897 * exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to
4898 match new specs. For example, calls to RE_Sink are replaced with
4899 calls to RE_Root_Buffer_Type. Update comments and change
4900 subprogram names accordingly (e.g., Preload_Sink is changed to
4901 Preload_Root_Buffer_Type).
4902 * impunit.adb: Add 6 new predefined units (Text_Buffers and 5
4903 child units thereof).
4904 * rtsfind.ads, rtsfind.adb: Add interfaces for accessing the
4905 Ada.Strings.Text_Buffers package and declarations
4906 therein (including the Unbounded child unit). Do not (yet)
4907 delete interfaces for accessing the old Text_Output package.
4908 * sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses
4909 with RE_Root_Buffer_Type and update comments accordingly.
4910 * sem_ch10.adb (Analyze_Compilation_Unit): Update call to
4911 reflect name change of callee (that is, the former Preload_Sink
4912 is now Preload_Root_Buffer_Type).
4913 * sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with
4914 RE_Root_Buffer_Type.
4915 (Build_Spec): Update comment describing a parameter type.
4916 * gen_il.ads: Remove clauses for the old Text_Output package and
4917 add them for Ada.Streams.Stream_IO.
4918 (Sink): Declare.
4919 (Create_File): Likewise.
4920 (Increase_Indent): Likewise.
4921 (Decrease_Indent): Likewise.
4922 (Put): Likewise.
4923 (LF): Likewise.
4924 * gen_il.adb: Add clauses for Ada.Streams.Stream_IO.
4925 (Create_File): New procedure.
4926 (Increase_Indent): Likewise.
4927 (Decrease_Indent): Likewise.
4928 (Put): New procedures.
4929 * gen_il-gen.adb: Add clauses for Ada.Text_IO. Replace
4930 Sink'Class with Sink throughout. Use string concatenation and
4931 LF marker instead of formatted strings and "\n" marker. Update
4932 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
4933 names.
4934 (Put_Membership_Query_Decl): Remove.
4935 * gen_il-internals.ads: Replace Sink'Class with Sink throughout.
4936 (Ptypes): Remove.
4937 (Pfields): Likewise.
4938 * gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and
4939 Ada.Strings.Text_Buffers.Files. Replace Sink'Class with Sink
4940 throughout. Use string concatenation and LF marker instead of
4941 formatted strings and "\n" marker.
4942 (Stdout): Remove.
4943 (Ptypes): Likewise.
4944 (Pfields): Likewise.
4945 * libgnarl/s-putaim.ads: Modify context clause, update
4946 declaration of subtype Sink to refer to
4947 Text_Buffers.Root_Buffer_Type instead of the old
4948 Text_Output.Sink type.
4949 * libgnarl/s-putaim.adb: Modify context clause and add use
4950 clause to refer to Text_Buffers package.
4951 * libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
4952 libgnat/a-cbhama.ads, libgnat/a-cbhama.adb,
4953 libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
4954 libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb,
4955 libgnat/a-cborma.ads, libgnat/a-cborma.adb,
4956 libgnat/a-cborse.ads, libgnat/a-cborse.adb,
4957 libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
4958 libgnat/a-cidlli.ads, libgnat/a-cidlli.adb,
4959 libgnat/a-cihama.ads, libgnat/a-cihama.adb,
4960 libgnat/a-cihase.ads, libgnat/a-cihase.adb,
4961 libgnat/a-cimutr.ads, libgnat/a-cimutr.adb,
4962 libgnat/a-ciorma.ads, libgnat/a-ciorma.adb,
4963 libgnat/a-ciormu.ads, libgnat/a-ciormu.adb,
4964 libgnat/a-ciorse.ads, libgnat/a-ciorse.adb,
4965 libgnat/a-coboho.ads, libgnat/a-coboho.adb,
4966 libgnat/a-cobove.ads, libgnat/a-cobove.adb,
4967 libgnat/a-cohama.ads, libgnat/a-cohama.adb,
4968 libgnat/a-cohase.ads, libgnat/a-cohase.adb,
4969 libgnat/a-coinho.ads, libgnat/a-coinho.adb,
4970 libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb,
4971 libgnat/a-coinve.ads, libgnat/a-coinve.adb,
4972 libgnat/a-comutr.ads, libgnat/a-comutr.adb,
4973 libgnat/a-convec.ads, libgnat/a-convec.adb,
4974 libgnat/a-coorma.ads, libgnat/a-coorma.adb,
4975 libgnat/a-coormu.ads, libgnat/a-coormu.adb,
4976 libgnat/a-coorse.ads, libgnat/a-coorse.adb,
4977 libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
4978 libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads,
4979 libgnat/a-nbnbre.adb, libgnat/a-strunb.ads,
4980 libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads,
4981 libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads,
4982 libgnat/s-rannum.adb: Modify Put_Image procedure used in
4983 Put_Image aspect specification to conform to Ada profile
4984 rules (in particular, the first parameter shall be of type
4985 Ada.Strings.Text_Buffers.Root_Buffer_Type'Class).
4986 * libgnat/a-sttebu.ads, libgnat/a-sttebu.adb,
4987 libgnat/a-stbubo.ads, libgnat/a-stbubo.adb,
4988 libgnat/a-stbufi.ads, libgnat/a-stbufi.adb,
4989 libgnat/a-stbufo.ads, libgnat/a-stbufo.adb,
4990 libgnat/a-stbuun.ads, libgnat/a-stbuun.adb,
4991 libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined
4992 unit, Ada.Strings.Text_Buffers, and five child units. Two of
4993 the five are RM-defined: Bounded and Unbounded. The remaining
4994 three are GNAT-defined: Files, Utils, and Formatting. The buffer
4995 type corresponding to an output file, type Files.File_Buffer, is
4996 simpler (and perhaps therefore slower) than its predecessor.
4997 Caching similar to what was being done before could be added
4998 later if that seems appropriate.
4999 * libgnat/s-putima.ads: Modify context clause, update
5000 declaration of subtype Sink to refer to
5001 Text_Buffers.Root_Buffer_Type instead of the old
5002 Text_Output.Sink type.
5003 * libgnat/s-putima.adb: Modify context clause. Update
5004 Indent/Outdent calls to use new Increase_Indent/Decrease_Indent
5005 names; ditto for "Put_String => Put" name change.
5006 * libgnat/a-stteou__bootstrap.ads: Delete.
5007
5008 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
5009
5010 * exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian
5011 ordering is in effect for the operands and they are small,
5012 adjust the unchecked conversions done around them.
5013
5014 2021-06-21 Richard Kenner <kenner@adacore.com>
5015
5016 * einfo.ads (Return_Statement): Add documentation.
5017 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it.
5018 * gen_il-fields.ads: Add it.
5019 * gen_il-gen-gen_entities.adb: Add it.
5020
5021 2021-06-21 Bob Duff <duff@adacore.com>
5022
5023 * rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb,
5024 libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library
5025 function to copy bit fields faster than Copy_Bitfield. Cannot be
5026 called with zero-size bit fields. Remove obsolete ??? comments
5027 from s-bituti.adb; we already do "avoid calling this if
5028 Forwards_OK is False".
5029 * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield,
5030 Expand_Assign_Array_Bitfield_Fast): Generate calls to
5031 Fast_Copy_Bitfield when appropriate.
5032 * sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new
5033 functions for getting the index bounds. These are more
5034 convenient than the procedure of the same name, because they can
5035 be used to initialize constants.
5036
5037 2021-06-21 Ed Schonberg <schonberg@adacore.com>
5038
5039 * gen_il-fields.ads: Add Default_Subtype_Mark to enumeration
5040 type for fields.
5041 * gen_il-gen-gen_nodes.adb: Add call to create new field for
5042 Formal_Type_Declaration node.
5043 * par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode,
5044 recognize new syntax for default: "or use subtype_mark".
5045 (P_Formal_Type_Definition): Ditto for the case of a formal
5046 incomplete type.
5047 * sinfo.ads: Add field Default_Subtype_Mark to
5048 N_Formal_Type_Declaration.
5049 * sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to
5050 apply legality rules to default subtypes in formal type
5051 declarations. Some legality rules apply to all defaults, such as
5052 the requirement that the default for a formal type that depends
5053 on previous formal entities must itself be a previously declared
5054 formal of the same unit. Other checks are kind- specific.
5055 (Analyze_Associations): Use specified default if there is no
5056 actual provided for a formal type in an instance.
5057 (Analyze_Formal_Type_Declaration): Call
5058 Validate_Formal_Type_Default when default subtype is present.
5059
5060 2021-06-21 Bob Duff <duff@adacore.com>
5061
5062 * libgnat/s-valuen.ads, libgnat/s-valuen.adb
5063 (Value_Enumeration_Pos): New function to compute the 'Pos of the
5064 enumeration literal for a given String. Return a special value
5065 instead of raising an exception on invalid input. Called by both
5066 Valid_Enumeration_Image and Value_Enumeration.
5067 (Valid_Enumeration_Image): Return a Boolean indicating whether
5068 the String is a valid Image for the given enumeration type.
5069 (Value_Enumeration): Implement in terms of
5070 Value_Enumeration_Pos.
5071 * libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads,
5072 libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the
5073 instances.
5074 * libgnat/s-valuti.ads: Correct documentation (it was not true
5075 for the null string).
5076 * libgnat/s-valuti.adb (Normalize_String): Do not raise
5077 Constraint_Error for the null string, nor strings containing
5078 nothing but blanks, so that Valid_Enumeration_Image can return
5079 False in these cases, rather than raising an exception.
5080 * rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16,
5081 RE_Value_Enumeration_32): New functions.
5082 (RTE_Available): Improve comment (E doesn't have to be a
5083 subprogram, although that's the usual case).
5084 * sem_attr.adb (nalid_Value): Semantic analysis for new
5085 attribute.
5086 * exp_attr.adb: Call Expand_Valid_Value_Attribute for new
5087 attribute.
5088 * exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New
5089 procedure to expand Valid_Value into a call to
5090 Valid_Enumeration_Image_NN.
5091 (Expand_Value_Attribute): Misc code cleanups. Remove two ???
5092 mark comments. RTE_Available won't work here. For one thing,
5093 RTE_Available (X) shouldn't be called until the compiler has
5094 decided to make use of X (see comments on RTE_Available), and in
5095 this case we're trying to AVOID calling something.
5096 * snames.ads-tmpl: New attribute name.
5097 * doc/gnat_rm/implementation_defined_attributes.rst: Document
5098 new attribute.
5099 * gnat_rm.texi: Regenerate.
5100
5101 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
5102
5103 * fe.h (Assume_No_Invalid_Values): Declare.
5104 * opt.ads (Assume_No_Invalid_Values): Add warning comment.
5105
5106 2021-06-21 Bob Duff <duff@adacore.com>
5107
5108 * libgnat/s-bituti.ads (Small_Size): Do not include 0 in this
5109 type.
5110 * libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit
5111 bitfields.
5112
5113 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
5114
5115 * exp_ch9.adb (Build_Simple_Entry_Call): Add comment.
5116 * libgnat/s-rannum.adb (Random): Update comment.
5117 * libgnat/s-rannum.ads (Generator): Update comment.
5118
5119 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5120
5121 * doc/gnat_rm/representation_clauses_and_pragmas.rst (Address
5122 Clauses): Fix unbalanced parens.
5123 * gnat_rm.texi: Regenerate.
5124
5125 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
5126
5127 * errout.adb (Handle_Serious_Error): Capitalize comment.
5128 * exp_dbug.adb (Set_Entity_Name): Capitalize sentence.
5129 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix
5130 typo.
5131 * sem_ch3.adb (Modular_Type_Declaration): Add space after comma.
5132
5133 2021-06-21 Ghjuvan Lacambre <lacambre@adacore.com>
5134
5135 * debug.adb: Document -gnatd_U as taken.
5136 * err_vars.ads (Warning_Doc_Switch): Set to True.
5137 * errout.ads (Errout): Update documentation.
5138 * gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U.
5139 * hostparm.ads (Tag_Errors): Set to True.
5140 * opt.ads (Unique_Error_Tag): Document -gnatd_U.
5141
5142 2021-06-21 Eric Botcazou <ebotcazou@adacore.com>
5143
5144 * urealp.ads (UR_Write_To_JSON): Declare.
5145 * urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10
5146 specially and rewrite handling of numbers in other bases.
5147 (Decimal_Exponent_Lo): Likewise.
5148 (Normalize): Minor tweak.
5149 (UR_Write_To_JSON): New wrapper procedure around UR_Write.
5150 * repinfo.adb (List_Type_Info): When the output is to JSON, call
5151 UR_Write_To_JSON instead of UR_Write.
5152
5153 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5154
5155 * sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown
5156 offset for components within multidimensional arrays; remove
5157 redundant parens.
5158
5159 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5160
5161 * sem_util.adb (Find_Overlaid_Entity): Ignore references to
5162 components and discriminants.
5163
5164 2021-06-21 Doug Rupp <rupp@adacore.com>
5165
5166 * Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add
5167 $(TRASYM_DWARF_UNIX_PAIRS).
5168 [EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS)
5169
5170 2021-06-21 Gary Dismukes <dismukes@adacore.com>
5171
5172 * exp_util.adb (Expand_Sliding_Conversion): Only perform
5173 expansion when Expander_Active is True. Add a comment about this
5174 and refine existing comment regarding string literals.
5175
5176 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5177
5178 * sem_util.adb (Denotes_Same_Object): Simplify handling of
5179 slices.
5180
5181 2021-06-21 Piotr Trojanek <trojanek@adacore.com>
5182
5183 * sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming;
5184 simplify; adapt callers.
5185
5186 2021-06-21 Frederic Konrad <konrad@adacore.com>
5187
5188 * Makefile.rtl: Compiles both static and dynamic libgnat for
5189 powerpc64-wrs-vxworks7r2.
5190
5191 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5192
5193 * sem_ch3.adb (Constrain_Array): Add error checking for
5194 fixed-lower-bound and constrained index ranges applied
5195 inappropriately on subtypes of unconstrained and
5196 fixed-lower-bound array types.
5197 (Constrain_Index): Correct and refine comment related to
5198 fixed-lower-bound index ranges.
5199
5200 2021-06-18 Bob Duff <duff@adacore.com>
5201
5202 * gen_il-gen.adb: Improve comments.
5203 * snames.ads-tmpl (Convention_Id): Remove "-- Plenty of space
5204 for expansion", because that's irrelevant now that we are no
5205 longer laying out node fields by hand.
5206
5207 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5208
5209 * sem_util.adb (Denotes_Same_Object): Handle character literals
5210 just like integer literals.
5211
5212 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5213
5214 * sem_util.adb (Denotes_Same_Object): Explicitly test for node
5215 kinds being the same; deal with renamings one-by-one; adjust
5216 numbers in references to the Ada RM.
5217
5218 2021-06-18 Bob Duff <duff@adacore.com>
5219
5220 * sprint.adb (Write_Source_Line): Check for EOF in
5221 Line_Terminator loop. Note that when a source file is read in,
5222 an EOF character is added to the end.
5223
5224 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5225
5226 * sem_aux.adb (Package_Specification): Add assertions to confirm
5227 the kind of the of parameter and returned node.
5228 * sem_ch12.adb (Remove_Parent): Reorder conditions; this change
5229 appears to be semantically neutral, but is enough to avoid the
5230 problematic call to Package_Specification.
5231 * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop
5232 with a call to Package_Specification.
5233
5234 2021-06-18 Bob Duff <duff@adacore.com>
5235
5236 * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use
5237 Enum_Type'Object_Size.
5238
5239 2021-06-18 Olivier Hainque <hainque@adacore.com>
5240
5241 * sigtramp-vxworks-target.inc (__aarch64__): Sync
5242 REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
5243 In CFI_COMMON_REGS, leave r18 alone, VxWorks private.
5244
5245 2021-06-18 Javier Miranda <miranda@adacore.com>
5246
5247 * contracts.adb (Process_Spec_Postconditions): Add missing
5248 support for aliased subprograms and handle wrappers of
5249 class-wide pre/post conditions.
5250 (Process_Inherited_Preconditions): Add missing support for
5251 aliased subprograms and handle wrappers of class-wide pre/post
5252 conditions.
5253 * einfo.ads (Class_Wide_Clone): Fix typo.
5254 (Is_Class_Wide_Clone): Removed since it is not referenced.
5255 (Is_Wrapper): Documenting new flag.
5256 (LSP_Subprogram): Documenting new attribute.
5257 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate
5258 wrapper as Is_Wrapper and adjust call to
5259 Override_Dispatching_Operation.
5260 * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in
5261 documentation.
5262 (Check_Inherited_Conditions): Handle LSP wrappers; ensure
5263 correct decoration of LSP wrappers.
5264 * gen_il-fields.ads (Is_Class_Wide_Clone): Removed.
5265 (Is_Wrapper): Added.
5266 (LSP_Subprogram): Added.
5267 * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed.
5268 (Is_Wrapper): Added.
5269 (LSP_Subprogram): Added.
5270 * gen_il-internals.adb (Image): Adding uppercase image of
5271 LSP_Subprogram.
5272 * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP
5273 wrappers.
5274 * sem_disp.ads (Override_Dispatching_Operation): Remove
5275 parameter Is_Wrapper; no longer needed.
5276 * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion.
5277 (Override_Dispatching_Operation): Remove parameter Is_Wrapper;
5278 no longer needed.
5279 * treepr.adb (Image): Adding uppercase image of LSP_Subprogram.
5280
5281 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5282
5283 * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type
5284 of the name of a "for of" loop is frozen.
5285 * exp_disp.adb (Check_Premature_Freezing): Complete condition to
5286 take into account a private type completed by another private
5287 type now that the freezing rule are better implemented.
5288 * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an
5289 early freeze on types if not in the proper scope. Special case
5290 expression functions that requires access to the dispatch table.
5291 (Should_Freeze_Type): New.
5292 * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert
5293 failure in case of an invalid tree (previous errors detected).
5294 * sem_res.adb (Resolve): Remove kludge related to entities
5295 causing incorrect premature freezing.
5296 * sem_util.adb (Ensure_Minimum_Decoration): Add protection
5297 against non base types.
5298
5299 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5300
5301 * sem_ch3.adb (Constrain_Index): Set the High_Bound of a
5302 fixed-lower-bound subtype's range to T (the subtype of the FLB
5303 index being constrained) rather than Base_Type (T).
5304
5305 2021-06-18 Bob Duff <duff@adacore.com>
5306
5307 * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb,
5308 einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb,
5309 libgnat/a-textio.ads, libgnat/g-memdum.ads,
5310 libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb,
5311 osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb,
5312 sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl,
5313 targparm.ads, types.ads: Remove AAMP-specific code.
5314 * switch.ads: Minor reformatting.
5315 * gen_il-fields.ads, gen_il-gen.adb,
5316 gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb,
5317 einfo-utils.ads: Package Types now contains "type Float_Rep_Kind
5318 is (IEEE_Binary);", which used to also have an enumeral AAMP.
5319 Gen_IL can't handle fields of this type, which would be zero
5320 sized. Therefore, we move the Float_Rep field into Einfo.Utils
5321 as a synthesized attribute. (We do not delete the field
5322 altogether, in case we want new floating-point representations
5323 in the future.)
5324 * doc/gnat_rm/implementation_defined_pragmas.rst,
5325 doc/gnat_rm/implementation_defined_aspects.rst,
5326 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
5327 doc/gnat_ugn/the_gnat_compilation_model.rst: Remove
5328 AAMP-specific documentation.
5329 * gnat_rm.texi, gnat_ugn.texi: Regenerate.
5330
5331 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5332
5333 * exp_util.adb (Expand_Sliding_Conversion): Move test of
5334 Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string
5335 literals from sliding expansion.
5336
5337 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5338
5339 * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions
5340 related to Ada_Version.
5341
5342 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5343
5344 * sem_util.adb (Address_Value): Simplify.
5345
5346 2021-06-18 Bob Duff <duff@adacore.com>
5347
5348 * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value
5349 instead of Intval, because the latter only exists in literals.
5350 Remove Set_Etype on E1; setting the type is done elsewhere.
5351
5352 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5353
5354 * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of
5355 both formal parameters; refactor a complex detection of
5356 by-reference types.
5357
5358 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5359
5360 * gnatcmd.adb: Fix handling of check and test commands.
5361
5362 2021-06-18 Gary Dismukes <dismukes@adacore.com>
5363
5364 * doc/gnat_rm/implementation_defined_pragmas.rst: Add
5365 documentation for the array fixed-lower-bound feature.
5366 * gnat_rm.texi: Regenerate.
5367
5368 2021-06-18 Bob Duff <duff@adacore.com>
5369
5370 * debug.adb: Document switch.
5371 * exp_aggr.adb: If -gnatd_g was given, then do not bump the
5372 limit to 500_000.
5373
5374 2021-06-18 Bob Duff <duff@adacore.com>
5375
5376 * sem_util.ads, sem_util.adb (Has_Access_Values): Remove
5377 Include_Internal parameter that was added in previous change.
5378 * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==>
5379 Formal_Kind change made previously. Check Is_Private_Type to
5380 avoid warnings on private types. Misc cleanup.
5381 * sem_attr.adb (Attribute_Has_Access_Values): Remove
5382 Include_Internal parameter.
5383
5384 2021-06-18 Piotr Trojanek <trojanek@adacore.com>
5385
5386 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch
5387 for overlapping actuals in prefix notation.
5388
5389 2021-06-18 Eric Botcazou <ebotcazou@adacore.com>
5390
5391 * sem_prag.adb (Process_Import_Or_Interface): Do not
5392 artificially record a possible modification for a constant.
5393
5394 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5395
5396 * exp_ch6.adb (Expand_Call_Helper): Code cleanups.
5397
5398 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5399
5400 * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads,
5401 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb,
5402 sem_util.adb, sem_util.ads, sinfo.ads: Update comments.
5403
5404 2021-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
5405
5406 * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to
5407 True if -fdiagnostics-format=json option is found.
5408 * back_end.ads (Scan_Compiler_Arguments): Mention
5409 Opt.JSON_Output.
5410 * errout.adb (Output_JSON_Message): New procedure.
5411 (Output_Messages): If Opt.JSON_Output is True, print messages
5412 with new Output_JSON_Message procedure.
5413 * opt.ads: Declare JSON_Output variable.
5414 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
5415 Mention new -fdiagnostics-format option.
5416 * gnat_ugn.texi: Regenerate.
5417
5418 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5419
5420 * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion
5421 mismatch check when Relaxed_RM_Semantics is set.
5422
5423 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5424
5425 * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb,
5426 switch-c.adb (Extensions_Allowed): Replace by a function.
5427 (Ada_Version_Type): Add new value Ada_With_Extensions, to
5428 replace setting of Extensions_Allowed. Update setting of
5429 Extensions_Allowed.
5430
5431 2021-06-18 Arnaud Charlet <charlet@adacore.com>
5432
5433 * bindgen.adb (Gen_Output_File_Ada): Generate a new constant
5434 GNAT_Version_Address.
5435 * libgnat/g-comver.adb (GNAT_Version_Address): New;
5436 (GNAT_Version): Use GNAT_Version_Address to disable LTO warning.
5437
5438 2021-06-18 Javier Miranda <miranda@adacore.com>
5439
5440 * einfo.ads (Is_Ada_2022_Only): Adding documentation.
5441 * gen_il-fields.ads (Is_Ada_2022_Only): New flag.
5442 * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag.
5443 * itypes.adb (Create_Null_Excluding_Itype): Inherit
5444 Is_Ada_2022_Only.
5445 * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error
5446 on Ada 2022 only subprograms that require overriding if we are
5447 not in Ada 2022 mode.
5448 (Derive_Subprogram): Inherit Is_Ada_2022_Only.
5449 * sem_ch6.adb (Check_Overriding_Indicator): Inherit
5450 Is_Ada_2022_Only.
5451 (New_Overloaded_Entity): Inherit Is_Ada_2022_Only.
5452 * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit
5453 Is_Ada_2022_Only.
5454 (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only.
5455 * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit
5456 Is_Ada_2022_Only.
5457 (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only.
5458 * sem_prag.adb (Analyze_Pragma): Allow form with argument for
5459 Ada 2022.
5460 * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only
5461 * lib-xref.adb (Generate_Reference): Error on static and
5462 dispatching calls to Ada 2022 subprograms that require
5463 overriding if we are not in Ada 2022 mode; warn on other
5464 references to Ada 2022 entities when not in Ada 2022 mode.
5465 * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit
5466 Ada_2020_Only.
5467 * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022.
5468 * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022.
5469 * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022.
5470 * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022.
5471 * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022.
5472 (New_Vector): Adding pragma Ada_2022.
5473 (Insert_Vector): Adding pragma Ada_2022.
5474 (Prepend_Vector): Adding pragma Ada_2022.
5475 (Append_Vector): Adding pragma Ada_2022.
5476
5477 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5478
5479 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against
5480 no Primitive_Operations.
5481
5482 2021-06-17 Vadim Godunko <godunko@adacore.com>
5483
5484 * libgnat/a-strunb__shared.ads (Allocate): Additional parameter
5485 to provide additional amount of space to be allocated.
5486 * libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit
5487 length to Natural'Last when requested length is larger than it.
5488 (Allocate): Merge two slightly different implementations into
5489 one.
5490
5491 2021-06-17 Gary Dismukes <dismukes@adacore.com>
5492
5493 * checks.adb (Discrete_Range_Cond): For an index subtype that
5494 has a fixed lower bound, require that the range's lower bound
5495 match that of the subtype.
5496 (Selected_Range_Checks): Warn about the case where a static
5497 lower bound does not equal an index subtype's fixed lower bound.
5498 * einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype,
5499 Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag.
5500 * exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of
5501 an unconstrained array subtype with fixed lower bound, then
5502 Expand_Sliding_Conversion is applied to the operand.
5503 * exp_ch6.adb (Expand_Simple_Function_Return): If the result
5504 subtype is an unconstrained array subtype with fixed lower
5505 bound, then Expand_Sliding_Conversion is applied to the return
5506 object.
5507 * exp_util.ads (Expand_Sliding_Conversion): New procedure for
5508 applying a sliding subtype conversion to an array object of a
5509 fixed-lower-bound subtype when needed.
5510 * exp_util.adb: Add with_clause for Freeze.
5511 (Expand_Sliding_Conversion): New procedure for applying a
5512 sliding subtype conversion to an array object of a
5513 fixed-lower-bound subtype when needed. It traverses the indexes
5514 of the unconstrained array type/subtype to create a target
5515 constrained subtype and rewrites the array object to be a
5516 conversion to that subtype, when there's at least one index
5517 whose lower bound does not statically match the fixed-lower
5518 bound of the target subtype.
5519 * gen_il-fields.ads (type Opt_Field_Enum): Add literals
5520 Is_Fixed_Lower_Bound_Array_Subtype and
5521 Is_Fixed_Lower_Bound_Index_Subtype for new flags on type
5522 entities.
5523 * gen_il-gen-gen_entities.adb: Add calls to
5524 Create_Semantic_Field for the new fixed-lower-bound flags on
5525 type entities.
5526 * par-ch3.adb (P_Array_Type_Definition): Add handling for
5527 parsing of fixed-lower-bound index ranges in unconstrained array
5528 types. Report an error if such an index is encountered and GNAT
5529 language extensions are not enabled.
5530 (P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure
5531 for parsing unconstrained index ranges.
5532 (P_Index_Or_Discriminant_Constraint): Add handling for parsing
5533 of index constraints that specify ranges with fixed lower
5534 bounds. Report an error if such an index is encountered and GNAT
5535 language extensions are not enabled.
5536 * sem_ch3.adb (Analyze_Object_Declaration): If the object's
5537 nominal subtype is an array subtype with fixed lower bound, then
5538 Expand_Sliding_Conversion is applied to the object.
5539 (Array_Type_Declaration): Mark the array type and the subtypes
5540 of any indexes that specify a fixed lower bound as being
5541 fixed-lower-bound subtypes, and set the High_bound of the range
5542 of such an index to the upper bound of the named subtype.
5543 (Constrain_Array): For an array subtype with one or more index
5544 ranges specifying a fixed lower bound, set Is_Constrained to
5545 False and set the array subtype's
5546 Is_Fixed_Lower_Bound_Array_Subtype flag to True.
5547 (Constrain_Index): Mark the subtypes of an index that specifies
5548 a fixed lower bound as being a fixed-lower-bound index subtype,
5549 and set the High_bound of the range of such an index to the
5550 upper bound of the base type of the array type's corresponding
5551 index.
5552 * sem_res.adb (Resolve_Actuals): If a formal is of an
5553 unconstrained array subtype with fixed lower bound, then
5554 Expand_Sliding_Conversion is applied to the actual.
5555 * sem_util.adb (Build_Actual_Subtype): If the actual subtype
5556 corresponds to an unconstrained array subtype having any indexes
5557 with fixed lower bounds, then set the lower bounds of any such
5558 indexes of the actual subtype to the appropriate fixed lower
5559 bound of the formal subtype (rather than taking it from the
5560 formal itself).
5561 * sprint.adb (Sprint_Node_Actual, case N_Range): If a range's
5562 Etype has a fixed lower bound, then print "<>" rather than the
5563 High_Bound of the range.
5564
5565 2021-06-17 Bob Duff <duff@adacore.com>
5566
5567 * sem_util.adb, sem_util.ads (Has_Access_Values): New formal
5568 Include_Internal to indicate whether internal types should be
5569 included.
5570 * sem_warn.adb (Check_References): Change E_Out_Parameter to
5571 Formal_Kind, to match the comment about Spec_Entity. Pass
5572 Include_Internal => False to Has_Access_Values, so that we warn
5573 on types with access values that happen to be in internal types,
5574 such as Unbounded_String.
5575 * sem_attr.adb (Attribute_Has_Access_Values): Pass
5576 Include_Internal => True to Has_Access_Values, to preserve
5577 existing behavior.
5578 * libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to
5579 'in', to avoid warning enabled by the change to sem_warn.adb.
5580 * libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in
5581 out' to 'in', to avoid warning enabled by the change to
5582 sem_warn.adb.
5583
5584 2021-06-17 Steve Baird <baird@adacore.com>
5585
5586 * exp_ch5.adb
5587 (Expand_N_Case_Statement.Expand_General_Case_Statement): New
5588 subprogram.
5589 (Expand_N_Case_Statement): If extensions are allowed and the
5590 case selector is not of a discrete type, then call
5591 Expand_General_Case_Statement to generate expansion instead of
5592 flagging the non-discrete selector as an error.
5593 * sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued
5594 function for testing whether a given expression occurs as part
5595 of a case choice pattern.
5596 * sem_case.adb (Composite_Case_Ops): New package providing
5597 support routines for the new form of case statements. This
5598 includes a nested package, Composite_Case_Ops.Value_Sets, which
5599 encapsulates the "representative values" implementation of
5600 composite value sets.
5601 (Check_Choices.Check_Case_Pattern_Choices): New procedure for
5602 semantic checking of non-discrete case choices. This includes
5603 the checks pertaining to coverage and overlapping.
5604 (Check_Choices.Check_Composite_Case_Selector): New procedure for
5605 semantic checking of non-discrete case selectors.
5606 (Check_Choices): If extensions are allowed then a non-discrete
5607 selector type no longer implies that an error must have been
5608 flagged earlier. Instead of simply returning, call
5609 Check_Composite_Case_Selector and Check_Case_Pattern_Choices.
5610 (Is_Case_Choice_Pattern): Body of new function declared in
5611 sem_case.ads .
5612 * sem_ch5.adb (Analyze_Case_Statement): If extensions are
5613 allowed, then we can't use RM 5.4's "The selecting_expression is
5614 expected to be of any discrete type" name resolution rule.
5615 Handle the case where the type of the selecting expression is
5616 not discrete, as well as the new ambiguous-name-resolution error
5617 cases made possible by this change.
5618 * sem_res.adb (Resolve_Entity_Name): It is ok to treat the name
5619 of a type or subtype as an expression if it is part of a case
5620 choice pattern, as in "(Field1 => Positive, Field2 => <>)".
5621 * exp_aggr.adb (Expand_Record_Aggregate): Do not expand case
5622 choice aggregates.
5623 * gen_il-fields.ads: Define two new node attributes,
5624 Binding_Chars and Multidefined_Bindings.
5625 * gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings
5626 attribute is Boolean-valued and may be set on
5627 N_Case_Statement_Alternative nodes. The new Binding_Chars
5628 attribute is Name_Id-valued and may be set on
5629 N_Component_Association nodes.
5630 * par-ch4.adb (P_Record_Or_Array_Component_Association): When
5631 parsing a component association, check for both new syntax forms
5632 used to specify a bound value in a case-choice aggregate. In
5633 the case of a box value, an identifier may occur within the box,
5634 as in "Foo => <Abc>" instead of "Foo => <>". In the more general
5635 case, an expression (or a box) may be followed by "is
5636 <identifier>", as in
5637 "Foo => Bar is Abc" instead of just "Foo => Bar".
5638 * sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box
5639 component values in a case-choice aggregate.
5640 * sinfo.ads: Provide comments for the new attributes added in
5641 gen_il-fields.ads.
5642 * doc/gnat_rm/implementation_defined_pragmas.rst: Describe this
5643 new feature in documentation for pragma Extensions_Allowed.
5644 * gnat_rm.texi: Regenerate.
5645
5646 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5647
5648 * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action):
5649 Do not abandon processing on a nested N_Expression_With_Actions
5650 or N_Loop_Statement, otherwise we may miss some transient
5651 declarations.
5652
5653 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5654
5655 * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate
5656 node.
5657
5658 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5659
5660 * sem_util.adb (Is_Valid_Renaming): Check not only indexed
5661 components, but slices too.
5662
5663 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5664
5665 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check
5666 No_Wide_Characters restriction after rejecting illegal parent
5667 types.
5668 (Derived_Type_Declaration): Likewise.
5669 (Find_Type_Of_Subtype_Indic): Remove check for
5670 No_Wide_Characters restriction, which was done too early.
5671
5672 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5673
5674 * sem_util.adb (Is_Valid_Renaming): Body moved from its nested
5675 routine.
5676
5677 2021-06-17 Gary Dismukes <dismukes@adacore.com>
5678
5679 * sem_ch12.adb (Instantiate_Type): If the actual type for an
5680 incomplete formal type is also incomplete, but has a Full_View,
5681 use the Full_View of the actual type rather than the incomplete
5682 view.
5683
5684 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5685
5686 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
5687 (-gnatw.I): Remove double period at the end of sentence.
5688 * gnat_ugn.texi: Regenerate.
5689
5690 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5691
5692 * sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with
5693 the range of a slice object, not its type.
5694
5695 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5696
5697 * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style;
5698 refactor repeated calls to Nkind; remove early RETURN.
5699
5700 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5701
5702 * sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of
5703 generic types, but keep examining other parameters.
5704
5705 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5706
5707 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code.
5708
5709 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5710
5711 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated
5712 code.
5713
5714 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5715
5716 * checks.adb (Overlap_Check): Replace Set_Casing with
5717 Adjust_Name_Case and adapt surrounding code as needed.
5718
5719 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5720
5721 * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move...
5722 * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here.
5723
5724 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5725
5726 * uintp.ads, uintp.adb (UI_To_Unsigned_64): New.
5727
5728 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5729
5730 * sem_prag.adb (Get_Overflow_Mode): Reword error message.
5731 * switch-c.adb (Get_Overflow_Mode): Likewise.
5732
5733 2021-06-17 Richard Kenner <kenner@adacore.com>
5734
5735 * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle
5736 Others_Discrete_Choices in N_Others_Choice.
5737
5738 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5739
5740 * atree.adb: Remove redundant comment with spec.
5741 * sem_warn.adb: Fix typo in comment.
5742
5743 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5744
5745 * atree.adb: Do not suppress checks.
5746
5747 2021-06-17 Justin Squirek <squirek@adacore.com>
5748
5749 * exp_ch3.adb (Check_Missing_Others): Add comment.
5750 (Build_Initialization_Call): Remove inaccurate accessibility
5751 comment.
5752 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove
5753 test for Ada2012.
5754 (Analyze_Package_Instantiation): Remove speculative comment.
5755 (Inline_Instance_Body): Add comments for loops.
5756 (Build_Subprogram_Renaming): Remove comment about fix being
5757 partial and "ugly."
5758 (Instantiate_Subprogram_Body): Remove comment referencing DEC
5759 related internal issue.
5760 (Subtypes_Match): Add comment and simplify anonymous access
5761 test.
5762 (Is_Global): Add test for when E is an expanded name, and
5763 calculate the scope accordingly.
5764 * sem_ch6.adb (Analyze_Function_Return): Update comment
5765 regarding accessibility, and add check for
5766 Warn_On_Ada_2012_Compatibility.
5767 (Mask_Type_Refs): Add comments.
5768 (Analyze_Subprogram_Declaration): Remove mysterious suppression
5769 of elaboration checks.
5770 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic
5771 value.
5772 * sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment.
5773 (Note_Redundant_Use): Fix calls to Find_First_Use to be
5774 Find_Most_Prev.
5775 (Get_Object_Name): Modify error message to be more descriptive.
5776 (Known_But_Visible): Remove mysterious special case for
5777 GNAT_Mode.
5778 (Find_First_Use): Removed.
5779 (Find_Most_Prev): Renamed from Find_First_Use.
5780 * sem_prag.adb (Check_Static_Constraint): Add comments to
5781 routine.
5782
5783 2021-06-17 Bob Duff <duff@adacore.com>
5784
5785 * treepr.adb (Print_Node): Display the Entity or Associated_Node
5786 fields if appropriate.
5787 * sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These
5788 are no longer needed.
5789
5790 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5791
5792 * checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to
5793 Is_Object_Reference with calls to Is_Name_Reference; remove
5794 asymmetric condition that only detected an aggregate as the
5795 first actual (aggregate objects were just a special case of an
5796 object reference that was not a name).
5797
5798 2021-06-17 Bob Duff <duff@adacore.com>
5799
5800 * gen_il-gen.adb, gen_il-internals.ads: Generate field
5801 enumeration literals with "F_" prefix. Update all generated
5802 references accordingly.
5803 * atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb,
5804 sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb,
5805 sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the
5806 field enumeration literals.
5807
5808 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5809
5810 * libgnat/i-c.ads, libgnat/i-cexten.ads,
5811 libgnat/i-cexten__128.ads: bool renamed C_bool.
5812
5813 2021-06-17 Piotr Trojanek <trojanek@adacore.com>
5814
5815 * sem_ch4.adb (Analyze_Allocator): Reject allocators in
5816 restricted contexts.
5817
5818 2021-06-17 Arnaud Charlet <charlet@adacore.com>
5819
5820 * gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot
5821 be found.
5822
5823 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5824
5825 * sem_util.adb (Is_Volatile_Function): Follow the exact wording
5826 of SPARK (regarding volatile functions) and Ada (regarding
5827 protected functions).
5828
5829 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5830
5831 * sem_util.adb (Is_OK_Volatile_Context): All references to
5832 volatile objects are legal in preanalysis.
5833 (Within_Volatile_Function): Previously it was wrongly called on
5834 Empty entities; now it is only called on E_Return_Statement,
5835 which allow the body to be greatly simplified.
5836
5837 2021-06-16 Yannick Moy <moy@adacore.com>
5838
5839 * sem_res.adb (Set_Slice_Subtype): Revert special-case
5840 introduced previously, which is not needed as Itypes created for
5841 slices are precisely always used.
5842
5843 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5844
5845 * urealp.adb (Scale): Change first paramter to Uint and adjust.
5846 (Equivalent_Decimal_Exponent): Pass U.Den directly to Scale.
5847 * libgnat/s-exponr.adb (Negative): Rename to...
5848 (Safe_Negative): ...this and change its lower bound.
5849 (Exponr): Adjust to above renaming and deal with Integer'First.
5850
5851 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5852
5853 * sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
5854 allocators within restricted contexts and not just entity names.
5855 (Resolve_Actuals): Remove duplicated code for detecting
5856 restricted contexts; it is now exclusively done in
5857 Is_OK_Volatile_Context.
5858 (Resolve_Entity_Name): Adapt to new parameter of
5859 Is_OK_Volatile_Context.
5860 * sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
5861 handle contexts both inside and outside of subprogram call
5862 actual parameters.
5863 (Within_Subprogram_Call): Remove; now handled by
5864 Is_OK_Volatile_Context itself and its parameter.
5865
5866 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5867
5868 * sinput.adb (Sloc_Range): Refactor several repeated calls to
5869 Sloc and two comparisons with No_Location.
5870
5871 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5872
5873 * checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending
5874 on the parameter passing mechanism. Grammar adjustment ("has"
5875 => "have").
5876 (Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment.
5877
5878 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5879
5880 * exp_ch3.adb (Build_Slice_Assignment): Remove unused
5881 initialization.
5882
5883 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5884
5885 * restrict.adb, sem_attr.adb, types.ads: Fix typos in
5886 "occuring"; refill comment as necessary.
5887
5888 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5889
5890 * sem_util.ads (Is_Actual_Parameter): Update comment.
5891 * sem_util.adb (Is_Actual_Parameter): Also detect entry parameters.
5892
5893 2021-06-16 Arnaud Charlet <charlet@adacore.com>
5894
5895 * rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb,
5896 exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related
5897 entities to the expander directly.
5898
5899 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5900
5901 * sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace
5902 cleanup.
5903 (Is_Attribute_Expression): Prevent AST climbing from going to
5904 the root of the compilation unit.
5905
5906 2021-06-16 Steve Baird <baird@adacore.com>
5907
5908 * doc/gnat_rm/implementation_advice.rst: Add a section for RM
5909 A.18 .
5910 * gnat_rm.texi: Regenerate.
5911
5912 2021-06-16 Justin Squirek <squirek@adacore.com>
5913
5914 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add
5915 check for the mixing of entries.
5916
5917 2021-06-16 Justin Squirek <squirek@adacore.com>
5918
5919 * sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions
5920 in Priority aspect arguments for restriction Static_Priorities.
5921
5922 2021-06-16 Justin Squirek <squirek@adacore.com>
5923
5924 * sem_util.adb (Accessibility_Level): Take into account
5925 renamings of loop parameters.
5926
5927 2021-06-16 Matthieu Eyraud <eyraud@adacore.com>
5928
5929 * par_sco.adb (Set_Statement_Entry): Change sloc for dominance
5930 marker.
5931 (Traverse_One): Fix typo.
5932 (Output_Header): Fix comment.
5933
5934 2021-06-16 Richard Kenner <kenner@adacore.com>
5935
5936 * exp_unst.adb (Register_Subprogram): Don't look for aliases for
5937 subprograms that are generic. Reorder tests for efficiency.
5938
5939 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5940
5941 * sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of
5942 the parameter and use it to find its incomplete view, if any.
5943
5944 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5945
5946 * freeze.adb (Check_No_Parts_Violations): Return earlier if the
5947 type is elementary or does not come from source.
5948
5949 2021-06-16 Bob Duff <duff@adacore.com>
5950
5951 * ghost.adb: Add another special case where full analysis is
5952 needed. This bug is due to quirks in the way
5953 Mark_And_Set_Ghost_Assignment works (it happens very early,
5954 before name resolution is done).
5955
5956 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5957
5958 * sem_util.adb (Current_Entity_In_Scope): Reimplement.
5959
5960 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5961
5962 * sem_ch8.adb (End_Scope): Remove extra parens.
5963
5964 2021-06-16 Javier Miranda <miranda@adacore.com>
5965
5966 * exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation
5967 of actuals is side effects free (since the check duplicates
5968 actuals).
5969
5970 2021-06-16 Ed Schonberg <schonberg@adacore.com>
5971
5972 * sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules
5973 concerning the need for parentheses around Raise_Expressions in
5974 various contexts.
5975
5976 2021-06-16 Piotr Trojanek <trojanek@adacore.com>
5977
5978 * sem_ch13.adb (Validate_Unchecked_Conversion): Move detection
5979 of generic types before switching to their private views; fix
5980 style in using AND THEN.
5981
5982 2021-06-16 Arnaud Charlet <charlet@adacore.com>
5983
5984 * sem_ch3.adb (Analyze_Component_Declaration): Do not special
5985 case raise expressions.
5986
5987 2021-06-16 Sergey Rybin <rybin@adacore.com>
5988
5989 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
5990 Instead of referring to the formatting of the Ada examples in
5991 Ada RM add use the list of checks that are actually performed.
5992 * gnat_ugn.texi: Regenerate.
5993
5994 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
5995
5996 * initialize.c: Do not include vxWorks.h and fcntl.h from here.
5997 (__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
5998 (__gnat_initialize) [init_float]: Delete.
5999 (__gnat_initialize) [VxWorks]: Likewise.
6000 (__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
6001 * runtime.h: Add comment about vxWorks.h include.
6002
6003 2021-06-16 Eric Botcazou <ebotcazou@adacore.com>
6004
6005 * libgnat/s-except.ads (ZCX_By_Default): Delete.
6006 (Require_Body): Likewise.
6007 * libgnat/s-except.adb: Replace body with pragma No_Body.
6008
6009 2021-06-15 Steve Baird <baird@adacore.com>
6010
6011 * exp_util.adb (Kill_Dead_Code): Generalize the existing
6012 handling of if statements to handle case statements similarly.
6013
6014 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6015
6016 * raise.h (_gnat_builtin_longjmp): Delete.
6017 (set_gnat_exit_status): Likewise.
6018
6019 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6020
6021 * exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component
6022 declaration just like full type and subtype declarations.
6023
6024 2021-06-15 Yannick Moy <moy@adacore.com>
6025
6026 * errout.adb (First_And_Last_Node): Also apply to arbitrary late
6027 declarations, not only subprogram specs.
6028
6029 2021-06-15 Bob Duff <duff@adacore.com>
6030
6031 * sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to
6032 Reinit_Field_To_Zero are for the correct Ekinds.
6033
6034 2021-06-15 Bob Duff <duff@adacore.com>
6035
6036 * aspects.ads (No_Task_Parts): New aspect.
6037 * snames.ads-tmpl: Add the aspect name.
6038 * exp_ch6.adb (Might_Have_Tasks): Return False if this is a
6039 class-wide type whose specific type has No_Task_Parts.
6040 * freeze.adb (Check_No_Parts_Violations): This is an adaptation
6041 of the procedure formerly known as
6042 Check_No_Controlled_Parts_Violations, which now supports both
6043 No_Controlled_Parts and No_Task_Parts. It takes a parameter
6044 indicating which aspect is being checked.
6045 (Freeze_Entity): Call Check_No_Parts_Violations for both
6046 aspects.
6047 * sem_ch13.adb (Analyze_Aspect_Specifications): The code for
6048 Aspect_No_Controlled_Parts already works as is with
6049 Aspect_No_Task_Parts.
6050 * libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
6051 iterator iterfaces.
6052 * doc/gnat_rm/implementation_defined_aspects.rst: Add
6053 documentation for the No_Task_Parts aspect.
6054 * gnat_rm.texi: Regenerate.
6055
6056 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6057
6058 * exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix
6059 handling of scopes for subprogram calls.
6060
6061 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6062
6063 * sem_prag.adb: Fix typos in comments related to access types.
6064 * sem_util.adb (Is_Access_Variable): Stronger condition.
6065
6066 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6067
6068 * Make-generated.in: Add rule to copy runtime files needed
6069 during stage1.
6070 * raise.c: Remove obsolete symbols used during bootstrap.
6071 * gcc-interface/Make-lang.in: Do not use libgnat sources during
6072 stage1.
6073 (GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
6074 part and the part only used outside of stage1.
6075 (ADA_GENERATED_FILES): Add runtime files needed during bootstrap
6076 when recent APIs are needed.
6077 (ada/b_gnatb.adb): Remove prerequisite.
6078 * gcc-interface/system.ads: Remove obsolete entries.
6079
6080 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6081
6082 * raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION.
6083
6084 2021-06-15 Ed Schonberg <schonberg@adacore.com>
6085
6086 * sem_util.adb (Is_Confirming): Separate the handling of
6087 Implicit_Dereference, for which no pragma is generated but which
6088 is already checked for legality in Sem_Ch13, including renamed
6089 discriminants in a derived type.
6090 (Is_Confirming, Same_Name): For expanded names, only check
6091 matching of selector, because prefix may correspond to original
6092 and derived types with different names and/or scopes. Semantic
6093 checks on aspect expression have already verified its legality.
6094 Add comments regarding possible gaps in RM description of the
6095 feature.
6096
6097 2021-06-15 Gary Dismukes <dismukes@adacore.com>
6098
6099 * freeze.adb (Freeze_Subprogram): Don't propagate conventions
6100 Intrinsic or Entry to anonymous access-to-subprogram types
6101 associated with subprograms having those conventions. Update
6102 related comment.
6103 * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove
6104 special-case warning code for cases where a called subprogram
6105 has convention Intrinsic as well as its formal's type (the
6106 expected type for the Access attribute), since this case can no
6107 longer occur.
6108
6109 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6110
6111 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix
6112 typos.
6113
6114 2021-06-15 Bob Duff <duff@adacore.com>
6115
6116 * einfo-utils.adb (Known_Component_Size,
6117 Known_Static_Component_Size, Unknown_Component_Size): Use
6118 Implementation_Base_Type instead of Base_Type.
6119
6120 2021-06-15 Bob Duff <duff@adacore.com>
6121
6122 * gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add
6123 Interface_Name field.
6124
6125 2021-06-15 Bob Duff <duff@adacore.com>
6126
6127 * sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic
6128 expression in predefined unit with pragma Preelaborate.
6129
6130 2021-06-15 Yannick Moy <moy@adacore.com>
6131
6132 * doc/gnat_rm/intrinsic_subprograms.rst: More details on shift
6133 operations for signed types. Also add the missing Import and
6134 Convention on the example.
6135 * gnat_rm.texi: Regenerate.
6136
6137 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6138
6139 * raise-gcc.c: Include <cstdarg> instead of <stdarg.h> in C++.
6140 Include <stdbool.h> and unconditionally <stdlib.h> in C.
6141
6142 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6143
6144 * sem_util.ads (Find_Overlaid_Entity): Simplify comment for
6145 spec.
6146 * sem_util.adb (Find_Overlaid_Entity): Remove defensive code
6147 from body.
6148
6149 2021-06-15 Eric Botcazou <ebotcazou@adacore.com>
6150
6151 * argv.c: Add include of <stdlib.h> for the runtime.
6152 (gnat_argv): Change type to char ** and initialize to NULL.
6153 (gnat_envp): Likewise.
6154 * argv-lynxos178-raven-cert.c: Add include of <stdlib.h>.
6155 (gnat_argv): Change type to char ** and initialize to NULL.
6156 (gnat_envp): Likewise.
6157
6158 2021-06-15 Bob Duff <duff@adacore.com>
6159
6160 * gen_il-gen.adb (Setter_Needs_Parent): Add missing
6161 Then_Actions. Fix self-contradictory comment.
6162 * exp_util.adb (Insert_Actions): Minor comment improvments.
6163
6164 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6165
6166 * sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable):
6167 Add support for folding more "and"/"or" expressions.
6168 * exp_util.adb (Side_Effect_Free): Fix handling of membership
6169 tests.
6170
6171 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6172
6173 * sem_res.adb (Resolve_Actual): Replace repeated calls to
6174 "Etype (F)" with references to "F_Typ", which keeps the results
6175 of exactly that call.
6176
6177 2021-06-15 Bob Duff <duff@adacore.com>
6178
6179 * gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in
6180 computations in Last_Bit when Offset = 'Last.
6181 (Choose_Offset): Give a better error message when we run out of
6182 fields. In particular, point out that
6183 Gen_IL.Internals.Bit_Offset'Last needs to be increased.
6184
6185 2021-06-15 Bob Duff <duff@adacore.com>
6186
6187 * atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb,
6188 gen_il.ads, gen_il-gen-gen_entities.adb,
6189 gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb,
6190 sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up
6191 ??? comments and other comments.
6192 * atree.adb: Clean up ??? comments and other comments.
6193 (Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)"
6194 should be "Off_0 (N) <= Off_L (N)".
6195 * gen_il-gen.adb, gen_il-gen.ads: Clean up ???
6196 comments and other comments. Add support for getter-specific
6197 and setter-specific preconditions. Detect the error of putting
6198 a field in the wrong subrange. Misc cleanup.
6199 (Node_Field vs. Entity_Field): Clean up Nmake. Improve
6200 comments.
6201 * gen_il-utils.ads: Misc cleanup. Move...
6202 * gen_il-internals.ads: ... here.
6203 * gen_il-utils.adb: Misc cleanup. Move...
6204 * gen_il-internals.adb: ... here.
6205 * gen_il-fields.ads: Move Was_Default_Init_Box_Association,
6206 which was in the wrong subrange. Add comments. Misc cleanup.
6207 * gen_il-types.ads: Add Named_Access_Kind.
6208 * sinfo-cn.adb: Clean up ??? comments and other comments.
6209 Remove redundant assertions.
6210 * einfo.ads, sinfo.ads: Clean up ??? comments and other
6211 comments. Remove all the comments indicating field offsets.
6212 These are obsolete now that Gen_IL computes the offsets
6213 automatically.
6214
6215 2021-06-15 Arnaud Charlet <charlet@adacore.com>
6216
6217 * einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb,
6218 exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb,
6219 exp_put_image.adb, fe.h, impunit.adb, impunit.ads,
6220 libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads,
6221 par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
6222 par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb,
6223 sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb,
6224 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
6225 sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
6226 sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads,
6227 sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb,
6228 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
6229 doc/gnat_rm/implementation_defined_aspects.rst,
6230 gcc-interface/trans.c: Update all references to Ada 2020 to Ada
6231 2022. Rename pragma Ada_2020 to Ada_2022. Update documentation
6232 accordingly.
6233 * gnat_ugn.texi, gnat_rm.texi: Regenerate.
6234
6235 2021-06-15 Steve Baird <baird@adacore.com>
6236
6237 * sem_util.adb (Gather_Components): Factor the test that was
6238 already being used to govern emitting a pre-Ada_2020 error
6239 message into an expression function,
6240 OK_Scope_For_Discrim_Value_Error_Messages. Call that new
6241 function in two places: the point where the same test was being
6242 performed previously, and in governing emission of a newer
6243 Ada_2020 error message. In both cases, the out-mode parameter
6244 Gather_Components.Report_Errors is set to True even if no error
6245 messages are generated within Gather_Components.
6246 * sem_util.ads: Correct a comment.
6247
6248 2021-06-15 Richard Kenner <kenner@adacore.com>
6249
6250 * sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type):
6251 Reinitialize Stored_Constraint when needed.
6252 (Set_Modular_Size): Likewise.
6253 * atree.adb: (Check_Vanishing_Fields): Add node id to debugging
6254 information.
6255
6256 2021-06-15 Bob Duff <duff@adacore.com>
6257
6258 * sem_util.adb (Propagate_Invariant_Attributes): Call
6259 Set_Has_Own_Invariants on the base type, because these are
6260 Base_Type_Only. The problem is that the base type of a type is
6261 indeed a base type when Set_Base_Type is called, but then the
6262 type is mutated into a subtype in rare cases.
6263 * atree.ads, atree.adb (Is_Entity): Export. Correct subtype of
6264 parameter in body.
6265 * gen_il-gen.adb: Improve getters so that "Pre => ..." can refer
6266 to the value of the field. Put Warnings (Off) on some with
6267 clauses that are not currently used, but might be used by such
6268 Pre's.
6269
6270 2021-06-15 Piotr Trojanek <trojanek@adacore.com>
6271
6272 * sem_ch3.adb (Access_Type_Declaration): Add comments to explain
6273 the ordering of Mutate_Kind and Set_Directly_Designated_Type;
6274 remove temporary setting of Ekind to E_Access_Type for building
6275 _master objects, since now the Ekind is already set to its final
6276 value. Move repeated code into Setup_Access_Type routine and use
6277 it so that Process_Subtype is executed before mutating the kind
6278 of the type entity.
6279 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
6280 Directly_Designated_Type from E_Void, E_Private_Record,
6281 E_Limited_Private_Type and Incomplete_Kind; now it only belongs
6282 to Access_Kind entities.
6283 * sem_util.adb: Minor reformatting.
6284
6285 2021-06-03 Eric Botcazou <ebotcazou@adacore.com>
6286
6287 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add PAT
6288 local constant and use it throughout. If it is set, use a ref-all
6289 pointer type for the pointer-to-array field of the fat pointer type.
6290 <E_Array_Subtype>: Add PAT local constant and use it throughout.
6291
6292 2021-05-26 Jakub Jelinek <jakub@redhat.com>
6293
6294 * init.c (__gnat_error_handler): Remove register keyword.
6295
6296 2021-05-25 Martin Liska <mliska@suse.cz>
6297
6298 * doc/share/conf.py: Fix Sphinx 4.0.x error.
6299
6300 2021-05-21 Piotr Trojanek <trojanek@adacore.com>
6301
6302 * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion.
6303
6304 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6305
6306 * gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment.
6307 * gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR
6308 if the offset of the field has overflowed.
6309 (build_component_ref): Add gigi checking assertion that the reference
6310 has been built and replace the discriminant check by a Program_Error.
6311
6312 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6313
6314 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Named_Integer>: Do
6315 not pass default value in call to create_var_decl.
6316 <E_Variable>: Likewise.
6317 <E_Record_Subtype>: Both pass true for const_flag and false for
6318 const_decl_allowed_p in call to create_var_decl.
6319 Small tweaks in the generic record type case.
6320 (elaborate_expression): Rename need_debug into need_for_debug and
6321 adjust throughout.
6322 (elaborate_expression_1): Likewise. Pass Needs_Debug_Info instead
6323 of need_for_debug in call to create_var_decl.
6324 (elaborate_expression_2): Likewise.
6325 * gcc-interface/utils.c (maybe_pad_type): Pass false for
6326 const_decl_allowed_p in call to create_var_decl.
6327
6328 2021-05-21 Ghjuvan Lacambre <lacambre@adacore.com>
6329
6330 * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??.
6331 (gnat_to_gnu_param): Likewise.
6332 (gnat_to_gnu_subprog_type): Likewise.
6333 (warn_on_field_placement): Likewise.
6334 (intrin_arglists_compatible_p): Likewise.
6335 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
6336 (gnat_to_gnu): Likewise.
6337 (validate_unchecked_conversion): Likewise.
6338 * gcc-interface/utils.c (maybe_pad_type): Likewise.
6339
6340 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6341
6342 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Process
6343 the implementation type of a packed type implemented specially.
6344
6345 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6346
6347 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate
6348 the Is_Pure flag into the "pure" attribute of GNU C.
6349
6350 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6351
6352 * gcc-interface/trans.c (Call_to_gnu): Restrict previous change
6353 to bitfields whose size is not equal to the type size.
6354 (gnat_to_gnu): Likewise.
6355
6356 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6357
6358 * gcc-interface/trans.c (Call_to_gnu): Minor tweaks.
6359 (gnat_to_gnu_external): Likewise.
6360 (Raise_Error_to_gnu): Return an empty statement list if there is a
6361 condition and it is always false.
6362 (gnat_to_gnu): Do not check for elaboration code a priori during the
6363 translation but a posteriori instead.
6364
6365 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6366
6367 * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
6368 Put a SLOC on the assignment from the return value to the return
6369 object in the copy-in/copy-out case.
6370
6371 2021-05-21 Eric Botcazou <ebotcazou@adacore.com>
6372
6373 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Replace
6374 CEIL_DIV_EXPR with EXACT_DIV_EXPR.
6375 * gcc-interface/misc.c (gnat_type_max_size): Likewise.
6376 * gcc-interface/utils.c (maybe_pad_type): Likewise.
6377 (finish_record_type): Likewise. And always compute the unit size.
6378
6379 2021-05-14 Martin Liska <mliska@suse.cz>
6380
6381 * doc/Makefile: Add gnat-style target.
6382 * doc/share/conf.py: Likewise.
6383 * doc/gnat-style.rst: New file.
6384
6385 2021-05-12 Bob Duff <duff@adacore.com>
6386
6387 PR ada/100564
6388 * atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id
6389 when the Nkind has not yet been set; call the other Zero_Slots
6390 that takes a range of slot offsets. Call the new Mutate_Kind
6391 that takes an Old_Size, for the same reason -- the size cannot
6392 be computed without the Nkind.
6393 (Mutate_Nkind): New function that allows specifying the Old_Size.
6394 (Size_In_Slots): Assert that the Nkind has proper (nonzero) value.
6395 * atree.ads: Minor reformatting.
6396
6397 2021-05-12 Martin Liska <mliska@suse.cz>
6398
6399 * doc/share/conf.py: Do not use binary mode.
6400 Do not use u' literals as Python3 uses unicode by default.
6401
6402 2021-05-11 Martin Liska <mliska@suse.cz>
6403
6404 * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins
6405 from COROUTINES.
6406 (BUILT_IN_UNLIKELY): Likewise.
6407
6408 2021-05-11 Eric Botcazou <ebotcazou@adacore.com>
6409
6410 * gnatvsn.adb (Version_String): Rename to...
6411 (C_Version_String): ...this.
6412 (Gnat_Version_String): Adjust to above renaming.
6413 * version.c : Fix formatting glitches.
6414
6415 2021-05-10 Martin Liska <mliska@suse.cz>
6416
6417 PR bootstrap/100506
6418 * Make-generated.in: Replace version.c with ada/version.c.
6419 * gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and
6420 GNATBIND_OBJS.
6421 * gcc-interface/Makefile.in: Replace version.c with ada/version.c.
6422 Add version.o to TOOLS_LIBS.
6423 * gnatvsn.adb: Replace version_string with gnat_version_string.
6424 * version.c: New file.
6425
6426 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6427
6428 * einfo-utils.ads (Classification Attributes): Add pragma Inline.
6429 (Synthesized Attribute Functions): Move pragma Inline around.
6430 (Type Representation Attribute Predicates): Likewise.
6431 (Field Initialization Routines): Likewise.
6432 (Miscellaneous Subprogram): Likewise.
6433
6434 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6435
6436 * atree.ads (Slot): Remove pragma Provide_Shift_Operators.
6437 (Shift_Left): New intrinsic function.
6438 (Shift_Right): Likewise.
6439 * atree.adb (Get_1_Bit_Val): Use Natural instead of Integer.
6440 (Get_2_Bit_Val): Likewise.
6441 (Get_4_Bit_Val): Likewise.
6442 (Get_8_Bit_Val): Likewise.
6443 (Set_1_Bit_Val): Likewise.
6444 (Set_2_Bit_Val): Likewise.
6445 (Set_4_Bit_Val): Likewise.
6446 (Set_8_Bit_Val): Likewise.
6447
6448 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6449
6450 * atree.adb (Zero_Slots): Remove obsolete comment and add header.
6451
6452 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6453
6454 * atree.h (Get_32_Bit_Field): Tidy up.
6455 (Get_32_Bit_Field_With_Default): Likewise.
6456
6457 2021-05-10 Eric Botcazou <ebotcazou@adacore.com>
6458
6459 * Make-generated.in (do_gen_il): Replace with...
6460 (ada/stamp-gen_il): ...this. Do not copy files into generated/.
6461
6462 2021-05-10 Martin Liska <mliska@suse.cz>
6463
6464 * gcc-interface/utils.c (def_builtin_1): Use startswith
6465 function instead of strncmp.
6466
6467 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6468
6469 * einfo-utils.adb (Is_Access_Object_Type): Use
6470 Directly_Designated_Type.
6471 (Is_Access_Subprogram_Type): Use Directly_Designated_Type.
6472 (Set_Convention): Use plain Ekind.
6473 * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind.
6474 * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal
6475 completion with an access type don't attempt to decorate the
6476 completion entity; previously the entity had its Ekind set to
6477 E_General_Access_Type or E_Access_Type, but its Designated_Type
6478 was empty, which caused a crash in freezing. (Actually, the
6479 error recovery in the surrounding context is still incomplete,
6480 e.g. we will crash when the illegal completion is an access to
6481 an unknown identifier).
6482
6483 2021-05-07 Bob Duff <duff@adacore.com>
6484
6485 * par_sco.adb: Align with/use clauses.
6486 (Traverse_Declarations_Or_Statements): Minor comment fix.
6487 * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb,
6488 contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb,
6489 errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb,
6490 exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb,
6491 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb,
6492 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb,
6493 exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb,
6494 exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb,
6495 exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb,
6496 exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb,
6497 exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb,
6498 frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb,
6499 impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb,
6500 lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb,
6501 lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb,
6502 par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb,
6503 repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb,
6504 sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb,
6505 sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb,
6506 sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
6507 sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
6508 sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb,
6509 sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
6510 sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb,
6511 sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
6512 sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb,
6513 sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads,
6514 treepr.adb, uname.adb: Align with/use clauses.
6515
6516 2021-05-07 Bob Duff <duff@adacore.com>
6517
6518 * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean
6519 up ??? marks. Rename Set_Ekind to be Mutate_Ekind.
6520 * einfo.ads, sinfo.ads: Likewise. Change "definitive
6521 definition" to "official definition", because the former sounds
6522 redundant. Rename Set_Ekind to be Mutate_Ekind.
6523 * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb,
6524 exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb,
6525 exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb,
6526 exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb,
6527 exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb,
6528 lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb,
6529 sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
6530 sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
6531 sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb,
6532 sem_util.adb: Rename Set_Ekind to be Mutate_Ekind.
6533
6534 2021-05-07 Bob Duff <duff@adacore.com>
6535
6536 * atree.adb: Move nnd-related code from here, and leave a
6537 comment pointing to sinfo-utils.adb.
6538 * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to
6539 here.
6540
6541 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6542
6543 * einfo.ads: Move Corresponding_Protected_Entry...
6544 * sinfo.ads: ... here.
6545 * exp_ch9.adb (Build_Entry_Body): Link procedure and entry
6546 bodies.
6547 * gen_il-fields.ads (Opt_Field_Enum): Add
6548 Corresponding_Entry_Body field to nodes; remove
6549 Corresponding_Protected_Entry field from entities.
6550 * gen_il-gen-gen_entities.adb (Gen_Entities): Remove
6551 Corresponding_Protected_Entry field from E_Void and
6552 E_Subprogram_Body.
6553 * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add
6554 Corresponding_Entry_Body field to N_Subprogram_Body.
6555 * sem_ch6.adb (Analyze_Subprogram_Specification): Remove
6556 manipulation of Ekind and Corresponding_Protected_Entry added as
6557 part of the support for varsize-nodes.
6558
6559 2021-05-07 Bob Duff <duff@adacore.com>
6560
6561 * sem_ch3.adb (Process_Incomplete_Dependents): Reset
6562 Private_Dependents field to zero before calling Set_Ekind. Also
6563 move Set_Etype to after Set_Ekind, because it's always best to
6564 set the Ekind as early as possible.
6565 * atree.adb: Improve debugging facilities for vanishing fields.
6566
6567 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6568
6569 * atree.ads (Slot): Change to modular type.
6570 (Slot_1_Bit): Delete.
6571 (Slot_2_Bit): Likewise.
6572 (Slot_4_Bit): Likewise.
6573 (Slot_8_Bit): Likewise.
6574 (Slot_32_Bit): Likewise.
6575 * atree.adb (Get_1_Bit_Val): Adjust to above change.
6576 (Get_2_Bit_Val): Likewise.
6577 (Get_4_Bit_Val): Likewise.
6578 (Get_8_Bit_Val): Likewise.
6579 (Get_32_Bit_Val): Likewise.
6580 (Set_1_Bit_Val): Likewise.
6581 (Set_2_Bit_Val): Likewise.
6582 (Set_4_Bit_Val): Likewise.
6583 (Set_8_Bit_Val): Likewise.
6584 (Set_32_Bit_Val): Likewise.
6585 (Print_Atree_Info): Likewise.
6586 (Zero): Likewise.
6587 * atree.h (Get_1_Bit_Field): Likewise.
6588 (Get_2_Bit_Field): Likewise.
6589 (Get_4_Bit_Field): Likewise.
6590 (Get_8_Bit_Field): Likewise.
6591 (Get_32_Bit_Field): Likewise.
6592 (Get_32_Bit_Field_With_Default): Likewise.
6593 * types.h (slot_1_bit): Delete.
6594 (slot_2_bit): Likewise.
6595 (slot_4_bit): Likewise.
6596 (slot_8_bit): Likewise.
6597 (slot_32_bit): Likewise.
6598 (any_slot): Change to unsigned int.
6599 (Slot_Size): New macro.
6600
6601 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6602
6603 * gcc-interface/gigi.h (enum standard_datatype): Remove
6604 ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id.
6605 (exception_data_name_id): Delete.
6606 (not_handled_by_others_name_id): New macro.
6607 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old
6608 kludge for exceptions.
6609 <E_Record_Type>: Likewise.
6610 (gnat_to_gnu_field): Force character type on Not_Handled_By_Others.
6611 * gcc-interface/misc.c (gnat_argv): Change type to char **.
6612 (gnat_init_options): Adjust accordingly.
6613 * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id
6614 and use it to set not_handled_by_others_decl.
6615 (Exception_Handler_to_gnu_fe_sjlj): Fix indentation.
6616
6617 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6618
6619 * raise-gcc.c (__gnat_others_value): Remove const qualifier.
6620 (__gnat_all_others_value): Likewise.
6621 (__gnat_unhandled_others_value): Likewise.
6622 (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr.
6623 (GNAT_ALL_OTHERS): Likewise.
6624 (GNAT_UNHANDLED_OTHERS): Likewise.
6625 (Is_Handled_By_Others): Change parameter type to Exception_Id.
6626 (Language_For): Likewise.
6627 (Foreign_Data_For): Likewise.
6628 (is_handled_by): Likewise. Adjust throughout, remove redundant
6629 line and fix indentation.
6630 * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and
6631 useless qualification from parameter type.
6632 (Foreign_Data_For): Likewise.
6633 (Language_For): Likewise.
6634
6635 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6636
6637 * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased.
6638 * stand.ads (Standard_Entity_Type): Enhance comments.
6639 * cstand.adb (Make_Component): Rename into...
6640 (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent
6641 flags on the component.
6642 (Create_Standard): Adjust the types of the component of the record
6643 Standard_Exception_Type and mark them as aliased.
6644 * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK
6645 conversion to Standard_Address for Full_Name component, except
6646 in CodePeer_Mode (set it to 0).
6647 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise.
6648 * raise.h (struct Exception_Data): Change the type of Full_Name,
6649 HTable_Ptr and Foreign_Data.
6650
6651 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6652
6653 * atree.h (Slots_Ptr): Change pointed-to type to any_slot.
6654 * fe.h (Get_RT_Exception_Name): Change type of parameter.
6655 * namet.ads (Name_Entry): Mark non-boolean components as aliased,
6656 reorder the boolean components and add an explicit Spare component.
6657 * namet.adb (Name_Enter): Adjust aggregate accordingly.
6658 (Name_Find): Likewise.
6659 (Reinitialize): Likewise.
6660 * namet.h (struct Name_Entry): Adjust accordingly.
6661 (Names_Ptr): Use correct type.
6662 (Name_Chars_Ptr): Likewise.
6663 (Get_Name_String): Fix declaration and adjust to above changes.
6664 * types.ads (RT_Exception_Code): Add pragma Convention C.
6665 * types.h (Column_Number_Type): Fix original type.
6666 (slot): Rename union type to...
6667 (any_slot): ...this and adjust assertion accordingly.
6668 (RT_Exception_Code): New enumeration type.
6669 * uintp.ads (Uint_Entry): Mark components as aliased.
6670 * uintp.h (Uints_Ptr): Use correct type.
6671 (Udigits_Ptr): Likewise.
6672 * gcc-interface/gigi.h (gigi): Adjust name and type of parameter.
6673 * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr
6674 and Udigits_Ptr.
6675 * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type.
6676 (gigi): Adjust type of parameter.
6677 (build_raise_check): Add cast in call to Get_RT_Exception_Name.
6678
6679 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6680
6681 * init.c (__gnat_raise_program_error): Fix parameter type.
6682 (Raise_From_Signal_Handler): Likewise and mark as no-return.
6683 * raise-gcc.c (__gnat_others_value): Fix type.
6684 (__gnat_all_others_value): Likewise.
6685 (__gnat_unhandled_others_value): Likewise.
6686 * seh_init.c (Raise_From_Signal_Handler): Fix parameter type.
6687 * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C
6688 and new symbol name, move declaration to...
6689 (Raise_From_Controlled_Operation): Minor tweak.
6690 * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here.
6691 * libgnat/a-exexpr.adb (bool): New C compatible boolean type.
6692 (Is_Handled_By_Others): Use it as return type for the function.
6693
6694 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6695
6696 * errout.ads (Set_Identifier_Casing): Add pragma Convention C.
6697 * eval_fat.ads (Rounding_Mode): Likewise.
6698 (Machine): Add WARNING comment line.
6699 * exp_code.ads (Clobber_Get_Next): Add pragma Convention C.
6700 * fe.h (Compiler_Abort): Fix return type.
6701 (Set_Identifier_Casing): Change type of parameters.
6702 (Clobber_Get_Next): Change return type.
6703 * gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast.
6704
6705 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6706
6707 * atree.h (Parent): Remove duplicate declaration.
6708 (Get_1_Bit_Field): Also use INLINE specifier in the declaration,
6709 fix formatting and use gcc_unreachable for the default case.
6710 (Get_2_Bit_Field): Likewise.
6711 (Get_4_Bit_Field): Likewise.
6712 (Get_8_Bit_Field): Likewise.
6713 (Get_32_Bit_Field): Likewise.
6714 (Get_32_Bit_Field_With_Default): Likewise.
6715
6716 2021-05-07 Bob Duff <duff@adacore.com>
6717
6718 * atree.ads, atree.adb: Major rewrite to support variable-sized
6719 node types. Add pragmas Suppress and Assertion_Policy. We now
6720 have an extra level of indirection: Node_Offsets is a table
6721 mapping Node_Ids to the offset of the start of each node in
6722 Slots. Slots is a table containing one or more contiguous slots
6723 for each node. Each slot is a 32-bit unchecked union that can
6724 contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits.
6725 The old low-level getters and setters (e.g. Flag123) are
6726 removed.
6727 * gen_il-fields.ads, gen_il-gen-gen_entities.adb,
6728 gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads,
6729 gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb,
6730 gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program
6731 that generates various Ada and C++ files. In particular, the
6732 following files are generated by gen_il: einfo-entities.adb
6733 einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads,
6734 seinfo.ads, seinfo_tables.adb, seinfo_tables.ads,
6735 sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h.
6736 * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb,
6737 einfo-utils.ads: New files containing code that needs to refer
6738 to Sinfo.Nodes and Einfo.Entities. This code is mostly moved
6739 here from Sinfo and Einfo to break cycles.
6740 * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi,
6741 instead of nodes_ptr and flags_ptr. The Nodes and Flags tables
6742 no longer exist. (Note that gigi never used the Flags table.)
6743 * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier,
6744 Change_Character_Literal_To_Defining_Character_Literal,
6745 Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into
6746 an IN formal.
6747 * sinfo-cn.adb: Update. Add assertions, which can be removed at
6748 some point. Rewrite to use higher-level facilities. Make sure
6749 vanishing fields are zeroed out. Add with/use for new packages.
6750 * sem_util.adb: Remove "Assert(False)" immediately followed by
6751 "raise Program_Error". Use higher-level facilities such as
6752 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
6753 routines that no longer exist. Use Get_Comes_From_Source_Default
6754 instead of Default_Node.Comes_From_Source (Default_Node no
6755 longer exists). Use Set_Basic_Convention instead of
6756 Basic_Set_Convention. Add with/use for new packages.
6757 * sem_util.ads: The Convention field had getter Convention and
6758 setter Basic_Set_Convention. Make that more uniform: there is
6759 now a field called Basic_Convention, with Basic_Convention and
6760 Set_Basic_Convention as getter/setter, and write Convention and
6761 Set_Convention here.
6762 * nlists.adb: Rewrite to use abstractions, rather then depending
6763 on low-level implementation details of Atree. Necessary because
6764 those details have changed. Add with/use for new packages.
6765 * sem_ch12.adb: Use higher-level facilities such as
6766 Walk_Sinfo_Fields instead of depending on low-level Set_FieldN
6767 routines that no longer exist. Add with/use for new packages.
6768 * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb,
6769 sem_prag.adb, sem_warn.adb: Change expanded names to refer to
6770 the new packages for things that moved. Add with/use for new
6771 packages.
6772 * sem_ch3.adb: Likewise. Reinitialize vanishing fields.
6773 * exp_disp.adb: Likewise. Remove failing assertion.
6774 * sinfo.ads, einfo.ads: Remove code that is now generated into
6775 Sinfo.Nodes and Einfo.Entities.
6776 * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;".
6777 We should delete these at some point, but No_Body makes make
6778 files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities,
6779 Sinfo.Utils, and Einfo.Utils. Some is no longer necessary.
6780 * treepr.adb: Rewrite to use new tables. We no longer need
6781 treeprs.ads.
6782 * treepr.ads: Add comment.
6783 * types.ads: Move types Component_Alignment_Kind and
6784 Float_Rep_Kind here.
6785 * atree.h: Major update to match atree.ads changes. Add slot
6786 types, for use by getters/setters.
6787 * types.h: Move types Component_Alignment_Kind and
6788 Float_Rep_Kind here.
6789 * fe.h: Rewrite to deal with code that has changed or moved from
6790 Atree, Sinfo, Einfo.
6791 * nlists.h: Move some code to fe.h.
6792 * alloc.ads: Split Nodes_* constants into Node_Offsets and
6793 Slots, because Atree has two separate tables. Increase values.
6794 Remove Nodes_Release_Threshold. Improve comment.
6795 * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N
6796 switches. Add with/use for new packages.
6797 * opt.ads: Minor comment fix.
6798 * aspects.adb, checks.adb, comperr.adb, contracts.adb,
6799 cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb,
6800 exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb,
6801 exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
6802 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
6803 exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb,
6804 exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
6805 exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb,
6806 exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb,
6807 exp_util.ads, expander.adb, freeze.adb, frontend.adb,
6808 get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb,
6809 itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb,
6810 lib-writ.adb, lib-xref.adb, lib-xref.ads,
6811 lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb,
6812 pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb,
6813 scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb,
6814 sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb,
6815 sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb,
6816 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb,
6817 sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb,
6818 sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb,
6819 sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb,
6820 sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb,
6821 tbuild.ads, uname.adb: Add with/use for new packages.
6822 * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease
6823 bootstrap.
6824 * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File,
6825 Create_New_File): Create file in binary format, to avoid
6826 introducing unwanted text conversions on Windows. Simplify to
6827 ease bootstrap.
6828 * libgnat/a-stteou__bootstrap.ads: New.
6829 * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb,
6830 xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete.
6831 * Make-generated.in: Build and run the gen_il program to
6832 generate files. The files are generated in the ada/gen_il
6833 subdirectory, and then moved up to ada. We rely on gnatmake (as
6834 opposed to make) to build the gen_il program efficiently (i.e.
6835 don't do anything if the sources didn't change).
6836 * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU.
6837 (GNATMAKE_OBJS): Add new object files.
6838 (GENERATED_FILES_FOR_TOOLS): New variable.
6839 (../stamp-tools): Create a link for all
6840 GENERATED_FILES_FOR_TOOLS.
6841 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object
6842 files. Remove ada/treeprs.o.
6843 (GNATBIND_OBJS): Add new object files.
6844 (ada.mostlyclean): Remove ada/sdefault.adb and add
6845 ada/stamp-gen_il.
6846 (ada.maintainer-clean): Remove ada/treeprs.ads.
6847 (update-sources): Remove obsolete target.
6848 (ada_generated_files): Rename to...
6849 (ADA_GENERATED_FILES): ... this. Add new source files. Add
6850 comment.
6851 * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and
6852 Flags_ptr. Add Node_Offsets_Ptr and Slots_Ptr, which point to
6853 the corresponding tables in Atree.
6854 * gcc-interface/gigi.h (gigi): New parameters for initializing
6855 Node_Offsets_Ptr and Slots_Ptr.
6856 * gcc-interface/decl.c: Numeric_Kind,
6857 Discrete_Or_Fixed_Point_Kind, and Record_Kind were
6858 nonhierarchical, and were therefore removed for simplicity.
6859 Replace uses with calls to Is_In_... functions.
6860
6861 2021-05-07 Ed Schonberg <schonberg@adacore.com>
6862
6863 * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A
6864 component declaration whose subtype indication is an entity name
6865 without an explicit constraint is an Unchecked_Union type only
6866 if the entity has an unconstrained nominal subtype (record type
6867 or private type) whose parent type is an Unchecked_Union.
6868
6869 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6870
6871 * sem_res.adb (Flag_Object): Ignore prefixes of attribute
6872 Address.
6873
6874 2021-05-07 Yannick Moy <moy@adacore.com>
6875
6876 * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value.
6877 * sem_res.adb (Resolve_Unary_Op): Generate warning.
6878 * usage.adb: Refine doc for -gnatw.m/M switch.
6879 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
6880 Update doc on -gnatw.m switch.
6881 * gnat_ugn.texi: Regenerate.
6882
6883 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6884
6885 * sem_res.adb (Flag_Object): Replace chained IF with a CASE;
6886 remove repeated calls to Entity; do not traverse into
6887 N_Identifier and N_Expanded_Name, because only need to examine
6888 their Entity field anyway.
6889
6890 2021-05-07 Piotr Trojanek <trojanek@adacore.com>
6891
6892 * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List.
6893 (Process_Overloaded_Indexed_Component): Remove call to
6894 End_Interp_List.
6895 * sem_util.adb (Insert_Explicit_Dereference): Remove call to
6896 End_Interp_List.
6897 * sem_type.ads (End_Interp_List): Remove.
6898 * sem_type.adb (Add_Entry): The guard against duplicate entries
6899 is now checked before other conditions, so that EXIT statements
6900 do not bypass this guard.
6901 (End_Interp_List): Remove.
6902
6903 2021-05-07 Ed Schonberg <schonberg@adacore.com>
6904
6905 * exp_util.adb (Remove_Init_Call): If a simple initialization
6906 call is present, and the next statement is an initialization
6907 block (that contains a call to a Deep_ Initialize routine),
6908 remove the block as well, and insert the first initialization
6909 call in it, in case it is needed for later relocation.
6910
6911 2021-05-07 Gary Dismukes <dismukes@adacore.com>
6912
6913 * errout.ads (Size_Too_Small_Message): Remove low-value ???
6914 comment.
6915 * exp_util.ads: Remove ??? in part of overall package comments
6916 and restructure comment to clarify.
6917 (Duplicate_Subexpr): Remove ??? comment that seems unnecessary.
6918 * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized
6919 ??? comments and add more description of the procedure's
6920 actions.
6921 (Get_Discriminant_Value): Remove ??? comment requesting more
6922 documentation, expanding description of the function's actions.
6923 * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more
6924 semantic description of the procedure and remove ??? comment
6925 requesting such.
6926 (Propagate_Tag): Refine comment to indicate meaning of formal
6927 parameters and generally improve the spec comment (and remove
6928 ??? comment asking about the parameters).
6929
6930 2021-05-07 Arnaud Charlet <charlet@adacore.com>
6931
6932 * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left
6933 resulting in negative signed values.
6934
6935 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6936
6937 * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter.
6938 (Defining_Entity_Or_Empty): New function.
6939 * sem_util.adb (Defining_Entity): Move bulk of implementation to...
6940 (Defining_Entity_Or_Empty): ...here. Do not raise Program_Error.
6941 (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty.
6942
6943 2021-05-07 Justin Squirek <squirek@adacore.com>
6944
6945 * aspects.ads: Add entries to register
6946 Aspect_No_Controlled_Parts.
6947 * freeze.adb (Check_No_Controlled_Parts_Violations): Added to
6948 check requirements of aspect No_Controlled_Parts after a type
6949 has been frozen.
6950 (Freeze_Entity): Add call to
6951 Check_No_Controlled_Parts_Violations.
6952 (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect
6953 specification for No_Controlled_Parts on a given type when
6954 present.
6955 (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid
6956 value.
6957 (Has_Aspect_No_Controlled_Parts): Created as a prediate function
6958 to check if No_Controlled_Parts has been specified on a type for
6959 Get_Anacestor_Types_With_Specification.
6960 (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the
6961 value of the aspect No_Controlled_Parts when specified on a
6962 given type.
6963 (Get_Generic_Formal_Types_In_Hierarchy): Created to collect
6964 formal types in a given type's hierarchy.
6965 (Get_Types_With_Aspect_In_Hierarchy): Created to collect types
6966 in a given type's hierarchy with No_Controlled_Parts specified.
6967 * sem_ch13.adb (Analyze_One_Aspect): Add processing for
6968 No_Controlled_Parts, and fix error in check for allowed pragmas
6969 for formal types.
6970 (Check_Expr_Is_OK_Static_Expression): Created to enforce
6971 checking of static expressions in the same vein as
6972 Analyze_Pragma.Check_Expr_OK_Static_Expression.
6973 * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect
6974 types in a given type's hierarchy that match a given predicate
6975 function.
6976 * sem_util.ads: Fix typo.
6977 * snames.ads-tmpl: Add entry for No_Controlled_Parts.
6978
6979 2021-05-07 Eric Botcazou <ebotcazou@adacore.com>
6980
6981 * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the
6982 overflow case when T'Machine_Overflows is True.
6983
6984 2021-05-07 Bob Duff <duff@adacore.com>
6985
6986 * libgnat/a-conhel.adb (TC_Check): Move the Assert into the
6987 'if'.
6988
6989 2021-05-07 Frederic Konrad <konrad@adacore.com>
6990
6991 * sigtramp-vxworks-target.inc: Use a local label for the TOC.
6992
6993 2021-05-07 Claire Dross <dross@adacore.com>
6994
6995 * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util.
6996 * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants):
6997 Moved from Exp_Ch4.
6998
6999 2021-05-07 Ed Schonberg <schonberg@adacore.com>
7000
7001 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
7002 Add guard to verify that the enclosing pragma is a precondition.
7003
7004 2021-05-06 Javier Miranda <miranda@adacore.com>
7005
7006 * exp_disp.adb (Build_Class_Wide_Check): Extending the
7007 functionality of this routine to climb to the ancestors
7008 searching for the enclosing overridden dispatching primitive
7009 that has a class-wide precondition to generate the check.
7010
7011 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7012
7013 * sem_ch3.adb (Constraint_Index): Remove redundant problematic
7014 analysis.
7015
7016 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7017
7018 * exp_unst.adb (Note_Uplevel_Bound): Exclude
7019 E_Enumeration_Literal.
7020
7021 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7022
7023 * exp_ch4.adb (Expand_N_If_Expression):
7024 Apply_Arithmetic_Overflow_Check will not deal with
7025 Then/Else_Actions so skip minimizing overflow checks if any
7026 actions are present.
7027
7028 2021-05-06 Boris Yakobowski <yakobowski@adacore.com>
7029
7030 * gnat1drv.adb (Adjust_Global_Switches): Simplify logic.
7031
7032 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7033
7034 * libgnat/i-c.ads (bool): New type.
7035 * libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now
7036 a subtype of Interfaces.C.bool.
7037 * libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify
7038 False.
7039 * libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb,
7040 libgnarl/s-tasini.adb, libgnarl/s-tasren.adb,
7041 libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb,
7042 libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace
7043 Assert (False) by Assert (Standard.False).
7044
7045 2021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
7046
7047 * make.adb (Compute_Executable): Document parameter.
7048
7049 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7050
7051 * libgnat/s-fatgen.adb (Scaling): Use single handling of
7052 underflow. Add pragma Annotate.
7053
7054 2021-05-06 Ghjuvan Lacambre <lacambre@adacore.com>
7055
7056 * sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype,
7057 remove redundant checks.
7058
7059 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7060
7061 * sem_res.adb (First_Last_Ref): Simplify "if [condition] then
7062 return True" in "return [condition]".
7063 (Resolve_Range): Remove calls appearing in IF condition from the
7064 THEN statements.
7065
7066 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7067
7068 * sem_case.adb (Missing_Choice): Fix typo in comment.
7069 (Lit_Of): Simplify with Make_Character_Literal.
7070 (Check_Choices): Remove extra spaces in parameter
7071 specifications.
7072 * sem_case.ads: Same reformatting.
7073
7074 2021-05-06 Ed Schonberg <schonberg@adacore.com>
7075
7076 * exp_aggr.adb (Expand_Array_Aggregate): If the expression in an
7077 Others_Clause has not been analyzed because previous analysis of
7078 the enclosing aggregate showed the clause to be ineffective i.e.
7079 cover a null range, analyze it now to detect a possible type
7080 illegality.
7081
7082 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7083
7084 * libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow.
7085
7086 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7087
7088 * sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a
7089 list member in both branches.
7090
7091 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7092
7093 * libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma
7094 Warnings.
7095
7096 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7097
7098 * sem_ch4.adb (Analyze_Selected_Component): Remove explicit call
7099 to Set_Raises_Constraint_Error on statically missing component.
7100 * sem_eval.adb (Eval_Arithmetic_Op): Likewise for static
7101 divisions by integer and real zeros.
7102 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Call
7103 Set_Raises_Constraint_Error before exiting early in GNATprove
7104 mode.
7105
7106 2021-05-06 Justin Squirek <squirek@adacore.com>
7107
7108 * checks.adb (Make_Discriminant_Constraint_Check): Add check for
7109 null when the type being converted is an access type.
7110
7111 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7112
7113 * exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs.
7114
7115 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7116
7117 * osint.adb (Read_Library_Info_From_Full): Cleanup unused
7118 initial value.
7119
7120 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7121
7122 * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7):
7123 Mention the IEEE standard explicitly. Use current format names.
7124 Document assumed rounding mode and new features of I/O support.
7125 * gnat_rm.texi: Regenerate.
7126
7127 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7128
7129 * init.c (__gnat_init_float): Use full version on Linux too.
7130
7131 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7132
7133 * libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0
7134 when denormalized numbers are not supported.
7135
7136 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7137
7138 * sem_attr.adb (Check_Enum_Image): Reword comment; add
7139 Check_Enumeration_Maps parameter. Now this routine combines
7140 both referencing enumeration literals and checking restriction
7141 No_Enumeration_Maps, if required.
7142 (Analyze_Attribute): Remove duplicated code and instead call
7143 Check_Enum_Image.
7144
7145 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7146
7147 * sem_attr.adb (Analyze_Image_Attribute): Remove redundant
7148 condition; add a missing header box.
7149
7150 2021-05-06 Gary Dismukes <dismukes@adacore.com>
7151
7152 * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add
7153 mention of underscore and fix grammar error in doc for -gnatd.
7154 * gnat_ugn.texi: Regenerate.
7155
7156 2021-05-06 Eric Botcazou <ebotcazou@adacore.com>
7157
7158 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt
7159 and s-exnlfl.
7160 * exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float.
7161 * rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt.
7162 (RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float.
7163 (RE_Unit_Table): Likewise.
7164 * libgnat/s-exnflt.ads: New file.
7165 * libgnat/s-exnlfl.ads: Likewise.
7166 * libgnat/s-exnllf.ads: Change to mere instantiation.
7167 * libgnat/s-exnllf.adb: Move implementation to...
7168 * libgnat/s-exponr.ads: New generic unit.
7169 * libgnat/s-exponr.adb: ...here and also make it generic.
7170 (Expon): Do the computation in double precision internally.
7171
7172 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7173
7174 * lib-writ.adb, osint.adb, osint.ads: Cleanup.
7175
7176 2021-05-06 Piotr Trojanek <trojanek@adacore.com>
7177
7178 * exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
7179 condition.
7180 (Expand_N_Object_Declaration): Likewise.
7181 (Build_Equivalent_Aggregate): Likewise.
7182 (Initialization_Warning): Likewise; change another excessive
7183 condition into assertion.
7184 * freeze.adb (Freeze_Entity): Remove excessive condition.
7185
7186 2021-05-06 Ed Schonberg <schonberg@adacore.com>
7187
7188 * sem_res.adb (Resolve_If_Expression): If the context of the
7189 expression is an indexed_component, resolve the expression and
7190 its dependent_expressions with the base type of the index, to
7191 ensure that an index check is generated when resolving the
7192 enclosing indexxed_component, and avoid an improper use of
7193 discriminants out of scope, when the index type is
7194 discriminant-dependent.
7195
7196 2021-05-06 Arnaud Charlet <charlet@adacore.com>
7197
7198 * einfo.ads, exp_prag.adb, exp_util.adb: Fix typos.
7199
7200 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7201
7202 * exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of
7203 attributes Input and Output for unchecked unions.
7204 * sem_case.ads: Fix typo "disriminant" and refill comment.
7205
7206 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7207
7208 * exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse
7209 Has_Defaulted_Discriminants.
7210 * sem_ch4.adb (Analyze_Allocator): Reuse
7211 Has_Defaulted_Discriminants (after reordering conjuncts); remove
7212 redundant IF statement, whose condition is implied by
7213 Has_Defaulted_Discriminants.
7214 * sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants
7215 implies that the First_Discriminant is present.
7216 (Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants.
7217
7218 2021-05-05 Justin Squirek <squirek@adacore.com>
7219
7220 * exp_ch6.adb (Expand_Call_Helper): Add condition to check for
7221 expanded actuals and remove dead code.
7222
7223 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7224
7225 * exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to
7226 follow the Ada RM grammar.
7227
7228 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7229
7230 * exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type
7231 of a local variable.
7232 * exp_dbug.adb (Scope_Contains): Refine all types from Node_Id
7233 to Entity_Id; rename parameters to match those of the
7234 Scope_Within routine (which is similar but not the same); also,
7235 simplify an OR ELSE into a membership test.
7236
7237 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7238
7239 * exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
7240 qualified and unqualified names of unchecked union components.
7241
7242 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7243
7244 * exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant
7245 check for empty list.
7246 * exp_disp.adb (Find_Entry_Index): Simplify by removing
7247 redundant check and counting from zero; fix type of a local
7248 variable.
7249 * sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary
7250 special-case for empty lists.
7251
7252 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7253
7254 * exp_ch4.adb (Apply_Accessibility_Check): Skip a statically
7255 true condition in expanded raise statement.
7256
7257 2021-05-05 Bob Duff <duff@adacore.com>
7258
7259 * libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code.
7260
7261 2021-05-05 Ed Schonberg <schonberg@adacore.com>
7262
7263 * sem_ch5.adb (Analyze_Assignment): Do not emit the warning that
7264 a previous value of the target object is useless if the
7265 right-hand side of the assignment includes target names.
7266
7267 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7268
7269 * exp_imgv.adb: Add with/use clauses for Targparm.
7270 (Build_Enumeration_Image_Tables): Set type of Threshold to Nat and
7271 initialize it to Nat'Last if the type is local and the target does
7272 not support descriptors. Adjust Threshold_For_Size similarly.
7273 (Expand_Value_Attribute): Minor tweaks.
7274
7275 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
7276
7277 * exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call.
7278 * sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init
7279 call.
7280
7281 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
7282
7283 * par-ch5.adb (P_Condition): Check if expression is declare
7284 expression.
7285
7286 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7287
7288 * make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a
7289 custom imported procedure.
7290
7291 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7292
7293 * exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete.
7294 (Expand_Image_Attribute): Move inline expansion into normal flow of
7295 control, move down declarations and remove superfluous processing.
7296
7297 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7298
7299 * libgnat/g-alleve.adb (Bit_Operation): Now a not-null type.
7300 * libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise.
7301 * libgnat/s-dwalin.adb (Callback): Likewise.
7302
7303 2021-05-05 Ghjuvan Lacambre <lacambre@adacore.com>
7304
7305 * exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented
7306 code.
7307
7308 2021-05-05 Ed Schonberg <schonberg@adacore.com>
7309
7310 * sem_ch3.adb (Find_Type_Of_Object): When In_Spec_Expression is
7311 set and the object declaration generates a subtype indication,
7312 build the corresponding subtype declaration and place it in tree
7313 without the use of Insert_Actions, which is disabled in this
7314 context.
7315
7316 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7317
7318 * debug.adb (d_x): Document extended usage.
7319 * exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure.
7320 (Expand_Image_Attribute): Call it to expand in line the attribute
7321 for standard boolean by default.
7322
7323 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7324
7325 * debug.adb (d_x): Document new usage.
7326 * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ
7327 parameter and use it throughout the processing.
7328 (Expand_Image_Attribute): Retrieve the underlying type of the
7329 prefix and use the inline expansion for user-defined enumeration
7330 types with a literal string by default.
7331
7332 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7333
7334 * libgnat/s-dorepr.adb (Split): Declare a per-size temporary.
7335 Add pragma Annotate.
7336
7337 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7338
7339 * exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove
7340 redundant calls to UI_From_Int.
7341
7342 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7343
7344 * exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment.
7345 * exp_imgv.adb (Build_Enumeration_Image_Tables): Add the
7346 declaration nodes of the 4 tables to the declaration list of the
7347 function body.
7348
7349 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7350
7351 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16,
7352 s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and
7353 s-vaenu8. Remove s-imenne, s-imgenu and s-valenu.
7354 * debug.adb (d_h): Document new usage.
7355 * einfo.ads (Lit_Hash): New attribute for enumeration types.
7356 (Set_Lit_Hash): Declare.
7357 * einfo.adb (Lit_Hash): New function.
7358 (Set_Lit_Hash): New procedure.
7359 (Write_Field21_Name): Print Lit_Hash for Enumeration_Kind.
7360 * exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description
7361 and document the hash function and its tables.
7362 * exp_imgv.adb: Add with/use clauses for Debug. Add with clause
7363 for System.Perfect_Hash_Generators.
7364 (Append_Table_To): New helper routine.
7365 (Build_Enumeration_Image_Tables): Call it to build the tables.
7366 In the main unit, register the literals with the hash generator.
7367 If they are sufficiently many and -gnatd_h is not passed, generate
7368 a perfect hash function and its tables; otherwise, generate a dummy
7369 hash function. For the other units, generate only the declaration.
7370 In all cases, set Lit_Hash to the entity of the function, if any.
7371 (Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash,
7372 if any, as third argument to the Value_Enumeration_NN function.
7373 * gnat1drv.adb (Adjust_Global_Switches): force simpler implementation
7374 of 'Value in CodePeer_Mode.
7375 * lib.ads (Synchronize_Serial_Number): Add SN parameter.
7376 * lib.adb (Synchronize_Serial_Number): Assert that it is larger than
7377 the serial number of the current unit and set the latter to it only
7378 in this case.
7379 * rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16,
7380 System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and
7381 System_Val_Enum_32. Remove System_Img_Enum, System_Img_Enum_New
7382 and System_Val_Enum.
7383 * sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler
7384 generated Unrestricted_Access attribute as illegal in a declare
7385 expression.
7386 (RE_Unit_Table): Adjust to above changes.
7387 * libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning.
7388 * libgnat/g-table.ads: Likewise.
7389 * libgnat/g-pehage.ads: Add with clause and local renaming for
7390 System.Perfect_Hash_Generators.
7391 (Optimization): Turn into derived type.
7392 (Verbose): Turn into renaming.
7393 (Too_Many_Tries): Likewise.
7394 (Table_Name): Move to System.Perfect_Hash_Generators.
7395 (Define): Likewise.
7396 (Value): Likewise.
7397 * libgnat/g-pehage.adb: Remove with clause for Ada.Directories,
7398 GNAT.Heap_Sort_G and GNAT.Table. Move bulk of implementation
7399 to System.Perfect_Hash_Generators, only keep the output part.
7400 * libgnat/s-imagen.ads: New generic unit.
7401 * libgnat/s-imagen.adb: New body.
7402 * libgnat/s-imen16.ads: New unit.
7403 * libgnat/s-imen32.ads: Likewise.
7404 * libgnat/s-imenu8.ads: Likewise.
7405 * libgnat/s-imenne.ads: Adjust description.
7406 * libgnat/s-imgenu.ads: Delete.
7407 * libgnat/s-imgenu.adb: Likewise.
7408 * libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators.
7409 * libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators.
7410 * libgnat/s-valuen.ads: New generic unit.
7411 * libgnat/s-valuen.adb: New body.
7412 * libgnat/s-vaen16.ads: New unit.
7413 * libgnat/s-vaen32.ads: Likewise.
7414 * libgnat/s-vaenu8.ads: Likewise.
7415 * libgnat/s-valenu.ads: Delete.
7416 * libgnat/s-valenu.adb: Likewise.
7417 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o.
7418 (GNATBIND_OBJS): Remove s-imgenu.o.
7419
7420 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7421
7422 * sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove
7423 parameter Rep from the function spec and "and if the flag Rep is
7424 set" from the comment.
7425 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove
7426 parameter Rep.
7427
7428 2021-05-05 Ed Schonberg <schonberg@adacore.com>
7429
7430 * sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed
7431 aggregates with component associations verify that if there is
7432 more than one component association then all the choices are
7433 static, that the set of choices define a continuous sequence of
7434 values, and that if loop specfications appear, they do not
7435 include iterator filters or key expressions.
7436
7437 2021-05-05 Eric Botcazou <ebotcazou@adacore.com>
7438
7439 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager,
7440 s-imgflt, s-imglfl and s-imgllf.
7441 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb.
7442 (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise.
7443 (LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise.
7444 (LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise.
7445 (LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise.
7446 (LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise.
7447 (LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise.
7448 (LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise.
7449 (LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise.
7450 (LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise.
7451 (LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise.
7452 * exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use
7453 Fixed suffix and Long_Float type.
7454 * exp_imgv.adb (Expand_Image_Attribute): For floating-point types,
7455 use the routine of the corresponding root type. For ordinary fixed
7456 point types, use Fixed suffix and Long_Float type.
7457 (Expand_Value_Attribute): Revert latest change for Long_Long_Float.
7458 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units
7459 g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o.
7460 (GNATBIND_OBJS): Remove libgnat unit s-imgenu.o.
7461 * rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and
7462 System_Img_LLF. Remove System_Img_Real.
7463 (RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed. Add RE_Image_Float,
7464 RE_Image_Long_Float and RE_Image_Long_Long_Float. Rename
7465 RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed.
7466 (RE_Unit_Table): Adjust to above changes.
7467 * libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead
7468 of Long_Long_Float.
7469 * libgnat/a-textio.ads (Field): Remove obsolete comment.
7470 * libgnat/a-ticoau.ads (Aux): Adjust ancestor package.
7471 * libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real.
7472 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
7473 * libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt,
7474 System.Img_LFlt and System.Img_LLF.
7475 (Scalar_Float): Add third actual parameter.
7476 (Scalar_Long_Float): Likewise.
7477 (Scalar_Long_Long_Float): Likewise.
7478 * libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt
7479 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
7480 Long_Long_Float with Long_Float throughout.
7481 * libgnat/a-tifiio__128.adb: Likewise.
7482 * libgnat/a-tiflau.ads: Add Set_Image formal parameter.
7483 * libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util,
7484 remove the one for System.Img_Real.
7485 (Put): Call Set_Image instead of Set_Image_Real.
7486 (Puts): Likewise.
7487 * libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt,
7488 System.Img_LFlt and System.Img_LLF.
7489 (Aux_Float): Add third actual parameter.
7490 (Aux_Long_Float): Likewise.
7491 (Aux_Long_Long_Float): Likewise.
7492 * libgnat/a-witeio.ads (Field): Remove obsolete comment.
7493 * libgnat/a-wtcoau.ads (Aux): Adjust ancestor package.
7494 * libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real.
7495 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
7496 * libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt,
7497 System.Img_LFlt and System.Img_LLF.
7498 (Scalar_Float): Add third actual parameter.
7499 (Scalar_Long_Float): Likewise.
7500 (Scalar_Long_Long_Float): Likewise.
7501 * libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt
7502 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
7503 Long_Long_Float with Long_Float throughout.
7504 * libgnat/a-wtfiio__128.adb: Likewise.
7505 * libgnat/a-wtflau.ads: Add Set_Image formal parameter.
7506 * libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util,
7507 remove the one for System.Img_Real.
7508 (Put): Call Set_Image instead of Set_Image_Real.
7509 (Puts): Likewise.
7510 * libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt,
7511 System.Img_LFlt and System.Img_LLF.
7512 (Aux_Float): Add third actual parameter.
7513 (Aux_Long_Float): Likewise.
7514 (Aux_Long_Long_Float): Likewise.
7515 * libgnat/a-ztexio.ads (Field): Remove obsolete comment.
7516 * libgnat/a-ztcoau.ads (Aux): Adjust ancestor package.
7517 * libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real.
7518 (Puts): Call Aux.Set_Image instead of Set_Image_Real.
7519 * libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt,
7520 System.Img_LFlt and System.Img_LLF.
7521 (Scalar_Float): Add third actual parameter.
7522 (Scalar_Long_Float): Likewise.
7523 (Scalar_Long_Long_Float): Likewise.
7524 * libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt
7525 and System.Val_LFlt. Remove the one for System.Val_LLF. Replace
7526 Long_Long_Float with Long_Float throughout.
7527 * libgnat/a-ztfiio__128.adb: Likewise.
7528 * libgnat/a-ztflau.ads: Add Set_Image formal parameter.
7529 * libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util,
7530 remove the one for System.Img_Real.
7531 (Put): Call Set_Image instead of Set_Image_Real.
7532 (Puts): Likewise.
7533 * libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt,
7534 System.Img_LFlt and System.Img_LLF.
7535 (Aux_Float): Add third actual parameter.
7536 (Aux_Long_Float): Likewise.
7537 (Aux_Long_Long_Float): Likewise.
7538 * libgnat/s-dorepr.adb: New file.
7539 * libgnat/s-dorepr__fma.adb: Likewise.
7540 * libgnat/s-dourea.ads: Likewise.
7541 * libgnat/s-dourea.adb: Likewise.
7542 * libgnat/s-forrea.ads (Fore_Real): Rename into...
7543 (Fore_Fixed): ...this and take Long_Float parameters.
7544 * libgnat/s-forrea.adb (Fore_Real): Likewise.
7545 (Fore_Fixed): Likewise.
7546 * libgnat/s-imgrea.ads: Move to...
7547 (Set_Image_Real): Turn into mere renaming.
7548 * libgnat/s-imager.ads: ...here.
7549 (Image_Ordinary_Fixed_Point): Turn into...
7550 (Image_Fixed_Point): ...this.
7551 * libgnat/s-imgrea.adb: Add pragma No_Body. Move to...
7552 * libgnat/s-imager.adb: ...here.
7553 (Image_Ordinary_Fixed_Point): Turn into...
7554 (Image_Fixed_Point): ...this.
7555 (Is_Negative): Replace Long_Long_Float with Num.
7556 (Set_Image_Real): Likewise. Use Double_T instead of single Num
7557 throughout the algorithm.
7558 * libgnat/s-imgflt.ads: New file.
7559 * libgnat/s-imglfl.ads: Likewise.
7560 * libgnat/s-imgllf.ads: Likewise.
7561 * libgnat/s-imagef.ads: Adjust comment.
7562 * libgnat/s-imguti.ads (Max_Real_Image_Length): New named number.
7563 * libgnat/s-powflt.ads (Maxpow): Adjust.
7564 (Powten): Turn into an exact table of double Float.
7565 * libgnat/s-powlfl.ads (Maxpow): Adjust.
7566 (Powten): Turn into an exact table of double Long_Float.
7567 * libgnat/s-powllf.ads (Maxpow): Adjust.
7568 (Powten): Turn into an exact table of double Long_Long_Float.
7569 * libgnat/s-valrea.ads: Change order of formal parameters.
7570 * libgnat/s-valrea.adb: Add with clause for System.Double_Real.
7571 (Double_Real): New instantiation.
7572 (Fast2Sum): Delete.
7573 (Large_Powten): New function.
7574 (Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum. Convert
7575 the value to Double_T. Do the scaling in Double_T for base 10.
7576 * libgnat/s-valflt.ads: Remove with/use clasue for Interfaces,
7577 add it for System.Unsigned_Types. Use Unsigned.
7578 * libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces,
7579 add it for System.Unsigned_Types. Use Long_Unsigned.
7580 * libgnat/s-valllf.ads: Remove with/use clasue for Interfaces,
7581 add it for System.Unsigned_Types. Use Long_Long_Unsigned.
7582
7583 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7584
7585 * sem_eval.adb (Eval_Arithmetic_Op): Call
7586 Set_Raises_Constraint_Error on real division by zero just like
7587 it is called for integer division by zero earlier in this
7588 routine.
7589
7590 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7591
7592 * freeze.adb (Build_Renamed_Body): Simplify IF and WHILE
7593 statements with the same condition.
7594
7595 2021-05-05 Piotr Trojanek <trojanek@adacore.com>
7596
7597 * pprint.adb (Expr_Name): Introduce local constants to make the
7598 code more readable and avoid repeated calls to Next to reach the
7599 ELSE part of an if-expression.
7600
7601 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7602
7603 * pprint.adb: Remove qualification of arbitrary calls to
7604 Sinfo.Expressions and Sinfo.Parameter_Associations.
7605
7606 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7607
7608 * pprint.adb (Expr_Name): Simplify with functional variant of
7609 UI_Image.
7610
7611 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7612
7613 * pprint.adb (To_Mixed): Removed.
7614
7615 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7616
7617 * pprint.adb (List_Name_Count): Change type from Integer to
7618 Natural.
7619
7620 2021-05-04 Yannick Moy <moy@adacore.com>
7621
7622 * pprint.adb (Expression_Image): Special case for
7623 expression-with-actions.
7624
7625 2021-05-04 Bob Duff <duff@adacore.com>
7626
7627 * exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.
7628
7629 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7630
7631 * lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated
7632 branch for generic subprograms (they are now handled together
7633 with non-generic subprograms in the ELSE branch); replace a
7634 low-level Ekind membership test with a high-level call to
7635 Is_Access_Subprogram_Type.
7636
7637 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7638
7639 * sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal
7640 with Next_Formal.
7641 * sem_ch6.adb (Is_Non_Overriding_Operation): Likewise.
7642
7643 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7644
7645 * sem_prag.adb (Collect_Global_Item): Iterate directly over
7646 formals.
7647
7648 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7649
7650 * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
7651 comment; this routine is no longer used by GNATprove.
7652 * sem_prag.adb (Find_Role): The IN parameter is on output only
7653 when it belongs to non-function; also, the otherwise constant
7654 object can only be written by a non-function.
7655 (Collect_Global_Item): The IN parameter can only be written when
7656 it belongs to non-function; also, unnest this check to make it
7657 easier to read.
7658
7659 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7660
7661 * libgnat/s-assert.ads (Assert_Failure): Now a renaming of
7662 Assertion_Error.
7663 * libgnat/a-assert.ads (Assertion_Error): Now a first class
7664 citizen. Remove dependency on System.Assertions.
7665 * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New.
7666 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
7667 a-assert.o from gcc-interface.
7668
7669 2021-05-04 Yannick Moy <moy@adacore.com>
7670
7671 * erroutc.adb (Matches): Move spec...
7672 * erroutc.ads (Matches): ...here.
7673
7674 2021-05-04 Yannick Moy <moy@adacore.com>
7675
7676 * gnat1drv.adb (Adjust_Global_Switches): Force error marker in
7677 GNATprove mode.
7678
7679 2021-05-04 Bob Duff <duff@adacore.com>
7680
7681 * binde.adb: No need for ??? marks in Binde, because it is
7682 superseded by Bindo.
7683 * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra
7684 works.
7685 * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for
7686 conversions passed to gigi are documented in sinfo.ads.
7687 (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of
7688 one in sinfo.ads.
7689 (Expand_N_In): Robert already added sufficient comments years
7690 after the ??? comment was inserted.
7691 (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any
7692 reason why Stand should export Long_Long_Integer'Base -- it
7693 doesn't export any other base types.
7694 (Size_In_Storage_Elements): We are doing an allocator, so we
7695 don't care about sizes in bits.
7696 (Expand_N_Allocator): PolyORB isn't going to be significantly
7697 improved, so we're not going to mess with remote access to
7698 class-wide types.
7699 (Optimize_Return_Stmt): It's not important to optimize return
7700 statements in predicate functions -- there are many
7701 more-important optimizations we could do. Keep part of the
7702 comment without "???", to clarify why the "and then ...".
7703 (User_Defined_Primitive_Equality_Op): The optimization doesn't
7704 seem important enough.
7705 (Expand_N_Unchecked_Type_Conversion): Refactor to use
7706 Expand_N_Unchecked_Expression.
7707 (Make_Array_Comparison_Op): This seems like a case of "it it's
7708 not broken, don't fix it". Too much risk of causing bugs.
7709 * debug_a.adb: Remove ??? comments asking why Current_Error_Node
7710 is maintained unconditionally, and add a comment explaining why.
7711 * errout.adb: These kinds of minor bugs do indeed exist, but
7712 we're never going to get around to fixing them "properly", so we
7713 need this code for robustness.
7714 * gnatchop.adb (Read_File): Document when read can fail.
7715 * gnatdll.adb (Parse_Command_Line): Nobody is complaining about
7716 these arbitrary limits, so no need to use Table. Increase the
7717 limits just in case. It is clear from the names what they are
7718 limits on.
7719 * gnatlink.adb: Add needed comments.
7720 (Delete): An existing comment makes clear it's intentional, and
7721 it's been like that since 1996.
7722 (Process_Args): Improve comments.
7723 (Search_Library_Path): Refactoring to avoid deep nesting.
7724 * inline.adb (Build_Body_To_Inline): Probably won't get around
7725 to doing that optimization.
7726 (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux,
7727 because it is too specialized to this context.
7728 (Do_Reset): No comment is needed here; it's clear from the
7729 comment on Reset_Dispatching_Calls. Do_Reset is an artificial
7730 subprogram; if we had proper iterators, it would just be an if
7731 statement in the loop.
7732 (Rewrite_Function_Call): Probably won't get around to doing that
7733 optimization.
7734 * layout.adb (Layout_Type): The gigi comment doesn't need to be
7735 a ??? comment, and it's been that way since 2000. The
7736 limitation to scalars will likely never be investigated, and
7737 it's been that way since 2009.
7738 * lib.adb (Check_Same_Extended_Unit): This doesn't look like
7739 something that needs fixing; it looks like a permanent
7740 workaround.
7741 * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in
7742 practice.
7743 (Load_Unit): Nobody will ever get around to investigating the
7744 obscure PMES oddity, and the optimization is not worth the
7745 trouble.
7746 * live.adb: It's not worth documenting this. It is used only
7747 with a debug switch. Nobody who has done significant work on it
7748 is still around, so it would require substantial investigation.
7749 * mdll.ads: I see no reason for USE.
7750 * namet.ads: Routines are obsolete, but they're not going
7751 anywhere anytime soon (too much work, and surprisingly delicate
7752 because of dependences on global variables).
7753 * osint.ads: Minor.
7754 * osint.adb: Improve comments.
7755 (Full_Lib_File_Name): Use Smart_Find_File.
7756
7757 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7758
7759 * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership
7760 tests with a high-level call to Is_Formal_Object.
7761
7762 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7763
7764 * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads,
7765 xr_tabls.adb, xref_lib.adb: Address ??? comments.
7766
7767 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7768
7769 * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into
7770 account when accepting or rejecting a constant of an
7771 access-to-variable type as a global Output/In_Out; do this check
7772 inside an ELSIF branch to avoid unnecessary evaluation of the
7773 subsequent condition.
7774
7775 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7776
7777 * sem_prag.adb (Role_Error, Usage_Error): Replace calls to
7778 Name_Find and Get_Name_String with a call to To_String.
7779
7780 2021-05-04 Ed Schonberg <schonberg@adacore.com>
7781
7782 * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of
7783 Expand_Container_Aggregate, to create an expression to be used
7784 in the dynamic allocation of a container with a single container
7785 element association.
7786 (Add_Range): Handle static bounds of ranges over enumerations.
7787 (Expand_Container_Aggregate): Add declaration for size
7788 expression when needed, and use it in container object
7789 declaration for container.
7790
7791 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7792
7793 * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name):
7794 Unnest so that it can be reused.
7795 (Build_Finalizer_Helper.Process_Declarations): Call the
7796 xxx__finalize_body procedure of a package instantiation in case
7797 it contains finalization statements. Code clean ups.
7798 (Build_Finalizer_Helper.Create_Finalizer): Export and set an
7799 Interface_Name for library level finalizers since these may be
7800 imported now.
7801 (Build_Finalizer_Helper): Need to process library level package
7802 body instantiations which may contain objects requiring
7803 finalization.
7804 * libgnat/s-finmas.ads: Fix typo.
7805
7806 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7807
7808 * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks,
7809 Determine_Range, Insert_Range_Checks,
7810 Install_Null_Excluding_Check, Selected_Length_Checks,
7811 Selected_Range_Checks): Address ??? comments and code cleanups.
7812
7813 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7814
7815 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
7816 Apply the rule even with no explicit Global contract (and remove
7817 a dead condition for Refined_Global).
7818
7819 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7820
7821 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
7822 Extend check to protected entries.
7823
7824 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7825
7826 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context):
7827 Fix reference to SPARK RM rule number.
7828
7829 2021-05-04 Eric Botcazou <ebotcazou@adacore.com>
7830
7831 * exp_intr.adb: Remove with/use clauses for Urealp.
7832 (Expand_Is_Negative): Delete.
7833 (Expand_Intrinsic_Call): Do not call it.
7834 * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned.
7835 (RE_Unit_Table): Remove entry for RE_Float_Unsigned.
7836 * snames.ads-tmpl (Name_Is_Negative): Delete.
7837 * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter.
7838 * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util.
7839 (LLU): New subtype.
7840 (Maxdigs): Use it.
7841 (Is_Negative): Reimplement.
7842 (Image_Floating_Point): Simplify.
7843 (Set_Image_Real): Fix mode of S parameter. Remove the low-level
7844 processing on characters. Flip the sign of the Scale variable.
7845 Compute the maximum number of digits for the straight notation.
7846 Call Set_Decimal_Digits at the end to do the final formatting.
7847 * libgnat/s-imguti.ads (Floating_Invalid_Value): New type.
7848 (Set_Floating_Invalid_Value): New procedure.
7849 * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it
7850 based on existing code from Set_Image_Real.
7851 * libgnat/s-unstyp.ads (Float_Unsigned): Delete.
7852
7853 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7854
7855 * csets.adb (Initialize): Refactor into CASE statement; raise
7856 exception on unsupported code of character set (it will be
7857 gently rejected earlier when scanning command line switches).
7858 * switch-b.adb (Scan_Binder_Switches): Refactor into a
7859 membership expression; add missing '9' choice; reorder as
7860 described by GNAT UG, section 4.3.11.
7861 * switch-c.adb (Scan_Front_End_Switches): Refactor into a
7862 membership expression and reorder as above.
7863 * doc/gnat_ugn/building_executable_programs_with_gnat.rst
7864 (gnatic): Mention '5' as an allowed value for "c".
7865 * gnat_ugn.texi: Regenerate.
7866
7867 2021-05-04 Piotr Trojanek <trojanek@adacore.com>
7868
7869 * errout.adb (Error_Msg_Internal): Add assertion to prevent
7870 style mistakes reappearing in the future.
7871
7872 2021-05-04 Javier Miranda <miranda@adacore.com>
7873
7874 * exp_ch4.adb (Tagged_Membership): Remove wrong condition that
7875 is not consistent with the documentation of this subprogram.
7876
7877 2021-05-04 Yannick Moy <moy@adacore.com>
7878
7879 * sem_res.adb (Valid_Conversion): Make message a continuation.
7880
7881 2021-05-04 Arnaud Charlet <charlet@adacore.com>
7882
7883 * styleg.adb: Address ??? comments.
7884
7885 2021-05-03 Arnaud Charlet <charlet@adacore.com>
7886
7887 * libgnat/a-stunau.ads, libgnat/a-stunau.adb,
7888 libgnat/a-stunau__shared.adb (Set_String): Remove old version,
7889 replace by a new version taking a callback to set the string.
7890
7891 2021-05-03 Arnaud Charlet <charlet@adacore.com>
7892
7893 * libgnat/a-coorma.ads (Map): Add missing
7894 Preelaborate_Initialization.
7895
7896 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7897
7898 * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon):
7899 Simplify with Is_Universal_Numeric_Type.
7900 * sem_attr.adb (Resolve_Attribute): Likewise.
7901 * sem_ch3.adb: Likewise.
7902 * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair):
7903 Likewise.
7904 * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise.
7905 * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op,
7906 Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand,
7907 Set_Operand_Type): Likewise.
7908 * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise.
7909 * sem_util.adb (Universal_Interpretation): Likewise.
7910
7911 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7912
7913 * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested
7914 routines; move a local constant after nested subprogram bodies;
7915 refill comment.
7916
7917 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7918
7919 * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit
7920 type when analysing attribute Priority.
7921 * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case
7922 in analysis of case statements.
7923 (Analyze_Iterator_Specification): Likewise for non-overloaded
7924 domain of iteration.
7925
7926 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7927
7928 * einfo.adb (Write_Entity_Info): Simplify an Ekind membership
7929 test.
7930 * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.
7931
7932 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7933
7934 * exp_ch7.adb (Build_Finalize_Statements): Refine type of a
7935 local counter variable.
7936 * exp_dist.adb (Append_Record_Traversal): Refine type of Counter
7937 parameter.
7938 (Add_Process_Element): Likewise.
7939 (Build_From_Any_Call): Refine type of a local counter variable.
7940 (Build_From_Any_Function): Likewise.
7941 (Build_To_Any_Function): Likewise.
7942 (FA_Rec_Add_Process_Element): Likewise.
7943 (TA_Append_Record_Traversal): Likewise.
7944 (TA_Rec_Add_Process_Element): Likewise.
7945
7946 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
7947
7948 * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.
7949
7950 2021-05-03 Arnaud Charlet <charlet@adacore.com>
7951
7952 * Makefile.rtl: Update copyright notice.
7953 * ada_get_targ.adb: Likewise.
7954 * adabkend.adb: Likewise.
7955 * adabkend.ads: Likewise.
7956 * adadecode.c: Likewise.
7957 * adadecode.h: Likewise.
7958 * adaint.c: Likewise.
7959 * adaint.h: Likewise.
7960 * affinity.c: Likewise.
7961 * ali-util.adb: Likewise.
7962 * ali-util.ads: Likewise.
7963 * ali.adb: Likewise.
7964 * ali.ads: Likewise.
7965 * alloc.ads: Likewise.
7966 * argv-lynxos178-raven-cert.c: Likewise.
7967 * argv.c: Likewise.
7968 * aspects.adb: Likewise.
7969 * aspects.ads: Likewise.
7970 * atree.adb: Likewise.
7971 * atree.ads: Likewise.
7972 * atree.h: Likewise.
7973 * aux-io.c: Likewise.
7974 * back_end.adb: Likewise.
7975 * back_end.ads: Likewise.
7976 * bcheck.adb: Likewise.
7977 * bcheck.ads: Likewise.
7978 * binde.adb: Likewise.
7979 * binde.ads: Likewise.
7980 * binderr.adb: Likewise.
7981 * binderr.ads: Likewise.
7982 * bindgen.adb: Likewise.
7983 * bindgen.ads: Likewise.
7984 * bindo-augmentors.adb: Likewise.
7985 * bindo-augmentors.ads: Likewise.
7986 * bindo-builders.adb: Likewise.
7987 * bindo-builders.ads: Likewise.
7988 * bindo-diagnostics.adb: Likewise.
7989 * bindo-diagnostics.ads: Likewise.
7990 * bindo-elaborators.adb: Likewise.
7991 * bindo-elaborators.ads: Likewise.
7992 * bindo-graphs.adb: Likewise.
7993 * bindo-graphs.ads: Likewise.
7994 * bindo-units.adb: Likewise.
7995 * bindo-units.ads: Likewise.
7996 * bindo-validators.adb: Likewise.
7997 * bindo-validators.ads: Likewise.
7998 * bindo-writers.adb: Likewise.
7999 * bindo-writers.ads: Likewise.
8000 * bindo.adb: Likewise.
8001 * bindo.ads: Likewise.
8002 * bindusg.adb: Likewise.
8003 * bindusg.ads: Likewise.
8004 * butil.adb: Likewise.
8005 * butil.ads: Likewise.
8006 * cal.c: Likewise.
8007 * casing.adb: Likewise.
8008 * casing.ads: Likewise.
8009 * ceinfo.adb: Likewise.
8010 * checks.adb: Likewise.
8011 * checks.ads: Likewise.
8012 * cio.c: Likewise.
8013 * clean.adb: Likewise.
8014 * clean.ads: Likewise.
8015 * comperr.adb: Likewise.
8016 * comperr.ads: Likewise.
8017 * contracts.adb: Likewise.
8018 * contracts.ads: Likewise.
8019 * csets.adb: Likewise.
8020 * csets.ads: Likewise.
8021 * csinfo.adb: Likewise.
8022 * cstand.adb: Likewise.
8023 * cstand.ads: Likewise.
8024 * cstreams.c: Likewise.
8025 * ctrl_c.c: Likewise.
8026 * debug.adb: Likewise.
8027 * debug.ads: Likewise.
8028 * debug_a.adb: Likewise.
8029 * debug_a.ads: Likewise.
8030 * einfo.adb: Likewise.
8031 * einfo.ads: Likewise.
8032 * elists.adb: Likewise.
8033 * elists.ads: Likewise.
8034 * elists.h: Likewise.
8035 * env.c: Likewise.
8036 * env.h: Likewise.
8037 * err_vars.ads: Likewise.
8038 * errno.c: Likewise.
8039 * errout.adb: Likewise.
8040 * errout.ads: Likewise.
8041 * erroutc.adb: Likewise.
8042 * erroutc.ads: Likewise.
8043 * errutil.adb: Likewise.
8044 * errutil.ads: Likewise.
8045 * eval_fat.adb: Likewise.
8046 * eval_fat.ads: Likewise.
8047 * exit.c: Likewise.
8048 * exp_aggr.adb: Likewise.
8049 * exp_aggr.ads: Likewise.
8050 * exp_atag.adb: Likewise.
8051 * exp_atag.ads: Likewise.
8052 * exp_attr.adb: Likewise.
8053 * exp_attr.ads: Likewise.
8054 * exp_cg.adb: Likewise.
8055 * exp_cg.ads: Likewise.
8056 * exp_ch10.ads: Likewise.
8057 * exp_ch11.adb: Likewise.
8058 * exp_ch11.ads: Likewise.
8059 * exp_ch12.adb: Likewise.
8060 * exp_ch12.ads: Likewise.
8061 * exp_ch13.adb: Likewise.
8062 * exp_ch13.ads: Likewise.
8063 * exp_ch2.adb: Likewise.
8064 * exp_ch2.ads: Likewise.
8065 * exp_ch3.adb: Likewise.
8066 * exp_ch3.ads: Likewise.
8067 * exp_ch4.adb: Likewise.
8068 * exp_ch4.ads: Likewise.
8069 * exp_ch5.adb: Likewise.
8070 * exp_ch5.ads: Likewise.
8071 * exp_ch6.adb: Likewise.
8072 * exp_ch6.ads: Likewise.
8073 * exp_ch7.adb: Likewise.
8074 * exp_ch7.ads: Likewise.
8075 * exp_ch8.adb: Likewise.
8076 * exp_ch8.ads: Likewise.
8077 * exp_ch9.adb: Likewise.
8078 * exp_ch9.ads: Likewise.
8079 * exp_code.adb: Likewise.
8080 * exp_code.ads: Likewise.
8081 * exp_dbug.adb: Likewise.
8082 * exp_dbug.ads: Likewise.
8083 * exp_disp.adb: Likewise.
8084 * exp_disp.ads: Likewise.
8085 * exp_dist.adb: Likewise.
8086 * exp_dist.ads: Likewise.
8087 * exp_fixd.adb: Likewise.
8088 * exp_fixd.ads: Likewise.
8089 * exp_imgv.adb: Likewise.
8090 * exp_imgv.ads: Likewise.
8091 * exp_intr.adb: Likewise.
8092 * exp_intr.ads: Likewise.
8093 * exp_pakd.adb: Likewise.
8094 * exp_pakd.ads: Likewise.
8095 * exp_prag.adb: Likewise.
8096 * exp_prag.ads: Likewise.
8097 * exp_put_image.adb: Likewise.
8098 * exp_put_image.ads: Likewise.
8099 * exp_sel.adb: Likewise.
8100 * exp_sel.ads: Likewise.
8101 * exp_smem.adb: Likewise.
8102 * exp_smem.ads: Likewise.
8103 * exp_spark.adb: Likewise.
8104 * exp_spark.ads: Likewise.
8105 * exp_strm.adb: Likewise.
8106 * exp_strm.ads: Likewise.
8107 * exp_tss.adb: Likewise.
8108 * exp_tss.ads: Likewise.
8109 * exp_unst.adb: Likewise.
8110 * exp_unst.ads: Likewise.
8111 * exp_util.adb: Likewise.
8112 * exp_util.ads: Likewise.
8113 * expander.adb: Likewise.
8114 * expander.ads: Likewise.
8115 * expect.c: Likewise.
8116 * fe.h: Likewise.
8117 * final.c: Likewise.
8118 * fmap.adb: Likewise.
8119 * fmap.ads: Likewise.
8120 * fname-sf.adb: Likewise.
8121 * fname-sf.ads: Likewise.
8122 * fname-uf.adb: Likewise.
8123 * fname-uf.ads: Likewise.
8124 * fname.adb: Likewise.
8125 * fname.ads: Likewise.
8126 * freeze.adb: Likewise.
8127 * freeze.ads: Likewise.
8128 * frontend.adb: Likewise.
8129 * frontend.ads: Likewise.
8130 * gcc-interface/ada-tree.h: Likewise.
8131 * gcc-interface/ada.h: Likewise.
8132 * gcc-interface/cuintp.c: Likewise.
8133 * gcc-interface/decl.c: Likewise.
8134 * gcc-interface/gadaint.h: Likewise.
8135 * gcc-interface/gigi.h: Likewise.
8136 * gcc-interface/lang-specs.h: Likewise.
8137 * gcc-interface/misc.c: Likewise.
8138 * gcc-interface/system.ads: Likewise.
8139 * gcc-interface/targtyps.c: Likewise.
8140 * gcc-interface/trans.c: Likewise.
8141 * gcc-interface/utils.c: Likewise.
8142 * gcc-interface/utils2.c: Likewise.
8143 * get_scos.adb: Likewise.
8144 * get_scos.ads: Likewise.
8145 * get_targ.adb: Likewise.
8146 * get_targ.ads: Likewise.
8147 * ghost.adb: Likewise.
8148 * ghost.ads: Likewise.
8149 * gnat1drv.adb: Likewise.
8150 * gnat1drv.ads: Likewise.
8151 * gnat_cuda.adb: Likewise.
8152 * gnat_cuda.ads: Likewise.
8153 * gnatbind.adb: Likewise.
8154 * gnatbind.ads: Likewise.
8155 * gnatchop.adb: Likewise.
8156 * gnatclean.adb: Likewise.
8157 * gnatcmd.adb: Likewise.
8158 * gnatcmd.ads: Likewise.
8159 * gnatdll.adb: Likewise.
8160 * gnatfind.adb: Likewise.
8161 * gnatkr.adb: Likewise.
8162 * gnatkr.ads: Likewise.
8163 * gnatlink.adb: Likewise.
8164 * gnatlink.ads: Likewise.
8165 * gnatls.adb: Likewise.
8166 * gnatls.ads: Likewise.
8167 * gnatmake.adb: Likewise.
8168 * gnatmake.ads: Likewise.
8169 * gnatname.adb: Likewise.
8170 * gnatname.ads: Likewise.
8171 * gnatprep.adb: Likewise.
8172 * gnatprep.ads: Likewise.
8173 * gnatvsn.adb: Likewise.
8174 * gnatvsn.ads: Likewise.
8175 * gnatxref.adb: Likewise.
8176 * gprep.adb: Likewise.
8177 * gprep.ads: Likewise.
8178 * gsocket.h: Likewise.
8179 * hostparm.ads: Likewise.
8180 * impunit.adb: Likewise.
8181 * impunit.ads: Likewise.
8182 * indepsw-aix.adb: Likewise.
8183 * indepsw-darwin.adb: Likewise.
8184 * indepsw-gnu.adb: Likewise.
8185 * indepsw.adb: Likewise.
8186 * indepsw.ads: Likewise.
8187 * init.c: Likewise.
8188 * initialize.c: Likewise.
8189 * inline.adb: Likewise.
8190 * inline.ads: Likewise.
8191 * itypes.adb: Likewise.
8192 * itypes.ads: Likewise.
8193 * krunch.adb: Likewise.
8194 * krunch.ads: Likewise.
8195 * layout.adb: Likewise.
8196 * layout.ads: Likewise.
8197 * lib-list.adb: Likewise.
8198 * lib-load.adb: Likewise.
8199 * lib-load.ads: Likewise.
8200 * lib-sort.adb: Likewise.
8201 * lib-util.adb: Likewise.
8202 * lib-util.ads: Likewise.
8203 * lib-writ.adb: Likewise.
8204 * lib-writ.ads: Likewise.
8205 * lib-xref-spark_specific.adb: Likewise.
8206 * lib-xref.adb: Likewise.
8207 * lib-xref.ads: Likewise.
8208 * lib.adb: Likewise.
8209 * lib.ads: Likewise.
8210 * libgnarl/a-astaco.adb: Likewise.
8211 * libgnarl/a-dispat.adb: Likewise.
8212 * libgnarl/a-dynpri.adb: Likewise.
8213 * libgnarl/a-etgrbu.ads: Likewise.
8214 * libgnarl/a-exetim__darwin.adb: Likewise.
8215 * libgnarl/a-exetim__default.ads: Likewise.
8216 * libgnarl/a-exetim__mingw.adb: Likewise.
8217 * libgnarl/a-exetim__mingw.ads: Likewise.
8218 * libgnarl/a-exetim__posix.adb: Likewise.
8219 * libgnarl/a-interr.adb: Likewise.
8220 * libgnarl/a-interr.ads: Likewise.
8221 * libgnarl/a-intnam.ads: Likewise.
8222 * libgnarl/a-intnam__aix.ads: Likewise.
8223 * libgnarl/a-intnam__darwin.ads: Likewise.
8224 * libgnarl/a-intnam__dragonfly.ads: Likewise.
8225 * libgnarl/a-intnam__dummy.ads: Likewise.
8226 * libgnarl/a-intnam__freebsd.ads: Likewise.
8227 * libgnarl/a-intnam__hpux.ads: Likewise.
8228 * libgnarl/a-intnam__linux.ads: Likewise.
8229 * libgnarl/a-intnam__lynxos.ads: Likewise.
8230 * libgnarl/a-intnam__mingw.ads: Likewise.
8231 * libgnarl/a-intnam__qnx.ads: Likewise.
8232 * libgnarl/a-intnam__rtems.ads: Likewise.
8233 * libgnarl/a-intnam__solaris.ads: Likewise.
8234 * libgnarl/a-intnam__vxworks.ads: Likewise.
8235 * libgnarl/a-reatim.adb: Likewise.
8236 * libgnarl/a-reatim.ads: Likewise.
8237 * libgnarl/a-retide.adb: Likewise.
8238 * libgnarl/a-retide.ads: Likewise.
8239 * libgnarl/a-rttiev.adb: Likewise.
8240 * libgnarl/a-rttiev.ads: Likewise.
8241 * libgnarl/a-synbar.adb: Likewise.
8242 * libgnarl/a-synbar.ads: Likewise.
8243 * libgnarl/a-synbar__posix.adb: Likewise.
8244 * libgnarl/a-synbar__posix.ads: Likewise.
8245 * libgnarl/a-sytaco.adb: Likewise.
8246 * libgnarl/a-sytaco.ads: Likewise.
8247 * libgnarl/a-tasatt.adb: Likewise.
8248 * libgnarl/a-tasatt.ads: Likewise.
8249 * libgnarl/a-taside.adb: Likewise.
8250 * libgnarl/a-taside.ads: Likewise.
8251 * libgnarl/a-tasini.adb: Likewise.
8252 * libgnarl/a-tasini.ads: Likewise.
8253 * libgnarl/a-taster.adb: Likewise.
8254 * libgnarl/g-boubuf.adb: Likewise.
8255 * libgnarl/g-boubuf.ads: Likewise.
8256 * libgnarl/g-boumai.ads: Likewise.
8257 * libgnarl/g-semaph.adb: Likewise.
8258 * libgnarl/g-semaph.ads: Likewise.
8259 * libgnarl/g-signal.adb: Likewise.
8260 * libgnarl/g-signal.ads: Likewise.
8261 * libgnarl/g-tastus.ads: Likewise.
8262 * libgnarl/g-thread.adb: Likewise.
8263 * libgnarl/g-thread.ads: Likewise.
8264 * libgnarl/i-vxinco.adb: Likewise.
8265 * libgnarl/i-vxinco.ads: Likewise.
8266 * libgnarl/s-inmaop.ads: Likewise.
8267 * libgnarl/s-inmaop__dummy.adb: Likewise.
8268 * libgnarl/s-inmaop__posix.adb: Likewise.
8269 * libgnarl/s-inmaop__vxworks.adb: Likewise.
8270 * libgnarl/s-interr.adb: Likewise.
8271 * libgnarl/s-interr.ads: Likewise.
8272 * libgnarl/s-interr__dummy.adb: Likewise.
8273 * libgnarl/s-interr__hwint.adb: Likewise.
8274 * libgnarl/s-interr__sigaction.adb: Likewise.
8275 * libgnarl/s-interr__vxworks.adb: Likewise.
8276 * libgnarl/s-intman.ads: Likewise.
8277 * libgnarl/s-intman__android.adb: Likewise.
8278 * libgnarl/s-intman__dummy.adb: Likewise.
8279 * libgnarl/s-intman__lynxos.adb: Likewise.
8280 * libgnarl/s-intman__mingw.adb: Likewise.
8281 * libgnarl/s-intman__posix.adb: Likewise.
8282 * libgnarl/s-intman__qnx.adb: Likewise.
8283 * libgnarl/s-intman__solaris.adb: Likewise.
8284 * libgnarl/s-intman__susv3.adb: Likewise.
8285 * libgnarl/s-intman__vxworks.adb: Likewise.
8286 * libgnarl/s-intman__vxworks.ads: Likewise.
8287 * libgnarl/s-linux.ads: Likewise.
8288 * libgnarl/s-linux__alpha.ads: Likewise.
8289 * libgnarl/s-linux__android.ads: Likewise.
8290 * libgnarl/s-linux__hppa.ads: Likewise.
8291 * libgnarl/s-linux__mips.ads: Likewise.
8292 * libgnarl/s-linux__riscv.ads: Likewise.
8293 * libgnarl/s-linux__sparc.ads: Likewise.
8294 * libgnarl/s-linux__x32.ads: Likewise.
8295 * libgnarl/s-mudido.adb: Likewise.
8296 * libgnarl/s-mudido__affinity.adb: Likewise.
8297 * libgnarl/s-osinte__aix.adb: Likewise.
8298 * libgnarl/s-osinte__aix.ads: Likewise.
8299 * libgnarl/s-osinte__android.adb: Likewise.
8300 * libgnarl/s-osinte__android.ads: Likewise.
8301 * libgnarl/s-osinte__darwin.adb: Likewise.
8302 * libgnarl/s-osinte__darwin.ads: Likewise.
8303 * libgnarl/s-osinte__dragonfly.adb: Likewise.
8304 * libgnarl/s-osinte__dragonfly.ads: Likewise.
8305 * libgnarl/s-osinte__dummy.ads: Likewise.
8306 * libgnarl/s-osinte__freebsd.adb: Likewise.
8307 * libgnarl/s-osinte__freebsd.ads: Likewise.
8308 * libgnarl/s-osinte__gnu.adb: Likewise.
8309 * libgnarl/s-osinte__gnu.ads: Likewise.
8310 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
8311 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
8312 * libgnarl/s-osinte__hpux.ads: Likewise.
8313 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
8314 * libgnarl/s-osinte__linux.ads: Likewise.
8315 * libgnarl/s-osinte__lynxos178.adb: Likewise.
8316 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
8317 * libgnarl/s-osinte__mingw.ads: Likewise.
8318 * libgnarl/s-osinte__posix.adb: Likewise.
8319 * libgnarl/s-osinte__qnx.adb: Likewise.
8320 * libgnarl/s-osinte__qnx.ads: Likewise.
8321 * libgnarl/s-osinte__rtems.adb: Likewise.
8322 * libgnarl/s-osinte__rtems.ads: Likewise.
8323 * libgnarl/s-osinte__solaris.adb: Likewise.
8324 * libgnarl/s-osinte__solaris.ads: Likewise.
8325 * libgnarl/s-osinte__vxworks.adb: Likewise.
8326 * libgnarl/s-osinte__vxworks.ads: Likewise.
8327 * libgnarl/s-osinte__x32.adb: Likewise.
8328 * libgnarl/s-proinf.adb: Likewise.
8329 * libgnarl/s-proinf.ads: Likewise.
8330 * libgnarl/s-qnx.ads: Likewise.
8331 * libgnarl/s-solita.adb: Likewise.
8332 * libgnarl/s-solita.ads: Likewise.
8333 * libgnarl/s-stusta.adb: Likewise.
8334 * libgnarl/s-stusta.ads: Likewise.
8335 * libgnarl/s-taasde.adb: Likewise.
8336 * libgnarl/s-taasde.ads: Likewise.
8337 * libgnarl/s-tadeca.adb: Likewise.
8338 * libgnarl/s-tadeca.ads: Likewise.
8339 * libgnarl/s-tadert.adb: Likewise.
8340 * libgnarl/s-tadert.ads: Likewise.
8341 * libgnarl/s-taenca.adb: Likewise.
8342 * libgnarl/s-taenca.ads: Likewise.
8343 * libgnarl/s-taprob.adb: Likewise.
8344 * libgnarl/s-taprob.ads: Likewise.
8345 * libgnarl/s-taprop.ads: Likewise.
8346 * libgnarl/s-taprop__dummy.adb: Likewise.
8347 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
8348 * libgnarl/s-taprop__linux.adb: Likewise.
8349 * libgnarl/s-taprop__mingw.adb: Likewise.
8350 * libgnarl/s-taprop__posix.adb: Likewise.
8351 * libgnarl/s-taprop__qnx.adb: Likewise.
8352 * libgnarl/s-taprop__solaris.adb: Likewise.
8353 * libgnarl/s-taprop__vxworks.adb: Likewise.
8354 * libgnarl/s-tarest.adb: Likewise.
8355 * libgnarl/s-tarest.ads: Likewise.
8356 * libgnarl/s-tasdeb.adb: Likewise.
8357 * libgnarl/s-tasdeb.ads: Likewise.
8358 * libgnarl/s-tasinf.adb: Likewise.
8359 * libgnarl/s-tasinf.ads: Likewise.
8360 * libgnarl/s-tasinf__linux.adb: Likewise.
8361 * libgnarl/s-tasinf__linux.ads: Likewise.
8362 * libgnarl/s-tasinf__mingw.adb: Likewise.
8363 * libgnarl/s-tasinf__mingw.ads: Likewise.
8364 * libgnarl/s-tasinf__solaris.adb: Likewise.
8365 * libgnarl/s-tasinf__solaris.ads: Likewise.
8366 * libgnarl/s-tasinf__vxworks.ads: Likewise.
8367 * libgnarl/s-tasini.adb: Likewise.
8368 * libgnarl/s-tasini.ads: Likewise.
8369 * libgnarl/s-taskin.adb: Likewise.
8370 * libgnarl/s-taskin.ads: Likewise.
8371 * libgnarl/s-taspri__dummy.ads: Likewise.
8372 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
8373 * libgnarl/s-taspri__lynxos.ads: Likewise.
8374 * libgnarl/s-taspri__mingw.ads: Likewise.
8375 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
8376 * libgnarl/s-taspri__posix.ads: Likewise.
8377 * libgnarl/s-taspri__solaris.ads: Likewise.
8378 * libgnarl/s-taspri__vxworks.ads: Likewise.
8379 * libgnarl/s-tasque.adb: Likewise.
8380 * libgnarl/s-tasque.ads: Likewise.
8381 * libgnarl/s-tasren.adb: Likewise.
8382 * libgnarl/s-tasren.ads: Likewise.
8383 * libgnarl/s-tasres.ads: Likewise.
8384 * libgnarl/s-tassta.adb: Likewise.
8385 * libgnarl/s-tassta.ads: Likewise.
8386 * libgnarl/s-tasuti.adb: Likewise.
8387 * libgnarl/s-tasuti.ads: Likewise.
8388 * libgnarl/s-tataat.adb: Likewise.
8389 * libgnarl/s-tataat.ads: Likewise.
8390 * libgnarl/s-tpinop.adb: Likewise.
8391 * libgnarl/s-tpinop.ads: Likewise.
8392 * libgnarl/s-tpoaal.adb: Likewise.
8393 * libgnarl/s-tpoben.adb: Likewise.
8394 * libgnarl/s-tpoben.ads: Likewise.
8395 * libgnarl/s-tpobmu.adb: Likewise.
8396 * libgnarl/s-tpobmu.ads: Likewise.
8397 * libgnarl/s-tpobop.adb: Likewise.
8398 * libgnarl/s-tpobop.ads: Likewise.
8399 * libgnarl/s-tpopmo.adb: Likewise.
8400 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
8401 * libgnarl/s-tpopsp__posix.adb: Likewise.
8402 * libgnarl/s-tpopsp__solaris.adb: Likewise.
8403 * libgnarl/s-tpopsp__tls.adb: Likewise.
8404 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
8405 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
8406 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
8407 * libgnarl/s-tporft.adb: Likewise.
8408 * libgnarl/s-tposen.adb: Likewise.
8409 * libgnarl/s-tposen.ads: Likewise.
8410 * libgnarl/s-vxwext.adb: Likewise.
8411 * libgnarl/s-vxwext.ads: Likewise.
8412 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
8413 * libgnarl/s-vxwext__kernel.adb: Likewise.
8414 * libgnarl/s-vxwext__kernel.ads: Likewise.
8415 * libgnarl/s-vxwext__noints.adb: Likewise.
8416 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
8417 * libgnarl/s-vxwext__rtp.adb: Likewise.
8418 * libgnarl/s-vxwext__rtp.ads: Likewise.
8419 * libgnarl/s-vxwext__vthreads.ads: Likewise.
8420 * libgnarl/s-vxwork__aarch64.ads: Likewise.
8421 * libgnarl/s-vxwork__arm.ads: Likewise.
8422 * libgnarl/s-vxwork__ppc.ads: Likewise.
8423 * libgnarl/s-vxwork__x86.ads: Likewise.
8424 * libgnarl/thread.c: Likewise.
8425 * libgnat/a-assert.adb: Likewise.
8426 * libgnat/a-assert.ads: Likewise.
8427 * libgnat/a-btgbso.adb: Likewise.
8428 * libgnat/a-btgbso.ads: Likewise.
8429 * libgnat/a-calari.adb: Likewise.
8430 * libgnat/a-calari.ads: Likewise.
8431 * libgnat/a-calcon.adb: Likewise.
8432 * libgnat/a-calcon.ads: Likewise.
8433 * libgnat/a-caldel.adb: Likewise.
8434 * libgnat/a-caldel.ads: Likewise.
8435 * libgnat/a-calend.adb: Likewise.
8436 * libgnat/a-calend.ads: Likewise.
8437 * libgnat/a-calfor.adb: Likewise.
8438 * libgnat/a-calfor.ads: Likewise.
8439 * libgnat/a-catizo.adb: Likewise.
8440 * libgnat/a-cbdlli.adb: Likewise.
8441 * libgnat/a-cbdlli.ads: Likewise.
8442 * libgnat/a-cbhama.adb: Likewise.
8443 * libgnat/a-cbhama.ads: Likewise.
8444 * libgnat/a-cbhase.adb: Likewise.
8445 * libgnat/a-cbhase.ads: Likewise.
8446 * libgnat/a-cbmutr.adb: Likewise.
8447 * libgnat/a-cbmutr.ads: Likewise.
8448 * libgnat/a-cborma.adb: Likewise.
8449 * libgnat/a-cborma.ads: Likewise.
8450 * libgnat/a-cborse.adb: Likewise.
8451 * libgnat/a-cborse.ads: Likewise.
8452 * libgnat/a-cbprqu.adb: Likewise.
8453 * libgnat/a-cbprqu.ads: Likewise.
8454 * libgnat/a-cbsyqu.adb: Likewise.
8455 * libgnat/a-cbsyqu.ads: Likewise.
8456 * libgnat/a-cdlili.adb: Likewise.
8457 * libgnat/a-cdlili.ads: Likewise.
8458 * libgnat/a-cfdlli.adb: Likewise.
8459 * libgnat/a-cfdlli.ads: Likewise.
8460 * libgnat/a-cfhama.adb: Likewise.
8461 * libgnat/a-cfhama.ads: Likewise.
8462 * libgnat/a-cfhase.adb: Likewise.
8463 * libgnat/a-cfhase.ads: Likewise.
8464 * libgnat/a-cfinve.adb: Likewise.
8465 * libgnat/a-cfinve.ads: Likewise.
8466 * libgnat/a-cforma.adb: Likewise.
8467 * libgnat/a-cforma.ads: Likewise.
8468 * libgnat/a-cforse.adb: Likewise.
8469 * libgnat/a-cforse.ads: Likewise.
8470 * libgnat/a-cgaaso.adb: Likewise.
8471 * libgnat/a-cgaaso.ads: Likewise.
8472 * libgnat/a-cgarso.adb: Likewise.
8473 * libgnat/a-cgcaso.adb: Likewise.
8474 * libgnat/a-chacon.adb: Likewise.
8475 * libgnat/a-chacon.ads: Likewise.
8476 * libgnat/a-chahan.adb: Likewise.
8477 * libgnat/a-chahan.ads: Likewise.
8478 * libgnat/a-chlat9.ads: Likewise.
8479 * libgnat/a-chtgbk.adb: Likewise.
8480 * libgnat/a-chtgbk.ads: Likewise.
8481 * libgnat/a-chtgbo.adb: Likewise.
8482 * libgnat/a-chtgbo.ads: Likewise.
8483 * libgnat/a-chtgke.adb: Likewise.
8484 * libgnat/a-chtgke.ads: Likewise.
8485 * libgnat/a-chtgop.adb: Likewise.
8486 * libgnat/a-chtgop.ads: Likewise.
8487 * libgnat/a-chzla1.ads: Likewise.
8488 * libgnat/a-chzla9.ads: Likewise.
8489 * libgnat/a-cidlli.adb: Likewise.
8490 * libgnat/a-cidlli.ads: Likewise.
8491 * libgnat/a-cihama.adb: Likewise.
8492 * libgnat/a-cihama.ads: Likewise.
8493 * libgnat/a-cihase.adb: Likewise.
8494 * libgnat/a-cihase.ads: Likewise.
8495 * libgnat/a-cimutr.adb: Likewise.
8496 * libgnat/a-cimutr.ads: Likewise.
8497 * libgnat/a-ciorma.adb: Likewise.
8498 * libgnat/a-ciorma.ads: Likewise.
8499 * libgnat/a-ciormu.adb: Likewise.
8500 * libgnat/a-ciormu.ads: Likewise.
8501 * libgnat/a-ciorse.adb: Likewise.
8502 * libgnat/a-ciorse.ads: Likewise.
8503 * libgnat/a-clrefi.adb: Likewise.
8504 * libgnat/a-clrefi.ads: Likewise.
8505 * libgnat/a-coboho.adb: Likewise.
8506 * libgnat/a-coboho.ads: Likewise.
8507 * libgnat/a-cobove.adb: Likewise.
8508 * libgnat/a-cobove.ads: Likewise.
8509 * libgnat/a-cofove.adb: Likewise.
8510 * libgnat/a-cofove.ads: Likewise.
8511 * libgnat/a-cofuba.adb: Likewise.
8512 * libgnat/a-cofuba.ads: Likewise.
8513 * libgnat/a-cofuma.adb: Likewise.
8514 * libgnat/a-cofuma.ads: Likewise.
8515 * libgnat/a-cofuse.adb: Likewise.
8516 * libgnat/a-cofuse.ads: Likewise.
8517 * libgnat/a-cofuve.adb: Likewise.
8518 * libgnat/a-cofuve.ads: Likewise.
8519 * libgnat/a-cogeso.adb: Likewise.
8520 * libgnat/a-cogeso.ads: Likewise.
8521 * libgnat/a-cohama.adb: Likewise.
8522 * libgnat/a-cohama.ads: Likewise.
8523 * libgnat/a-cohase.adb: Likewise.
8524 * libgnat/a-cohase.ads: Likewise.
8525 * libgnat/a-cohata.ads: Likewise.
8526 * libgnat/a-coinho.adb: Likewise.
8527 * libgnat/a-coinho.ads: Likewise.
8528 * libgnat/a-coinho__shared.adb: Likewise.
8529 * libgnat/a-coinho__shared.ads: Likewise.
8530 * libgnat/a-coinve.adb: Likewise.
8531 * libgnat/a-coinve.ads: Likewise.
8532 * libgnat/a-colien.adb: Likewise.
8533 * libgnat/a-colien.ads: Likewise.
8534 * libgnat/a-colire.adb: Likewise.
8535 * libgnat/a-colire.ads: Likewise.
8536 * libgnat/a-comlin.adb: Likewise.
8537 * libgnat/a-comlin.ads: Likewise.
8538 * libgnat/a-comutr.adb: Likewise.
8539 * libgnat/a-comutr.ads: Likewise.
8540 * libgnat/a-conhel.adb: Likewise.
8541 * libgnat/a-conhel.ads: Likewise.
8542 * libgnat/a-convec.adb: Likewise.
8543 * libgnat/a-convec.ads: Likewise.
8544 * libgnat/a-coorma.adb: Likewise.
8545 * libgnat/a-coorma.ads: Likewise.
8546 * libgnat/a-coormu.adb: Likewise.
8547 * libgnat/a-coormu.ads: Likewise.
8548 * libgnat/a-coorse.adb: Likewise.
8549 * libgnat/a-coorse.ads: Likewise.
8550 * libgnat/a-coprnu.adb: Likewise.
8551 * libgnat/a-coprnu.ads: Likewise.
8552 * libgnat/a-crbltr.ads: Likewise.
8553 * libgnat/a-crbtgk.adb: Likewise.
8554 * libgnat/a-crbtgk.ads: Likewise.
8555 * libgnat/a-crbtgo.adb: Likewise.
8556 * libgnat/a-crbtgo.ads: Likewise.
8557 * libgnat/a-crdlli.adb: Likewise.
8558 * libgnat/a-crdlli.ads: Likewise.
8559 * libgnat/a-csquin.ads: Likewise.
8560 * libgnat/a-cuprqu.adb: Likewise.
8561 * libgnat/a-cuprqu.ads: Likewise.
8562 * libgnat/a-cusyqu.adb: Likewise.
8563 * libgnat/a-cusyqu.ads: Likewise.
8564 * libgnat/a-cwila1.ads: Likewise.
8565 * libgnat/a-cwila9.ads: Likewise.
8566 * libgnat/a-decima.adb: Likewise.
8567 * libgnat/a-decima.ads: Likewise.
8568 * libgnat/a-decima__128.ads: Likewise.
8569 * libgnat/a-dhfina.adb: Likewise.
8570 * libgnat/a-dhfina.ads: Likewise.
8571 * libgnat/a-diocst.adb: Likewise.
8572 * libgnat/a-diocst.ads: Likewise.
8573 * libgnat/a-direct.adb: Likewise.
8574 * libgnat/a-direct.ads: Likewise.
8575 * libgnat/a-direio.adb: Likewise.
8576 * libgnat/a-direio.ads: Likewise.
8577 * libgnat/a-dirval.adb: Likewise.
8578 * libgnat/a-dirval.ads: Likewise.
8579 * libgnat/a-dirval__mingw.adb: Likewise.
8580 * libgnat/a-einuoc.adb: Likewise.
8581 * libgnat/a-einuoc.ads: Likewise.
8582 * libgnat/a-elchha.adb: Likewise.
8583 * libgnat/a-elchha.ads: Likewise.
8584 * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
8585 * libgnat/a-envvar.adb: Likewise.
8586 * libgnat/a-excach.adb: Likewise.
8587 * libgnat/a-except.adb: Likewise.
8588 * libgnat/a-except.ads: Likewise.
8589 * libgnat/a-exctra.adb: Likewise.
8590 * libgnat/a-exctra.ads: Likewise.
8591 * libgnat/a-exexda.adb: Likewise.
8592 * libgnat/a-exexpr.adb: Likewise.
8593 * libgnat/a-exextr.adb: Likewise.
8594 * libgnat/a-exstat.adb: Likewise.
8595 * libgnat/a-finali.adb: Likewise.
8596 * libgnat/a-finali.ads: Likewise.
8597 * libgnat/a-locale.adb: Likewise.
8598 * libgnat/a-locale.ads: Likewise.
8599 * libgnat/a-nagefl.ads: Likewise.
8600 * libgnat/a-naliop.ads: Likewise.
8601 * libgnat/a-naliop__nolibm.ads: Likewise.
8602 * libgnat/a-nallfl.ads: Likewise.
8603 * libgnat/a-nallfl__wraplf.ads: Likewise.
8604 * libgnat/a-nalofl.ads: Likewise.
8605 * libgnat/a-nashfl.ads: Likewise.
8606 * libgnat/a-nashfl__wraplf.ads: Likewise.
8607 * libgnat/a-nbnbin.adb: Likewise.
8608 * libgnat/a-nbnbin__gmp.adb: Likewise.
8609 * libgnat/a-nbnbre.adb: Likewise.
8610 * libgnat/a-ngcefu.adb: Likewise.
8611 * libgnat/a-ngcoar.adb: Likewise.
8612 * libgnat/a-ngcoty.adb: Likewise.
8613 * libgnat/a-ngcoty.ads: Likewise.
8614 * libgnat/a-ngelfu.adb: Likewise.
8615 * libgnat/a-ngelfu.ads: Likewise.
8616 * libgnat/a-ngrear.adb: Likewise.
8617 * libgnat/a-ngrear.ads: Likewise.
8618 * libgnat/a-nuauco.ads: Likewise.
8619 * libgnat/a-nuauco__x86.ads: Likewise.
8620 * libgnat/a-nuaufl.ads: Likewise.
8621 * libgnat/a-nuaufl__wraplf.ads: Likewise.
8622 * libgnat/a-nudira.adb: Likewise.
8623 * libgnat/a-nudira.ads: Likewise.
8624 * libgnat/a-nuflra.adb: Likewise.
8625 * libgnat/a-nuflra.ads: Likewise.
8626 * libgnat/a-numaux.ads: Likewise.
8627 * libgnat/a-rbtgbk.adb: Likewise.
8628 * libgnat/a-rbtgbk.ads: Likewise.
8629 * libgnat/a-rbtgbo.adb: Likewise.
8630 * libgnat/a-rbtgbo.ads: Likewise.
8631 * libgnat/a-rbtgso.adb: Likewise.
8632 * libgnat/a-rbtgso.ads: Likewise.
8633 * libgnat/a-sbecin.adb: Likewise.
8634 * libgnat/a-sbecin.ads: Likewise.
8635 * libgnat/a-sbhcin.adb: Likewise.
8636 * libgnat/a-sbhcin.ads: Likewise.
8637 * libgnat/a-sblcin.adb: Likewise.
8638 * libgnat/a-sblcin.ads: Likewise.
8639 * libgnat/a-secain.adb: Likewise.
8640 * libgnat/a-secain.ads: Likewise.
8641 * libgnat/a-sequio.adb: Likewise.
8642 * libgnat/a-sequio.ads: Likewise.
8643 * libgnat/a-sfecin.ads: Likewise.
8644 * libgnat/a-sfhcin.ads: Likewise.
8645 * libgnat/a-sflcin.ads: Likewise.
8646 * libgnat/a-shcain.adb: Likewise.
8647 * libgnat/a-shcain.ads: Likewise.
8648 * libgnat/a-siocst.adb: Likewise.
8649 * libgnat/a-siocst.ads: Likewise.
8650 * libgnat/a-slcain.adb: Likewise.
8651 * libgnat/a-slcain.ads: Likewise.
8652 * libgnat/a-ssicst.adb: Likewise.
8653 * libgnat/a-ssicst.ads: Likewise.
8654 * libgnat/a-stboha.adb: Likewise.
8655 * libgnat/a-stmaco.ads: Likewise.
8656 * libgnat/a-stobbu.adb: Likewise.
8657 * libgnat/a-stobbu.ads: Likewise.
8658 * libgnat/a-stobfi.adb: Likewise.
8659 * libgnat/a-stobfi.ads: Likewise.
8660 * libgnat/a-storio.adb: Likewise.
8661 * libgnat/a-stoubu.adb: Likewise.
8662 * libgnat/a-stoubu.ads: Likewise.
8663 * libgnat/a-stoufi.adb: Likewise.
8664 * libgnat/a-stoufi.ads: Likewise.
8665 * libgnat/a-stoufo.adb: Likewise.
8666 * libgnat/a-stoufo.ads: Likewise.
8667 * libgnat/a-stouut.adb: Likewise.
8668 * libgnat/a-stouut.ads: Likewise.
8669 * libgnat/a-strbou.adb: Likewise.
8670 * libgnat/a-strbou.ads: Likewise.
8671 * libgnat/a-stream.adb: Likewise.
8672 * libgnat/a-stream.ads: Likewise.
8673 * libgnat/a-strfix.adb: Likewise.
8674 * libgnat/a-strhas.adb: Likewise.
8675 * libgnat/a-strmap.adb: Likewise.
8676 * libgnat/a-strmap.ads: Likewise.
8677 * libgnat/a-strsea.adb: Likewise.
8678 * libgnat/a-strsea.ads: Likewise.
8679 * libgnat/a-strsto.ads: Likewise.
8680 * libgnat/a-strsup.adb: Likewise.
8681 * libgnat/a-strsup.ads: Likewise.
8682 * libgnat/a-strunb.adb: Likewise.
8683 * libgnat/a-strunb.ads: Likewise.
8684 * libgnat/a-strunb__shared.adb: Likewise.
8685 * libgnat/a-strunb__shared.ads: Likewise.
8686 * libgnat/a-ststbo.adb: Likewise.
8687 * libgnat/a-ststbo.ads: Likewise.
8688 * libgnat/a-ststio.adb: Likewise.
8689 * libgnat/a-ststio.ads: Likewise.
8690 * libgnat/a-ststun.adb: Likewise.
8691 * libgnat/a-ststun.ads: Likewise.
8692 * libgnat/a-stteou.ads: Likewise.
8693 * libgnat/a-stunau.adb: Likewise.
8694 * libgnat/a-stunau.ads: Likewise.
8695 * libgnat/a-stunau__shared.adb: Likewise.
8696 * libgnat/a-stunha.adb: Likewise.
8697 * libgnat/a-stuten.adb: Likewise.
8698 * libgnat/a-stwibo.adb: Likewise.
8699 * libgnat/a-stwibo.ads: Likewise.
8700 * libgnat/a-stwifi.adb: Likewise.
8701 * libgnat/a-stwiha.adb: Likewise.
8702 * libgnat/a-stwima.adb: Likewise.
8703 * libgnat/a-stwima.ads: Likewise.
8704 * libgnat/a-stwise.adb: Likewise.
8705 * libgnat/a-stwise.ads: Likewise.
8706 * libgnat/a-stwisu.adb: Likewise.
8707 * libgnat/a-stwisu.ads: Likewise.
8708 * libgnat/a-stwiun.adb: Likewise.
8709 * libgnat/a-stwiun.ads: Likewise.
8710 * libgnat/a-stwiun__shared.adb: Likewise.
8711 * libgnat/a-stwiun__shared.ads: Likewise.
8712 * libgnat/a-stzbou.adb: Likewise.
8713 * libgnat/a-stzbou.ads: Likewise.
8714 * libgnat/a-stzfix.adb: Likewise.
8715 * libgnat/a-stzhas.adb: Likewise.
8716 * libgnat/a-stzmap.adb: Likewise.
8717 * libgnat/a-stzmap.ads: Likewise.
8718 * libgnat/a-stzsea.adb: Likewise.
8719 * libgnat/a-stzsea.ads: Likewise.
8720 * libgnat/a-stzsup.adb: Likewise.
8721 * libgnat/a-stzsup.ads: Likewise.
8722 * libgnat/a-stzunb.adb: Likewise.
8723 * libgnat/a-stzunb.ads: Likewise.
8724 * libgnat/a-stzunb__shared.adb: Likewise.
8725 * libgnat/a-stzunb__shared.ads: Likewise.
8726 * libgnat/a-suecin.adb: Likewise.
8727 * libgnat/a-suecin.ads: Likewise.
8728 * libgnat/a-suenco.adb: Likewise.
8729 * libgnat/a-suenst.adb: Likewise.
8730 * libgnat/a-suewst.adb: Likewise.
8731 * libgnat/a-suezst.adb: Likewise.
8732 * libgnat/a-suhcin.adb: Likewise.
8733 * libgnat/a-suhcin.ads: Likewise.
8734 * libgnat/a-sulcin.adb: Likewise.
8735 * libgnat/a-sulcin.ads: Likewise.
8736 * libgnat/a-suteio.adb: Likewise.
8737 * libgnat/a-suteio.ads: Likewise.
8738 * libgnat/a-suteio__shared.adb: Likewise.
8739 * libgnat/a-swbwha.adb: Likewise.
8740 * libgnat/a-swmwco.ads: Likewise.
8741 * libgnat/a-swunau.adb: Likewise.
8742 * libgnat/a-swunau.ads: Likewise.
8743 * libgnat/a-swunau__shared.adb: Likewise.
8744 * libgnat/a-swuwha.adb: Likewise.
8745 * libgnat/a-swuwti.adb: Likewise.
8746 * libgnat/a-swuwti.ads: Likewise.
8747 * libgnat/a-swuwti__shared.adb: Likewise.
8748 * libgnat/a-szbzha.adb: Likewise.
8749 * libgnat/a-szmzco.ads: Likewise.
8750 * libgnat/a-szunau.adb: Likewise.
8751 * libgnat/a-szunau.ads: Likewise.
8752 * libgnat/a-szunau__shared.adb: Likewise.
8753 * libgnat/a-szuzha.adb: Likewise.
8754 * libgnat/a-szuzti.adb: Likewise.
8755 * libgnat/a-szuzti.ads: Likewise.
8756 * libgnat/a-szuzti__shared.adb: Likewise.
8757 * libgnat/a-tags.adb: Likewise.
8758 * libgnat/a-tags.ads: Likewise.
8759 * libgnat/a-teioed.adb: Likewise.
8760 * libgnat/a-teioed.ads: Likewise.
8761 * libgnat/a-textio.adb: Likewise.
8762 * libgnat/a-textio.ads: Likewise.
8763 * libgnat/a-tiboio.adb: Likewise.
8764 * libgnat/a-ticoau.adb: Likewise.
8765 * libgnat/a-ticoau.ads: Likewise.
8766 * libgnat/a-ticoio.adb: Likewise.
8767 * libgnat/a-ticoio.ads: Likewise.
8768 * libgnat/a-tideau.adb: Likewise.
8769 * libgnat/a-tideau.ads: Likewise.
8770 * libgnat/a-tideio.adb: Likewise.
8771 * libgnat/a-tideio.ads: Likewise.
8772 * libgnat/a-tideio__128.adb: Likewise.
8773 * libgnat/a-tienau.adb: Likewise.
8774 * libgnat/a-tienau.ads: Likewise.
8775 * libgnat/a-tienio.adb: Likewise.
8776 * libgnat/a-tifiau.adb: Likewise.
8777 * libgnat/a-tifiau.ads: Likewise.
8778 * libgnat/a-tifiio.adb: Likewise.
8779 * libgnat/a-tifiio__128.adb: Likewise.
8780 * libgnat/a-tiflau.adb: Likewise.
8781 * libgnat/a-tiflau.ads: Likewise.
8782 * libgnat/a-tiflio.adb: Likewise.
8783 * libgnat/a-tiflio.ads: Likewise.
8784 * libgnat/a-tigeau.adb: Likewise.
8785 * libgnat/a-tigeau.ads: Likewise.
8786 * libgnat/a-tigeli.adb: Likewise.
8787 * libgnat/a-tiinau.adb: Likewise.
8788 * libgnat/a-tiinau.ads: Likewise.
8789 * libgnat/a-tiinio.adb: Likewise.
8790 * libgnat/a-tiinio.ads: Likewise.
8791 * libgnat/a-tiinio__128.adb: Likewise.
8792 * libgnat/a-timoio.adb: Likewise.
8793 * libgnat/a-timoio.ads: Likewise.
8794 * libgnat/a-timoio__128.adb: Likewise.
8795 * libgnat/a-tiocst.adb: Likewise.
8796 * libgnat/a-tiocst.ads: Likewise.
8797 * libgnat/a-tirsfi.adb: Likewise.
8798 * libgnat/a-tirsfi.ads: Likewise.
8799 * libgnat/a-titest.adb: Likewise.
8800 * libgnat/a-undesu.adb: Likewise.
8801 * libgnat/a-wichha.adb: Likewise.
8802 * libgnat/a-wichun.adb: Likewise.
8803 * libgnat/a-wichun.ads: Likewise.
8804 * libgnat/a-witeio.adb: Likewise.
8805 * libgnat/a-witeio.ads: Likewise.
8806 * libgnat/a-wrstfi.adb: Likewise.
8807 * libgnat/a-wrstfi.ads: Likewise.
8808 * libgnat/a-wtcoau.adb: Likewise.
8809 * libgnat/a-wtcoau.ads: Likewise.
8810 * libgnat/a-wtcoio.adb: Likewise.
8811 * libgnat/a-wtcstr.adb: Likewise.
8812 * libgnat/a-wtcstr.ads: Likewise.
8813 * libgnat/a-wtdeau.adb: Likewise.
8814 * libgnat/a-wtdeau.ads: Likewise.
8815 * libgnat/a-wtdeio.adb: Likewise.
8816 * libgnat/a-wtdeio__128.adb: Likewise.
8817 * libgnat/a-wtedit.adb: Likewise.
8818 * libgnat/a-wtedit.ads: Likewise.
8819 * libgnat/a-wtenau.adb: Likewise.
8820 * libgnat/a-wtenau.ads: Likewise.
8821 * libgnat/a-wtenio.adb: Likewise.
8822 * libgnat/a-wtfiau.adb: Likewise.
8823 * libgnat/a-wtfiau.ads: Likewise.
8824 * libgnat/a-wtfiio.adb: Likewise.
8825 * libgnat/a-wtfiio__128.adb: Likewise.
8826 * libgnat/a-wtflau.adb: Likewise.
8827 * libgnat/a-wtflau.ads: Likewise.
8828 * libgnat/a-wtflio.adb: Likewise.
8829 * libgnat/a-wtgeau.adb: Likewise.
8830 * libgnat/a-wtgeau.ads: Likewise.
8831 * libgnat/a-wtinau.adb: Likewise.
8832 * libgnat/a-wtinau.ads: Likewise.
8833 * libgnat/a-wtinio.adb: Likewise.
8834 * libgnat/a-wtinio__128.adb: Likewise.
8835 * libgnat/a-wtmoio.adb: Likewise.
8836 * libgnat/a-wtmoio.ads: Likewise.
8837 * libgnat/a-wtmoio__128.adb: Likewise.
8838 * libgnat/a-wttest.adb: Likewise.
8839 * libgnat/a-wwboio.adb: Likewise.
8840 * libgnat/a-zchhan.adb: Likewise.
8841 * libgnat/a-zchuni.adb: Likewise.
8842 * libgnat/a-zchuni.ads: Likewise.
8843 * libgnat/a-zrstfi.adb: Likewise.
8844 * libgnat/a-zrstfi.ads: Likewise.
8845 * libgnat/a-ztcoau.adb: Likewise.
8846 * libgnat/a-ztcoio.adb: Likewise.
8847 * libgnat/a-ztcstr.adb: Likewise.
8848 * libgnat/a-ztcstr.ads: Likewise.
8849 * libgnat/a-ztdeau.adb: Likewise.
8850 * libgnat/a-ztdeau.ads: Likewise.
8851 * libgnat/a-ztdeio.adb: Likewise.
8852 * libgnat/a-ztdeio__128.adb: Likewise.
8853 * libgnat/a-ztedit.adb: Likewise.
8854 * libgnat/a-ztedit.ads: Likewise.
8855 * libgnat/a-ztenau.adb: Likewise.
8856 * libgnat/a-ztenau.ads: Likewise.
8857 * libgnat/a-ztenio.adb: Likewise.
8858 * libgnat/a-ztexio.adb: Likewise.
8859 * libgnat/a-ztexio.ads: Likewise.
8860 * libgnat/a-ztfiau.adb: Likewise.
8861 * libgnat/a-ztfiau.ads: Likewise.
8862 * libgnat/a-ztfiio.adb: Likewise.
8863 * libgnat/a-ztfiio__128.adb: Likewise.
8864 * libgnat/a-ztflau.adb: Likewise.
8865 * libgnat/a-ztflau.ads: Likewise.
8866 * libgnat/a-ztflio.adb: Likewise.
8867 * libgnat/a-ztgeau.adb: Likewise.
8868 * libgnat/a-ztgeau.ads: Likewise.
8869 * libgnat/a-ztinau.adb: Likewise.
8870 * libgnat/a-ztinau.ads: Likewise.
8871 * libgnat/a-ztinio.adb: Likewise.
8872 * libgnat/a-ztinio__128.adb: Likewise.
8873 * libgnat/a-ztmoio.adb: Likewise.
8874 * libgnat/a-ztmoio__128.adb: Likewise.
8875 * libgnat/a-zttest.adb: Likewise.
8876 * libgnat/a-zzboio.adb: Likewise.
8877 * libgnat/g-allein.ads: Likewise.
8878 * libgnat/g-alleve.adb: Likewise.
8879 * libgnat/g-alleve.ads: Likewise.
8880 * libgnat/g-alleve__hard.adb: Likewise.
8881 * libgnat/g-alleve__hard.ads: Likewise.
8882 * libgnat/g-altcon.adb: Likewise.
8883 * libgnat/g-altcon.ads: Likewise.
8884 * libgnat/g-altive.ads: Likewise.
8885 * libgnat/g-alveop.adb: Likewise.
8886 * libgnat/g-alveop.ads: Likewise.
8887 * libgnat/g-alvety.ads: Likewise.
8888 * libgnat/g-alvevi.ads: Likewise.
8889 * libgnat/g-arrspl.adb: Likewise.
8890 * libgnat/g-arrspl.ads: Likewise.
8891 * libgnat/g-awk.adb: Likewise.
8892 * libgnat/g-awk.ads: Likewise.
8893 * libgnat/g-binenv.adb: Likewise.
8894 * libgnat/g-binenv.ads: Likewise.
8895 * libgnat/g-brapre.ads: Likewise.
8896 * libgnat/g-bubsor.adb: Likewise.
8897 * libgnat/g-bubsor.ads: Likewise.
8898 * libgnat/g-busora.adb: Likewise.
8899 * libgnat/g-busora.ads: Likewise.
8900 * libgnat/g-busorg.adb: Likewise.
8901 * libgnat/g-busorg.ads: Likewise.
8902 * libgnat/g-byorma.adb: Likewise.
8903 * libgnat/g-byorma.ads: Likewise.
8904 * libgnat/g-bytswa.adb: Likewise.
8905 * libgnat/g-bytswa.ads: Likewise.
8906 * libgnat/g-calend.adb: Likewise.
8907 * libgnat/g-calend.ads: Likewise.
8908 * libgnat/g-casuti.adb: Likewise.
8909 * libgnat/g-casuti.ads: Likewise.
8910 * libgnat/g-catiio.adb: Likewise.
8911 * libgnat/g-catiio.ads: Likewise.
8912 * libgnat/g-cgi.adb: Likewise.
8913 * libgnat/g-cgi.ads: Likewise.
8914 * libgnat/g-cgicoo.adb: Likewise.
8915 * libgnat/g-cgicoo.ads: Likewise.
8916 * libgnat/g-cgideb.adb: Likewise.
8917 * libgnat/g-cgideb.ads: Likewise.
8918 * libgnat/g-comlin.adb: Likewise.
8919 * libgnat/g-comlin.ads: Likewise.
8920 * libgnat/g-comver.adb: Likewise.
8921 * libgnat/g-comver.ads: Likewise.
8922 * libgnat/g-cppexc.adb: Likewise.
8923 * libgnat/g-cppexc.ads: Likewise.
8924 * libgnat/g-crc32.adb: Likewise.
8925 * libgnat/g-crc32.ads: Likewise.
8926 * libgnat/g-ctrl_c.adb: Likewise.
8927 * libgnat/g-ctrl_c.ads: Likewise.
8928 * libgnat/g-curexc.ads: Likewise.
8929 * libgnat/g-debpoo.adb: Likewise.
8930 * libgnat/g-debpoo.ads: Likewise.
8931 * libgnat/g-debuti.adb: Likewise.
8932 * libgnat/g-debuti.ads: Likewise.
8933 * libgnat/g-decstr.adb: Likewise.
8934 * libgnat/g-decstr.ads: Likewise.
8935 * libgnat/g-deutst.ads: Likewise.
8936 * libgnat/g-diopit.adb: Likewise.
8937 * libgnat/g-diopit.ads: Likewise.
8938 * libgnat/g-dirope.adb: Likewise.
8939 * libgnat/g-dirope.ads: Likewise.
8940 * libgnat/g-dynhta.adb: Likewise.
8941 * libgnat/g-dynhta.ads: Likewise.
8942 * libgnat/g-dyntab.adb: Likewise.
8943 * libgnat/g-dyntab.ads: Likewise.
8944 * libgnat/g-eacodu.adb: Likewise.
8945 * libgnat/g-encstr.adb: Likewise.
8946 * libgnat/g-encstr.ads: Likewise.
8947 * libgnat/g-enutst.ads: Likewise.
8948 * libgnat/g-excact.adb: Likewise.
8949 * libgnat/g-excact.ads: Likewise.
8950 * libgnat/g-except.ads: Likewise.
8951 * libgnat/g-exctra.adb: Likewise.
8952 * libgnat/g-exctra.ads: Likewise.
8953 * libgnat/g-expect.adb: Likewise.
8954 * libgnat/g-expect.ads: Likewise.
8955 * libgnat/g-exptty.adb: Likewise.
8956 * libgnat/g-exptty.ads: Likewise.
8957 * libgnat/g-flocon.ads: Likewise.
8958 * libgnat/g-forstr.adb: Likewise.
8959 * libgnat/g-forstr.ads: Likewise.
8960 * libgnat/g-graphs.adb: Likewise.
8961 * libgnat/g-graphs.ads: Likewise.
8962 * libgnat/g-heasor.adb: Likewise.
8963 * libgnat/g-heasor.ads: Likewise.
8964 * libgnat/g-hesora.adb: Likewise.
8965 * libgnat/g-hesora.ads: Likewise.
8966 * libgnat/g-hesorg.adb: Likewise.
8967 * libgnat/g-hesorg.ads: Likewise.
8968 * libgnat/g-htable.adb: Likewise.
8969 * libgnat/g-htable.ads: Likewise.
8970 * libgnat/g-io-put__vxworks.adb: Likewise.
8971 * libgnat/g-io.adb: Likewise.
8972 * libgnat/g-io.ads: Likewise.
8973 * libgnat/g-io_aux.adb: Likewise.
8974 * libgnat/g-io_aux.ads: Likewise.
8975 * libgnat/g-lists.adb: Likewise.
8976 * libgnat/g-lists.ads: Likewise.
8977 * libgnat/g-locfil.adb: Likewise.
8978 * libgnat/g-locfil.ads: Likewise.
8979 * libgnat/g-mbdira.adb: Likewise.
8980 * libgnat/g-mbdira.ads: Likewise.
8981 * libgnat/g-mbflra.adb: Likewise.
8982 * libgnat/g-mbflra.ads: Likewise.
8983 * libgnat/g-md5.adb: Likewise.
8984 * libgnat/g-md5.ads: Likewise.
8985 * libgnat/g-memdum.adb: Likewise.
8986 * libgnat/g-memdum.ads: Likewise.
8987 * libgnat/g-moreex.adb: Likewise.
8988 * libgnat/g-moreex.ads: Likewise.
8989 * libgnat/g-os_lib.adb: Likewise.
8990 * libgnat/g-os_lib.ads: Likewise.
8991 * libgnat/g-pehage.adb: Likewise.
8992 * libgnat/g-pehage.ads: Likewise.
8993 * libgnat/g-rannum.adb: Likewise.
8994 * libgnat/g-rannum.ads: Likewise.
8995 * libgnat/g-regexp.adb: Likewise.
8996 * libgnat/g-regexp.ads: Likewise.
8997 * libgnat/g-regist.adb: Likewise.
8998 * libgnat/g-regist.ads: Likewise.
8999 * libgnat/g-regpat.adb: Likewise.
9000 * libgnat/g-regpat.ads: Likewise.
9001 * libgnat/g-rewdat.adb: Likewise.
9002 * libgnat/g-rewdat.ads: Likewise.
9003 * libgnat/g-sechas.adb: Likewise.
9004 * libgnat/g-sechas.ads: Likewise.
9005 * libgnat/g-sehamd.adb: Likewise.
9006 * libgnat/g-sehamd.ads: Likewise.
9007 * libgnat/g-sehash.adb: Likewise.
9008 * libgnat/g-sehash.ads: Likewise.
9009 * libgnat/g-sercom.adb: Likewise.
9010 * libgnat/g-sercom.ads: Likewise.
9011 * libgnat/g-sercom__linux.adb: Likewise.
9012 * libgnat/g-sercom__mingw.adb: Likewise.
9013 * libgnat/g-sestin.ads: Likewise.
9014 * libgnat/g-sets.adb: Likewise.
9015 * libgnat/g-sets.ads: Likewise.
9016 * libgnat/g-sha1.adb: Likewise.
9017 * libgnat/g-sha1.ads: Likewise.
9018 * libgnat/g-sha224.ads: Likewise.
9019 * libgnat/g-sha256.ads: Likewise.
9020 * libgnat/g-sha384.ads: Likewise.
9021 * libgnat/g-sha512.ads: Likewise.
9022 * libgnat/g-shsh32.adb: Likewise.
9023 * libgnat/g-shsh32.ads: Likewise.
9024 * libgnat/g-shsh64.adb: Likewise.
9025 * libgnat/g-shsh64.ads: Likewise.
9026 * libgnat/g-shshco.adb: Likewise.
9027 * libgnat/g-shshco.ads: Likewise.
9028 * libgnat/g-soccon.ads: Likewise.
9029 * libgnat/g-socket.adb: Likewise.
9030 * libgnat/g-socket.ads: Likewise.
9031 * libgnat/g-socket__dummy.adb: Likewise.
9032 * libgnat/g-socket__dummy.ads: Likewise.
9033 * libgnat/g-socpol.adb: Likewise.
9034 * libgnat/g-socpol.ads: Likewise.
9035 * libgnat/g-socpol__dummy.adb: Likewise.
9036 * libgnat/g-socpol__dummy.ads: Likewise.
9037 * libgnat/g-socthi.adb: Likewise.
9038 * libgnat/g-socthi.ads: Likewise.
9039 * libgnat/g-socthi__dummy.adb: Likewise.
9040 * libgnat/g-socthi__dummy.ads: Likewise.
9041 * libgnat/g-socthi__mingw.adb: Likewise.
9042 * libgnat/g-socthi__mingw.ads: Likewise.
9043 * libgnat/g-socthi__vxworks.adb: Likewise.
9044 * libgnat/g-socthi__vxworks.ads: Likewise.
9045 * libgnat/g-soliop.ads: Likewise.
9046 * libgnat/g-soliop__lynxos.ads: Likewise.
9047 * libgnat/g-soliop__mingw.ads: Likewise.
9048 * libgnat/g-soliop__qnx.ads: Likewise.
9049 * libgnat/g-soliop__solaris.ads: Likewise.
9050 * libgnat/g-sopowa.adb: Likewise.
9051 * libgnat/g-sopowa__mingw.adb: Likewise.
9052 * libgnat/g-sopowa__posix.adb: Likewise.
9053 * libgnat/g-sothco.adb: Likewise.
9054 * libgnat/g-sothco.ads: Likewise.
9055 * libgnat/g-sothco__dummy.adb: Likewise.
9056 * libgnat/g-sothco__dummy.ads: Likewise.
9057 * libgnat/g-souinf.ads: Likewise.
9058 * libgnat/g-spchge.adb: Likewise.
9059 * libgnat/g-spchge.ads: Likewise.
9060 * libgnat/g-speche.adb: Likewise.
9061 * libgnat/g-speche.ads: Likewise.
9062 * libgnat/g-spipat.adb: Likewise.
9063 * libgnat/g-spipat.ads: Likewise.
9064 * libgnat/g-spitbo.adb: Likewise.
9065 * libgnat/g-spitbo.ads: Likewise.
9066 * libgnat/g-spogwa.adb: Likewise.
9067 * libgnat/g-spogwa.ads: Likewise.
9068 * libgnat/g-sptabo.ads: Likewise.
9069 * libgnat/g-sptain.ads: Likewise.
9070 * libgnat/g-sptavs.ads: Likewise.
9071 * libgnat/g-sse.ads: Likewise.
9072 * libgnat/g-ssvety.ads: Likewise.
9073 * libgnat/g-sthcso.adb: Likewise.
9074 * libgnat/g-stheme.adb: Likewise.
9075 * libgnat/g-strhas.ads: Likewise.
9076 * libgnat/g-string.adb: Likewise.
9077 * libgnat/g-string.ads: Likewise.
9078 * libgnat/g-strspl.ads: Likewise.
9079 * libgnat/g-stseme.adb: Likewise.
9080 * libgnat/g-stsifd__sockets.adb: Likewise.
9081 * libgnat/g-table.adb: Likewise.
9082 * libgnat/g-table.ads: Likewise.
9083 * libgnat/g-tasloc.adb: Likewise.
9084 * libgnat/g-tasloc.ads: Likewise.
9085 * libgnat/g-timsta.adb: Likewise.
9086 * libgnat/g-timsta.ads: Likewise.
9087 * libgnat/g-traceb.adb: Likewise.
9088 * libgnat/g-traceb.ads: Likewise.
9089 * libgnat/g-trasym.adb: Likewise.
9090 * libgnat/g-trasym.ads: Likewise.
9091 * libgnat/g-tty.adb: Likewise.
9092 * libgnat/g-tty.ads: Likewise.
9093 * libgnat/g-u3spch.adb: Likewise.
9094 * libgnat/g-u3spch.ads: Likewise.
9095 * libgnat/g-utf_32.adb: Likewise.
9096 * libgnat/g-utf_32.ads: Likewise.
9097 * libgnat/g-wispch.adb: Likewise.
9098 * libgnat/g-wispch.ads: Likewise.
9099 * libgnat/g-wistsp.ads: Likewise.
9100 * libgnat/g-zspche.adb: Likewise.
9101 * libgnat/g-zspche.ads: Likewise.
9102 * libgnat/g-zstspl.ads: Likewise.
9103 * libgnat/gnat.ads: Likewise.
9104 * libgnat/i-c.adb: Likewise.
9105 * libgnat/i-cexten.ads: Likewise.
9106 * libgnat/i-cexten__128.ads: Likewise.
9107 * libgnat/i-cobol.adb: Likewise.
9108 * libgnat/i-cobol.ads: Likewise.
9109 * libgnat/i-cpoint.adb: Likewise.
9110 * libgnat/i-cpoint.ads: Likewise.
9111 * libgnat/i-cstrea.adb: Likewise.
9112 * libgnat/i-cstrea.ads: Likewise.
9113 * libgnat/i-cstrin.adb: Likewise.
9114 * libgnat/i-cstrin.ads: Likewise.
9115 * libgnat/i-fortra.adb: Likewise.
9116 * libgnat/i-pacdec.adb: Likewise.
9117 * libgnat/i-pacdec.ads: Likewise.
9118 * libgnat/i-vxwoio.adb: Likewise.
9119 * libgnat/i-vxwoio.ads: Likewise.
9120 * libgnat/i-vxwork.ads: Likewise.
9121 * libgnat/i-vxwork__x86.ads: Likewise.
9122 * libgnat/interfac.ads: Likewise.
9123 * libgnat/interfac__2020.ads: Likewise.
9124 * libgnat/memtrack.adb: Likewise.
9125 * libgnat/s-addima.adb: Likewise.
9126 * libgnat/s-addima.ads: Likewise.
9127 * libgnat/s-addope.adb: Likewise.
9128 * libgnat/s-addope.ads: Likewise.
9129 * libgnat/s-aoinar.adb: Likewise.
9130 * libgnat/s-aoinar.ads: Likewise.
9131 * libgnat/s-aomoar.adb: Likewise.
9132 * libgnat/s-aomoar.ads: Likewise.
9133 * libgnat/s-aotase.adb: Likewise.
9134 * libgnat/s-aotase.ads: Likewise.
9135 * libgnat/s-aridou.adb: Likewise.
9136 * libgnat/s-aridou.ads: Likewise.
9137 * libgnat/s-arit128.adb: Likewise.
9138 * libgnat/s-arit128.ads: Likewise.
9139 * libgnat/s-arit32.adb: Likewise.
9140 * libgnat/s-arit32.ads: Likewise.
9141 * libgnat/s-arit64.adb: Likewise.
9142 * libgnat/s-arit64.ads: Likewise.
9143 * libgnat/s-assert.adb: Likewise.
9144 * libgnat/s-assert.ads: Likewise.
9145 * libgnat/s-atacco.adb: Likewise.
9146 * libgnat/s-atacco.ads: Likewise.
9147 * libgnat/s-atocou.adb: Likewise.
9148 * libgnat/s-atocou.ads: Likewise.
9149 * libgnat/s-atocou__builtin.adb: Likewise.
9150 * libgnat/s-atocou__x86.adb: Likewise.
9151 * libgnat/s-atoope.ads: Likewise.
9152 * libgnat/s-atopex.adb: Likewise.
9153 * libgnat/s-atopex.ads: Likewise.
9154 * libgnat/s-atopri.adb: Likewise.
9155 * libgnat/s-atopri.ads: Likewise.
9156 * libgnat/s-auxdec.adb: Likewise.
9157 * libgnat/s-auxdec.ads: Likewise.
9158 * libgnat/s-bignum.adb: Likewise.
9159 * libgnat/s-bignum.ads: Likewise.
9160 * libgnat/s-bitfie.ads: Likewise.
9161 * libgnat/s-bitops.adb: Likewise.
9162 * libgnat/s-bitops.ads: Likewise.
9163 * libgnat/s-bituti.adb: Likewise.
9164 * libgnat/s-bituti.ads: Likewise.
9165 * libgnat/s-boarop.ads: Likewise.
9166 * libgnat/s-boustr.adb: Likewise.
9167 * libgnat/s-boustr.ads: Likewise.
9168 * libgnat/s-bytswa.ads: Likewise.
9169 * libgnat/s-carsi8.adb: Likewise.
9170 * libgnat/s-carsi8.ads: Likewise.
9171 * libgnat/s-carun8.adb: Likewise.
9172 * libgnat/s-carun8.ads: Likewise.
9173 * libgnat/s-casi128.adb: Likewise.
9174 * libgnat/s-casi128.ads: Likewise.
9175 * libgnat/s-casi16.adb: Likewise.
9176 * libgnat/s-casi16.ads: Likewise.
9177 * libgnat/s-casi32.adb: Likewise.
9178 * libgnat/s-casi32.ads: Likewise.
9179 * libgnat/s-casi64.adb: Likewise.
9180 * libgnat/s-casi64.ads: Likewise.
9181 * libgnat/s-casuti.adb: Likewise.
9182 * libgnat/s-casuti.ads: Likewise.
9183 * libgnat/s-caun128.adb: Likewise.
9184 * libgnat/s-caun128.ads: Likewise.
9185 * libgnat/s-caun16.adb: Likewise.
9186 * libgnat/s-caun16.ads: Likewise.
9187 * libgnat/s-caun32.adb: Likewise.
9188 * libgnat/s-caun32.ads: Likewise.
9189 * libgnat/s-caun64.adb: Likewise.
9190 * libgnat/s-caun64.ads: Likewise.
9191 * libgnat/s-chepoo.ads: Likewise.
9192 * libgnat/s-commun.adb: Likewise.
9193 * libgnat/s-commun.ads: Likewise.
9194 * libgnat/s-conca2.adb: Likewise.
9195 * libgnat/s-conca2.ads: Likewise.
9196 * libgnat/s-conca3.adb: Likewise.
9197 * libgnat/s-conca3.ads: Likewise.
9198 * libgnat/s-conca4.adb: Likewise.
9199 * libgnat/s-conca4.ads: Likewise.
9200 * libgnat/s-conca5.adb: Likewise.
9201 * libgnat/s-conca5.ads: Likewise.
9202 * libgnat/s-conca6.adb: Likewise.
9203 * libgnat/s-conca6.ads: Likewise.
9204 * libgnat/s-conca7.adb: Likewise.
9205 * libgnat/s-conca7.ads: Likewise.
9206 * libgnat/s-conca8.adb: Likewise.
9207 * libgnat/s-conca8.ads: Likewise.
9208 * libgnat/s-conca9.adb: Likewise.
9209 * libgnat/s-conca9.ads: Likewise.
9210 * libgnat/s-crc32.adb: Likewise.
9211 * libgnat/s-crc32.ads: Likewise.
9212 * libgnat/s-crtl.ads: Likewise.
9213 * libgnat/s-dfmkio.ads: Likewise.
9214 * libgnat/s-dfmopr.ads: Likewise.
9215 * libgnat/s-dgmgop.ads: Likewise.
9216 * libgnat/s-diflio.adb: Likewise.
9217 * libgnat/s-diflio.ads: Likewise.
9218 * libgnat/s-diflmk.ads: Likewise.
9219 * libgnat/s-digemk.ads: Likewise.
9220 * libgnat/s-diinio.adb: Likewise.
9221 * libgnat/s-diinio.ads: Likewise.
9222 * libgnat/s-dilomk.ads: Likewise.
9223 * libgnat/s-dim.ads: Likewise.
9224 * libgnat/s-dimkio.ads: Likewise.
9225 * libgnat/s-dimmks.ads: Likewise.
9226 * libgnat/s-direio.adb: Likewise.
9227 * libgnat/s-direio.ads: Likewise.
9228 * libgnat/s-dlmkio.ads: Likewise.
9229 * libgnat/s-dlmopr.ads: Likewise.
9230 * libgnat/s-dmotpr.ads: Likewise.
9231 * libgnat/s-dsaser.ads: Likewise.
9232 * libgnat/s-dwalin.adb: Likewise.
9233 * libgnat/s-dwalin.ads: Likewise.
9234 * libgnat/s-elaall.adb: Likewise.
9235 * libgnat/s-elaall.ads: Likewise.
9236 * libgnat/s-excdeb.adb: Likewise.
9237 * libgnat/s-excdeb.ads: Likewise.
9238 * libgnat/s-except.adb: Likewise.
9239 * libgnat/s-except.ads: Likewise.
9240 * libgnat/s-excmac__arm.adb: Likewise.
9241 * libgnat/s-excmac__arm.ads: Likewise.
9242 * libgnat/s-excmac__gcc.adb: Likewise.
9243 * libgnat/s-excmac__gcc.ads: Likewise.
9244 * libgnat/s-exctab.adb: Likewise.
9245 * libgnat/s-exctab.ads: Likewise.
9246 * libgnat/s-exctra.adb: Likewise.
9247 * libgnat/s-exctra.ads: Likewise.
9248 * libgnat/s-exnint.adb: Likewise.
9249 * libgnat/s-exnint.ads: Likewise.
9250 * libgnat/s-exnllf.adb: Likewise.
9251 * libgnat/s-exnllf.ads: Likewise.
9252 * libgnat/s-exnlli.adb: Likewise.
9253 * libgnat/s-exnlli.ads: Likewise.
9254 * libgnat/s-exnllli.ads: Likewise.
9255 * libgnat/s-expint.adb: Likewise.
9256 * libgnat/s-expint.ads: Likewise.
9257 * libgnat/s-explli.adb: Likewise.
9258 * libgnat/s-explli.ads: Likewise.
9259 * libgnat/s-expllli.ads: Likewise.
9260 * libgnat/s-explllu.ads: Likewise.
9261 * libgnat/s-expllu.adb: Likewise.
9262 * libgnat/s-expllu.ads: Likewise.
9263 * libgnat/s-expmod.adb: Likewise.
9264 * libgnat/s-expmod.ads: Likewise.
9265 * libgnat/s-exponn.adb: Likewise.
9266 * libgnat/s-exponn.ads: Likewise.
9267 * libgnat/s-expont.adb: Likewise.
9268 * libgnat/s-expont.ads: Likewise.
9269 * libgnat/s-exponu.adb: Likewise.
9270 * libgnat/s-exponu.ads: Likewise.
9271 * libgnat/s-expuns.adb: Likewise.
9272 * libgnat/s-expuns.ads: Likewise.
9273 * libgnat/s-fatflt.ads: Likewise.
9274 * libgnat/s-fatgen.adb: Likewise.
9275 * libgnat/s-fatgen.ads: Likewise.
9276 * libgnat/s-fatlfl.ads: Likewise.
9277 * libgnat/s-fatllf.ads: Likewise.
9278 * libgnat/s-ficobl.ads: Likewise.
9279 * libgnat/s-filatt.ads: Likewise.
9280 * libgnat/s-fileio.adb: Likewise.
9281 * libgnat/s-fileio.ads: Likewise.
9282 * libgnat/s-finmas.adb: Likewise.
9283 * libgnat/s-finmas.ads: Likewise.
9284 * libgnat/s-finroo.adb: Likewise.
9285 * libgnat/s-finroo.ads: Likewise.
9286 * libgnat/s-flocon.adb: Likewise.
9287 * libgnat/s-flocon.ads: Likewise.
9288 * libgnat/s-flocon__none.adb: Likewise.
9289 * libgnat/s-fode128.ads: Likewise.
9290 * libgnat/s-fode32.ads: Likewise.
9291 * libgnat/s-fode64.ads: Likewise.
9292 * libgnat/s-fofi128.ads: Likewise.
9293 * libgnat/s-fofi32.ads: Likewise.
9294 * libgnat/s-fofi64.ads: Likewise.
9295 * libgnat/s-fore_d.adb: Likewise.
9296 * libgnat/s-fore_d.ads: Likewise.
9297 * libgnat/s-fore_f.adb: Likewise.
9298 * libgnat/s-fore_f.ads: Likewise.
9299 * libgnat/s-forrea.adb: Likewise.
9300 * libgnat/s-forrea.ads: Likewise.
9301 * libgnat/s-gearop.adb: Likewise.
9302 * libgnat/s-gearop.ads: Likewise.
9303 * libgnat/s-genbig.adb: Likewise.
9304 * libgnat/s-genbig.ads: Likewise.
9305 * libgnat/s-geveop.adb: Likewise.
9306 * libgnat/s-geveop.ads: Likewise.
9307 * libgnat/s-gloloc.adb: Likewise.
9308 * libgnat/s-gloloc.ads: Likewise.
9309 * libgnat/s-gloloc__mingw.adb: Likewise.
9310 * libgnat/s-htable.adb: Likewise.
9311 * libgnat/s-htable.ads: Likewise.
9312 * libgnat/s-imageb.adb: Likewise.
9313 * libgnat/s-imageb.ads: Likewise.
9314 * libgnat/s-imaged.adb: Likewise.
9315 * libgnat/s-imaged.ads: Likewise.
9316 * libgnat/s-imagef.adb: Likewise.
9317 * libgnat/s-imagef.ads: Likewise.
9318 * libgnat/s-imagei.adb: Likewise.
9319 * libgnat/s-imagei.ads: Likewise.
9320 * libgnat/s-imageu.adb: Likewise.
9321 * libgnat/s-imageu.ads: Likewise.
9322 * libgnat/s-imagew.adb: Likewise.
9323 * libgnat/s-imagew.ads: Likewise.
9324 * libgnat/s-imde128.ads: Likewise.
9325 * libgnat/s-imde32.ads: Likewise.
9326 * libgnat/s-imde64.ads: Likewise.
9327 * libgnat/s-imenne.adb: Likewise.
9328 * libgnat/s-imenne.ads: Likewise.
9329 * libgnat/s-imfi128.ads: Likewise.
9330 * libgnat/s-imfi32.ads: Likewise.
9331 * libgnat/s-imfi64.ads: Likewise.
9332 * libgnat/s-imgbiu.adb: Likewise.
9333 * libgnat/s-imgbiu.ads: Likewise.
9334 * libgnat/s-imgboo.adb: Likewise.
9335 * libgnat/s-imgboo.ads: Likewise.
9336 * libgnat/s-imgcha.adb: Likewise.
9337 * libgnat/s-imgcha.ads: Likewise.
9338 * libgnat/s-imgenu.adb: Likewise.
9339 * libgnat/s-imgenu.ads: Likewise.
9340 * libgnat/s-imgint.adb: Likewise.
9341 * libgnat/s-imgint.ads: Likewise.
9342 * libgnat/s-imgllb.adb: Likewise.
9343 * libgnat/s-imgllb.ads: Likewise.
9344 * libgnat/s-imglli.adb: Likewise.
9345 * libgnat/s-imglli.ads: Likewise.
9346 * libgnat/s-imglllb.ads: Likewise.
9347 * libgnat/s-imgllli.ads: Likewise.
9348 * libgnat/s-imglllu.ads: Likewise.
9349 * libgnat/s-imglllw.ads: Likewise.
9350 * libgnat/s-imgllu.adb: Likewise.
9351 * libgnat/s-imgllu.ads: Likewise.
9352 * libgnat/s-imgllw.adb: Likewise.
9353 * libgnat/s-imgllw.ads: Likewise.
9354 * libgnat/s-imgrea.adb: Likewise.
9355 * libgnat/s-imgrea.ads: Likewise.
9356 * libgnat/s-imguns.adb: Likewise.
9357 * libgnat/s-imguns.ads: Likewise.
9358 * libgnat/s-imguti.adb: Likewise.
9359 * libgnat/s-imguti.ads: Likewise.
9360 * libgnat/s-imgwch.adb: Likewise.
9361 * libgnat/s-imgwch.ads: Likewise.
9362 * libgnat/s-imgwiu.adb: Likewise.
9363 * libgnat/s-imgwiu.ads: Likewise.
9364 * libgnat/s-io.adb: Likewise.
9365 * libgnat/s-io.ads: Likewise.
9366 * libgnat/s-llflex.ads: Likewise.
9367 * libgnat/s-maccod.ads: Likewise.
9368 * libgnat/s-mantis.adb: Likewise.
9369 * libgnat/s-mantis.ads: Likewise.
9370 * libgnat/s-mastop.adb: Likewise.
9371 * libgnat/s-mastop.ads: Likewise.
9372 * libgnat/s-memcop.ads: Likewise.
9373 * libgnat/s-memory.adb: Likewise.
9374 * libgnat/s-memory.ads: Likewise.
9375 * libgnat/s-mmap.adb: Likewise.
9376 * libgnat/s-mmap.ads: Likewise.
9377 * libgnat/s-mmauni__long.ads: Likewise.
9378 * libgnat/s-mmosin__mingw.adb: Likewise.
9379 * libgnat/s-mmosin__mingw.ads: Likewise.
9380 * libgnat/s-mmosin__unix.adb: Likewise.
9381 * libgnat/s-mmosin__unix.ads: Likewise.
9382 * libgnat/s-multip.adb: Likewise.
9383 * libgnat/s-objrea.adb: Likewise.
9384 * libgnat/s-objrea.ads: Likewise.
9385 * libgnat/s-optide.adb: Likewise.
9386 * libgnat/s-os_lib.adb: Likewise.
9387 * libgnat/s-os_lib.ads: Likewise.
9388 * libgnat/s-osprim.ads: Likewise.
9389 * libgnat/s-osprim__darwin.adb: Likewise.
9390 * libgnat/s-osprim__lynxos.ads: Likewise.
9391 * libgnat/s-osprim__mingw.adb: Likewise.
9392 * libgnat/s-osprim__posix.adb: Likewise.
9393 * libgnat/s-osprim__posix2008.adb: Likewise.
9394 * libgnat/s-osprim__rtems.adb: Likewise.
9395 * libgnat/s-osprim__solaris.adb: Likewise.
9396 * libgnat/s-osprim__unix.adb: Likewise.
9397 * libgnat/s-osprim__vxworks.adb: Likewise.
9398 * libgnat/s-osprim__x32.adb: Likewise.
9399 * libgnat/s-osvers__vxworks-653.ads: Likewise.
9400 * libgnat/s-pack03.adb: Likewise.
9401 * libgnat/s-pack03.ads: Likewise.
9402 * libgnat/s-pack05.adb: Likewise.
9403 * libgnat/s-pack05.ads: Likewise.
9404 * libgnat/s-pack06.adb: Likewise.
9405 * libgnat/s-pack06.ads: Likewise.
9406 * libgnat/s-pack07.adb: Likewise.
9407 * libgnat/s-pack07.ads: Likewise.
9408 * libgnat/s-pack09.adb: Likewise.
9409 * libgnat/s-pack09.ads: Likewise.
9410 * libgnat/s-pack10.adb: Likewise.
9411 * libgnat/s-pack10.ads: Likewise.
9412 * libgnat/s-pack100.adb: Likewise.
9413 * libgnat/s-pack100.ads: Likewise.
9414 * libgnat/s-pack101.adb: Likewise.
9415 * libgnat/s-pack101.ads: Likewise.
9416 * libgnat/s-pack102.adb: Likewise.
9417 * libgnat/s-pack102.ads: Likewise.
9418 * libgnat/s-pack103.adb: Likewise.
9419 * libgnat/s-pack103.ads: Likewise.
9420 * libgnat/s-pack104.adb: Likewise.
9421 * libgnat/s-pack104.ads: Likewise.
9422 * libgnat/s-pack105.adb: Likewise.
9423 * libgnat/s-pack105.ads: Likewise.
9424 * libgnat/s-pack106.adb: Likewise.
9425 * libgnat/s-pack106.ads: Likewise.
9426 * libgnat/s-pack107.adb: Likewise.
9427 * libgnat/s-pack107.ads: Likewise.
9428 * libgnat/s-pack108.adb: Likewise.
9429 * libgnat/s-pack108.ads: Likewise.
9430 * libgnat/s-pack109.adb: Likewise.
9431 * libgnat/s-pack109.ads: Likewise.
9432 * libgnat/s-pack11.adb: Likewise.
9433 * libgnat/s-pack11.ads: Likewise.
9434 * libgnat/s-pack110.adb: Likewise.
9435 * libgnat/s-pack110.ads: Likewise.
9436 * libgnat/s-pack111.adb: Likewise.
9437 * libgnat/s-pack111.ads: Likewise.
9438 * libgnat/s-pack112.adb: Likewise.
9439 * libgnat/s-pack112.ads: Likewise.
9440 * libgnat/s-pack113.adb: Likewise.
9441 * libgnat/s-pack113.ads: Likewise.
9442 * libgnat/s-pack114.adb: Likewise.
9443 * libgnat/s-pack114.ads: Likewise.
9444 * libgnat/s-pack115.adb: Likewise.
9445 * libgnat/s-pack115.ads: Likewise.
9446 * libgnat/s-pack116.adb: Likewise.
9447 * libgnat/s-pack116.ads: Likewise.
9448 * libgnat/s-pack117.adb: Likewise.
9449 * libgnat/s-pack117.ads: Likewise.
9450 * libgnat/s-pack118.adb: Likewise.
9451 * libgnat/s-pack118.ads: Likewise.
9452 * libgnat/s-pack119.adb: Likewise.
9453 * libgnat/s-pack119.ads: Likewise.
9454 * libgnat/s-pack12.adb: Likewise.
9455 * libgnat/s-pack12.ads: Likewise.
9456 * libgnat/s-pack120.adb: Likewise.
9457 * libgnat/s-pack120.ads: Likewise.
9458 * libgnat/s-pack121.adb: Likewise.
9459 * libgnat/s-pack121.ads: Likewise.
9460 * libgnat/s-pack122.adb: Likewise.
9461 * libgnat/s-pack122.ads: Likewise.
9462 * libgnat/s-pack123.adb: Likewise.
9463 * libgnat/s-pack123.ads: Likewise.
9464 * libgnat/s-pack124.adb: Likewise.
9465 * libgnat/s-pack124.ads: Likewise.
9466 * libgnat/s-pack125.adb: Likewise.
9467 * libgnat/s-pack125.ads: Likewise.
9468 * libgnat/s-pack126.adb: Likewise.
9469 * libgnat/s-pack126.ads: Likewise.
9470 * libgnat/s-pack127.adb: Likewise.
9471 * libgnat/s-pack127.ads: Likewise.
9472 * libgnat/s-pack13.adb: Likewise.
9473 * libgnat/s-pack13.ads: Likewise.
9474 * libgnat/s-pack14.adb: Likewise.
9475 * libgnat/s-pack14.ads: Likewise.
9476 * libgnat/s-pack15.adb: Likewise.
9477 * libgnat/s-pack15.ads: Likewise.
9478 * libgnat/s-pack17.adb: Likewise.
9479 * libgnat/s-pack17.ads: Likewise.
9480 * libgnat/s-pack18.adb: Likewise.
9481 * libgnat/s-pack18.ads: Likewise.
9482 * libgnat/s-pack19.adb: Likewise.
9483 * libgnat/s-pack19.ads: Likewise.
9484 * libgnat/s-pack20.adb: Likewise.
9485 * libgnat/s-pack20.ads: Likewise.
9486 * libgnat/s-pack21.adb: Likewise.
9487 * libgnat/s-pack21.ads: Likewise.
9488 * libgnat/s-pack22.adb: Likewise.
9489 * libgnat/s-pack22.ads: Likewise.
9490 * libgnat/s-pack23.adb: Likewise.
9491 * libgnat/s-pack23.ads: Likewise.
9492 * libgnat/s-pack24.adb: Likewise.
9493 * libgnat/s-pack24.ads: Likewise.
9494 * libgnat/s-pack25.adb: Likewise.
9495 * libgnat/s-pack25.ads: Likewise.
9496 * libgnat/s-pack26.adb: Likewise.
9497 * libgnat/s-pack26.ads: Likewise.
9498 * libgnat/s-pack27.adb: Likewise.
9499 * libgnat/s-pack27.ads: Likewise.
9500 * libgnat/s-pack28.adb: Likewise.
9501 * libgnat/s-pack28.ads: Likewise.
9502 * libgnat/s-pack29.adb: Likewise.
9503 * libgnat/s-pack29.ads: Likewise.
9504 * libgnat/s-pack30.adb: Likewise.
9505 * libgnat/s-pack30.ads: Likewise.
9506 * libgnat/s-pack31.adb: Likewise.
9507 * libgnat/s-pack31.ads: Likewise.
9508 * libgnat/s-pack33.adb: Likewise.
9509 * libgnat/s-pack33.ads: Likewise.
9510 * libgnat/s-pack34.adb: Likewise.
9511 * libgnat/s-pack34.ads: Likewise.
9512 * libgnat/s-pack35.adb: Likewise.
9513 * libgnat/s-pack35.ads: Likewise.
9514 * libgnat/s-pack36.adb: Likewise.
9515 * libgnat/s-pack36.ads: Likewise.
9516 * libgnat/s-pack37.adb: Likewise.
9517 * libgnat/s-pack37.ads: Likewise.
9518 * libgnat/s-pack38.adb: Likewise.
9519 * libgnat/s-pack38.ads: Likewise.
9520 * libgnat/s-pack39.adb: Likewise.
9521 * libgnat/s-pack39.ads: Likewise.
9522 * libgnat/s-pack40.adb: Likewise.
9523 * libgnat/s-pack40.ads: Likewise.
9524 * libgnat/s-pack41.adb: Likewise.
9525 * libgnat/s-pack41.ads: Likewise.
9526 * libgnat/s-pack42.adb: Likewise.
9527 * libgnat/s-pack42.ads: Likewise.
9528 * libgnat/s-pack43.adb: Likewise.
9529 * libgnat/s-pack43.ads: Likewise.
9530 * libgnat/s-pack44.adb: Likewise.
9531 * libgnat/s-pack44.ads: Likewise.
9532 * libgnat/s-pack45.adb: Likewise.
9533 * libgnat/s-pack45.ads: Likewise.
9534 * libgnat/s-pack46.adb: Likewise.
9535 * libgnat/s-pack46.ads: Likewise.
9536 * libgnat/s-pack47.adb: Likewise.
9537 * libgnat/s-pack47.ads: Likewise.
9538 * libgnat/s-pack48.adb: Likewise.
9539 * libgnat/s-pack48.ads: Likewise.
9540 * libgnat/s-pack49.adb: Likewise.
9541 * libgnat/s-pack49.ads: Likewise.
9542 * libgnat/s-pack50.adb: Likewise.
9543 * libgnat/s-pack50.ads: Likewise.
9544 * libgnat/s-pack51.adb: Likewise.
9545 * libgnat/s-pack51.ads: Likewise.
9546 * libgnat/s-pack52.adb: Likewise.
9547 * libgnat/s-pack52.ads: Likewise.
9548 * libgnat/s-pack53.adb: Likewise.
9549 * libgnat/s-pack53.ads: Likewise.
9550 * libgnat/s-pack54.adb: Likewise.
9551 * libgnat/s-pack54.ads: Likewise.
9552 * libgnat/s-pack55.adb: Likewise.
9553 * libgnat/s-pack55.ads: Likewise.
9554 * libgnat/s-pack56.adb: Likewise.
9555 * libgnat/s-pack56.ads: Likewise.
9556 * libgnat/s-pack57.adb: Likewise.
9557 * libgnat/s-pack57.ads: Likewise.
9558 * libgnat/s-pack58.adb: Likewise.
9559 * libgnat/s-pack58.ads: Likewise.
9560 * libgnat/s-pack59.adb: Likewise.
9561 * libgnat/s-pack59.ads: Likewise.
9562 * libgnat/s-pack60.adb: Likewise.
9563 * libgnat/s-pack60.ads: Likewise.
9564 * libgnat/s-pack61.adb: Likewise.
9565 * libgnat/s-pack61.ads: Likewise.
9566 * libgnat/s-pack62.adb: Likewise.
9567 * libgnat/s-pack62.ads: Likewise.
9568 * libgnat/s-pack63.adb: Likewise.
9569 * libgnat/s-pack63.ads: Likewise.
9570 * libgnat/s-pack65.adb: Likewise.
9571 * libgnat/s-pack65.ads: Likewise.
9572 * libgnat/s-pack66.adb: Likewise.
9573 * libgnat/s-pack66.ads: Likewise.
9574 * libgnat/s-pack67.adb: Likewise.
9575 * libgnat/s-pack67.ads: Likewise.
9576 * libgnat/s-pack68.adb: Likewise.
9577 * libgnat/s-pack68.ads: Likewise.
9578 * libgnat/s-pack69.adb: Likewise.
9579 * libgnat/s-pack69.ads: Likewise.
9580 * libgnat/s-pack70.adb: Likewise.
9581 * libgnat/s-pack70.ads: Likewise.
9582 * libgnat/s-pack71.adb: Likewise.
9583 * libgnat/s-pack71.ads: Likewise.
9584 * libgnat/s-pack72.adb: Likewise.
9585 * libgnat/s-pack72.ads: Likewise.
9586 * libgnat/s-pack73.adb: Likewise.
9587 * libgnat/s-pack73.ads: Likewise.
9588 * libgnat/s-pack74.adb: Likewise.
9589 * libgnat/s-pack74.ads: Likewise.
9590 * libgnat/s-pack75.adb: Likewise.
9591 * libgnat/s-pack75.ads: Likewise.
9592 * libgnat/s-pack76.adb: Likewise.
9593 * libgnat/s-pack76.ads: Likewise.
9594 * libgnat/s-pack77.adb: Likewise.
9595 * libgnat/s-pack77.ads: Likewise.
9596 * libgnat/s-pack78.adb: Likewise.
9597 * libgnat/s-pack78.ads: Likewise.
9598 * libgnat/s-pack79.adb: Likewise.
9599 * libgnat/s-pack79.ads: Likewise.
9600 * libgnat/s-pack80.adb: Likewise.
9601 * libgnat/s-pack80.ads: Likewise.
9602 * libgnat/s-pack81.adb: Likewise.
9603 * libgnat/s-pack81.ads: Likewise.
9604 * libgnat/s-pack82.adb: Likewise.
9605 * libgnat/s-pack82.ads: Likewise.
9606 * libgnat/s-pack83.adb: Likewise.
9607 * libgnat/s-pack83.ads: Likewise.
9608 * libgnat/s-pack84.adb: Likewise.
9609 * libgnat/s-pack84.ads: Likewise.
9610 * libgnat/s-pack85.adb: Likewise.
9611 * libgnat/s-pack85.ads: Likewise.
9612 * libgnat/s-pack86.adb: Likewise.
9613 * libgnat/s-pack86.ads: Likewise.
9614 * libgnat/s-pack87.adb: Likewise.
9615 * libgnat/s-pack87.ads: Likewise.
9616 * libgnat/s-pack88.adb: Likewise.
9617 * libgnat/s-pack88.ads: Likewise.
9618 * libgnat/s-pack89.adb: Likewise.
9619 * libgnat/s-pack89.ads: Likewise.
9620 * libgnat/s-pack90.adb: Likewise.
9621 * libgnat/s-pack90.ads: Likewise.
9622 * libgnat/s-pack91.adb: Likewise.
9623 * libgnat/s-pack91.ads: Likewise.
9624 * libgnat/s-pack92.adb: Likewise.
9625 * libgnat/s-pack92.ads: Likewise.
9626 * libgnat/s-pack93.adb: Likewise.
9627 * libgnat/s-pack93.ads: Likewise.
9628 * libgnat/s-pack94.adb: Likewise.
9629 * libgnat/s-pack94.ads: Likewise.
9630 * libgnat/s-pack95.adb: Likewise.
9631 * libgnat/s-pack95.ads: Likewise.
9632 * libgnat/s-pack96.adb: Likewise.
9633 * libgnat/s-pack96.ads: Likewise.
9634 * libgnat/s-pack97.adb: Likewise.
9635 * libgnat/s-pack97.ads: Likewise.
9636 * libgnat/s-pack98.adb: Likewise.
9637 * libgnat/s-pack98.ads: Likewise.
9638 * libgnat/s-pack99.adb: Likewise.
9639 * libgnat/s-pack99.ads: Likewise.
9640 * libgnat/s-parame.adb: Likewise.
9641 * libgnat/s-parame.ads: Likewise.
9642 * libgnat/s-parame__ae653.ads: Likewise.
9643 * libgnat/s-parame__hpux.ads: Likewise.
9644 * libgnat/s-parame__rtems.adb: Likewise.
9645 * libgnat/s-parame__vxworks.adb: Likewise.
9646 * libgnat/s-parame__vxworks.ads: Likewise.
9647 * libgnat/s-parint.adb: Likewise.
9648 * libgnat/s-parint.ads: Likewise.
9649 * libgnat/s-pooglo.adb: Likewise.
9650 * libgnat/s-pooglo.ads: Likewise.
9651 * libgnat/s-pooloc.adb: Likewise.
9652 * libgnat/s-pooloc.ads: Likewise.
9653 * libgnat/s-poosiz.adb: Likewise.
9654 * libgnat/s-poosiz.ads: Likewise.
9655 * libgnat/s-powflt.ads: Likewise.
9656 * libgnat/s-powlfl.ads: Likewise.
9657 * libgnat/s-powllf.ads: Likewise.
9658 * libgnat/s-purexc.ads: Likewise.
9659 * libgnat/s-putaim.adb: Likewise.
9660 * libgnat/s-putaim.ads: Likewise.
9661 * libgnat/s-putima.adb: Likewise.
9662 * libgnat/s-putima.ads: Likewise.
9663 * libgnat/s-rannum.adb: Likewise.
9664 * libgnat/s-rannum.ads: Likewise.
9665 * libgnat/s-ransee.adb: Likewise.
9666 * libgnat/s-ransee.ads: Likewise.
9667 * libgnat/s-regexp.adb: Likewise.
9668 * libgnat/s-regexp.ads: Likewise.
9669 * libgnat/s-regpat.adb: Likewise.
9670 * libgnat/s-regpat.ads: Likewise.
9671 * libgnat/s-resfil.adb: Likewise.
9672 * libgnat/s-resfil.ads: Likewise.
9673 * libgnat/s-restri.adb: Likewise.
9674 * libgnat/s-restri.ads: Likewise.
9675 * libgnat/s-rident.ads: Likewise.
9676 * libgnat/s-rpc.adb: Likewise.
9677 * libgnat/s-rpc.ads: Likewise.
9678 * libgnat/s-scaval.adb: Likewise.
9679 * libgnat/s-scaval.ads: Likewise.
9680 * libgnat/s-scaval__128.adb: Likewise.
9681 * libgnat/s-scaval__128.ads: Likewise.
9682 * libgnat/s-secsta.adb: Likewise.
9683 * libgnat/s-secsta.ads: Likewise.
9684 * libgnat/s-sequio.adb: Likewise.
9685 * libgnat/s-sequio.ads: Likewise.
9686 * libgnat/s-shabig.ads: Likewise.
9687 * libgnat/s-shasto.adb: Likewise.
9688 * libgnat/s-shasto.ads: Likewise.
9689 * libgnat/s-soflin.adb: Likewise.
9690 * libgnat/s-soflin.ads: Likewise.
9691 * libgnat/s-soliin.adb: Likewise.
9692 * libgnat/s-soliin.ads: Likewise.
9693 * libgnat/s-sopco3.adb: Likewise.
9694 * libgnat/s-sopco3.ads: Likewise.
9695 * libgnat/s-sopco4.adb: Likewise.
9696 * libgnat/s-sopco4.ads: Likewise.
9697 * libgnat/s-sopco5.adb: Likewise.
9698 * libgnat/s-sopco5.ads: Likewise.
9699 * libgnat/s-spsufi.adb: Likewise.
9700 * libgnat/s-spsufi.ads: Likewise.
9701 * libgnat/s-stache.adb: Likewise.
9702 * libgnat/s-stache.ads: Likewise.
9703 * libgnat/s-stalib.adb: Likewise.
9704 * libgnat/s-stalib.ads: Likewise.
9705 * libgnat/s-statxd.adb: Likewise.
9706 * libgnat/s-statxd.ads: Likewise.
9707 * libgnat/s-stausa.adb: Likewise.
9708 * libgnat/s-stausa.ads: Likewise.
9709 * libgnat/s-stchop.adb: Likewise.
9710 * libgnat/s-stchop.ads: Likewise.
9711 * libgnat/s-stchop__limit.ads: Likewise.
9712 * libgnat/s-stchop__rtems.adb: Likewise.
9713 * libgnat/s-stchop__vxworks.adb: Likewise.
9714 * libgnat/s-stoele.adb: Likewise.
9715 * libgnat/s-stoele.ads: Likewise.
9716 * libgnat/s-stopoo.adb: Likewise.
9717 * libgnat/s-stopoo.ads: Likewise.
9718 * libgnat/s-stposu.adb: Likewise.
9719 * libgnat/s-stposu.ads: Likewise.
9720 * libgnat/s-stratt.adb: Likewise.
9721 * libgnat/s-stratt.ads: Likewise.
9722 * libgnat/s-strcom.adb: Likewise.
9723 * libgnat/s-strcom.ads: Likewise.
9724 * libgnat/s-strhas.adb: Likewise.
9725 * libgnat/s-strhas.ads: Likewise.
9726 * libgnat/s-string.adb: Likewise.
9727 * libgnat/s-string.ads: Likewise.
9728 * libgnat/s-strops.adb: Likewise.
9729 * libgnat/s-strops.ads: Likewise.
9730 * libgnat/s-ststop.adb: Likewise.
9731 * libgnat/s-ststop.ads: Likewise.
9732 * libgnat/s-tasloc.adb: Likewise.
9733 * libgnat/s-tasloc.ads: Likewise.
9734 * libgnat/s-thread.ads: Likewise.
9735 * libgnat/s-thread__ae653.adb: Likewise.
9736 * libgnat/s-traceb.adb: Likewise.
9737 * libgnat/s-traceb.ads: Likewise.
9738 * libgnat/s-traceb__hpux.adb: Likewise.
9739 * libgnat/s-traceb__mastop.adb: Likewise.
9740 * libgnat/s-traent.adb: Likewise.
9741 * libgnat/s-traent.ads: Likewise.
9742 * libgnat/s-trasym.adb: Likewise.
9743 * libgnat/s-trasym.ads: Likewise.
9744 * libgnat/s-trasym__dwarf.adb: Likewise.
9745 * libgnat/s-tsmona.adb: Likewise.
9746 * libgnat/s-tsmona__linux.adb: Likewise.
9747 * libgnat/s-tsmona__mingw.adb: Likewise.
9748 * libgnat/s-unstyp.ads: Likewise.
9749 * libgnat/s-utf_32.adb: Likewise.
9750 * libgnat/s-utf_32.ads: Likewise.
9751 * libgnat/s-vade128.ads: Likewise.
9752 * libgnat/s-vade32.ads: Likewise.
9753 * libgnat/s-vade64.ads: Likewise.
9754 * libgnat/s-vafi128.ads: Likewise.
9755 * libgnat/s-vafi32.ads: Likewise.
9756 * libgnat/s-vafi64.ads: Likewise.
9757 * libgnat/s-valboo.adb: Likewise.
9758 * libgnat/s-valboo.ads: Likewise.
9759 * libgnat/s-valcha.adb: Likewise.
9760 * libgnat/s-valcha.ads: Likewise.
9761 * libgnat/s-valenu.adb: Likewise.
9762 * libgnat/s-valenu.ads: Likewise.
9763 * libgnat/s-valflt.ads: Likewise.
9764 * libgnat/s-valint.adb: Likewise.
9765 * libgnat/s-valint.ads: Likewise.
9766 * libgnat/s-vallfl.ads: Likewise.
9767 * libgnat/s-valllf.ads: Likewise.
9768 * libgnat/s-vallli.adb: Likewise.
9769 * libgnat/s-vallli.ads: Likewise.
9770 * libgnat/s-valllli.ads: Likewise.
9771 * libgnat/s-vallllu.ads: Likewise.
9772 * libgnat/s-valllu.adb: Likewise.
9773 * libgnat/s-valllu.ads: Likewise.
9774 * libgnat/s-valrea.adb: Likewise.
9775 * libgnat/s-valrea.ads: Likewise.
9776 * libgnat/s-valued.adb: Likewise.
9777 * libgnat/s-valued.ads: Likewise.
9778 * libgnat/s-valuef.adb: Likewise.
9779 * libgnat/s-valuef.ads: Likewise.
9780 * libgnat/s-valuei.adb: Likewise.
9781 * libgnat/s-valuei.ads: Likewise.
9782 * libgnat/s-valuer.adb: Likewise.
9783 * libgnat/s-valuer.ads: Likewise.
9784 * libgnat/s-valueu.adb: Likewise.
9785 * libgnat/s-valueu.ads: Likewise.
9786 * libgnat/s-valuns.adb: Likewise.
9787 * libgnat/s-valuns.ads: Likewise.
9788 * libgnat/s-valuti.adb: Likewise.
9789 * libgnat/s-valuti.ads: Likewise.
9790 * libgnat/s-valwch.adb: Likewise.
9791 * libgnat/s-valwch.ads: Likewise.
9792 * libgnat/s-veboop.adb: Likewise.
9793 * libgnat/s-veboop.ads: Likewise.
9794 * libgnat/s-vector.ads: Likewise.
9795 * libgnat/s-vercon.adb: Likewise.
9796 * libgnat/s-vercon.ads: Likewise.
9797 * libgnat/s-wchcnv.adb: Likewise.
9798 * libgnat/s-wchcnv.ads: Likewise.
9799 * libgnat/s-wchcon.adb: Likewise.
9800 * libgnat/s-wchcon.ads: Likewise.
9801 * libgnat/s-wchjis.adb: Likewise.
9802 * libgnat/s-wchjis.ads: Likewise.
9803 * libgnat/s-wchstw.adb: Likewise.
9804 * libgnat/s-wchstw.ads: Likewise.
9805 * libgnat/s-wchwts.adb: Likewise.
9806 * libgnat/s-wchwts.ads: Likewise.
9807 * libgnat/s-widboo.adb: Likewise.
9808 * libgnat/s-widboo.ads: Likewise.
9809 * libgnat/s-widcha.adb: Likewise.
9810 * libgnat/s-widcha.ads: Likewise.
9811 * libgnat/s-widenu.adb: Likewise.
9812 * libgnat/s-widenu.ads: Likewise.
9813 * libgnat/s-widint.ads: Likewise.
9814 * libgnat/s-widlli.adb: Likewise.
9815 * libgnat/s-widlli.ads: Likewise.
9816 * libgnat/s-widllli.ads: Likewise.
9817 * libgnat/s-widlllu.ads: Likewise.
9818 * libgnat/s-widllu.adb: Likewise.
9819 * libgnat/s-widllu.ads: Likewise.
9820 * libgnat/s-widthi.adb: Likewise.
9821 * libgnat/s-widthi.ads: Likewise.
9822 * libgnat/s-widthu.adb: Likewise.
9823 * libgnat/s-widthu.ads: Likewise.
9824 * libgnat/s-widuns.ads: Likewise.
9825 * libgnat/s-widwch.adb: Likewise.
9826 * libgnat/s-widwch.ads: Likewise.
9827 * libgnat/s-win32.ads: Likewise.
9828 * libgnat/s-winext.ads: Likewise.
9829 * libgnat/s-wwdcha.adb: Likewise.
9830 * libgnat/s-wwdcha.ads: Likewise.
9831 * libgnat/s-wwdenu.adb: Likewise.
9832 * libgnat/s-wwdenu.ads: Likewise.
9833 * libgnat/s-wwdwch.adb: Likewise.
9834 * libgnat/s-wwdwch.ads: Likewise.
9835 * libgnat/system-aix.ads: Likewise.
9836 * libgnat/system-darwin-arm.ads: Likewise.
9837 * libgnat/system-darwin-ppc.ads: Likewise.
9838 * libgnat/system-darwin-x86.ads: Likewise.
9839 * libgnat/system-djgpp.ads: Likewise.
9840 * libgnat/system-dragonfly-x86_64.ads: Likewise.
9841 * libgnat/system-freebsd.ads: Likewise.
9842 * libgnat/system-hpux-ia64.ads: Likewise.
9843 * libgnat/system-hpux.ads: Likewise.
9844 * libgnat/system-linux-alpha.ads: Likewise.
9845 * libgnat/system-linux-arm.ads: Likewise.
9846 * libgnat/system-linux-hppa.ads: Likewise.
9847 * libgnat/system-linux-ia64.ads: Likewise.
9848 * libgnat/system-linux-m68k.ads: Likewise.
9849 * libgnat/system-linux-mips.ads: Likewise.
9850 * libgnat/system-linux-ppc.ads: Likewise.
9851 * libgnat/system-linux-riscv.ads: Likewise.
9852 * libgnat/system-linux-s390.ads: Likewise.
9853 * libgnat/system-linux-sh4.ads: Likewise.
9854 * libgnat/system-linux-sparc.ads: Likewise.
9855 * libgnat/system-linux-x86.ads: Likewise.
9856 * libgnat/system-lynxos178-ppc.ads: Likewise.
9857 * libgnat/system-lynxos178-x86.ads: Likewise.
9858 * libgnat/system-mingw.ads: Likewise.
9859 * libgnat/system-qnx-aarch64.ads: Likewise.
9860 * libgnat/system-rtems.ads: Likewise.
9861 * libgnat/system-solaris-sparc.ads: Likewise.
9862 * libgnat/system-solaris-x86.ads: Likewise.
9863 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
9864 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
9865 * libgnat/system-vxworks-arm.ads: Likewise.
9866 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
9867 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
9868 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
9869 * libgnat/system-vxworks-e500-vthread.ads: Likewise.
9870 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
9871 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
9872 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
9873 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
9874 * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
9875 * libgnat/system-vxworks-ppc.ads: Likewise.
9876 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
9877 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
9878 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
9879 * libgnat/system-vxworks-x86-vthread.ads: Likewise.
9880 * libgnat/system-vxworks-x86.ads: Likewise.
9881 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
9882 * libgnat/system-vxworks7-aarch64.ads: Likewise.
9883 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
9884 * libgnat/system-vxworks7-arm.ads: Likewise.
9885 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
9886 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
9887 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
9888 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
9889 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
9890 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
9891 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
9892 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
9893 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
9894 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
9895 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
9896 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
9897 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
9898 * link.c: Likewise.
9899 * live.adb: Likewise.
9900 * live.ads: Likewise.
9901 * locales.c: Likewise.
9902 * make.adb: Likewise.
9903 * make.ads: Likewise.
9904 * make_util.adb: Likewise.
9905 * make_util.ads: Likewise.
9906 * makeusg.adb: Likewise.
9907 * makeusg.ads: Likewise.
9908 * mdll-fil.adb: Likewise.
9909 * mdll-fil.ads: Likewise.
9910 * mdll-utl.adb: Likewise.
9911 * mdll-utl.ads: Likewise.
9912 * mdll.adb: Likewise.
9913 * mdll.ads: Likewise.
9914 * mingw32.h: Likewise.
9915 * mkdir.c: Likewise.
9916 * namet-sp.adb: Likewise.
9917 * namet-sp.ads: Likewise.
9918 * namet.adb: Likewise.
9919 * namet.ads: Likewise.
9920 * namet.h: Likewise.
9921 * nlists.adb: Likewise.
9922 * nlists.ads: Likewise.
9923 * nlists.h: Likewise.
9924 * opt.adb: Likewise.
9925 * opt.ads: Likewise.
9926 * osint-b.adb: Likewise.
9927 * osint-b.ads: Likewise.
9928 * osint-c.adb: Likewise.
9929 * osint-c.ads: Likewise.
9930 * osint-l.adb: Likewise.
9931 * osint-l.ads: Likewise.
9932 * osint-m.adb: Likewise.
9933 * osint-m.ads: Likewise.
9934 * osint.adb: Likewise.
9935 * osint.ads: Likewise.
9936 * output.adb: Likewise.
9937 * output.ads: Likewise.
9938 * par-ch10.adb: Likewise.
9939 * par-ch11.adb: Likewise.
9940 * par-ch12.adb: Likewise.
9941 * par-ch13.adb: Likewise.
9942 * par-ch2.adb: Likewise.
9943 * par-ch3.adb: Likewise.
9944 * par-ch4.adb: Likewise.
9945 * par-ch5.adb: Likewise.
9946 * par-ch6.adb: Likewise.
9947 * par-ch7.adb: Likewise.
9948 * par-ch8.adb: Likewise.
9949 * par-ch9.adb: Likewise.
9950 * par-endh.adb: Likewise.
9951 * par-labl.adb: Likewise.
9952 * par-load.adb: Likewise.
9953 * par-prag.adb: Likewise.
9954 * par-sync.adb: Likewise.
9955 * par-tchk.adb: Likewise.
9956 * par-util.adb: Likewise.
9957 * par.adb: Likewise.
9958 * par.ads: Likewise.
9959 * par_sco.adb: Likewise.
9960 * par_sco.ads: Likewise.
9961 * pprint.adb: Likewise.
9962 * pprint.ads: Likewise.
9963 * prep.adb: Likewise.
9964 * prep.ads: Likewise.
9965 * prepcomp.adb: Likewise.
9966 * prepcomp.ads: Likewise.
9967 * put_scos.adb: Likewise.
9968 * put_scos.ads: Likewise.
9969 * raise-gcc.c: Likewise.
9970 * raise.c: Likewise.
9971 * raise.h: Likewise.
9972 * repinfo-input.adb: Likewise.
9973 * repinfo-input.ads: Likewise.
9974 * repinfo.adb: Likewise.
9975 * repinfo.ads: Likewise.
9976 * repinfo.h: Likewise.
9977 * restrict.adb: Likewise.
9978 * restrict.ads: Likewise.
9979 * rident.ads: Likewise.
9980 * rtfinal.c: Likewise.
9981 * rtinit.c: Likewise.
9982 * rtsfind.adb: Likewise.
9983 * rtsfind.ads: Likewise.
9984 * runtime.h: Likewise.
9985 * s-oscons-tmplt.c: Likewise.
9986 * sa_messages.adb: Likewise.
9987 * sa_messages.ads: Likewise.
9988 * scans.adb: Likewise.
9989 * scans.ads: Likewise.
9990 * scil_ll.adb: Likewise.
9991 * scil_ll.ads: Likewise.
9992 * scn.adb: Likewise.
9993 * scn.ads: Likewise.
9994 * scng.adb: Likewise.
9995 * scng.ads: Likewise.
9996 * scos.adb: Likewise.
9997 * scos.ads: Likewise.
9998 * scos.h: Likewise.
9999 * sdefault.ads: Likewise.
10000 * seh_init.c: Likewise.
10001 * sem.adb: Likewise.
10002 * sem.ads: Likewise.
10003 * sem_aggr.adb: Likewise.
10004 * sem_aggr.ads: Likewise.
10005 * sem_attr.adb: Likewise.
10006 * sem_attr.ads: Likewise.
10007 * sem_aux.adb: Likewise.
10008 * sem_aux.ads: Likewise.
10009 * sem_case.adb: Likewise.
10010 * sem_case.ads: Likewise.
10011 * sem_cat.adb: Likewise.
10012 * sem_cat.ads: Likewise.
10013 * sem_ch10.adb: Likewise.
10014 * sem_ch10.ads: Likewise.
10015 * sem_ch11.adb: Likewise.
10016 * sem_ch11.ads: Likewise.
10017 * sem_ch12.adb: Likewise.
10018 * sem_ch12.ads: Likewise.
10019 * sem_ch13.adb: Likewise.
10020 * sem_ch13.ads: Likewise.
10021 * sem_ch2.adb: Likewise.
10022 * sem_ch2.ads: Likewise.
10023 * sem_ch3.adb: Likewise.
10024 * sem_ch3.ads: Likewise.
10025 * sem_ch4.adb: Likewise.
10026 * sem_ch4.ads: Likewise.
10027 * sem_ch5.adb: Likewise.
10028 * sem_ch5.ads: Likewise.
10029 * sem_ch6.adb: Likewise.
10030 * sem_ch6.ads: Likewise.
10031 * sem_ch7.adb: Likewise.
10032 * sem_ch7.ads: Likewise.
10033 * sem_ch8.adb: Likewise.
10034 * sem_ch8.ads: Likewise.
10035 * sem_ch9.adb: Likewise.
10036 * sem_ch9.ads: Likewise.
10037 * sem_dim.adb: Likewise.
10038 * sem_dim.ads: Likewise.
10039 * sem_disp.adb: Likewise.
10040 * sem_disp.ads: Likewise.
10041 * sem_dist.adb: Likewise.
10042 * sem_dist.ads: Likewise.
10043 * sem_elab.adb: Likewise.
10044 * sem_elab.ads: Likewise.
10045 * sem_elim.adb: Likewise.
10046 * sem_elim.ads: Likewise.
10047 * sem_eval.adb: Likewise.
10048 * sem_eval.ads: Likewise.
10049 * sem_intr.adb: Likewise.
10050 * sem_intr.ads: Likewise.
10051 * sem_mech.adb: Likewise.
10052 * sem_mech.ads: Likewise.
10053 * sem_prag.adb: Likewise.
10054 * sem_prag.ads: Likewise.
10055 * sem_res.adb: Likewise.
10056 * sem_res.ads: Likewise.
10057 * sem_scil.adb: Likewise.
10058 * sem_scil.ads: Likewise.
10059 * sem_smem.adb: Likewise.
10060 * sem_smem.ads: Likewise.
10061 * sem_type.adb: Likewise.
10062 * sem_type.ads: Likewise.
10063 * sem_util.adb: Likewise.
10064 * sem_util.ads: Likewise.
10065 * sem_warn.adb: Likewise.
10066 * sem_warn.ads: Likewise.
10067 * set_targ.adb: Likewise.
10068 * set_targ.ads: Likewise.
10069 * sfn_scan.adb: Likewise.
10070 * sfn_scan.ads: Likewise.
10071 * sigtramp-armdroid.c: Likewise.
10072 * sigtramp-ios.c: Likewise.
10073 * sigtramp-qnx.c: Likewise.
10074 * sigtramp-vxworks.c: Likewise.
10075 * sigtramp.h: Likewise.
10076 * sinfo-cn.adb: Likewise.
10077 * sinfo-cn.ads: Likewise.
10078 * sinfo.adb: Likewise.
10079 * sinfo.ads: Likewise.
10080 * sinput-c.adb: Likewise.
10081 * sinput-c.ads: Likewise.
10082 * sinput-d.adb: Likewise.
10083 * sinput-d.ads: Likewise.
10084 * sinput-l.adb: Likewise.
10085 * sinput-l.ads: Likewise.
10086 * sinput.adb: Likewise.
10087 * sinput.ads: Likewise.
10088 * snames.adb-tmpl: Likewise.
10089 * snames.ads-tmpl: Likewise.
10090 * socket.c: Likewise.
10091 * spark_xrefs.adb: Likewise.
10092 * spark_xrefs.ads: Likewise.
10093 * sprint.adb: Likewise.
10094 * sprint.ads: Likewise.
10095 * stand.ads: Likewise.
10096 * stringt.adb: Likewise.
10097 * stringt.ads: Likewise.
10098 * stringt.h: Likewise.
10099 * style.adb: Likewise.
10100 * style.ads: Likewise.
10101 * styleg.adb: Likewise.
10102 * styleg.ads: Likewise.
10103 * stylesw.adb: Likewise.
10104 * stylesw.ads: Likewise.
10105 * switch-b.adb: Likewise.
10106 * switch-b.ads: Likewise.
10107 * switch-c.adb: Likewise.
10108 * switch-c.ads: Likewise.
10109 * switch-m.adb: Likewise.
10110 * switch-m.ads: Likewise.
10111 * switch.adb: Likewise.
10112 * switch.ads: Likewise.
10113 * sysdep.c: Likewise.
10114 * table.adb: Likewise.
10115 * table.ads: Likewise.
10116 * targext.c: Likewise.
10117 * targparm.adb: Likewise.
10118 * targparm.ads: Likewise.
10119 * tbuild.adb: Likewise.
10120 * tbuild.ads: Likewise.
10121 * tempdir.adb: Likewise.
10122 * tempdir.ads: Likewise.
10123 * terminals.c: Likewise.
10124 * tracebak.c: Likewise.
10125 * treepr.adb: Likewise.
10126 * treepr.ads: Likewise.
10127 * ttypes.ads: Likewise.
10128 * types.adb: Likewise.
10129 * types.ads: Likewise.
10130 * types.h: Likewise.
10131 * uintp.adb: Likewise.
10132 * uintp.ads: Likewise.
10133 * uintp.h: Likewise.
10134 * uname.adb: Likewise.
10135 * uname.ads: Likewise.
10136 * urealp.adb: Likewise.
10137 * urealp.ads: Likewise.
10138 * urealp.h: Likewise.
10139 * usage.adb: Likewise.
10140 * usage.ads: Likewise.
10141 * validsw.adb: Likewise.
10142 * validsw.ads: Likewise.
10143 * vast.adb: Likewise.
10144 * vast.ads: Likewise.
10145 * warnsw.adb: Likewise.
10146 * warnsw.ads: Likewise.
10147 * widechar.adb: Likewise.
10148 * widechar.ads: Likewise.
10149 * xeinfo.adb: Likewise.
10150 * xnmake.adb: Likewise.
10151 * xoscons.adb: Likewise.
10152 * xr_tabls.adb: Likewise.
10153 * xr_tabls.ads: Likewise.
10154 * xref_lib.adb: Likewise.
10155 * xref_lib.ads: Likewise.
10156 * xsinfo.adb: Likewise.
10157 * xsnamest.adb: Likewise.
10158 * xtreeprs.adb: Likewise.
10159 * xutil.adb: Likewise.
10160 * xutil.ads: Likewise.
10161
10162 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10163
10164 * exp_dist.adb (Build_From_Any_Call): Remove initial value for
10165 Fnam; fix style.
10166 (Build_To_Any_Call): Remove initial value for Fnam.
10167 (Build_TypeCode_Call): Likewise.
10168
10169 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10170
10171 * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
10172 exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb,
10173 sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb,
10174 sem_util.adb: Replace calls to RTE with Is_RTE.
10175
10176 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10177
10178 * sem_ch4.adb (Try_Object_Operation): Reuse local constant.
10179
10180 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10181
10182 * sem_ch4.adb (Try_Object_Operation): When a prefixed call is
10183 overloaded and illegal, and the All_Errors flag is off, generate
10184 an error message if the re-analysis of some candidate
10185 interpretation fails to produce one.
10186
10187 2021-05-03 Dmitriy Anisimkov <anisimko@adacore.com>
10188
10189 * libgnat/g-casuti.adb: Replace with "pragma No_Body".
10190 * libgnat/g-casuti.ads: Replace with a package renaming.
10191
10192 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10193
10194 * sem_attr.adb (Check_Program_Unit): Fix references to
10195 Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
10196 Entity.
10197
10198 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10199
10200 * sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind
10201 and Protected_Kind with a collective test for Concurrent_Kind;
10202 likewise, replace calls to Is_Task_Type and Is_Protected_Type
10203 with a collective call to Is_Concurrent_Type; simplify into a
10204 single membership test; add missing Entry_Kind alternative.
10205
10206 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10207
10208 * sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error
10209 message.
10210 * sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced
10211 parens.
10212 * sem_elim.adb (Eliminate_Error_Msg): Add insertion character.
10213
10214 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10215
10216 * freeze.adb (Freeze_Profile): Replace Error_Msg_NE with
10217 Error_Msg_N; change to continuation message.
10218 * sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace
10219 calls to Error_Msg_NE with calls to Error_Msg_N.
10220
10221 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10222
10223 * exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb,
10224 sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10225 sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb,
10226 sem_res.adb: Remove extra leading and trailing space in error
10227 messages.
10228
10229 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10230
10231 * sem_prag.adb (Set_Exported): Do not warn on exporting a type.
10232
10233 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10234
10235 * sem_warn.adb (Check_References): Do not emit warning on a
10236 selected component when enclosing type has no discriminant and
10237 type of component has partial initialization.
10238
10239 2021-05-03 Justin Squirek <squirek@adacore.com>
10240
10241 * contracts.adb (Build_Postconditions_Procedure): Remove
10242 internally generated if statement used to control finalization
10243 actions.
10244 * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
10245 Expand_Simple_Function_Return): Add if statement around
10246 _postconditions to control finalization.
10247 * exp_ch7.adb (Build_Finalizer): Likewise.
10248 * sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to
10249 handle Context itself being a handled sequence of statements.
10250
10251 2021-05-03 Justin Squirek <squirek@adacore.com>
10252
10253 * sem_util.adb (In_Return_Value): Modified to detect when
10254 implicit dereference is specified on the return type of a
10255 function call within the expression being checked.
10256
10257 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10258
10259 * exp_aggr.adb (Expand_Array_Aggregate): If the parent node of
10260 the aggregate is a subprogram call there is no target in which
10261 to build the aggregate, and it has to be expanded into component
10262 assignments.
10263
10264 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10265
10266 * exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments;
10267 remove periods after single-line comments; use procedural
10268 variant of Next_Entity.
10269 * gnat_cuda.adb: Refill comments; remove periods after
10270 single-line comments; replace calls to UI_From_Int with
10271 constants; change iteration bounds so they match the comments.
10272 * sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma
10273 CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global
10274 with Check_Arg_Count; sync comment with code for CUDA_Global.
10275
10276 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10277
10278 * tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction
10279 checking on dead paths.
10280
10281 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10282
10283 * sem_util.adb (Check_Result_And_Post_State): Replace custom
10284 Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter
10285 flag which corresponds exactly to what we need.
10286
10287 2021-05-03 Arnaud Charlet <charlet@adacore.com>
10288
10289 * libgnat/a-ztcoio.adb: Remove unused with clause.
10290
10291 2021-05-03 Piotr Trojanek <trojanek@adacore.com>
10292
10293 * sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment.
10294 (Resolve_Aspect_Expressions): Fix typo in comment; remove
10295 redundant check for no aspects; simplify with Discard_Node.
10296
10297 2021-05-03 Ed Schonberg <schonberg@adacore.com>
10298
10299 * sem_util.adb (Build_Constrained_Itype): Remove prior patch,
10300 issue is better handled in Sem_Ch13.Build_Predicate_Functions.
10301 * sem_ch13.adb (Build_Predicate_Functions): Do not build
10302 predicate function for an Itype with a defined
10303 Predicated_Parent, even if that designated parent does not yet
10304 have a Predicate_Function. This can happen in instance bodies
10305 nested within a generic unit.
10306
10307 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10308
10309 * exp_attr.adb (Expand_N_Attribute_Reference)
10310 <Attribute_Max_Size_In_Storage_Elements>: Apply the checks for
10311 universal integer contexts only in the default case.
10312 * exp_ch4.adb (Get_Size_For_Range): Move to library level.
10313 (Expand_N_Type_Conversion): If the operand has Universal_Integer
10314 type and the conversion requires an overflow check, try to do an
10315 intermediate conversion to a narrower type.
10316
10317 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10318
10319 * sem_ch3.adb (Check_Anonymous_Access_Component): Factor out
10320 core processing of Check_Anonymous_Access_Components.
10321 (Check_Anonymous_Access_Components): Call
10322 Check_Anonymous_Access_Component.
10323 (Process_Discriminants): Call Check_Anonymous_Access_Component.
10324 * freeze.adb (Freeze_Record_Type): Code cleanups and add more tree
10325 checking to handle changes in sem_ch3.adb.
10326 * sem_ch8.adb (Find_Type): Remove special case for access
10327 discriminant in task types, these are now supported.
10328
10329 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10330
10331 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove
10332 entry condition.
10333 (Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left
10334 operand before doing the special overflow expansion.
10335 (Expand_N_Op_Eq): Likewise.
10336 (Expand_N_Op_Ge): Likewise.
10337 (Expand_N_Op_Gt): Likewise.
10338 (Expand_N_Op_Le): Likewise.
10339 (Expand_N_Op_Lt): Likewise.
10340 (Expand_N_Op_Ne): Likewise.
10341 (Minimized_Eliminated_Overflow_Check): Return False for Minimized
10342 if the size of the type is greater than that of Long_Long_Integer.
10343
10344 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10345
10346 * exp_ch5.adb (Expand_N_If_Statement): Only perform the
10347 simplification on return True/False for internal nodes when
10348 -fpreserve-control-flow is not set.
10349
10350 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10351
10352 * sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Use
10353 Round_Even instead of Round in the call to the Machine routine.
10354
10355 2021-04-29 Bob Duff <duff@adacore.com>
10356
10357 * sem_attr.adb (Analyze_Attribute): Change "$" to "&".
10358 Otherwise, Errout will trip over an uninitialized (invalid)
10359 variable (Error_Msg_Unit_1).
10360
10361 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10362
10363 * libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero
10364 when the precision limit is reached by means of trailing zeros
10365 and prevent it from being overwritten later.
10366
10367 2021-04-29 Yannick Moy <moy@adacore.com>
10368
10369 * errout.adb (Output_Messages): Insert SGR strings where needed.
10370 * erroutc.adb (Output_Message_Txt): Insert SGR strings where
10371 needed in the text of the message itself.
10372 (Output_Msg_Text): Allow for style message not to start
10373 with (style).
10374 * erroutc.ads: Add new constants and functions to control colors
10375 in messages output to the terminal. Add variable Use_SGR_Control
10376 that should be set to True for using SGR color control strings.
10377
10378 2021-04-29 Yannick Moy <moy@adacore.com>
10379
10380 * sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply
10381 compile-time checking for overflows in non-static contexts
10382 including inlined code.
10383 (Eval_Arithmetic_Op): Use the new procedure.
10384 (Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure.
10385
10386 2021-04-29 Justin Squirek <squirek@adacore.com>
10387
10388 * checks.adb (Apply_Type_Conversion_Checks): Move out constraint
10389 check generation, and add case for general access types with
10390 constraints.
10391 (Make_Discriminant_Constraint_Check): Created to centralize
10392 generation of constraint checks for stored discriminants.
10393
10394 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10395
10396 * gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration
10397 type if the maximum integer size is lower than 64 bits.
10398
10399 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10400
10401 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files.
10402 (ADA_INCLUDE_SRCS): Remove libgnat/system.ads
10403
10404 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10405
10406 * exp_aggr.adb (Collect_Initialization_Statements): Removed.
10407 (Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix
10408 creation and insertion of Initialization_Statements. Do not set
10409 Initialization_Statements when a transient scope is involved.
10410 Move processing of Array_Slice here. Ensure that an object with
10411 an Array_Slice call gets its array component initialized. Add
10412 comments.
10413 * exp_ch7.adb: Update comments.
10414 (Store_Actions_In_Scope): Deal properly with an empty list which
10415 might now be generated by Convert_Aggr_In_Object_Decl.
10416 * exp_ch3.adb: Update comments.
10417 (Expand_N_Object_Declaration): Remove processing of Array_Slice.
10418
10419 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10420
10421 * sem_ch8.adb (Analyze_Object_Renaming): Update check for
10422 AI12-0401.
10423
10424 2021-04-29 Patrick Bernardi <bernardi@adacore.com>
10425
10426 * libgnat/s-stoele.ads (Storage_Offset): Cleanup comment.
10427
10428 2021-04-29 Gary Dismukes <dismukes@adacore.com>
10429
10430 * exp_util.adb (Add_Own_DIC): Relax the suppression of adding a
10431 DIC Check pragma that's done for abstract types by still doing
10432 it in the case where GNATprove_Mode is set.
10433
10434 2021-04-29 Joel Brobecker <brobecker@adacore.com>
10435
10436 * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads,
10437 s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads.
10438
10439 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10440
10441 * layout.adb (Layout_Type): Refine type of a local variable with
10442 the required size of object from Int to Pos (it is initialized
10443 with 8 and only multiplied by 2); fix unbalanced parens in
10444 comment.
10445
10446 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10447
10448 * eval_fat.adb (Succ): Use Ureal_Half in a couple of places.
10449
10450 2021-04-29 Ed Schonberg <schonberg@adacore.com>
10451
10452 * sem_util.adb (Build_Constrained_Itype): Inhibit the generation
10453 of predicate functions for this Itype, which is created for an
10454 aggregate of a discriminated type. The object to which the
10455 aggregate is assigned, e.g a writable actual parameter, will
10456 apply the predicates if any are inherited from the base type.
10457
10458 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10459
10460 * sem_cat.adb (Set_Categorization_From_Pragmas): Remove special
10461 case for generic child units; remove optimization for empty list
10462 of pragmas; properly restore visibility.
10463
10464 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10465
10466 * sem_elab.adb (Process_SPARK_Instantiation): Fix typo in
10467 comment.
10468 * sem_prag.adb (Find_Related_Context): Add missing reference to
10469 No_Caching in the comment; handle pragmas on compilation units.
10470
10471 2021-04-29 Piotr Trojanek <trojanek@adacore.com>
10472
10473 * doc/gnat_rm/implementation_defined_attributes.rst: Change all
10474 occurrences of "permissible prefix" to "allowed prefix", for
10475 consistency.
10476 * gnat_rm.texi: Regenerate.
10477
10478 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10479
10480 * eval_fat.adb (Succ): Add a special case for zero if the type does
10481 not support denormalized numbers. Always use the canonical formula
10482 in other cases and add commentary throughout the function.
10483
10484 2021-04-29 Eric Botcazou <ebotcazou@adacore.com>
10485
10486 * libgnat/s-fatgen.adb: Remove with clause for Interfaces and
10487 use type clauses for Interfaces.Unsigned_{16,32,64}.
10488 (Small16): Remove.
10489 (Small32): Likewise
10490 (Small64): Likewise.
10491 (Small80): Likewise.
10492 (Tiny16): Likewise.
10493 (Tiny32): Likewise.
10494 (Tiny64): Likewise.
10495 (Tiny80): Likewise.
10496 (Siz): Always use 16.
10497 (NR): New constant.
10498 (Rep_Last): Use it in the computation.
10499 (Exp_Factor): Remove special case for 80-bit.
10500 (Sign_Mask): Likewise.
10501 (Finite_Succ): New function implementing the Succ attribute for
10502 finite numbers.
10503 (Pred): Rewrite in terms of Finite_Succ.
10504 (Succ): Likewise.
10505
10506 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10507
10508 * debug_a.adb (Debug_Output_Astring): Remove obsolete comment.
10509
10510 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10511
10512 * sem_attr.adb (Check_Image_Type): Protect against empty
10513 Image_Type.
10514
10515 2021-04-29 Arnaud Charlet <charlet@adacore.com>
10516
10517 * libgnat/a-nbnbin.ads (From_Universal_Image): New.
10518 (Big_Integer): Update definition.
10519 * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb
10520 (From_Universal_Image): New.
10521 (From_String): Remove alternate body, replaced by
10522 From_Universal_Image.
10523 (Big_Real): Update definition.
10524
10525 2021-04-29 Gary Dismukes <dismukes@adacore.com>
10526
10527 * sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features
10528 restriction for 'Class applied to an untagged incomplete
10529 type (when Ada_Version >= Ada_2005). Remove disabling of the
10530 warning message for such usage, along with the ??? comment,
10531 which no longer applies (because the -gnatg switch no longer
10532 sets Warn_On_Obsolescent_Feature).
10533
10534 2021-04-29 Yannick Moy <moy@adacore.com>
10535
10536 * errout.adb (Error_Msg_NEL): Extract span from node.
10537 (First_And_Last_Nodes): Use spans for subtype indications and
10538 attribute definition clauses.
10539 (Write_Source_Code_Lines): Fix for tabulation characters. Change
10540 output for large spans to skip intermediate lines.
10541 * sem_case.adb (Check_Choice_Set): Report duplicate choice on
10542 the Original_Node for the case.
10543 (Generic_Check_Choices): Set the Original_Node for the rewritten
10544 case, so that the subtree used in spans has the correct
10545 locations.
10546
10547 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10548
10549 * sem_ch13.adb, sem_util.adb: Fix style.
10550
10551 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10552
10553 * nlists.ads (List_Length): Adapt comment to match the
10554 behaviour.
10555
10556 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10557
10558 * sem_eval.adb (Eval_Selected_Component): Only consider compile
10559 time known aggregates.
10560
10561 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10562
10563 * libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16
10564 and Interfaces.Unsigned_32.
10565 (Small16): New constant.
10566 (Small32): Likewise.
10567 (Small64): Likewise.
10568 (Small80): Likewise.
10569 (Pred): Declare a local overlay for Small and return it negated
10570 for zero if the type does not support denormalized numbers.
10571 (Succ): Likewise, but return it directly.
10572
10573 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10574
10575 * inline.adb (Formal_Is_Used_Once): Refine type of the counter
10576 variable; remove redundant assignment.
10577
10578 2021-04-28 Patrick Bernardi <bernardi@adacore.com>
10579
10580 * libgnarl/s-interr.adb (Install_Restricted_Handlers): Change
10581 Prio parameter to type Interrupt_Priority.
10582 * libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise.
10583 * libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers):
10584 Likewise.
10585 * libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers):
10586 Likewise.
10587 * libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers):
10588 Likewise.
10589 * libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers):
10590 Likewise.
10591
10592 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10593
10594 * sem_type.ads (Write_Interp_Ref): Removed; no longer needed.
10595 * sem_type.adb (Headers): Removed; now the hash table is
10596 directly in the Interp_Map alone.
10597 (Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable.
10598 (Last_Overloaded): New variable to emulate Interp_Map.Last.
10599 (Add_One_Interp): Adapt to new data structure.
10600 (Get_First_Interp): Likewise.
10601 (Hash): Likewise.
10602 (Init_Interp_Tables): Likewise.
10603 (New_Interps): Likewise.
10604 (Save_Interps): Likewise; handle O_N variable like in
10605 Get_First_Interp.
10606 (Write_Interp_Ref): Removed; no longer needed.
10607
10608 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10609
10610 * inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc.
10611
10612 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10613
10614 * sem_ch13.adb (Analyze_Aspect_Static): Reuse
10615 Error_Msg_Ada_2020_Feature for aspect Static.
10616 (Analyze_One_Aspect): Likewise for aspect Full_Access.
10617
10618 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10619
10620 * sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a
10621 single check for the expression being present; adapt comments.
10622
10623 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10624
10625 * sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the
10626 error message.
10627
10628 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10629
10630 * sem_eval.adb (Eval_Selected_Component): Simplify with
10631 Unqualify.
10632
10633 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10634
10635 * libgnat/s-valrea.adb (Fast2Sum): New function.
10636 (Integer_to_Real): Use it in an iterated addition with exact
10637 error handling for the case where an extra digit is needed.
10638 Move local variable now only used in the exponentiation case.
10639
10640 2021-04-28 Yannick Moy <moy@adacore.com>
10641
10642 * errout.adb: (Error_Msg_Internal): Use span instead of
10643 location.
10644 (Error_Msg, Error_Msg_NEL): Add versions with span parameter.
10645 (Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE,
10646 Error_Msg_NW): Retrieve span from node.
10647 (First_Node): Use the new First_And_Last_Nodes.
10648 (First_And_Last_Nodes): Expand on previous First_Node. Apply to
10649 other nodes than expressions.
10650 (First_Sloc): Protect against inconsistent locations.
10651 (Last_Node): New function based on First_And_Last_Nodes.
10652 (Last_Sloc): New function similar to First_Sloc.
10653 (Output_Messages): Update output when -gnatdF is used. Use
10654 character ~ for making the span visible, similar to what is done
10655 in GCC and Clang.
10656 * errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span
10657 parameter.
10658 (First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms.
10659 * erroutc.adb: Adapt to Sptr field being a span.
10660 * erroutc.ads (Error_Msg_Object): Change field Sptr from
10661 location to span.
10662 * errutil.adb: Adapt to Sptr field being a span.
10663 * freeze.adb: Use Errout reporting procedures for nodes to get
10664 spans.
10665 * par-ch3.adb: Likewise.
10666 * par-prag.adb: Likewise.
10667 * par-util.adb: Likewise.
10668 * sem_case.adb: Likewise.
10669 * sem_ch13.adb: Likewise.
10670 * sem_ch3.adb: Likewise.
10671 * sem_prag.adb: Likewise.
10672 * types.ads: (Source_Span): New type for spans.
10673 (To_Span): Basic constructors for spans.
10674
10675 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10676
10677 * einfo.adb (Discriminant_Constraint): Refine assertion.
10678
10679 2021-04-28 Gary Dismukes <dismukes@adacore.com>
10680
10681 * exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma
10682 when the pragma occurs for an abstract type, since that could
10683 lead to a call to an abstract function, and such DIC checks can
10684 never be performed for abstract types in any case.
10685 * sem_disp.adb (Check_Dispatching_Context): Suppress the check
10686 for illegal calls to abstract subprograms when the call occurs
10687 within a Default_Initial_Condition aspect and the call is passed
10688 the current instance as an actual.
10689 (Has_Controlling_Current_Instance_Actual): New function to test
10690 a call to see if it has any actuals given by direct references
10691 to a current instance of a type
10692 * sem_res.adb (Resolve_Actuals): Issue an error for a call
10693 within a DIC aspect to a nonprimitive subprogram with an actual
10694 given by the name of the DIC type's current instance (which will
10695 show up as a reference to the formal parameter of a DIC
10696 procedure).
10697
10698 2021-04-28 Ed Schonberg <schonberg@adacore.com>
10699
10700 * exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
10701 the type extension when within a generic unit, even though
10702 expansion is disabled, to allow for proper resolution of
10703 selected components inherited from an ancestor.
10704
10705 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10706
10707 * sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type
10708 before assuming Ent is a typo.
10709 * sem_ch4.adb (Analyze_Expression_With_Actions): Update
10710 comments, minor reformatting.
10711 * sem_res.adb (Resolve_Declare_Expression): Add protection
10712 against no type.
10713
10714 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10715
10716 * exp_ch6.adb: Fix typo in comment.
10717 * sem_ch3.adb (Access_Subprogram_Declaration): Add missing call
10718 to Create_Extra_Formals. Remove obsolete bootstrap check.
10719 * sem_eval.adb (Eval_Selected_Component): Simplify a
10720 selected_component on an aggregate.
10721
10722 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10723
10724 * fmap.ads (Reset_Tables): Remove outdated references to
10725 GNSA/ASIS.
10726 * sem_eval.ads (Initialize): Likewise.
10727 * sem_type.adb (Headers): Remove initialization at elaboration.
10728 * sem_type.ads (Init_Interp_Tables): Remove outdated reference
10729 to gnatf.
10730 * stringt.ads (Initialize): Fix style in comment.
10731
10732 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10733
10734 * sem_res.ads: Update reference in comment.
10735 * sem_type.ads: Fix casing in a name of a unit.
10736
10737 2021-04-28 Yannick Moy <moy@adacore.com>
10738
10739 * ghost.adb (Check_Ghost_Context): Add continuation message when
10740 in predicate.
10741
10742 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10743
10744 * libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num
10745 for the component type of the table of powers of ten.
10746 * libgnat/s-valuer.adb (Round_Extra): Add assertion on Base.
10747
10748 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10749
10750 * sem_ch5.adb (Analyze_Case_Statement): Extend optimization to
10751 all objects; fix typo in comment.
10752
10753 2021-04-28 Piotr Trojanek <trojanek@adacore.com>
10754
10755 * exp_ch9.adb (Build_Barrier_Function): Refine type of a
10756 protected type entity.
10757 (Is_Pure_Barrier): Fix style.
10758
10759 2021-04-28 Bob Duff <duff@adacore.com>
10760
10761 * exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code,
10762 and always use OK_Convert_To, rather than Unchecked_Convert_To
10763 and Convert_To.
10764
10765 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10766
10767 * sem_ch3.adb (Analyze_Object_Declaration): Remove dead code.
10768 * ali.ads, ali.adb (Scan_ALI): Remove unused parameters.
10769 Remove unused code related to Xref lines.
10770 (Get_Typeref): Removed, no longer used.
10771
10772 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10773
10774 * exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func,
10775 Expand_N_Attribute_Reference): Use Get_Fullest_View instead of
10776 Validated_View.
10777 (Build_Record_VS_Func): Adjust to keep using Validated_View.
10778 (Expand_N_Attribute_Reference) [Valid]: Use
10779 Small_Integer_Type_For to allow for more compile time
10780 evaluations.
10781 * sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise
10782 support for N_Indexed_Component and fix support for
10783 N_Selected_Component which wasn't completely safe.
10784 (List_Cannot_Raise_CE): New.
10785 * libgnat/i-cobol.adb (Valid_Packed): Simplify test to address
10786 new GNAT warning.
10787
10788 2021-04-28 Arnaud Charlet <charlet@adacore.com>
10789
10790 * .gitignore: New.
10791 * doc/share/conf.py: Add Python 3 compatibility.
10792 * doc/share/gnat.sty: Add missing file.
10793
10794 2021-04-28 Richard Wai <richard@annexi-strayline.com>
10795
10796 * libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor
10797 type definition to be consistent with identical definitions in other
10798 container packages. Add additional comments regarding the importance of
10799 maintaining the "Position" component for predefined equality.
10800 * libgnat/a-cohama.ads (Cursor): Likewise.
10801 * libgnat/a-cihama.ads (Cursor): Likewise.
10802 * libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects
10803 always have their "Position" component set to ensure predefined
10804 equality works as required.
10805 * libgnat/a-cohama.adb (Find, Insert): Likewise.
10806 * libgnat/a-cihama.adb (Find, Insert): Likewise.
10807
10808 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10809
10810 * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a
10811 const or pure function because of a parameter whose type is pointer
10812 to function.
10813 * gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion
10814 between an actual and a formal that are unconstrained array types.
10815 (gnat_gimplify_expr) <CALL_EXPR>: New case.
10816 * gcc-interface/utils2.c (build_binary_op): Do not use |= operator.
10817 (gnat_stabilize_reference_1): Likewise.
10818 (gnat_rewrite_reference): Likewise.
10819 (build_unary_op): Do not clear existing TREE_CONSTANT on the result.
10820 (gnat_build_constructor): Also accept the address of a constant
10821 CONSTRUCTOR as constant element.
10822
10823 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10824
10825 * gcc-interface/trans.c (is_array_of_scalar_type): New predicate.
10826 (find_decls_r): New function.
10827 (return_slot_opt_for_pure_call_p): New predicate.
10828 (Call_to_gnu): Do not create a temporary for the return value if the
10829 parent node is an aggregate. If there is a target, try to apply the
10830 return slot optimization to regular calls to pure functions returning
10831 an array of scalar type.
10832
10833 2021-04-28 Eric Botcazou <ebotcazou@adacore.com>
10834
10835 * gcc-interface/trans.c (language_function): Add comment.
10836 (loop_info_d): Add fndecl and invariants fields.
10837 (find_loop_for): Test fndecl instead of the context of var.
10838 (find_loop): New function.
10839 (Regular_Loop_to_gnu): Fold back into...
10840 (Loop_Statement_to_gnu): ...this. Emit invariants on entry, if any.
10841 (gnat_to_gnu) <N_Selected_Component>: Record nonconstant invariant
10842 offset computations in loops when optimization is enabled.
10843 * gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR.
10844
10845 2021-04-20 Martin Liska <mliska@suse.cz>
10846
10847 * gnatvsn.ads: Bump Library_Version to 12.
10848
10849 2021-04-13 Eric Botcazou <ebotcazou@adacore.com>
10850
10851 * gcc-interface/misc.c (gnat_init): Set default range bits to 0.
10852 * gcc-interface/trans.c (extract_encoding): Delete.
10853 (decode_name): Likewise.
10854 (File_Name_to_gnu): New function.
10855 (gigi): Call it to translate file names. Replace assertion on
10856 1-1 mapping between files and line maps with conditional error.
10857
10858 2021-04-11 Gerald Pfeifer <gerald@pfeifer.com>
10859
10860 * gnat_ugn.texi (Top): Avoid invalid "up" link.
10861
10862 2021-03-29 Eric Botcazou <ebotcazou@adacore.com>
10863
10864 PR ada/99802
10865 * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object
10866 on the name of an N_Assignment_Statement to spot full access.
10867
10868 2021-03-10 Eric Botcazou <ebotcazou@adacore.com>
10869
10870 * gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL
10871 for the main variant of an enumeration type declared as volatile.
10872
10873 2021-03-09 Mikael Pettersson <mikpelinux@gmail.com>
10874
10875 * raise-gcc.c: On Cygwin include mingw32.h to prevent
10876 windows.h from including x86intrin.h or emmintrin.h.
10877
10878 2021-03-05 Eric Botcazou <ebotcazou@adacore.com>
10879
10880 PR ada/99264
10881 * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
10882 MINSIGSTKSZ and bump size to 32KB.
10883 * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
10884
10885 2021-03-02 Mikael Pettersson <mikpelinux@gmail.com>
10886
10887 PR bootstrap/98590
10888 * cstreams.c: Ensure fileno_unlocked() is visible on Cygwin.
10889
10890 2021-03-02 Eric Botcazou <ebotcazou@adacore.com>
10891
10892 PR ada/99095
10893 * sem_ch8.adb (Check_Constrained_Object): Restrict again the special
10894 optimization for limited types to non-array types except in the case
10895 of an extended return statement.
10896
10897 2021-03-02 Eric Botcazou <ebotcazou@adacore.com>
10898
10899 PR ada/99020
10900 * sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype
10901 only if the type is not private.
10902
10903 2021-02-26 YunQiang Su <yunqiang.su@cipunited.com>
10904
10905 PR ada/98996
10906 * Makefile.rtl: <mips*-*-linux*>
10907 add 128Bit operation file for MIPS N64 and N32 to
10908 LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS
10909
10910 2021-02-12 Arnaud Charlet <charlet@adacore.com>
10911
10912 * repinfo.ads, repinfo.adb (*SO_Ref*): Restore.
10913
10914 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
10915
10916 * gcc-interface/decl.c (components_to_record): If the first component
10917 with rep clause is the _Parent field with variable size, temporarily
10918 set it aside when computing the internal layout of the REP part again.
10919 * gcc-interface/utils.c (finish_record_type): Revert to taking the
10920 maximum when merging sizes for all record types with rep clause.
10921 (merge_sizes): Put SPECIAL parameter last and adjust recursive calls.
10922
10923 2021-02-03 Eric Botcazou <ebotcazou@adacore.com>
10924
10925 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Make the
10926 two fields of the fat pointer type addressable, and do not make the
10927 template type read-only.
10928 <E_Record_Type>: If the type has discriminants mark it as may_alias.
10929 * gcc-interface/utils.c (make_dummy_type): Likewise.
10930 (build_dummy_unc_pointer_types): Likewise.
10931
10932 2021-01-26 Marius Hillenbrand <mhillen@linux.ibm.com>
10933
10934 PR ada/98228
10935 * gcc-interface/utils.c (maybe_pad_type): Test the size of the new
10936 packable type instead of its alignment for addressability's sake.
10937
10938 2021-01-25 Eric Botcazou <ebotcazou@adacore.com>
10939
10940 * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT
10941 of the parameters and do not set TREE_PUBLIC on the thunk.
10942 (maybe_make_gnu_thunk): Pass the alias to the covariant thunk.
10943 * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT
10944 of the parameters here...
10945 (begin_subprog_body): ...instead of here.
10946
10947 2021-01-19 Eric Botcazou <ebotcazou@adacore.com>
10948
10949 PR ada/98740
10950 * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
10951
10952 2021-01-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10953
10954 PR ada/98595
10955 * Makefile.rtl (LIBGNAT_TARGET_PAIRS) <riscv*-*-rtems*>: Use
10956 wraplf version of Aux_Long_Long_Float.
10957
10958 2021-01-03 Eric Botcazou <ebotcazou@adacore.com>
10959
10960 * gnatvsn.ads: Bump copyright year.
10961
10962 2021-01-01 Jakub Jelinek <jakub@redhat.com>
10963
10964 * gnat_ugn.texi: Bump @copying's copyright year.
10965 * gnat_rm.texi: Likewise.
10966
10967 2021-01-01 Jakub Jelinek <jakub@redhat.com>
10968
10969 * ChangeLog-2020: Rotate ChangeLog. New file.
10970
10971 \f
10972 Copyright (C) 2021 Free Software Foundation, Inc.
10973
10974 Copying and distribution of this file, with or without modification,
10975 are permitted in any medium without royalty provided the copyright
10976 notice and this notice are preserved.