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