]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
1 2020-07-02 Eric Botcazou <ebotcazou@gcc.gnu.org>
2
3 * debug.adb (d.K): Document new usage.
4 * fe.h (Debug_Flag_Dot_KK): Declare.
5 * gcc-interface/decl.c (gnat_to_gnu_field): Give an error when the
6 component overlaps with the parent subtype, except with -gnatd.K.
7
8 2020-06-26 Eric Botcazou <ebotcazou@gcc.gnu.org>
9
10 * exp_ch4.adb (Expand_Set_Membership): Expand the membership test
11 using left associativity instead of right associativity.
12
13 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
14
15 * gcc-interface/utils2.c (build_binary_op): Remove space.
16
17 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
18
19 * gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Minor tweaks.
20 Call Has_Constrained_Partial_View on base type of designated type.
21
22 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
23
24 * gcc-interface/utils.c (gnat_write_global_declarations): Output
25 integral global variables first and the imported functions later.
26
27 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
28
29 * gcc-interface/decl.c (elaborate_expression_1): When GNAT encodings
30 are not used, do not create a variable for debug info purposes if
31 the expression is itself a user-declared variable.
32
33 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
34
35 * gcc-interface/ada-tree.h (DECL_RENAMED_OBJECT): Delete.
36 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always use
37 the stabilized reference directly for renaming and create a variable
38 pointing to it separately if requested.
39 * gcc-interface/misc.c (gnat_print_decl): Adjust for deletion.
40 * gcc-interface/trans.c (Identifier_to_gnu): Likewise.
41 (gnat_to_gnu) <N_Object_Renaming_Declaration>:
42 Do not deal with side-effects here.
43 <N_Exception_Renaming_Declaration>: Likewise.
44
45 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
46
47 * gcc-interface/decl.c (elaborate_expression): Replace calls to
48 Is_OK_Static_Expression with Compile_Time_Known_Value.
49
50 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
51
52 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
53 debug type to the base type and only if the subtype is artificial.
54
55 2020-06-23 Eric Botcazou <ebotcazou@gcc.gnu.org>
56
57 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do
58 not test Is_Bit_Packed_Array in the memset path.
59
60 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
61
62 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Do not deal
63 with 'Pos or 'Val.
64 (Attribute_to_gnu): Likewise.
65 * gcc-interface/utils.c (create_field_decl): Small formatting fix.
66
67 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
68
69 * gcc-interface/trans.c (adjust_for_implicit_deref): Delete.
70 (maybe_implicit_deref): Likewise.
71 (Attribute_to_gnu): Replace calls to maybe_implicit_deref by calls
72 to maybe_padded_object.
73 (Call_to_gnu): Likewise.
74 (gnat_to_gnu) <N_Indexed_Component>: Likewise.
75 <N_Slice>: Likewise.
76 <N_Selected_Component>: Likewise.
77 <N_Free_Statement>: Remove call to adjust_for_implicit_deref and
78 manually make sure that the designated type is complete.
79 * gcc-interface/utils2.c (build_simple_component_ref): Add comment.
80
81 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
82
83 * gcc-interface/decl.c (gnat_to_gnu_param): Tidy up.
84 (gnat_to_gnu_subprog_type): For a variadic C function, do not
85 build unnamed parameters and do not add final void node.
86 * gcc-interface/misc.c: Include snames.h.
87 * gcc-interface/trans.c (Attribute_to_gnu): Tidy up.
88 (Call_to_gnu): Implement support for unnamed parameters in a
89 variadic C function.
90 * gcc-interface/utils.c: Include snames.h.
91 (copy_type): Tidy up.
92
93 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
94
95 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply
96 range checks to allocators here.
97
98 2020-06-19 Justin Squirek <squirek@adacore.com>
99
100 * lib.adb (Check_Same_Extended_Unit): Add check to determine if
101 the body for the subunits exist in the same file as their
102 specifications.
103
104 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
105
106 * exp_aggr.adb (In_Place_Assign_OK): In an allocator context,
107 check the bounds of an array aggregate against those of the
108 designated type, except if the latter is unconstrained.
109
110 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
111
112 * sem_ch3.adb (Is_Visible_Component): Reason only on the private
113 status of the original type in an instance body.
114
115 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
116
117 * sem_res.adb (Resolve_Qualified_Expression): Do not override the
118 type of the node when it is unconstrained if it is for an allocator.
119
120 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
121
122 * sem_res.adb (Resolve_Allocator): Call Resolve_Qualified_Expression
123 on the qualified expression, if any, instead of doing an incomplete
124 type resolution manually.
125 (Resolve_Qualified_Expression): Apply predicate check to operand.
126
127 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
128
129 * sem_ch4.adb (Analyze_Selected_Component): In an instance body,
130 also invoke Find_Component_In_Instance on the parent subtype of
131 a derived tagged type immediately visible. Remove obsolete case.
132
133 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
134
135 * exp_attr.adb (Get_Integer_Type): Return the largest supported
136 unsigned integer type if need be.
137
138 2020-06-19 Justin Squirek <squirek@adacore.com>
139
140 * sem_warn.adb (Warn_On_Known_Condition): Add general sanity
141 check that asserts the original source node being checked
142 contains an entity. If not, it could be the result of special
143 case expansion for type conversions.
144
145 2020-06-19 Ed Schonberg <schonberg@adacore.com>
146
147 * sem_ch6.adb (Analyze_Expression_Function): Do not indicate
148 that the function has a completion if it appears within a Ghost
149 generic package.
150
151 2020-06-19 Bob Duff <duff@adacore.com>
152
153 * libgnat/a-ststbo.adb (Write): Replace pragma Assert with "if
154 ... raise Constraint_Error".
155
156 2020-06-19 Justin Squirek <squirek@adacore.com>
157
158 * widechar.adb, widechar.ads (Skip_Wide): Catch validity check
159 failure when skipping over characters, and update comment to
160 reflect Skip_Wide's usage in error printing.
161
162 2020-06-19 Javier Miranda <miranda@adacore.com>
163
164 * exp_ch3.ads (Ensure_Activation_Chain_And_Master): New
165 subprogram.
166 * exp_ch3.adb (Ensure_Activation_Chain_And_Master): New
167 subprogram that factorizes code.
168 (Expand_N_Object_Declaration): Call new subprogram.
169 * sem_ch6.adb (Analyze_Function_Return): Returning a
170 build-in-place unconstrained array type defer the full analysis
171 of the returned object to avoid generating the corresponding
172 constrained subtype; otherwise the bounds would be created in
173 the stack and a dangling reference would be returned pointing to
174 the bounds.
175
176 2020-06-19 Arnaud Charlet <charlet@adacore.com>
177
178 * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
179 libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
180 libgnat/a-nbnbre.ads: Update spec according to AI12-0366.
181
182 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
183
184 * checks.ads: Remove excessive whitespace in declarations of
185 functions for check suppression.
186
187 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
188
189 * sem_ch7.adb (Hide_Public_Entities): Split handling of objects
190 and subprograms, and do not reject the latter upfront in nested
191 instance specs if there are no referencer subprograms at all.
192 (Analyze_Package_Body_Helper): Also call Hide_Public_Entities on
193 nested generic instances.
194
195 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
196
197 * sem_attr.adb (Analyze_Attribute): Reject illegal positional
198 component associations; fix syntax in comment about named
199 component associations.
200
201 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
202
203 * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Modify a nested
204 Get_Component_Type routine to return a component and not just
205 its type; use this routine to decorate the identifier within the
206 delta aggregate.
207
208 2020-06-19 Arnaud Charlet <charlet@adacore.com>
209
210 * sem_ch4.adb (Find_Equality_Types.Check_Access_Attribute): New.
211 (Find_Equality_Types): Move universal_access related checks at
212 the end of the processing and add call to
213 Check_Access_Attribute.
214
215 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
216
217 * sem_prag.adb (Process_Convention): Revert previous change.
218
219 2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
220
221 * checks.ads (Apply_Static_Length_Check): Move up.
222 (Apply_Range_Check): Add parameter Insert_Node.
223 * checks.adb (Apply_Selected_Range_Checks): Merge into...
224 (Apply_Range_Check): ...this. Add parameter Insert_Node,
225 pass it as Warn_Node to Selected_Range_Checks and use it
226 as insertion point for the checks.
227 * sem_ch3.adb (Analyze_Subtype_Declaration): Rewrite block
228 dealing with the range checks for the subtype indication.
229 Use local variable and call Apply_Range_Check in both cases.
230
231 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
232
233 * exp_attr.adb (Expand_N_Attribute_Reference): Call Ensure_Valid
234 on the expression of an object declaration that captures the
235 value of 'Old prefix.
236
237 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
238
239 * exp_attr.adb (Expand_N_Attribute_Reference): Add comment.
240 * sem_attr.adb (Analyze_Attribute): Add ??? comment.
241 * sem_util.ads (Valid_Scalars): This routine is only used for
242 'Valid_Scalars and not for 'Valid.
243
244 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
245
246 * exp_attr.adb (Expand_N_Attribute_Reference): Do not call
247 Scalar_Part_Present on the array component's type.
248 (Build_Array_VS_Func): Remove Comp_Typ parameter, because it can
249 be easily computed from the Array_Top parameter *and redundant
250 parameters are confusing and error-prone).
251
252 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
253
254 * exp_attr.adb (Build_Record_VS_Func): Strip privacy and type
255 derivation from the root type when 'Valid_Scalars is applied to
256 a class-wide type.
257
258 2020-06-19 Piotr Trojanek <trojanek@adacore.com>
259
260 * checks.adb (Apply_Parameter_Validity_Checks): Remove testing
261 of Check_Validity_Of_Parameters for every formal parameter and
262 function result.
263
264 2020-06-19 Arnaud Charlet <charlet@adacore.com>
265
266 * sem_warn.adb (Warn_On_Overlapping_Actuals): Add missing
267 warning tag.
268
269 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
270
271 * exp_ch4.adb (Get_Size_For_Range): Only make sure to return a
272 size lower than that of the original type if possible.
273 * libgnat/s-rannum.adb (Random_Discrete): Back out optimization
274 added for 32-bit types.
275
276 2020-06-18 Arnaud Charlet <charlet@adacore.com>
277
278 * sem_ch6.ads, sem_ch6.adb (Check_Formal_Conformance): New
279 subprogram.
280 (Check_Conformance): Move code to Check_Formal_Conformance.
281 * sem_ch8.adb (Analyze_Subprogram_Renaming): Check for formal
282 conformance when needed.
283
284 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
285
286 * exp_ch4.adb (Narrow_Large_Operation): New procedure to try
287 and narrow large arithmetic and comparison operations.
288 (Expand_N_In): Call it.
289 (Expand_N_Op_Abs): Likewise.
290 (Expand_N_Op_Add): Likewise.
291 (Expand_N_Op_Divide): Likewise.
292 (Expand_N_Op_Eq): Likewise.
293 (Expand_N_Op_Ge): Likewise.
294 (Expand_N_Op_Gt): Likewise.
295 (Expand_N_Op_Le): Likewise.
296 (Expand_N_Op_Lt): Likewise.
297 (Expand_N_Op_Minus): Likewise.
298 (Expand_N_Op_Mod): Likewise.
299 (Expand_N_Op_Multiply): Likewise.
300 (Expand_N_Op_Ne): Likewise.
301 (Expand_N_Op_Plus): Likewise.
302 (Expand_N_Op_Rem): Likewise.
303 (Expand_N_Op_Subtract): Likewise.
304 (Expand_N_Type_Conversion): Use Convert_To procedure.
305 * exp_ch9.adb (Is_Pure_Barrier) <N_Identifier>: Skip all
306 numeric types.
307 <N_Type_Conversion>: Use explicit criterion.
308
309 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
310
311 * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint
312 and predicate checks for the qualified expression on entry,
313 followed by constraint and predicate checks for the allocator
314 itself, and return early if this results in a static error.
315 (Expand_N_Allocator): Do not do the same here. Instead apply
316 constraint and predicate checks for arrays in the subtype
317 indication case.
318 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply
319 range checks to allocators here.
320
321 2020-06-18 Javier Miranda <miranda@adacore.com>
322
323 * exp_ch6.adb (BIP_Suffix_Kind, Is_Build_In_Place_Entity): Move
324 declarations...
325 * exp_ch6.ads: Here.
326 * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Do not rely
327 on the name of the scope to locate the extra formal BIPalloc
328 since they are copied when the pointer type associated with
329 dispatching calls is built; rely on routines
330 Is_Build_In_Place_Entity and BIP_Suffix_Kind.
331 * exp_disp.adb (Expand_Dispatching_Call): Set the scope of the
332 first extra formal of the internally built pointer type.
333 * sem_ch3.adb (Derive_Subprogram): Do not inherit extra formals
334 from a limited interface parent since limitedness is not
335 inherited in such case (AI-419) and this affects the extra
336 formals.
337 * sprint.adb (Write_Itype): Output extra formals of subprogram
338 types.
339
340 2020-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
341
342 * errout.adb (Write_Error_Summary): Display number of warnings
343 treated as errors.
344 * errutil.ads: Update comment.
345
346 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
347
348 * exp_attr.adb (Analyze_Attribute) <Asm_{In,Out}put>: Alphabetize.
349 <Component_Size>: Add check for universal integer attribute.
350 <Aft>, <Bit_Order>, <Definite>, <Max_Alignment_For_Allocation>,
351 <Scalar_Storage_Order>: Raise Program_Error on them.
352 * sem_attr.adb (Eval_Attribute) <Component_Size>: Add comment on
353 the packed array case.
354
355 2020-06-18 Steve Baird <baird@adacore.com>
356
357 * sem_util.adb (Object_Access_Level): Treat a 'Old attribute
358 reference like an aggregate in determining its static
359 accessibility level; after the evaluation of the relevant
360 post-condition, the implicitly declared constant associated with
361 an Old attribute reference ceases to exist. Similarly for
362 Loop_Entry attribute.
363 * exp_ch6.adb (Expand_Call_Helper): For an attribute reference
364 that is expanded into a reference to an implicitly declared
365 constant (e.g., a 'Old or 'Loop_Entry attribute), compute the
366 dynamic accessibility level of that constant by looking at the
367 declaration of the constant (as opposed to looking at the
368 attribute reference).
369
370 2020-06-18 Steve Baird <baird@adacore.com>
371
372 * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a
373 default initial condition check for the declaration of an
374 imported object.
375
376 2020-06-18 Arnaud Charlet <charlet@adacore.com>
377
378 * Makefile.rtl: Add s-statxd.o.
379 * bindgen.adb (Gen_Adainit): Add support for XDR_Stream.
380 * bindusg.adb (Display): Add mention of -xdr.
381 * gnatbind.adb: Process -xdr switch.
382 * init.c (__gl_xdr_stream): New.
383 * opt.ads (XDR_Stream): New.
384 * libgnat/s-stratt__xdr.adb: Rename to...
385 * libgnat/s-statxd.adb: this and adjust.
386 * libgnat/s-statxd.ads: New.
387 * libgnat/s-stratt.ads, libgnat/s-stratt.adb: Choose between
388 default and XDR implementation at runtime.
389 * libgnat/s-ststop.ads: Update comments.
390 * doc/gnat_rm/implementation_advice.rst: Update doc on XDR
391 streaming.
392 * gnat_rm.texi: Regenerate.
393
394 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
395
396 * sem_attr.adb (Analyze_Attribute) <To_Address>: Use the address
397 size of the target instead of the host when checking the value of
398 a static expression. Also use standard idiom for exponentiation.
399
400 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
401
402 * sem_prag.adb (Process_Convention): Give a warning on C_Variadic_n
403 being applied to a subprogram with exactly n parameters.
404
405 2020-06-18 Arnaud Charlet <charlet@adacore.com>
406
407 * libgnarl/s-osinte__linux.ads, libgnat/g-io.adb,
408 libgnat/g-socket.adb, libgnat/g-socthi.adb,
409 libgnat/g-socthi.ads, libgnat/g-socthi__vxworks.adb,
410 libgnat/g-socthi__vxworks.ads, libgnat/g-sothco.ads,
411 libgnat/s-io.adb, libgnat/a-except.adb: Fix function profile
412 mismatch with imported C functions.
413
414 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
415
416 * exp_ch6.adb (Expand_Call_Helper): Remove superfluous calls
417 to Relocate_Node and merge calls to Analyze and Resolve in a
418 couple of places. Do not attempt to generate a range check
419 for an actual parameter against the formal's type of a derived
420 subprogram after generating a conversion to the formal's type
421 of the parent subprogram.
422
423 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
424
425 * checks.adb (Compute_Range_For_Arithmetic_Op): New procedure to
426 compute a range for an arithmetical operation extracted from...
427 (Minimize_Eliminate_Overflows): ...here. Call it.
428 (Determine_Range_Cache_O): New cache for Original_Node nodes.
429 (Determine_Range): Call Compute_Range_For_Arithmetic_Op for all
430 arithmetic expressions. Use Attribute_Id in lieu of Attribute_Name
431 for attributes. Add handling for Range_Length alongside Length.
432 Add specific handling for Alignment, Bit, First_Bit, Last_Bit,
433 Max_Size_In_Storage_Elements, Position, Bit_Position,
434 Component_Size, Object_Size, Size, Value_Size, Descriptor_Size.
435 (Enable_Overflow_Check): Omit the check for Abs and Minus if the
436 operand cannot be the largest negative number.
437 (Selected_Length_Checks): Use Pos for Number_Dimensions.
438 * exp_attr.adb (Expand_N_Attribute_Reference): Move compile-time
439 handling of Bit_Position, Descriptor_Size, First_Bit, Last_Bit
440 and Position to...
441 * sem_attr.adb (Eval_Attribute): ...here. Move up Alignment for
442 objects and use Compile_Time_Known_Attribute in this case too.
443
444 2020-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
445
446 * erroutc.ads: Declare new Is_Compile_Time_Msg boolean,
447 add new Compile_Time_Pragma field to Error_Msg_Object type.
448 (Count_Compile_Time_Pragma_Warnings): New function.
449 * erroutc.adb (Count_Compile_Time_Pragma_Warnings): New
450 function.
451 (Compilation_Errors): Take Compile_Time warnings into account
452 when tallying Errors/Warnings.
453 * errout.ads (Error_Msg): New procedure.
454 * errout.adb (Error_Msg): New procedure.
455 (Error_Msg_Internal): Set new Compile_Time_Pragma field in
456 Error_Msg_Object.
457 * errutil.adb (Error_Msg): Set new Compile_Time_Pragma field in
458 Error_Msg_Object.
459 * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass
460 True to new Error_Msg procedure.
461 * doc/gnat_rm/implementation_defined_pragmas.rst: Update doc for
462 the Compile_Time_Warning pragma.
463 * gnat_rm.texi: Regenerate.
464 * opt.ads: Update comment.
465
466 2020-06-18 Arnaud Charlet <charlet@adacore.com>
467
468 * sem_ch4.adb (Check_Compatible_Profiles): Add explicit
469 initialization.
470
471 2020-06-18 Piotr Trojanek <trojanek@adacore.com>
472
473 * checks.adb (Generate_Index_Checks): Handle
474 N_Subtype_Indication returned from Scalar_Range.
475
476 2020-06-18 Piotr Trojanek <trojanek@adacore.com>
477
478 * checks.adb, sem_ch3.adb: Minor refactorings.
479 * sem_eval.adb (Eval_Qualified_Expression): Fix reference to RM
480 rule in comment; only set a local variable Hex in the branch
481 where it is used.
482
483 2020-06-18 Piotr Trojanek <trojanek@adacore.com>
484
485 * sem_eval.adb (Check_Non_Static_Context): Use Is_RTE.
486
487 2020-06-18 Arnaud Charlet <charlet@adacore.com>
488
489 * sem_ch4.adb (Find_Equality_Types.Check_Access_Object_Types):
490 New function, used to implement RM 4.5.2 (9.6/2).
491 (Find_Equality_Types.Check_Compatible_Profiles): New function,
492 used to implement RM 4.5.2(9.7/2).
493 (Find_Equality_Types.Reference_Anonymous_Access_Type): New
494 function.
495 (Find_Equality_Types.Try_One_Interp): Fix handling of anonymous
496 access types which was accepting both too much and too little.
497 Remove accumulated special and incomplete cases for
498 instantiations, replaced by Has_Compatible_Type.
499 (Analyze_Overloaded_Selected_Component): Use
500 Is_Anonymous_Access_Type instead of Ekind_In.
501 * sem_res.adb: Code cleanup and bug fix: use
502 Is_Anonymous_Access_Type instead of Ekind_In. Relax checking of
503 anonymous access parameter when universal_access "=" is
504 involved.
505 * sem_type.adb: Likewise.
506 (Find_Unique_Type): Move code from here...
507 (Specific_Type): ...to here. Also add missing handling of access
508 to class wide types.
509 * einfo.ads, einfo.adb (Is_Access_Object_Type): New.
510
511 2020-06-18 Bob Duff <duff@adacore.com>
512
513 * libgnat/a-strsto.ads, libgnat/a-ststbo.adb,
514 libgnat/a-ststbo.ads, libgnat/a-ststun.adb,
515 libgnat/a-ststun.ads: New files, containing packages
516 Ada.Streams.Storage, Ada.Streams.Storage.Bounded, and
517 Ada.Streams.Storage.Unbounded.
518 * impunit.adb, Makefile.rtl: Add new file names.
519
520 2020-06-18 Javier Miranda <miranda@adacore.com>
521
522 * sem_ch13.adb (Has_Good_Profile): Enforce strictness in the
523 check. Required to detect wrong profiles for Input and Output.
524 (Analyze_Stream_TSS_Definition): Minor enhancement in the text
525 of the error for class-wide attributes.
526
527 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
528
529 * exp_attr.adb (Get_Integer_Type): Pick an unsigned type based
530 on the Esize of the base type of the input type.
531
532 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
533
534 * exp_ch4.adb (Expand_Array_Equality): For the optimization of
535 the 2-element case, build new expression lists for the indices.
536
537 2020-06-18 Richard Kenner <kenner@adacore.com>
538
539 * sem_util.adb (Enclosing_Subprogram): No longer need
540 Convention_Protected.
541
542 2020-06-18 Claire Dross <dross@adacore.com>
543
544 * sem_util.adb (Is_OK_Volatile_Context): Return False on
545 definitions of constants declared in declare expressions.
546
547 2020-06-18 Piotr Trojanek <trojanek@adacore.com>
548
549 * doc/gnat_rm/implementation_defined_aspects.rst
550 (Relaxed_Initialization): New implementation-defined aspect.
551 * doc/gnat_rm/implementation_defined_attributes.rst
552 (Initialized): New implementation-defined attribute.
553 * gnat_rm.texi: Regenerate.
554
555 2020-06-18 Javier Miranda <miranda@adacore.com>
556
557 * exp_disp.adb (Expand_Dispatching_Call): Add missing decoration
558 of attribute Extra_Accessibility_Of_Result.
559 * freeze.adb (Check_Extra_Formals): No check required if
560 expansion is disabled; Adding check on
561 Extra_Accessibilty_Of_Result.
562 (Freeze_Subprogram): Fix decoration of
563 Extra_Accessibility_Of_Result.
564 * sem_ch3.adb (Derive_Subprogram): Fix decoration of
565 Extra_Accessibility_Of_Result
566
567 2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
568
569 * exp_ch4.adb (Optimize_Length_Comparison): Accept 32-bit values
570 in the full unsigned range.
571
572 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
573
574 * checks.adb (Apply_Universal_Integer_Attribute_Checks): Do not do
575 anything when the type of the node is already Universal_Integer.
576
577 2020-06-17 Arnaud Charlet <charlet@adacore.com>
578
579 * sem_ch10.adb (Expand_With_Clause): Add missing handling of
580 N_Generic_Subprogram_Declaration, N_Subprogram_Declaration,
581 N_Subprogram_Body.
582
583 2020-06-17 Ed Schonberg <schonberg@adacore.com>
584
585 * sem_ch13.adb: (Check_Inherited_Indexing): Check that a type
586 derived from an indexable container type cannot specify an
587 indexing aspect if the same aspect is not specified for the
588 parent type (RM 4.1.6 (6/5), AI12-160). Add a check that a
589 specified indexing aspect for a derived type is confirming.
590
591 2020-06-17 Gary Dismukes <dismukes@adacore.com>
592
593 * exp_ch9.adb (Build_Protected_Subp_Specification): Add ???
594 comment about the flag Has_Nested_Subprogram not being set here.
595 (Expand_N_Protected_Body): If the original body for a protected
596 subprogram has the flag Has_Nested_Subprogram set, then set that
597 flag on the new unprotected subprogram body that's created for
598 it, and reset the Scope fields of its top level declarations,
599 which have been effectively taken from the original protected
600 subprogram body. Add ??? comment about unclear testing of
601 Corresponding_Spec.
602
603 2020-06-17 Javier Miranda <miranda@adacore.com>
604
605 * aspects.ads (type Aspect_Id): Add Aspect_Yield as a Boolean
606 aspect, and update the Is_Representation_Aspect, Aspect_Names,
607 and Aspect_Delay arrays.
608 * einfo.ads, einfo.adb (Has_Yield_Aspect, Yield_Aspect): New
609 subprograms.
610 * exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
611 Expand_Simple_Function_Return): Add calls to Yield.
612 * exp_ch9.adb (Build_Accept_Body, Expand_N_Accept_Statement):
613 Add calls to Yield.
614 * rtsfind.ads (RE_Yield): Adding support to generate calls to
615 the runtime service Ada.Dispatching.Yield
616 * sem_ch13.adb (Analyze_Aspect_Yield): New subprogram.
617 * sem_ch3.adb (Derive_Subprogram): Inherit attribute
618 Has_Yield_Aspect.
619 * sem_ch8.adb (Analyze_Subprogram_Renaming): Check consistency
620 of Has_Yield in the actual subprogram of a generic
621 instantiation.
622 * sem_disp.adb (Check_Dispatching_Operation): Check that if the
623 Yield aspect is specified for a dispatching subprogram that
624 inherits the aspect, the specified value shall be confirming.
625 * sem_prag.adb (Analyze_Pragma [Pragma_Implemented]): Check that
626 the implementation kind By_Protected_Procedure cannot be applied
627 to a procedure that has aspect Yield.
628
629 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
630
631 * exp_ch4.adb (Expand_N_Op_Expon): Replace all occurrences of
632 the original right operand with the relocated version.
633
634 2020-06-17 Javier Miranda <miranda@adacore.com>
635
636 * exp_ch6.adb (Has_BIP_Extra_Formal): New subprogram.
637 (Needs_BIP_Task_Actuals): Add support for the subprogram type
638 internally generated for dispatching calls.
639 * exp_disp.adb (Expand_Dispatching_Call): Adding code to
640 explicitly duplicate the extra formals of the target subprogram.
641 * freeze.adb (Check_Extra_Formals): New subprogram.
642 (Freeze_Subprogram): Fix decoration of Extra_Formals.
643 * sem_ch3.adb (Derive_Subprogram): Fix decoration of
644 Extra_Formals.
645
646 2020-06-17 Bob Duff <duff@adacore.com>
647
648 * par.adb (P_Basic_Declarative_Items): Update comment about
649 Declare_Expression.
650 * par-ch3.adb (P_Declarative_Items): Pass in Declare_Expression
651 flag, and if True, skip the call to Style.Check_Indentation.
652 * par-ch4.adb (P_Declare_Expression): Fix incorrect comment.
653
654 2020-06-17 Arnaud Charlet <charlet@adacore.com>
655
656 * sem_res.adb (Valid_Conversion): Change error message to make
657 it more user-friendly.
658
659 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
660
661 * checks.ads (Apply_Length_Check_On_Assignment): Declare.
662 * checks.adb (Apply_Length_Check_On_Assignment): New procedure
663 to apply a length check to an expression in an assignment.
664 * exp_ch5.adb (Expand_Assign_Array): Call it instead of calling
665 Apply_Length_Check to generate a length check.
666 * sem_ch5.adb (Analyze_Assignment): Likewise.
667
668 2020-06-17 Piotr Trojanek <trojanek@adacore.com>
669
670 * einfo.adb (Is_Relaxed_Initialization_State): Add reference to
671 SPARK RM.
672 * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
673 * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Reject
674 aspect on completions of private types and deferred constants.
675 * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization):
676 Adjust comments; support queries for constants.
677
678 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
679
680 * cstand.adb (Stloc): Change to a renaming.
681 (Staloc): Likewise.
682 (Build_Unsigned_Integer_Type): Remove Nam parameter, use local
683 constants and do not call Make_Name.
684 (Make_Dummy_Index): Use local constants.
685 (Create_Standard): Pass the name of entities as parameter in
686 calls to New_Standard_Entity and remove calls to Make_Name.
687 Adjust calls to Build_Unsigned_Integer_Type.
688 (Identifier_For): Use local constant.
689 (Make_Component): Pass the name of the component as parameter
690 in call to New_Standard_Entity and remove call to Make_Name.
691 (Make_Formal): Likewise. Rename Formal_Name parameter into
692 Nam and use local constant.
693 (Make_Name): Delete.
694 (New_Operator): Use local constant.
695 (New_Standard_Entity): Rename S parameter into Nam and build
696 the name here. Remove call to Make_Name.
697 (Register_Float_Type): Pass the name of the type as parameter
698 in call to New_Standard_Entity and remove call to Make_Name.
699
700 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
701
702 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
703 Remove condition added for scalar types.
704
705 2020-06-17 Gary Dismukes <dismukes@adacore.com>
706
707 * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Adjust
708 colon columns; reformat comment.
709 * exp_ch3.adb
710 (Build_Access_Subprogram_Wrapper_Body): Likewise.
711 * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Reformat spec
712 comment and reformat comment in body.
713 (Analyze_Full_Type_Declaration): Reformat comment.
714 (Replace_Type_Name): Fixed three typos, plus reformatting of
715 comment.
716 * sem_prag.adb (Analyze_Pre_Post_Condition): Fix typos.
717 * sem_warn.adb (Warn_On_Overlapping_Actuals): Edit comments:
718 remove hyphen, add missing word.
719
720 2020-06-17 Bob Duff <duff@adacore.com>
721
722 * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
723 libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
724 libgnat/a-cborma.adb, libgnat/a-cborse.adb,
725 libgnat/a-cdlili.adb, libgnat/a-chtgbk.adb,
726 libgnat/a-chtgke.adb, libgnat/a-cidlli.adb,
727 libgnat/a-cihama.adb, libgnat/a-cihase.adb,
728 libgnat/a-cimutr.adb, libgnat/a-ciorma.adb,
729 libgnat/a-ciorse.adb, libgnat/a-cobove.adb,
730 libgnat/a-cohama.adb, libgnat/a-cohase.adb,
731 libgnat/a-coinve.adb, libgnat/a-comutr.adb,
732 libgnat/a-convec.adb, libgnat/a-coorma.adb,
733 libgnat/a-coorse.adb, libgnat/a-crbtgk.adb,
734 libgnat/a-crbtgo.adb, libgnat/a-rbtgso.adb: Move tampering
735 checks earlier.
736
737 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
738
739 * exp_attr.adb (Get_Integer_Type): Use standard types without
740 a specific size.
741 * sem_res.adb (Resolve_Unchecked_Type_Conversion): Remove a
742 redundant intermediate conversion to Universal_Integer.
743
744 2020-06-17 Piotr Trojanek <trojanek@adacore.com>
745
746 * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): Fix
747 comment and enforce it with an assertion in the body.
748
749 2020-06-17 Ed Schonberg <schonberg@adacore.com>
750
751 * sem_ch3.adb (Analyze_Full_Type_Declaration): For an
752 access_to_subprogram declaration that has aspect specifications,
753 call Build_Access_ Subprogram_Wrapper at once, so that pre- and
754 postcondition aspects are analyzed in the context of a
755 subprogram declaration.
756 (Build_Access_Subprogram_Wrapper): Examine aspect specifications
757 of an Access_To_Subprogram declaration. If pre- or
758 postconditions are declared for it, create declaration for
759 subprogram wrapper and add the corresponding aspect
760 specifications to it. Replace occurrences of the type name by
761 that of the generated subprogram, so that attributes 'Old and
762 'Result can appear in a postcondition.
763 * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Moved
764 here from sem_prag.adb.
765 * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Visible
766 subprogram.
767 * sem_prag.adb (Build_Access_Subprogram_Wrapper / _Body): Moved
768 to sem_ch3.adb and exp_ch3.adb.
769
770 2020-06-17 Piotr Trojanek <trojanek@adacore.com>
771
772 * atree.adb (Preserve_Comes_From_Source): Rewrite using
773 Set_Comes_From_Source and Comes_From_Source, which enforce that
774 the parameters are valid.
775 * exp_ch4.adb, exp_ch5.adb, sem_ch12.adb, sem_ch6.adb,
776 sem_res.adb: Rewrite using Preserve_Comes_From_Source.
777
778 2020-06-17 Arnaud Charlet <charlet@adacore.com>
779
780 * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Remove obsolete
781 comments.
782
783 2020-06-17 Gary Dismukes <dismukes@adacore.com>
784
785 * aspects.ads (type Aspect_Id): Add Aspect_Static as a Boolean
786 aspect, and update the Is_Representation_Aspect, Aspect_Names,
787 and Aspect_Delay arrays.
788 * exp_ch6.adb (Expand_Simple_Function_Return): In the case of a
789 return for a static expression function, capture a copy of the
790 expression of the return statement before it's expanded and
791 reset its Analyzed flags. Then, just before leaving this
792 procedure, if the expression was rewritten, set the
793 Original_Node of the rewritten expression to the new copy and
794 also set the Expression of the associated static expression
795 function to designate that copy. This ensures that later copies
796 of the expression made via New_Copy_Tree will fully copy all
797 nodes of the expression tree.
798 * inline.ads (Inline_Static_Expression_Function_Call): New
799 procedure to evaluate and produce the result of a static call to
800 a static expression function.
801 * inline.adb: Add with and use for Sem_Res.
802 (Establish_Actual_Mapping_For_Inlined_Call): New procedure
803 extracted from code in Expand_Inlined_Call that traverses the
804 actuals and formals of an inlined call and in some cases creates
805 temporaries for holding the actuals, plus establishes an
806 association between formals and actuals (via the Renamed_Object
807 fields of the formals).
808 (Formal_Is_Used_Once): Function removed from Expand_Inlined_Call
809 and now nested in the above procedure.
810 (Expand_Inlined_Call): Code for doing the formal/actual
811 traversal is moved to Create_Actual_Temporaries and replaced
812 with a call to that new procedure.
813 (Inline_Static_Expression_Function_Call): New procedure to
814 evaluate a static call to a static expression function,
815 substituting actuals for their corresponding formals and
816 producing a fully folded and static result expression. The
817 function has subsidiary functions Replace_Formal and Reset_Sloc
818 that take care of doing the mapping of formals to actuals and
819 resetting the Slocs of subnodes of the mapped expression to that
820 of the call so errors will be flagged on the call rather than
821 function.
822 * sem_ch6.adb (Analyze_Expression_Function): In the case of a
823 static expression function, perform an additional preanalysis of
824 the function's expression to ensure that it's a potentially
825 static expression (according to the requirements of
826 6.8(3.2/5-3.4/5)), and issue an error if it's not. The global
827 flag Checking_Potentially_Static_Expression is set and unset
828 around this checking.
829 * sem_ch13.adb (Analyze_Aspect_Static): New procedure to enforce
830 selected requirements of the new aspect Static on expression
831 functions, including checking that the language version is
832 Ada_2020 and that the entity to which it applies is an
833 expression function whose formal parameters are of a static
834 subtype and have mode 'in', its result subtype is a static
835 subtype, and it has no pre- or postcondition aspects. A ???
836 comment is added to indicate the need for adding checking that
837 type invariants don't apply to the result type if the function
838 is a boundary entity.
839 (Analyze_One_Aspect): Call Analyze_Aspect_Static for aspect
840 Static.
841 * sem_elab.adb (Build_Call_Marker): Return without creating a
842 call marker when the subprogram is a static expression function,
843 since no ABE checking is needed for such functions.
844 * sem_eval.ads (Checking_Potentially_Static_Expression): New
845 function to return whether the checking for potentially static
846 expressions is enabled.
847 (Set_Checking_Potentially_Static_Expression): New procedure to
848 enable or disable checking of potentially static expressions.
849 * sem_eval.adb (Checking_For_Potentially_Static_Expression): New
850 global flag for determining whether preanalysis of potentially
851 static expression is being done, which affects the behavior of
852 certain static evaluation routines.
853 (Checking_Potentially_Static_Expression): New function to return
854 whether the checking for potentially static expressions is
855 enabled.
856 (Eval_Call): When evaluating a call within a static expression
857 function with checking of potentially static expression
858 functions enabled, substitutes a static value in place of the
859 call to allow folding of the expression.
860 (Eval_Entity_Name): When evaluating a formal parameter of a
861 static expression function with checking of potentially static
862 expression functions enabled, substitutes a static value in
863 place of the reference to the formal to allow folding of the
864 expression.
865 (Set_Checking_Potentially_Static_Expression): New procedure to
866 enable or disable checking of potentially static expressions.
867 * sem_res.adb (Resolve_Call): Test for a recursive call
868 occurring within a static expression function and issue an error
869 for such a call. Prevent the establishment of a transient scope
870 in the case this is a call to a (string-returning) static
871 expression function. When calling a static expression function,
872 if no error has been posted on the function, call
873 Inline_Static_Expression_Function_Call to convert the call into
874 its equivalent static value.
875 * sem_util.ads (Is_Static_Expression_Function): New function
876 returning whether the subprogram entity passed to it is a static
877 expression function.
878 (Is_Static_Expression_Function_Call): New function to determine
879 whether the call node passed to it is a static call to a static
880 expression function.
881 * sem_util.adb (Compile_Time_Constraint_Error): Suppress
882 compile-time Constraint_Error reporting when checking for a
883 potentially static expression.
884 (Is_Static_Expression_Function): New function returning whether
885 the subprogram entity passed to it is a static expression
886 function by testing for the presence of aspect Static.
887 (Has_All_Static_Actuals): New function in
888 Is_Static_Expression_Function_Call that traverses the actual
889 parameters of a function call and returns True only when all of
890 the actuals are given by static expressions. In the case of a
891 string-returning function, we call Resolve on each actual to
892 ensure that their Is_Static_Expression flag properly reflects
893 whether they're static, to allow suppressing creation of a
894 transient scope within Resolve_Call. A prominent ??? comment is
895 added to explain this rather unconventional call to Resolve.
896 (Is_Static_Expression_Function_Call): New function that
897 determines whether a node passed to it is a call to a static
898 expression function all of whose actual parameters are given by
899 static expressions.
900
901 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
902
903 * exp_ch4.adb (Optimize_Length_Comparison): New local variable to
904 record whether this may be a dynamic superflat case.
905 (Is_Optimizable): Accept 0 as lower bound and set it in this case,
906 but return false if the operand is not a length too.
907 (Rewrite_For_Equal_Lengths): New procedure.
908 Optimize the comparison of two lengths in the superflat case when
909 the arrays have the same bounds.
910
911 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
912
913 * doc/gnat_rm/implementation_defined_attributes.rst (Bit): Sharpen
914 the comparison with System.Storage_Unit.
915 (Descriptor_Size): Clear confusion about alignment and padding.
916 * gnat_rm.texi: Regenerate.
917
918 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
919
920 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
921 Do not replace the bound for an array type if it is public.
922
923 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
924
925 * exp_ch4.adb (Optimize_Length_Comparison): Make sure the base
926 types are the same when comparing Y'Last and X'Last directly.
927
928 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
929
930 * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
931 Replace it with a direct reference to an entity which is not a
932 discriminant for constrained array types. Add same condition
933 for scalar types.
934 <Attribute_Last>: Merge with above implementation.
935 * exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a
936 second entity whose length is compared. Rename Prepare_64 to
937 Convert_To_Long_Long_Integer. If the second entity is present,
938 compute the difference of the 'First attributes and compare the
939 sum of 'Last of the second entity with this difference against
940 'Last of the first entity. Add a special case when the 'First
941 attributes are equal. Suppress overflow checks in all cases.
942
943 2020-06-17 Piotr Trojanek <trojanek@adacore.com>
944
945 * doc/gnat_rm/implementation_defined_pragmas.rst, lib-writ.ads,
946 par-prag.adb, sem_ch12.adb, sem_ch8.adb, sem_prag.adb: Fix
947 casing of GNATprove.
948 * gnat_rm.texi: Regenerate.
949
950 2020-06-17 Piotr Trojanek <trojanek@adacore.com>
951
952 * checks.adb (Generate_Range_Check): Simplify redundant
953 condition.
954 * sem_ch3.adb (Check_Initialization, Process_Discriminants):
955 Likewise.
956 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
957
958 2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
959
960 * exp_fixd.adb (Build_Conversion): Also preserve the
961 Conversion_OK flag of an inner conversion.
962
963 2020-06-17 Piotr Trojanek <trojanek@adacore.com>
964
965 * sem_ch5.adb (Analyze_Iterator_Specification): Enable expansion
966 that creates a renaming that removes side effects from the
967 iterated object in the GNATprove mode; then analyze reference to
968 this renaming (it is required for GNATprove and harmless for
969 GNAT).
970
971 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
972
973 * sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val.
974 * exp_attr.adb (Get_Integer_Type): New function returning a
975 small integer type appropriate for an enumeration type.
976 (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>: Call it.
977 <Attribute_Pos>: For an enumeration type with a standard
978 representation, expand to a conversion with Conversion_OK.
979 <Attribute_Val>: Likewise.
980 * exp_ch4.adb (Expand_N_Type_Conversion): Do not expand when
981 the target is an enumeration type and Conversion_OK is set.
982
983 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
984
985 * sem_ch4.adb (Common_Type): Go to Underlying_Full_View, if any.
986
987 2020-06-16 Richard Kenner <kenner@adacore.com>
988
989 * exp_unst.adb (Subp_Index): Change way we detect internal
990 protected subprograms.
991
992 2020-06-16 Richard Kenner <kenner@adacore.com>
993
994 * comperr.adb (Compiler_Abort): Clarify message displayed to
995 customers.
996
997 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
998
999 * checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst,
1000 einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads,
1001 libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb,
1002 sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing.
1003 * gnat_ugn.texi: Regenerate.
1004
1005 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
1006
1007 * einfo.adb, exp_spark.adb, exp_util.adb, sem_eval.adb: Replace
1008 "Ekind ... in Object_Kind" with "Is_Object (...)".
1009
1010 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
1011
1012 * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo in
1013 comment.
1014
1015 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
1016
1017 * exp_util.adb (Evaluate_Name): Force evaluation of aggregates;
1018 recursively evaluate expression of a qualified expression; fix
1019 location of the comment for an attribute referenced and an
1020 indexed component.
1021
1022 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
1023
1024 * freeze.adb (Freeze_Expression): Use consistent style and
1025 formatting in a couple of cases.
1026
1027 2020-06-16 Steve Baird <baird@adacore.com>
1028
1029 * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Uncomment the
1030 commented-out Integer_Literal aspect specification for type
1031 Big_Integer.
1032
1033 2020-06-16 Javier Miranda <miranda@adacore.com>
1034
1035 * exp_ch6.adb (BIP_Suffix_Kind, Check_BIP_Actuals,
1036 Is_Build_In_Place_Entity): New subprograms.
1037 (Make_Build_In_Place_Call_In_Allocator,
1038 Make_Build_In_Place_Call_In_Anonymous_Context,
1039 Make_Build_In_Place_Call_In_Assignment,
1040 Make_Build_In_Place_Call_In_Object_Declaration): Add assertions.
1041 (Needs_BIP_Task_Actuals): Add missing support for thunks.
1042 (Expand_Actuals): Ensure that the BIP call has available an
1043 activation chain and the _master variable.
1044 * exp_ch9.adb (Find_Enclosing_Context): Initialize the list of
1045 declarations of empty blocks when the _master variable must be
1046 declared and the list was not available.
1047
1048 2020-06-16 Bob Duff <duff@adacore.com>
1049
1050 * par-ch4.adb (P_Case_Expression): Move to be local.
1051 (P_Declare_Expression): New parsing routine.
1052 (P_Unparen_Cond_Expr_Etc): New name for
1053 P_Unparen_Cond_Case_Quant_Expression which was missing one case
1054 in its name (iterated component association), and we're adding a
1055 new case (declare expression), so lets use "Etc" instead of
1056 trying to pack all those things into the name. Add call to
1057 P_Declare_Expression, and check for missing parens.
1058 (P_Expression_If_OK, P_Expression_Or_Range_Attribute_If_OK): Add
1059 Tok_Declare.
1060 * par.adb (P_Basic_Declarative_Items): Add parameter
1061 Declare_Expression so we can tailor the error message about
1062 incorrect bodies.
1063 (P_Case_Expression): Move to body.
1064 * par-ch3.adb (P_Basic_Declarative_Items): Tailor the error
1065 message about incorrect bodies.
1066 * par-ch7.adb (P_Package): Pass Declare_Expression => False to
1067 P_Basic_Declarative_Items.
1068 * sem.ads (In_Declare_Expr): Counter used to determine whether
1069 we are analyzing a declare_expression. Needed to give errors
1070 about things that are not allowed in declare_expression, such as
1071 the 'Access attribute.
1072 * sem.adb (Do_Analyze): Save/restore In_Declare_Expr.
1073 * sem_ch4.adb (Analyze_Expression_With_Actions): Give this node
1074 its own scope. That seems better in general, but it is
1075 necessary for declare_expressions. For example, an identifier
1076 declared in a declare_expression should not clash with the same
1077 identifier in an outer scope. If this is a declare_expression,
1078 indicated by Comes_From_Source, then check legality rules, and
1079 incr/decr In_Declare_Expr.
1080 * sem_aggr.adb (Resolve_Aggregate): Allow an applicable index
1081 constraint for a declare_expression, so if its expression is an
1082 array aggregate, it can have "others => ...".
1083 * sem_attr.adb (Analyze_Access_Attribute): Disallow these
1084 attributes in declare_expressions. Add comment to make it clear
1085 that Unrestricted_Access is included.
1086 * sinfo.ads, sinfo.adb, atree.ads, atree.adb: Remove the
1087 now-incorrect comment in sinfo.ads that says
1088 N_Expression_With_Actions has no proper scope. Add 17-parameter
1089 versions of Nkind_In. Remove the 16-parameter versions of
1090 Nkind_In.
1091
1092 2020-06-16 Arnaud Charlet <charlet@adacore.com>
1093
1094 * sem_aux.ads, sem_aux.adb (Is_Record_Or_Limited_Type): New
1095 function.
1096 * exp_ch4.adb, sem_ch4.adb (Analyze_Membership_Op,
1097 Expand_Set_Membership.Make_Cond): Choose between primitive and
1098 predefined equality for membership tests.
1099
1100 2020-06-16 Ed Schonberg <schonberg@adacore.com>
1101
1102 * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code and
1103 implement AI12-0216 which clarifies the conditions under which
1104 overlapping actuals in a call are illegal. If proper warnings
1105 are enabled, GNAT also emits warnings in legal cases of
1106 overlopping actuals.
1107
1108 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
1109
1110 * freeze.adb (Freeze_Expression): Stop climbing the parent chain
1111 at a N_{Case,If}_Expression node for a type or an entity that
1112 does not come from source.
1113
1114 2020-06-16 Steve Baird <baird@adacore.com>
1115
1116 * snames.ads-tmpl: Define names of the three new aspects.
1117 * aspects.ads: Define the three new aspects.
1118 * sem_util.ads, sem_util.adb, sem_dim.adb: Move the function
1119 String_From_Numeric_Literal from being declared in the body of
1120 package Sem_Dim to being declared in the visible part of package
1121 Sem_Util.
1122 * sem_ch13.ads, sem_ch13.adb: Declare new visible procedure
1123 Validate_Literal_Aspect. This is where most of the legality
1124 checking occurs for an aspect specification for one of the three
1125 new aspects, as well as resolution of the subprogram named in
1126 the aspect specification. Follow example of other aspects (e.g.,
1127 Validate_Literal_Aspect is called in much the same way as
1128 Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a
1129 small amount of legality checking is performed in
1130 Analyze_One_Aspect in much the same way as for Default_Value or
1131 Default_Component_Value aspects). Most of the work is done in
1132 Validate_Literal_Aspect.
1133 * contracts.adb (Add_Contract_Item): Call
1134 Validate_Literal_Aspect in much the same way that
1135 Validate_Iterable_Aspect was already being called.
1136 * sem_res.adb (Resolve): Rewrite a literal as a call if it is a
1137 user-defined literal. This is where the dynamic semantics of
1138 the 3 new aspects are implemented.
1139 * sem_ch6.adb (Fully_Conformant_Expressions): Two numeric
1140 literals that have different text but the same value (e.g.,
1141 12345 and 12_345) do not conform if they are user-defined
1142 literals. Introduce a new function
1143 User_Defined_Numeric_Literal_Mismatch to avoid duplication in
1144 making this check.
1145 * sem_type.adb (Has_Compatible_Type): A numeric literal can be
1146 compatible with a non-numeric type (and a string literal can be
1147 compatible with a non-string type) if it can be interpreted as a
1148 user-defined literal.
1149
1150 2020-06-16 Arnaud Charlet <charlet@adacore.com>
1151
1152 * sem_aggr.adb (Resolve_Extension_Aggregate): Fix implementation
1153 of AI05-0115 by checking the correct type.
1154
1155 2020-06-16 Arnaud Charlet <charlet@adacore.com>
1156
1157 * sem_ch6.adb (Analyze_Subprogram_Specification): Generate error
1158 message for functions returning interfaces.
1159
1160 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
1161
1162 * sem_ch13.adb (Membership_Entry): Relax assertion to also
1163 recognize qualified identifiers.
1164
1165 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
1166
1167 * exp_util.adb (Evaluate_Name): Force evaluation of operators.
1168
1169 2020-06-16 Arnaud Charlet <charlet@adacore.com>
1170
1171 * sem_ch4.adb (Analyze_Membership_Op): Reset entity of equality
1172 nodes for membership tests with singletons.
1173 (Analyze_User_Defined_Binary_Op): Always perform the analysis
1174 since nodes coming from the expander also may refer to non
1175 standard operators as part of membership expansion.
1176 * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Reset entity of
1177 equality node.
1178 * sem_type.ads: Fix typo in comment.
1179
1180 2020-06-16 Ghjuvan Lacambre <lacambre@adacore.com>
1181
1182 * sem_attr.adb (Analyze_Attribute): Add
1183 Check_Not_Incomplete_Type call.
1184
1185 2020-06-16 Gary Dismukes <dismukes@adacore.com>
1186
1187 * sem_ch6.adb: Add closing paren in a comment.
1188 * sem_util.adb: Correct comment typo (aggreate => aggregate).
1189
1190 2020-06-16 Javier Miranda <miranda@adacore.com>
1191
1192 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1193 Code cleanup.
1194
1195 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
1196
1197 * freeze.adb (In_Expanded_Body): Remove unreachable code.
1198 (Freeze_Expression): Rename a couple of local variables.
1199 In the case of an expanded body, also freeze locally the
1200 entities declared in a nested block.
1201
1202 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
1203
1204 * sem_ch4.adb (Transform_Object_Operation): Document that it
1205 may be partially destructive for the parent of the node.
1206 (Try_Object_Operation): Undo the changes made above on failure.
1207
1208 2020-06-16 Javier Miranda <miranda@adacore.com>
1209
1210 * restrict.adb (Global_No_Tasking): Adding
1211 Targparm.Restrictions_On_Target Fixes regressions with zfp.
1212
1213 2020-06-16 Ed Schonberg <schonberg@adacore.com>
1214
1215 * freeze.adb: (Freeze_Expression, In_Expanded_Body): Treat the
1216 generated body of an expression function like other bodies
1217 generated during expansion (e.g. stream subprograms) so that
1218 those bodies are not treated as freezing points. Handle properly
1219 other global references in such completions.
1220
1221 2020-06-16 Piotr Trojanek <trojanek@adacore.com>
1222
1223 * sem_ch8.adb (Analyze_Object_Renaming): Remove trivially
1224 useless initialization of Is_Object_Reference.
1225 * sem_util.adb (Is_Object_Reference): Simplify detection of
1226 binary and unary operators; literally implement rules about
1227 aggregates and qualified expressions; recognize string literals
1228 as object references.
1229
1230 2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
1231
1232 * sem_ch12.adb (Validate_Derived_Type_Instance): Reword error
1233 message for 12.5.1(8) subclause and add secondary message if
1234 the incompatibility comes from the predicates.
1235 * sem_ch3.adb (Check_Constraining_Discriminant): New procedure
1236 to give the error required by the 3.7(15) subclause. Mention
1237 "statically" in the error message and add secondary message
1238 if the incompatibility comes from the predicates.
1239 (Build_Derived_Concurrent_Type): Call it when a new discriminant
1240 constrains an old one.
1241 (Build_Derived_Record_Type): Likewise.
1242 * sem_eval.ads (Predicates_Compatible): Declare.
1243 * sem_eval.adb (Predicates_Compatible): New function to implement
1244 the compatibility of predicates specified by the 4.9.1 clause.
1245 (Subtypes_Statically_Compatible): Call it.
1246
1247 2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
1248
1249 * sem_eval.ads (Predicates_Match): Fix description.
1250 * sem_eval.adb (Predicates_Match): Rewrite.
1251
1252 2020-06-15 Ed Falis <falis@adacore.com>
1253
1254 * Makefile.rtl: Change name of hie/g-io__vxworks-ppc-cert.adb.
1255
1256 2020-06-15 Arnaud Charlet <charlet@adacore.com>
1257
1258 * sem_ch8.adb (Premature_Usage): Add support for subtype
1259 references and replace set of if-then-else by a case statement.
1260
1261 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1262
1263 * sem_prag.adb (Analyze_Depends_In_Decl_Part,
1264 Analyze_Global_In_Decl_Part): Bring back task discriminants for
1265 analysis of the Global/Depends contracts; add comments.
1266
1267 2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
1268
1269 * einfo.ads (Return_Applies_To): Document special usage for E_Block.
1270 * einfo.adb (Write_Field8_Name): Write it for E_Block too.
1271 * exp_ch4.adb (Expand_N_Type_Conversion): Remove implementation of
1272 the check prescribed by AI05-0073.
1273 * exp_ch6.adb (Apply_CW_Accessibility_Check): New procedure to apply
1274 the check prescribed by AI95-344 extracted from...
1275 (Expand_N_Extended_Return_Statement): Apply the check prescribed by
1276 AI95-344 to the expression, if present. Suppress only access checks
1277 when analyzing the rewritten result.
1278 (Expand_Simple_Function_Return): ...here. Rename local variable.
1279 Call Apply_CW_Accessibility_Check to apply the check prescribed by
1280 AI95-344, but do not do it for the simple return statement generated
1281 by the expansion of an extended return statement. Apply the check
1282 prescribed by AI05-0073 to all functions returning anonymous access
1283 type designating a specific tagged type, but not if the expression
1284 was null or tag checks are suppressed for the type, and use Not In
1285 operator rather than comparing the tags explicitly.
1286 * sem.adb (Analyze): Handle all Suppress values.
1287 * sem_ch6.adb (Analyze_Function_Return): Do not explicitly apply
1288 predicate checks in the case of an extended return statement.
1289 Do not apply an implicit conversion to the anonymous access result
1290 type in the case of the simple return statement generated by the
1291 expansion of an extended return statement.
1292 (New_Overloaded_Entity): Small comment tweak.
1293 * treepr.adb (Print_Node): Fix typo in flag string.
1294
1295 2020-06-15 Bob Duff <duff@adacore.com>
1296
1297 * exp_put_image.ads, exp_put_image.adb
1298 (Image_Should_Call_Put_Image): New function to determine whether
1299 the call to Put_Image should be generated.
1300 (Build_Image_Call): New procedure to generate the call to
1301 Put_Image.
1302 * exp_imgv.adb (Expand_Image_Attribute): Use underlying types to
1303 bypass privacy (only in Ada 2020). If
1304 Image_Should_Call_Put_Image is True (which happens only in Ada
1305 2020), then call Build_Image_Call.
1306 * rtsfind.ads, rtsfind.adb: Add the necessary declarations in
1307 Ada.Strings.Text_Output.Buffers.
1308 * sem_attr.adb (Check_Image_Type): Enable the Ada 2020 case.
1309 * libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Use the less
1310 restrictive type that allows newline characters.
1311
1312 2020-06-15 Gary Dismukes <dismukes@adacore.com>
1313
1314 * exp_ch9.ads (Build_Master_Declaration): Add commas.
1315 * exp_ch9.adb (Build_Master_Entity): Spelling fix ("build" =>
1316 "built").
1317 (Build_Task_Activation_Call): Fix word order.
1318
1319 2020-06-15 Arnaud Charlet <charlet@adacore.com>
1320
1321 * libgnat/a-nbnbin.ads (Big_Positive, Big_Natural): Fix
1322 predicate.
1323
1324 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1325
1326 * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix
1327 dealing with scopes on subprogram bodies that act as specs.
1328 * sem_util.adb (Has_Relaxed_Initialization): Fix trivial
1329 mistake.
1330
1331 2020-06-15 Javier Miranda <miranda@adacore.com>
1332
1333 * restrict.ads (Set_Global_No_Tasking, Global_No_Tasking): New
1334 subprograms.
1335 * restrict.adb (Set_Global_No_Tasking, Global_No_Tasking): New
1336 subprograms.
1337 * sem_ch3.adb (Access_Definition): Do not skip building masters
1338 since they may be required for BIP calls.
1339 (Analyze_Subtype_Declaration): Propagate attribute
1340 Is_Limited_Record in class-wide subtypes and subtypes with
1341 cloned subtype attribute; propagate attribute
1342 Is_Limited_Interface.
1343 * sem_ch6.adb (Check_Anonymous_Return): Do not skip building
1344 masters since they may be required for BIP calls. Use
1345 Build_Master_Declaration to declare the _master variable.
1346 (Create_Extra_Formals): Add decoration of Has_Master_Entity when
1347 the _master formal is added.
1348 * exp_ch3.adb (Init_Formals): Adding formal to decorate it with
1349 attribute Has_Master_Entity when the _master formal is added.
1350 (Build_Master): Do not skip building masters since they may be
1351 required for BIP calls.
1352 (Expand_N_Object_Declaration): Ensure activation chain and
1353 master entity for objects initialized with BIP function calls.
1354 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
1355 Adding support to detect and save restriction No_Tasking when
1356 set in the run-time package System or in a global configuration
1357 pragmas file.
1358 * sem_util.adb (Current_Entity_In_Scope): Overload this
1359 subprogram to allow searching for an entity by its Name.
1360 * sem_util.ads (Current_Entity_In_Scope): Update comment.
1361 * exp_ch4.adb (Expand_N_Allocator): Do not skip building masters
1362 since they may be required for BIP calls.
1363 * exp_ch6.ads (Might_Have_Tasks): New subprogram.
1364 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
1365 support for BIP calls returning objects that may have tasks.
1366 (Make_Build_In_Place_Call_In_Allocator): Build the activation
1367 chain if the result might have tasks.
1368 (Make_Build_In_Place_Iface_Call_In_Allocator): Build the class
1369 wide master for the result type.
1370 (Might_Have_Tasks): New subprogram.
1371 (Needs_BIP_Task_Actuals): Returns False when restriction
1372 No_Tasking is globally set.
1373 * exp_ch9.ads (Build_Master_Declaration): New subprogram.
1374 * exp_ch9.adb (Build_Activation_Chain_Entity): No action
1375 performed when restriction No_Tasking is globally set.
1376 (Build_Class_Wide_Master): No action performed when restriction
1377 No_Tasking is globally set; use Build_Master_Declaration to
1378 declare the _master variable.
1379 (Build_Master_Declaration): New subprogram.
1380 (Build_Master_Entity): No action performed when restriction
1381 No_Tasking is globally set; added support to handle transient
1382 scopes and _finalizer routines.
1383 (Build_Master_Renaming): No action performed when restriction
1384 No_Tasking is globally set.
1385 (Build_Task_Activation_Call): Skip generating the call when
1386 the chain is an ignored ghost entity.
1387 (Find_Master_Scope): Generalize the code that detects transient
1388 scopes with master entity.
1389 * einfo.ads (Has_Nested_Subprogram): Minor comment reformatting.
1390
1391 2020-06-15 Arnaud Charlet <charlet@adacore.com>
1392
1393 * sem_attr.adb (Eval_Attribute): Protect against previous
1394 errors.
1395 * sem_ch13.adb (Analyze_Aspect_Default_Value): Remove redundant
1396 error checking, handling in Analyze_Aspect_Specifications.
1397 (Analyze_Aspect_Specifications): Refine error messages on
1398 Default_[Component_]Value.
1399 (Check_Aspect_Too_Late): New procedure.
1400 (Rep_Item_Too_Late.Is_Derived_Type_With_Constraint): Remove,
1401 dead code.
1402 * aspects.ads (Is_Representation_Aspect): Default_Value is a
1403 representation aspect.
1404
1405 2020-06-15 Arnaud Charlet <charlet@adacore.com>
1406
1407 * libgnat/a-wichha.ads, libgnat/a-wichha.adb,
1408 libgnat/a-wichun.ads, libgnat/a-wichun.adb (Is_Basic, To_Basic):
1409 New.
1410 * libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_Basic,
1411 To_UTF_32_Basic, Decomposition_Search): New subprograms.
1412 (Unicode_Decomposition): New table.
1413
1414 2020-06-15 Gary Dismukes <dismukes@adacore.com>
1415
1416 * exp_ch6.adb (Add_Call_By_Copy_Code): In the case of a view
1417 conversion passed to a scalar out-mode parameter where the
1418 formal has Default_Value set, declare the copy temp with the
1419 base type of the formal's subtype and initialize the copy temp
1420 with the actual's value.
1421
1422 2020-06-15 Justin Squirek <squirek@adacore.com>
1423
1424 * exp_ch4.adb (Expand_N_Case_Expression): Set default value for
1425 Target to silence potential warnings.
1426 (Expand_N_If_Expression): Add calculation to check when the if
1427 expression is used directly in the context of an actual of an
1428 anonymous access type and add a special path to force expansion
1429 of the if expression in this case.
1430 * exp_ch6.adb (Expand_Branch): Generate an assignment to the
1431 level temporary for a given branch.
1432 (Expand_Call_Helper): Add expansion to allow for creating a
1433 temporary to store associated accessiblity levels on each branch
1434 of the conditional expression. Also perform expansion of
1435 function calls into expressions with actions, and fixup
1436 references to N with Call_Node.
1437 (Insert_Level_Assign): Move through nested conditional
1438 expressions to each branch.
1439 * sem_util.ads, sem_util.adb (Is_Anonymous_Access_Actual): Added
1440 to detect when to force expansion of if expressions.
1441
1442 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1443
1444 * sem_prag.adb (Analyze_Depends_In_Decl_Part,
1445 Analyze_Global_In_Decl_Part): Do not install task discriminants
1446 for analysis of the Global/Depends contracts.
1447
1448 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1449
1450 * contracts.adb (Analyze_Object_Contract): Do not expect
1451 Global/Depends on single protected units.
1452
1453 2020-06-15 Justin Squirek <squirek@adacore.com>
1454
1455 * sem_res.adb (Valid_Conversion): Add missing condition to
1456 trigger proper static accessiblity failiures when the target
1457 type is an anonymous access.
1458
1459 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1460
1461 * exp_ch6.adb (Expand_Call_Helper): Replace repeated Ekind with
1462 Ekind_In.
1463
1464 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1465
1466 * exp_ch6.adb, sem_util.adb: Remove excessive parents,
1467 especially since they don't make the code any easier to read.
1468
1469 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1470
1471 * aspects.ads (Aspect_Id): Add Aspect_Relaxed_Initialization.
1472 (Implementation_Defined_Aspect): Add new aspect.
1473 (Aspect_Argument): Add new aspect with Optional_Expression
1474 argument.
1475 (Is_Representation_Aspect): Add new aspect as a
1476 non-representation one.
1477 (Aspect_Names): Add name for the new aspect.
1478 (Aspect_Delay): Add new aspect as a non-delayed one.
1479 * sem_ch3.adb: Minor reformatting.
1480 * einfo.ads, einfo.adb (Is_Relaxed_Initialization_State): New
1481 query; reuses existing code for querying abstract state options.
1482 * exp_attr.adb (Expand_N_Attribute_Reference): For now ignore
1483 attribute 'Initialized.
1484 * sem_attr.adb (Analyze_Attribute_Old_Result): Allow attribute
1485 'Result to be used in the aspect Relaxed_Initialization
1486 expression.
1487 (Analyze_Attribute): Analyze attribute 'Initialized; based on
1488 existing code for attribute 'Valid_Scalars.
1489 (Eval_Attribute): Do not expect attribute 'Initialized, just
1490 like attribute 'Valid_Scalars is not expected.
1491 * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): New
1492 routine.
1493 (Analyze_Aspect_Specifications): Analyze new aspect in a
1494 dedicated routine.
1495 (Check_Aspect_At_Freeze_Point): Do not expect new aspect.
1496 * sem_prag.adb (Analyze_Abstract_State): Support option
1497 Relaxed_Initialization on abstract states.
1498 * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): New
1499 query for the GNATprove backend.
1500 * snames.ads-tmpl (Snames): Add Name_Ids for the new aspect and
1501 attribute; add an Attribute_Id for the new attribute.
1502
1503 2020-06-15 Bob Duff <duff@adacore.com>
1504
1505 * exp_put_image.adb, libgnat/s-putima.adb, libgnat/s-putima.ads,
1506 rtsfind.ads: Enable Put_Image if Is_Access_Subprogram_Type (Typ).
1507 Remove comment saying it's disabled in that case. Rename
1508 Put_Image_Access_Prot to be Put_Image_Access_Prot_Subp to
1509 clarify that we're talking about access-to-subprogram, not
1510 access-to-protected-object.
1511
1512 2020-06-15 Bob Duff <duff@adacore.com>
1513
1514 * sem_attr.adb (Check_Image_Type): New procedure for checking
1515 the type, depending on language version. Disable the Ada 2020
1516 support until the corresponding expander work is done.
1517 (Analyze_Image_Attribute): Call Check_Image_Type. Rearrange the
1518 code to be simplier and more logical. When P_Type is modified,
1519 modify P_Base_Type accordingly.
1520 * sem_util.adb (Is_Object_Image): Do not return False if the
1521 prefix is a type. X'Image should be considered an image of an
1522 object iff X is an object (albeit illegal pre-2020 if
1523 nonscalar).
1524
1525 2020-06-15 Bob Duff <duff@adacore.com>
1526
1527 * libgnat/s-putima.ads, libgnat/s-putima.adb
1528 (Put_Image_Access_Subp, Put_Image_Access_Prot): New procedures
1529 for printing access-to-subprogram objects. Remove an explicit
1530 " ", because Put_Image includes the annoying leading blank.
1531 * rtsfind.ads: Add new procedures in s-putima.
1532 * exp_put_image.adb: Call new procedures as appropriate.
1533
1534 2020-06-15 Bob Duff <duff@adacore.com>
1535
1536 * exp_imgv.adb (Expand_Image_Attribute): Allow private types.
1537 Put_Image generates Image for numeric types, and private types
1538 whose full type is numeric. This requires the Conversion_OK flag
1539 for integer and floating-point types. For fixed point, we need
1540 the extra conversion.
1541 * exp_put_image.adb (Build_Elementary_Put_Image_Call): Remove
1542 special handling of real types.
1543 (Enable_Put_Image): Enable for reals.
1544
1545 2020-06-15 Bob Duff <duff@adacore.com>
1546
1547 * exp_attr.adb (Put_Image): Use underlying type for strings.
1548 Remove unchecked union processing.
1549 * exp_put_image.adb (Tagged_Put_Image_Enabled): Use -gnatd_z to
1550 enable default Put_Image for tagged types. This allows testing
1551 that feature.
1552 (Build_String_Put_Image_Call): Set Conversion_OK flag.
1553 (Make_Component_List_Attributes): Remove unchecked union
1554 processing.
1555 (Enable_Put_Image): Disable for unchecked unions. Enable for
1556 nonscalar types (which were mistakenly disabled in earlier
1557 changes).
1558 * debug.adb: Document -gnatd_z switch.
1559 * libgnat/s-putima.adb (Put_Image_String, Put_Image_Wide_String,
1560 Put_Image_Wide_Wide_String): Double double-quote characters.
1561 Forget about special handling of control characters for now --
1562 that's rare enough to not be a priority, and it's not clear what
1563 the right thing to do is anyway.
1564 * namet.adb: Minor: Improve debugger-friendliness.
1565 * sinfo.ads: Minor: Add "???" comment.
1566
1567 2020-06-15 Piotr Trojanek <trojanek@adacore.com>
1568
1569 * sem_util.ads, sem_util.adb (Is_Renaming_Declaration): Remove.
1570
1571 2020-06-15 Ed Schonberg <schonberg@adacore.com>
1572
1573 * freeze.adb (Freeze_Expression): When traversing the tree
1574 looking for the proper insertion point for the freeze node of an
1575 entity that is declared in an outer scope, set the candidate
1576 subprogram body node properly. Previous code has an off-by-one
1577 error.
1578
1579 2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
1580
1581 * exp_attr.adb (Expand_N_Attribute_Reference) <Has_Same_Storage>:
1582 Do not do superfluous work. Add the condition (X'Size /= 0) on
1583 both paths and turn binary AND into short-circuit AND THEN.
1584
1585 2020-06-15 Steve Baird <baird@adacore.com>
1586
1587 * sem_attr.adb (Analyze_Attribute): In the Loop_Entry case,
1588 replace a call to Statically_Denotes_Object with a call to
1589 Statically_Names_Object and clean up the preceding comment.
1590
1591 2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
1592
1593 * sem_res.adb (Resolve_Set_Membership): Remove local variable.
1594 In the non-overloaded case, call Intersect_Types on the left
1595 operand and the first alternative to get the resolution type.
1596 But test the subtype of the left operand to give the warning.
1597
1598 2020-06-12 Steve Baird <baird@adacore.com>
1599
1600 * sem_res.adb (Valid_Conversion): The simpler cases of
1601 violations of the aforementioned 8.6 rule are already handled
1602 correctly. These include cases where the operand of the type
1603 conversion is an access parameter or a stand-alone object of an
1604 anonymous access type. Add code to detect violations where the
1605 operand of the type conversion is an access discriminant whose
1606 accessibility level is tied to one of the other simpler cases.
1607 This is implemented in a new function,
1608 Valid_Conversion.Is_Discrim_Of_Bad_Access_Conversion_Argument,
1609 which is called in place of the previous test.
1610
1611 2020-06-12 Bob Duff <duff@adacore.com>
1612
1613 * exp_attr.adb (Put_Image): Remove assertion. This assertion is
1614 False in mixed-Ada-version programs.
1615 * exp_put_image.adb (Tagged_Put_Image_Enabled): New flag to make
1616 it easy to experiment with Put_Image on tagged types. False in
1617 this version.
1618 (Enable_Put_Image): Enable in pre-2020. Workarounds: Disable
1619 for tagged types if Tagged_Put_Image_Enabled is False. Disable
1620 for access-to-subprogram types. Disable if errors have been
1621 detected, or Sink is unavailable.
1622 (Preload_Sink): Move all conditionals here, from Sem_Ch10, so
1623 they can be nearby related code in Enable_Put_Image. Load Sink
1624 only if we have seen a tagged type. This removes the dilemma
1625 about calling Preload_Sink when compiling the compiler, which
1626 caused unwanted dependences.
1627 * exp_put_image.ads (Preload_Sink): New formal Compilation_Unit,
1628 needed to move all conditionals here, from Sem_Ch10.
1629 * libgnat/a-stouut.adb (Put_UTF_8): Make this suitable for
1630 inlining, so we don't get warnings about inlining in some tests.
1631 And so it can be inlined!
1632 * opt.ads (Tagged_Seen): New flag (see Preload_Sink).
1633 * scng.adb (Scan): Set new Tagged_Seen flag.
1634 * sem_ch10.adb (Analyze_Compilation_Unit): Move conditionals and
1635 comments regarding Preload_Sink into Preload_Sink.
1636
1637 2020-06-12 Arnaud Charlet <charlet@adacore.com>
1638
1639 * sem_res.adb (Resolve_Actuals): Check for AI12-0074.
1640
1641 2020-06-12 Olivier Hainque <hainque@adacore.com>
1642
1643 * libgnat/s-secsta.ads (Memory_Alignment): New constant, memory
1644 alignment for chunks and allocated blocks. Initialize to
1645 Standard'Maximum_Alignment * 2.
1646 (Chunk_Memory): Use it.
1647 * libgnat/s-secsta.adb (Round_Up): Likewise.
1648
1649 2020-06-12 Piotr Trojanek <trojanek@adacore.com>
1650
1651 * par-prag.adb: Fix ordering.
1652 * snames.ads-tmpl (Name_Test_Case, Pragma_Test_Case): Likewise.
1653 * sem_prag.adb (Sig_Flags): Likewise.
1654
1655 2020-06-12 Arnaud Charlet <charlet@adacore.com>
1656
1657 * sem_res.adb (Resolve_Entity_Name): Fix handling of expressions
1658 containing array attributes wrt Ada 83 detection.
1659
1660 2020-06-12 Steve Baird <baird@adacore.com>
1661
1662 * sem_util.ads, sem_util.adb: Define 3 new Boolean-valued
1663 functions - Statically_Denotes_Entity,
1664 Statically_Denotes_Object, and Statically_Names_Object. The
1665 first two were taken from sem_attr.adb. The term "statically
1666 names" is defined in the Ada RM and the new function
1667 Statically_Names_Object is intended to reflect that definition,
1668 or more precisely, as described in a comment in the code, to
1669 reflect the expected future definition of that term.
1670 * sem_attr.adb: Delete functions Statically_Denotes_Object and
1671 Statically_Denotes_Entity; these two functions have been moved
1672 to package Sem_Util. Replace call to Statically_Denotes_Object
1673 with a call to Statically_Names_Object as per AI12-0217 (a
1674 binding interpretation, so no Ada_Version check).
1675 * exp_ch9.adb (Expand_Entry_Barrier.Is_Simple_Barrier): Change
1676 name of function (it was previously Is_Simple_Barrier_Name)
1677 because the function should return True in the case of a static
1678 expression; implement this requirement. Change function to
1679 include a call to Statically_Names_Object so that, for Ada_2020
1680 and later, it will return True for appropriate subcomponent
1681 names.
1682 (Expand_Entry_Barrier.Is_Pure_Barrier): Handle
1683 N_Indexed_Component and N_Selected_Component cases by calling
1684 Statically_Names_Object.
1685 (Expand_Entry_Barrier): Reorganize to treat Simple_Barriers and
1686 Pure_Barriers more uniformly. Prevent cascaded errors.
1687
1688 2020-06-12 Ed Schonberg <schonberg@adacore.com>
1689
1690 * sem_ch12.adb (Find_Matching_Actual): Add guard on search loops
1691 to detect a compilation error when using a compiler built
1692 without assertions.
1693 (Instantiate_Formal_Subprogram): Create a new subprogram name
1694 for the actual only if formal has contract aspects and expansion
1695 is enabled.
1696
1697 2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
1698
1699 * exp_aggr.adb: Add with and use clauses for Sem_Mech.
1700 (Get_Base_Object): New function to get the base object of a node.
1701 (In_Place_Assign_OK): Add Target_Object parameter. Deal with a
1702 qualified expression on entry. Remove short-circuit for array
1703 aggregates with a single "others" choice. Do not look into the
1704 components of the aggregate if the parent is an allocator.
1705 (Check_Component): Add T_OK parameter and rewrite.
1706 (Safe_Component): Invoke Check_Component with T_OK set to False.
1707 (Convert_To_Assignments): Try to use an in-place assignment for
1708 any target; for that, call Get_Base_Object on the target and pass
1709 the result to In_Place_Assign_OK.
1710 (Expand_Array_Aggregate): Use Parent_Kind and Parent_Node more
1711 consistently. For an assignment, call Get_Base_Object on the
1712 target and pass the result to In_Place_Assign_OK.
1713
1714 2020-06-12 Dmitriy Anisimkov <anisimko@adacore.com>
1715
1716 * socket.c (__gnat_minus_500ms): Use GetVersionEx to detect
1717 Windows Server version.
1718 * libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): Remade to
1719 Boolean constant.
1720 * libgnat/g-socket.adb (Set_Socket_Option): Use
1721 Minus_500ms_Windows_Timeout constant instead of function call.
1722
1723 2020-06-12 Arnaud Charlet <charlet@adacore.com>
1724
1725 * libgnat/a-coinho.ads, libgnat/a-coinho.adb,
1726 libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb
1727 (Swap): New procedure.
1728
1729 2020-06-12 Arnaud Charlet <charlet@adacore.com>
1730
1731 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do nothing for
1732 a subprogram declared in a protected body.
1733 * exp_ch9.ads, exp_ch9.adb
1734 (Build_Private_Protected_Declaration): Moved to sem_ch6.adb.
1735 (Expand_N_Protected_Body): Do nothing for a subprogram declared
1736 in a protected body.
1737 * sem_ch6.adb (Build_Internal_Protected_Declaration): Moved from
1738 exp_ch9.adb and renamed and fixed to ensure in particular that
1739 such subprograms have convention Intrinsic and have no protected
1740 version.
1741 (Analyze_Subprogram_Body_Helper): Call
1742 Build_Internal_Protected_Declaration.
1743 (Move_Pragmas): Moved up and merged with the more general
1744 version from Build_Private_Protected_Declaration. We only want
1745 to copy selected pragmas, most pragmas are not suitable for a
1746 copy on the spec.
1747
1748 2020-06-12 Ed Schonberg <schonberg@adacore.com>
1749
1750 * sem_ch6.adb (Check_Overriding_Indicatior): Reject an
1751 overriding indicator on a subprogram declared within a protected
1752 body.
1753
1754 2020-06-12 Piotr Trojanek <trojanek@adacore.com>
1755
1756 * contracts.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb,
1757 sem_res.adb, sem_util.adb: Replace Ekind_In with Is_Entry.
1758
1759 2020-06-12 Piotr Trojanek <trojanek@adacore.com>
1760
1761 * sem_res.adb (Resolve_Entry_Call): Add call to
1762 Warn_On_Overlapping_Actuals.
1763
1764 2020-06-12 Arnaud Charlet <charlet@adacore.com>
1765
1766 * aspects.ads (Is_Representation_Aspect): New array.
1767 * sem_ch13.adb (Analyze_Aspect_Specifications): Check
1768 13.1(9.2/5) for representation aspects.
1769
1770 2020-06-12 Bob Duff <duff@adacore.com>
1771
1772 * exp_put_image.ads, exp_put_image.adb (Preload_Sink): Procedure
1773 for preloading type Sink. This has the side effect of loading
1774 various dependents, including Ada.Strings.UTF_Encoding.
1775 (Enable_Put_Image): Disable Put_Image in pre-2020 versions of
1776 Ada. This limitation can probably be lifted later. Enable for
1777 tagged types except in predefined units. Disable for CPP types;
1778 Put_Image is legal, just prints the type name.
1779 * sem_attr.adb (Check_Put_Image_Attribute): Don't complain about
1780 Put_Image of CPP types; instead call the "unknown" version of
1781 Put_Image.
1782 * sem_ch10.adb (Analyze_Compilation_Unit): Call Preload_Sink.
1783
1784 2020-06-12 Piotr Trojanek <trojanek@adacore.com>
1785
1786 * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify.
1787
1788 2020-06-12 Piotr Trojanek <trojanek@adacore.com>
1789
1790 * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove suppression
1791 for internal units.
1792
1793 2020-06-12 Arnaud Charlet <charlet@adacore.com>
1794
1795 * exp_strm.adb (Build_Elementary_Input_Call): Add support for 24
1796 bits elementary types.
1797 * rtsfind.ads: Add 24 bits integer streaming routines.
1798 * sem_ch13.adb (Analyze_Attribute_Definition_Clause
1799 [Attribute_Stream_Size]): Add support for 24 bits elementary
1800 types.
1801 * libgnat/s-stratt.ads, libgnat/s-stratt.adb,
1802 libgnat/s-stratt__xdr.adb: Add support for signed and unsigned
1803 24 bits integers.
1804
1805 2020-06-12 Piotr Trojanek <trojanek@adacore.com>
1806
1807 * sem_ch3.adb (Get_Discr_Value): Cleanup.
1808
1809 2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
1810
1811 * rtsfind.ads (RTU_Id): Add System_Address_To_Access_Conversions.
1812 * sem_elab.adb (Elaboration_Phase_Active): Alphabetize.
1813 (Finalize_All_Data_Structures): Likewise.
1814 (Error_Preelaborated_Call): New procedure.
1815 (Build_Call_Marker): Set Is_Preelaborable_Call flag in marker.
1816 (Build_Access_Marker): Likewise.
1817 (Build_Subprogram_Invocation): Likewise.
1818 (Build_Task_Activation): Likewise.
1819 (Check_Preelaborated_Call): Return when the call is preelaborable.
1820 Call Error_Preelaborated_Call to give the error otherwise.
1821 (Check_Elab_Call): Likewise.
1822 * sem_util.adb (Is_Preelaborable_Function): New predicate.
1823 (Is_Non_Preelaborable_Construct.Visit): Recurse on the
1824 Explicit_Actual_Parameter field of N_Parameter_Association.
1825 (Is_Non_Preelaborable_Construct.Visit_Subexpression): In Ada 2020,
1826 for a call to a preelaborable function, visit the parameter list;
1827 otherwise, raise Non_Preelaborable exception.
1828 (Is_Preelaborable_Construct): Likewise, but recursively check the
1829 parameters instead and return false upon failure, otherwise true.
1830 * sinfo.ads (Is_Preelaborable_Call): New flag in call marker nodes.
1831 (Is_Preelaborable_Call): New inline function.
1832 (Set_Is_Preelaborable_Call): New inline procedure.
1833 * sinfo.adb (Is_Preelaborable_Call): New inline function.
1834 (Set_Is_Preelaborable_Call): New inline procedure.
1835
1836 2020-06-12 Bob Duff <duff@adacore.com>
1837
1838 * stringt.ads: Remove "use System;".
1839
1840 2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
1841
1842 * sem_ch4.adb (Try_Container_Indexing): Replace call to
1843 First_Discriminant by Get_Reference_Discriminant to get the
1844 reference discriminant.
1845 * sem_ch13.adb (Check_Indexing_Functions): Likewise.
1846 * sem_ch5.adb (Preanalyze_Range): Call Get_Reference_Discriminant
1847 to get the reference discriminant.
1848 * sem_util.adb (Is_OK_Variable_For_Out_Formal): Treat all
1849 Ada 2012 implicit dereferences in only one place.
1850 (Is_Variable): Minor tweak.
1851
1852 2020-06-12 Ed Schonberg <schonberg@adacore.com>
1853
1854 * sem_ch12.adb (Has_Contracts): New predicate to check whether a
1855 formal subprogram carries an aspect specification for a pre- or
1856 postcondition.
1857 (Build_Subprogram_Wrappers): If actual is overloaded, create a
1858 new name to be used in call inside wrapper body. This names
1859 carries the interpretations of the actual, and is resolved when
1860 the body is analyzed.
1861 (Build_Subprogram_Body_Wrapper): Use this generated name in
1862 call.
1863 (Build_Subprogram_Decl_Wrapper): Build profile of wrapper from
1864 the profile of formal, and reset type entities for subsequent
1865 analysis.
1866
1867 2020-06-12 Bob Duff <duff@adacore.com>
1868
1869 * debug.adb: Remove usage of -gnatd_z.
1870 * exp_attr.adb, exp_put_image.ads, exp_put_image.adb: Clean up
1871 the enable/disable code. If Put_Image is disabled for a type,
1872 systematically call the "unknown" version. Improve comments.
1873 Consolidate workarounds. Remove usage of -gnatd_z.
1874
1875 2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
1876
1877 * sem_elab.adb: Fix typos in comments.
1878
1879 2020-06-12 Justin Squirek <squirek@adacore.com>
1880
1881 * sem_util.adb (Object_Access_Level): Add processing of implicit
1882 dereferences.
1883
1884 2020-06-12 Bob Duff <duff@adacore.com>
1885
1886 * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
1887 libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
1888 libgnat/a-nbnbre.ads: Update Put_Image, and uncomment the aspect
1889 specification. Add pragmas Ada_2020.
1890 * libgnat/a-stouut.ads, libgnat/a-stteou.ads: Add Preelaborate,
1891 because the Big_Numbers packages have Preelaborate, and now
1892 depend on these Text_Output packages.
1893
1894 2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
1895
1896 * einfo.ads (No_Return): Document it for all subprograms.
1897 * einfo.adb (Set_No_Return): Adjust assertion accordingly.
1898 * sem_ch3.adb (Check_Abstract_Overriding): Implement the
1899 check prescribed by RM 6.5.1(6/2) here instead of...
1900 (Derive_Subprogram): Adjust comment accordingly.
1901 * sem_disp.adb (Override_Dispatching_Operation): ...here.
1902 Remove superfluous return statement.
1903 * sem_ch6.adb (Check_No_Return_Expression): New procedure.
1904 (Analyze_Function_Return): Call it to implement the check
1905 prescribed by AI12-0269 for simple return statements of
1906 No_Return functions, and also checks extended statements.
1907 (Analyze_Return_Statement): Only give an error on a return
1908 statement in No_Return procedures. Use idiomatic form.
1909 * sem_ch8.adb (Analyze_Subprogram_Renaming): Adjust error
1910 message for No_Return renaming subprogram.
1911 * sem_prag.adb (Analyze_Pragma) <Pragma_No_Return>: Accept
1912 it on functions and generic functions in Ada 2020.
1913
1914 2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
1915
1916 * sem_res.adb (Resolve_Implicit_Dereference): In an instance,
1917 reset the type of the prefix if it is private before building
1918 the dereference.
1919
1920 2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
1921
1922 * exp_util.adb (Safe_Unchecked_Type_Conversion): Add missing
1923 Is_Type guard before calling Has_Discriminants on Etype.
1924
1925 2020-06-11 Bob Duff <duff@adacore.com>
1926
1927 * libgnat/a-nbnbin__gmp.adb: There's no Optional_Big_Integer
1928 anymore. Invalid_Big_Integer is not used.
1929 Greatest_Common_Divisor returns Big_Positive.
1930
1931 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
1932
1933 * sem_aggr.adb (Get_Value): Refine type of the Compon parameter.
1934
1935 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
1936
1937 * sem_aggr.adb (Resolve_Record_Aggregate): Refine type of
1938 Others_Box.
1939
1940 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
1941
1942 * checks.adb, exp_ch7.adb, exp_ch9.adb, exp_smem.adb, lib.adb,
1943 nlists.adb, sem.adb, sem_aggr.adb, sem_ch3.adb, sem_ch6.adb,
1944 sem_ch8.adb, sem_dim.adb, sem_res.adb, sem_util.adb,
1945 sem_warn.adb: Replace uses of Next function with procedure.
1946
1947 2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
1948
1949 * exp_pakd.ads: Add paragraph about scalar storage order.
1950 * exp_pakd.adb (Install_PAT): Do not set the scalar storage
1951 order of the PAT here but...
1952 (Set_PB_Type): ...here instead and...
1953 (Create_Packed_Array_Impl_Type): ...here as well.
1954 * rtsfind.ads (RE_Id): Add RE_Rev_Packed_Bytes{1,2,4}.
1955 (RE_Unit_Table): Likewise.
1956 * libgnat/s-unstyp.ads (Rev_Packed_Bytes1): New derived type.
1957 (Rev_Packed_Bytes2): Likewise.
1958 (Rev_Packed_Bytes4): Likewise.
1959
1960 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
1961
1962 * sem_ch4.adb, sem_ch6.adb, sem_res.adb, sem_util.ads: Fix
1963 references to SPARK RM 7.1.3 rule numbers.
1964
1965 2020-06-11 Ed Schonberg <schonberg@adacore.com>
1966
1967 * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code,
1968 remove inner predicate Is_Covered_Formal, preserve warning for
1969 two overlapping composite types when only one is writable, and
1970 for two overlapping and writable elementary types.
1971
1972 2020-06-11 Steve Baird <baird@adacore.com>
1973
1974 * contracts.adb (Add_Contract_Item): Support specifying
1975 volatility refinement aspects for types.
1976 (Analyze_Contracts): Add call to Analyze_Type_Contract in the
1977 case of a contract for a type.
1978 (Freeze_Contracts): Add call to Analyze_Type_Contract in the
1979 case of a contract for a type.
1980 (Check_Type_Or_Object_External_Properties): A new procedure
1981 which performs the work that needs to be done for both object
1982 declarations and types.
1983 (Analyze_Object_Contract): Add a call to
1984 Check_Type_Or_Object_External_Properties and remove the code in
1985 this procedure which did much of the work that is now performed
1986 by that call.
1987 (Analyze_Type_Contract): Implement this new routine as nothing
1988 more than a call to Check_Type_Or_Object_External_Properties.
1989 * contracts.ads: Update comment for Add_Contract_To_Item because
1990 types can have contracts. Follow (questionable) precedent and
1991 declare new routine Analyze_Type_Contract as visible (following
1992 example of Analyze_Object_Contract), despite the fact that it is
1993 never called from outside of the package where it is declared.
1994 * einfo.adb (Contract, Set_Contract): Id argument can be a type;
1995 support this case.
1996 (Write_Field34_Name): Field name is "contract" for a type.
1997 * einfo.ads: Update comment describing Contract attribute.
1998 * sem_ch3.adb (Build_Derived_Numeric_Type): Is_Volatile should
1999 return same answer for all subtypes of a given type. Thus, when
2000 building the base type for something like type Volatile_1_To_10
2001 is range 1 .. 10 with Volatile; that basetype should be marked
2002 as being volatile.
2003 (Access_Type_Declaration): Add SPARK-specific legality check
2004 that the designated type of an access type shall be compatible
2005 with respect to volatility with the access type.
2006 * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Add
2007 SPARK-specific legality check that an actual type parameter in
2008 an instantiation shall be compatible with respect to volatility
2009 with the corresponding formal type.
2010 * sem_ch13.adb (Analyze_Aspect_Specifications): Perform checks
2011 for aspect specs for the 4 volatility refinement aspects that
2012 were already being performed for all language-defined aspects.
2013 * sem_prag.adb (Analyze_External_Property_In_Decl_Part,
2014 Analyze_Pragma): External properties (other than No_Caching) may
2015 be specified for a type, including a generic formal type.
2016 * sem_util.ads: Declare new subprograms - Async_Readers_Enabled,
2017 Async_Writers_Enabled, Effective_Reads, Effective_Writes, and
2018 Check_Volatility_Compatibility.
2019 * sem_util.adb (Async_Readers_Enabled, Async_Writers_Enabled,
2020 Effective_Reads, Effective_Writes): Initial implementation of
2021 new functions for querying aspect values.
2022 (Check_Volatility_Compatibility): New procedure intended for use
2023 in checking all SPARK legality rules of the form "<> shall be
2024 compatible with respect to volatility with <>".
2025 (Has_Enabled_Property): Update comment because Item_Id can be a
2026 type. Change name of nested Variable_Has_Enabled_Property
2027 function to Type_Or_Variable_Has_Enabled_Property; add a
2028 parameter to that function because recursion may be needed,
2029 e.g., in the case of a derived typ). Cope with the case where
2030 the argument to Has_Enabled_Property is a type.
2031
2032 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2033
2034 * sem_aggr.adb (Add_Association): Add assertion about the formal
2035 parameters.
2036 (Propagate_Discriminants): Always add an explicit component
2037 association, so that an "others => <>" association is never
2038 needed.
2039
2040 2020-06-11 Bob Duff <duff@adacore.com>
2041
2042 * exp_put_image.adb (Build_Elementary_Put_Image_Call): If the
2043 underlying type is real, call Put_Image_Unknown.
2044 (Build_Unknown_Put_Image_Call): Pass the type name to
2045 Put_Image_Unknown.
2046 * libgnat/s-putima.ads, libgnat/s-putima.adb
2047 (Put_Image_Unknown): Add Type_Name parameter. Remove
2048 overly-detailed documentation of what it does; better to leave
2049 it open.
2050
2051 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2052
2053 * sem_ch3.adb (Build_Constrained_Array_Type,
2054 Build_Constrained_Discriminated_Type): Skip unnecessary loop
2055 iterations.
2056
2057 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2058
2059 * sem_aggr.adb (Build_Constrained_Itype): Move to Sem_Util.
2060 * sem_ch3.adb (Build_Subtype, Inherit_Predicate_Flags): Move...
2061 * sem_util.adb (Build_Subtype): Here. Add parameters for
2062 references to objects previously declared in enclosing scopes.
2063 (Inherit_Predicate_Flags): And here, because it is called by
2064 Build_Subtype.
2065 * sem_util.ads (Build_Overriding_Spec): Reorder alphabetically.
2066 (Build_Subtype): Moved from Sem_Ch3; comments updated.
2067 (Build_Constrained_Itype): Moved from Sem_Aggr; comments
2068 updated.
2069
2070 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2071
2072 * sem_aggr.adb (Case_Table_Type): Change index type from Nat to
2073 Pos.
2074
2075 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2076
2077 * sem_aggr.adb (Build_Constrained_Itype): Previously a declare
2078 block, now a separate procedure; the only change is that now
2079 New_Assoc_List might include components and an others clause,
2080 which we ignore (while we deal with discriminants exactly as we
2081 did before); extend a ??? comment about how this routine is
2082 different from the Build_Subtype
2083 (Resolve_Record_Aggregate): Create a constrained itype not just
2084 for the outermost record aggregate, but for its inner record
2085 aggregates as well.
2086
2087 2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
2088
2089 * checks.adb (Build_Discriminant_Checks): Build an explicit
2090 dereference when the type is an access type.
2091 * exp_atag.adb (Build_CW_Membership): Add explicit dereferences.
2092 (Build_Get_Access_Level): Likewise.
2093 (Build_Get_Alignment): Likewise.
2094 (Build_Inherit_Prims): Likewise.
2095 (Build_Get_Transportable): Likewise.
2096 (Build_Set_Size_Function): Likewise.
2097 * exp_ch3.adb (Build_Offset_To_Top_Function): Likewise.
2098 * exp_ch4.adb (Expand_Allocator_Expression): Likewise.
2099 (Expand_N_Indexed_Component ): Remove code dealing with implicit
2100 dereferences.
2101 (Expand_N_Selected_Component): Likewise.
2102 (Expand_N_Slice): Likewise.
2103 * exp_ch9.adb (Add_Formal_Renamings): Add explicit dereference.
2104 (Expand_Accept_Declarations): Likewise.
2105 (Build_Simple_Entry_Call): Remove code dealing with implicit
2106 dereferences.
2107 (Expand_N_Requeue_Statement): Likewise.
2108 * exp_disp.adb (Expand_Dispatching_Call): Build an explicit
2109 dereference when the controlling type is an access type.
2110 * exp_spark.adb (Expand_SPARK_N_Selected_Component): Delete.
2111 (Expand_SPARK_N_Slice_Or_Indexed_Component): Likewise.
2112 (Expand_SPARK): Do not call them.
2113 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): Delete.
2114 (Process_Indexed_Component): Call Implicitly_Designated_Type
2115 to get the designated type for an implicit dereference.
2116 (Analyze_Overloaded_Selected_Component): Do not insert an
2117 explicit dereference here.
2118 (Analyze_Selected_Component): Likewise.
2119 (Analyze_Slice): Call Implicitly_Designated_Type to get the
2120 designated type for an implicit dereference.
2121 * sem_ch8.adb (Has_Components): New predicate extracted from...
2122 (Is_Appropriate_For_Record): ...this. Delete.
2123 (Is_Appropriate_For_Entry_Prefix): Likewise.
2124 (Analyze_Renamed_Entry): Deal with implicit dereferences.
2125 (Find_Selected_Component): Do not insert an explicit dereference
2126 here. Call Implicitly_Designated_Type to get the designated type
2127 for an implicit dereference. Call Has_Components, Is_Task_Type
2128 and Is_Protected_Type directly. Adjust test for error.
2129 * sem_res.adb (Resolve_Implicit_Dereference): New procedure.
2130 (Resolve_Call): Call Resolve_Indexed_Component last.
2131 (Resolve_Entry): Call Resolve_Implicit_Dereference on the prefix.
2132 (Resolve_Indexed_Component): Call Implicitly_Designated_Type to
2133 get the designated type for an implicit dereference and
2134 Resolve_Implicit_Dereference on the prefix at the end.
2135 (Resolve_Selected_Component): Likewise.
2136 (Resolve_Slice): Likewise. Do not apply access checks here.
2137 * sem_util.ads (Implicitly_Designated_Type): Declare.
2138 * sem_util.adb (Copy_And_Maybe_Dereference): Simplify.
2139 (Implicitly_Designated_Type): New function.
2140 (Object_Access_Level): Fix typo.
2141 * sem_warn.adb (Check_Unset_Reference): Test Comes_From_Source
2142 on the original node.
2143
2144 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2145
2146 * exp_disp.adb: Minor reformatting.
2147 * exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Recognize
2148 aggregates of the Ada.Tags.Object_Specific_Data type as static.
2149 * sem_aggr.adb (Check_Static_Discriminated_Subtype): Deconstruct
2150 and do not call it from Build_Constrained_Itype.
2151
2152 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2153
2154 * exp_disp.adb (Make_Secondary_DT): Internally generated OSD
2155 tables are now constant.
2156
2157 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2158
2159 * exp_aggr.adb (Backend_Processing_Possible): Remove useless
2160 call.
2161
2162 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2163
2164 * opt.ads (Building_Static_Dispatch_Tables): Fix punctuation in
2165 comment.
2166
2167 2020-06-11 Arnaud Charlet <charlet@adacore.com>
2168
2169 * libgnat/s-stposu.ads (Root_Storage_Pool_With_Subpools,
2170 Root_Subpool): Mark with Preelaborable_Initialization.
2171
2172 2020-06-11 Javier Miranda <miranda@adacore.com>
2173
2174 * exp_ch9.adb (Expand_N_Conditional_Entry_Call): Replace call to
2175 New_Copy_List by calls to the new routine
2176 New_Copy_Separate_List.
2177 * sem_util.ads (New_Copy_Separate_List, New_Copy_Separate_Tree):
2178 New routines.
2179 * sem_util.adb (New_Copy_Separate_List, New_Copy_Separate_Tree):
2180 New routines.
2181 (New_Copy_Tree): Extend the machinery that detects syntactic
2182 nodes to handle lists of indentifiers with field More_Ids;
2183 otherwise such nodes are erroneously handled as semantic nodes.
2184 Copy aspect specifications attached to nodes.
2185 * sem_ch12.adb (Copy_Generic_Node): Protect reading attribute
2186 Etype.
2187
2188 2020-06-11 Bob Duff <duff@adacore.com>
2189
2190 * sem_ch13.adb (Analyze_Aspect_Specifications): Do not set the
2191 Has_Predicates flag when the Predicate_Failure aspect is seen.
2192 It is legal (but pointless) to use this aspect without a
2193 predicate. If we set the flag, we generate a half-baked
2194 Predicate procedure, and if that procedure is nested, it causes
2195 unnesting to crash.
2196
2197 2020-06-11 Bob Duff <duff@adacore.com>
2198
2199 * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove
2200 special processing of protected types, because those are handled
2201 by Build_Protected_Put_Image_Call.
2202 (Enable_Put_Image): Use the switch -gnatd_z to control enabling
2203 of Put_Image. Disable Put_Image for types in Remote_Types
2204 packages.
2205 * debug.adb: Document -gnatd_z switch.
2206 * exp_imgv.adb, libgnat/a-stteou.ads, opt.ads: Minor cleanups.
2207
2208 2020-06-11 Piotr Trojanek <trojanek@adacore.com>
2209
2210 * sem_warn.adb (Warn_On_Overlapping_Actuals): Add label to the
2211 outer loop and use it in the exit statement.
2212
2213 2020-06-11 Ghjuvan Lacambre <lacambre@adacore.com>
2214
2215 * exp_ch3.adb (Build_Assignment): Generate predicate check if
2216 subtype mark has predicate.
2217
2218 2020-06-11 Justin Squirek <squirek@adacore.com>
2219
2220 * sem_util.adb (Expand_N_Attribute_Reference): Use original
2221 nodes where required to avoid looking at the expanded tree.
2222
2223 2020-06-11 Arnaud Charlet <charlet@adacore.com>
2224
2225 * libgnat/a-catizo.ads, libgnat/a-nbnbin.ads,
2226 libgnat/a-nbnbre.ads, libgnat/a-nubinu.ads,
2227 libgnat/s-aoinar.ads, libgnat/s-aomoar.ads,
2228 libgnat/s-aotase.ads, libgnat/s-stopoo.ads: Remove aspects that
2229 we will not implement.
2230
2231 2020-06-11 Arnaud Charlet <charlet@adacore.com>
2232
2233 * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add,
2234 Atomic_Fetch_And_Subtract): Add fallback using
2235 compare-and-exchange, in case the integer type does not map to a
2236 machine type.
2237
2238 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2239
2240 * libgnat/s-aomoar.ads, libgnat/s-aomoar.adb: New files.
2241 * libgnat/s-atopar.ads: Move...
2242 * libgnat/s-aoinar.ads: Here.
2243 * libgnat/s-atopar.adb: Move...
2244 * libgnat/s-aoinar.adb: Here.
2245 * impunit.adb: Update list of runtime files.
2246 * Makefile.rtl (GNATRTL_NONTASKING_OBJS=): Adjust.
2247
2248 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2249
2250 * snames.ads-tmpl (Name_Characters_Assertion_Check,
2251 Name_Containers_Assertion_Check,
2252 Name_Interfaces_Assertion_Check, Name_IO_Assertion_Check,
2253 Name_Numerics_Assertion_Check, Name_Strings_Assertion_Check,
2254 Name_System_Assertion_Check): New constants.
2255 * types.ads (Characters_Assertion_Check,
2256 Containers_Assertion_Check, Interfaces_Assertion_Check,
2257 IO_Assertion_Check, Numerics_Assertion_Check,
2258 Strings_Assertion_Check, System_Assertion_Check): New constants.
2259 (All_Checks): Update accordingly.
2260
2261 2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
2262
2263 * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty
2264 if Etype of record component has predicates.
2265
2266 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2267
2268 * exp_ch3.adb (Build_Init_Statements): Implement the notion of
2269 "require late initialization".
2270
2271 2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
2272
2273 * sem_util.adb (Copy_And_Maybe_Dereference): Temporarily copy
2274 the parent node of the original tree when dereferencing.
2275
2276 2020-06-10 Ed Schonberg <schonberg@adacore.com>
2277
2278 * sem_warn.adb (Warn_On_Overlapping_Actuals): Add a warning when
2279 two actuals in a call overlap, both are composite types that may
2280 be passed by reference, and only one of them is writable.
2281
2282 2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
2283
2284 * exp_ch4.adb (Expand_N_In): Use an expression with actions to
2285 insert the PE raise statement for the Unchecked_Union case.
2286
2287 2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
2288
2289 * sem_ch4.adb (Analyze_Call): Use idiomatic condition.
2290 * sem_res.adb (Resolve_Call): Remove obsolete code.
2291
2292 2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
2293
2294 * sem_util.adb (Copy_And_Maybe_Dereference): New function.
2295 (Build_Access_Record_Constraint): Use it to copy the prefix.
2296 (Build_Actual_Array_Constraint): Likewise.
2297 (Build_Actual_Record_Constraint): Likewise.
2298
2299 2020-06-10 Bob Duff <duff@adacore.com>
2300
2301 * sem_prag.adb (Invariant): Remove the pragma removing code. It
2302 doesn't work to remove the pragma, because various flags are set
2303 during Build_Invariant_Procedure_Declaration and
2304 Build_Invariant_Procedure_Body that need to be set to avoid the
2305 spurious warnings.
2306 * exp_util.adb (Make_Invariant_Call): Avoid calling the
2307 invariant-checking procedure if the body is empty. This is an
2308 optimization.
2309
2310 2020-06-10 Vasiliy Fofanov <fofanov@adacore.com>
2311
2312 * doc/gnat_ugn/gnat_utility_programs.rst: Fix gnatmetric
2313 switches description.
2314
2315 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2316
2317 * repinfo-input.ads, repinfo-input.adb, repinfo.adb,
2318 repinfo.ads: Update header.
2319
2320 2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
2321
2322 * exp_aggr.adb (In_Place_Assign_OK): Do not necessarily return
2323 false for a type with discriminants.
2324 (Convert_To_Assignments): Use Parent_Node and Parent_Kind more
2325 consistently. In the in-place assignment case, first apply a
2326 discriminant check if need be, and be prepared for a rewritten
2327 aggregate as a result.
2328
2329 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2330
2331 * atree.adb, contracts.adb, debug.adb, freeze.adb,
2332 repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb,
2333 sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
2334 sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb,
2335 sem_prag.adb: Remove more references to ASIS.
2336
2337 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2338
2339 * libgnat/s-secsta.adb (Round_Up): Fix typo in exception
2340 message.
2341
2342 2020-06-10 Piotr Trojanek <trojanek@adacore.com>
2343
2344 * par-ch4.adb (P_Membership_Test): Fix typo in a grammar rule.
2345
2346 2020-06-10 Piotr Trojanek <trojanek@adacore.com>
2347
2348 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
2349 expansion of First and Last attributes.
2350
2351 2020-06-10 Piotr Trojanek <trojanek@adacore.com>
2352
2353 * exp_attr.adb (Expand_N_Attribute_Reference): Remove folding
2354 for Enum_Rep attribute.
2355 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
2356 duplicated code for folding Enum_Rep attribute.
2357 * sem_attr.adb (Eval_Attribute): Relax condition for folding
2358 Enum_Rep attribute; previously dead code is now executed when
2359 the attribute prefix is an enumeration literal; refine type in
2360 processing of Enum_Val.
2361
2362 2020-06-10 Javier Miranda <miranda@adacore.com>
2363
2364 * sem_ch3.adb (Analyze_Declarations): Adjust the machinery that
2365 takes care of late body overriding of initialize, adjust,
2366 finalize. Remove ASIS mode code.
2367
2368 2020-06-10 Ed Schonberg <schonberg@adacore.com>
2369
2370 * einfo.ads (Access_Subprogram_Wrapper): New attribute of
2371 Subprogram_Type entities. Denotes subprogram constructed for
2372 Access_To_Subprogram types that include pre- and postconditions.
2373 * einfo.adb: Subprogram bodies for Access_Subprogram_Wrapper.
2374 * exp_ch6.adb (Expand_Call): An indirect call through an
2375 Access_To_subprogram that includes contracts is rewritten as a
2376 call to the corresponding Access_ ubprogram_Wrapper. Handle
2377 derived types that inherit contract from parent.
2378 * sem_prag.adb (Build_Access_Subprogram_Wrapper): Build
2379 subprogram declaration for subprogram that incorporates the
2380 contracts of an Access_To_Subprogram type declaration. Build
2381 corresponding body and attach it to freeze actions for type.
2382 * sem_util.ads, sem_util.adb (Is_Access_Subprogram_Wrapper):
2383 Utility that uses signature of the subprogram to determine
2384 whether it is a generated wrapper for an Access_To_Subprogram
2385 type.
2386
2387 2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
2388
2389 * par-ch6.adb (P_Subprogram): Make sure the specification
2390 belongs to a procedure.
2391
2392 2020-06-10 Piotr Trojanek <trojanek@adacore.com>
2393
2394 * sem_ch13.adb (All_Membership_Choices_Static): Assert an AST
2395 property documented in sinfo.ads and simplify an excessive
2396 condition.
2397
2398 2020-06-10 Piotr Trojanek <trojanek@adacore.com>
2399
2400 * exp_attr.adb (Expand_N_Attribute_Reference): Fix a copy-paste
2401 mistake in comment.
2402 * sem_res.adb (Flag_Effectively_Volatile_Objects): Fix a type in
2403 the SPARK RM rule number.
2404 * exp_ch4.adb, sem_util.adb: Fix style in single line comments.
2405
2406 2020-06-10 Piotr Trojanek <trojanek@adacore.com>
2407
2408 * sem_aux.ads, sem_aux.adb (Get_Low_Bound): Remove.
2409
2410 2020-06-10 Arnaud Charlet <charlet@adacore.com>
2411
2412 * scn.adb (Determine_License): Remove.
2413
2414 2020-06-10 Justin Squirek <squirek@adacore.com>
2415
2416 * exp_ch3.adb (Expand_N_Object_Declaration): Add condition to
2417 handle processing of objects initialized by a call to a function
2418 return an anonymous access type.
2419 * exp_ch6.adb, exp_ch6.ads
2420 (Has_Unconstrained_Access_Discriminants): Moved to sem_util.adb
2421 (Needs_Result_Accessibility_Level): Moved to sem_util.adb
2422 * sem_util.adb, sem_util.ads
2423 (Has_Unconstrained_Access_Discriminants): Moved from exp_ch6.adb
2424 (Needs_Result_Accessibility_Level): Moved from exp_ch6.adb
2425 * sem_res.adb (Valid_Conversion): Add condition for the special
2426 case where the operand of a conversion is the result of an
2427 anonymous access type
2428
2429 2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
2430
2431 * par-ch6.adb (P_Subprogram): Reject duplicate subprogram
2432 declarations.
2433
2434 2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
2435
2436 * exp_ch6.adb (Insert_Post_Call_Actions): Deal with the context
2437 of an if-expression and with a call written in prefixed notation.
2438
2439 2020-06-10 Gary Dismukes <dismukes@adacore.com>
2440
2441 * einfo.ads: Minor reformatting of a comment.
2442 * exp_aggr.adb: Minor reformatting and a grammar correction.
2443 * exp_attr.adb: Minor reformatting and a typo fix in some
2444 comments.
2445 * sem_ch12.adb: Fix three typos in comments.
2446
2447 2020-06-09 Javier Miranda <miranda@adacore.com>
2448
2449 * sem_ch6.adb (New_Overloaded_Entity): Add missing call to check
2450 subtype conformance of overriding dispatching primitive.
2451 * sem_eval.adb (Subtypes_Statically_Match): Handle derivations
2452 of private subtypes.
2453 * libgnat/g-exptty.adb, libgnat/g-exptty.ads
2454 (Set_Up_Communications): Fix the profile since null-exclusion is
2455 missing in the access type formals.
2456 * sem_disp.ads (Check_Operation_From_Private_View): Adding
2457 documentation.
2458
2459 2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
2460
2461 * einfo.ads (XEINFO section): Update format description.
2462 (Is_Subprogram_Or_Entry): Move pragma to regular section.
2463 (Is_Subprogram_Or_Generic_Subprogram): Likewise.
2464 * xeinfo.adb (Get_B4): Rename to...
2465 (Get_B0): ...this.
2466 (Translate_Expr): New procedure extracted from...
2467 (XEinfo): ...here. Try to apply Get_B0 first and then
2468 call Translate_Expr to translate supported constructs.
2469
2470 2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
2471
2472 * exp_ch6.adb (Freeze_Subprogram): Deal with convention C_Family.
2473 * freeze.adb (Freeze_Profile): Likewise. Add missing guard.
2474 * sem_mech.adb (Set_Mechanisms): Likewise.
2475 * lib-xref.adb (Output_Import_Export_Info): Ditto for C_Variadic.
2476 * repinfo.adb (List_Subprogram_Info): Likewise.
2477 * sem_prag.adb (Set_Convention_From_Pragma): Move main checks for
2478 Stdcall to...
2479 (Process_Convention): ...here. Add checks for C_Variadic.
2480 * snames.ads-tmpl: Add Name_C_Variadic_0 .. Name_C_Variadic_16.
2481 Use consistent format for subtype declarations.
2482 (Convention_Id): Add Convention_C_Variadic_0 .. C_Variadic_16
2483 and move Convention_CPP up.
2484 (Convention_C_Family): New subtype of Convention_Id.
2485 (Convention_C_Variadic): Likewise.
2486 (Foreign_Convention): Use explicit upper bound.
2487 Add pragma Inline for Is_Configuration_Pragma_Name,
2488 Is_Function_Attribute_Name, Is_Internal_Attribute_Name
2489 and Is_Procedure_Attribute_Name.
2490 * snames.adb-tmpl (Get_Convention_Id): Deal with Name_Variadic_n.
2491 (Get_Convention_Name): Deal with Convention_Variadic_n.
2492 * types.h (Convention_Id): New typedef.
2493 * xsnamest.adb (Name2): New variable.
2494 (Is_Conv): New pattern.
2495 (Get_Subt1): Likewise.
2496 (Get_Subt2): Likewise.
2497 Output subtypes of Convention_Id into the C header file.
2498
2499 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2500
2501 * exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch9.adb,
2502 exp_disp.adb, exp_util.adb: Add comments related to errors that
2503 should be moved to semantic analysis. Also replace "?" with "??"
2504 in warning messages.
2505
2506 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2507
2508 * libgnat/a-strunb__shared.ads, libgnat/a-strunb__shared.adb
2509 (Reference, Unreference): No-op for Empty_Shared_String.
2510 Remove unneeded calls to Reference.
2511
2512 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2513
2514 * exp_ch5.adb (Expand_N_Assignment): Remove kludge for
2515 AI05-0087.
2516 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement
2517 AI05-0087 retroactively since it's a binding interpretation.
2518
2519 2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
2520
2521 * einfo.ads (Has_Foreign_Convention): Fix description.
2522 (Component_Alignment): Move around.
2523 (Has_DIC): Likewise.
2524 (Has_Interrupt_Handler): Likewise.
2525 (Has_Invariants): Likewise.
2526 (Is_Atomic_Or_VFA): Likewise.
2527 (Next_Index): Likewise.
2528 (Scope_Depth): Likewise.
2529 (Init_Component_Size): Likewise.
2530 (Init_Component_Location): Likewise.
2531 (Init_Size): Likewise.
2532 (Inline Pragmas for functions): Add Corresponding_Function,
2533 Corresponding_Procedure, Entry_Max_Queue_Lengths_Array,
2534 Finalize_Storage_Only, Has_DIC, Has_Invariants,
2535 Initialization_Statements, Is_Anonymous_Access_Type,
2536 Next_Stored_Discriminant, Address_Clause, Alignment_Clause,
2537 Float_Rep, Has_Foreign_Convention, Has_Non_Limited_View,
2538 Is_Constant_Object, Is_Discriminal, Is_Finalizer, Is_Null_State,
2539 Is_Prival, Is_Protected_Component, Is_Protected_Record_Type,
2540 Is_Subprogram_Or_Entry, Is_Task_Record_Type, Size_Clause,
2541 Stream_Size_Clause, Type_High_Bound, Type_Low_Bound, Known_*,
2542 Unknown_*.
2543 (Inline Pragmas for procedures): Add Set_Corresponding_Function,
2544 Set_Corresponding_Procedure, Set_Finalize_Storage_Only,
2545 Set_Float_Rep, Set_Initialization_Statements,
2546 Init_Normalized_First_Bit, Init_Normalized_Position,
2547 Init_Normalized_Position_Max.
2548 * einfo.adb (Was_Hidden): Move around.
2549 (Is_Packed_Array): Likewise.
2550 (Model_Emin_Value): Likewise.
2551 (Model_Epsilon_Value): Likewise.
2552 (Model_Mantissa_Value): Likewise.
2553 (Model_Small_Value): Likewise.
2554
2555 2020-06-09 Ed Schonberg <schonberg@adacore.com>
2556
2557 * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
2558 exact match between formal and actual for aspects Atomic and
2559 Volatile only for formal derived types.
2560
2561 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2562
2563 * exp_util.adb (Side_Effect_Free): Improve handling of
2564 N_Aggregate.
2565
2566 2020-06-09 Ghjuvan Lacambre <lacambre@adacore.com>
2567
2568 * sem_res.adb (Resolve_Qualified_Expression): Use Subtype_Mark
2569 type.
2570
2571 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2572
2573 * exp_aggr.adb (Max_Aggregate_Size): New function to factorize
2574 code.
2575 (Convert_To_Positional, Aggr_Size_OK): Use Max_Aggregate_Size.
2576
2577 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2578
2579 * sem_util.ads, sem_util.adb (Set_Debug_Info_Defining_Id): New.
2580 * exp_ch3.adb, exp_ch8.adb: Call Set_Debug_Info_Defining_Id when
2581 relevant.
2582
2583 2020-06-09 Justin Squirek <squirek@adacore.com>
2584
2585 * einfo.ads (Returns_By_Ref): Modify documentation to reflect
2586 that Returns_By_Ref can be applied to E_Subprogram_Type
2587 entities.
2588
2589 2020-06-09 Justin Squirek <squirek@adacore.com>
2590
2591 * exp_attr.adb (Expand_N_Attribute_Reference): Modify expansion
2592 of 'Overlaps_Storage to take into account zero sized arrays.
2593
2594 2020-06-09 Bob Duff <duff@adacore.com>
2595
2596 * bindo-graphs.adb, bindo-graphs.ads: For each invocation graph,
2597 record the corresponding library graph.
2598 * bindo-writers.adb (Write_Invocation_Graph_Vertex): Print the
2599 lib item name. Remove library graph parameters.
2600 * bindo-augmentors.adb, bindo-augmentors.ads,
2601 bindo-builders.adb, bindo-diagnostics.adb,
2602 bindo-diagnostics.ads, bindo-elaborators.adb: Remove library
2603 graph parameters.
2604
2605 2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
2606
2607 * checks.adb (Apply_Predicate_Check): Extend trick used for
2608 aggregates to qualified aggregates and object declarations
2609 * einfo.ads (Has_Own_DIC): Mention the underlying full view.
2610 (Has_Own_Invariants): Likewise.
2611 (Has_Predicates): Likewise.
2612 * exp_util.adb (Build_DIC_Procedure_Declaration): Do not deal
2613 with base types explicitly but with underlying full views.
2614 (Build_Invariant_Procedure_Declaration): Likewise.
2615 * sem_ch13.adb (Build_Predicate_Functions): Do not deal with
2616 the full view manually but call Propagate_Predicate_Attributes
2617 to propagate attributes to views.
2618 (Build_Predicate_Function_Declaration): Likewise.
2619 * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Build bodies
2620 for private full views with an underlying full view.
2621 (Build_Derived_Private_Type): Small comment tweak.
2622 (Complete_Private_Subtype): Call Propagate_Predicate_Attributes.
2623 (Process_Full_View): Do not deal with base types explicitly for
2624 DIC and Invariant attributes. Deal with underlying full views
2625 for them. Call Propagate_Predicate_Attributes and deal with
2626 underlying full views for them.
2627 * sem_ch7.adb (Preserve_Full_Attributes): Do not cross propagate
2628 DIC and Invariant attributes between full type and its base type.
2629 Propagate Predicate attributes from the full to the private view.
2630 * sem_ch9.adb (Analyze_Protected_Type_Declaration): Likewise.
2631 (Analyze_Task_Type_Declaration): Likewise.
2632 * sem_util.ads (Get_Views): Remove Full_Base parameter and add
2633 UFull_Typ parameter.
2634 (Propagate_Predicate_Attributes): New procedure.
2635 * sem_util.adb (Get_Views): Remove Full_Base parameter and add
2636 UFull_Typ parameter. Retrieve the Corresponding_Record_Type
2637 from the underlying full view, if any.
2638 (Propagate_DIC_Attributes): Remove useless tests.
2639 (Propagate_Invariant_Attributes): Likewise.
2640 (Propagate_Predicate_Attributes): New procedure.
2641
2642 2020-06-09 Justin Squirek <squirek@adacore.com>
2643
2644 * exp_ch5.adb (Expand_Predicated_Loop): Perserve the original
2645 loop identifier within the expansion.
2646
2647 2020-06-09 Bob Duff <duff@adacore.com>
2648
2649 * bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder enumerals
2650 to reflect the order of adding edges. Clarify comments.
2651 * bindo-graphs.adb (Add_Edge_Kind_Check): Correct the
2652 assertions. Reorder the "when"s to match the order of adding
2653 edges, and therefore the order of enumerals in type
2654 Library_Graph_Edge_Kind. Change names to "Old_" and "New_" to
2655 clarify what's what. Combine Invocation_Edge into the "<="
2656 test. Fix the "raise Program_Error" message, which was
2657 backwards.
2658
2659 2020-06-09 Bob Duff <duff@adacore.com>
2660
2661 * bindo-graphs.adb (Add_Edge_Kind_Check): Add the Image of the
2662 old and new Kinds to the raise Program_Error message.
2663
2664 2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
2665
2666 * sem_ch3.adb (Is_Visible_Component): Do not special-case
2667 bodies of instances.
2668
2669 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2670
2671 * exp_ch4.adb (Expand_N_In): Fix handling of null exclusion.
2672
2673 2020-06-09 Ed Schonberg <schonberg@adacore.com>
2674
2675 * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
2676 exact match between formal and actual for aspects Atomic,
2677 Atomic_Component, Volatile, and Volatile_Components.
2678
2679 2020-06-09 Bob Duff <duff@adacore.com>
2680
2681 * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
2682 the --no-separate-return switch of gnatpp.
2683
2684 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2685
2686 * sem_warn.adb (Warn_On_Constant_Valid_Condition): Add proper
2687 warning tag.
2688
2689 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2690
2691 * sem_type.adb (Covers): Fix implementation of AI05-0149.
2692 * sem_res.adb: Fix typo.
2693
2694 2020-06-09 Ed Schonberg <schonberg@adacore.com>
2695
2696 * exp_ch9.adb (Build_Master_Renaming): Make name in renaming
2697 declaration unique by adding a numeric suffix, to prevent
2698 accidental name conflict when several instantiations of a
2699 package containing an access_to_incomplete type that designate
2700 tasks appear in the same scope.
2701
2702 2020-06-09 Piotr Trojanek <trojanek@adacore.com>
2703
2704 * libgnarl/a-synbar.ads, libgnarl/a-synbar.adb,
2705 libgnarl/a-synbar__posix.ads, libgnarl/a-synbar__posix.adb
2706 (Ada.Synchronous_Barriers): Annotate with SPARK_Mode => Off.
2707
2708 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2709
2710 * sem_eval.adb (Eval_Relational_Op, Eval_String_Literal,
2711 Eval_Type_Conversion): Relax rules on relational operators and
2712 type conversions of static string types.
2713
2714 2020-06-09 Arnaud Charlet <charlet@adacore.com>
2715
2716 * sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type):
2717 Take Default_Value and Default_Component_Value into account.
2718 * sem_ch3.adb (Analyze_Object_Declaration): Update comment.
2719
2720 2020-06-09 Bob Duff <duff@adacore.com>
2721
2722 * bindo-graphs.adb (Add_Edge_Kind_Check): Disable failing part
2723 of the assertion.
2724
2725 2020-06-08 Steve Baird <baird@adacore.com>
2726
2727 * sem_prag.adb (Analyze_Pragma.Set_Ravenscar_Profile): Add
2728 appropriate call to Set_Restriction_No_Dependence if Ada_Version
2729 >= Ada2012 and Profile is either Ravenscar or a GNAT-defined
2730 Ravenscar variant (i.e., not Jorvik).
2731
2732 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2733
2734 * sem_ch5.adb: Fix typo.
2735 * sem_ch8.adb (Analyze_Renamed_Primitive_Operation): Check that
2736 the prefix of a prefixed view must be renamable as an object.
2737
2738 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2739
2740 * sem_cat.ads: Fix typo.
2741 * sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): Add
2742 handling of N_Attribute_Definition_Clause.
2743 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Call
2744 Validate_Remote_Access_To_Class_Wide_Type for Storage_Size and
2745 Storage_Pool.
2746 * sem_attr.adb, exp_ch4.adb: Update comments.
2747
2748 2020-06-08 Justin Squirek <squirek@adacore.com>
2749
2750 * sem_ch4.adb (Analyze_One_Call): Add extra condition to the
2751 predicate for deciding when a given controlled call is visible.
2752
2753 2020-06-08 Piotr Trojanek <trojanek@adacore.com>
2754
2755 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Port
2756 changes in frontend expander.
2757
2758 2020-06-08 Piotr Trojanek <trojanek@adacore.com>
2759
2760 * sem_ch13.adb (All_Membership_Choices_Static): Fix style.
2761
2762 2020-06-08 Steve Baird <baird@adacore.com>
2763
2764 * libgnat/s-rident.ads: Add Jorvik to the Profile_Name
2765 enumeration type. Add an element for Jorvik to the array
2766 aggregate that is the initial value of the constant
2767 Profile_Info.
2768 * targparm.adb (Get_Target_Parameters): Handle "pragma Profile
2769 (Jorvik);" similarly to "pragma Profile (Ravenscar);".
2770 * snames.ads-tmpl: Declare Name_Jorvik Name_Id. Unlike
2771 Ravenscar, Jorvik is not a pragma name and has no corresponding
2772 element in the Pragma_Id enumeration type; this means that its
2773 declaration must not occur between those of First_Pragma_Name
2774 and Last_Pragma_Name.
2775 * sem_prag.adb (Analyze_Pragma): Add call to
2776 Set_Ravenscar_Profile for Jorvik, similar to the existing calls
2777 for Ravenscar and the GNAT Ravenscar variants.
2778
2779 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2780
2781 * sem_ch8.adb (Analyze_Object_Renaming): Update Get_Object_Name
2782 to go through N_Qualified_Expression and N_Type_Conversion. Fix
2783 another case of wrong usage of E_Anonymous_Access_Type instead
2784 of Anonymous_Access_Kind.
2785 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Work
2786 on the original node.
2787 (Is_Aliased_View): Take into account N_Qualified_Expression.
2788
2789 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2790
2791 * sem_eval.adb (Eval_Type_Conversion): Fix handling of
2792 enumeration to integer conversions.
2793 * exp_attr.adb (Expand_N_Attribute_Reference
2794 [Attribute_Enum_Rep]): Remove special casing for first-level
2795 renaming, best left to the general folding mechanism via
2796 Eval_Type_Conversion.
2797
2798 2020-06-08 Eric Botcazou <ebotcazou@adacore.com>
2799
2800 * atree.adb (New_Copy): Do not clear Has_Dynamic_Range_Check.
2801 * checks.ads (Append_Range_Checks): Remove Flag_Node parameter.
2802 (Insert_Range_Checks): Likewise and remove default value of
2803 Static_Loc parameter.
2804 * checks.adb (Append_Range_Checks): Remove Flag_Node parameter.
2805 Do not test and set Has_Dynamic_Range_Check.
2806 (Insert_Range_Checks): Likewise and remove default value of
2807 Static_Loc parameter.
2808 * csinfo.adb (CSinfo): Remove 'L' from [NEUB]_Fields pattern and
2809 do not handle Has_Dynamic_Range_Check.
2810 * exp_ch5.adb (Expand_N_Assignment_Statement): Remove argument
2811 in call to Insert_Range_Checks.
2812 * sem_ch3.adb (Analyze_Subtype_Declaration): Do not fiddle
2813 with Has_Dynamic_Range_Check.
2814 (Process_Range_Expr_In_Decl): Remove argument in calls to
2815 Insert_Range_Checks and Append_Range_Checks.
2816 * sinfo.ads (Has_Dynamic_Range_Check): Delete.
2817 (Set_Has_Dynamic_Range_Check): Likewise.
2818 * sinfo.adb (Has_Dynamic_Range_Check): Delete.
2819 (Set_Has_Dynamic_Range_Check): Likewise.
2820 * treepr.adb (Print_Node): Do not print Has_Dynamic_Range_Check.
2821
2822 2020-06-08 Steve Baird <baird@adacore.com>
2823
2824 * sem_ch13.ads: Export new function
2825 All_Membership_Choices_Static.
2826 * sem_ch13.adb: Implement new function
2827 All_Membership_Choices_Static. This involves moving the
2828 functions Is_Static_Choice and All_Membership_Choices_Static,
2829 which were previously declared within the function
2830 Is_Predicate_Static, out to library level so that they can be
2831 called by the new function. The already-exisiting code in
2832 Is_Predicate_Static which became the body of
2833 All_Membership_Choices_Static is replaced with a call to the new
2834 function in order to avoid duplication.
2835 * exp_ch9.adb (Is_Pure_Barrier): Several changes needed to
2836 implement rules of AI12-0290 and RM D.7's definition of
2837 "pure-barrier-eligible". These changes include adding a call to
2838 the new function Sem_13.All_Membership_Choices_Static, as per
2839 the "see 4.9" in RM D.7(1.6/5).
2840
2841 2020-06-08 Richard Kenner <kenner@adacore.com>
2842
2843 * exp_unst.adb (Visit_Node): When visiting array attribute
2844 nodes, in addition to checking the type of Get_Referenced_Object
2845 of the prefix, also check the actual type of the prefix.
2846
2847 2020-06-08 Gary Dismukes <dismukes@adacore.com>
2848
2849 * checks.adb (Apply_Predicate_Check): Refine test for being in a
2850 subprogram body to account for no Corresponding_Body case,
2851 avoiding blowups arising due to other changes here.
2852 * exp_ch4.adb (Expand_N_Qualified_Expression): Apply predicate
2853 checks, if any, after constraint checks are applied.
2854 * sem_eval.ads (Check_Expression_Against_Static_Predicate): Add
2855 Check_Failure_Is_Error formal for conditionalizing warning vs.
2856 error messages.
2857 * sem_eval.adb (Check_Expression_Against_Static_Predicate):
2858 Issue an error message rather than a warning when the new
2859 Check_Failure_Is_Error formal is True. In the nonstatic or
2860 Dynamic_Predicate case where the predicate is known to fail,
2861 emit the check to ensure that folded cases get checks applied.
2862 * sem_res.adb (Resolve_Qualified_Expression): Call
2863 Check_Expression_Against_Static_Predicate, passing True for
2864 Check_Failure_Is_Error, to ensure we reject static predicate
2865 violations. Remove code that was conditionally calling
2866 Apply_Predicate_Check, which is no longer needed, and that check
2867 procedure shouldn't be called from a resolution routine in any
2868 case. Also remove associated comment about preventing infinite
2869 recursion and consistency with Resolve_Type_Conversion, since
2870 that handling was already similarly removed from
2871 Resolve_Type_Convesion at some point.
2872 (Resolve_Type_Conversion): Add passing of True for
2873 Check_Failure_Is_Error parameter on call to
2874 Check_Expression_Against_Static_Predicate, to ensure that static
2875 conversion cases that violate a predicate are rejected as
2876 errors.
2877
2878 2020-06-08 Piotr Trojanek <trojanek@adacore.com>
2879
2880 * snames.ads-tmpl (Name_SPARK): Restore after being deleted.
2881
2882 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2883
2884 * exp_aggr.adb, exp_ch6.adb, par-ch11.adb, par-ch6.adb,
2885 par-ch7.adb, par-prag.adb, restrict.adb, restrict.ads,
2886 scans.ads, scng.adb, sem_aggr.adb, sem_attr.adb, sem_ch11.adb,
2887 sem_ch12.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
2888 sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
2889 sem_res.adb, sem_util.adb, sem_util.ads, snames.ads-tmpl,
2890 gnatbind.adb, libgnat/s-rident.ads,
2891 doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
2892 Remove processing of SPARK_05 restriction.
2893 * gnat_rm.texi: Regenerate.
2894 * opt.ads: Remove processing of old checksum which is now
2895 handled by gprbuild directly.
2896
2897 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2898
2899 * sem_ch12.adb (Instantiate_Object): Relax rules related to null
2900 exclusions and generic objects. Handle all anonymous types
2901 consistently and not just E_Anonymous_Access_Type.
2902 * sem_ch8.adb (Analyze_Object_Renaming): Change wording so that
2903 it applies to both renamings and instantiations to avoid
2904 confusion.
2905
2906 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2907
2908 * libgnat/a-textio.ads (File_Mode): Fix typo in comment.
2909
2910 2020-06-08 Eric Botcazou <ebotcazou@adacore.com>
2911
2912 * sem_res.adb (Resolve_Indexed_Component): Do not give a warning
2913 for a nonatomic component of an atomic array which is subject to
2914 an address clause in Ada 2020 mode.
2915 (Resolve_Selected_Component): Likewise for an atomic record.
2916
2917 2020-06-08 Philippe Gil <gil@adacore.com>
2918
2919 * doc/gnat_ugn/the_gnat_compilation_model.rst: in "Handling
2920 Files with Multiple Units" part documents gnatname use for
2921 unmodified files handling and gnatchop use for files
2922 refactoring.
2923 * gnat_ugn.texi: Regenerate.
2924
2925 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2926
2927 * doc/gnat_rm/implementation_defined_attributes.rst:
2928 Enum_Rep/Enum_Val are standard Ada 202x attributes.
2929 * gnat_rm.texi: Regenerate.
2930
2931 2020-06-08 Javier Miranda <miranda@adacore.com>
2932
2933 * exp_aggr.adb (Safe_Component): Remove code that considers as
2934 unsafe components that are aggregates; such removal allows the
2935 frontend to proceed and evaluate if they are safe by means of
2936 invoking Safe_Aggregate.
2937
2938 2020-06-08 Piotr Trojanek <trojanek@adacore.com>
2939
2940 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply
2941 standard expansion to attributes First and Last.
2942
2943 2020-06-08 Piotr Trojanek <trojanek@adacore.com>
2944
2945 * exp_attr.adb, exp_util.ads, exp_util.adb (Get_Index_Subtype):
2946 Move from the body of Exp_Attr to Exp_Util and expose from the
2947 spec.
2948 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Replace
2949 duplicated code with a call to Get_Index_Subtype.
2950
2951 2020-06-08 Arnaud Charlet <charlet@adacore.com>
2952
2953 * sem_ch8.adb (Analyze_Object_Renaming): Simplify code by moving
2954 many special cases to Is_Object_Reference and removing others by
2955 only checking renamings coming from sources.
2956 * sem_util.adb (Is_Object_Reference): Update for AI12-0226 and
2957 add more regular handling of 'Priority. Remove special cases no
2958 longer needed now that we are only checking renamings coming
2959 from sources.
2960
2961 2020-06-08 Claire Dross <dross@adacore.com>
2962
2963 * libgnat/a-cofove.adb (Insert_Space): The computation of Index
2964 generates a spurious compiler warning about a value not being in
2965 range for a statically dead branch. Silence it using pragma
2966 Warnings.
2967
2968 2020-06-08 Bob Duff <duff@adacore.com>
2969
2970 * bindo-graphs.adb (function Add_Edge): Rename
2971 Add_Edge_With_Return to Add_Edge; we can tell it returns because
2972 it's a function, and overloading seems appropriate in this case.
2973 If Activates_Task=True, and we're not going to add a new edge
2974 because an existing Pred-->Succ edge already exists, then set
2975 Activates_Task to True on the preexisting edge. This ensures
2976 that the message:
2977 info: use pragma Restrictions (No_Entry_Calls_In_Elaboration_Code)
2978 appears when appropriate, no matter in what order the edges
2979 happened to be processed.
2980 (procedure Add_Edge): Remove redundant assertions.
2981 (Activates_Task): Other kinds of edges can have
2982 Activates_Task=True. For example, if we had a With_Edge and
2983 then an Invocation_Edge with Activates_Task=True, then the
2984 With_Edge has Activates_Task set to True.
2985 (Add_Edge_Kind_Check): New procedure to prevent other bugs of
2986 this nature. For example, if we were to sometimes call Add_Edge
2987 for a Spec_Before_Body_Edge followed by Add_Edge for a
2988 With_Edge, and sometimes in the other order, that would cause a
2989 similar bug to what we're fixing here.
2990 (Set_Is_Recorded_Edge): Val parameter is not used. Get rid of
2991 it.
2992 (Set_Activates_Task): New procedure to set the Activates_Task flag.
2993 * bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder the
2994 enumeration literals to facilitate Add_Edge_Kind_Check.
2995 * ali.adb (Known_ALI_Lines): The comment about "still available"
2996 was wrong. Fix that by erasing the comment, and encoding the
2997 relevant information in real code. Take advantage of Ada's full
2998 coverage rules by removing "others =>". Also DRY.
2999
3000 2020-06-08 Ed Schonberg <schonberg@adacore.com>
3001
3002 * par-ch12.adb (P_Formal_Derived_Type_Definition): Handle
3003 properly formal derived types that include aspect
3004 specifications, so that the "with" keyword appears twice in the
3005 formal type declaration.
3006 * sem_ch13.adb (Has_Generic_Parent): Return true if the type
3007 itself is a generic formal.
3008
3009 2020-06-08 Dmitriy Anisimkov <anisimko@adacore.com>
3010
3011 * socket.c (__gnat_minus_500ms): Remove
3012 IsWindowsVersionOrGreater from condition.
3013
3014 2020-06-08 Claire Dross <dross@adacore.com>
3015
3016 * libgnat/a-cfdlli.ads, libgnat/a-cfhama.ads,
3017 libgnat/a-cfhase.ads, libgnat/a-cforma.ads, libgnat/a-cforse.ads
3018 (Delete): Add Depends contract.
3019
3020 2020-06-08 Arnaud Charlet <charlet@adacore.com>
3021
3022 * snames.ads-tmpl (Name_Program_Error_Check,
3023 Name_Tasking_Check): New constants.
3024 * types.ads (Program_Error_Check, Tasking_Check): New constants.
3025 (All_Checks): Update accordingly.
3026
3027 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3028
3029 * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Use ??.
3030
3031 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3032
3033 * cstand.adb (Create_Standard): Update comments.
3034
3035 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3036
3037 * scng.adb (Scan): Fix typo to take into account all future
3038 versions of Ada.
3039 * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Reduce for
3040 now.
3041 * sem_attr.adb (Analyze_Attribute): Only allow 'Reduce under
3042 -gnatX.
3043 * snames.ads-tmpl (Name_Reduce): Update comment.
3044
3045 2020-06-05 Thomas Quinot <quinot@adacore.com>
3046
3047 * exp_disp.adb (Expand_Interface_Thunk): Add comment about
3048 gnatcov reliance on specific name used for thunks.
3049
3050 2020-06-05 Ed Schonberg <schonberg@adacore.com>
3051
3052 * sem_ch3.adb (Analyze_Subtype_Declaration): For scalar types,
3053 and for subtype declarations without a constraint, subtype
3054 inherits Atomic flag from base type.
3055
3056 2020-06-05 Piotr Trojanek <trojanek@adacore.com>
3057
3058 * doc/gnat_rm/implementation_defined_attributes.rst (Enum_Rep):
3059 Remove extra colon.
3060 * gnat_rm.texi: Regenerate.
3061
3062 2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
3063
3064 * atree.adb (New_Copy): Clear Has_Dynamic_Range_Check on
3065 subexpression nodes.
3066 * checks.adb (Append_Range_Checks): Assert that the node
3067 doesn't have the Has_Dynamic_Range_Check flag set.
3068 (Insert_Range_Checks): Likewise.
3069 * exp_ch3.adb (Expand_N_Subtype_Indication): Do not apply
3070 range checks for a full type or object declaration.
3071 * sem_ch3.ads: Move with and use clauses for Nlists to...
3072 (Process_Range_Expr_In_Decl): Change default to No_List for
3073 the Check_List parameter.
3074 * sem_ch3.adb: ...here.
3075 (Process_Range_Expr_In_Decl): Likewise. When the insertion
3076 node is a declaration, only insert on the list if is present
3077 when the declaration involves discriminants, and only insert
3078 on the node when there is no list otherwise.
3079
3080 2020-06-05 Piotr Trojanek <trojanek@adacore.com>
3081
3082 * sem_aggr.adb (Resolve_Record_Aggregate): Create the
3083 N_Aggregate node with its Expressions field set to No_List and
3084 not to an empty list.
3085
3086 2020-06-05 Dmitriy Anisimkov <anisimko@adacore.com>
3087
3088 * libgnat/s-os_lib.adb (Is_Dirsep): Moved from Build_Path to
3089 package level to reuse.
3090 (Normalize_Pathname.Final_Value): Reduce 2 'if' statements to
3091 one.
3092 (Normalize_Pathname.Fill_Directory): New procedure instead of
3093 function Get_Directory. Remove slash to backslash conversion and
3094 drive letter uppercasing on Windows.
3095
3096 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3097
3098 * sem.adb (Assert_Done): Relax check for main unit, as it was
3099 overzealous in the case of the main unit itself.
3100
3101 2020-06-05 Piotr Trojanek <trojanek@adacore.com>
3102
3103 * exp_ch3.adb, sem_ch8.adb, sem_util.adb: Use Is_Incomplete_Type
3104 to make the code easier to read.
3105
3106 2020-06-05 Piotr Trojanek <trojanek@adacore.com>
3107
3108 * einfo.adb: Minor reformatting.
3109 * sem_util.adb (Has_Full_Default_Initialization,
3110 Is_Partially_Initialized_Type, Caller_Known_Size_Record,
3111 Large_Max_Size_Mutable): Iterate with
3112 First_Component/Next_Component; rename Ent to Comp.
3113
3114 2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
3115
3116 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use
3117 Expr_Rep_Value instead of Expr_Value to obtain the equivalent
3118 integer value.
3119 * sem_eval.ads (Expr_Value): Document more supported cases.
3120 * sem_eval.adb (Expr_Rep_Value): Copy missing cases from
3121 Exp_Value.
3122
3123 2020-06-05 Bob Duff <duff@adacore.com>
3124
3125 * rtsfind.adb, rtsfind.ads: Move subtypes of RTU_Id into package
3126 body, because they are not needed by clients. Change "Child_" to
3127 "Descendant", because grandchildren and great grandchildren are
3128 involved. Replace all the repetitive comments with a single
3129 concise one. Change the parent subtypes to be more consistent;
3130 use the most specific parent.
3131
3132 2020-06-05 Piotr Trojanek <trojanek@adacore.com>
3133
3134 * rtsfind.ads, rtsfind.adb (Is_Text_IO_Special_Package): Moved
3135 from the GNATprove backend to the frontend.
3136
3137 2020-06-05 Yannick Moy <moy@adacore.com>
3138
3139 * sem_util.ads: Add comment about function only used in
3140 CodePeer.
3141
3142 2020-06-05 Ed Schonberg <schonberg@adacore.com>
3143
3144 * sem_ch9.adb, (Analyze_Task_Body): After analying the task
3145 body, indicate that all local variables have no delayed aspects.
3146 This prevents improper later calls to
3147 Check_Aspect_At_End_Of_Declarations, that would happen when the
3148 constructed task_procedure body (generated during expansion) is
3149 analyzed. The legality of aspect specifications that may appear
3150 on local declarations has already been established, and it is in
3151 general not possible to recheck them properly during expansion,
3152 when visibility may not be fully established.
3153
3154 2020-06-05 Piotr Trojanek <trojanek@adacore.com>
3155
3156 * libgnat/a-cofuve.ads (First): Add Global contract.
3157
3158 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3159
3160 * sem_prag.adb (Set_Convention_From_Pragma): Set the convention
3161 of anonymous access array components.
3162
3163 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3164
3165 * libgnat/a-calfor.ads, libgnat/a-catizo.ads,
3166 libgnat/a-catizo.adb (Local_Time_Offset, Local_Image): New.
3167 (UTC_Time_Offset): Now a renaming of Local_Time_Offset.
3168
3169 2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
3170
3171 * sem_ch3.adb (Available_Full_View): New function returning
3172 either the full or the underlying full view.
3173 (Build_Full_Derivation): Add guard for the full view.
3174 (Copy_And_Build): Retrieve the underlying full view, if any,
3175 also if deriving a completion.
3176 (Build_Derived_Private_Type): Use Available_Full_View throughout
3177 to decide whether a full derivation must be done.
3178
3179 2020-06-05 Bob Duff <duff@adacore.com>
3180
3181 * exp_attr.adb, exp_ch11.adb, exp_imgv.adb, exp_tss.ads,
3182 par-ch4.adb, sem_attr.adb, sem_util.ads: Misc cleanup.
3183
3184 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3185
3186 * libgnat/a-nudira.ads, libgnat/a-nudira.adb (Random): New
3187 function.
3188
3189 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3190
3191 * sem_attr.ads (Attribute_Impl_Def): Remove Enum_Rep/Val.
3192 * sem_attr.adb (Attribute_20): New, move Enum_Rep/Val here.
3193 (Analyze_Attribute): Take Attribute_20 into account.
3194
3195 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3196
3197 * restrict.ads (Unit_Array): Add a-direct.
3198
3199 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3200
3201 * libgnat/s-stopoo.ads: Mark package Pure and leave room for
3202 Nonblocking once this aspect is supported.
3203
3204 2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
3205
3206 * exp_attr.adb (Expand_N_Attribute_Reference) <Valid_Scalars>:
3207 Set the No_Truncation flag on the unchecked conversion built for
3208 scalar types.
3209
3210 2020-06-05 Bob Duff <duff@adacore.com>
3211
3212 * einfo.adb, einfo.ads, exp_util.adb: Remove Invariants_Ignored
3213 flag.
3214 * sem_prag.adb (Invariant): Instead of setting a flag to be
3215 checked elsewhere, remove the pragma as soon as it is analyzed
3216 and checked for legality.
3217
3218 2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
3219
3220 * checks.ads (Apply_Length_Check): Rename Ck_Node parameter to
3221 Expr.
3222 (Apply_Range_Check): Likewise.
3223 (Get_Range_Checks): Likewise.
3224 * checks.adb (Apply_Float_Conversion_Check): Likewise.
3225 (Apply_Selected_Length_Checks): Likewise.
3226 (Apply_Selected_Range_Checks): Likewise.
3227 (Guard_Access): Likewise.
3228 (Selected_Length_Checks): Likewise. Also avoid shadowing in
3229 child procedures.
3230 (Selected_Range_Checks): Likewise.
3231
3232 2020-06-05 Arnaud Charlet <charlet@adacore.com>
3233
3234 * par-ch3.adb, par-ch4.adb, scng.adb, sem_aggr.adb,
3235 sem_ch10.adb, sem_ch12.adb, sem_prag.adb: Update wording: change
3236 Ada_2020 to Ada 2020 in comments and mention -gnat2020 instead
3237 of -gnatX switch.
3238
3239 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3240
3241 * libgnat/i-c.ads (long_long, unsigned_long_long): New
3242 definitions.
3243
3244 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3245
3246 * Makefile.rtl: add a-tasini object
3247 * impunit.adb (Non_Imp_File_Names_95): Add s-tasini.
3248 * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: New files.
3249 * libgnarl/s-taskin.ads (Global_Initialization_Handler): New.
3250 * libgnarl/s-tassta.adb (Task_Wrapper): Call
3251 Global_Initialization_Handler if non null.
3252
3253 2020-06-04 Ed Schonberg <schonberg@adacore.com>
3254
3255 * sem_ch12.adb (Build_Suprogram_Body_Wrapper,
3256 Build_Subprogram_Decl_Wrapper): New suprograms, to create the
3257 wrappers needed to implement contracts on formsl subprograms at
3258 the point of instantiation.
3259 (Build_Subprogram_Wrappers): New subprogram within
3260 Analyze_Associations, calls the above when the formal subprogram
3261 has contracts, and expansion is enabled.
3262 (Instantiate_Formal_Subprogram): If the actual is not an entity,
3263 such as a function attribute, or a synchronized operation,
3264 create a function with an internal name and call it within the
3265 wrapper.
3266 (Analyze_Generic_Formal_Part): Analyze contracts at the end of
3267 the list of formal declarations.
3268 * sem_prag.adb (Analyze_Pre_Post_Condtion): In Ada_2020 the
3269 aspect and corresponding pragma can appear on a formal
3270 subprogram declaration.
3271 (Find_Related_Declaration_Or_Body): Ditto.
3272
3273 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3274
3275 * exp_ch7.adb (Make_Final_Call): Set the type of the object, if
3276 it is unanalyzed, before calling Convert_View on it.
3277
3278 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3279
3280 * adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of
3281 Disable_FE_Inline_Always.
3282
3283 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3284
3285 * exp_ch7.adb (Make_Final_Call): Add missing guard.
3286 * sem_ch3.adb (Copy_And_Build): Adjust recursive call for
3287 private types.
3288 (Build_Derived_Private_Type): Deal with underlying full views.
3289
3290 2020-06-04 Bob Duff <duff@adacore.com>
3291
3292 * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
3293 libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
3294 libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
3295 libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
3296 libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
3297 libgnat/a-stouut.adb, libgnat/a-stouut.ads,
3298 libgnat/a-stteou.ads, libgnat/s-putaim.adb,
3299 libgnat/s-putaim.ads, libgnat/s-putima.adb, libgnat/s-putima.ads
3300 (Ada.Strings.Text_Output and children, System.Put_Images): New
3301 runtime support for Put_Image.
3302 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add
3303 exp_put_image.o.
3304 * exp_put_image.adb, exp_put_image.ads: New compiler package
3305 that generates calls to runtime routines that implement
3306 Put_Image.
3307 * Makefile.rtl: Add object files for Ada.Strings.Text_Output and
3308 children and System.Put_Images.
3309 * aspects.adb: Simplify initialization of Canonical_Aspect.
3310 * aspects.ads: Improve documentation. Add Aspect_Put_Image.
3311 * exp_attr.adb: Add support for Put_Image, by calling routines
3312 in Exp_Put_Image.
3313 * sem_util.adb (Is_Predefined_Dispatching_Operation): Return
3314 True for new TSS_Put_Image operation.
3315 * exp_ch3.adb: For tagged types, build a dispatching
3316 TSS_Put_Image operation by calling routines in Exp_Put_Image.
3317 * exp_disp.adb, exp_disp.ads: Make TSS_Put_Image be number 10,
3318 adjusting other operations' numbers after 10. We choose 10
3319 because that's the last number shared by all runtimes.
3320 * exp_strm.adb: Use named notation as appropriate.
3321 * exp_cg.adb, exp_tss.ads: Add TSS_Put_Image.
3322 * libgnat/a-tags.ads: Modify Max_Predef_Prims for the new
3323 TSS_Put_Image.
3324 * impunit.adb: Add new runtime packages.
3325 * rtsfind.adb, rtsfind.ads: Add support for
3326 Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
3327 System.Put_Images.
3328 * sem_attr.adb: Error checking for Put_Image calls.
3329 * sem_ch12.adb (Valid_Default_Attribute): Support for passing
3330 Put_Image as a generic formal parameter.
3331 * sem_ch13.adb: Analysis of Put_Image aspect. Turn it into a
3332 Put_Image attribute definition clause.
3333 * sem_ch8.adb (Analyze_Subprogram_Renaming): Support for
3334 renaming of the Put_Image attribute.
3335 * snames.adb-tmpl: Fix comments.
3336 * snames.ads-tmpl (Name_Put_Image): New Name_Id.
3337 (Attribute_Put_Image): New Attribute_Id.
3338 * tbuild.adb, tbuild.ads (Make_Increment): New utility.
3339
3340 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3341
3342 * exp_attr.adb (xpand_N_Attribute_Reference) <Input>: Call
3343 Find_Inherited_TSS to look up the Stream_Read TSS.
3344 <Output>: Likewise for the Stream_Write TSS.
3345 * exp_ch7.adb (Make_Final_Call): Call Underlying_Type on
3346 private types to account for underlying full views.
3347 * exp_strm.ads (Build_Record_Or_Elementary_Input_Function):
3348 Remove Use_Underlying parameter.
3349 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
3350 Likewise and adjust accordingly.
3351 * exp_tss.adb (Find_Inherited_TSS): Deal with full views.
3352 Call Find_Inherited_TSS recursively on the parent type if
3353 the base type is a derived type.
3354 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Take
3355 into account underlying full views for derived types.
3356 * sem_ch3.adb (Copy_And_Build): Look up the underlying full
3357 view only for a completion. Be prepared for private types.
3358 (Build_Derived_Private_Type): Build an underlying full view
3359 for a completion in the general case too.
3360
3361 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3362
3363 * back_end.adb, opt.ads, par-prag.adb, sem_ch5.adb,
3364 sem_prag.adb, sinfo.adb, sinfo.ads, snames.ads-tmpl,
3365 doc/gnat_rm/implementation_defined_pragmas.rst: Remove
3366 experimental support for OpenACC.
3367 * gcc-interface/misc.c, gcc-interface/trans.c,
3368 gcc-interface/lang.opt: Ditto.
3369 * gnat_rm.texi: Regenerate.
3370
3371 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3372
3373 * checks.adb (Generate_Discriminant_Check): Remove obsolete
3374 comment.
3375
3376 2020-06-04 Gary Dismukes <dismukes@adacore.com>
3377
3378 * par-ch3.adb (P_Identifier_Declarations): Add parsing of object
3379 renamings that have neither a subtype_mark nor an
3380 access_definition. Issue an error if the version is earlier than
3381 Ada_2020, and suggest using -gnatX.
3382 * sem_ch8.adb (Analyze_Object_Renaming): Handle
3383 object_renaming_declarations that don't have an explicit
3384 subtype. Errors are issued when the name is inappropriate or
3385 ambiguous, and otherwise the Etype of the renaming entity is set
3386 from the Etype of the renamed object.
3387 * sem_util.adb (Has_Null_Exclusion): Allow for the case of no
3388 subtype given in an N_Object_Renaming_Declaration.
3389 * sprint.adb (Sprint_Node_Actual): Handle printing of
3390 N_Object_Renaming_Declarations that are specified without an
3391 explicit subtype.
3392
3393 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3394
3395 * sinfo.ads (N_Delta_Aggregate): Document Etype field.
3396 (N_Case_Expression): Likewise.
3397 (Is_Syntactic_Field) <N_Quantified_Expression>: Adjust.
3398 <N_Case_Expression>: Likewise.
3399
3400 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3401
3402 * adaint.c: Avoid redefining IS_DIR_SEPARATOR macro.
3403
3404 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3405
3406 * sem.adb (Walk_Library_Items): Defer processing of main spec
3407 after all other specs and before processing bodies.
3408
3409 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3410
3411 * bindgen.adb (Gen_Adafinal): Adafinal is convention Ada, not C.
3412
3413 2020-06-04 Ed Schonberg <schonberg@adacore.com>
3414
3415 * sinput.adb (Sloc_Range): Ignore node in the tree if it appears
3416 in a unit different from that of the node whose Sloc range we
3417 are computing. This is necessary when computing the source range
3418 of a subprogram body whose declaration includes a pre- or
3419 postcondition, because declaration and body may appear in
3420 different units, and the expanded code for the body includes
3421 copies of the contract code.
3422
3423 2020-06-04 Alexandre Oliva <oliva@adacore.com>
3424
3425 * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
3426 dumpbase-ext. Mark auxbase and auxbase-strip for removal.
3427
3428 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3429
3430 * sem_attr.adb (Resolve_Attribute) <Access>: Do not generate
3431 the secondary message about a missing pragma if the convention
3432 of the prefix is Intrinsic.
3433 * sem_ch12.adb (Instantiate_Formal_Subprogram): Only set the
3434 Convention and the Is_Inlined flag on a null procedure.
3435
3436 2020-06-04 Justin Squirek <squirek@adacore.com>
3437
3438 * sem_ch6.adb (Check_Return_Obj_Accessibility): Change to
3439 Check_Return_Construct_Accessibility to better reflect its
3440 purpose. Add loop to properly obtain the object declaration
3441 from an expanded extended return statement and add calls to get
3442 the original node for associated values. Also, avoid checks when
3443 the return statement being examined comes from an internally
3444 generated function.
3445
3446 2020-06-04 Dmitriy Anisimkov <anisimko@adacore.com>
3447
3448 * adaint.c (__gnat_is_absolute_path): Check for directory
3449 separator after drive and colon.
3450 (IS_DIR_SEPARATOR): Define new inline substitution.
3451
3452 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3453
3454 * checks.ads: Update documentation about range checks and fix
3455 minor other things.
3456
3457 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3458
3459 * sem_ch3.adb (Array_Type_Declaration): Apply special handling
3460 of private index types to generic packages and restrict it to
3461 index types defined in the current scope.
3462
3463 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3464
3465 * libgnat/a-exextr.adb (Global_Unhandled_Action): New global
3466 variable.
3467 (Notify_Exception): Take into account Global_Unhandled_Action
3468 and fix latent race condition.
3469 (Exception_Action): Mark Favor_Top_Level so that variables can
3470 be atomic.
3471 (Global_Action): Mark atomic to remove the need for a lock.
3472 * libgnat/g-excact.ads, libgnat/g-excact.adb
3473 (Register_Global_Unhandled_Action): New procedure.
3474 (Register_Global_Action): Remove lock.
3475 * libgnat/s-stalib.ads (Raise_Action): Mark Favor_Top_Level to
3476 be compatible with Exception_Action.
3477 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix logic wrt
3478 Volatile entities and entities with an address clause: the code
3479 did not match the comment/intent.
3480
3481 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3482
3483 * comperr.adb (Compiler_Abort): Update URL and bug report
3484 instructions.
3485
3486 2020-06-04 Steve Baird <baird@adacore.com>
3487
3488 * libgnat/s-imgrea.ads: Declare a named number
3489 Max_Real_Image_Length with value 5200. Provide a comment
3490 explaining why this value was chosen.
3491 * libgnat/s-imgrea.adb (Set_Image_Real): Increase the upper
3492 bound of the local String variable Digs to
3493 Max_Real_Image_Length.
3494 * libgnat/a-tiflau.adb (Put): Increase the upper bound of the
3495 local String variable Buf to Max_Real_Image_Length.
3496 (Puts): Increase the upper bound of the local String variable
3497 Buf to Max_Real_Image_Length.
3498
3499 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3500
3501 * libgnarl/a-dynpri.adb, libgnarl/a-taside.adb,
3502 libgnarl/a-taster.adb, libgnarl/s-interr.adb,
3503 libgnarl/s-interr__sigaction.adb, libgnarl/s-taasde.adb,
3504 libgnarl/s-taenca.adb, libgnarl/s-taenca.ads,
3505 libgnarl/s-taprop.ads, libgnarl/s-taprop__hpux-dce.adb,
3506 libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
3507 libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
3508 libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
3509 libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
3510 libgnarl/s-tasque.adb, libgnarl/s-tasque.ads,
3511 libgnarl/s-tasren.adb, libgnarl/s-tasren.ads,
3512 libgnarl/s-tassta.adb, libgnarl/s-tasuti.adb,
3513 libgnarl/s-tasuti.ads, libgnarl/s-tpoben.adb,
3514 libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb,
3515 libgnarl/s-tposen.adb, libgnat/s-parame.ads,
3516 libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads,
3517 libgnat/s-parame__vxworks.ads: Remove references to Single_Lock
3518 and Global_Lock.
3519
3520 2020-06-04 Arnaud Charlet <charlet@adacore.com>
3521
3522 * libgnat/s-atopar.adb, libgnat/s-atopex.adb: Use Object_Size
3523 instead of Size, otherwise many derived types will be rejected
3524 (e.g. a type with a 14 bits 'Size and a 16 bits 'Object_Size).
3525
3526 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3527
3528 * sem_ch12.adb (Copy_Generic_Node): Add special handling for a
3529 conversion between access types.
3530
3531 2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
3532
3533 * sem_ch12.adb (Check_Generic_Actuals): Also restore the proper
3534 views of the actuals of the parent instances if the formals are
3535 used as actuals of the children.
3536 (Instantiate_Type): Add comment.
3537
3538 2020-06-04 Gary Dismukes <dismukes@adacore.com>
3539
3540 * sem_ch12.adb: Minor editorial fixes.
3541
3542 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3543
3544 * sem_ch12.adb (Denotes_Previous_Actual): Delete.
3545 (Check_Generic_Actuals): Do not special case array types whose
3546 component type denotes a previous actual. Do not special case
3547 access types whose base type is private.
3548 (Check_Private_View): Remove code dealing with secondary types.
3549 Do not switch the views of an array because of its component.
3550 (Copy_Generic_Node): Add special handling for a comparison
3551 operator on array types.
3552 (Instantiate_Type): Do not special case access types whose
3553 designated type is private.
3554 (Set_Global_Type): Do not special case array types whose
3555 component type is private.
3556
3557 2020-06-03 Justin Squirek <squirek@adacore.com>
3558
3559 * sem_ch10.adb (Process_Body_Clauses): Add loop to interate
3560 through all prefixes in a use_type clause so that all packages
3561 in the expanded name get examined for effectiveness.
3562
3563 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3564
3565 * sem_ch12.adb (Check_Private_View): Clean up implementation of
3566 second main case, when the generic sees the private declaration.
3567
3568 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3569
3570 * libgnat/a-nbnbin.ads: Minor reformatting.
3571 * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb (Is_Valid): Add
3572 convention Intrinsic. Add detection of uninitialized big reals.
3573
3574 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3575
3576 * sem_util.ads, sem_util.adb (Side_Effect_Free_Statements,
3577 Side_Effect_Free_Loop): New functions.
3578 (Has_Non_Null_Statements): Consider N_Call_Marker as a null
3579 statement.
3580 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Call
3581 Set_Is_Null_Loop even inside a generic instantiation.
3582 (Analyze_Loop_Statement): Mark for removal loops with no side
3583 effects.
3584
3585 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3586
3587 * opt.ads (Allow_Integer_Address): Fix typo in comment.
3588 * stand.ads (Standard_Address): New entity.
3589 * cstand.adb (Create_Standard): Create it.
3590 * sem_ch4.adb (Operator_Check): Convert the operands of an
3591 operation with addresses and integers to Standard_Address
3592 if pragma Allow_Integer_Address is in effect.
3593
3594 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3595
3596 * libgnat/s-atopar.adb (Atomic_Fetch_And_Add): Make use of an
3597 equivalent static expression.
3598 (Atomic_Fetch_And_Subtract): Likewise.
3599 (Is_Lock_Free): Likewise.
3600 * libgnat/s-atopex.adb (Atomic_Exchange): Likewise.
3601 (Atomic_Compare_And_Exchange): Likewise.
3602 (Is_Lock_Free): Likewise.
3603
3604 2020-06-03 Vadim Godunko <godunko@adacore.com>
3605
3606 * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
3607 libgnat/s-parame__hpux.ads: Fix typos.
3608
3609 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3610
3611 * exp_util.adb (Remove_Side_Effects): For a type conversion, do
3612 not remove the side effects of the expression only if it is of
3613 universal integer type.
3614
3615 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3616
3617 * libgnat/s-aotase.ads, libgnat/s-atoope.ads,
3618 libgnat/s-atopar.ads, libgnat/s-atopex.ads: Update header.
3619
3620 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3621
3622 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Also fold the
3623 conversion for literals of enumeration types.
3624
3625 2020-06-03 Yannick Moy <moy@adacore.com>
3626
3627 * rtsfind.adb (Load_RTU): Correctly set/reset global variable to
3628 ignore SPARK_Mode in instances around loading.
3629 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Accept Off
3630 without prior On.
3631 * sem_ch7.adb (Analyze_Package_Body_Helper): Likewise.
3632 * sem_prag.adb (Analyze_Pragma): Always take into account
3633 SPARK_Mode Off.
3634
3635 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3636
3637 * frontend.adb (Frontend): Call (dummy for now) tree checker.
3638 * debug.adb: Reserve -gnatd_V for the tree checker.
3639 * vast.ads, vast.adb: New files.
3640 * gcc-interface/Make-lang.in: Add vast.o.
3641
3642 2020-06-03 Justin Squirek <squirek@adacore.com>
3643
3644 * libgnat/a-cborse.adb, libgnat/a-cihase.adb,
3645 libgnat/a-ciorse.adb, libgnat/a-coorse.adb: Modified to use
3646 'Unrestricted_Access in certain cases where static accessibility
3647 errors were triggered.
3648 * exp_ch6.adb (Expand_Simple_Return_Statement): Add generation
3649 of dynamic accessibility checks as determined by
3650 Is_Special_Aliased_Formal_Access.
3651 * sem_attr.adb (Resolve_Attribute): Add call to
3652 Is_Special_Aliased_Formal_Access to avoid performing static
3653 checks where dynamic ones are required.
3654 * sem_ch6.adb (Check_Return_Obj_Accessibility): Handle renamed
3655 objects within component associations requiring special
3656 accessibility checks.
3657 * sem_util.adb, sem_util.ads (Is_Special_Aliased_Formal_Access):
3658 Created to detect the special case where an aliased formal is
3659 being compared against the level of an anonymous access return
3660 object.
3661 (Object_Access_Level): Remove incorrect condition leading to
3662 overly permissive accessibility levels being returned on
3663 explicitly aliased parameters.
3664
3665 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3666
3667 * einfo.ads (Enum_Pos_To_Rep): Adjust description.
3668 * exp_attr.adb (Expand_N_Attribute_Reference) <Pred>:
3669 Reimplement in the case of an enumeration type with non-standard
3670 but contiguous representation.
3671 <Succ>: Likewise.
3672 <Val>: Likewise.
3673 * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Count the
3674 literals in the first loop. If the representation is
3675 contiguous, just build the index type of the array type and set
3676 Enum_Pos_To_Rep to it.
3677
3678 2020-06-03 Gary Dismukes <dismukes@adacore.com>
3679
3680 * exp_attr.adb (Expand_Loop_Entry_Attribute): Revise loop that
3681 resets the scopes of entities associated with Loop_Id to the
3682 scope of the new function, so the resetting is not restricted to
3683 itypes, but excludes loop parameters and the function entity
3684 itself. However, this fix is believed to be incomplete and a ???
3685 comment is added to indicate that.
3686
3687 2020-06-03 Bob Duff <duff@adacore.com>
3688
3689 * libgnat/s-regexp.ads: Fix comment
3690
3691 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3692
3693 * exp_attr.adb (Expand_N_Attribute_Reference) <Enum_Rep>:
3694 In the case of an enumeration type, do an intermediate
3695 conversion to a small integer type. Remove useless stuff.
3696 <Finalization_Size>: Do not hardcode Universal_Integer and
3697 fix a type mismatch in the assignment to the variable.
3698 <Max_Size_In_Storage_Elements>: Likewise.
3699 <From_Any>: Do not redefine the Ptyp local variable.
3700 <To_Any>: Likewise.
3701 <TypeCode>: Likewise.
3702 <Pos>: Small tweaks.
3703 <Val>: For an enumeration type with standard representation,
3704 apply the range check to the expression of a convertion to
3705 Universal_Integer, if any. For an integer type, expand to
3706 a mere conversion.
3707
3708 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3709
3710 * libgnat/s-rannum.adb (Random_Discrete): In the 32-bit case,
3711 use the same linear implementation as in the 64-bit case when
3712 the type has a contiguous representation.
3713
3714 2020-06-03 Gary Dismukes <dismukes@adacore.com>
3715
3716 * sem_util.adb (Build_Class_Wide_Clone_Decl): Call
3717 Set_Debug_Info_Needed to set the Needs_Debug_Info flag on
3718 Clone_Id if the flag is set on Spec_Id.
3719
3720 2020-06-03 Yannick Moy <moy@adacore.com>
3721
3722 * inline.adb (Expand_Inlined_Call): Do not suppress checks on
3723 inlined code in GNATprove mode.
3724
3725 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3726
3727 * einfo.ads (Has_Contiguous_Rep): Fix typo in comment.
3728
3729 2020-06-03 Piotr Trojanek <trojanek@adacore.com>
3730
3731 * checks.adb, einfo.adb, exp_aggr.adb, exp_ch4.adb, exp_ch6.adb,
3732 exp_unst.adb, exp_util.adb, freeze.adb, inline.adb, repinfo.adb,
3733 sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch13.adb,
3734 sem_ch3.adb, sem_ch4.adb, sem_ch8.adb, sem_elab.adb,
3735 sem_eval.adb, sem_prag.adb, sem_res.adb, sem_smem.adb,
3736 sem_util.adb, treepr.adb: Replace uses of Next_ functions with
3737 corresponding procedures.
3738
3739 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3740
3741 * exp_attr.adb (Attribute_Valid): Use Standard_Long_Long_Integer
3742 in lieu of Universal_Integer as large integer type.
3743 * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Likewise.
3744
3745 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3746
3747 * libgnat/s-auxdec.ads (Address_Int): New.
3748
3749 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3750
3751 * aspects.adb, aspects.ads, atree.adb, atree.ads, elists.adb,
3752 elists.ads, fname.adb, fname.ads, gnat1drv.adb, lib.adb,
3753 lib.ads, namet.adb, namet.ads, nlists.adb, nlists.ads, opt.adb,
3754 opt.ads, osint-c.adb, osint-c.ads, repinfo.adb, repinfo.ads,
3755 sem_aux.adb, sem_aux.ads, sinput.adb, sinput.ads, stand.ads,
3756 stringt.adb, stringt.ads, switch-c.adb, table.adb, table.ads,
3757 uintp.adb, uintp.ads, urealp.adb, urealp.ads (Tree_Read,
3758 Tree_Write): Remove generation of ASIS trees.
3759 * doc/gnat_ugn/building_executable_programs_with_gnat.rst:
3760 Remove -gnatt and -gnatct documentation.
3761 * gnat_ugn.texi: Regenerate.
3762 * tree_in.ads, tree_in.adb, tree_io.ads, tree_io.adb,
3763 tree_gen.ads, tree_gen.adb, stand.adb: Remove.
3764 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
3765 references to tree_gen.o tree_in.o tree_io.o.
3766
3767 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3768
3769 * opt.ads (Disable_FE_Inline): Move around.
3770 (Disable_FE_Inline_Always): Likewise.
3771
3772 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3773
3774 * checks.adb (Is_Single_Attribute_Reference): New predicate.
3775 (Generate_Range_Check): Do not force the evaluation if the
3776 node is a single attribute reference.
3777 * exp_util.adb (Side_Effect_Free_Attribute): New predicate.
3778 (Side_Effect_Free) <N_Attribute_Reference>: Call it.
3779 (Remove_Side_Effects): Remove the side effects of the prefix
3780 for an attribute reference whose prefix is not a name.
3781
3782 2020-06-03 Arnaud Charlet <charlet@adacore.com>
3783
3784 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
3785 -gnatt.
3786 * usage.adb (Usage): Remove mention of -gnatt.
3787
3788 2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
3789
3790 * sinfo.ads: Minor tweaks in commentary.
3791
3792 2020-06-02 Alexandre Oliva <oliva@adacore.com>
3793
3794 * lib.ads (Compilation_Switches): Remove -auxbase from
3795 comments.
3796 * switch.ads (Is_Internal_GCC_Switch): Likewise.
3797
3798 2020-06-02 Arnaud Charlet <charlet@adacore.com>
3799
3800 * atree.ads, checks.adb, contracts.adb, debug.adb, einfo.ads,
3801 exp_ch3.adb, exp_util.adb, expander.ads, expander.adb,
3802 frontend.adb, gnat1drv.adb, itypes.adb, lib.ads, namet.ads,
3803 opt.adb, opt.ads, par-prag.adb, repinfo.ads, sem_aggr.adb,
3804 sem_aux.ads, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
3805 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb,
3806 sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_prag.ads,
3807 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, stand.ads,
3808 tree_io.ads: Remove references to ASIS_Mode.
3809
3810 2020-06-02 Javier Miranda <miranda@adacore.com>
3811
3812 * exp_ch4.adb (Generate_Temporary): New subprogram of
3813 Discrete_Range_Check that generates a temporary to facilitate
3814 the C backend the code generation of the unchecked conversion
3815 since the size of the source type may differ from the size of
3816 the target type.
3817
3818 2020-06-02 Arnaud Charlet <charlet@adacore.com>
3819
3820 * ada_get_targ.adb: Bump copyright year.
3821 * adabkend.adb: Likewise.
3822 * adabkend.ads: Likewise.
3823 * adadecode.c: Likewise.
3824 * adadecode.h: Likewise.
3825 * adaint.c: Likewise.
3826 * adaint.h: Likewise.
3827 * affinity.c: Likewise.
3828 * ali-util.adb: Likewise.
3829 * ali-util.ads: Likewise.
3830 * ali.adb: Likewise.
3831 * ali.ads: Likewise.
3832 * alloc.ads: Likewise.
3833 * argv-lynxos178-raven-cert.c: Likewise.
3834 * argv.c: Likewise.
3835 * aspects.adb: Likewise.
3836 * aspects.ads: Likewise.
3837 * atree.adb: Likewise.
3838 * atree.ads: Likewise.
3839 * atree.h: Likewise.
3840 * aux-io.c: Likewise.
3841 * back_end.adb: Likewise.
3842 * back_end.ads: Likewise.
3843 * bcheck.adb: Likewise.
3844 * bcheck.ads: Likewise.
3845 * binde.adb: Likewise.
3846 * binde.ads: Likewise.
3847 * binderr.adb: Likewise.
3848 * binderr.ads: Likewise.
3849 * bindgen.adb: Likewise.
3850 * bindgen.ads: Likewise.
3851 * bindo-augmentors.adb: Likewise.
3852 * bindo-augmentors.ads: Likewise.
3853 * bindo-builders.adb: Likewise.
3854 * bindo-builders.ads: Likewise.
3855 * bindo-diagnostics.adb: Likewise.
3856 * bindo-diagnostics.ads: Likewise.
3857 * bindo-elaborators.adb: Likewise.
3858 * bindo-elaborators.ads: Likewise.
3859 * bindo-graphs.adb: Likewise.
3860 * bindo-graphs.ads: Likewise.
3861 * bindo-units.adb: Likewise.
3862 * bindo-units.ads: Likewise.
3863 * bindo-validators.adb: Likewise.
3864 * bindo-validators.ads: Likewise.
3865 * bindo-writers.adb: Likewise.
3866 * bindo-writers.ads: Likewise.
3867 * bindo.adb: Likewise.
3868 * bindo.ads: Likewise.
3869 * bindusg.adb: Likewise.
3870 * bindusg.ads: Likewise.
3871 * butil.adb: Likewise.
3872 * butil.ads: Likewise.
3873 * cal.c: Likewise.
3874 * casing.adb: Likewise.
3875 * casing.ads: Likewise.
3876 * ceinfo.adb: Likewise.
3877 * checks.adb: Likewise.
3878 * checks.ads: Likewise.
3879 * cio.c: Likewise.
3880 * clean.adb: Likewise.
3881 * clean.ads: Likewise.
3882 * comperr.adb: Likewise.
3883 * comperr.ads: Likewise.
3884 * contracts.adb: Likewise.
3885 * contracts.ads: Likewise.
3886 * csets.adb: Likewise.
3887 * csets.ads: Likewise.
3888 * csinfo.adb: Likewise.
3889 * cstand.adb: Likewise.
3890 * cstand.ads: Likewise.
3891 * cstreams.c: Likewise.
3892 * ctrl_c.c: Likewise.
3893 * debug.adb: Likewise.
3894 * debug.ads: Likewise.
3895 * debug_a.adb: Likewise.
3896 * debug_a.ads: Likewise.
3897 * einfo.adb: Likewise.
3898 * einfo.ads: Likewise.
3899 * elists.adb: Likewise.
3900 * elists.ads: Likewise.
3901 * elists.h: Likewise.
3902 * env.c: Likewise.
3903 * env.h: Likewise.
3904 * err_vars.ads: Likewise.
3905 * errno.c: Likewise.
3906 * errout.adb: Likewise.
3907 * errout.ads: Likewise.
3908 * erroutc.adb: Likewise.
3909 * erroutc.ads: Likewise.
3910 * errutil.adb: Likewise.
3911 * errutil.ads: Likewise.
3912 * eval_fat.adb: Likewise.
3913 * eval_fat.ads: Likewise.
3914 * exit.c: Likewise.
3915 * exp_aggr.adb: Likewise.
3916 * exp_aggr.ads: Likewise.
3917 * exp_atag.adb: Likewise.
3918 * exp_atag.ads: Likewise.
3919 * exp_attr.adb: Likewise.
3920 * exp_attr.ads: Likewise.
3921 * exp_cg.adb: Likewise.
3922 * exp_cg.ads: Likewise.
3923 * exp_ch10.ads: Likewise.
3924 * exp_ch11.adb: Likewise.
3925 * exp_ch11.ads: Likewise.
3926 * exp_ch12.adb: Likewise.
3927 * exp_ch12.ads: Likewise.
3928 * exp_ch13.adb: Likewise.
3929 * exp_ch13.ads: Likewise.
3930 * exp_ch2.adb: Likewise.
3931 * exp_ch2.ads: Likewise.
3932 * exp_ch3.adb: Likewise.
3933 * exp_ch3.ads: Likewise.
3934 * exp_ch4.adb: Likewise.
3935 * exp_ch4.ads: Likewise.
3936 * exp_ch5.adb: Likewise.
3937 * exp_ch5.ads: Likewise.
3938 * exp_ch6.adb: Likewise.
3939 * exp_ch6.ads: Likewise.
3940 * exp_ch7.adb: Likewise.
3941 * exp_ch7.ads: Likewise.
3942 * exp_ch8.adb: Likewise.
3943 * exp_ch8.ads: Likewise.
3944 * exp_ch9.adb: Likewise.
3945 * exp_ch9.ads: Likewise.
3946 * exp_code.adb: Likewise.
3947 * exp_code.ads: Likewise.
3948 * exp_dbug.adb: Likewise.
3949 * exp_dbug.ads: Likewise.
3950 * exp_disp.adb: Likewise.
3951 * exp_disp.ads: Likewise.
3952 * exp_dist.adb: Likewise.
3953 * exp_dist.ads: Likewise.
3954 * exp_fixd.adb: Likewise.
3955 * exp_fixd.ads: Likewise.
3956 * exp_imgv.adb: Likewise.
3957 * exp_imgv.ads: Likewise.
3958 * exp_intr.adb: Likewise.
3959 * exp_intr.ads: Likewise.
3960 * exp_pakd.adb: Likewise.
3961 * exp_pakd.ads: Likewise.
3962 * exp_prag.adb: Likewise.
3963 * exp_prag.ads: Likewise.
3964 * exp_sel.adb: Likewise.
3965 * exp_sel.ads: Likewise.
3966 * exp_smem.adb: Likewise.
3967 * exp_smem.ads: Likewise.
3968 * exp_spark.adb: Likewise.
3969 * exp_spark.ads: Likewise.
3970 * exp_strm.adb: Likewise.
3971 * exp_strm.ads: Likewise.
3972 * exp_tss.adb: Likewise.
3973 * exp_tss.ads: Likewise.
3974 * exp_unst.adb: Likewise.
3975 * exp_unst.ads: Likewise.
3976 * exp_util.adb: Likewise.
3977 * exp_util.ads: Likewise.
3978 * expander.adb: Likewise.
3979 * expander.ads: Likewise.
3980 * expect.c: Likewise.
3981 * fe.h: Likewise.
3982 * final.c: Likewise.
3983 * fmap.adb: Likewise.
3984 * fmap.ads: Likewise.
3985 * fname-sf.adb: Likewise.
3986 * fname-sf.ads: Likewise.
3987 * fname-uf.adb: Likewise.
3988 * fname-uf.ads: Likewise.
3989 * fname.adb: Likewise.
3990 * fname.ads: Likewise.
3991 * freeze.adb: Likewise.
3992 * freeze.ads: Likewise.
3993 * frontend.adb: Likewise.
3994 * frontend.ads: Likewise.
3995 * get_scos.adb: Likewise.
3996 * get_scos.ads: Likewise.
3997 * get_targ.adb: Likewise.
3998 * get_targ.ads: Likewise.
3999 * ghost.adb: Likewise.
4000 * ghost.ads: Likewise.
4001 * gnat1drv.adb: Likewise.
4002 * gnat1drv.ads: Likewise.
4003 * gnatbind.adb: Likewise.
4004 * gnatbind.ads: Likewise.
4005 * gnatchop.adb: Likewise.
4006 * gnatclean.adb: Likewise.
4007 * gnatcmd.adb: Likewise.
4008 * gnatcmd.ads: Likewise.
4009 * gnatdll.adb: Likewise.
4010 * gnatfind.adb: Likewise.
4011 * gnatkr.adb: Likewise.
4012 * gnatkr.ads: Likewise.
4013 * gnatlink.adb: Likewise.
4014 * gnatlink.ads: Likewise.
4015 * gnatls.adb: Likewise.
4016 * gnatls.ads: Likewise.
4017 * gnatmake.adb: Likewise.
4018 * gnatmake.ads: Likewise.
4019 * gnatname.adb: Likewise.
4020 * gnatname.ads: Likewise.
4021 * gnatprep.adb: Likewise.
4022 * gnatprep.ads: Likewise.
4023 * gnatvsn.adb: Likewise.
4024 * gnatxref.adb: Likewise.
4025 * gprep.adb: Likewise.
4026 * gprep.ads: Likewise.
4027 * gsocket.h: Likewise.
4028 * hostparm.ads: Likewise.
4029 * impunit.adb: Likewise.
4030 * impunit.ads: Likewise.
4031 * indepsw-aix.adb: Likewise.
4032 * indepsw-darwin.adb: Likewise.
4033 * indepsw-gnu.adb: Likewise.
4034 * indepsw.adb: Likewise.
4035 * indepsw.ads: Likewise.
4036 * init.c: Likewise.
4037 * initialize.c: Likewise.
4038 * inline.adb: Likewise.
4039 * inline.ads: Likewise.
4040 * itypes.adb: Likewise.
4041 * itypes.ads: Likewise.
4042 * krunch.adb: Likewise.
4043 * krunch.ads: Likewise.
4044 * layout.adb: Likewise.
4045 * layout.ads: Likewise.
4046 * lib-list.adb: Likewise.
4047 * lib-load.adb: Likewise.
4048 * lib-load.ads: Likewise.
4049 * lib-sort.adb: Likewise.
4050 * lib-util.adb: Likewise.
4051 * lib-util.ads: Likewise.
4052 * lib-writ.adb: Likewise.
4053 * lib-writ.ads: Likewise.
4054 * lib-xref-spark_specific.adb: Likewise.
4055 * lib-xref.adb: Likewise.
4056 * lib-xref.ads: Likewise.
4057 * lib.adb: Likewise.
4058 * lib.ads: Likewise.
4059 * libgnarl/a-astaco.adb: Likewise.
4060 * libgnarl/a-dispat.adb: Likewise.
4061 * libgnarl/a-dynpri.adb: Likewise.
4062 * libgnarl/a-etgrbu.ads: Likewise.
4063 * libgnarl/a-exetim__darwin.adb: Likewise.
4064 * libgnarl/a-exetim__default.ads: Likewise.
4065 * libgnarl/a-exetim__mingw.adb: Likewise.
4066 * libgnarl/a-exetim__mingw.ads: Likewise.
4067 * libgnarl/a-exetim__posix.adb: Likewise.
4068 * libgnarl/a-interr.adb: Likewise.
4069 * libgnarl/a-interr.ads: Likewise.
4070 * libgnarl/a-intnam.ads: Likewise.
4071 * libgnarl/a-intnam__aix.ads: Likewise.
4072 * libgnarl/a-intnam__darwin.ads: Likewise.
4073 * libgnarl/a-intnam__dragonfly.ads: Likewise.
4074 * libgnarl/a-intnam__dummy.ads: Likewise.
4075 * libgnarl/a-intnam__freebsd.ads: Likewise.
4076 * libgnarl/a-intnam__hpux.ads: Likewise.
4077 * libgnarl/a-intnam__linux.ads: Likewise.
4078 * libgnarl/a-intnam__lynxos.ads: Likewise.
4079 * libgnarl/a-intnam__mingw.ads: Likewise.
4080 * libgnarl/a-intnam__qnx.ads: Likewise.
4081 * libgnarl/a-intnam__rtems.ads: Likewise.
4082 * libgnarl/a-intnam__solaris.ads: Likewise.
4083 * libgnarl/a-intnam__vxworks.ads: Likewise.
4084 * libgnarl/a-reatim.adb: Likewise.
4085 * libgnarl/a-reatim.ads: Likewise.
4086 * libgnarl/a-retide.adb: Likewise.
4087 * libgnarl/a-retide.ads: Likewise.
4088 * libgnarl/a-rttiev.adb: Likewise.
4089 * libgnarl/a-rttiev.ads: Likewise.
4090 * libgnarl/a-synbar.adb: Likewise.
4091 * libgnarl/a-synbar.ads: Likewise.
4092 * libgnarl/a-synbar__posix.adb: Likewise.
4093 * libgnarl/a-synbar__posix.ads: Likewise.
4094 * libgnarl/a-sytaco.adb: Likewise.
4095 * libgnarl/a-sytaco.ads: Likewise.
4096 * libgnarl/a-tasatt.adb: Likewise.
4097 * libgnarl/a-tasatt.ads: Likewise.
4098 * libgnarl/a-taside.adb: Likewise.
4099 * libgnarl/a-taside.ads: Likewise.
4100 * libgnarl/a-taster.adb: Likewise.
4101 * libgnarl/g-boubuf.adb: Likewise.
4102 * libgnarl/g-boubuf.ads: Likewise.
4103 * libgnarl/g-boumai.ads: Likewise.
4104 * libgnarl/g-semaph.adb: Likewise.
4105 * libgnarl/g-semaph.ads: Likewise.
4106 * libgnarl/g-signal.adb: Likewise.
4107 * libgnarl/g-signal.ads: Likewise.
4108 * libgnarl/g-tastus.ads: Likewise.
4109 * libgnarl/g-thread.adb: Likewise.
4110 * libgnarl/g-thread.ads: Likewise.
4111 * libgnarl/i-vxinco.adb: Likewise.
4112 * libgnarl/i-vxinco.ads: Likewise.
4113 * libgnarl/s-inmaop.ads: Likewise.
4114 * libgnarl/s-inmaop__dummy.adb: Likewise.
4115 * libgnarl/s-inmaop__posix.adb: Likewise.
4116 * libgnarl/s-inmaop__vxworks.adb: Likewise.
4117 * libgnarl/s-interr.adb: Likewise.
4118 * libgnarl/s-interr.ads: Likewise.
4119 * libgnarl/s-interr__dummy.adb: Likewise.
4120 * libgnarl/s-interr__hwint.adb: Likewise.
4121 * libgnarl/s-interr__sigaction.adb: Likewise.
4122 * libgnarl/s-interr__vxworks.adb: Likewise.
4123 * libgnarl/s-intman.ads: Likewise.
4124 * libgnarl/s-intman__android.adb: Likewise.
4125 * libgnarl/s-intman__dummy.adb: Likewise.
4126 * libgnarl/s-intman__lynxos.adb: Likewise.
4127 * libgnarl/s-intman__mingw.adb: Likewise.
4128 * libgnarl/s-intman__posix.adb: Likewise.
4129 * libgnarl/s-intman__qnx.adb: Likewise.
4130 * libgnarl/s-intman__solaris.adb: Likewise.
4131 * libgnarl/s-intman__susv3.adb: Likewise.
4132 * libgnarl/s-intman__vxworks.adb: Likewise.
4133 * libgnarl/s-intman__vxworks.ads: Likewise.
4134 * libgnarl/s-linux.ads: Likewise.
4135 * libgnarl/s-linux__alpha.ads: Likewise.
4136 * libgnarl/s-linux__android.ads: Likewise.
4137 * libgnarl/s-linux__hppa.ads: Likewise.
4138 * libgnarl/s-linux__mips.ads: Likewise.
4139 * libgnarl/s-linux__riscv.ads: Likewise.
4140 * libgnarl/s-linux__sparc.ads: Likewise.
4141 * libgnarl/s-linux__x32.ads: Likewise.
4142 * libgnarl/s-mudido.adb: Likewise.
4143 * libgnarl/s-mudido__affinity.adb: Likewise.
4144 * libgnarl/s-osinte__aix.adb: Likewise.
4145 * libgnarl/s-osinte__aix.ads: Likewise.
4146 * libgnarl/s-osinte__android.adb: Likewise.
4147 * libgnarl/s-osinte__android.ads: Likewise.
4148 * libgnarl/s-osinte__darwin.adb: Likewise.
4149 * libgnarl/s-osinte__darwin.ads: Likewise.
4150 * libgnarl/s-osinte__dragonfly.adb: Likewise.
4151 * libgnarl/s-osinte__dragonfly.ads: Likewise.
4152 * libgnarl/s-osinte__dummy.ads: Likewise.
4153 * libgnarl/s-osinte__freebsd.adb: Likewise.
4154 * libgnarl/s-osinte__freebsd.ads: Likewise.
4155 * libgnarl/s-osinte__gnu.adb: Likewise.
4156 * libgnarl/s-osinte__gnu.ads: Likewise.
4157 * libgnarl/s-osinte__hpux-dce.adb: Likewise.
4158 * libgnarl/s-osinte__hpux-dce.ads: Likewise.
4159 * libgnarl/s-osinte__hpux.ads: Likewise.
4160 * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
4161 * libgnarl/s-osinte__linux.ads: Likewise.
4162 * libgnarl/s-osinte__lynxos178.adb: Likewise.
4163 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
4164 * libgnarl/s-osinte__mingw.ads: Likewise.
4165 * libgnarl/s-osinte__posix.adb: Likewise.
4166 * libgnarl/s-osinte__qnx.adb: Likewise.
4167 * libgnarl/s-osinte__qnx.ads: Likewise.
4168 * libgnarl/s-osinte__rtems.adb: Likewise.
4169 * libgnarl/s-osinte__rtems.ads: Likewise.
4170 * libgnarl/s-osinte__solaris.adb: Likewise.
4171 * libgnarl/s-osinte__solaris.ads: Likewise.
4172 * libgnarl/s-osinte__vxworks.adb: Likewise.
4173 * libgnarl/s-osinte__vxworks.ads: Likewise.
4174 * libgnarl/s-osinte__x32.adb: Likewise.
4175 * libgnarl/s-proinf.adb: Likewise.
4176 * libgnarl/s-proinf.ads: Likewise.
4177 * libgnarl/s-qnx.ads: Likewise.
4178 * libgnarl/s-solita.adb: Likewise.
4179 * libgnarl/s-solita.ads: Likewise.
4180 * libgnarl/s-stusta.adb: Likewise.
4181 * libgnarl/s-stusta.ads: Likewise.
4182 * libgnarl/s-taasde.adb: Likewise.
4183 * libgnarl/s-taasde.ads: Likewise.
4184 * libgnarl/s-tadeca.adb: Likewise.
4185 * libgnarl/s-tadeca.ads: Likewise.
4186 * libgnarl/s-tadert.adb: Likewise.
4187 * libgnarl/s-tadert.ads: Likewise.
4188 * libgnarl/s-taenca.adb: Likewise.
4189 * libgnarl/s-taenca.ads: Likewise.
4190 * libgnarl/s-taprob.adb: Likewise.
4191 * libgnarl/s-taprob.ads: Likewise.
4192 * libgnarl/s-taprop.ads: Likewise.
4193 * libgnarl/s-taprop__dummy.adb: Likewise.
4194 * libgnarl/s-taprop__hpux-dce.adb: Likewise.
4195 * libgnarl/s-taprop__linux.adb: Likewise.
4196 * libgnarl/s-taprop__mingw.adb: Likewise.
4197 * libgnarl/s-taprop__posix.adb: Likewise.
4198 * libgnarl/s-taprop__qnx.adb: Likewise.
4199 * libgnarl/s-taprop__solaris.adb: Likewise.
4200 * libgnarl/s-taprop__vxworks.adb: Likewise.
4201 * libgnarl/s-tarest.adb: Likewise.
4202 * libgnarl/s-tarest.ads: Likewise.
4203 * libgnarl/s-tasdeb.adb: Likewise.
4204 * libgnarl/s-tasdeb.ads: Likewise.
4205 * libgnarl/s-tasinf.adb: Likewise.
4206 * libgnarl/s-tasinf.ads: Likewise.
4207 * libgnarl/s-tasinf__linux.adb: Likewise.
4208 * libgnarl/s-tasinf__linux.ads: Likewise.
4209 * libgnarl/s-tasinf__mingw.adb: Likewise.
4210 * libgnarl/s-tasinf__mingw.ads: Likewise.
4211 * libgnarl/s-tasinf__solaris.adb: Likewise.
4212 * libgnarl/s-tasinf__solaris.ads: Likewise.
4213 * libgnarl/s-tasinf__vxworks.ads: Likewise.
4214 * libgnarl/s-tasini.adb: Likewise.
4215 * libgnarl/s-tasini.ads: Likewise.
4216 * libgnarl/s-taskin.adb: Likewise.
4217 * libgnarl/s-taskin.ads: Likewise.
4218 * libgnarl/s-taspri__dummy.ads: Likewise.
4219 * libgnarl/s-taspri__hpux-dce.ads: Likewise.
4220 * libgnarl/s-taspri__lynxos.ads: Likewise.
4221 * libgnarl/s-taspri__mingw.ads: Likewise.
4222 * libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
4223 * libgnarl/s-taspri__posix.ads: Likewise.
4224 * libgnarl/s-taspri__solaris.ads: Likewise.
4225 * libgnarl/s-taspri__vxworks.ads: Likewise.
4226 * libgnarl/s-tasque.adb: Likewise.
4227 * libgnarl/s-tasque.ads: Likewise.
4228 * libgnarl/s-tasren.adb: Likewise.
4229 * libgnarl/s-tasren.ads: Likewise.
4230 * libgnarl/s-tasres.ads: Likewise.
4231 * libgnarl/s-tassta.adb: Likewise.
4232 * libgnarl/s-tassta.ads: Likewise.
4233 * libgnarl/s-tasuti.adb: Likewise.
4234 * libgnarl/s-tasuti.ads: Likewise.
4235 * libgnarl/s-tataat.adb: Likewise.
4236 * libgnarl/s-tataat.ads: Likewise.
4237 * libgnarl/s-tpinop.adb: Likewise.
4238 * libgnarl/s-tpinop.ads: Likewise.
4239 * libgnarl/s-tpoaal.adb: Likewise.
4240 * libgnarl/s-tpoben.adb: Likewise.
4241 * libgnarl/s-tpoben.ads: Likewise.
4242 * libgnarl/s-tpobmu.adb: Likewise.
4243 * libgnarl/s-tpobmu.ads: Likewise.
4244 * libgnarl/s-tpobop.adb: Likewise.
4245 * libgnarl/s-tpobop.ads: Likewise.
4246 * libgnarl/s-tpopmo.adb: Likewise.
4247 * libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
4248 * libgnarl/s-tpopsp__posix.adb: Likewise.
4249 * libgnarl/s-tpopsp__solaris.adb: Likewise.
4250 * libgnarl/s-tpopsp__tls.adb: Likewise.
4251 * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
4252 * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
4253 * libgnarl/s-tpopsp__vxworks.adb: Likewise.
4254 * libgnarl/s-tporft.adb: Likewise.
4255 * libgnarl/s-tposen.adb: Likewise.
4256 * libgnarl/s-tposen.ads: Likewise.
4257 * libgnarl/s-vxwext.adb: Likewise.
4258 * libgnarl/s-vxwext.ads: Likewise.
4259 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
4260 * libgnarl/s-vxwext__kernel.adb: Likewise.
4261 * libgnarl/s-vxwext__kernel.ads: Likewise.
4262 * libgnarl/s-vxwext__noints.adb: Likewise.
4263 * libgnarl/s-vxwext__rtp-smp.adb: Likewise.
4264 * libgnarl/s-vxwext__rtp.adb: Likewise.
4265 * libgnarl/s-vxwext__rtp.ads: Likewise.
4266 * libgnarl/s-vxwext__vthreads.ads: Likewise.
4267 * libgnarl/s-vxwork__aarch64.ads: Likewise.
4268 * libgnarl/s-vxwork__arm.ads: Likewise.
4269 * libgnarl/s-vxwork__ppc.ads: Likewise.
4270 * libgnarl/s-vxwork__x86.ads: Likewise.
4271 * libgnarl/thread.c: Likewise.
4272 * libgnat/a-assert.adb: Likewise.
4273 * libgnat/a-assert.ads: Likewise.
4274 * libgnat/a-btgbso.adb: Likewise.
4275 * libgnat/a-btgbso.ads: Likewise.
4276 * libgnat/a-calari.adb: Likewise.
4277 * libgnat/a-calari.ads: Likewise.
4278 * libgnat/a-calcon.adb: Likewise.
4279 * libgnat/a-calcon.ads: Likewise.
4280 * libgnat/a-caldel.adb: Likewise.
4281 * libgnat/a-caldel.ads: Likewise.
4282 * libgnat/a-calend.adb: Likewise.
4283 * libgnat/a-calend.ads: Likewise.
4284 * libgnat/a-calfor.adb: Likewise.
4285 * libgnat/a-calfor.ads: Likewise.
4286 * libgnat/a-catizo.adb: Likewise.
4287 * libgnat/a-cbdlli.adb: Likewise.
4288 * libgnat/a-cbdlli.ads: Likewise.
4289 * libgnat/a-cbhama.adb: Likewise.
4290 * libgnat/a-cbhama.ads: Likewise.
4291 * libgnat/a-cbhase.adb: Likewise.
4292 * libgnat/a-cbhase.ads: Likewise.
4293 * libgnat/a-cbmutr.adb: Likewise.
4294 * libgnat/a-cbmutr.ads: Likewise.
4295 * libgnat/a-cborma.adb: Likewise.
4296 * libgnat/a-cborma.ads: Likewise.
4297 * libgnat/a-cborse.adb: Likewise.
4298 * libgnat/a-cborse.ads: Likewise.
4299 * libgnat/a-cbprqu.adb: Likewise.
4300 * libgnat/a-cbprqu.ads: Likewise.
4301 * libgnat/a-cbsyqu.adb: Likewise.
4302 * libgnat/a-cbsyqu.ads: Likewise.
4303 * libgnat/a-cdlili.adb: Likewise.
4304 * libgnat/a-cdlili.ads: Likewise.
4305 * libgnat/a-cfdlli.adb: Likewise.
4306 * libgnat/a-cfdlli.ads: Likewise.
4307 * libgnat/a-cfhama.adb: Likewise.
4308 * libgnat/a-cfhama.ads: Likewise.
4309 * libgnat/a-cfhase.adb: Likewise.
4310 * libgnat/a-cfhase.ads: Likewise.
4311 * libgnat/a-cfinve.adb: Likewise.
4312 * libgnat/a-cfinve.ads: Likewise.
4313 * libgnat/a-cforma.adb: Likewise.
4314 * libgnat/a-cforma.ads: Likewise.
4315 * libgnat/a-cforse.adb: Likewise.
4316 * libgnat/a-cforse.ads: Likewise.
4317 * libgnat/a-cgaaso.adb: Likewise.
4318 * libgnat/a-cgaaso.ads: Likewise.
4319 * libgnat/a-cgarso.adb: Likewise.
4320 * libgnat/a-cgcaso.adb: Likewise.
4321 * libgnat/a-chacon.adb: Likewise.
4322 * libgnat/a-chacon.ads: Likewise.
4323 * libgnat/a-chahan.adb: Likewise.
4324 * libgnat/a-chahan.ads: Likewise.
4325 * libgnat/a-chlat9.ads: Likewise.
4326 * libgnat/a-chtgbk.adb: Likewise.
4327 * libgnat/a-chtgbk.ads: Likewise.
4328 * libgnat/a-chtgbo.adb: Likewise.
4329 * libgnat/a-chtgbo.ads: Likewise.
4330 * libgnat/a-chtgke.adb: Likewise.
4331 * libgnat/a-chtgke.ads: Likewise.
4332 * libgnat/a-chtgop.adb: Likewise.
4333 * libgnat/a-chtgop.ads: Likewise.
4334 * libgnat/a-chzla1.ads: Likewise.
4335 * libgnat/a-chzla9.ads: Likewise.
4336 * libgnat/a-cidlli.adb: Likewise.
4337 * libgnat/a-cidlli.ads: Likewise.
4338 * libgnat/a-cihama.adb: Likewise.
4339 * libgnat/a-cihama.ads: Likewise.
4340 * libgnat/a-cihase.adb: Likewise.
4341 * libgnat/a-cihase.ads: Likewise.
4342 * libgnat/a-cimutr.adb: Likewise.
4343 * libgnat/a-cimutr.ads: Likewise.
4344 * libgnat/a-ciorma.adb: Likewise.
4345 * libgnat/a-ciorma.ads: Likewise.
4346 * libgnat/a-ciormu.adb: Likewise.
4347 * libgnat/a-ciormu.ads: Likewise.
4348 * libgnat/a-ciorse.adb: Likewise.
4349 * libgnat/a-ciorse.ads: Likewise.
4350 * libgnat/a-clrefi.adb: Likewise.
4351 * libgnat/a-clrefi.ads: Likewise.
4352 * libgnat/a-coboho.adb: Likewise.
4353 * libgnat/a-coboho.ads: Likewise.
4354 * libgnat/a-cobove.adb: Likewise.
4355 * libgnat/a-cobove.ads: Likewise.
4356 * libgnat/a-cofove.adb: Likewise.
4357 * libgnat/a-cofove.ads: Likewise.
4358 * libgnat/a-cofuba.adb: Likewise.
4359 * libgnat/a-cofuba.ads: Likewise.
4360 * libgnat/a-cofuma.adb: Likewise.
4361 * libgnat/a-cofuma.ads: Likewise.
4362 * libgnat/a-cofuse.adb: Likewise.
4363 * libgnat/a-cofuse.ads: Likewise.
4364 * libgnat/a-cofuve.adb: Likewise.
4365 * libgnat/a-cofuve.ads: Likewise.
4366 * libgnat/a-cogeso.adb: Likewise.
4367 * libgnat/a-cogeso.ads: Likewise.
4368 * libgnat/a-cohama.adb: Likewise.
4369 * libgnat/a-cohama.ads: Likewise.
4370 * libgnat/a-cohase.adb: Likewise.
4371 * libgnat/a-cohase.ads: Likewise.
4372 * libgnat/a-cohata.ads: Likewise.
4373 * libgnat/a-coinho.adb: Likewise.
4374 * libgnat/a-coinho.ads: Likewise.
4375 * libgnat/a-coinho__shared.adb: Likewise.
4376 * libgnat/a-coinho__shared.ads: Likewise.
4377 * libgnat/a-coinve.adb: Likewise.
4378 * libgnat/a-coinve.ads: Likewise.
4379 * libgnat/a-colien.adb: Likewise.
4380 * libgnat/a-colien.ads: Likewise.
4381 * libgnat/a-colire.adb: Likewise.
4382 * libgnat/a-colire.ads: Likewise.
4383 * libgnat/a-comlin.adb: Likewise.
4384 * libgnat/a-comlin.ads: Likewise.
4385 * libgnat/a-comutr.adb: Likewise.
4386 * libgnat/a-comutr.ads: Likewise.
4387 * libgnat/a-conhel.adb: Likewise.
4388 * libgnat/a-conhel.ads: Likewise.
4389 * libgnat/a-convec.adb: Likewise.
4390 * libgnat/a-convec.ads: Likewise.
4391 * libgnat/a-coorma.adb: Likewise.
4392 * libgnat/a-coorma.ads: Likewise.
4393 * libgnat/a-coormu.adb: Likewise.
4394 * libgnat/a-coormu.ads: Likewise.
4395 * libgnat/a-coorse.adb: Likewise.
4396 * libgnat/a-coorse.ads: Likewise.
4397 * libgnat/a-coprnu.adb: Likewise.
4398 * libgnat/a-coprnu.ads: Likewise.
4399 * libgnat/a-crbltr.ads: Likewise.
4400 * libgnat/a-crbtgk.adb: Likewise.
4401 * libgnat/a-crbtgk.ads: Likewise.
4402 * libgnat/a-crbtgo.adb: Likewise.
4403 * libgnat/a-crbtgo.ads: Likewise.
4404 * libgnat/a-crdlli.adb: Likewise.
4405 * libgnat/a-crdlli.ads: Likewise.
4406 * libgnat/a-csquin.ads: Likewise.
4407 * libgnat/a-cuprqu.adb: Likewise.
4408 * libgnat/a-cuprqu.ads: Likewise.
4409 * libgnat/a-cusyqu.adb: Likewise.
4410 * libgnat/a-cusyqu.ads: Likewise.
4411 * libgnat/a-cwila1.ads: Likewise.
4412 * libgnat/a-cwila9.ads: Likewise.
4413 * libgnat/a-decima.adb: Likewise.
4414 * libgnat/a-decima.ads: Likewise.
4415 * libgnat/a-dhfina.adb: Likewise.
4416 * libgnat/a-dhfina.ads: Likewise.
4417 * libgnat/a-diocst.adb: Likewise.
4418 * libgnat/a-diocst.ads: Likewise.
4419 * libgnat/a-direct.adb: Likewise.
4420 * libgnat/a-direct.ads: Likewise.
4421 * libgnat/a-direio.adb: Likewise.
4422 * libgnat/a-direio.ads: Likewise.
4423 * libgnat/a-dirval.adb: Likewise.
4424 * libgnat/a-dirval.ads: Likewise.
4425 * libgnat/a-dirval__mingw.adb: Likewise.
4426 * libgnat/a-einuoc.adb: Likewise.
4427 * libgnat/a-einuoc.ads: Likewise.
4428 * libgnat/a-elchha.adb: Likewise.
4429 * libgnat/a-elchha.ads: Likewise.
4430 * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise.
4431 * libgnat/a-envvar.adb: Likewise.
4432 * libgnat/a-excach.adb: Likewise.
4433 * libgnat/a-except.adb: Likewise.
4434 * libgnat/a-except.ads: Likewise.
4435 * libgnat/a-excpol.adb: Likewise.
4436 * libgnat/a-excpol__abort.adb: Likewise.
4437 * libgnat/a-exctra.adb: Likewise.
4438 * libgnat/a-exctra.ads: Likewise.
4439 * libgnat/a-exexda.adb: Likewise.
4440 * libgnat/a-exexpr.adb: Likewise.
4441 * libgnat/a-exextr.adb: Likewise.
4442 * libgnat/a-exstat.adb: Likewise.
4443 * libgnat/a-finali.adb: Likewise.
4444 * libgnat/a-finali.ads: Likewise.
4445 * libgnat/a-locale.adb: Likewise.
4446 * libgnat/a-locale.ads: Likewise.
4447 * libgnat/a-nbnbin.adb: Likewise.
4448 * libgnat/a-nbnbin__gmp.adb: Likewise.
4449 * libgnat/a-nbnbre.adb: Likewise.
4450 * libgnat/a-ngcefu.adb: Likewise.
4451 * libgnat/a-ngcoar.adb: Likewise.
4452 * libgnat/a-ngcoty.adb: Likewise.
4453 * libgnat/a-ngcoty.ads: Likewise.
4454 * libgnat/a-ngelfu.adb: Likewise.
4455 * libgnat/a-ngelfu.ads: Likewise.
4456 * libgnat/a-ngrear.adb: Likewise.
4457 * libgnat/a-ngrear.ads: Likewise.
4458 * libgnat/a-nudira.adb: Likewise.
4459 * libgnat/a-nudira.ads: Likewise.
4460 * libgnat/a-nuflra.adb: Likewise.
4461 * libgnat/a-nuflra.ads: Likewise.
4462 * libgnat/a-numaux.ads: Likewise.
4463 * libgnat/a-numaux__darwin.adb: Likewise.
4464 * libgnat/a-numaux__darwin.ads: Likewise.
4465 * libgnat/a-numaux__libc-x86.ads: Likewise.
4466 * libgnat/a-numaux__vxworks.ads: Likewise.
4467 * libgnat/a-numaux__x86.adb: Likewise.
4468 * libgnat/a-numaux__x86.ads: Likewise.
4469 * libgnat/a-rbtgbk.adb: Likewise.
4470 * libgnat/a-rbtgbk.ads: Likewise.
4471 * libgnat/a-rbtgbo.adb: Likewise.
4472 * libgnat/a-rbtgbo.ads: Likewise.
4473 * libgnat/a-rbtgso.adb: Likewise.
4474 * libgnat/a-rbtgso.ads: Likewise.
4475 * libgnat/a-sbecin.adb: Likewise.
4476 * libgnat/a-sbecin.ads: Likewise.
4477 * libgnat/a-sbhcin.adb: Likewise.
4478 * libgnat/a-sbhcin.ads: Likewise.
4479 * libgnat/a-sblcin.adb: Likewise.
4480 * libgnat/a-sblcin.ads: Likewise.
4481 * libgnat/a-secain.adb: Likewise.
4482 * libgnat/a-secain.ads: Likewise.
4483 * libgnat/a-sequio.adb: Likewise.
4484 * libgnat/a-sequio.ads: Likewise.
4485 * libgnat/a-sfecin.ads: Likewise.
4486 * libgnat/a-sfhcin.ads: Likewise.
4487 * libgnat/a-sflcin.ads: Likewise.
4488 * libgnat/a-shcain.adb: Likewise.
4489 * libgnat/a-shcain.ads: Likewise.
4490 * libgnat/a-siocst.adb: Likewise.
4491 * libgnat/a-siocst.ads: Likewise.
4492 * libgnat/a-slcain.adb: Likewise.
4493 * libgnat/a-slcain.ads: Likewise.
4494 * libgnat/a-ssicst.adb: Likewise.
4495 * libgnat/a-ssicst.ads: Likewise.
4496 * libgnat/a-stboha.adb: Likewise.
4497 * libgnat/a-stmaco.ads: Likewise.
4498 * libgnat/a-storio.adb: Likewise.
4499 * libgnat/a-strbou.adb: Likewise.
4500 * libgnat/a-strbou.ads: Likewise.
4501 * libgnat/a-stream.adb: Likewise.
4502 * libgnat/a-stream.ads: Likewise.
4503 * libgnat/a-strfix.adb: Likewise.
4504 * libgnat/a-strhas.adb: Likewise.
4505 * libgnat/a-strmap.adb: Likewise.
4506 * libgnat/a-strmap.ads: Likewise.
4507 * libgnat/a-strsea.adb: Likewise.
4508 * libgnat/a-strsea.ads: Likewise.
4509 * libgnat/a-strsup.adb: Likewise.
4510 * libgnat/a-strsup.ads: Likewise.
4511 * libgnat/a-strunb.adb: Likewise.
4512 * libgnat/a-strunb.ads: Likewise.
4513 * libgnat/a-strunb__shared.adb: Likewise.
4514 * libgnat/a-strunb__shared.ads: Likewise.
4515 * libgnat/a-ststio.adb: Likewise.
4516 * libgnat/a-ststio.ads: Likewise.
4517 * libgnat/a-stunau.adb: Likewise.
4518 * libgnat/a-stunau.ads: Likewise.
4519 * libgnat/a-stunau__shared.adb: Likewise.
4520 * libgnat/a-stunha.adb: Likewise.
4521 * libgnat/a-stuten.adb: Likewise.
4522 * libgnat/a-stwibo.adb: Likewise.
4523 * libgnat/a-stwibo.ads: Likewise.
4524 * libgnat/a-stwifi.adb: Likewise.
4525 * libgnat/a-stwiha.adb: Likewise.
4526 * libgnat/a-stwima.adb: Likewise.
4527 * libgnat/a-stwima.ads: Likewise.
4528 * libgnat/a-stwise.adb: Likewise.
4529 * libgnat/a-stwise.ads: Likewise.
4530 * libgnat/a-stwisu.adb: Likewise.
4531 * libgnat/a-stwisu.ads: Likewise.
4532 * libgnat/a-stwiun.adb: Likewise.
4533 * libgnat/a-stwiun.ads: Likewise.
4534 * libgnat/a-stwiun__shared.adb: Likewise.
4535 * libgnat/a-stwiun__shared.ads: Likewise.
4536 * libgnat/a-stzbou.adb: Likewise.
4537 * libgnat/a-stzbou.ads: Likewise.
4538 * libgnat/a-stzfix.adb: Likewise.
4539 * libgnat/a-stzhas.adb: Likewise.
4540 * libgnat/a-stzmap.adb: Likewise.
4541 * libgnat/a-stzmap.ads: Likewise.
4542 * libgnat/a-stzsea.adb: Likewise.
4543 * libgnat/a-stzsea.ads: Likewise.
4544 * libgnat/a-stzsup.adb: Likewise.
4545 * libgnat/a-stzsup.ads: Likewise.
4546 * libgnat/a-stzunb.adb: Likewise.
4547 * libgnat/a-stzunb.ads: Likewise.
4548 * libgnat/a-stzunb__shared.adb: Likewise.
4549 * libgnat/a-stzunb__shared.ads: Likewise.
4550 * libgnat/a-suecin.adb: Likewise.
4551 * libgnat/a-suecin.ads: Likewise.
4552 * libgnat/a-suenco.adb: Likewise.
4553 * libgnat/a-suenst.adb: Likewise.
4554 * libgnat/a-suewst.adb: Likewise.
4555 * libgnat/a-suezst.adb: Likewise.
4556 * libgnat/a-suhcin.adb: Likewise.
4557 * libgnat/a-suhcin.ads: Likewise.
4558 * libgnat/a-sulcin.adb: Likewise.
4559 * libgnat/a-sulcin.ads: Likewise.
4560 * libgnat/a-suteio.adb: Likewise.
4561 * libgnat/a-suteio.ads: Likewise.
4562 * libgnat/a-suteio__shared.adb: Likewise.
4563 * libgnat/a-swbwha.adb: Likewise.
4564 * libgnat/a-swmwco.ads: Likewise.
4565 * libgnat/a-swunau.adb: Likewise.
4566 * libgnat/a-swunau.ads: Likewise.
4567 * libgnat/a-swunau__shared.adb: Likewise.
4568 * libgnat/a-swuwha.adb: Likewise.
4569 * libgnat/a-swuwti.adb: Likewise.
4570 * libgnat/a-swuwti.ads: Likewise.
4571 * libgnat/a-swuwti__shared.adb: Likewise.
4572 * libgnat/a-szbzha.adb: Likewise.
4573 * libgnat/a-szmzco.ads: Likewise.
4574 * libgnat/a-szunau.adb: Likewise.
4575 * libgnat/a-szunau.ads: Likewise.
4576 * libgnat/a-szunau__shared.adb: Likewise.
4577 * libgnat/a-szuzha.adb: Likewise.
4578 * libgnat/a-szuzti.adb: Likewise.
4579 * libgnat/a-szuzti.ads: Likewise.
4580 * libgnat/a-szuzti__shared.adb: Likewise.
4581 * libgnat/a-tags.adb: Likewise.
4582 * libgnat/a-tags.ads: Likewise.
4583 * libgnat/a-teioed.adb: Likewise.
4584 * libgnat/a-teioed.ads: Likewise.
4585 * libgnat/a-textio.adb: Likewise.
4586 * libgnat/a-textio.ads: Likewise.
4587 * libgnat/a-tiboio.adb: Likewise.
4588 * libgnat/a-ticoau.adb: Likewise.
4589 * libgnat/a-ticoau.ads: Likewise.
4590 * libgnat/a-ticoio.adb: Likewise.
4591 * libgnat/a-ticoio.ads: Likewise.
4592 * libgnat/a-tideau.adb: Likewise.
4593 * libgnat/a-tideau.ads: Likewise.
4594 * libgnat/a-tideio.adb: Likewise.
4595 * libgnat/a-tideio.ads: Likewise.
4596 * libgnat/a-tienau.adb: Likewise.
4597 * libgnat/a-tienau.ads: Likewise.
4598 * libgnat/a-tienio.adb: Likewise.
4599 * libgnat/a-tifiio.adb: Likewise.
4600 * libgnat/a-tiflau.adb: Likewise.
4601 * libgnat/a-tiflau.ads: Likewise.
4602 * libgnat/a-tiflio.adb: Likewise.
4603 * libgnat/a-tiflio.ads: Likewise.
4604 * libgnat/a-tigeau.adb: Likewise.
4605 * libgnat/a-tigeau.ads: Likewise.
4606 * libgnat/a-tigeli.adb: Likewise.
4607 * libgnat/a-tiinau.adb: Likewise.
4608 * libgnat/a-tiinau.ads: Likewise.
4609 * libgnat/a-tiinio.adb: Likewise.
4610 * libgnat/a-tiinio.ads: Likewise.
4611 * libgnat/a-timoau.adb: Likewise.
4612 * libgnat/a-timoau.ads: Likewise.
4613 * libgnat/a-timoio.adb: Likewise.
4614 * libgnat/a-timoio.ads: Likewise.
4615 * libgnat/a-tiocst.adb: Likewise.
4616 * libgnat/a-tiocst.ads: Likewise.
4617 * libgnat/a-tirsfi.adb: Likewise.
4618 * libgnat/a-tirsfi.ads: Likewise.
4619 * libgnat/a-titest.adb: Likewise.
4620 * libgnat/a-undesu.adb: Likewise.
4621 * libgnat/a-wichha.adb: Likewise.
4622 * libgnat/a-wichun.adb: Likewise.
4623 * libgnat/a-wichun.ads: Likewise.
4624 * libgnat/a-witeio.adb: Likewise.
4625 * libgnat/a-witeio.ads: Likewise.
4626 * libgnat/a-wrstfi.adb: Likewise.
4627 * libgnat/a-wrstfi.ads: Likewise.
4628 * libgnat/a-wtcoau.adb: Likewise.
4629 * libgnat/a-wtcoau.ads: Likewise.
4630 * libgnat/a-wtcoio.adb: Likewise.
4631 * libgnat/a-wtcstr.adb: Likewise.
4632 * libgnat/a-wtcstr.ads: Likewise.
4633 * libgnat/a-wtdeau.adb: Likewise.
4634 * libgnat/a-wtdeau.ads: Likewise.
4635 * libgnat/a-wtdeio.adb: Likewise.
4636 * libgnat/a-wtedit.adb: Likewise.
4637 * libgnat/a-wtedit.ads: Likewise.
4638 * libgnat/a-wtenau.adb: Likewise.
4639 * libgnat/a-wtenau.ads: Likewise.
4640 * libgnat/a-wtenio.adb: Likewise.
4641 * libgnat/a-wtfiio.adb: Likewise.
4642 * libgnat/a-wtflau.adb: Likewise.
4643 * libgnat/a-wtflau.ads: Likewise.
4644 * libgnat/a-wtflio.adb: Likewise.
4645 * libgnat/a-wtgeau.adb: Likewise.
4646 * libgnat/a-wtgeau.ads: Likewise.
4647 * libgnat/a-wtinau.adb: Likewise.
4648 * libgnat/a-wtinau.ads: Likewise.
4649 * libgnat/a-wtinio.adb: Likewise.
4650 * libgnat/a-wtmoau.adb: Likewise.
4651 * libgnat/a-wtmoau.ads: Likewise.
4652 * libgnat/a-wtmoio.adb: Likewise.
4653 * libgnat/a-wtmoio.ads: Likewise.
4654 * libgnat/a-wttest.adb: Likewise.
4655 * libgnat/a-wwboio.adb: Likewise.
4656 * libgnat/a-zchhan.adb: Likewise.
4657 * libgnat/a-zchuni.adb: Likewise.
4658 * libgnat/a-zchuni.ads: Likewise.
4659 * libgnat/a-zrstfi.adb: Likewise.
4660 * libgnat/a-zrstfi.ads: Likewise.
4661 * libgnat/a-ztcoau.adb: Likewise.
4662 * libgnat/a-ztcoio.adb: Likewise.
4663 * libgnat/a-ztcstr.adb: Likewise.
4664 * libgnat/a-ztcstr.ads: Likewise.
4665 * libgnat/a-ztdeau.adb: Likewise.
4666 * libgnat/a-ztdeau.ads: Likewise.
4667 * libgnat/a-ztdeio.adb: Likewise.
4668 * libgnat/a-ztedit.adb: Likewise.
4669 * libgnat/a-ztedit.ads: Likewise.
4670 * libgnat/a-ztenau.adb: Likewise.
4671 * libgnat/a-ztenau.ads: Likewise.
4672 * libgnat/a-ztenio.adb: Likewise.
4673 * libgnat/a-ztexio.adb: Likewise.
4674 * libgnat/a-ztexio.ads: Likewise.
4675 * libgnat/a-ztfiio.adb: Likewise.
4676 * libgnat/a-ztflau.adb: Likewise.
4677 * libgnat/a-ztflau.ads: Likewise.
4678 * libgnat/a-ztflio.adb: Likewise.
4679 * libgnat/a-ztgeau.adb: Likewise.
4680 * libgnat/a-ztgeau.ads: Likewise.
4681 * libgnat/a-ztinau.adb: Likewise.
4682 * libgnat/a-ztinau.ads: Likewise.
4683 * libgnat/a-ztinio.adb: Likewise.
4684 * libgnat/a-ztmoau.adb: Likewise.
4685 * libgnat/a-ztmoau.ads: Likewise.
4686 * libgnat/a-ztmoio.adb: Likewise.
4687 * libgnat/a-zttest.adb: Likewise.
4688 * libgnat/a-zzboio.adb: Likewise.
4689 * libgnat/g-allein.ads: Likewise.
4690 * libgnat/g-alleve.adb: Likewise.
4691 * libgnat/g-alleve.ads: Likewise.
4692 * libgnat/g-alleve__hard.adb: Likewise.
4693 * libgnat/g-alleve__hard.ads: Likewise.
4694 * libgnat/g-altcon.adb: Likewise.
4695 * libgnat/g-altcon.ads: Likewise.
4696 * libgnat/g-altive.ads: Likewise.
4697 * libgnat/g-alveop.adb: Likewise.
4698 * libgnat/g-alveop.ads: Likewise.
4699 * libgnat/g-alvety.ads: Likewise.
4700 * libgnat/g-alvevi.ads: Likewise.
4701 * libgnat/g-arrspl.adb: Likewise.
4702 * libgnat/g-arrspl.ads: Likewise.
4703 * libgnat/g-awk.adb: Likewise.
4704 * libgnat/g-awk.ads: Likewise.
4705 * libgnat/g-binenv.adb: Likewise.
4706 * libgnat/g-binenv.ads: Likewise.
4707 * libgnat/g-brapre.ads: Likewise.
4708 * libgnat/g-bubsor.adb: Likewise.
4709 * libgnat/g-bubsor.ads: Likewise.
4710 * libgnat/g-busora.adb: Likewise.
4711 * libgnat/g-busora.ads: Likewise.
4712 * libgnat/g-busorg.adb: Likewise.
4713 * libgnat/g-busorg.ads: Likewise.
4714 * libgnat/g-byorma.adb: Likewise.
4715 * libgnat/g-byorma.ads: Likewise.
4716 * libgnat/g-bytswa.adb: Likewise.
4717 * libgnat/g-bytswa.ads: Likewise.
4718 * libgnat/g-calend.adb: Likewise.
4719 * libgnat/g-calend.ads: Likewise.
4720 * libgnat/g-casuti.adb: Likewise.
4721 * libgnat/g-casuti.ads: Likewise.
4722 * libgnat/g-catiio.adb: Likewise.
4723 * libgnat/g-catiio.ads: Likewise.
4724 * libgnat/g-cgi.adb: Likewise.
4725 * libgnat/g-cgi.ads: Likewise.
4726 * libgnat/g-cgicoo.adb: Likewise.
4727 * libgnat/g-cgicoo.ads: Likewise.
4728 * libgnat/g-cgideb.adb: Likewise.
4729 * libgnat/g-cgideb.ads: Likewise.
4730 * libgnat/g-comlin.adb: Likewise.
4731 * libgnat/g-comlin.ads: Likewise.
4732 * libgnat/g-comver.adb: Likewise.
4733 * libgnat/g-comver.ads: Likewise.
4734 * libgnat/g-cppexc.adb: Likewise.
4735 * libgnat/g-cppexc.ads: Likewise.
4736 * libgnat/g-crc32.adb: Likewise.
4737 * libgnat/g-crc32.ads: Likewise.
4738 * libgnat/g-ctrl_c.adb: Likewise.
4739 * libgnat/g-ctrl_c.ads: Likewise.
4740 * libgnat/g-curexc.ads: Likewise.
4741 * libgnat/g-debpoo.adb: Likewise.
4742 * libgnat/g-debpoo.ads: Likewise.
4743 * libgnat/g-debuti.adb: Likewise.
4744 * libgnat/g-debuti.ads: Likewise.
4745 * libgnat/g-decstr.adb: Likewise.
4746 * libgnat/g-decstr.ads: Likewise.
4747 * libgnat/g-deutst.ads: Likewise.
4748 * libgnat/g-diopit.adb: Likewise.
4749 * libgnat/g-diopit.ads: Likewise.
4750 * libgnat/g-dirope.adb: Likewise.
4751 * libgnat/g-dirope.ads: Likewise.
4752 * libgnat/g-dynhta.adb: Likewise.
4753 * libgnat/g-dynhta.ads: Likewise.
4754 * libgnat/g-dyntab.adb: Likewise.
4755 * libgnat/g-dyntab.ads: Likewise.
4756 * libgnat/g-eacodu.adb: Likewise.
4757 * libgnat/g-encstr.adb: Likewise.
4758 * libgnat/g-encstr.ads: Likewise.
4759 * libgnat/g-enutst.ads: Likewise.
4760 * libgnat/g-excact.adb: Likewise.
4761 * libgnat/g-excact.ads: Likewise.
4762 * libgnat/g-except.ads: Likewise.
4763 * libgnat/g-exctra.adb: Likewise.
4764 * libgnat/g-exctra.ads: Likewise.
4765 * libgnat/g-expect.adb: Likewise.
4766 * libgnat/g-expect.ads: Likewise.
4767 * libgnat/g-exptty.adb: Likewise.
4768 * libgnat/g-exptty.ads: Likewise.
4769 * libgnat/g-flocon.ads: Likewise.
4770 * libgnat/g-forstr.adb: Likewise.
4771 * libgnat/g-forstr.ads: Likewise.
4772 * libgnat/g-graphs.adb: Likewise.
4773 * libgnat/g-graphs.ads: Likewise.
4774 * libgnat/g-heasor.adb: Likewise.
4775 * libgnat/g-heasor.ads: Likewise.
4776 * libgnat/g-hesora.adb: Likewise.
4777 * libgnat/g-hesora.ads: Likewise.
4778 * libgnat/g-hesorg.adb: Likewise.
4779 * libgnat/g-hesorg.ads: Likewise.
4780 * libgnat/g-htable.adb: Likewise.
4781 * libgnat/g-htable.ads: Likewise.
4782 * libgnat/g-io-put__vxworks.adb: Likewise.
4783 * libgnat/g-io.adb: Likewise.
4784 * libgnat/g-io.ads: Likewise.
4785 * libgnat/g-io_aux.adb: Likewise.
4786 * libgnat/g-io_aux.ads: Likewise.
4787 * libgnat/g-lists.adb: Likewise.
4788 * libgnat/g-lists.ads: Likewise.
4789 * libgnat/g-locfil.adb: Likewise.
4790 * libgnat/g-locfil.ads: Likewise.
4791 * libgnat/g-mbdira.adb: Likewise.
4792 * libgnat/g-mbdira.ads: Likewise.
4793 * libgnat/g-mbflra.adb: Likewise.
4794 * libgnat/g-mbflra.ads: Likewise.
4795 * libgnat/g-md5.adb: Likewise.
4796 * libgnat/g-md5.ads: Likewise.
4797 * libgnat/g-memdum.adb: Likewise.
4798 * libgnat/g-memdum.ads: Likewise.
4799 * libgnat/g-moreex.adb: Likewise.
4800 * libgnat/g-moreex.ads: Likewise.
4801 * libgnat/g-os_lib.adb: Likewise.
4802 * libgnat/g-os_lib.ads: Likewise.
4803 * libgnat/g-pehage.adb: Likewise.
4804 * libgnat/g-pehage.ads: Likewise.
4805 * libgnat/g-rannum.adb: Likewise.
4806 * libgnat/g-rannum.ads: Likewise.
4807 * libgnat/g-regexp.adb: Likewise.
4808 * libgnat/g-regexp.ads: Likewise.
4809 * libgnat/g-regist.adb: Likewise.
4810 * libgnat/g-regist.ads: Likewise.
4811 * libgnat/g-regpat.adb: Likewise.
4812 * libgnat/g-regpat.ads: Likewise.
4813 * libgnat/g-rewdat.adb: Likewise.
4814 * libgnat/g-rewdat.ads: Likewise.
4815 * libgnat/g-sechas.adb: Likewise.
4816 * libgnat/g-sechas.ads: Likewise.
4817 * libgnat/g-sehamd.adb: Likewise.
4818 * libgnat/g-sehamd.ads: Likewise.
4819 * libgnat/g-sehash.adb: Likewise.
4820 * libgnat/g-sehash.ads: Likewise.
4821 * libgnat/g-sercom.adb: Likewise.
4822 * libgnat/g-sercom.ads: Likewise.
4823 * libgnat/g-sercom__linux.adb: Likewise.
4824 * libgnat/g-sercom__mingw.adb: Likewise.
4825 * libgnat/g-sestin.ads: Likewise.
4826 * libgnat/g-sets.adb: Likewise.
4827 * libgnat/g-sets.ads: Likewise.
4828 * libgnat/g-sha1.adb: Likewise.
4829 * libgnat/g-sha1.ads: Likewise.
4830 * libgnat/g-sha224.ads: Likewise.
4831 * libgnat/g-sha256.ads: Likewise.
4832 * libgnat/g-sha384.ads: Likewise.
4833 * libgnat/g-sha512.ads: Likewise.
4834 * libgnat/g-shsh32.adb: Likewise.
4835 * libgnat/g-shsh32.ads: Likewise.
4836 * libgnat/g-shsh64.adb: Likewise.
4837 * libgnat/g-shsh64.ads: Likewise.
4838 * libgnat/g-shshco.adb: Likewise.
4839 * libgnat/g-shshco.ads: Likewise.
4840 * libgnat/g-soccon.ads: Likewise.
4841 * libgnat/g-socket.adb: Likewise.
4842 * libgnat/g-socket.ads: Likewise.
4843 * libgnat/g-socket__dummy.adb: Likewise.
4844 * libgnat/g-socket__dummy.ads: Likewise.
4845 * libgnat/g-socthi.adb: Likewise.
4846 * libgnat/g-socthi.ads: Likewise.
4847 * libgnat/g-socthi__dummy.adb: Likewise.
4848 * libgnat/g-socthi__dummy.ads: Likewise.
4849 * libgnat/g-socthi__mingw.adb: Likewise.
4850 * libgnat/g-socthi__mingw.ads: Likewise.
4851 * libgnat/g-socthi__vxworks.adb: Likewise.
4852 * libgnat/g-socthi__vxworks.ads: Likewise.
4853 * libgnat/g-soliop.ads: Likewise.
4854 * libgnat/g-soliop__lynxos.ads: Likewise.
4855 * libgnat/g-soliop__mingw.ads: Likewise.
4856 * libgnat/g-soliop__qnx.ads: Likewise.
4857 * libgnat/g-soliop__solaris.ads: Likewise.
4858 * libgnat/g-sothco.adb: Likewise.
4859 * libgnat/g-sothco.ads: Likewise.
4860 * libgnat/g-sothco__dummy.adb: Likewise.
4861 * libgnat/g-sothco__dummy.ads: Likewise.
4862 * libgnat/g-souinf.ads: Likewise.
4863 * libgnat/g-spchge.adb: Likewise.
4864 * libgnat/g-spchge.ads: Likewise.
4865 * libgnat/g-speche.adb: Likewise.
4866 * libgnat/g-speche.ads: Likewise.
4867 * libgnat/g-spipat.adb: Likewise.
4868 * libgnat/g-spipat.ads: Likewise.
4869 * libgnat/g-spitbo.adb: Likewise.
4870 * libgnat/g-spitbo.ads: Likewise.
4871 * libgnat/g-sptabo.ads: Likewise.
4872 * libgnat/g-sptain.ads: Likewise.
4873 * libgnat/g-sptavs.ads: Likewise.
4874 * libgnat/g-sse.ads: Likewise.
4875 * libgnat/g-ssvety.ads: Likewise.
4876 * libgnat/g-sthcso.adb: Likewise.
4877 * libgnat/g-stheme.adb: Likewise.
4878 * libgnat/g-strhas.ads: Likewise.
4879 * libgnat/g-string.adb: Likewise.
4880 * libgnat/g-string.ads: Likewise.
4881 * libgnat/g-strspl.ads: Likewise.
4882 * libgnat/g-stseme.adb: Likewise.
4883 * libgnat/g-stsifd__sockets.adb: Likewise.
4884 * libgnat/g-table.adb: Likewise.
4885 * libgnat/g-table.ads: Likewise.
4886 * libgnat/g-tasloc.adb: Likewise.
4887 * libgnat/g-tasloc.ads: Likewise.
4888 * libgnat/g-timsta.adb: Likewise.
4889 * libgnat/g-timsta.ads: Likewise.
4890 * libgnat/g-traceb.adb: Likewise.
4891 * libgnat/g-traceb.ads: Likewise.
4892 * libgnat/g-trasym.adb: Likewise.
4893 * libgnat/g-trasym.ads: Likewise.
4894 * libgnat/g-tty.adb: Likewise.
4895 * libgnat/g-tty.ads: Likewise.
4896 * libgnat/g-u3spch.adb: Likewise.
4897 * libgnat/g-u3spch.ads: Likewise.
4898 * libgnat/g-utf_32.adb: Likewise.
4899 * libgnat/g-utf_32.ads: Likewise.
4900 * libgnat/g-wispch.adb: Likewise.
4901 * libgnat/g-wispch.ads: Likewise.
4902 * libgnat/g-wistsp.ads: Likewise.
4903 * libgnat/g-zspche.adb: Likewise.
4904 * libgnat/g-zspche.ads: Likewise.
4905 * libgnat/g-zstspl.ads: Likewise.
4906 * libgnat/gnat.ads: Likewise.
4907 * libgnat/i-c.adb: Likewise.
4908 * libgnat/i-cexten.ads: Likewise.
4909 * libgnat/i-cobol.adb: Likewise.
4910 * libgnat/i-cobol.ads: Likewise.
4911 * libgnat/i-cpoint.adb: Likewise.
4912 * libgnat/i-cpoint.ads: Likewise.
4913 * libgnat/i-cstrea.adb: Likewise.
4914 * libgnat/i-cstrea.ads: Likewise.
4915 * libgnat/i-cstrin.adb: Likewise.
4916 * libgnat/i-cstrin.ads: Likewise.
4917 * libgnat/i-fortra.adb: Likewise.
4918 * libgnat/i-pacdec.adb: Likewise.
4919 * libgnat/i-pacdec.ads: Likewise.
4920 * libgnat/i-vxwoio.adb: Likewise.
4921 * libgnat/i-vxwoio.ads: Likewise.
4922 * libgnat/i-vxwork.ads: Likewise.
4923 * libgnat/i-vxwork__x86.ads: Likewise.
4924 * libgnat/interfac.ads: Likewise.
4925 * libgnat/memtrack.adb: Likewise.
4926 * libgnat/s-addima.adb: Likewise.
4927 * libgnat/s-addima.ads: Likewise.
4928 * libgnat/s-addope.adb: Likewise.
4929 * libgnat/s-addope.ads: Likewise.
4930 * libgnat/s-aotase.adb: Likewise.
4931 * libgnat/s-aotase.ads: Likewise.
4932 * libgnat/s-arit64.adb: Likewise.
4933 * libgnat/s-arit64.ads: Likewise.
4934 * libgnat/s-assert.adb: Likewise.
4935 * libgnat/s-assert.ads: Likewise.
4936 * libgnat/s-atacco.adb: Likewise.
4937 * libgnat/s-atacco.ads: Likewise.
4938 * libgnat/s-atocou.adb: Likewise.
4939 * libgnat/s-atocou.ads: Likewise.
4940 * libgnat/s-atocou__builtin.adb: Likewise.
4941 * libgnat/s-atocou__x86.adb: Likewise.
4942 * libgnat/s-atoope.ads: Likewise.
4943 * libgnat/s-atopar.adb: Likewise.
4944 * libgnat/s-atopar.ads: Likewise.
4945 * libgnat/s-atopex.adb: Likewise.
4946 * libgnat/s-atopex.ads: Likewise.
4947 * libgnat/s-atopri.adb: Likewise.
4948 * libgnat/s-atopri.ads: Likewise.
4949 * libgnat/s-auxdec.adb: Likewise.
4950 * libgnat/s-auxdec.ads: Likewise.
4951 * libgnat/s-bignum.adb: Likewise.
4952 * libgnat/s-bignum.ads: Likewise.
4953 * libgnat/s-bitfie.ads: Likewise.
4954 * libgnat/s-bitops.adb: Likewise.
4955 * libgnat/s-bitops.ads: Likewise.
4956 * libgnat/s-bituti.adb: Likewise.
4957 * libgnat/s-bituti.ads: Likewise.
4958 * libgnat/s-boarop.ads: Likewise.
4959 * libgnat/s-boustr.adb: Likewise.
4960 * libgnat/s-boustr.ads: Likewise.
4961 * libgnat/s-bytswa.ads: Likewise.
4962 * libgnat/s-carsi8.adb: Likewise.
4963 * libgnat/s-carsi8.ads: Likewise.
4964 * libgnat/s-carun8.adb: Likewise.
4965 * libgnat/s-carun8.ads: Likewise.
4966 * libgnat/s-casi16.adb: Likewise.
4967 * libgnat/s-casi16.ads: Likewise.
4968 * libgnat/s-casi32.adb: Likewise.
4969 * libgnat/s-casi32.ads: Likewise.
4970 * libgnat/s-casi64.adb: Likewise.
4971 * libgnat/s-casi64.ads: Likewise.
4972 * libgnat/s-casuti.adb: Likewise.
4973 * libgnat/s-casuti.ads: Likewise.
4974 * libgnat/s-caun16.adb: Likewise.
4975 * libgnat/s-caun16.ads: Likewise.
4976 * libgnat/s-caun32.adb: Likewise.
4977 * libgnat/s-caun32.ads: Likewise.
4978 * libgnat/s-caun64.adb: Likewise.
4979 * libgnat/s-caun64.ads: Likewise.
4980 * libgnat/s-chepoo.ads: Likewise.
4981 * libgnat/s-commun.adb: Likewise.
4982 * libgnat/s-commun.ads: Likewise.
4983 * libgnat/s-conca2.adb: Likewise.
4984 * libgnat/s-conca2.ads: Likewise.
4985 * libgnat/s-conca3.adb: Likewise.
4986 * libgnat/s-conca3.ads: Likewise.
4987 * libgnat/s-conca4.adb: Likewise.
4988 * libgnat/s-conca4.ads: Likewise.
4989 * libgnat/s-conca5.adb: Likewise.
4990 * libgnat/s-conca5.ads: Likewise.
4991 * libgnat/s-conca6.adb: Likewise.
4992 * libgnat/s-conca6.ads: Likewise.
4993 * libgnat/s-conca7.adb: Likewise.
4994 * libgnat/s-conca7.ads: Likewise.
4995 * libgnat/s-conca8.adb: Likewise.
4996 * libgnat/s-conca8.ads: Likewise.
4997 * libgnat/s-conca9.adb: Likewise.
4998 * libgnat/s-conca9.ads: Likewise.
4999 * libgnat/s-crc32.adb: Likewise.
5000 * libgnat/s-crc32.ads: Likewise.
5001 * libgnat/s-crtl.ads: Likewise.
5002 * libgnat/s-dfmkio.ads: Likewise.
5003 * libgnat/s-dfmopr.ads: Likewise.
5004 * libgnat/s-dgmgop.ads: Likewise.
5005 * libgnat/s-diflio.adb: Likewise.
5006 * libgnat/s-diflio.ads: Likewise.
5007 * libgnat/s-diflmk.ads: Likewise.
5008 * libgnat/s-digemk.ads: Likewise.
5009 * libgnat/s-diinio.adb: Likewise.
5010 * libgnat/s-diinio.ads: Likewise.
5011 * libgnat/s-dilomk.ads: Likewise.
5012 * libgnat/s-dim.ads: Likewise.
5013 * libgnat/s-dimkio.ads: Likewise.
5014 * libgnat/s-dimmks.ads: Likewise.
5015 * libgnat/s-direio.adb: Likewise.
5016 * libgnat/s-direio.ads: Likewise.
5017 * libgnat/s-dlmkio.ads: Likewise.
5018 * libgnat/s-dlmopr.ads: Likewise.
5019 * libgnat/s-dmotpr.ads: Likewise.
5020 * libgnat/s-dsaser.ads: Likewise.
5021 * libgnat/s-dwalin.adb: Likewise.
5022 * libgnat/s-dwalin.ads: Likewise.
5023 * libgnat/s-elaall.adb: Likewise.
5024 * libgnat/s-elaall.ads: Likewise.
5025 * libgnat/s-excdeb.adb: Likewise.
5026 * libgnat/s-excdeb.ads: Likewise.
5027 * libgnat/s-except.adb: Likewise.
5028 * libgnat/s-except.ads: Likewise.
5029 * libgnat/s-excmac__arm.adb: Likewise.
5030 * libgnat/s-excmac__arm.ads: Likewise.
5031 * libgnat/s-excmac__gcc.adb: Likewise.
5032 * libgnat/s-excmac__gcc.ads: Likewise.
5033 * libgnat/s-exctab.adb: Likewise.
5034 * libgnat/s-exctab.ads: Likewise.
5035 * libgnat/s-exctra.adb: Likewise.
5036 * libgnat/s-exctra.ads: Likewise.
5037 * libgnat/s-exnint.adb: Likewise.
5038 * libgnat/s-exnint.ads: Likewise.
5039 * libgnat/s-exnllf.adb: Likewise.
5040 * libgnat/s-exnllf.ads: Likewise.
5041 * libgnat/s-exnlli.adb: Likewise.
5042 * libgnat/s-exnlli.ads: Likewise.
5043 * libgnat/s-expint.adb: Likewise.
5044 * libgnat/s-expint.ads: Likewise.
5045 * libgnat/s-explli.adb: Likewise.
5046 * libgnat/s-explli.ads: Likewise.
5047 * libgnat/s-expllu.adb: Likewise.
5048 * libgnat/s-expllu.ads: Likewise.
5049 * libgnat/s-expmod.adb: Likewise.
5050 * libgnat/s-expmod.ads: Likewise.
5051 * libgnat/s-expuns.adb: Likewise.
5052 * libgnat/s-expuns.ads: Likewise.
5053 * libgnat/s-fatflt.ads: Likewise.
5054 * libgnat/s-fatgen.adb: Likewise.
5055 * libgnat/s-fatgen.ads: Likewise.
5056 * libgnat/s-fatlfl.ads: Likewise.
5057 * libgnat/s-fatllf.ads: Likewise.
5058 * libgnat/s-fatsfl.ads: Likewise.
5059 * libgnat/s-ficobl.ads: Likewise.
5060 * libgnat/s-filatt.ads: Likewise.
5061 * libgnat/s-fileio.adb: Likewise.
5062 * libgnat/s-fileio.ads: Likewise.
5063 * libgnat/s-finmas.adb: Likewise.
5064 * libgnat/s-finmas.ads: Likewise.
5065 * libgnat/s-finroo.adb: Likewise.
5066 * libgnat/s-finroo.ads: Likewise.
5067 * libgnat/s-flocon.adb: Likewise.
5068 * libgnat/s-flocon.ads: Likewise.
5069 * libgnat/s-flocon__none.adb: Likewise.
5070 * libgnat/s-fore.adb: Likewise.
5071 * libgnat/s-fore.ads: Likewise.
5072 * libgnat/s-gearop.adb: Likewise.
5073 * libgnat/s-gearop.ads: Likewise.
5074 * libgnat/s-genbig.adb: Likewise.
5075 * libgnat/s-genbig.ads: Likewise.
5076 * libgnat/s-geveop.adb: Likewise.
5077 * libgnat/s-geveop.ads: Likewise.
5078 * libgnat/s-gloloc.adb: Likewise.
5079 * libgnat/s-gloloc.ads: Likewise.
5080 * libgnat/s-gloloc__mingw.adb: Likewise.
5081 * libgnat/s-htable.adb: Likewise.
5082 * libgnat/s-htable.ads: Likewise.
5083 * libgnat/s-imenne.adb: Likewise.
5084 * libgnat/s-imenne.ads: Likewise.
5085 * libgnat/s-imgbiu.adb: Likewise.
5086 * libgnat/s-imgbiu.ads: Likewise.
5087 * libgnat/s-imgboo.adb: Likewise.
5088 * libgnat/s-imgboo.ads: Likewise.
5089 * libgnat/s-imgcha.adb: Likewise.
5090 * libgnat/s-imgcha.ads: Likewise.
5091 * libgnat/s-imgdec.adb: Likewise.
5092 * libgnat/s-imgdec.ads: Likewise.
5093 * libgnat/s-imgenu.adb: Likewise.
5094 * libgnat/s-imgenu.ads: Likewise.
5095 * libgnat/s-imgint.adb: Likewise.
5096 * libgnat/s-imgint.ads: Likewise.
5097 * libgnat/s-imgllb.adb: Likewise.
5098 * libgnat/s-imgllb.ads: Likewise.
5099 * libgnat/s-imglld.adb: Likewise.
5100 * libgnat/s-imglld.ads: Likewise.
5101 * libgnat/s-imglli.adb: Likewise.
5102 * libgnat/s-imglli.ads: Likewise.
5103 * libgnat/s-imgllu.adb: Likewise.
5104 * libgnat/s-imgllu.ads: Likewise.
5105 * libgnat/s-imgllw.adb: Likewise.
5106 * libgnat/s-imgllw.ads: Likewise.
5107 * libgnat/s-imgrea.adb: Likewise.
5108 * libgnat/s-imgrea.ads: Likewise.
5109 * libgnat/s-imguns.adb: Likewise.
5110 * libgnat/s-imguns.ads: Likewise.
5111 * libgnat/s-imgwch.adb: Likewise.
5112 * libgnat/s-imgwch.ads: Likewise.
5113 * libgnat/s-imgwiu.adb: Likewise.
5114 * libgnat/s-imgwiu.ads: Likewise.
5115 * libgnat/s-io.adb: Likewise.
5116 * libgnat/s-io.ads: Likewise.
5117 * libgnat/s-llflex.ads: Likewise.
5118 * libgnat/s-maccod.ads: Likewise.
5119 * libgnat/s-mantis.adb: Likewise.
5120 * libgnat/s-mantis.ads: Likewise.
5121 * libgnat/s-mastop.adb: Likewise.
5122 * libgnat/s-mastop.ads: Likewise.
5123 * libgnat/s-memcop.ads: Likewise.
5124 * libgnat/s-memory.adb: Likewise.
5125 * libgnat/s-memory.ads: Likewise.
5126 * libgnat/s-mmap.adb: Likewise.
5127 * libgnat/s-mmap.ads: Likewise.
5128 * libgnat/s-mmauni__long.ads: Likewise.
5129 * libgnat/s-mmosin__mingw.adb: Likewise.
5130 * libgnat/s-mmosin__mingw.ads: Likewise.
5131 * libgnat/s-mmosin__unix.adb: Likewise.
5132 * libgnat/s-mmosin__unix.ads: Likewise.
5133 * libgnat/s-multip.adb: Likewise.
5134 * libgnat/s-objrea.adb: Likewise.
5135 * libgnat/s-objrea.ads: Likewise.
5136 * libgnat/s-optide.adb: Likewise.
5137 * libgnat/s-os_lib.adb: Likewise.
5138 * libgnat/s-os_lib.ads: Likewise.
5139 * libgnat/s-osprim.ads: Likewise.
5140 * libgnat/s-osprim__darwin.adb: Likewise.
5141 * libgnat/s-osprim__lynxos.ads: Likewise.
5142 * libgnat/s-osprim__mingw.adb: Likewise.
5143 * libgnat/s-osprim__posix.adb: Likewise.
5144 * libgnat/s-osprim__posix2008.adb: Likewise.
5145 * libgnat/s-osprim__rtems.adb: Likewise.
5146 * libgnat/s-osprim__solaris.adb: Likewise.
5147 * libgnat/s-osprim__unix.adb: Likewise.
5148 * libgnat/s-osprim__vxworks.adb: Likewise.
5149 * libgnat/s-osprim__x32.adb: Likewise.
5150 * libgnat/s-osvers__vxworks-653.ads: Likewise.
5151 * libgnat/s-pack03.adb: Likewise.
5152 * libgnat/s-pack03.ads: Likewise.
5153 * libgnat/s-pack05.adb: Likewise.
5154 * libgnat/s-pack05.ads: Likewise.
5155 * libgnat/s-pack06.adb: Likewise.
5156 * libgnat/s-pack06.ads: Likewise.
5157 * libgnat/s-pack07.adb: Likewise.
5158 * libgnat/s-pack07.ads: Likewise.
5159 * libgnat/s-pack09.adb: Likewise.
5160 * libgnat/s-pack09.ads: Likewise.
5161 * libgnat/s-pack10.adb: Likewise.
5162 * libgnat/s-pack10.ads: Likewise.
5163 * libgnat/s-pack11.adb: Likewise.
5164 * libgnat/s-pack11.ads: Likewise.
5165 * libgnat/s-pack12.adb: Likewise.
5166 * libgnat/s-pack12.ads: Likewise.
5167 * libgnat/s-pack13.adb: Likewise.
5168 * libgnat/s-pack13.ads: Likewise.
5169 * libgnat/s-pack14.adb: Likewise.
5170 * libgnat/s-pack14.ads: Likewise.
5171 * libgnat/s-pack15.adb: Likewise.
5172 * libgnat/s-pack15.ads: Likewise.
5173 * libgnat/s-pack17.adb: Likewise.
5174 * libgnat/s-pack17.ads: Likewise.
5175 * libgnat/s-pack18.adb: Likewise.
5176 * libgnat/s-pack18.ads: Likewise.
5177 * libgnat/s-pack19.adb: Likewise.
5178 * libgnat/s-pack19.ads: Likewise.
5179 * libgnat/s-pack20.adb: Likewise.
5180 * libgnat/s-pack20.ads: Likewise.
5181 * libgnat/s-pack21.adb: Likewise.
5182 * libgnat/s-pack21.ads: Likewise.
5183 * libgnat/s-pack22.adb: Likewise.
5184 * libgnat/s-pack22.ads: Likewise.
5185 * libgnat/s-pack23.adb: Likewise.
5186 * libgnat/s-pack23.ads: Likewise.
5187 * libgnat/s-pack24.adb: Likewise.
5188 * libgnat/s-pack24.ads: Likewise.
5189 * libgnat/s-pack25.adb: Likewise.
5190 * libgnat/s-pack25.ads: Likewise.
5191 * libgnat/s-pack26.adb: Likewise.
5192 * libgnat/s-pack26.ads: Likewise.
5193 * libgnat/s-pack27.adb: Likewise.
5194 * libgnat/s-pack27.ads: Likewise.
5195 * libgnat/s-pack28.adb: Likewise.
5196 * libgnat/s-pack28.ads: Likewise.
5197 * libgnat/s-pack29.adb: Likewise.
5198 * libgnat/s-pack29.ads: Likewise.
5199 * libgnat/s-pack30.adb: Likewise.
5200 * libgnat/s-pack30.ads: Likewise.
5201 * libgnat/s-pack31.adb: Likewise.
5202 * libgnat/s-pack31.ads: Likewise.
5203 * libgnat/s-pack33.adb: Likewise.
5204 * libgnat/s-pack33.ads: Likewise.
5205 * libgnat/s-pack34.adb: Likewise.
5206 * libgnat/s-pack34.ads: Likewise.
5207 * libgnat/s-pack35.adb: Likewise.
5208 * libgnat/s-pack35.ads: Likewise.
5209 * libgnat/s-pack36.adb: Likewise.
5210 * libgnat/s-pack36.ads: Likewise.
5211 * libgnat/s-pack37.adb: Likewise.
5212 * libgnat/s-pack37.ads: Likewise.
5213 * libgnat/s-pack38.adb: Likewise.
5214 * libgnat/s-pack38.ads: Likewise.
5215 * libgnat/s-pack39.adb: Likewise.
5216 * libgnat/s-pack39.ads: Likewise.
5217 * libgnat/s-pack40.adb: Likewise.
5218 * libgnat/s-pack40.ads: Likewise.
5219 * libgnat/s-pack41.adb: Likewise.
5220 * libgnat/s-pack41.ads: Likewise.
5221 * libgnat/s-pack42.adb: Likewise.
5222 * libgnat/s-pack42.ads: Likewise.
5223 * libgnat/s-pack43.adb: Likewise.
5224 * libgnat/s-pack43.ads: Likewise.
5225 * libgnat/s-pack44.adb: Likewise.
5226 * libgnat/s-pack44.ads: Likewise.
5227 * libgnat/s-pack45.adb: Likewise.
5228 * libgnat/s-pack45.ads: Likewise.
5229 * libgnat/s-pack46.adb: Likewise.
5230 * libgnat/s-pack46.ads: Likewise.
5231 * libgnat/s-pack47.adb: Likewise.
5232 * libgnat/s-pack47.ads: Likewise.
5233 * libgnat/s-pack48.adb: Likewise.
5234 * libgnat/s-pack48.ads: Likewise.
5235 * libgnat/s-pack49.adb: Likewise.
5236 * libgnat/s-pack49.ads: Likewise.
5237 * libgnat/s-pack50.adb: Likewise.
5238 * libgnat/s-pack50.ads: Likewise.
5239 * libgnat/s-pack51.adb: Likewise.
5240 * libgnat/s-pack51.ads: Likewise.
5241 * libgnat/s-pack52.adb: Likewise.
5242 * libgnat/s-pack52.ads: Likewise.
5243 * libgnat/s-pack53.adb: Likewise.
5244 * libgnat/s-pack53.ads: Likewise.
5245 * libgnat/s-pack54.adb: Likewise.
5246 * libgnat/s-pack54.ads: Likewise.
5247 * libgnat/s-pack55.adb: Likewise.
5248 * libgnat/s-pack55.ads: Likewise.
5249 * libgnat/s-pack56.adb: Likewise.
5250 * libgnat/s-pack56.ads: Likewise.
5251 * libgnat/s-pack57.adb: Likewise.
5252 * libgnat/s-pack57.ads: Likewise.
5253 * libgnat/s-pack58.adb: Likewise.
5254 * libgnat/s-pack58.ads: Likewise.
5255 * libgnat/s-pack59.adb: Likewise.
5256 * libgnat/s-pack59.ads: Likewise.
5257 * libgnat/s-pack60.adb: Likewise.
5258 * libgnat/s-pack60.ads: Likewise.
5259 * libgnat/s-pack61.adb: Likewise.
5260 * libgnat/s-pack61.ads: Likewise.
5261 * libgnat/s-pack62.adb: Likewise.
5262 * libgnat/s-pack62.ads: Likewise.
5263 * libgnat/s-pack63.adb: Likewise.
5264 * libgnat/s-pack63.ads: Likewise.
5265 * libgnat/s-parame.adb: Likewise.
5266 * libgnat/s-parame.ads: Likewise.
5267 * libgnat/s-parame__ae653.ads: Likewise.
5268 * libgnat/s-parame__hpux.ads: Likewise.
5269 * libgnat/s-parame__rtems.adb: Likewise.
5270 * libgnat/s-parame__vxworks.adb: Likewise.
5271 * libgnat/s-parame__vxworks.ads: Likewise.
5272 * libgnat/s-parint.adb: Likewise.
5273 * libgnat/s-parint.ads: Likewise.
5274 * libgnat/s-pooglo.adb: Likewise.
5275 * libgnat/s-pooglo.ads: Likewise.
5276 * libgnat/s-pooloc.adb: Likewise.
5277 * libgnat/s-pooloc.ads: Likewise.
5278 * libgnat/s-poosiz.adb: Likewise.
5279 * libgnat/s-poosiz.ads: Likewise.
5280 * libgnat/s-powtab.ads: Likewise.
5281 * libgnat/s-purexc.ads: Likewise.
5282 * libgnat/s-rannum.adb: Likewise.
5283 * libgnat/s-rannum.ads: Likewise.
5284 * libgnat/s-ransee.adb: Likewise.
5285 * libgnat/s-ransee.ads: Likewise.
5286 * libgnat/s-regexp.adb: Likewise.
5287 * libgnat/s-regexp.ads: Likewise.
5288 * libgnat/s-regpat.adb: Likewise.
5289 * libgnat/s-regpat.ads: Likewise.
5290 * libgnat/s-resfil.adb: Likewise.
5291 * libgnat/s-resfil.ads: Likewise.
5292 * libgnat/s-restri.adb: Likewise.
5293 * libgnat/s-restri.ads: Likewise.
5294 * libgnat/s-rident.ads: Likewise.
5295 * libgnat/s-rpc.adb: Likewise.
5296 * libgnat/s-rpc.ads: Likewise.
5297 * libgnat/s-scaval.adb: Likewise.
5298 * libgnat/s-scaval.ads: Likewise.
5299 * libgnat/s-secsta.adb: Likewise.
5300 * libgnat/s-secsta.ads: Likewise.
5301 * libgnat/s-sequio.adb: Likewise.
5302 * libgnat/s-sequio.ads: Likewise.
5303 * libgnat/s-shasto.adb: Likewise.
5304 * libgnat/s-shasto.ads: Likewise.
5305 * libgnat/s-soflin.adb: Likewise.
5306 * libgnat/s-soflin.ads: Likewise.
5307 * libgnat/s-soliin.adb: Likewise.
5308 * libgnat/s-soliin.ads: Likewise.
5309 * libgnat/s-sopco3.adb: Likewise.
5310 * libgnat/s-sopco3.ads: Likewise.
5311 * libgnat/s-sopco4.adb: Likewise.
5312 * libgnat/s-sopco4.ads: Likewise.
5313 * libgnat/s-sopco5.adb: Likewise.
5314 * libgnat/s-sopco5.ads: Likewise.
5315 * libgnat/s-spsufi.adb: Likewise.
5316 * libgnat/s-spsufi.ads: Likewise.
5317 * libgnat/s-stache.adb: Likewise.
5318 * libgnat/s-stache.ads: Likewise.
5319 * libgnat/s-stalib.adb: Likewise.
5320 * libgnat/s-stalib.ads: Likewise.
5321 * libgnat/s-stausa.adb: Likewise.
5322 * libgnat/s-stausa.ads: Likewise.
5323 * libgnat/s-stchop.adb: Likewise.
5324 * libgnat/s-stchop.ads: Likewise.
5325 * libgnat/s-stchop__limit.ads: Likewise.
5326 * libgnat/s-stchop__rtems.adb: Likewise.
5327 * libgnat/s-stchop__vxworks.adb: Likewise.
5328 * libgnat/s-stoele.adb: Likewise.
5329 * libgnat/s-stoele.ads: Likewise.
5330 * libgnat/s-stopoo.adb: Likewise.
5331 * libgnat/s-stopoo.ads: Likewise.
5332 * libgnat/s-stposu.adb: Likewise.
5333 * libgnat/s-stposu.ads: Likewise.
5334 * libgnat/s-stratt.adb: Likewise.
5335 * libgnat/s-stratt.ads: Likewise.
5336 * libgnat/s-stratt__xdr.adb: Likewise.
5337 * libgnat/s-strcom.adb: Likewise.
5338 * libgnat/s-strcom.ads: Likewise.
5339 * libgnat/s-strhas.adb: Likewise.
5340 * libgnat/s-strhas.ads: Likewise.
5341 * libgnat/s-string.adb: Likewise.
5342 * libgnat/s-string.ads: Likewise.
5343 * libgnat/s-strops.adb: Likewise.
5344 * libgnat/s-strops.ads: Likewise.
5345 * libgnat/s-ststop.adb: Likewise.
5346 * libgnat/s-ststop.ads: Likewise.
5347 * libgnat/s-tasloc.adb: Likewise.
5348 * libgnat/s-tasloc.ads: Likewise.
5349 * libgnat/s-thread.ads: Likewise.
5350 * libgnat/s-thread__ae653.adb: Likewise.
5351 * libgnat/s-traceb.adb: Likewise.
5352 * libgnat/s-traceb.ads: Likewise.
5353 * libgnat/s-traceb__hpux.adb: Likewise.
5354 * libgnat/s-traceb__mastop.adb: Likewise.
5355 * libgnat/s-traent.adb: Likewise.
5356 * libgnat/s-traent.ads: Likewise.
5357 * libgnat/s-trasym.adb: Likewise.
5358 * libgnat/s-trasym.ads: Likewise.
5359 * libgnat/s-trasym__dwarf.adb: Likewise.
5360 * libgnat/s-tsmona.adb: Likewise.
5361 * libgnat/s-tsmona__linux.adb: Likewise.
5362 * libgnat/s-tsmona__mingw.adb: Likewise.
5363 * libgnat/s-unstyp.ads: Likewise.
5364 * libgnat/s-utf_32.adb: Likewise.
5365 * libgnat/s-utf_32.ads: Likewise.
5366 * libgnat/s-valboo.adb: Likewise.
5367 * libgnat/s-valboo.ads: Likewise.
5368 * libgnat/s-valcha.adb: Likewise.
5369 * libgnat/s-valcha.ads: Likewise.
5370 * libgnat/s-valdec.adb: Likewise.
5371 * libgnat/s-valdec.ads: Likewise.
5372 * libgnat/s-valenu.adb: Likewise.
5373 * libgnat/s-valenu.ads: Likewise.
5374 * libgnat/s-valint.adb: Likewise.
5375 * libgnat/s-valint.ads: Likewise.
5376 * libgnat/s-vallld.adb: Likewise.
5377 * libgnat/s-vallld.ads: Likewise.
5378 * libgnat/s-vallli.adb: Likewise.
5379 * libgnat/s-vallli.ads: Likewise.
5380 * libgnat/s-valllu.adb: Likewise.
5381 * libgnat/s-valllu.ads: Likewise.
5382 * libgnat/s-valrea.adb: Likewise.
5383 * libgnat/s-valrea.ads: Likewise.
5384 * libgnat/s-valuns.adb: Likewise.
5385 * libgnat/s-valuns.ads: Likewise.
5386 * libgnat/s-valuti.adb: Likewise.
5387 * libgnat/s-valuti.ads: Likewise.
5388 * libgnat/s-valwch.adb: Likewise.
5389 * libgnat/s-valwch.ads: Likewise.
5390 * libgnat/s-veboop.adb: Likewise.
5391 * libgnat/s-veboop.ads: Likewise.
5392 * libgnat/s-vector.ads: Likewise.
5393 * libgnat/s-vercon.adb: Likewise.
5394 * libgnat/s-vercon.ads: Likewise.
5395 * libgnat/s-wchcnv.adb: Likewise.
5396 * libgnat/s-wchcnv.ads: Likewise.
5397 * libgnat/s-wchcon.adb: Likewise.
5398 * libgnat/s-wchcon.ads: Likewise.
5399 * libgnat/s-wchjis.adb: Likewise.
5400 * libgnat/s-wchjis.ads: Likewise.
5401 * libgnat/s-wchstw.adb: Likewise.
5402 * libgnat/s-wchstw.ads: Likewise.
5403 * libgnat/s-wchwts.adb: Likewise.
5404 * libgnat/s-wchwts.ads: Likewise.
5405 * libgnat/s-widboo.adb: Likewise.
5406 * libgnat/s-widboo.ads: Likewise.
5407 * libgnat/s-widcha.adb: Likewise.
5408 * libgnat/s-widcha.ads: Likewise.
5409 * libgnat/s-widenu.adb: Likewise.
5410 * libgnat/s-widenu.ads: Likewise.
5411 * libgnat/s-widlli.adb: Likewise.
5412 * libgnat/s-widlli.ads: Likewise.
5413 * libgnat/s-widllu.adb: Likewise.
5414 * libgnat/s-widllu.ads: Likewise.
5415 * libgnat/s-widwch.adb: Likewise.
5416 * libgnat/s-widwch.ads: Likewise.
5417 * libgnat/s-win32.ads: Likewise.
5418 * libgnat/s-winext.ads: Likewise.
5419 * libgnat/s-wwdcha.adb: Likewise.
5420 * libgnat/s-wwdcha.ads: Likewise.
5421 * libgnat/s-wwdenu.adb: Likewise.
5422 * libgnat/s-wwdenu.ads: Likewise.
5423 * libgnat/s-wwdwch.adb: Likewise.
5424 * libgnat/s-wwdwch.ads: Likewise.
5425 * libgnat/system-aix.ads: Likewise.
5426 * libgnat/system-darwin-arm.ads: Likewise.
5427 * libgnat/system-darwin-ppc.ads: Likewise.
5428 * libgnat/system-darwin-x86.ads: Likewise.
5429 * libgnat/system-djgpp.ads: Likewise.
5430 * libgnat/system-dragonfly-x86_64.ads: Likewise.
5431 * libgnat/system-freebsd.ads: Likewise.
5432 * libgnat/system-hpux-ia64.ads: Likewise.
5433 * libgnat/system-hpux.ads: Likewise.
5434 * libgnat/system-linux-alpha.ads: Likewise.
5435 * libgnat/system-linux-arm.ads: Likewise.
5436 * libgnat/system-linux-hppa.ads: Likewise.
5437 * libgnat/system-linux-ia64.ads: Likewise.
5438 * libgnat/system-linux-m68k.ads: Likewise.
5439 * libgnat/system-linux-mips.ads: Likewise.
5440 * libgnat/system-linux-ppc.ads: Likewise.
5441 * libgnat/system-linux-riscv.ads: Likewise.
5442 * libgnat/system-linux-s390.ads: Likewise.
5443 * libgnat/system-linux-sh4.ads: Likewise.
5444 * libgnat/system-linux-sparc.ads: Likewise.
5445 * libgnat/system-linux-x86.ads: Likewise.
5446 * libgnat/system-lynxos178-ppc.ads: Likewise.
5447 * libgnat/system-lynxos178-x86.ads: Likewise.
5448 * libgnat/system-mingw.ads: Likewise.
5449 * libgnat/system-qnx-aarch64.ads: Likewise.
5450 * libgnat/system-rtems.ads: Likewise.
5451 * libgnat/system-solaris-sparc.ads: Likewise.
5452 * libgnat/system-solaris-x86.ads: Likewise.
5453 * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
5454 * libgnat/system-vxworks-arm-rtp.ads: Likewise.
5455 * libgnat/system-vxworks-arm.ads: Likewise.
5456 * libgnat/system-vxworks-e500-kernel.ads: Likewise.
5457 * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
5458 * libgnat/system-vxworks-e500-rtp.ads: Likewise.
5459 * libgnat/system-vxworks-e500-vthread.ads: Likewise.
5460 * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
5461 * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
5462 * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
5463 * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
5464 * libgnat/system-vxworks-ppc-vthread.ads: Likewise.
5465 * libgnat/system-vxworks-ppc.ads: Likewise.
5466 * libgnat/system-vxworks-x86-kernel.ads: Likewise.
5467 * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
5468 * libgnat/system-vxworks-x86-rtp.ads: Likewise.
5469 * libgnat/system-vxworks-x86-vthread.ads: Likewise.
5470 * libgnat/system-vxworks-x86.ads: Likewise.
5471 * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
5472 * libgnat/system-vxworks7-aarch64.ads: Likewise.
5473 * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
5474 * libgnat/system-vxworks7-arm.ads: Likewise.
5475 * libgnat/system-vxworks7-e500-kernel.ads: Likewise.
5476 * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
5477 * libgnat/system-vxworks7-e500-rtp.ads: Likewise.
5478 * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
5479 * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
5480 * libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
5481 * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
5482 * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
5483 * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
5484 * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
5485 * libgnat/system-vxworks7-x86-rtp.ads: Likewise.
5486 * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
5487 * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
5488 * libgnat/system.ads: Likewise.
5489 * link.c: Likewise.
5490 * live.adb: Likewise.
5491 * live.ads: Likewise.
5492 * locales.c: Likewise.
5493 * make.adb: Likewise.
5494 * make.ads: Likewise.
5495 * make_util.adb: Likewise.
5496 * make_util.ads: Likewise.
5497 * makeusg.adb: Likewise.
5498 * makeusg.ads: Likewise.
5499 * mdll-fil.adb: Likewise.
5500 * mdll-fil.ads: Likewise.
5501 * mdll-utl.adb: Likewise.
5502 * mdll-utl.ads: Likewise.
5503 * mdll.adb: Likewise.
5504 * mdll.ads: Likewise.
5505 * mingw32.h: Likewise.
5506 * mkdir.c: Likewise.
5507 * namet-sp.adb: Likewise.
5508 * namet-sp.ads: Likewise.
5509 * namet.adb: Likewise.
5510 * namet.ads: Likewise.
5511 * namet.h: Likewise.
5512 * nlists.adb: Likewise.
5513 * nlists.ads: Likewise.
5514 * nlists.h: Likewise.
5515 * opt.adb: Likewise.
5516 * opt.ads: Likewise.
5517 * osint-b.adb: Likewise.
5518 * osint-b.ads: Likewise.
5519 * osint-c.adb: Likewise.
5520 * osint-c.ads: Likewise.
5521 * osint-l.adb: Likewise.
5522 * osint-l.ads: Likewise.
5523 * osint-m.adb: Likewise.
5524 * osint-m.ads: Likewise.
5525 * osint.adb: Likewise.
5526 * osint.ads: Likewise.
5527 * output.adb: Likewise.
5528 * output.ads: Likewise.
5529 * par-ch10.adb: Likewise.
5530 * par-ch11.adb: Likewise.
5531 * par-ch12.adb: Likewise.
5532 * par-ch13.adb: Likewise.
5533 * par-ch2.adb: Likewise.
5534 * par-ch3.adb: Likewise.
5535 * par-ch4.adb: Likewise.
5536 * par-ch5.adb: Likewise.
5537 * par-ch6.adb: Likewise.
5538 * par-ch7.adb: Likewise.
5539 * par-ch8.adb: Likewise.
5540 * par-ch9.adb: Likewise.
5541 * par-endh.adb: Likewise.
5542 * par-labl.adb: Likewise.
5543 * par-load.adb: Likewise.
5544 * par-prag.adb: Likewise.
5545 * par-sync.adb: Likewise.
5546 * par-tchk.adb: Likewise.
5547 * par-util.adb: Likewise.
5548 * par.adb: Likewise.
5549 * par.ads: Likewise.
5550 * par_sco.adb: Likewise.
5551 * par_sco.ads: Likewise.
5552 * pprint.adb: Likewise.
5553 * pprint.ads: Likewise.
5554 * prep.adb: Likewise.
5555 * prep.ads: Likewise.
5556 * prepcomp.adb: Likewise.
5557 * prepcomp.ads: Likewise.
5558 * put_scos.adb: Likewise.
5559 * put_scos.ads: Likewise.
5560 * raise-gcc.c: Likewise.
5561 * raise.c: Likewise.
5562 * raise.h: Likewise.
5563 * repinfo-input.adb: Likewise.
5564 * repinfo-input.ads: Likewise.
5565 * repinfo.adb: Likewise.
5566 * repinfo.ads: Likewise.
5567 * repinfo.h: Likewise.
5568 * restrict.adb: Likewise.
5569 * restrict.ads: Likewise.
5570 * rident.ads: Likewise.
5571 * rtfinal.c: Likewise.
5572 * rtinit.c: Likewise.
5573 * rtsfind.adb: Likewise.
5574 * rtsfind.ads: Likewise.
5575 * runtime.h: Likewise.
5576 * s-oscons-tmplt.c: Likewise.
5577 * sa_messages.adb: Likewise.
5578 * sa_messages.ads: Likewise.
5579 * scans.adb: Likewise.
5580 * scans.ads: Likewise.
5581 * scil_ll.adb: Likewise.
5582 * scil_ll.ads: Likewise.
5583 * scn.adb: Likewise.
5584 * scn.ads: Likewise.
5585 * scng.adb: Likewise.
5586 * scng.ads: Likewise.
5587 * scos.adb: Likewise.
5588 * scos.ads: Likewise.
5589 * scos.h: Likewise.
5590 * sdefault.ads: Likewise.
5591 * seh_init.c: Likewise.
5592 * sem.adb: Likewise.
5593 * sem.ads: Likewise.
5594 * sem_aggr.adb: Likewise.
5595 * sem_aggr.ads: Likewise.
5596 * sem_attr.adb: Likewise.
5597 * sem_attr.ads: Likewise.
5598 * sem_aux.adb: Likewise.
5599 * sem_aux.ads: Likewise.
5600 * sem_case.adb: Likewise.
5601 * sem_case.ads: Likewise.
5602 * sem_cat.adb: Likewise.
5603 * sem_cat.ads: Likewise.
5604 * sem_ch10.adb: Likewise.
5605 * sem_ch10.ads: Likewise.
5606 * sem_ch11.adb: Likewise.
5607 * sem_ch11.ads: Likewise.
5608 * sem_ch12.adb: Likewise.
5609 * sem_ch12.ads: Likewise.
5610 * sem_ch13.adb: Likewise.
5611 * sem_ch13.ads: Likewise.
5612 * sem_ch2.adb: Likewise.
5613 * sem_ch2.ads: Likewise.
5614 * sem_ch3.adb: Likewise.
5615 * sem_ch3.ads: Likewise.
5616 * sem_ch4.adb: Likewise.
5617 * sem_ch4.ads: Likewise.
5618 * sem_ch5.adb: Likewise.
5619 * sem_ch5.ads: Likewise.
5620 * sem_ch6.adb: Likewise.
5621 * sem_ch6.ads: Likewise.
5622 * sem_ch7.adb: Likewise.
5623 * sem_ch7.ads: Likewise.
5624 * sem_ch8.adb: Likewise.
5625 * sem_ch8.ads: Likewise.
5626 * sem_ch9.adb: Likewise.
5627 * sem_ch9.ads: Likewise.
5628 * sem_dim.adb: Likewise.
5629 * sem_dim.ads: Likewise.
5630 * sem_disp.adb: Likewise.
5631 * sem_disp.ads: Likewise.
5632 * sem_dist.adb: Likewise.
5633 * sem_dist.ads: Likewise.
5634 * sem_elab.adb: Likewise.
5635 * sem_elab.ads: Likewise.
5636 * sem_elim.adb: Likewise.
5637 * sem_elim.ads: Likewise.
5638 * sem_eval.adb: Likewise.
5639 * sem_eval.ads: Likewise.
5640 * sem_intr.adb: Likewise.
5641 * sem_intr.ads: Likewise.
5642 * sem_mech.adb: Likewise.
5643 * sem_mech.ads: Likewise.
5644 * sem_prag.adb: Likewise.
5645 * sem_prag.ads: Likewise.
5646 * sem_res.adb: Likewise.
5647 * sem_res.ads: Likewise.
5648 * sem_scil.adb: Likewise.
5649 * sem_scil.ads: Likewise.
5650 * sem_smem.adb: Likewise.
5651 * sem_smem.ads: Likewise.
5652 * sem_type.adb: Likewise.
5653 * sem_type.ads: Likewise.
5654 * sem_util.adb: Likewise.
5655 * sem_util.ads: Likewise.
5656 * sem_warn.adb: Likewise.
5657 * sem_warn.ads: Likewise.
5658 * set_targ.adb: Likewise.
5659 * set_targ.ads: Likewise.
5660 * sfn_scan.adb: Likewise.
5661 * sfn_scan.ads: Likewise.
5662 * sigtramp-armdroid.c: Likewise.
5663 * sigtramp-ios.c: Likewise.
5664 * sigtramp-qnx.c: Likewise.
5665 * sigtramp-vxworks.c: Likewise.
5666 * sigtramp.h: Likewise.
5667 * sinfo-cn.adb: Likewise.
5668 * sinfo-cn.ads: Likewise.
5669 * sinfo.adb: Likewise.
5670 * sinfo.ads: Likewise.
5671 * sinput-c.adb: Likewise.
5672 * sinput-c.ads: Likewise.
5673 * sinput-d.adb: Likewise.
5674 * sinput-d.ads: Likewise.
5675 * sinput-l.adb: Likewise.
5676 * sinput-l.ads: Likewise.
5677 * sinput.adb: Likewise.
5678 * sinput.ads: Likewise.
5679 * socket.c: Likewise.
5680 * spark_xrefs.adb: Likewise.
5681 * spark_xrefs.ads: Likewise.
5682 * sprint.adb: Likewise.
5683 * sprint.ads: Likewise.
5684 * stand.adb: Likewise.
5685 * stand.ads: Likewise.
5686 * stringt.adb: Likewise.
5687 * stringt.ads: Likewise.
5688 * stringt.h: Likewise.
5689 * style.adb: Likewise.
5690 * style.ads: Likewise.
5691 * styleg.adb: Likewise.
5692 * styleg.ads: Likewise.
5693 * stylesw.adb: Likewise.
5694 * stylesw.ads: Likewise.
5695 * switch-b.adb: Likewise.
5696 * switch-b.ads: Likewise.
5697 * switch-c.adb: Likewise.
5698 * switch-c.ads: Likewise.
5699 * switch-m.adb: Likewise.
5700 * switch-m.ads: Likewise.
5701 * switch.adb: Likewise.
5702 * switch.ads: Likewise.
5703 * symbols.adb: Likewise.
5704 * symbols.ads: Likewise.
5705 * sysdep.c: Likewise.
5706 * table.adb: Likewise.
5707 * table.ads: Likewise.
5708 * targext.c: Likewise.
5709 * targparm.adb: Likewise.
5710 * targparm.ads: Likewise.
5711 * tbuild.adb: Likewise.
5712 * tbuild.ads: Likewise.
5713 * tempdir.adb: Likewise.
5714 * tempdir.ads: Likewise.
5715 * terminals.c: Likewise.
5716 * tracebak.c: Likewise.
5717 * tree_gen.adb: Likewise.
5718 * tree_gen.ads: Likewise.
5719 * tree_in.adb: Likewise.
5720 * tree_in.ads: Likewise.
5721 * tree_io.adb: Likewise.
5722 * tree_io.ads: Likewise.
5723 * treepr.adb: Likewise.
5724 * treepr.ads: Likewise.
5725 * ttypes.ads: Likewise.
5726 * types.adb: Likewise.
5727 * types.ads: Likewise.
5728 * types.h: Likewise.
5729 * uintp.adb: Likewise.
5730 * uintp.ads: Likewise.
5731 * uintp.h: Likewise.
5732 * uname.adb: Likewise.
5733 * uname.ads: Likewise.
5734 * urealp.adb: Likewise.
5735 * urealp.ads: Likewise.
5736 * urealp.h: Likewise.
5737 * usage.adb: Likewise.
5738 * usage.ads: Likewise.
5739 * validsw.adb: Likewise.
5740 * validsw.ads: Likewise.
5741 * warnsw.adb: Likewise.
5742 * warnsw.ads: Likewise.
5743 * widechar.adb: Likewise.
5744 * widechar.ads: Likewise.
5745 * xeinfo.adb: Likewise.
5746 * xnmake.adb: Likewise.
5747 * xoscons.adb: Likewise.
5748 * xr_tabls.adb: Likewise.
5749 * xr_tabls.ads: Likewise.
5750 * xref_lib.adb: Likewise.
5751 * xref_lib.ads: Likewise.
5752 * xsinfo.adb: Likewise.
5753 * xsnamest.adb: Likewise.
5754 * xtreeprs.adb: Likewise.
5755 * xutil.adb: Likewise.
5756 * xutil.ads: Likewise.
5757
5758 2020-06-02 Javier Miranda <miranda@adacore.com>
5759
5760 * sem_ch3.adb (Analyze_Object_Declaration): Set attribute
5761 Expansion_Delayed on aggregates that initialize an object that
5762 has aspect alignment or address clause. Done to allow ther
5763 initialization by means of multiple assignments.
5764 * exp_ch3.adb (Expand_N_Object_Declaration): Resolve delayed
5765 aggregates. This patch complements the patch applied to
5766 sem_ch3.adb
5767
5768 2020-06-02 Javier Miranda <miranda@adacore.com>
5769
5770 * sem_util.adb (Ensure_Minimum_Decoration): New subprogram that
5771 ensures the minimum decoration required by
5772 Requires_Transient_Scope() to provide its functionality when the
5773 entity is not frozen.
5774
5775 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5776
5777 * exp_ch4.adb (Expand_N_Op_Divide): Remove code dealing with
5778 the Treat_Fixed_As_Integer flag.
5779 (Expand_N_Op_Multiply): Likewise.
5780 * exp_fixd.adb (Build_Divide): Do the division in an integer
5781 type long enough to hold both operands and convert the result
5782 to the type of the LHS. Do not set Treat_Fixed_As_Integer.
5783 (Build_Multiply): Do not set Treat_Fixed_As_Integer.
5784 (Build_Rem): Likewise.
5785 * sem_ch4.adb (Analyze_Arithmetic_Op): Remove code dealing with
5786 the Treat_Fixed_As_Integer flag.
5787 (Check_Arithmetic_Pair): Likewise.
5788 * sinfo.ads (Treat_Fixed_As_Integer): Delete.
5789 (N_Has_Treat_Fixed_As_Integer): Likewise.
5790 (Set_Treat_Fixed_As_Integer): Likewise.
5791 * sinfo.adb (Treat_Fixed_As_Integer): Likewise.
5792 (Set_Treat_Fixed_As_Integer): Likewise.
5793 * sprint.ads (Syntax Extensions): Remove '#' special character.
5794 * sprint.adb (Process_TFAI_RR_Flags): Delete.
5795 (Sprint_Node_Actual) <N_Op_Divide>: Print '@' manually.
5796 <N_Op_Multiply>: Likewise.
5797 <N_Op_Mod>: Do not print '#'.
5798 <N_Op_Rem>: Likewise.
5799
5800 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5801
5802 * exp_aggr.adb (Others_Check): In the positional case, use the
5803 general expression for the comparison only when needed.
5804 * exp_attr.adb (Expand_Fpt_Attribute;): Use a simple conversion
5805 to the target type instead of an unchecked conversion to the
5806 base type to do the range check, as in the other cases.
5807 (Expand_N_Attribute_Reference) <Attribute_Storage_Size>: Do the
5808 Max operation in the type of the storage size variable, and use
5809 Convert_To as in the other cases.
5810 * tbuild.adb (Convert_To): Do not get rid of an intermediate
5811 conversion to Universal_Integer here...
5812 * sem_res.adb (Simplify_Type_Conversion): ...but here instead.
5813
5814 2020-06-02 Bob Duff <duff@adacore.com>
5815
5816 * doc/gnat_ugn/gnat_utility_programs.rst: Update documentation
5817 for --RM-style-spacing.
5818
5819 2020-06-02 Bob Duff <duff@adacore.com>
5820
5821 * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
5822 --[no-]compact switch.
5823
5824 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5825
5826 * exp_aggr.adb (Build_Array_Aggr_Code): Set the type of the PAT
5827 on the zero used to clear the array.
5828 * exp_attr.adb (Expand_N_Attribute_Reference)
5829 <Attribute_Alignment>: In the CW case, directly convert from the
5830 alignment's type to the target type if the parent is an
5831 unchecked conversion.
5832 * sem_res.adb (Set_String_Literal_Subtype): In the dynamic case,
5833 use the general expression for the upper bound only when needed.
5834 Set the base type of the index as the type of the low bound.
5835 (Simplify_Type_Conversion): Do an intermediate conversion to the
5836 root type of the target type if the operand is an integer
5837 literal.
5838 * tbuild.adb (Convert_To): Get rid of an intermediate conversion
5839 to Universal_Integer if the inner expression has integer tyoe.
5840 * libgnat/a-sequio.adb (Byte_Swap): Make use of an equivalent
5841 static expression in the case statement.
5842
5843 2020-06-02 Thomas Quinot <quinot@adacore.com>
5844
5845 * par_sco.adb (Traverse_Degenerate_Subprogram): Set statement
5846 code to 'X'.
5847 * scos.ads: Update comment documenting SCO data.
5848
5849 2020-06-02 Gary Dismukes <dismukes@adacore.com>
5850
5851 * exp_unst.adb (Register_Subprogram): Test for Address_Taken (in
5852 addition to the existing test for In_Synchonized_Unit) when
5853 deciding whether to reset the Reachable flag on all subprograms
5854 enclosing the subprogram being registered.
5855
5856 2020-06-02 Justin Squirek <squirek@adacore.com>
5857
5858 * sem_ch6.adb (Check_Return_Obj_Accessibility): Avoid use of
5859 parent node pointers so we are not relying on expansion done in
5860 GNATprove mode.
5861
5862 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5863
5864 * exp_attr.adb (Expand_N_Attribute_Reference)
5865 <Attribute_Alignment>: Adjust comment and compare against proper
5866 type.
5867
5868 2020-06-02 Gary Dismukes <dismukes@adacore.com>
5869
5870 * exp_unst.adb (Visit_Node): When visiting array attribute
5871 nodes, apply Get_Referenced_Object to the attribute prefix, to
5872 handle prefixes denoting renamed objects by picking up the Etype
5873 of the renamed object rather than the possibly unconstrained
5874 nominal subtype of the renaming declaration's Entity.
5875 * sem_util.ads (Get_Referenced_Object): Update comment to
5876 clearly indicate that any kind of node can be passed to this
5877 function.
5878 * sem_util.adb (Get_Referenced_Object): Add test of Is_Object to
5879 the condition, to allow for passing names that denote types and
5880 subtypes.
5881
5882 2020-06-02 Bob Duff <duff@adacore.com>
5883
5884 * snames.ads-tmpl: Add comments explaining that enumeration
5885 types have to be kept in synch with subtypes of Name_Id.
5886
5887 2020-06-02 Piotr Trojanek <trojanek@adacore.com>
5888
5889 * sem_util.adb (Check_No_Hidden_State): Remove dead code.
5890
5891 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5892
5893 * exp_pakd.adb (Expand_Packed_Bit_Reference): Change type of
5894 reference from Universal_Integer to Standard_Natural.
5895
5896 2020-06-02 Piotr Trojanek <trojanek@adacore.com>
5897
5898 * sem_prag.adb (Collect_States_And_Objects): Call itself on
5899 declaration of nested packages; append abstract states
5900 one-by-one, so that in recursive call we do not overwrite the
5901 ones that have been already collected.
5902
5903 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5904
5905 * exp_atag.ads (Build_Inherit_Predefined_Prims): Change type
5906 of Num_Predef_Prim parameter from Int to Nat.
5907 * exp_atag.adb (Build_Range): New procedure.
5908 (Build_Val): Likewise.
5909 (Build_CW_Membership): Call Build_Val.
5910 (Build_Get_Predefined_Prim_Op_Address): Likewise.
5911 (Build_Inherit_CPP_Prims): Likewise.
5912 (Build_Get_Prim_Op_Address): Likewise.
5913 (Build_Set_Predefined_Prim_Op_Address): Likewise.
5914 (Build_Inherit_Prims): Call Build_Range.
5915 (Build_Inherit_Predefined_Prims): Likewise. Change type of
5916 Num_Predef_Prim parameter from Int to Nat.
5917
5918 2020-06-02 Gary Dismukes <dismukes@adacore.com>
5919
5920 * sem_ch3.adb: Two typo fixes.
5921
5922 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5923
5924 * sem_ch3.adb (Replace_Discriminants): Preserve the Etype of the
5925 Name of N_Variant_Part nodes when rewriting it.
5926
5927 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5928
5929 * sem_ch3.adb (Signed_Integer_Type_Declaration): Change the type
5930 of the bounds from Universal_Integer to Implicit_Base.
5931
5932 2020-06-02 Arnaud Charlet <charlet@adacore.com>
5933
5934 * bcheck.adb, binde.adb, bindo-diagnostics.adb, checks.adb,
5935 exp_aggr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
5936 exp_ch9.adb, gnatname.adb, sem_case.adb, sem_ch13.adb,
5937 sem_ch5.adb, sem_prag.adb, sem_util.adb, uintp.adb, urealp.adb,
5938 xoscons.adb, xr_tabls.adb, xref_lib.adb: Initialize objects more
5939 explicitly and add corresponding assertions. Remove dead code.
5940 Also add a few Annotate pragmas to help static analysis.
5941 * libgnat/a-caldel.adb, libgnat/a-calend.adb,
5942 libgnat/a-ngcoty.adb, libgnat/a-ngelfu.adb,
5943 libgnat/a-ngrear.adb, libgnat/a-strfix.adb,
5944 libgnat/g-calend.adb, libgnat/g-catiio.adb,
5945 libgnat/g-comlin.adb, libgnat/g-debpoo.adb,
5946 libgnat/g-dirope.adb, libgnat/g-hesorg.adb,
5947 libgnat/g-pehage.adb, libgnat/g-socket.adb, libgnat/i-cobol.adb,
5948 libgnat/s-dwalin.adb, libgnat/s-dwalin.ads,
5949 libgnat/s-fatgen.adb, libgnat/s-gearop.adb,
5950 libgnat/s-genbig.adb, libgnat/s-imgrea.adb,
5951 libgnat/s-os_lib.adb, libgnat/s-rannum.adb,
5952 libgnat/s-regpat.adb, libgnat/s-trasym__dwarf.adb,
5953 libgnat/s-valrea.adb: Ditto.
5954
5955 2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
5956
5957 * sem_ch3.adb (Replace_Components): Rename into...
5958 (Replace_Discriminants): ...this. Replace girder discriminants
5959 with non-girder ones. Do not replace components.
5960 * sem_ch13.adb (Check_Record_Representation_Clause): Deal with
5961 non-girder discriminants correctly.
5962
5963 2020-06-02 Piotr Trojanek <trojanek@adacore.com>
5964
5965 * lib-xref-spark_specific.adb (Create_Heap): use a new variant
5966 of Name_Enter to directly converts String to Make_Id.
5967
5968 2020-06-02 Gary Dismukes <dismukes@adacore.com>
5969
5970 * exp_attr.adb, par-ch4.adb, par-util.adb, scans.ads, scng.adb,
5971 sem_attr.adb, sem_ch4.adb, sinfo.ads: Typo corrections and minor
5972 reformatting.
5973
5974 2020-06-02 Arnaud Charlet <charlet@adacore.com>
5975
5976 * snames.ads-tmpl (Name_Img, Attribute_Img): Make it an
5977 attribute returning renamable functions.
5978
5979 2020-06-02 Yannick Moy <moy@adacore.com>
5980
5981 * sem_prag.adb, sem_prag.ads (Set_Overflow_Mode): New procedure
5982 to set overflow mode.
5983
5984 2020-06-02 Piotr Trojanek <trojanek@adacore.com>
5985
5986 * contracts.adb, einfo.adb, exp_ch9.adb, sem_ch12.adb,
5987 sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb,
5988 sem_type.adb, sem_util.adb: Reuse Is_Package_Or_Generic_Package
5989 where possible (similarly, reuse Is_Concurrent_Type if it was
5990 possible in the same expressions).
5991
5992 2020-05-30 Arnaud Charlet <charlet@adacore.com>
5993
5994 * Makefile.rtl (ADA_INCLUDE_SRCS): Replace Makefile.adalib by
5995 libada.gpr and associated project files.
5996 (g-debpoo.o): Add missing rule to ensure subprograms are not reordered.
5997 (setup-rts): Add generation of libgnat/libgnarl.lst.
5998 (LIBGNAT_SRCS): Remove thread.c which is part of libgnarl.
5999 * tracebak.c, tb-gcc.c: Merged the two files to simplify dependencies.
6000 * libgnarl/libgnarl.gpr, libgnat/libada.gpr,
6001 libgnat/libgnat.gpr, libgnat/libgnat_common.gpr: New files.
6002 * doc/gnat_ugn/the_gnat_compilation_model.rst: Makefile.adalib
6003 replaced by libada.gpr.
6004 * libgnat/system-mingw.ads: Remove obsolete comment.
6005 * gcc-interface/Makefile.in: Remove dependency on tb-gcc.c.
6006
6007 2020-05-27 Martin Liska <mliska@suse.cz>
6008
6009 * gnatvsn.ads: Bump Library_Version to 11.
6010
6011 2020-05-26 Eric Botcazou <ebotcazou@gcc.gnu.org>
6012
6013 PR ada/95333
6014 * gcc-interface/decl.c (gnat_to_gnu_param): Never make a variant of
6015 the type.
6016
6017 2020-05-26 Alexandre Oliva <oliva@adacore.com>
6018
6019 * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Define in
6020 terms of DUMPS_OPTIONS. Replace occurrences of %{d*} %:dumps
6021 with it.
6022
6023 2020-05-26 Alexandre Oliva <oliva@adacore.com>
6024
6025 * gcc-interface/lang-specs.h: Drop auxbase and auxbase-strip.
6026 Use %:dumps instead of -dumpbase. Add %w for implicit .s
6027 primary output.
6028 * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
6029 dumpbase-ext. Drop auxbase and auxbase-strip.
6030
6031 2020-05-25 Yannick Moy <moy@adacore.com>
6032
6033 * sem_util.adb (Check_No_Hidden_State): Stop propagation at
6034 first block/task/entry.
6035
6036 2020-05-25 Yannick Moy <moy@adacore.com>
6037
6038 * doc/gnat_rm/implementation_defined_pragmas.rst: Document
6039 changes to pragmas Compile_Time_Error/Compile_Time_Warning.
6040 * gnat_rm.texi: Regenerate.
6041 * libgnat/g-bytswa.adb: Change uses of Compile_Time_Error to
6042 Compile_Time_Warning, as the actual expression may not always be
6043 known statically.
6044 * sem_prag.adb (Analyze_Pragma): Handle differently pragma
6045 Compile_Time_Error in both compilation and in GNATprove mode.
6046 (Validate_Compile_Time_Warning_Or_Error): Issue an error or
6047 warning when the expression is not known at compile time.
6048 * usage.adb: Add missing documentation for warning switches _c
6049 and _r.
6050 * warnsw.ads: Update comment.
6051
6052 2020-05-25 Justin Squirek <squirek@adacore.com>
6053
6054 * sem_ch6.adb (Check_Return_Obj_Accessibility): Use original
6055 node to avoid looking at expansion done in GNATprove mode.
6056
6057 2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
6058
6059 * gcc-interface/decl.c (gnat_to_gnu_entity): Add new local variable
6060 and use it throughout the function.
6061 <E_Variable>: Rename local variable and adjust accordingly. In the
6062 case of a renaming, materialize the entity if the renamed object is
6063 an N_Expression_With_Actions node.
6064 <E_Procedure>: Use Alias accessor function consistently.
6065
6066 2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
6067
6068 * gcc-interface/misc.c (get_array_bit_stride): Get to the debug type,
6069 if any, before calling gnat_get_array_descr_info.
6070
6071 2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
6072
6073 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Tidy up.
6074 (build_variant_list): Add GNAT_VARIANT_PART parameter and annotate its
6075 variants if it is present. Adjust the recursive call by passing the
6076 variant subpart of variants, if any.
6077 (copy_and_substitute_in_layout): Rename GNU_SUBST_LIST to SUBST_LIST
6078 and adjust throughout. For a type, pass the variant part in the
6079 call to build_variant_list.
6080
6081 2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
6082
6083 * gcc-interface/decl.c (gnat_to_gnu_component_type): Cap the alignment
6084 of the component type according to the component size.
6085
6086 2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
6087
6088 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add a
6089 description of the various types associated with the unconstrained
6090 type. Declare the fat pointer earlier. Set the current function
6091 as context on the template type, and the fat pointer type on the
6092 array type. Always mark the fat pointer type as artificial and set
6093 it as the context for the pointer type to the array. Also reuse
6094 GNU_ENTITY_NAME. Finish up the unconstrained type at the very end.
6095 * gcc-interface/misc.c (gnat_get_array_descr_info): Do not handle
6096 fat pointer types and tidy up accordingly.
6097 * gcc-interface/utils.c (build_unc_object_type): Do not set the
6098 context on the template type.
6099 (gnat_pushdecl): Mark the canonical fat pointer types as artificial.
6100
6101 2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
6102
6103 * gcc-interface/gigi.h (operand_type): New static inline function.
6104 * gcc-interface/trans.c (gnat_to_gnu): Do not suppress conversion
6105 to the resulty type at the end for array types.
6106 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not
6107 remove conversions between array types on the LHS.
6108
6109 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
6110
6111 * sem_aggr.ads (Is_Single_Aggregate): New function.
6112 * sem_aggr.adb (Is_Others_Aggregate): Use local variable.
6113 (Is_Single_Aggregate): New function to recognize an aggregate with
6114 a single association containing a single choice.
6115 * fe.h (Is_Others_Aggregate): Delete.
6116 (Is_Single_Aggregate): New declaration.
6117 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Call
6118 Is_Single_Aggregate instead of Is_Others_Aggregate.
6119
6120 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
6121
6122 PR ada/95035
6123 * gcc-interface/utils.c (packable_type_hasher::equal): Also compare
6124 the scalar storage order.
6125 (hash_packable_type): Also hash the scalar storage order.
6126 (hash_pad_type): Likewise.
6127
6128 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6129
6130 * gcc-interface/*.[ch]: Update copyright year.
6131
6132 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6133
6134 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Assert that
6135 the prefix is not a type.
6136
6137 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6138
6139 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Rename into...
6140 (TYPE_BIT_PACKED_ARRAY_TYPE_P): ...this.
6141 (TYPE_IS_PACKED_ARRAY_TYPE_P): Rename into...
6142 (BIT_PACKED_ARRAY_TYPE_P): ...this.
6143 (TYPE_IMPL_PACKED_ARRAY_P): Adjust to above renaming.
6144 * gcc-interface/gigi.h (maybe_pad_type): Remove IS_USER_TYPE parameter.
6145 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Adjust call
6146 to maybe_pad_type.
6147 <E_Ordinary_Fixed_Point_Type>: Remove const qualifiers for tree.
6148 <E_Signed_Integer_Subtype>: Remove redundant test and redundant call
6149 to associate_original_type_to_packed_array. Turn test into assertion.
6150 Call associate_original_type_to_packed_array and modify gnu_entity_name
6151 accordingly. Explicitly set the parallel type for GNAT encodings.
6152 Call create_type_decl in the misaligned case before maybe_pad_type.
6153 <E_Array_Type>: Do not use the name of the implementation type for a
6154 packed array when not using GNAT encodings.
6155 <E_Array_Subtype>: Move around setting flags. Use the result of the
6156 call to associate_original_type_to_packed_array for gnu_entity_name.
6157 <E_Record_Subtype>: Create XVS type and XVZ variable only if debug
6158 info is requested for the type.
6159 Call create_type_decl if a padded type was created for a type entity.
6160 (gnat_to_gnu_component_type): Use local variable and adjust calls to
6161 maybe_pad_type.
6162 (gnat_to_gnu_subprog_type): Adjust call to maybe_pad_type.
6163 (gnat_to_gnu_field): Likewise.
6164 (validate_size): Adjust to renaming of macro.
6165 (set_rm_size): Likewise.
6166 (associate_original_type_to_packed_array): Adjust return type and
6167 return the name of the original type if GNAT encodings are not used.
6168 * gcc-interface/misc.c (gnat_get_debug_typ): Remove obsolete stuff.
6169 (gnat_get_fixed_point_type_info): Remove const qualifiers for tree.
6170 (gnat_get_array_descr_info): Likewise and set variables lazily.
6171 Remove call to maybe_debug_type. Simplify a few computations.
6172 (enumerate_modes): Remove const qualifier for tree.
6173 * gcc-interface/utils.c (make_type_from_size): Adjust to renaming.
6174 (maybe_pad_type): Remove IS_USER_TYPE parameter and adjust. Remove
6175 specific code for implementation types for packed arrays.
6176 (compute_deferred_decl_context): Remove const qualifier for tree.
6177 (convert): Adjust call to maybe_pad_type.
6178 (unchecked_convert): Likewise.
6179 * gcc-interface/utils2.c (is_simple_additive_expressio): Likewise.
6180
6181 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6182
6183 * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Use
6184 build_nonshared_array_type to build the common type and declare it.
6185
6186 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6187
6188 * gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the user
6189 for -fnon-call-exceptions in default mode.
6190
6191 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6192
6193 * gcc-interface/trans.c (lvalue_required_p) <N_Selected_Component>:
6194 Merge with N_Slice.
6195 <N_Allocator>: Move to...
6196 (lvalue_for_aggregate_p): ...here. New function.
6197 (Identifier_to_gnu): For an identifier with aggregate type, also
6198 call lvalue_for_aggregate_p if lvalue_required_p returned false
6199 before substituting the identifier with the constant.
6200
6201 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6202
6203 * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values if
6204 they appear in any kind of attribute references.
6205
6206 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6207
6208 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Deal
6209 with qualified "others" aggregates in the memset case.
6210
6211 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6212
6213 * gcc-interface/decl.c (gnat_to_gnu_param): Also back-annotate the
6214 mechanism in the case of an Out parameter only passed by copy-out.
6215
6216 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6217
6218 * gcc-interface/gigi.h (change_qualified_type): Move around.
6219 (maybe_vector_array): Likewise.
6220 (maybe_padded_object): New static line function.
6221 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Component_Size>:
6222 Remove useless code.
6223 <Attr_Null_Parameter>: Remove obsolete code.
6224 (Call_to_gn): Likewise. Use maybe_padded_object to remove padding.
6225 (gnat_to_gnu): Likewise.
6226 <N_String_Literal>: Do not add a useless null character at the end.
6227 <N_Indexed_Component>: Likewise and remove obsolete code.
6228 (add_decl_expr): Likewise.
6229 (maybe_implicit_deref): Likewise.
6230 * gcc-interface/utils.c (maybe_unconstrained_array): Likewise.
6231 * gcc-interface/utils2.c (gnat_invariant_expr): Likewise.
6232
6233 2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
6234
6235 * gcc-interface/utils2.c: Include builtins.h.
6236 (known_alignment) <ADDR_EXPR>: Use DECL_ALIGN for DECL_P operands
6237 and get_object_alignment for the rest.
6238
6239 2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
6240
6241 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Force at
6242 least the unit size for an aliased object of a constrained nominal
6243 subtype whose size is variable.
6244
6245 2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
6246
6247 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Deal
6248 with artificial maximally-sized types designed by access types.
6249 * gcc-interface/utils.c (packable_type_hash): New structure.
6250 (packable_type_hasher): Likewise.
6251 (packable_type_hash_table): New hash table.
6252 (init_gnat_utils): Initialize it.
6253 (destroy_gnat_utils): Destroy it.
6254 (packable_type_hasher::equal): New method.
6255 (hash_packable_type): New static function.
6256 (canonicalize_packable_type): Likewise.
6257 (make_packable_type): Make sure not to use too small a type for the
6258 size of the new fields. Canonicalize the type if it is named.
6259
6260 2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
6261
6262 * gcc-interface/trans.c (Raise_Error_to_gnu): Always compute a lower
6263 bound and an upper bound for use by the -gnateE switch for range and
6264 comparison operators.
6265
6266 2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
6267
6268 * gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of
6269 the type in LTO mode.
6270
6271 2020-05-04 Mikael Pettersson <mikpelinux@gmail.com>
6272
6273 PR bootstrap/94918
6274 * mingw32.h: Prevent windows.h from including emmintrin.h on Cygwin64.
6275 * s-oscons-tmplt.c (Serial_Port_Descriptor): Use System.Win32.HANDLE
6276 also on Cygwin.
6277
6278 2020-03-11 Richard Wai <richard@annexi-strayline.com>
6279
6280 * gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on
6281 the Alias of the entitiy, if it is present, in the main assertion.
6282
6283 2020-02-06 Alexandre Oliva <oliva@adacore.com>
6284
6285 * raise-gcc.c (personality_body) [__ARM_EABI_UNWINDER__]:
6286 Initialize barrier_cache.sp when ending phase1.
6287
6288 2020-01-04 Eric Botcazou <ebotcazou@adacore.com>
6289
6290 * gnatvsn.ads: Bump copyright year.
6291
6292 2020-01-01 Jakub Jelinek <jakub@redhat.com>
6293
6294 Update copyright years.
6295
6296 * gnat_ugn.texi: Bump @copying's copyright year.
6297 * gnat_rm.texi: Likewise.
6298 \f
6299 Copyright (C) 2020 Free Software Foundation, Inc.
6300
6301 Copying and distribution of this file, with or without modification,
6302 are permitted in any medium without royalty provided the copyright
6303 notice and this notice are preserved.