]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[Ada] Minor reformatting
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
3d581777
HK
12018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
2
3 * einfo.adb, exp_disp.adb, sem_ch3.adb, sem_ch6.adb, sem_prag.adb:
4 Minor reformatting.
5
3f89eb7f
JS
62018-05-22 Justin Squirek <squirek@adacore.com>
7
8 * sem_ch6.adb (Analyze_Expression_Function): Propagate flags from the
9 original function spec into the generated function spec due to
10 expansion of expression functions during analysis.
11 (Analyze_Subprogram_Body_Helper): Modify check on formal parameter
12 references from the body to the subprogram spec in the case of
13 expression functions because of inconsistances related to having a
14 generated body.
15 * libgnarl/s-osinte__android.ads: Flag parameters as unused.
16 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
17 * libgnarl/s-osinte__qnx.adb: Likewise.
18 * libgnarl/s-osinte__qnx.ads: Likewise.
19
143a4acd
DR
202018-05-22 Doug Rupp <rupp@adacore.com>
21
22 * init.c (HAVE_ADJUST_CONTEXT_FOR_RAISE): Don't define on VxWorks7 for
23 AArch64.
24
f6904af0
OH
252018-05-22 Olivier Hainque <hainque@adacore.com>
26
27 * libgnat/a-except.adb (Exception_Propagation.Propagate_Exception):
28 Expect an Exception_Occurence object, not an Access.
29 (Complete_And_Propagate_Occurrence): Adjust accordingly.
30 (Raise_From_Signal_Handler): Likewise.
31 (Reraise_Occurrence_No_Defer): If we have a Machine_Occurrence
32 available in the provided occurrence object, just re-propagate the
33 latter as a bare "raise;" would do.
34 * libgnat/a-exexpr.adb (Propagate_Exception): Adjust to spec change.
35 * libgnat/a-exstat.adb (String_To_EO): Initialize X.Machine_Occurrence
36 to null, to mark that the occurrence we're crafting from the stream
37 contents is not being propagated (yet).
38
02db8169
HK
392018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
40
41 * exp_aggr.adb (Initialize_Ctrl_Record_Component): Insert the generated
42 code for a transient component in line with the rest of the
43 initialization code, rather than before the aggregate. This ensures
44 that the component has proper visibility of the discriminants.
45
9820b389
JL
462018-05-22 Jerome Lambourg <lambourg@adacore.com>
47
48 * adaint.c: Reorganize QNX-specific macros, use syspage to retreive the
49 number of CPUs.
50
817659c5
JL
512018-05-22 Jerome Lambourg <lambourg@adacore.com>
52
53 * sigtramp-qnx.c: Properly restore link register in signal trampoline.
54
529749b9
HK
552018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
56
57 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Strip away any
58 conversions before extracting the value of the expression.
59 * exp_ch3.adb (Default_Initialize_Object): Optimize the default
60 initialization of an array of scalars.
61 (Get_Simple_Init_Val): Add processing for array types. Remove the
62 processing of strings because this case is already handled by the array
63 case.
64 (Needs_Simple_Initialization): Moved to Sem_Util.
65 (Simple_Init_Array_Type): New routine.
66 (Simple_Init_Initialize_Scalars_Type): Reimplemented to use the new
67 facilities from Sem_Util.
68 (Simple_Initialization_OK): New routine.
69 * exp_ch3.ads (Needs_Simple_Initialization): Moved to Sem_Util.
70 * exp_ch4.adb (Expand_N_Allocator): Optimize the default allocation of
71 an array of scalars.
72 * sem_prag.adb (Analyze_Float_Value): New routine.
73 (Analyze_Integer_Value): New routine.
74 (Analyze_Pragma): Reimplement the analysis of pragma Initialize_Scalars
75 to handled the extended form of the pragma.
76 (Analyze_Type_Value_Pair): New routine.
77 * sem_util.adb: Add invalid value-related data structures.
78 (Examine_Array_Bounds): New routine.
79 (Has_Static_Array_Bounds): Reimplemented.
80 (Has_Static_Non_Empty_Array_Bounds): New routine.
81 (Invalid_Scalar_Value): New routine.
82 (Needs_Simple_Initialization): Moved from Exp_Ch3.
83 (Set_Invalid_Scalar_Value): New routines.
84 * sem_util.ads (Has_Static_Non_Empty_Array_Bounds): New routine.
85 (Invalid_Scalar_Value): New routine.
86 (Needs_Simple_Initialization): Moved from Exp_Ch3.
87 (Set_Invalid_Scalar_Value): New routines.
88 * snames.ads-tmpl: Add names for the salar type families used by pragma
89 Initialize_Scalars.
90
b00baef5
JM
912018-05-22 Javier Miranda <miranda@adacore.com>
92
93 * exp_disp.adb (Make_DT): Initialize the External_Tag with an empty
94 string when pragma No_Tagged_Streams is applicable to the tagged type,
95 and initialize the Expanded_Name with an empty string when pragma
96 Discard_Names is applicable to the tagged type.
97
90fa8613
ES
982018-05-22 Ed Schonberg <schonberg@adacore.com>
99
100 * sem_ch6.adb (Check_Conformance): Add RM reference for rule that a
101 formal subprogram is never subtype conformqnt, and thus cannot be the
102 prefix of 'Access. Reject as well the attribute when applied to a
103 renaming of a formal subprogram.
104
3b26fe82
HK
1052018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
106
107 * exp_ch3.adb (Build_Array_Init_Proc): Update the call to
108 Needs_Simple_Initialization.
109 (Build_Init_Statements): Update the call to Get_Simple_Init_Val.
110 (Check_Subtype_Bounds): Renamed to Extract_Subtype_Bounds. Update the
111 profile and comment on usage.
112 (Default_Initialize_Object): Do not use New_Copy_Tree to set the proper
113 Sloc of a value obtained from aspect Default_Value because this could
114 potentially replicate large trees. The proper Sloc is now set in
115 Get_Simple_Init_Val.
116 (Get_Simple_Init_Val): Reorganized by breaking the various cases into
117 separate routines. Eliminate the use of global variables.
118 (Init_Component): Update the call to Get_Simple_Init_Val.
119 (Needs_Simple_Initialization): Update the parameter profile and all
120 uses of T.
121 (Simple_Init_Defaulted_Type): Copy the value of aspect Default_Value
122 and set the proper Sloc.
123 * exp_ch3.ads (Get_Simple_Init_Val): Update the parameter profile and
124 comment on usage.
125 (Needs_Simple_Initialization): Update the parameter profile.
126
59ec5d9b
PB
1272018-05-22 Patrick Bernardi <bernardi@adacore.com>
128
129 * sem_ch3.adb (Build_Discriminant_Constraints): Raise an error if the
130 user tries to use a subtype indication as a discriminant constraint.
131
801b4022
ES
1322018-05-22 Ed Schonberg <schonberg@adacore.com>
133
134 * exp_ch4.ads, exp_ch4.adb, exp_util.adb, expander.adb: Remove mention
135 of N_Reduction_Expression and N_Reduction_Expression_Parameter.
136 * par-ch4.adb: Remove parsing routines for reduction expressions.
137 * sem.adb, sinfo.ads, sinfo.adb, sem_ch4.ads, sem_ch4.adb, sem_res.adb,
138 sem_spark.adb, sprint.adb: Remove analysis routines for reduction
139 expressions.
140
208ebca9
AC
1412018-05-22 Arnaud Charlet <charlet@adacore.com>
142
143 * sem_ch8.adb (Check_Frozen_Renaming): Do not emit error in
144 Relaxed_RM_Semantics mode.
145
b4914af8
AC
1462018-05-22 Arnaud Charlet <charlet@adacore.com>
147
148 * comperr.adb (Delete_SCIL_Files): Take into account
149 N_Generic_Package_Renaming_Declaration.
150
fbb53995
ES
1512018-05-22 Ed Schonberg <schonberg@adacore.com>
152
153 * sem_ch3.adb (Search_Derivation_Levels): Whenever a parent type is
154 private, use the full view if available, because it may include renamed
155 discriminants whose values are stored in the corresponding
156 Stored_Constraint.
157
651822ae
ES
1582018-05-22 Ed Schonberg <schonberg@adacore.com>
159
160 * einfo.ads, einfo.adb: New attribute Hidden_In_Formal_Instance,
161 defined on packages that are actuals for formal packages, in order to
162 set/reset the visibility of the formals of a formal package with given
163 actuals, when there are subsequent uses of those formals in the
164 enclosing generic, as required by RN 12.7 (10).
165 * atree.ads, atree.adb: Add operations for Elist30.
166 * atree.h: Add Elist30.
167 * sem_ch12.adb (Analyze_Formal_Package_Instantiation): Collect formals
168 that are not defaulted and are thus not visible within the current
169 instance.
170 (Check_Formal_Packages): Reset visibility of formals of a formal
171 package that are not defaulted, on exit from current instance.
172
41ff70d9
HK
1732018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
174
175 * sem_prag.adb (Analyze_Input_Output): Emit an error when a non-null,
176 non-'Result output appears in the output list of a function.
177
f16cb8df
HK
1782018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
179
180 * exp_attr.adb (Build_Array_VS_Func): Reimplemented.
181 (Build_Record_VS_Func): Reimplemented.
182 (Expand_N_Attribute): Reimplement the handling of attribute
183 'Valid_Scalars.
184 * sem_attr.adb (Analyze_Attribute): Reimplement the handling of
185 attribute 'Valid_Scalars.
186 * sem_util.adb (Scalar_Part_Present): Reimplemented.
187 (Validated_View): New routine.
188 * sem_util.ads (Scalar_Part_Present): Update the parameter profile and
189 comment on usage.
190 (Validated_View): New routine.
191 * doc/gnat_rm/implementation_defined_attributes.rst: Update the
192 documentation of attribute 'Valid_Scalars.
193 * gnat_rm.texi: Regenerate.
194
6b3035ab
BD
1952018-05-22 Bob Duff <duff@adacore.com>
196
197 * binde.adb: (Choose): Ignore a pragma Elaborate_Body that appears in
198 the spec of a SAL_Interface package.
199
85c73d63
ES
2002018-05-22 Ed Schonberg <schonberg@adacore.com>
201
202 * freeze.adb (Freeze_Entity): When analyzing delayed aspects of an
203 entity E within a generic unit, indicate that there are no remaining
204 delayed aspects after invoking Analyze_Aspects_At_Freeze_Point. The
205 entity E is not frozen yet but the aspects should not be reanalyzed at
206 the freeze point, which may be outside of the generic and may not have
207 the proper visibility.
208
71483539
BD
2092018-05-22 Bob Duff <duff@adacore.com>
210
211 * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
212 the new --split-line-before-record, --indent-named-statements and
213 --no-align-modes gnatpp switches.
214
531351e8
ES
2152018-05-22 Ed Schonberg <schonberg@adacore.com>
216
217 * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Handle properly
218 a second argument that is a constant of a given string value.
219
9c629d61
DR
2202018-05-22 Doug Rupp <rupp@adacore.com>
221
222 * sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.
223
14141ce8
JL
2242018-05-22 Jerome Lambourg <lambourg@adacore.com>
225
226 * sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline.
227
f2df0100
ES
2282018-05-22 Ed Schonberg <schonberg@adacore.com>
229
230 * freeze.adb (Freeze_Fixed_Point_Type): If the first subtype has
231 delayed aspects, analyze them now, os that the representation of the
232 type (size, bounds) can be computed and validated.
233
b8bbe739
OH
2342018-05-22 Olivier Hainque <hainque@adacore.com>
235
236 * libgnat/s-dwalin.adb (Enable_Cache): Skip symbols outside of the
237 executable code section boundaries.
238
92ea8dd2
JM
2392018-05-22 Javier Miranda <miranda@adacore.com>
240
241 * locales.c: New implementation for the Ada.Locales package.
242 * libgnat/a-locale.ads: Remove comment indicating that this is not
243 implemented.
244 * doc/gnat_rm/standard_library_routines.rst: Remove comment indicating
245 that this is not implemented.
246 * gnat_rm.texi: Regenerate.
247
e5fc0179
HK
2482018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
249
250 * exp_ch5.adb, freeze.adb, pprint.adb, sem_ch4.adb, sem_res.adb: Minor
251 reformattings.
252
eaf51442
JS
2532018-05-22 Justin Squirek <squirek@adacore.com>
254
255 * sem_ch12.adb (In_Same_Declarative_Part): Moved to sem_util.
256 (Freeze_Subprogram_Body, Install_Body): Modify calls to
257 In_Same_Declarative_Part.
258 * sem_prag.adb (Analyze_Pragma-Pragma_Pure_Function): Add check to
259 verify pragma declaration is within the same declarative list with
260 corresponding error message.
261 * sem_util.adb, sem_util.ads (In_Same_Declarative_Part): Moved from
262 sem_ch12.adb and generalized to be useful outside the scope of
263 freezing.
264
80f0c69c
HK
2652018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
266
267 * sem_ch6.adb (Analyze_Subprogram_Declaration): Set the proper
268 categorization of the unit after processing the aspects in case one of
269 its aspects is converted into a categorization pragma.
270
f9e9ab63
ES
2712018-05-21 Ed Schonberg <schonberg@adacore.com>
272
273 * freeze.adb (Warn_Overlay): Do not emit a wawrning on an object
274 declaration with an explicit address clause and a type with default
275 initialization, if the declaration carries an aspect
276 Suppress_Initialization.
277
dc3d037e 2782018-05-21 Daniel Mercier <mercier@adacore.com>
af5d8cb0
DM
279
280 * pprint.adb: Use mixed case for attribute names.
281
dc3d037e 2822018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
e9d08fd7
HK
283
284 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Rename the call to
285 Analyze_Aspect_Specifications_On_Body_Or_Stub.
286 (Analyze_Subprogram_Body_Helper): Rename the calls to
287 Analyze_Aspect_Specifications_On_Body_Or_Stub.
288 * sem_ch9.adb (Analyze_Entry_Body): Rename the call to
289 Analyze_Aspect_Specifications_On_Body_Or_Stub.
290 * sem_ch10.adb: Add with and use clause for Sem_Ch13.
291 (Analyze_Package_Body_Stub): Add constant Id. Decorate the package stub
292 prior to analyzing its aspects.
293 (Analyze_Protected_Body_Stub): Add constant Id. Decorate the package
294 stub prior to analyzing its aspects. Save and restore the configuration
295 switches.
296 (Analyze_Task_Body_Stub): Add constant Id. Decorate the package stub
297 prior to analyzing its aspects.
298 * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
299 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
300 * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
301 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
302 * sem_prag.adb: Code reformatting.
303 (Analyze_Refined_Depends_Global_Post): Consider task body stubs.
304
dc3d037e 3052018-05-21 Jerome Lambourg <lambourg@adacore.com>
f35b3e38
JL
306
307 * gcc-interface/Makefile.in: Add g-soliop__qnx.ads to the runtime build
308 for QNX.
309
dc3d037e 3102018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7a500fd7
HK
311
312 * exp_cg.adb: Remove with and use clause for Exp_Disp.
313 * exp_ch9.adb: Remove with and use clause for Exp_Disp.
314 * exp_disp.adb (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
315 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
316 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
317 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
318 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
319 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
320 * exp_dist.adb: Remove with and use clause for Exp_Disp.
321 * freeze.adb: Remove with and use clause for Exp_Disp.
322 * sem_cat.adb: Remove with and use clause for Exp_Disp.
323 * sem_ch6.adb: Remove with and use clause for Exp_Disp.
324 * sem_ch12.adb: Remove with and use clause for Exp_Disp.
325 * sem_elab.adb (Check_Overriding_Primitive): Do not process predefined
326 primitives.
327 * sem_util.adb: Remove with and use clause for Exp_Disp.
328 (Is_Predefined_Dispatching_Operation): Moved from Exp_Disp.
329 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
330 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
331 * sem_util.ads (Is_Predefined_Dispatching_Operation): Moved from
332 Exp_Disp.
333 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
334 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
335
dc3d037e 3362018-05-21 Ed Schonberg <schonberg@adacore.com>
516057d3
ES
337
338 * sem_res.adb (Valid_Conversion): Improve error message on an illegal
339 type conversion whose expression has a limited view of a type.
340
def6e435
ES
3412018-05-21 Ed Schonberg <schonberg@adacore.com>
342
343 * exp_ch5.adb (Build_Formal_Container_Iteration): If source has
344 explicit name for iterator loop, preserve that name in expanded
345 construct, for possible use in exit statements.
346
dc3d037e 3472018-05-21 Javier Miranda <miranda@adacore.com>
0d8b6803
JM
348
349 * sem_ch4.adb (Analyze_Membership_Op): Avoid compiler crash when the
350 spec of a unit has Ada 2012 membership tests with multiple choices and
351 the unit body is not compiled under Ada 2012 mode.
352
dc3d037e 3532018-05-21 Doug Rupp <rupp@adacore.com>
92689021
DR
354
355 * sigtramp-vxworks-target.inc: Set cfa_reg properly from sigcontext
356 pregs.
357 (CFI_COMMON_REGS): Restore LR jic probed from prologue.
358 (REGNO_PC_OFFSET): Change to correct value for Aarch64.
359
dc3d037e 3602018-05-21 Jose Ruiz <ruiz@adacore.com>
9e40de1d
JR
361
362 * doc/gnat_ugn/gnat_utility_programs.rst, exp_attr.adb,
363 libgnarl/s-tassta.adb: Minor typo fixes
364
12390626
ES
3652018-05-21 Ed Schonberg <schonberg@adacore.com>
366
367 * sem_ch4.adb (Analyze_One_Call): Recognize complex cases where an
368 indexed call originally in prefix forn is itself the prefix of a
369 further call.
370
dc3d037e 3712018-05-21 Piotr Trojanek <trojanek@adacore.com>
a2fcf1e0
PT
372
373 * sem_eval.adb (Is_Null_Range): Clarify access to the full view of a
374 type.
375 (Not_Null_Range): Same as above.
376
dc3d037e 3772018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
663afa9f
HK
378
379 * exp_ch3.adb: Minor reformatting.
380 * exp_ch6.adb: Likewise.
381 * freeze.adb: Likewise.
382 * inline.adb: Likewise.
383 * sem_util.adb: Likewise.
384
dc3d037e 3852018-05-21 Yannick Moy <moy@adacore.com>
031936bc
YM
386
387 * inline.adb (Expand_Inlined_Call.Process_Formals): Use a type
388 conversion instead of an unchecked type conversion when inlining a
389 return statement, unless type qualification is required (for character
390 and string literal) or no check can result from the conversion (for
391 access types).
392 * opt.ads: Update comment.
393
dc3d037e 3942018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7255f3c3
HK
395
396 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration
397 model of the compilation unit spec, if any.
398 * sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration
399 model of the compilation unit spec, if any.
400 * sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the
401 parent compilation unit spec, if any.
402 * sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration
403 model of the main unit.
404 (Is_Same_Unit): The routine now uses Unit_Entity.
405 (Is_Subunit): Removed.
406 (Normalize_Unit): Removed.
407 (Unit_Entity): New routine.
408 * sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma
409 Elaboration_Checks. The analysis now ensures that the pragma appears at
410 the configuration level, and on the initial declaration of a unit.
411 Other placements are either flagged as illegal, or ignored.
412 (Check_Duplicate_Elaboration_Checks_Pragma): New routine.
413 (Ignore_Elaboration_Checks_Pragma): New routine.
414 * sem_util.adb (Install_Elaboration_Model): New routine.
415 * sem_util.ads (Install_Elaboration_Model): New routine.
416 * doc/gnat_rm/implementation_defined_pragmas.rst: Update the
417 documentation of pragma Elaboration_Checks.
418 * gnat_rm.texi: Regenerate.
419
dc3d037e 4202018-05-21 Olivier Hainque <hainque@adacore.com>
18c7a4eb
OH
421
422 * libgnat/s-trasym__dwarf.adb (Executable_Name): Return argv[0] instead
423 of empty string when argv[0] couldn't be found on PATH.
424 (Enable_Cache): Raise Program_Error instead of attempting a null
425 pointer dereference when the Exec_Module initialization failed.
426
dc3d037e 4272018-05-21 Piotr Trojanek <trojanek@adacore.com>
bbb99006
PT
428
429 * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
430 * libgnarl/a-taside.ads (Tasking_State): Likewise.
431 * libgnat/a-calend.ads (Clock_Time): Likewise.
432
dc3d037e 4332018-05-21 Yannick Moy <moy@adacore.com>
e3822b0a
YM
434
435 * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
436 call notation in inlined call in GNATprove mode.
437
bcc093dc
HK
4382018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
439
440 * einfo.adb (Is_External_State): An abstract state is also external
441 when it is declared with option "synchronous".
442 * einfo.ads: Update the documentation of synthesized attribute
443 Is_External_State.
444 * sem_util.adb (Find_Simple_Properties): New routine.
445 (Is_Enabled_External_Property): New routine.
446 (State_Has_Enabled_Property): Reimplemented. The two flavors of option
447 External have precedence over option Synchronous when determining
448 whether a property is in effect.
449
dc3d037e 4502018-05-21 Yannick Moy <moy@adacore.com>
fe44c442
YM
451
452 * sem_eval.adb (Static_Length): Take into account case of variable of
453 subtype string literal.
454
dc3d037e 4552018-05-21 Olivier Hainque <hainque@adacore.com>
c77384a4
OH
456
457 * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
458 (Object_Section): Rename Flag_Alloc component as Flag_Xcode.
459 * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
460 component name.
461 (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
462 * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
463 change.
464
dc3d037e 4652018-05-21 Olivier Hainque <hainque@adacore.com>
0f090200
OH
466
467 * libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to
468 Address, and type of Low, High to Storage_Offset.
469 (Low): Rename as Low_Address and convey that the return value is a
470 runtime reference accounting for a load address.
471 * libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the
472 address/offset type changes.
473 (Aranges_Lookup): Likewise.
474 (Symbolic_Address): Likewise.
475 (Symbolic_Traceback): Likewise.
476 (Dump_Cache): Likewise.
477 (Is_Inside): Likewise.
478 (Open): Likewise.
479 (Set_Load_Address): Likewise.
480 (Low_Address): Likewise, and account for C.Load_Address.
481 * libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low.
482 (Multi_Module_Symbolic_Traceback): Compare address in traceback
483 with module Low_Address instead of Low.
484
dc3d037e 4852018-05-21 Olivier Hainque <hainque@adacore.com>
b029cc6e
OH
486
487 * libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as
488 Load_Address.
489 * libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly.
490 (Set_Load_Address): Likewise.
491 (Symbolic_Traceback): Likewise.
492
dc3d037e 4932018-05-21 Olivier Hainque <hainque@adacore.com>
08f8a716
OH
494
495 * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
496 Load_Address argument and pass it down to Init_Module.
497 * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
498 lm.l_addr as the Load_Address to Add_Module_To_Cache.
499
dc3d037e 5002018-05-21 Piotr Trojanek <trojanek@adacore.com>
689751d2
PT
501
502 * einfo.adb (Has_Discriminants): Stronger assertion.
503 (Set_Has_Discriminants): Stronger assertion.
504 * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect
505 the stronger assertion on Has_Discriminant.
506 (Uninstall_Discriminants_And_Pop_Scope): Same as above.
507 * sem_util.adb (New_Copy_Tree): Same as above.
508 * sem_ch7.adb (Generate_Parent_References): Prevent calls to
509 Has_Discriminant on non-type entities that might happen when the
510 compiled code has errors.
511 * sem_ch3.adb (Derived_Type_Declaration): Only call
512 Set_Has_Discriminant on type entities.
513
dc3d037e 5142018-05-21 Arnaud Charlet <charlet@adacore.com>
3ae9d953
AC
515
516 * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
517 code generation.
518
dc3d037e 5192018-05-21 Piotr Trojanek <trojanek@adacore.com>
0c06611c
PT
520
521 * lib.ads: Fix typo in enumeration in comment.
522
dc3d037e 5232018-05-21 Ed Schonberg <schonberg@adacore.com>
8b55e70d
ES
524
525 * sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The
526 attribute reference is legal within a generic unit when the prefix is a
527 formal private type.
528
dc3d037e 5292018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
66c0fa2c
HK
530
531 * exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not
532 delegate the secondary stack management when there is no suitable
533 transient context, and the transient scope was intended to manage the
534 secondary stack because this causes premature reclamation. Change the
535 transient scope creation logic by special casing assignment statements
536 of controlled components for type initialization procedures.
537 (Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update
538 the comment on usage.
539 (Find_Transient_Context): Change the initinte loop into a while loop.
540 Iterations schemes and iterator specifications are not valid transient
541 contexts because they rely on special processing. Assignment statements
542 are now treated as a normal transient context, special cases are
543 handled by the caller. Add special processing for pragma Check.
544 (Is_OK_Construct): Removed. Its functionality has been merged in
545 routine Find_Transient_Context.
546 * sem_ch5.adb (Check_Call): Reimplemented. Add code to properly
547 retrieve the subprogram being invoked. Use a more accurate predicate
548 (Requires_Transient_Scope) to determine that the function will emply
549 the secondary stack.
550
dc3d037e 5512018-05-21 Piotr Trojanek <trojanek@adacore.com>
8016e567
PT
552
553 * ada_get_targ.adb: Fix subprogram body headers.
554 * adabkend.adb: Likewise.
555 * checks.adb: Likewise.
556 * exp_ch3.adb: Likewise.
557 * exp_ch5.adb: Likewise.
558 * exp_ch9.adb: Likewise.
559 * exp_dist.adb: Likewise.
560 * exp_tss.adb: Likewise.
561 * inline.adb: Likewise.
562 * lib-writ.adb: Likewise.
563 * lib-xref-spark_specific.adb: Likewise.
564 * libgnarl/s-osinte__darwin.adb: Likewise.
565 * libgnarl/s-stusta.adb: Likewise.
566 * libgnarl/s-taprop__solaris.adb: Likewise.
567 * libgnarl/s-tposen.adb: Likewise.
568 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
569 * libgnarl/s-vxwext__kernel.adb: Likewise.
570 * libgnat/a-btgbso.adb: Likewise.
571 * libgnat/a-cfdlli.adb: Likewise.
572 * libgnat/a-cfhama.adb: Likewise.
573 * libgnat/a-cfinve.adb: Likewise.
574 * libgnat/a-cimutr.adb: Likewise.
575 * libgnat/a-coboho.adb: Likewise.
576 * libgnat/a-cofove.adb: Likewise.
577 * libgnat/a-cofuve.adb: Likewise.
578 * libgnat/a-comutr.adb: Likewise.
579 * libgnat/a-exexda.adb: Likewise.
580 * libgnat/a-tags.adb: Likewise.
581 * libgnat/a-tideau.adb: Likewise.
582 * libgnat/a-wtdeau.adb: Likewise.
583 * libgnat/a-ztdeau.adb: Likewise.
584 * libgnat/g-alleve.adb: Likewise.
585 * libgnat/s-excdeb.adb: Likewise.
586 * libgnat/s-parint.adb: Likewise.
587 * libgnat/s-shasto.adb: Likewise.
588 * libgnat/s-traceb__hpux.adb: Likewise.
589 * prepcomp.adb: Likewise.
590 * sem_ch4.adb: Likewise.
591 * sem_ch6.adb: Likewise.
592 * sem_dist.adb: Likewise.
593 * sem_prag.adb: Likewise.
594 * sem_util.adb: Likewise.
595 * sinfo.adb: Likewise.
596 * switch.adb: Likewise.
597
5759c56d
JM
5982018-05-04 John Marino <gnugcc@marino.st>
599
600 PR ada/85635
601 * link.c (BSD platforms): Add missing backslash.
602
9f47a64f
EB
6032018-04-27 Eric Botcazou <ebotcazou@adacore.com>
604
605 PR ada/85540
606 * init.c (__gnat_handle_vms_condition): Add missing parentheses.
607
87ed4159
EB
6082018-04-25 Eric Botcazou <ebotcazou@adacore.com>
609
610 PR ada/85007
611 * gnat_ugn.texi: Regenerate.
612
bd1643cc
EB
6132018-03-23 Eric Botcazou <ebotcazou@adacore.com>
614
615 PR ada/85007
616 * gnatlink.adb (Gnatlink): Remove handling of -b switch.
617 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
618 Remove documentation of -b switch.
619
f8e56962
EB
6202018-03-23 Eric Botcazou <ebotcazou@adacore.com>
621
622 PR ada/85036
623 * gnatlink.adb (Process_Args): Drop existing link switches if multiple
624 switches are passed for --LINK.
625
50536fd5
EB
6262018-03-12 Eric Botcazou <ebotcazou@adacore.com>
627
628 PR ada/82813
629 * gcc-interface/misc.c (gnat_post_options): Disable string overflow
630 warnings.
631
f1bc6414
EB
6322018-03-10 Eric Botcazou <ebotcazou@adacore.com>
633
634 * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
635 Consider only entities for objects.
636
6cde8c54
SH
6372018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
638
639 * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
640 $(GNATLIBCFLAGS).
641 (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
642
21288963
EB
6432018-03-06 Eric Botcazou <ebotcazou@adacore.com>
644
645 * gcc-interface/trans.c (convert_with_check): Fix typo in the condition
646 guarding the overflow check emitted for the upper bound of a floating-
647 point conversion.
648
0d6091d9
EB
6492018-03-06 Eric Botcazou <ebotcazou@adacore.com>
650
651 * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
652
c6db43fa
EB
6532018-02-28 Eric Botcazou <ebotcazou@adacore.com>
654
655 * libgnat/i-cexten.ads (Float_128): New type.
656
dacdc68f
EB
6572018-02-02 Eric Botcazou <ebotcazou@adacore.com>
658
659 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
660 false if the component type is a pointer.
661
fab58852
GD
6622018-01-11 Gary Dismukes <dismukes@adacore.com>
663
664 * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
665 result of Get_Simple_Init_Value and pass the source location of the
666 object declaration's object_definition.
667
a2dbe7d5
ES
6682018-01-11 Ed Schonberg <schonberg@adacore.com>
669
670 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
671 properly object declarations with initializations that are
672 build-in-place function calls, when there is an address specification,
673 either as an aspect specification or an explicit attribute
674 specification clause, for the initialized object.
675 * freeze.adb (Check_Address_Clause): Do not remove side-effects from
676 initial expressions in the case of a build-in-place call.
677
791f2d03
PT
6782018-01-11 Piotr Trojanek <trojanek@adacore.com>
679
680 * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
681 private (sub)type; refactor to avoid early return statement.
682 (Not_Null_Range): Same as above.
683
a85dbeec
HK
6842018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
685
686 * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
687 concurrent, nor effectively volatile.
688 * ghost.adb (Check_Ghost_Type): New routine.
689 * ghost.ads (Check_Ghost_Type): New routine.
690 * sem_util.adb (Is_Declaration): Reimplemented. The routine can now
691 consider specific subsets of declarations.
692 (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
693 replicated by Is_Declaration.
694 * sem_util.ads (Is_Declaration): New parameter profile. Update the
695 comment on usage.
696 (Is_Declaration_Other_Than_Renaming): Removed.
697
5efc1c00
HK
6982018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
699
700 * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
701 as Part_Of consituents of single protected types are illegal when they
702 take place inside a protected function.
703 (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
704 enclosing function.
705 (Is_Protected_Part_Of_Constituent): New routine.
706 (Within_Function): New routine.
707
4dfba737
AC
7082018-01-11 Arnaud Charlet <charlet@adacore.com>
709
710 Bump copyright notices to 2018.
711
27d357ca
HK
7122018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
713
714 * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
715 Minor reformatting.
716
cb488118
JS
7172018-01-11 Justin Squirek <squirek@adacore.com>
718
719 * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
720 to make sure a given expression function is properly parenthesized.
721
ed27b86b
HK
7222018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
723
724 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
725 categorization of a subprogram body which does not complete a previous
726 declaration.
727
715a5d51
HK
7282018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
729
730 * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
731 scope of package Ada is Standard.
732
a2fd4f0e
ES
7332018-01-11 Ed Schonberg <schonberg@adacore.com>
734
735 * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
736 subcomponent of the current entity when building the body for a dynamic
737 predicate function for a record with composite subcomponents.
738
6560f851
HK
7392018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
740
741 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
742 Establish_Transient_Scope.
743 (Convert_To_Assignments): Update the call to Establish_Transient_Scope.
744 (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
745 * exp_ch6.adb (Expand_Call_Helper): Update the call to
746 Establish_Transient_Scope.
747 (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
748 Establish_Transient_Scope.
749 * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
750 management of the secondary stack to an enclosing scope if there is no
751 suitable construct to wrap, and the transient scope was intended to
752 manage the secondary stack.
753 (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
754 is a valid boundary for a transient expression which comes from the
755 statements of the alternative, otherwise alternatives cannot be
756 wrapped. Assignments of controlled objects which have controlled
757 actions suppressed now stop the traversal as there is no point in
758 looking for an enclosing construct. Add several N_xxx_Body choices to
759 the termination conditions for completeness.
760 * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
761 and the associated comment on usage.
762 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
763 Establish_Transient_Scope.
764 (Add_Write_After): Update the call to Establish_Transient_Scope.
765 * sem_res.adb (Check_Initialization_Call): Removed.
766 (Resolve_Actuals): Account for additional cases where finalization
767 actions are required by utilizing predicate Needs_Finalization rather
768 than Is_Controlled.
769 (Resolve_Call): Type initialization procedures can now utilize
770 transient scopes to manage the secondary stack, thus preventing leaks
771 during initialization. Remove the previous kludgy algorithm which
772 attempts to manage the secondary stack at the object creation site.
773
c9e80306
JL
7742018-01-11 Jerome Lambourg <lambourg@adacore.com>
775
776 * libgnat/g-soliop__qnx.ads: New.
777 * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
778 for QNX.
779
4727f693
BD
7802018-01-11 Bob Duff <duff@adacore.com>
781
782 * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
783 a null procedure occurs in a protected definition.
784
1ceee6a1
BD
7852018-01-11 Bob Duff <duff@adacore.com>
786
787 * binderr.ads, namet.ads: Minor reformatting.
788
e22e7f06
BD
7892018-01-11 Bob Duff <duff@adacore.com>
790
791 * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
792 xml2gnat.
793
8207dc23
BD
7942018-01-11 Bob Duff <duff@adacore.com>
795
796 * binde.adb (Force_Elab_Order): Give an error if there are duplicate
797 unit names.
798
52c5090a
ES
7992018-01-11 Ed Schonberg <schonberg@adacore.com>
800
801 * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
802 controlling argument of a dispatching call. freeze the corresponding
803 designated type.
804
2e01b698
BB
8052018-01-11 Ben Brosgol <brosgol@adacore.com>
806
807 * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
808
f5c31a46
BB
8092018-01-11 Ben Brosgol <brosgol@adacore.com>
810
811 * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
812 corrections.
813 * gnat_rm.texi: Regenerate.
814
07733aa1
ES
8152018-01-11 Ed Schonberg <schonberg@adacore.com>
816
817 * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
818 formsl type corresponding to the actual fixed point type is private,
819 because in this case there can be no suspicious arithmetic operations
820 in the generic unless they reference a formal subprogram. Clarify
821 warning.
822
78cac738
JM
8232018-01-11 Javier Miranda <miranda@adacore.com>
824
825 * exp_util.adb (Remove_Side_Effects): No action done for functions
826 returning class-wide types since it requires generating code using
827 'reference and the CCG target has no secondary stack.
828 * gnat1drv.adb: Disable building static dispatch tables when generating
829 C code.
830
210fef2d
PT
8312018-01-11 Piotr Trojanek <trojanek@adacore.com>
832
833 * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
834 libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
835 (File_Type): Add Default_Initial_Condition aspect.
836
7d1553e2
PO
8372018-01-11 Pascal Obry <obry@adacore.com>
838
839 * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
840
1646b09f
BD
8412018-01-11 Bob Duff <duff@adacore.com>
842
843 * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
844 to match what the Libadalang-based version does.
845 * doc/gnat_ugn/about_this_guide.rst: Update reference.
846
7460ccc7
HK
8472018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
848
849 * sem_res.adb (Uses_SS): A controlled type requires the secondary stack
850 if it contains at least one component declaration employing a function
851 call returning on the secondary stack.
852
a5b2e440
YM
8532018-01-11 Yannick Moy <moy@adacore.com>
854
855 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
856 Update description of restriction SPARK_05 with SPARK 2014.
857 * gnat_rm.texi: Regenerate.
858
151af7d2
VF
8592018-01-11 Vasiliy Fofanov <fofanov@adacore.com>
860
861 * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
862
10fdda1c
HK
8632018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
864
865 * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
866 sem_res.adb, sem_util.adb: Minor reformatting.
867
4d6000d7
ES
8682018-01-11 Ed Schonberg <schonberg@adacore.com>
869
870 * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
871 has a delayed aspect which must be processed at the point the type is
872 frozen. This mimics what is done when the predicate is provided by a
873 source aspect.
874
19fb0439
DR
8752018-01-11 Doug Rupp <rupp@adacore.com>
876
877 * init.c (vxworks): Add macro checks for __aarch64__.
878
80631298
HK
8792018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
880
881 * exp_util.adb (Add_Failure_Expression): New routine.
882 (Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
883 * sem_util.adb (Is_Current_Instance): Code cleanup.
884
6a5e79b4
PB
8852018-01-11 Patrick Bernardi <bernardi@adacore.com>
886
887 * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
888 Default_Sec_Stack_Size.
889 * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
890 limit check so that the integer index does not overflow. Check the
891 dynamic stack allocation does not cause the secondary stack pointer to
892 overflow.
893 (SS_Info): Align colons.
894 (SS_Init): Cover the case when bootstraping with an old compiler that
895 does not set Default_SS_Size.
896
5cb78fb8
ES
8972018-01-11 Ed Schonberg <schonberg@adacore.com>
898
899 * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
900 legality of an inherited operation that may require overriding, ignore
901 primitive_wrappers that correspond to explicit operations that override
902 an interface primitive.
903 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
904 operation to which the class-wide expression applies is a protected op.
905 with a primitive_wrapper, verify that the updated inherited expression
906 does not contain an internal call to a protected function. This
907 completes the implementation of AI12-0166.
908
94ce4941
HK
9092018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
910
911 * ali.adb: Document the remaining letters available for ALI lines.
912 (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
913 * ali.ads: Update type With_Record. Field
914 Implicit_With_From_Instantiation is no longer in use. Add field
915 Implicit_With.
916 * csinfo.adb (CSinfo): Remove the setup for attribute
917 Implicit_With_From_Instantiation.
918 * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
919 either implicitly or explicitly withed.
920 (Is_Implicit_With_Clause): New routine.
921 (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
922 confusion with the with clause attribute by the same name.
923 (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
924 * rtsfind.adb (Maybe_Add_With): Code cleanup.
925 * sem_ch8.adb (Present_System_Aux): Code cleanup.
926 * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
927 for a parent unit.
928 (Implicit_With_On_Parent): Mark the with clause as generated for a
929 parent unit.
930 * sem_ch12.adb (Inherit_Context): With clauses inherited by an
931 instantiation are no longer marked as Implicit_With_From_Instantiation
932 because they are already marked as implicit.
933 * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
934 which marks implicit with clauses as related to an instantiation.
935 * sinfo.adb (Implicit_With_From_Instantiation): Removed.
936 (Parent_With): New routine.
937 (Set_Implicit_With_From_Instantiation): Removed.
938 (Set_Parent_With): New routine.
939 * sinfo.ads: Update the documentation of attribute Implicit_With.
940 Remove attribute Implicit_With_From_Instantiation along with
941 occurrences in nodes. Add attribute Parent_With along with occurrences
942 in nodes.
943 (Implicit_With_From_Instantiation): Removed along with pragma Inline.
944 (Parent_With): New routine along with pragma Inline.
945 (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
946 (Set_Parent_With): New routine along with pragma Inline.
947
77519270
HK
9482018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
949
950 * sem_util.adb (Find_Enclosing_Scope): Return the unique defining
951 entity when the enclosing construct is a body.
952
a40d9947
PB
9532018-01-11 Patrick Bernardi <bernardi@adacore.com>
954
955 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
956 Secondary_Stack_Size handling as a pragma is now generated for the
957 corresponding aspect instead of an attribute. Pragma expression is
958 relocated instead of evaluated. Discriminant of the corresponding
959 record type is referenced rather than the type discriminant.
960 (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
961 Secondary_Stack_Size rep item checks to only look for the pragma rep.
962 * sem_ch13.adb (Analyze_One_Aspect): Transform
963 Aspect_Secondary_Stack_Size into a pragma instead of an attribute
964 because the attribute does not have visibility on a task type's
965 discriminants when the type's definition is expanded.
966 (Analyze_Attribute_Definition_Clause): Remove handling of
967 Attribute_Secondary_Stack_Size.
968 * snames.adb-tmpl, snames.ads-tmpl: Remove
969 Attribute_Secondary_Stack_Size, no longer used.
970
6b199a18
JS
9712018-01-11 Justin Squirek <squirek@adacore.com>
972
973 * sem_ch8.adb: Minor comment fix.
974
05344a33
HK
9752018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
976
977 * exp_ch4.adb (Process_Action): Do not abandon the inspection of an
978 individual action because the action may denote a complex expression,
979 such as a case statement, which in turn may contain additional
980 transient objects.
981
d940c627
ES
9822018-01-11 Ed Schonberg <schonberg@adacore.com>
983
984 * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
985 analysis on a copy of the expression with a copy of the index variable,
986 because full expansion will rewrite construct into a loop with the
987 original loop variable.
988 * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
989 expression is an iterated component association. Full analysis takes
990 place when construct is rewritten as a loop.
991 (In_Place_Assign_OK, Safe_Component): An iterated_component_association
992 is not safe for in-place assignment.
993 * sem_util.adb (Remove_Entity): Handle properly the case of an isolated
994 entity with no homonym and no other entity in the scope.
995
c8f25817
JS
9962018-01-11 Justin Squirek <squirek@adacore.com>
997
998 * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
999 message to be printed on the pragma argument identifier.
1000
51f3e4e1
HK
10012018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1002
1003 * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
1004 entity of the generated invariant procedure in order to construct a
1005 proper entity chain.
1006
593e3172
PT
10072018-01-11 Piotr Trojanek <trojanek@adacore.com>
1008
1009 * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
1010 comment.
1011
89a4fa68
AC
10122018-01-11 Arnaud Charlet <charlet@adacore.com>
1013
1014 * einfo.ads, einfo.adb (Activation_Record_Component,
1015 Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
1016 Allow E_Discriminant.
1017
af95bb26
EB
10182018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1019
1020 * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
1021 for atomic access once the component size is taken into account and
1022 also do it if the component type is Atomic or Volatile_Full_Access.
1023
5d35675c
EB
10242018-01-04 Eric Botcazou <ebotcazou@adacore.com>
1025
1026 * gnatvsn.ads: Bump copyright year.
1027
73a699ae
RS
10282018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1029 Alan Hayward <alan.hayward@arm.com>
1030 David Sherwood <david.sherwood@arm.com>
1031
1032 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
1033 as polynomial.
1034
bb94ec76
RS
10352018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1036 Alan Hayward <alan.hayward@arm.com>
1037 David Sherwood <david.sherwood@arm.com>
1038
1039 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
1040 as polynomial.
1041
928686b1
RS
10422018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1043 Alan Hayward <alan.hayward@arm.com>
1044 David Sherwood <david.sherwood@arm.com>
1045
1046 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
1047 polynomial TYPE_VECTOR_SUBPARTS.
1048
7b777afa
RS
10492018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1050 Alan Hayward <alan.hayward@arm.com>
1051 David Sherwood <david.sherwood@arm.com>
1052
1053 * gcc-interface/misc.c (enumerate_modes): Handle polynomial
1054 GET_MODE_NUNITS.
1055
65e6aea3 10562018-01-03 Jakub Jelinek <jakub@redhat.com>
0e5b9de3 1057
85ec4feb
JJ
1058 Update copyright years.
1059
65e6aea3
JJ
1060 * gnat_ugn.texi: Bump @copying's copyright year.
1061 * gnat_rm.texi: Likewise.
ad41bd84 1062\f
65e6aea3 1063Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
1064
1065Copying and distribution of this file, with or without modification,
1066are permitted in any medium without royalty provided the copyright
1067notice and this notice are preserved.