]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
[Ada] Document new switches for gnatpp
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
71483539
BD
12018-05-22 Bob Duff <duff@adacore.com>
2
3 * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
4 the new --split-line-before-record, --indent-named-statements and
5 --no-align-modes gnatpp switches.
6
531351e8
ES
72018-05-22 Ed Schonberg <schonberg@adacore.com>
8
9 * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Handle properly
10 a second argument that is a constant of a given string value.
11
9c629d61
DR
122018-05-22 Doug Rupp <rupp@adacore.com>
13
14 * sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.
15
14141ce8
JL
162018-05-22 Jerome Lambourg <lambourg@adacore.com>
17
18 * sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline.
19
f2df0100
ES
202018-05-22 Ed Schonberg <schonberg@adacore.com>
21
22 * freeze.adb (Freeze_Fixed_Point_Type): If the first subtype has
23 delayed aspects, analyze them now, os that the representation of the
24 type (size, bounds) can be computed and validated.
25
b8bbe739
OH
262018-05-22 Olivier Hainque <hainque@adacore.com>
27
28 * libgnat/s-dwalin.adb (Enable_Cache): Skip symbols outside of the
29 executable code section boundaries.
30
92ea8dd2
JM
312018-05-22 Javier Miranda <miranda@adacore.com>
32
33 * locales.c: New implementation for the Ada.Locales package.
34 * libgnat/a-locale.ads: Remove comment indicating that this is not
35 implemented.
36 * doc/gnat_rm/standard_library_routines.rst: Remove comment indicating
37 that this is not implemented.
38 * gnat_rm.texi: Regenerate.
39
e5fc0179
HK
402018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
41
42 * exp_ch5.adb, freeze.adb, pprint.adb, sem_ch4.adb, sem_res.adb: Minor
43 reformattings.
44
eaf51442
JS
452018-05-22 Justin Squirek <squirek@adacore.com>
46
47 * sem_ch12.adb (In_Same_Declarative_Part): Moved to sem_util.
48 (Freeze_Subprogram_Body, Install_Body): Modify calls to
49 In_Same_Declarative_Part.
50 * sem_prag.adb (Analyze_Pragma-Pragma_Pure_Function): Add check to
51 verify pragma declaration is within the same declarative list with
52 corresponding error message.
53 * sem_util.adb, sem_util.ads (In_Same_Declarative_Part): Moved from
54 sem_ch12.adb and generalized to be useful outside the scope of
55 freezing.
56
80f0c69c
HK
572018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
58
59 * sem_ch6.adb (Analyze_Subprogram_Declaration): Set the proper
60 categorization of the unit after processing the aspects in case one of
61 its aspects is converted into a categorization pragma.
62
f9e9ab63
ES
632018-05-21 Ed Schonberg <schonberg@adacore.com>
64
65 * freeze.adb (Warn_Overlay): Do not emit a wawrning on an object
66 declaration with an explicit address clause and a type with default
67 initialization, if the declaration carries an aspect
68 Suppress_Initialization.
69
dc3d037e 702018-05-21 Daniel Mercier <mercier@adacore.com>
af5d8cb0
DM
71
72 * pprint.adb: Use mixed case for attribute names.
73
dc3d037e 742018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
e9d08fd7
HK
75
76 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Rename the call to
77 Analyze_Aspect_Specifications_On_Body_Or_Stub.
78 (Analyze_Subprogram_Body_Helper): Rename the calls to
79 Analyze_Aspect_Specifications_On_Body_Or_Stub.
80 * sem_ch9.adb (Analyze_Entry_Body): Rename the call to
81 Analyze_Aspect_Specifications_On_Body_Or_Stub.
82 * sem_ch10.adb: Add with and use clause for Sem_Ch13.
83 (Analyze_Package_Body_Stub): Add constant Id. Decorate the package stub
84 prior to analyzing its aspects.
85 (Analyze_Protected_Body_Stub): Add constant Id. Decorate the package
86 stub prior to analyzing its aspects. Save and restore the configuration
87 switches.
88 (Analyze_Task_Body_Stub): Add constant Id. Decorate the package stub
89 prior to analyzing its aspects.
90 * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
91 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
92 * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
93 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
94 * sem_prag.adb: Code reformatting.
95 (Analyze_Refined_Depends_Global_Post): Consider task body stubs.
96
dc3d037e 972018-05-21 Jerome Lambourg <lambourg@adacore.com>
f35b3e38
JL
98
99 * gcc-interface/Makefile.in: Add g-soliop__qnx.ads to the runtime build
100 for QNX.
101
dc3d037e 1022018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7a500fd7
HK
103
104 * exp_cg.adb: Remove with and use clause for Exp_Disp.
105 * exp_ch9.adb: Remove with and use clause for Exp_Disp.
106 * exp_disp.adb (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
107 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
108 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
109 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
110 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
111 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
112 * exp_dist.adb: Remove with and use clause for Exp_Disp.
113 * freeze.adb: Remove with and use clause for Exp_Disp.
114 * sem_cat.adb: Remove with and use clause for Exp_Disp.
115 * sem_ch6.adb: Remove with and use clause for Exp_Disp.
116 * sem_ch12.adb: Remove with and use clause for Exp_Disp.
117 * sem_elab.adb (Check_Overriding_Primitive): Do not process predefined
118 primitives.
119 * sem_util.adb: Remove with and use clause for Exp_Disp.
120 (Is_Predefined_Dispatching_Operation): Moved from Exp_Disp.
121 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
122 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
123 * sem_util.ads (Is_Predefined_Dispatching_Operation): Moved from
124 Exp_Disp.
125 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
126 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
127
dc3d037e 1282018-05-21 Ed Schonberg <schonberg@adacore.com>
516057d3
ES
129
130 * sem_res.adb (Valid_Conversion): Improve error message on an illegal
131 type conversion whose expression has a limited view of a type.
132
def6e435
ES
1332018-05-21 Ed Schonberg <schonberg@adacore.com>
134
135 * exp_ch5.adb (Build_Formal_Container_Iteration): If source has
136 explicit name for iterator loop, preserve that name in expanded
137 construct, for possible use in exit statements.
138
dc3d037e 1392018-05-21 Javier Miranda <miranda@adacore.com>
0d8b6803
JM
140
141 * sem_ch4.adb (Analyze_Membership_Op): Avoid compiler crash when the
142 spec of a unit has Ada 2012 membership tests with multiple choices and
143 the unit body is not compiled under Ada 2012 mode.
144
dc3d037e 1452018-05-21 Doug Rupp <rupp@adacore.com>
92689021
DR
146
147 * sigtramp-vxworks-target.inc: Set cfa_reg properly from sigcontext
148 pregs.
149 (CFI_COMMON_REGS): Restore LR jic probed from prologue.
150 (REGNO_PC_OFFSET): Change to correct value for Aarch64.
151
dc3d037e 1522018-05-21 Jose Ruiz <ruiz@adacore.com>
9e40de1d
JR
153
154 * doc/gnat_ugn/gnat_utility_programs.rst, exp_attr.adb,
155 libgnarl/s-tassta.adb: Minor typo fixes
156
12390626
ES
1572018-05-21 Ed Schonberg <schonberg@adacore.com>
158
159 * sem_ch4.adb (Analyze_One_Call): Recognize complex cases where an
160 indexed call originally in prefix forn is itself the prefix of a
161 further call.
162
dc3d037e 1632018-05-21 Piotr Trojanek <trojanek@adacore.com>
a2fcf1e0
PT
164
165 * sem_eval.adb (Is_Null_Range): Clarify access to the full view of a
166 type.
167 (Not_Null_Range): Same as above.
168
dc3d037e 1692018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
663afa9f
HK
170
171 * exp_ch3.adb: Minor reformatting.
172 * exp_ch6.adb: Likewise.
173 * freeze.adb: Likewise.
174 * inline.adb: Likewise.
175 * sem_util.adb: Likewise.
176
dc3d037e 1772018-05-21 Yannick Moy <moy@adacore.com>
031936bc
YM
178
179 * inline.adb (Expand_Inlined_Call.Process_Formals): Use a type
180 conversion instead of an unchecked type conversion when inlining a
181 return statement, unless type qualification is required (for character
182 and string literal) or no check can result from the conversion (for
183 access types).
184 * opt.ads: Update comment.
185
dc3d037e 1862018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7255f3c3
HK
187
188 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration
189 model of the compilation unit spec, if any.
190 * sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration
191 model of the compilation unit spec, if any.
192 * sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the
193 parent compilation unit spec, if any.
194 * sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration
195 model of the main unit.
196 (Is_Same_Unit): The routine now uses Unit_Entity.
197 (Is_Subunit): Removed.
198 (Normalize_Unit): Removed.
199 (Unit_Entity): New routine.
200 * sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma
201 Elaboration_Checks. The analysis now ensures that the pragma appears at
202 the configuration level, and on the initial declaration of a unit.
203 Other placements are either flagged as illegal, or ignored.
204 (Check_Duplicate_Elaboration_Checks_Pragma): New routine.
205 (Ignore_Elaboration_Checks_Pragma): New routine.
206 * sem_util.adb (Install_Elaboration_Model): New routine.
207 * sem_util.ads (Install_Elaboration_Model): New routine.
208 * doc/gnat_rm/implementation_defined_pragmas.rst: Update the
209 documentation of pragma Elaboration_Checks.
210 * gnat_rm.texi: Regenerate.
211
dc3d037e 2122018-05-21 Olivier Hainque <hainque@adacore.com>
18c7a4eb
OH
213
214 * libgnat/s-trasym__dwarf.adb (Executable_Name): Return argv[0] instead
215 of empty string when argv[0] couldn't be found on PATH.
216 (Enable_Cache): Raise Program_Error instead of attempting a null
217 pointer dereference when the Exec_Module initialization failed.
218
dc3d037e 2192018-05-21 Piotr Trojanek <trojanek@adacore.com>
bbb99006
PT
220
221 * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
222 * libgnarl/a-taside.ads (Tasking_State): Likewise.
223 * libgnat/a-calend.ads (Clock_Time): Likewise.
224
dc3d037e 2252018-05-21 Yannick Moy <moy@adacore.com>
e3822b0a
YM
226
227 * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
228 call notation in inlined call in GNATprove mode.
229
bcc093dc
HK
2302018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
231
232 * einfo.adb (Is_External_State): An abstract state is also external
233 when it is declared with option "synchronous".
234 * einfo.ads: Update the documentation of synthesized attribute
235 Is_External_State.
236 * sem_util.adb (Find_Simple_Properties): New routine.
237 (Is_Enabled_External_Property): New routine.
238 (State_Has_Enabled_Property): Reimplemented. The two flavors of option
239 External have precedence over option Synchronous when determining
240 whether a property is in effect.
241
dc3d037e 2422018-05-21 Yannick Moy <moy@adacore.com>
fe44c442
YM
243
244 * sem_eval.adb (Static_Length): Take into account case of variable of
245 subtype string literal.
246
dc3d037e 2472018-05-21 Olivier Hainque <hainque@adacore.com>
c77384a4
OH
248
249 * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
250 (Object_Section): Rename Flag_Alloc component as Flag_Xcode.
251 * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
252 component name.
253 (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
254 * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
255 change.
256
dc3d037e 2572018-05-21 Olivier Hainque <hainque@adacore.com>
0f090200
OH
258
259 * libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to
260 Address, and type of Low, High to Storage_Offset.
261 (Low): Rename as Low_Address and convey that the return value is a
262 runtime reference accounting for a load address.
263 * libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the
264 address/offset type changes.
265 (Aranges_Lookup): Likewise.
266 (Symbolic_Address): Likewise.
267 (Symbolic_Traceback): Likewise.
268 (Dump_Cache): Likewise.
269 (Is_Inside): Likewise.
270 (Open): Likewise.
271 (Set_Load_Address): Likewise.
272 (Low_Address): Likewise, and account for C.Load_Address.
273 * libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low.
274 (Multi_Module_Symbolic_Traceback): Compare address in traceback
275 with module Low_Address instead of Low.
276
dc3d037e 2772018-05-21 Olivier Hainque <hainque@adacore.com>
b029cc6e
OH
278
279 * libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as
280 Load_Address.
281 * libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly.
282 (Set_Load_Address): Likewise.
283 (Symbolic_Traceback): Likewise.
284
dc3d037e 2852018-05-21 Olivier Hainque <hainque@adacore.com>
08f8a716
OH
286
287 * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
288 Load_Address argument and pass it down to Init_Module.
289 * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
290 lm.l_addr as the Load_Address to Add_Module_To_Cache.
291
dc3d037e 2922018-05-21 Piotr Trojanek <trojanek@adacore.com>
689751d2
PT
293
294 * einfo.adb (Has_Discriminants): Stronger assertion.
295 (Set_Has_Discriminants): Stronger assertion.
296 * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect
297 the stronger assertion on Has_Discriminant.
298 (Uninstall_Discriminants_And_Pop_Scope): Same as above.
299 * sem_util.adb (New_Copy_Tree): Same as above.
300 * sem_ch7.adb (Generate_Parent_References): Prevent calls to
301 Has_Discriminant on non-type entities that might happen when the
302 compiled code has errors.
303 * sem_ch3.adb (Derived_Type_Declaration): Only call
304 Set_Has_Discriminant on type entities.
305
dc3d037e 3062018-05-21 Arnaud Charlet <charlet@adacore.com>
3ae9d953
AC
307
308 * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
309 code generation.
310
dc3d037e 3112018-05-21 Piotr Trojanek <trojanek@adacore.com>
0c06611c
PT
312
313 * lib.ads: Fix typo in enumeration in comment.
314
dc3d037e 3152018-05-21 Ed Schonberg <schonberg@adacore.com>
8b55e70d
ES
316
317 * sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The
318 attribute reference is legal within a generic unit when the prefix is a
319 formal private type.
320
dc3d037e 3212018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
66c0fa2c
HK
322
323 * exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not
324 delegate the secondary stack management when there is no suitable
325 transient context, and the transient scope was intended to manage the
326 secondary stack because this causes premature reclamation. Change the
327 transient scope creation logic by special casing assignment statements
328 of controlled components for type initialization procedures.
329 (Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update
330 the comment on usage.
331 (Find_Transient_Context): Change the initinte loop into a while loop.
332 Iterations schemes and iterator specifications are not valid transient
333 contexts because they rely on special processing. Assignment statements
334 are now treated as a normal transient context, special cases are
335 handled by the caller. Add special processing for pragma Check.
336 (Is_OK_Construct): Removed. Its functionality has been merged in
337 routine Find_Transient_Context.
338 * sem_ch5.adb (Check_Call): Reimplemented. Add code to properly
339 retrieve the subprogram being invoked. Use a more accurate predicate
340 (Requires_Transient_Scope) to determine that the function will emply
341 the secondary stack.
342
dc3d037e 3432018-05-21 Piotr Trojanek <trojanek@adacore.com>
8016e567
PT
344
345 * ada_get_targ.adb: Fix subprogram body headers.
346 * adabkend.adb: Likewise.
347 * checks.adb: Likewise.
348 * exp_ch3.adb: Likewise.
349 * exp_ch5.adb: Likewise.
350 * exp_ch9.adb: Likewise.
351 * exp_dist.adb: Likewise.
352 * exp_tss.adb: Likewise.
353 * inline.adb: Likewise.
354 * lib-writ.adb: Likewise.
355 * lib-xref-spark_specific.adb: Likewise.
356 * libgnarl/s-osinte__darwin.adb: Likewise.
357 * libgnarl/s-stusta.adb: Likewise.
358 * libgnarl/s-taprop__solaris.adb: Likewise.
359 * libgnarl/s-tposen.adb: Likewise.
360 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
361 * libgnarl/s-vxwext__kernel.adb: Likewise.
362 * libgnat/a-btgbso.adb: Likewise.
363 * libgnat/a-cfdlli.adb: Likewise.
364 * libgnat/a-cfhama.adb: Likewise.
365 * libgnat/a-cfinve.adb: Likewise.
366 * libgnat/a-cimutr.adb: Likewise.
367 * libgnat/a-coboho.adb: Likewise.
368 * libgnat/a-cofove.adb: Likewise.
369 * libgnat/a-cofuve.adb: Likewise.
370 * libgnat/a-comutr.adb: Likewise.
371 * libgnat/a-exexda.adb: Likewise.
372 * libgnat/a-tags.adb: Likewise.
373 * libgnat/a-tideau.adb: Likewise.
374 * libgnat/a-wtdeau.adb: Likewise.
375 * libgnat/a-ztdeau.adb: Likewise.
376 * libgnat/g-alleve.adb: Likewise.
377 * libgnat/s-excdeb.adb: Likewise.
378 * libgnat/s-parint.adb: Likewise.
379 * libgnat/s-shasto.adb: Likewise.
380 * libgnat/s-traceb__hpux.adb: Likewise.
381 * prepcomp.adb: Likewise.
382 * sem_ch4.adb: Likewise.
383 * sem_ch6.adb: Likewise.
384 * sem_dist.adb: Likewise.
385 * sem_prag.adb: Likewise.
386 * sem_util.adb: Likewise.
387 * sinfo.adb: Likewise.
388 * switch.adb: Likewise.
389
5759c56d
JM
3902018-05-04 John Marino <gnugcc@marino.st>
391
392 PR ada/85635
393 * link.c (BSD platforms): Add missing backslash.
394
9f47a64f
EB
3952018-04-27 Eric Botcazou <ebotcazou@adacore.com>
396
397 PR ada/85540
398 * init.c (__gnat_handle_vms_condition): Add missing parentheses.
399
87ed4159
EB
4002018-04-25 Eric Botcazou <ebotcazou@adacore.com>
401
402 PR ada/85007
403 * gnat_ugn.texi: Regenerate.
404
bd1643cc
EB
4052018-03-23 Eric Botcazou <ebotcazou@adacore.com>
406
407 PR ada/85007
408 * gnatlink.adb (Gnatlink): Remove handling of -b switch.
409 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
410 Remove documentation of -b switch.
411
f8e56962
EB
4122018-03-23 Eric Botcazou <ebotcazou@adacore.com>
413
414 PR ada/85036
415 * gnatlink.adb (Process_Args): Drop existing link switches if multiple
416 switches are passed for --LINK.
417
50536fd5
EB
4182018-03-12 Eric Botcazou <ebotcazou@adacore.com>
419
420 PR ada/82813
421 * gcc-interface/misc.c (gnat_post_options): Disable string overflow
422 warnings.
423
f1bc6414
EB
4242018-03-10 Eric Botcazou <ebotcazou@adacore.com>
425
426 * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
427 Consider only entities for objects.
428
6cde8c54
SH
4292018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
430
431 * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
432 $(GNATLIBCFLAGS).
433 (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
434
21288963
EB
4352018-03-06 Eric Botcazou <ebotcazou@adacore.com>
436
437 * gcc-interface/trans.c (convert_with_check): Fix typo in the condition
438 guarding the overflow check emitted for the upper bound of a floating-
439 point conversion.
440
0d6091d9
EB
4412018-03-06 Eric Botcazou <ebotcazou@adacore.com>
442
443 * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
444
c6db43fa
EB
4452018-02-28 Eric Botcazou <ebotcazou@adacore.com>
446
447 * libgnat/i-cexten.ads (Float_128): New type.
448
dacdc68f
EB
4492018-02-02 Eric Botcazou <ebotcazou@adacore.com>
450
451 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
452 false if the component type is a pointer.
453
fab58852
GD
4542018-01-11 Gary Dismukes <dismukes@adacore.com>
455
456 * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
457 result of Get_Simple_Init_Value and pass the source location of the
458 object declaration's object_definition.
459
a2dbe7d5
ES
4602018-01-11 Ed Schonberg <schonberg@adacore.com>
461
462 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
463 properly object declarations with initializations that are
464 build-in-place function calls, when there is an address specification,
465 either as an aspect specification or an explicit attribute
466 specification clause, for the initialized object.
467 * freeze.adb (Check_Address_Clause): Do not remove side-effects from
468 initial expressions in the case of a build-in-place call.
469
791f2d03
PT
4702018-01-11 Piotr Trojanek <trojanek@adacore.com>
471
472 * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
473 private (sub)type; refactor to avoid early return statement.
474 (Not_Null_Range): Same as above.
475
a85dbeec
HK
4762018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
477
478 * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
479 concurrent, nor effectively volatile.
480 * ghost.adb (Check_Ghost_Type): New routine.
481 * ghost.ads (Check_Ghost_Type): New routine.
482 * sem_util.adb (Is_Declaration): Reimplemented. The routine can now
483 consider specific subsets of declarations.
484 (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
485 replicated by Is_Declaration.
486 * sem_util.ads (Is_Declaration): New parameter profile. Update the
487 comment on usage.
488 (Is_Declaration_Other_Than_Renaming): Removed.
489
5efc1c00
HK
4902018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
491
492 * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
493 as Part_Of consituents of single protected types are illegal when they
494 take place inside a protected function.
495 (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
496 enclosing function.
497 (Is_Protected_Part_Of_Constituent): New routine.
498 (Within_Function): New routine.
499
4dfba737
AC
5002018-01-11 Arnaud Charlet <charlet@adacore.com>
501
502 Bump copyright notices to 2018.
503
27d357ca
HK
5042018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
505
506 * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
507 Minor reformatting.
508
cb488118
JS
5092018-01-11 Justin Squirek <squirek@adacore.com>
510
511 * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
512 to make sure a given expression function is properly parenthesized.
513
ed27b86b
HK
5142018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
515
516 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
517 categorization of a subprogram body which does not complete a previous
518 declaration.
519
715a5d51
HK
5202018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
521
522 * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
523 scope of package Ada is Standard.
524
a2fd4f0e
ES
5252018-01-11 Ed Schonberg <schonberg@adacore.com>
526
527 * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
528 subcomponent of the current entity when building the body for a dynamic
529 predicate function for a record with composite subcomponents.
530
6560f851
HK
5312018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
532
533 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
534 Establish_Transient_Scope.
535 (Convert_To_Assignments): Update the call to Establish_Transient_Scope.
536 (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
537 * exp_ch6.adb (Expand_Call_Helper): Update the call to
538 Establish_Transient_Scope.
539 (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
540 Establish_Transient_Scope.
541 * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
542 management of the secondary stack to an enclosing scope if there is no
543 suitable construct to wrap, and the transient scope was intended to
544 manage the secondary stack.
545 (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
546 is a valid boundary for a transient expression which comes from the
547 statements of the alternative, otherwise alternatives cannot be
548 wrapped. Assignments of controlled objects which have controlled
549 actions suppressed now stop the traversal as there is no point in
550 looking for an enclosing construct. Add several N_xxx_Body choices to
551 the termination conditions for completeness.
552 * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
553 and the associated comment on usage.
554 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
555 Establish_Transient_Scope.
556 (Add_Write_After): Update the call to Establish_Transient_Scope.
557 * sem_res.adb (Check_Initialization_Call): Removed.
558 (Resolve_Actuals): Account for additional cases where finalization
559 actions are required by utilizing predicate Needs_Finalization rather
560 than Is_Controlled.
561 (Resolve_Call): Type initialization procedures can now utilize
562 transient scopes to manage the secondary stack, thus preventing leaks
563 during initialization. Remove the previous kludgy algorithm which
564 attempts to manage the secondary stack at the object creation site.
565
c9e80306
JL
5662018-01-11 Jerome Lambourg <lambourg@adacore.com>
567
568 * libgnat/g-soliop__qnx.ads: New.
569 * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
570 for QNX.
571
4727f693
BD
5722018-01-11 Bob Duff <duff@adacore.com>
573
574 * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
575 a null procedure occurs in a protected definition.
576
1ceee6a1
BD
5772018-01-11 Bob Duff <duff@adacore.com>
578
579 * binderr.ads, namet.ads: Minor reformatting.
580
e22e7f06
BD
5812018-01-11 Bob Duff <duff@adacore.com>
582
583 * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
584 xml2gnat.
585
8207dc23
BD
5862018-01-11 Bob Duff <duff@adacore.com>
587
588 * binde.adb (Force_Elab_Order): Give an error if there are duplicate
589 unit names.
590
52c5090a
ES
5912018-01-11 Ed Schonberg <schonberg@adacore.com>
592
593 * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
594 controlling argument of a dispatching call. freeze the corresponding
595 designated type.
596
2e01b698
BB
5972018-01-11 Ben Brosgol <brosgol@adacore.com>
598
599 * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
600
f5c31a46
BB
6012018-01-11 Ben Brosgol <brosgol@adacore.com>
602
603 * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
604 corrections.
605 * gnat_rm.texi: Regenerate.
606
07733aa1
ES
6072018-01-11 Ed Schonberg <schonberg@adacore.com>
608
609 * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
610 formsl type corresponding to the actual fixed point type is private,
611 because in this case there can be no suspicious arithmetic operations
612 in the generic unless they reference a formal subprogram. Clarify
613 warning.
614
78cac738
JM
6152018-01-11 Javier Miranda <miranda@adacore.com>
616
617 * exp_util.adb (Remove_Side_Effects): No action done for functions
618 returning class-wide types since it requires generating code using
619 'reference and the CCG target has no secondary stack.
620 * gnat1drv.adb: Disable building static dispatch tables when generating
621 C code.
622
210fef2d
PT
6232018-01-11 Piotr Trojanek <trojanek@adacore.com>
624
625 * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
626 libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
627 (File_Type): Add Default_Initial_Condition aspect.
628
7d1553e2
PO
6292018-01-11 Pascal Obry <obry@adacore.com>
630
631 * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
632
1646b09f
BD
6332018-01-11 Bob Duff <duff@adacore.com>
634
635 * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
636 to match what the Libadalang-based version does.
637 * doc/gnat_ugn/about_this_guide.rst: Update reference.
638
7460ccc7
HK
6392018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
640
641 * sem_res.adb (Uses_SS): A controlled type requires the secondary stack
642 if it contains at least one component declaration employing a function
643 call returning on the secondary stack.
644
a5b2e440
YM
6452018-01-11 Yannick Moy <moy@adacore.com>
646
647 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
648 Update description of restriction SPARK_05 with SPARK 2014.
649 * gnat_rm.texi: Regenerate.
650
151af7d2
VF
6512018-01-11 Vasiliy Fofanov <fofanov@adacore.com>
652
653 * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
654
10fdda1c
HK
6552018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
656
657 * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
658 sem_res.adb, sem_util.adb: Minor reformatting.
659
4d6000d7
ES
6602018-01-11 Ed Schonberg <schonberg@adacore.com>
661
662 * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
663 has a delayed aspect which must be processed at the point the type is
664 frozen. This mimics what is done when the predicate is provided by a
665 source aspect.
666
19fb0439
DR
6672018-01-11 Doug Rupp <rupp@adacore.com>
668
669 * init.c (vxworks): Add macro checks for __aarch64__.
670
80631298
HK
6712018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
672
673 * exp_util.adb (Add_Failure_Expression): New routine.
674 (Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
675 * sem_util.adb (Is_Current_Instance): Code cleanup.
676
6a5e79b4
PB
6772018-01-11 Patrick Bernardi <bernardi@adacore.com>
678
679 * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
680 Default_Sec_Stack_Size.
681 * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
682 limit check so that the integer index does not overflow. Check the
683 dynamic stack allocation does not cause the secondary stack pointer to
684 overflow.
685 (SS_Info): Align colons.
686 (SS_Init): Cover the case when bootstraping with an old compiler that
687 does not set Default_SS_Size.
688
5cb78fb8
ES
6892018-01-11 Ed Schonberg <schonberg@adacore.com>
690
691 * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
692 legality of an inherited operation that may require overriding, ignore
693 primitive_wrappers that correspond to explicit operations that override
694 an interface primitive.
695 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
696 operation to which the class-wide expression applies is a protected op.
697 with a primitive_wrapper, verify that the updated inherited expression
698 does not contain an internal call to a protected function. This
699 completes the implementation of AI12-0166.
700
94ce4941
HK
7012018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
702
703 * ali.adb: Document the remaining letters available for ALI lines.
704 (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
705 * ali.ads: Update type With_Record. Field
706 Implicit_With_From_Instantiation is no longer in use. Add field
707 Implicit_With.
708 * csinfo.adb (CSinfo): Remove the setup for attribute
709 Implicit_With_From_Instantiation.
710 * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
711 either implicitly or explicitly withed.
712 (Is_Implicit_With_Clause): New routine.
713 (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
714 confusion with the with clause attribute by the same name.
715 (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
716 * rtsfind.adb (Maybe_Add_With): Code cleanup.
717 * sem_ch8.adb (Present_System_Aux): Code cleanup.
718 * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
719 for a parent unit.
720 (Implicit_With_On_Parent): Mark the with clause as generated for a
721 parent unit.
722 * sem_ch12.adb (Inherit_Context): With clauses inherited by an
723 instantiation are no longer marked as Implicit_With_From_Instantiation
724 because they are already marked as implicit.
725 * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
726 which marks implicit with clauses as related to an instantiation.
727 * sinfo.adb (Implicit_With_From_Instantiation): Removed.
728 (Parent_With): New routine.
729 (Set_Implicit_With_From_Instantiation): Removed.
730 (Set_Parent_With): New routine.
731 * sinfo.ads: Update the documentation of attribute Implicit_With.
732 Remove attribute Implicit_With_From_Instantiation along with
733 occurrences in nodes. Add attribute Parent_With along with occurrences
734 in nodes.
735 (Implicit_With_From_Instantiation): Removed along with pragma Inline.
736 (Parent_With): New routine along with pragma Inline.
737 (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
738 (Set_Parent_With): New routine along with pragma Inline.
739
77519270
HK
7402018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
741
742 * sem_util.adb (Find_Enclosing_Scope): Return the unique defining
743 entity when the enclosing construct is a body.
744
a40d9947
PB
7452018-01-11 Patrick Bernardi <bernardi@adacore.com>
746
747 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
748 Secondary_Stack_Size handling as a pragma is now generated for the
749 corresponding aspect instead of an attribute. Pragma expression is
750 relocated instead of evaluated. Discriminant of the corresponding
751 record type is referenced rather than the type discriminant.
752 (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
753 Secondary_Stack_Size rep item checks to only look for the pragma rep.
754 * sem_ch13.adb (Analyze_One_Aspect): Transform
755 Aspect_Secondary_Stack_Size into a pragma instead of an attribute
756 because the attribute does not have visibility on a task type's
757 discriminants when the type's definition is expanded.
758 (Analyze_Attribute_Definition_Clause): Remove handling of
759 Attribute_Secondary_Stack_Size.
760 * snames.adb-tmpl, snames.ads-tmpl: Remove
761 Attribute_Secondary_Stack_Size, no longer used.
762
6b199a18
JS
7632018-01-11 Justin Squirek <squirek@adacore.com>
764
765 * sem_ch8.adb: Minor comment fix.
766
05344a33
HK
7672018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
768
769 * exp_ch4.adb (Process_Action): Do not abandon the inspection of an
770 individual action because the action may denote a complex expression,
771 such as a case statement, which in turn may contain additional
772 transient objects.
773
d940c627
ES
7742018-01-11 Ed Schonberg <schonberg@adacore.com>
775
776 * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
777 analysis on a copy of the expression with a copy of the index variable,
778 because full expansion will rewrite construct into a loop with the
779 original loop variable.
780 * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
781 expression is an iterated component association. Full analysis takes
782 place when construct is rewritten as a loop.
783 (In_Place_Assign_OK, Safe_Component): An iterated_component_association
784 is not safe for in-place assignment.
785 * sem_util.adb (Remove_Entity): Handle properly the case of an isolated
786 entity with no homonym and no other entity in the scope.
787
c8f25817
JS
7882018-01-11 Justin Squirek <squirek@adacore.com>
789
790 * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
791 message to be printed on the pragma argument identifier.
792
51f3e4e1
HK
7932018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
794
795 * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
796 entity of the generated invariant procedure in order to construct a
797 proper entity chain.
798
593e3172
PT
7992018-01-11 Piotr Trojanek <trojanek@adacore.com>
800
801 * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
802 comment.
803
89a4fa68
AC
8042018-01-11 Arnaud Charlet <charlet@adacore.com>
805
806 * einfo.ads, einfo.adb (Activation_Record_Component,
807 Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
808 Allow E_Discriminant.
809
af95bb26
EB
8102018-01-10 Eric Botcazou <ebotcazou@adacore.com>
811
812 * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
813 for atomic access once the component size is taken into account and
814 also do it if the component type is Atomic or Volatile_Full_Access.
815
5d35675c
EB
8162018-01-04 Eric Botcazou <ebotcazou@adacore.com>
817
818 * gnatvsn.ads: Bump copyright year.
819
73a699ae
RS
8202018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
821 Alan Hayward <alan.hayward@arm.com>
822 David Sherwood <david.sherwood@arm.com>
823
824 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
825 as polynomial.
826
bb94ec76
RS
8272018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
828 Alan Hayward <alan.hayward@arm.com>
829 David Sherwood <david.sherwood@arm.com>
830
831 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
832 as polynomial.
833
928686b1
RS
8342018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
835 Alan Hayward <alan.hayward@arm.com>
836 David Sherwood <david.sherwood@arm.com>
837
838 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
839 polynomial TYPE_VECTOR_SUBPARTS.
840
7b777afa
RS
8412018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
842 Alan Hayward <alan.hayward@arm.com>
843 David Sherwood <david.sherwood@arm.com>
844
845 * gcc-interface/misc.c (enumerate_modes): Handle polynomial
846 GET_MODE_NUNITS.
847
65e6aea3 8482018-01-03 Jakub Jelinek <jakub@redhat.com>
0e5b9de3 849
85ec4feb
JJ
850 Update copyright years.
851
65e6aea3
JJ
852 * gnat_ugn.texi: Bump @copying's copyright year.
853 * gnat_rm.texi: Likewise.
ad41bd84 854\f
65e6aea3 855Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
856
857Copying and distribution of this file, with or without modification,
858are permitted in any medium without royalty provided the copyright
859notice and this notice are preserved.
This page took 3.207803 seconds and 5 git commands to generate.