]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
[Ada] Missing legality check on iterator over formal container
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
ac450fb2
ES
12018-05-23 Ed Schonberg <schonberg@adacore.com>
2
3 * sem_ch5.adb (Analyze_Iterator_Specification): If a subtype indication
4 is present, verify its legality when the domain of iteration is a
5 GNAT-specific formal container, as is already done for arrays and
6 predefined containers.
7
fd82aeff
YM
82018-05-23 Yannick Moy <moy@adacore.com>
9
10 * sem_util.adb (Enclosing_Declaration): Fix the case of a named number
11 declaration, which was not taken into account.
12
0c9849e1
HK
132018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
14
15 * debug.adb: Switch -gnatd_s is now used to stop elaboration checks on
16 synchronized suspension.
17 * rtsfind.ads: Add entries for units Ada.Synchronous_Barriers and
18 Ada.Synchronous_Task_Control and routines Suspend_Until_True and
19 Wait_For_Release.
20 * sem_elab.adb: Document switch -gnatd_s.
21 (In_Task_Body): New routine.
22 (Is_Potential_Scenario): Code cleanup. Stop the traversal of a task
23 body when the current construct denotes a synchronous suspension call,
24 and restriction No_Entry_Calls_In_Elaboration_Code or switch -gnatd_s
25 is in effect.
26 (Is_Synchronous_Suspension_Call): New routine.
27 * switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch
28 -gnatd_s.
29
51ab2a39
JM
302018-05-23 Javier Miranda <miranda@adacore.com>
31
32 * exp_disp.adb (Make_DT): Restrict the initialization of
33 External_Tag and Expanded_Name to an empty string to the case where
34 both pragmas apply (i.e. No_Tagged_Streams and Discard_Names), since
35 restricted runtimes are compiled with pragma Discard_Names.
36 * doc/gnat_rm/implementation_defined_pragmas.rst,
37 doc/gnat_rm/implementation_defined_characteristics.rst: Add
38 documentation.
39 * gnat_rm.texi: Regenerate.
40
6734617c
MM
412018-05-23 Maroua Maalej <maalej@adacore.com>
42
43 * sem_spark.adb: Fix of some permission rules of pointers in SPARK.
44
a0fa5497
ES
452018-05-23 Ed Schonberg <schonberg@adacore.com>
46
47 * sem_ch5.adb (Preanalyze_Range): The pre-analysis of the domain of
48 iteration of an Ada2012 loop is performed to determine the type of the
49 domain, but full analysis is performed once the loop is rewritten as a
50 while-loop during expansion. The pre-analysis suppresses expansion; it
51 must also suppress the generation of freeze nodes, which may otherwise
52 appear in the wrong scope before rewritting.
53
a0f3668c
HK
542018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
55
56 * sem_elab.adb: Update the section on suppressing elaboration warnings.
57
48688534
HK
582018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
59
60 * einfo.adb (Is_Elaboration_Checks_OK_Id): Use predicate
61 Is_Elaboration_Target.
62 (Is_Elaboration_Target): New routine.
63 (Is_Elaboration_Warnings_OK_Id): Use predicate Is_Elaboration_Target.
64 (Set_Is_Elaboration_Checks_OK_Id): Use predicate Is_Elaboration_Target.
65 (Set_Is_Elaboration_Warnings_OK_Id): Use predicate
66 Is_Elaboration_Target.
67 * einfo.ads: Add new synthesized attribute Is_Elaboration_Target along
68 with occurrences in nodes.
69 (Is_Elaboration_Target): New routine.
70 * sem_prag.adb (Analyze_Pragma): Suppress elaboration warnings when an
71 elaboration target is subject to pragma Warnings (Off, ...).
72
6e6e00ff
EB
732018-05-23 Eric Botcazou <ebotcazou@adacore.com>
74
75 * repinfo.adb (List_Type_Info): Remove obsolete stuff.
76
162ed06f
HK
772018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
78
79 * einfo.adb: Flag304 is now Is_Elaboration_Warnings_OK_Id.
80 (Is_Elaboration_Warnings_OK_Id): New routine.
81 (Set_Is_Elaboration_Warnings_OK_Id): New routine.
82 (Write_Entity_Flags): Output Flag304.
83 * einfo.ads: Add new attribute Is_Elaboration_Warnings_OK_Id along with
84 occurrences in entities.
85 (Is_Elaboration_Warnings_OK_Id): New routine along with pragma Inline.
86 (Set_Is_Elaboration_Warnings_OK_Id): New routine along with pragma
87 Inline.
88 * sem_attr.adb (Analyze_Access_Attribute): Capture the state of
89 elaboration warnings.
90 * sem_ch3.adb (Analyze_Object_Declaration): Capture the state of
91 elaboration warnings.
92 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Capture the
93 state of elaboration warnings.
94 (Analyze_Subprogram_Body_Helper): Capture the state of elaboration
95 warnings.
96 (Analyze_Subprogram_Declaration): Capture the state of elaboration
97 warnings.
98 * sem_ch9.adb (Analyze_Entry_Declaration): Capture the state of
99 elaboration warnings.
100 (Analyze_Single_Task_Declaration): Capture the state of elaboration
101 warnings.
102 (Analyze_Task_Type_Declaration): Capture the state of elaboration
103 warnings.
104 * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture the state
105 of elaboration warnings.
106 (Analyze_Generic_Subprogram_Declaration): Capture the state of
107 elaboration warnings.
108 * sem_elab.adb: Add a section on suppressing elaboration warnings.
109 Type Processing_Attributes includes component Suppress_Warnings
110 intended to suppress any elaboration warnings along a path in the
111 graph. Update Initial_State to include a value for this component.
112 Types Target_Attributes and Task_Attriutes include component
113 Elab_Warnings_OK to indicate whether the target or task has elaboration
114 warnings enabled. component Elab_Warnings_OK.
115 (Build_Access_Marker): Propagate attribute
116 Is_Elaboration_Warnings_OK_Node from the attribute to the generated
117 call marker.
118 (Extract_Instantiation_Attributes): Set the value for Elab_Warnings_OK.
119 (Extract_Target_Attributes): Set the value for Elab_Warnings_OK.
120 (Extract_Task_Attributes): Set the value for Elab_Warnings_OK.
121 (Process_Conditional_ABE_Access): Suppress futher elaboration warnings
122 when already in this mode or when the attribute or target have warnings
123 suppressed.
124 (Process_Conditional_ABE_Activation_Impl): Do not emit any diagnostics
125 if warnings are suppressed.
126 (Process_Conditional_ABE_Call): Suppress further elaboration warnings
127 when already in this mode, or the target or call have warnings
128 suppressed.
129 (Process_Conditional_ABE_Call_Ada): Do not emit any diagnostics if
130 warnings are suppressed.
131 (Process_Conditional_ABE_Call_SPARK): Do not emit any diagnostics if
132 warnings are suppressed.
133 (Process_Conditional_ABE_Instantiation): Suppress further elaboration
134 warnings when already in this mode or when the instantiation has
135 warnings suppressed.
136 (Process_Conditional_ABE_Instantiation_Ada): Do not emit any
137 diagnostics if warnings are suppressed.
138 (Process_Conditional_ABE_Variable_Assignment_Ada): Use the more
139 specific Is_Elaboration_Warnings_OK_Id rather than Warnings_Off.
140 (Process_Conditional_ABE_Variable_Assignment_SPARK): Use the more
141 specific Is_Elaboration_Warnings_OK_Id rather than Warnings_Off.
142 (Process_Task_Object): Suppress further elaboration warnings when
143 already in this mode, or when the object, activation call, or task type
144 have warnings suppressed. Update the processing state to indicate that
145 the path goes through a task body.
146 * sinfo.adb (Is_Elaboration_Warnings_OK_Node): Accept attribute
147 references.
148 (Set_Is_Elaboration_Warnings_OK_Node): Accept attribute references.
149 * sinfo.ads: Attribute Is_Elaboration_Warnings_OK_Node now applies to
150 attribute references.
151
53b30c73
PT
1522018-05-23 Piotr Trojanek <trojanek@adacore.com>
153
154 * einfo.ads: Minor reformatting.
155
728fedc2
ES
1562018-05-23 Ed Schonberg <schonberg@adacore.com>
157
158 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
159 anonymous_access_to_ subprogram formal, apply a conversion to force an
160 accsssibility check that will fail statically, enforcing 3.10.2 (13).
161
87843c83
DM
1622018-05-23 Daniel Mercier <mercier@adacore.com>
163
164 * gnat1drv.adb: Turn off length expansion in CodePeer mode.
165
32677654
BD
1662018-05-23 Bob Duff <duff@adacore.com>
167
168 * freeze.adb: (Check_Address_Clause): Deal with build-in-place
169 aggregates in addition to build-in-place calls.
170
95872381
BD
1712018-05-23 Bob Duff <duff@adacore.com>
172
173 * einfo.ads: Minor reformatting.
174 * sem_ch3.adb: Likewise.
175 * sinfo.ads: Likewise.
176
40016fa7
HK
1772018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
178
179 * exp_ch3.adb (Default_Initialize_Object): Do not optimize scalar array
180 initialization when the component type has predicates.
181 * exp_ch4.adb (Expand_N_Allocator): Do not optimize scalar array
182 allocation when the component type has predicates.
183
3d581777
HK
1842018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
185
186 * einfo.adb, exp_disp.adb, sem_ch3.adb, sem_ch6.adb, sem_prag.adb:
187 Minor reformatting.
188
3f89eb7f
JS
1892018-05-22 Justin Squirek <squirek@adacore.com>
190
191 * sem_ch6.adb (Analyze_Expression_Function): Propagate flags from the
192 original function spec into the generated function spec due to
193 expansion of expression functions during analysis.
194 (Analyze_Subprogram_Body_Helper): Modify check on formal parameter
195 references from the body to the subprogram spec in the case of
196 expression functions because of inconsistances related to having a
197 generated body.
198 * libgnarl/s-osinte__android.ads: Flag parameters as unused.
199 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
200 * libgnarl/s-osinte__qnx.adb: Likewise.
201 * libgnarl/s-osinte__qnx.ads: Likewise.
202
143a4acd
DR
2032018-05-22 Doug Rupp <rupp@adacore.com>
204
205 * init.c (HAVE_ADJUST_CONTEXT_FOR_RAISE): Don't define on VxWorks7 for
206 AArch64.
207
f6904af0
OH
2082018-05-22 Olivier Hainque <hainque@adacore.com>
209
210 * libgnat/a-except.adb (Exception_Propagation.Propagate_Exception):
211 Expect an Exception_Occurence object, not an Access.
212 (Complete_And_Propagate_Occurrence): Adjust accordingly.
213 (Raise_From_Signal_Handler): Likewise.
214 (Reraise_Occurrence_No_Defer): If we have a Machine_Occurrence
215 available in the provided occurrence object, just re-propagate the
216 latter as a bare "raise;" would do.
217 * libgnat/a-exexpr.adb (Propagate_Exception): Adjust to spec change.
218 * libgnat/a-exstat.adb (String_To_EO): Initialize X.Machine_Occurrence
219 to null, to mark that the occurrence we're crafting from the stream
220 contents is not being propagated (yet).
221
02db8169
HK
2222018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
223
224 * exp_aggr.adb (Initialize_Ctrl_Record_Component): Insert the generated
225 code for a transient component in line with the rest of the
226 initialization code, rather than before the aggregate. This ensures
227 that the component has proper visibility of the discriminants.
228
9820b389
JL
2292018-05-22 Jerome Lambourg <lambourg@adacore.com>
230
231 * adaint.c: Reorganize QNX-specific macros, use syspage to retreive the
232 number of CPUs.
233
817659c5
JL
2342018-05-22 Jerome Lambourg <lambourg@adacore.com>
235
236 * sigtramp-qnx.c: Properly restore link register in signal trampoline.
237
529749b9
HK
2382018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
239
240 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Strip away any
241 conversions before extracting the value of the expression.
242 * exp_ch3.adb (Default_Initialize_Object): Optimize the default
243 initialization of an array of scalars.
244 (Get_Simple_Init_Val): Add processing for array types. Remove the
245 processing of strings because this case is already handled by the array
246 case.
247 (Needs_Simple_Initialization): Moved to Sem_Util.
248 (Simple_Init_Array_Type): New routine.
249 (Simple_Init_Initialize_Scalars_Type): Reimplemented to use the new
250 facilities from Sem_Util.
251 (Simple_Initialization_OK): New routine.
252 * exp_ch3.ads (Needs_Simple_Initialization): Moved to Sem_Util.
253 * exp_ch4.adb (Expand_N_Allocator): Optimize the default allocation of
254 an array of scalars.
255 * sem_prag.adb (Analyze_Float_Value): New routine.
256 (Analyze_Integer_Value): New routine.
257 (Analyze_Pragma): Reimplement the analysis of pragma Initialize_Scalars
258 to handled the extended form of the pragma.
259 (Analyze_Type_Value_Pair): New routine.
260 * sem_util.adb: Add invalid value-related data structures.
261 (Examine_Array_Bounds): New routine.
262 (Has_Static_Array_Bounds): Reimplemented.
263 (Has_Static_Non_Empty_Array_Bounds): New routine.
264 (Invalid_Scalar_Value): New routine.
265 (Needs_Simple_Initialization): Moved from Exp_Ch3.
266 (Set_Invalid_Scalar_Value): New routines.
267 * sem_util.ads (Has_Static_Non_Empty_Array_Bounds): New routine.
268 (Invalid_Scalar_Value): New routine.
269 (Needs_Simple_Initialization): Moved from Exp_Ch3.
270 (Set_Invalid_Scalar_Value): New routines.
271 * snames.ads-tmpl: Add names for the salar type families used by pragma
272 Initialize_Scalars.
273
b00baef5
JM
2742018-05-22 Javier Miranda <miranda@adacore.com>
275
276 * exp_disp.adb (Make_DT): Initialize the External_Tag with an empty
277 string when pragma No_Tagged_Streams is applicable to the tagged type,
278 and initialize the Expanded_Name with an empty string when pragma
279 Discard_Names is applicable to the tagged type.
280
90fa8613
ES
2812018-05-22 Ed Schonberg <schonberg@adacore.com>
282
283 * sem_ch6.adb (Check_Conformance): Add RM reference for rule that a
284 formal subprogram is never subtype conformqnt, and thus cannot be the
285 prefix of 'Access. Reject as well the attribute when applied to a
286 renaming of a formal subprogram.
287
3b26fe82
HK
2882018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
289
290 * exp_ch3.adb (Build_Array_Init_Proc): Update the call to
291 Needs_Simple_Initialization.
292 (Build_Init_Statements): Update the call to Get_Simple_Init_Val.
293 (Check_Subtype_Bounds): Renamed to Extract_Subtype_Bounds. Update the
294 profile and comment on usage.
295 (Default_Initialize_Object): Do not use New_Copy_Tree to set the proper
296 Sloc of a value obtained from aspect Default_Value because this could
297 potentially replicate large trees. The proper Sloc is now set in
298 Get_Simple_Init_Val.
299 (Get_Simple_Init_Val): Reorganized by breaking the various cases into
300 separate routines. Eliminate the use of global variables.
301 (Init_Component): Update the call to Get_Simple_Init_Val.
302 (Needs_Simple_Initialization): Update the parameter profile and all
303 uses of T.
304 (Simple_Init_Defaulted_Type): Copy the value of aspect Default_Value
305 and set the proper Sloc.
306 * exp_ch3.ads (Get_Simple_Init_Val): Update the parameter profile and
307 comment on usage.
308 (Needs_Simple_Initialization): Update the parameter profile.
309
59ec5d9b
PB
3102018-05-22 Patrick Bernardi <bernardi@adacore.com>
311
312 * sem_ch3.adb (Build_Discriminant_Constraints): Raise an error if the
313 user tries to use a subtype indication as a discriminant constraint.
314
801b4022
ES
3152018-05-22 Ed Schonberg <schonberg@adacore.com>
316
317 * exp_ch4.ads, exp_ch4.adb, exp_util.adb, expander.adb: Remove mention
318 of N_Reduction_Expression and N_Reduction_Expression_Parameter.
319 * par-ch4.adb: Remove parsing routines for reduction expressions.
320 * sem.adb, sinfo.ads, sinfo.adb, sem_ch4.ads, sem_ch4.adb, sem_res.adb,
321 sem_spark.adb, sprint.adb: Remove analysis routines for reduction
322 expressions.
323
208ebca9
AC
3242018-05-22 Arnaud Charlet <charlet@adacore.com>
325
326 * sem_ch8.adb (Check_Frozen_Renaming): Do not emit error in
327 Relaxed_RM_Semantics mode.
328
b4914af8
AC
3292018-05-22 Arnaud Charlet <charlet@adacore.com>
330
331 * comperr.adb (Delete_SCIL_Files): Take into account
332 N_Generic_Package_Renaming_Declaration.
333
fbb53995
ES
3342018-05-22 Ed Schonberg <schonberg@adacore.com>
335
336 * sem_ch3.adb (Search_Derivation_Levels): Whenever a parent type is
337 private, use the full view if available, because it may include renamed
338 discriminants whose values are stored in the corresponding
339 Stored_Constraint.
340
651822ae
ES
3412018-05-22 Ed Schonberg <schonberg@adacore.com>
342
343 * einfo.ads, einfo.adb: New attribute Hidden_In_Formal_Instance,
344 defined on packages that are actuals for formal packages, in order to
345 set/reset the visibility of the formals of a formal package with given
346 actuals, when there are subsequent uses of those formals in the
347 enclosing generic, as required by RN 12.7 (10).
348 * atree.ads, atree.adb: Add operations for Elist30.
349 * atree.h: Add Elist30.
350 * sem_ch12.adb (Analyze_Formal_Package_Instantiation): Collect formals
351 that are not defaulted and are thus not visible within the current
352 instance.
353 (Check_Formal_Packages): Reset visibility of formals of a formal
354 package that are not defaulted, on exit from current instance.
355
41ff70d9
HK
3562018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
357
358 * sem_prag.adb (Analyze_Input_Output): Emit an error when a non-null,
359 non-'Result output appears in the output list of a function.
360
f16cb8df
HK
3612018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
362
363 * exp_attr.adb (Build_Array_VS_Func): Reimplemented.
364 (Build_Record_VS_Func): Reimplemented.
365 (Expand_N_Attribute): Reimplement the handling of attribute
366 'Valid_Scalars.
367 * sem_attr.adb (Analyze_Attribute): Reimplement the handling of
368 attribute 'Valid_Scalars.
369 * sem_util.adb (Scalar_Part_Present): Reimplemented.
370 (Validated_View): New routine.
371 * sem_util.ads (Scalar_Part_Present): Update the parameter profile and
372 comment on usage.
373 (Validated_View): New routine.
374 * doc/gnat_rm/implementation_defined_attributes.rst: Update the
375 documentation of attribute 'Valid_Scalars.
376 * gnat_rm.texi: Regenerate.
377
6b3035ab
BD
3782018-05-22 Bob Duff <duff@adacore.com>
379
380 * binde.adb: (Choose): Ignore a pragma Elaborate_Body that appears in
381 the spec of a SAL_Interface package.
382
85c73d63
ES
3832018-05-22 Ed Schonberg <schonberg@adacore.com>
384
385 * freeze.adb (Freeze_Entity): When analyzing delayed aspects of an
386 entity E within a generic unit, indicate that there are no remaining
387 delayed aspects after invoking Analyze_Aspects_At_Freeze_Point. The
388 entity E is not frozen yet but the aspects should not be reanalyzed at
389 the freeze point, which may be outside of the generic and may not have
390 the proper visibility.
391
71483539
BD
3922018-05-22 Bob Duff <duff@adacore.com>
393
394 * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
395 the new --split-line-before-record, --indent-named-statements and
396 --no-align-modes gnatpp switches.
397
531351e8
ES
3982018-05-22 Ed Schonberg <schonberg@adacore.com>
399
400 * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Handle properly
401 a second argument that is a constant of a given string value.
402
9c629d61
DR
4032018-05-22 Doug Rupp <rupp@adacore.com>
404
405 * sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.
406
14141ce8
JL
4072018-05-22 Jerome Lambourg <lambourg@adacore.com>
408
409 * sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline.
410
f2df0100
ES
4112018-05-22 Ed Schonberg <schonberg@adacore.com>
412
413 * freeze.adb (Freeze_Fixed_Point_Type): If the first subtype has
414 delayed aspects, analyze them now, os that the representation of the
415 type (size, bounds) can be computed and validated.
416
b8bbe739
OH
4172018-05-22 Olivier Hainque <hainque@adacore.com>
418
419 * libgnat/s-dwalin.adb (Enable_Cache): Skip symbols outside of the
420 executable code section boundaries.
421
92ea8dd2
JM
4222018-05-22 Javier Miranda <miranda@adacore.com>
423
424 * locales.c: New implementation for the Ada.Locales package.
425 * libgnat/a-locale.ads: Remove comment indicating that this is not
426 implemented.
427 * doc/gnat_rm/standard_library_routines.rst: Remove comment indicating
428 that this is not implemented.
429 * gnat_rm.texi: Regenerate.
430
e5fc0179
HK
4312018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
432
433 * exp_ch5.adb, freeze.adb, pprint.adb, sem_ch4.adb, sem_res.adb: Minor
434 reformattings.
435
eaf51442
JS
4362018-05-22 Justin Squirek <squirek@adacore.com>
437
438 * sem_ch12.adb (In_Same_Declarative_Part): Moved to sem_util.
439 (Freeze_Subprogram_Body, Install_Body): Modify calls to
440 In_Same_Declarative_Part.
441 * sem_prag.adb (Analyze_Pragma-Pragma_Pure_Function): Add check to
442 verify pragma declaration is within the same declarative list with
443 corresponding error message.
444 * sem_util.adb, sem_util.ads (In_Same_Declarative_Part): Moved from
445 sem_ch12.adb and generalized to be useful outside the scope of
446 freezing.
447
80f0c69c
HK
4482018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
449
450 * sem_ch6.adb (Analyze_Subprogram_Declaration): Set the proper
451 categorization of the unit after processing the aspects in case one of
452 its aspects is converted into a categorization pragma.
453
f9e9ab63
ES
4542018-05-21 Ed Schonberg <schonberg@adacore.com>
455
456 * freeze.adb (Warn_Overlay): Do not emit a wawrning on an object
457 declaration with an explicit address clause and a type with default
458 initialization, if the declaration carries an aspect
459 Suppress_Initialization.
460
dc3d037e 4612018-05-21 Daniel Mercier <mercier@adacore.com>
af5d8cb0
DM
462
463 * pprint.adb: Use mixed case for attribute names.
464
dc3d037e 4652018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
e9d08fd7
HK
466
467 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Rename the call to
468 Analyze_Aspect_Specifications_On_Body_Or_Stub.
469 (Analyze_Subprogram_Body_Helper): Rename the calls to
470 Analyze_Aspect_Specifications_On_Body_Or_Stub.
471 * sem_ch9.adb (Analyze_Entry_Body): Rename the call to
472 Analyze_Aspect_Specifications_On_Body_Or_Stub.
473 * sem_ch10.adb: Add with and use clause for Sem_Ch13.
474 (Analyze_Package_Body_Stub): Add constant Id. Decorate the package stub
475 prior to analyzing its aspects.
476 (Analyze_Protected_Body_Stub): Add constant Id. Decorate the package
477 stub prior to analyzing its aspects. Save and restore the configuration
478 switches.
479 (Analyze_Task_Body_Stub): Add constant Id. Decorate the package stub
480 prior to analyzing its aspects.
481 * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
482 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
483 * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
484 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
485 * sem_prag.adb: Code reformatting.
486 (Analyze_Refined_Depends_Global_Post): Consider task body stubs.
487
dc3d037e 4882018-05-21 Jerome Lambourg <lambourg@adacore.com>
f35b3e38
JL
489
490 * gcc-interface/Makefile.in: Add g-soliop__qnx.ads to the runtime build
491 for QNX.
492
dc3d037e 4932018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7a500fd7
HK
494
495 * exp_cg.adb: Remove with and use clause for Exp_Disp.
496 * exp_ch9.adb: Remove with and use clause for Exp_Disp.
497 * exp_disp.adb (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
498 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
499 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
500 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
501 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
502 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
503 * exp_dist.adb: Remove with and use clause for Exp_Disp.
504 * freeze.adb: Remove with and use clause for Exp_Disp.
505 * sem_cat.adb: Remove with and use clause for Exp_Disp.
506 * sem_ch6.adb: Remove with and use clause for Exp_Disp.
507 * sem_ch12.adb: Remove with and use clause for Exp_Disp.
508 * sem_elab.adb (Check_Overriding_Primitive): Do not process predefined
509 primitives.
510 * sem_util.adb: Remove with and use clause for Exp_Disp.
511 (Is_Predefined_Dispatching_Operation): Moved from Exp_Disp.
512 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
513 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
514 * sem_util.ads (Is_Predefined_Dispatching_Operation): Moved from
515 Exp_Disp.
516 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
517 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
518
dc3d037e 5192018-05-21 Ed Schonberg <schonberg@adacore.com>
516057d3
ES
520
521 * sem_res.adb (Valid_Conversion): Improve error message on an illegal
522 type conversion whose expression has a limited view of a type.
523
def6e435
ES
5242018-05-21 Ed Schonberg <schonberg@adacore.com>
525
526 * exp_ch5.adb (Build_Formal_Container_Iteration): If source has
527 explicit name for iterator loop, preserve that name in expanded
528 construct, for possible use in exit statements.
529
dc3d037e 5302018-05-21 Javier Miranda <miranda@adacore.com>
0d8b6803
JM
531
532 * sem_ch4.adb (Analyze_Membership_Op): Avoid compiler crash when the
533 spec of a unit has Ada 2012 membership tests with multiple choices and
534 the unit body is not compiled under Ada 2012 mode.
535
dc3d037e 5362018-05-21 Doug Rupp <rupp@adacore.com>
92689021
DR
537
538 * sigtramp-vxworks-target.inc: Set cfa_reg properly from sigcontext
539 pregs.
540 (CFI_COMMON_REGS): Restore LR jic probed from prologue.
541 (REGNO_PC_OFFSET): Change to correct value for Aarch64.
542
dc3d037e 5432018-05-21 Jose Ruiz <ruiz@adacore.com>
9e40de1d
JR
544
545 * doc/gnat_ugn/gnat_utility_programs.rst, exp_attr.adb,
546 libgnarl/s-tassta.adb: Minor typo fixes
547
12390626
ES
5482018-05-21 Ed Schonberg <schonberg@adacore.com>
549
550 * sem_ch4.adb (Analyze_One_Call): Recognize complex cases where an
551 indexed call originally in prefix forn is itself the prefix of a
552 further call.
553
dc3d037e 5542018-05-21 Piotr Trojanek <trojanek@adacore.com>
a2fcf1e0
PT
555
556 * sem_eval.adb (Is_Null_Range): Clarify access to the full view of a
557 type.
558 (Not_Null_Range): Same as above.
559
dc3d037e 5602018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
663afa9f
HK
561
562 * exp_ch3.adb: Minor reformatting.
563 * exp_ch6.adb: Likewise.
564 * freeze.adb: Likewise.
565 * inline.adb: Likewise.
566 * sem_util.adb: Likewise.
567
dc3d037e 5682018-05-21 Yannick Moy <moy@adacore.com>
031936bc
YM
569
570 * inline.adb (Expand_Inlined_Call.Process_Formals): Use a type
571 conversion instead of an unchecked type conversion when inlining a
572 return statement, unless type qualification is required (for character
573 and string literal) or no check can result from the conversion (for
574 access types).
575 * opt.ads: Update comment.
576
dc3d037e 5772018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7255f3c3
HK
578
579 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration
580 model of the compilation unit spec, if any.
581 * sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration
582 model of the compilation unit spec, if any.
583 * sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the
584 parent compilation unit spec, if any.
585 * sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration
586 model of the main unit.
587 (Is_Same_Unit): The routine now uses Unit_Entity.
588 (Is_Subunit): Removed.
589 (Normalize_Unit): Removed.
590 (Unit_Entity): New routine.
591 * sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma
592 Elaboration_Checks. The analysis now ensures that the pragma appears at
593 the configuration level, and on the initial declaration of a unit.
594 Other placements are either flagged as illegal, or ignored.
595 (Check_Duplicate_Elaboration_Checks_Pragma): New routine.
596 (Ignore_Elaboration_Checks_Pragma): New routine.
597 * sem_util.adb (Install_Elaboration_Model): New routine.
598 * sem_util.ads (Install_Elaboration_Model): New routine.
599 * doc/gnat_rm/implementation_defined_pragmas.rst: Update the
600 documentation of pragma Elaboration_Checks.
601 * gnat_rm.texi: Regenerate.
602
dc3d037e 6032018-05-21 Olivier Hainque <hainque@adacore.com>
18c7a4eb
OH
604
605 * libgnat/s-trasym__dwarf.adb (Executable_Name): Return argv[0] instead
606 of empty string when argv[0] couldn't be found on PATH.
607 (Enable_Cache): Raise Program_Error instead of attempting a null
608 pointer dereference when the Exec_Module initialization failed.
609
dc3d037e 6102018-05-21 Piotr Trojanek <trojanek@adacore.com>
bbb99006
PT
611
612 * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
613 * libgnarl/a-taside.ads (Tasking_State): Likewise.
614 * libgnat/a-calend.ads (Clock_Time): Likewise.
615
dc3d037e 6162018-05-21 Yannick Moy <moy@adacore.com>
e3822b0a
YM
617
618 * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
619 call notation in inlined call in GNATprove mode.
620
bcc093dc
HK
6212018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
622
623 * einfo.adb (Is_External_State): An abstract state is also external
624 when it is declared with option "synchronous".
625 * einfo.ads: Update the documentation of synthesized attribute
626 Is_External_State.
627 * sem_util.adb (Find_Simple_Properties): New routine.
628 (Is_Enabled_External_Property): New routine.
629 (State_Has_Enabled_Property): Reimplemented. The two flavors of option
630 External have precedence over option Synchronous when determining
631 whether a property is in effect.
632
dc3d037e 6332018-05-21 Yannick Moy <moy@adacore.com>
fe44c442
YM
634
635 * sem_eval.adb (Static_Length): Take into account case of variable of
636 subtype string literal.
637
dc3d037e 6382018-05-21 Olivier Hainque <hainque@adacore.com>
c77384a4
OH
639
640 * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
641 (Object_Section): Rename Flag_Alloc component as Flag_Xcode.
642 * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
643 component name.
644 (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
645 * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
646 change.
647
dc3d037e 6482018-05-21 Olivier Hainque <hainque@adacore.com>
0f090200
OH
649
650 * libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to
651 Address, and type of Low, High to Storage_Offset.
652 (Low): Rename as Low_Address and convey that the return value is a
653 runtime reference accounting for a load address.
654 * libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the
655 address/offset type changes.
656 (Aranges_Lookup): Likewise.
657 (Symbolic_Address): Likewise.
658 (Symbolic_Traceback): Likewise.
659 (Dump_Cache): Likewise.
660 (Is_Inside): Likewise.
661 (Open): Likewise.
662 (Set_Load_Address): Likewise.
663 (Low_Address): Likewise, and account for C.Load_Address.
664 * libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low.
665 (Multi_Module_Symbolic_Traceback): Compare address in traceback
666 with module Low_Address instead of Low.
667
dc3d037e 6682018-05-21 Olivier Hainque <hainque@adacore.com>
b029cc6e
OH
669
670 * libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as
671 Load_Address.
672 * libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly.
673 (Set_Load_Address): Likewise.
674 (Symbolic_Traceback): Likewise.
675
dc3d037e 6762018-05-21 Olivier Hainque <hainque@adacore.com>
08f8a716
OH
677
678 * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
679 Load_Address argument and pass it down to Init_Module.
680 * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
681 lm.l_addr as the Load_Address to Add_Module_To_Cache.
682
dc3d037e 6832018-05-21 Piotr Trojanek <trojanek@adacore.com>
689751d2
PT
684
685 * einfo.adb (Has_Discriminants): Stronger assertion.
686 (Set_Has_Discriminants): Stronger assertion.
687 * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect
688 the stronger assertion on Has_Discriminant.
689 (Uninstall_Discriminants_And_Pop_Scope): Same as above.
690 * sem_util.adb (New_Copy_Tree): Same as above.
691 * sem_ch7.adb (Generate_Parent_References): Prevent calls to
692 Has_Discriminant on non-type entities that might happen when the
693 compiled code has errors.
694 * sem_ch3.adb (Derived_Type_Declaration): Only call
695 Set_Has_Discriminant on type entities.
696
dc3d037e 6972018-05-21 Arnaud Charlet <charlet@adacore.com>
3ae9d953
AC
698
699 * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
700 code generation.
701
dc3d037e 7022018-05-21 Piotr Trojanek <trojanek@adacore.com>
0c06611c
PT
703
704 * lib.ads: Fix typo in enumeration in comment.
705
dc3d037e 7062018-05-21 Ed Schonberg <schonberg@adacore.com>
8b55e70d
ES
707
708 * sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The
709 attribute reference is legal within a generic unit when the prefix is a
710 formal private type.
711
dc3d037e 7122018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
66c0fa2c
HK
713
714 * exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not
715 delegate the secondary stack management when there is no suitable
716 transient context, and the transient scope was intended to manage the
717 secondary stack because this causes premature reclamation. Change the
718 transient scope creation logic by special casing assignment statements
719 of controlled components for type initialization procedures.
720 (Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update
721 the comment on usage.
722 (Find_Transient_Context): Change the initinte loop into a while loop.
723 Iterations schemes and iterator specifications are not valid transient
724 contexts because they rely on special processing. Assignment statements
725 are now treated as a normal transient context, special cases are
726 handled by the caller. Add special processing for pragma Check.
727 (Is_OK_Construct): Removed. Its functionality has been merged in
728 routine Find_Transient_Context.
729 * sem_ch5.adb (Check_Call): Reimplemented. Add code to properly
730 retrieve the subprogram being invoked. Use a more accurate predicate
731 (Requires_Transient_Scope) to determine that the function will emply
732 the secondary stack.
733
dc3d037e 7342018-05-21 Piotr Trojanek <trojanek@adacore.com>
8016e567
PT
735
736 * ada_get_targ.adb: Fix subprogram body headers.
737 * adabkend.adb: Likewise.
738 * checks.adb: Likewise.
739 * exp_ch3.adb: Likewise.
740 * exp_ch5.adb: Likewise.
741 * exp_ch9.adb: Likewise.
742 * exp_dist.adb: Likewise.
743 * exp_tss.adb: Likewise.
744 * inline.adb: Likewise.
745 * lib-writ.adb: Likewise.
746 * lib-xref-spark_specific.adb: Likewise.
747 * libgnarl/s-osinte__darwin.adb: Likewise.
748 * libgnarl/s-stusta.adb: Likewise.
749 * libgnarl/s-taprop__solaris.adb: Likewise.
750 * libgnarl/s-tposen.adb: Likewise.
751 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
752 * libgnarl/s-vxwext__kernel.adb: Likewise.
753 * libgnat/a-btgbso.adb: Likewise.
754 * libgnat/a-cfdlli.adb: Likewise.
755 * libgnat/a-cfhama.adb: Likewise.
756 * libgnat/a-cfinve.adb: Likewise.
757 * libgnat/a-cimutr.adb: Likewise.
758 * libgnat/a-coboho.adb: Likewise.
759 * libgnat/a-cofove.adb: Likewise.
760 * libgnat/a-cofuve.adb: Likewise.
761 * libgnat/a-comutr.adb: Likewise.
762 * libgnat/a-exexda.adb: Likewise.
763 * libgnat/a-tags.adb: Likewise.
764 * libgnat/a-tideau.adb: Likewise.
765 * libgnat/a-wtdeau.adb: Likewise.
766 * libgnat/a-ztdeau.adb: Likewise.
767 * libgnat/g-alleve.adb: Likewise.
768 * libgnat/s-excdeb.adb: Likewise.
769 * libgnat/s-parint.adb: Likewise.
770 * libgnat/s-shasto.adb: Likewise.
771 * libgnat/s-traceb__hpux.adb: Likewise.
772 * prepcomp.adb: Likewise.
773 * sem_ch4.adb: Likewise.
774 * sem_ch6.adb: Likewise.
775 * sem_dist.adb: Likewise.
776 * sem_prag.adb: Likewise.
777 * sem_util.adb: Likewise.
778 * sinfo.adb: Likewise.
779 * switch.adb: Likewise.
780
5759c56d
JM
7812018-05-04 John Marino <gnugcc@marino.st>
782
783 PR ada/85635
784 * link.c (BSD platforms): Add missing backslash.
785
9f47a64f
EB
7862018-04-27 Eric Botcazou <ebotcazou@adacore.com>
787
788 PR ada/85540
789 * init.c (__gnat_handle_vms_condition): Add missing parentheses.
790
87ed4159
EB
7912018-04-25 Eric Botcazou <ebotcazou@adacore.com>
792
793 PR ada/85007
794 * gnat_ugn.texi: Regenerate.
795
bd1643cc
EB
7962018-03-23 Eric Botcazou <ebotcazou@adacore.com>
797
798 PR ada/85007
799 * gnatlink.adb (Gnatlink): Remove handling of -b switch.
800 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
801 Remove documentation of -b switch.
802
f8e56962
EB
8032018-03-23 Eric Botcazou <ebotcazou@adacore.com>
804
805 PR ada/85036
806 * gnatlink.adb (Process_Args): Drop existing link switches if multiple
807 switches are passed for --LINK.
808
50536fd5
EB
8092018-03-12 Eric Botcazou <ebotcazou@adacore.com>
810
811 PR ada/82813
812 * gcc-interface/misc.c (gnat_post_options): Disable string overflow
813 warnings.
814
f1bc6414
EB
8152018-03-10 Eric Botcazou <ebotcazou@adacore.com>
816
817 * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
818 Consider only entities for objects.
819
6cde8c54
SH
8202018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
821
822 * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
823 $(GNATLIBCFLAGS).
824 (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
825
21288963
EB
8262018-03-06 Eric Botcazou <ebotcazou@adacore.com>
827
828 * gcc-interface/trans.c (convert_with_check): Fix typo in the condition
829 guarding the overflow check emitted for the upper bound of a floating-
830 point conversion.
831
0d6091d9
EB
8322018-03-06 Eric Botcazou <ebotcazou@adacore.com>
833
834 * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
835
c6db43fa
EB
8362018-02-28 Eric Botcazou <ebotcazou@adacore.com>
837
838 * libgnat/i-cexten.ads (Float_128): New type.
839
dacdc68f
EB
8402018-02-02 Eric Botcazou <ebotcazou@adacore.com>
841
842 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
843 false if the component type is a pointer.
844
fab58852
GD
8452018-01-11 Gary Dismukes <dismukes@adacore.com>
846
847 * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
848 result of Get_Simple_Init_Value and pass the source location of the
849 object declaration's object_definition.
850
a2dbe7d5
ES
8512018-01-11 Ed Schonberg <schonberg@adacore.com>
852
853 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
854 properly object declarations with initializations that are
855 build-in-place function calls, when there is an address specification,
856 either as an aspect specification or an explicit attribute
857 specification clause, for the initialized object.
858 * freeze.adb (Check_Address_Clause): Do not remove side-effects from
859 initial expressions in the case of a build-in-place call.
860
791f2d03
PT
8612018-01-11 Piotr Trojanek <trojanek@adacore.com>
862
863 * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
864 private (sub)type; refactor to avoid early return statement.
865 (Not_Null_Range): Same as above.
866
a85dbeec
HK
8672018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
868
869 * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
870 concurrent, nor effectively volatile.
871 * ghost.adb (Check_Ghost_Type): New routine.
872 * ghost.ads (Check_Ghost_Type): New routine.
873 * sem_util.adb (Is_Declaration): Reimplemented. The routine can now
874 consider specific subsets of declarations.
875 (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
876 replicated by Is_Declaration.
877 * sem_util.ads (Is_Declaration): New parameter profile. Update the
878 comment on usage.
879 (Is_Declaration_Other_Than_Renaming): Removed.
880
5efc1c00
HK
8812018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
882
883 * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
884 as Part_Of consituents of single protected types are illegal when they
885 take place inside a protected function.
886 (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
887 enclosing function.
888 (Is_Protected_Part_Of_Constituent): New routine.
889 (Within_Function): New routine.
890
4dfba737
AC
8912018-01-11 Arnaud Charlet <charlet@adacore.com>
892
893 Bump copyright notices to 2018.
894
27d357ca
HK
8952018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
896
897 * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
898 Minor reformatting.
899
cb488118
JS
9002018-01-11 Justin Squirek <squirek@adacore.com>
901
902 * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
903 to make sure a given expression function is properly parenthesized.
904
ed27b86b
HK
9052018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
906
907 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
908 categorization of a subprogram body which does not complete a previous
909 declaration.
910
715a5d51
HK
9112018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
912
913 * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
914 scope of package Ada is Standard.
915
a2fd4f0e
ES
9162018-01-11 Ed Schonberg <schonberg@adacore.com>
917
918 * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
919 subcomponent of the current entity when building the body for a dynamic
920 predicate function for a record with composite subcomponents.
921
6560f851
HK
9222018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
923
924 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
925 Establish_Transient_Scope.
926 (Convert_To_Assignments): Update the call to Establish_Transient_Scope.
927 (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
928 * exp_ch6.adb (Expand_Call_Helper): Update the call to
929 Establish_Transient_Scope.
930 (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
931 Establish_Transient_Scope.
932 * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
933 management of the secondary stack to an enclosing scope if there is no
934 suitable construct to wrap, and the transient scope was intended to
935 manage the secondary stack.
936 (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
937 is a valid boundary for a transient expression which comes from the
938 statements of the alternative, otherwise alternatives cannot be
939 wrapped. Assignments of controlled objects which have controlled
940 actions suppressed now stop the traversal as there is no point in
941 looking for an enclosing construct. Add several N_xxx_Body choices to
942 the termination conditions for completeness.
943 * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
944 and the associated comment on usage.
945 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
946 Establish_Transient_Scope.
947 (Add_Write_After): Update the call to Establish_Transient_Scope.
948 * sem_res.adb (Check_Initialization_Call): Removed.
949 (Resolve_Actuals): Account for additional cases where finalization
950 actions are required by utilizing predicate Needs_Finalization rather
951 than Is_Controlled.
952 (Resolve_Call): Type initialization procedures can now utilize
953 transient scopes to manage the secondary stack, thus preventing leaks
954 during initialization. Remove the previous kludgy algorithm which
955 attempts to manage the secondary stack at the object creation site.
956
c9e80306
JL
9572018-01-11 Jerome Lambourg <lambourg@adacore.com>
958
959 * libgnat/g-soliop__qnx.ads: New.
960 * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
961 for QNX.
962
4727f693
BD
9632018-01-11 Bob Duff <duff@adacore.com>
964
965 * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
966 a null procedure occurs in a protected definition.
967
1ceee6a1
BD
9682018-01-11 Bob Duff <duff@adacore.com>
969
970 * binderr.ads, namet.ads: Minor reformatting.
971
e22e7f06
BD
9722018-01-11 Bob Duff <duff@adacore.com>
973
974 * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
975 xml2gnat.
976
8207dc23
BD
9772018-01-11 Bob Duff <duff@adacore.com>
978
979 * binde.adb (Force_Elab_Order): Give an error if there are duplicate
980 unit names.
981
52c5090a
ES
9822018-01-11 Ed Schonberg <schonberg@adacore.com>
983
984 * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
985 controlling argument of a dispatching call. freeze the corresponding
986 designated type.
987
2e01b698
BB
9882018-01-11 Ben Brosgol <brosgol@adacore.com>
989
990 * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
991
f5c31a46
BB
9922018-01-11 Ben Brosgol <brosgol@adacore.com>
993
994 * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
995 corrections.
996 * gnat_rm.texi: Regenerate.
997
07733aa1
ES
9982018-01-11 Ed Schonberg <schonberg@adacore.com>
999
1000 * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
1001 formsl type corresponding to the actual fixed point type is private,
1002 because in this case there can be no suspicious arithmetic operations
1003 in the generic unless they reference a formal subprogram. Clarify
1004 warning.
1005
78cac738
JM
10062018-01-11 Javier Miranda <miranda@adacore.com>
1007
1008 * exp_util.adb (Remove_Side_Effects): No action done for functions
1009 returning class-wide types since it requires generating code using
1010 'reference and the CCG target has no secondary stack.
1011 * gnat1drv.adb: Disable building static dispatch tables when generating
1012 C code.
1013
210fef2d
PT
10142018-01-11 Piotr Trojanek <trojanek@adacore.com>
1015
1016 * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
1017 libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
1018 (File_Type): Add Default_Initial_Condition aspect.
1019
7d1553e2
PO
10202018-01-11 Pascal Obry <obry@adacore.com>
1021
1022 * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
1023
1646b09f
BD
10242018-01-11 Bob Duff <duff@adacore.com>
1025
1026 * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
1027 to match what the Libadalang-based version does.
1028 * doc/gnat_ugn/about_this_guide.rst: Update reference.
1029
7460ccc7
HK
10302018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1031
1032 * sem_res.adb (Uses_SS): A controlled type requires the secondary stack
1033 if it contains at least one component declaration employing a function
1034 call returning on the secondary stack.
1035
a5b2e440
YM
10362018-01-11 Yannick Moy <moy@adacore.com>
1037
1038 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
1039 Update description of restriction SPARK_05 with SPARK 2014.
1040 * gnat_rm.texi: Regenerate.
1041
151af7d2
VF
10422018-01-11 Vasiliy Fofanov <fofanov@adacore.com>
1043
1044 * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
1045
10fdda1c
HK
10462018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1047
1048 * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
1049 sem_res.adb, sem_util.adb: Minor reformatting.
1050
4d6000d7
ES
10512018-01-11 Ed Schonberg <schonberg@adacore.com>
1052
1053 * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
1054 has a delayed aspect which must be processed at the point the type is
1055 frozen. This mimics what is done when the predicate is provided by a
1056 source aspect.
1057
19fb0439
DR
10582018-01-11 Doug Rupp <rupp@adacore.com>
1059
1060 * init.c (vxworks): Add macro checks for __aarch64__.
1061
80631298
HK
10622018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1063
1064 * exp_util.adb (Add_Failure_Expression): New routine.
1065 (Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
1066 * sem_util.adb (Is_Current_Instance): Code cleanup.
1067
6a5e79b4
PB
10682018-01-11 Patrick Bernardi <bernardi@adacore.com>
1069
1070 * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
1071 Default_Sec_Stack_Size.
1072 * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
1073 limit check so that the integer index does not overflow. Check the
1074 dynamic stack allocation does not cause the secondary stack pointer to
1075 overflow.
1076 (SS_Info): Align colons.
1077 (SS_Init): Cover the case when bootstraping with an old compiler that
1078 does not set Default_SS_Size.
1079
5cb78fb8
ES
10802018-01-11 Ed Schonberg <schonberg@adacore.com>
1081
1082 * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
1083 legality of an inherited operation that may require overriding, ignore
1084 primitive_wrappers that correspond to explicit operations that override
1085 an interface primitive.
1086 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
1087 operation to which the class-wide expression applies is a protected op.
1088 with a primitive_wrapper, verify that the updated inherited expression
1089 does not contain an internal call to a protected function. This
1090 completes the implementation of AI12-0166.
1091
94ce4941
HK
10922018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1093
1094 * ali.adb: Document the remaining letters available for ALI lines.
1095 (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
1096 * ali.ads: Update type With_Record. Field
1097 Implicit_With_From_Instantiation is no longer in use. Add field
1098 Implicit_With.
1099 * csinfo.adb (CSinfo): Remove the setup for attribute
1100 Implicit_With_From_Instantiation.
1101 * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
1102 either implicitly or explicitly withed.
1103 (Is_Implicit_With_Clause): New routine.
1104 (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
1105 confusion with the with clause attribute by the same name.
1106 (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
1107 * rtsfind.adb (Maybe_Add_With): Code cleanup.
1108 * sem_ch8.adb (Present_System_Aux): Code cleanup.
1109 * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
1110 for a parent unit.
1111 (Implicit_With_On_Parent): Mark the with clause as generated for a
1112 parent unit.
1113 * sem_ch12.adb (Inherit_Context): With clauses inherited by an
1114 instantiation are no longer marked as Implicit_With_From_Instantiation
1115 because they are already marked as implicit.
1116 * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
1117 which marks implicit with clauses as related to an instantiation.
1118 * sinfo.adb (Implicit_With_From_Instantiation): Removed.
1119 (Parent_With): New routine.
1120 (Set_Implicit_With_From_Instantiation): Removed.
1121 (Set_Parent_With): New routine.
1122 * sinfo.ads: Update the documentation of attribute Implicit_With.
1123 Remove attribute Implicit_With_From_Instantiation along with
1124 occurrences in nodes. Add attribute Parent_With along with occurrences
1125 in nodes.
1126 (Implicit_With_From_Instantiation): Removed along with pragma Inline.
1127 (Parent_With): New routine along with pragma Inline.
1128 (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
1129 (Set_Parent_With): New routine along with pragma Inline.
1130
77519270
HK
11312018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1132
1133 * sem_util.adb (Find_Enclosing_Scope): Return the unique defining
1134 entity when the enclosing construct is a body.
1135
a40d9947
PB
11362018-01-11 Patrick Bernardi <bernardi@adacore.com>
1137
1138 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
1139 Secondary_Stack_Size handling as a pragma is now generated for the
1140 corresponding aspect instead of an attribute. Pragma expression is
1141 relocated instead of evaluated. Discriminant of the corresponding
1142 record type is referenced rather than the type discriminant.
1143 (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
1144 Secondary_Stack_Size rep item checks to only look for the pragma rep.
1145 * sem_ch13.adb (Analyze_One_Aspect): Transform
1146 Aspect_Secondary_Stack_Size into a pragma instead of an attribute
1147 because the attribute does not have visibility on a task type's
1148 discriminants when the type's definition is expanded.
1149 (Analyze_Attribute_Definition_Clause): Remove handling of
1150 Attribute_Secondary_Stack_Size.
1151 * snames.adb-tmpl, snames.ads-tmpl: Remove
1152 Attribute_Secondary_Stack_Size, no longer used.
1153
6b199a18
JS
11542018-01-11 Justin Squirek <squirek@adacore.com>
1155
1156 * sem_ch8.adb: Minor comment fix.
1157
05344a33
HK
11582018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1159
1160 * exp_ch4.adb (Process_Action): Do not abandon the inspection of an
1161 individual action because the action may denote a complex expression,
1162 such as a case statement, which in turn may contain additional
1163 transient objects.
1164
d940c627
ES
11652018-01-11 Ed Schonberg <schonberg@adacore.com>
1166
1167 * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
1168 analysis on a copy of the expression with a copy of the index variable,
1169 because full expansion will rewrite construct into a loop with the
1170 original loop variable.
1171 * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
1172 expression is an iterated component association. Full analysis takes
1173 place when construct is rewritten as a loop.
1174 (In_Place_Assign_OK, Safe_Component): An iterated_component_association
1175 is not safe for in-place assignment.
1176 * sem_util.adb (Remove_Entity): Handle properly the case of an isolated
1177 entity with no homonym and no other entity in the scope.
1178
c8f25817
JS
11792018-01-11 Justin Squirek <squirek@adacore.com>
1180
1181 * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
1182 message to be printed on the pragma argument identifier.
1183
51f3e4e1
HK
11842018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1185
1186 * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
1187 entity of the generated invariant procedure in order to construct a
1188 proper entity chain.
1189
593e3172
PT
11902018-01-11 Piotr Trojanek <trojanek@adacore.com>
1191
1192 * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
1193 comment.
1194
89a4fa68
AC
11952018-01-11 Arnaud Charlet <charlet@adacore.com>
1196
1197 * einfo.ads, einfo.adb (Activation_Record_Component,
1198 Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
1199 Allow E_Discriminant.
1200
af95bb26
EB
12012018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1202
1203 * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
1204 for atomic access once the component size is taken into account and
1205 also do it if the component type is Atomic or Volatile_Full_Access.
1206
5d35675c
EB
12072018-01-04 Eric Botcazou <ebotcazou@adacore.com>
1208
1209 * gnatvsn.ads: Bump copyright year.
1210
73a699ae
RS
12112018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1212 Alan Hayward <alan.hayward@arm.com>
1213 David Sherwood <david.sherwood@arm.com>
1214
1215 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
1216 as polynomial.
1217
bb94ec76
RS
12182018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1219 Alan Hayward <alan.hayward@arm.com>
1220 David Sherwood <david.sherwood@arm.com>
1221
1222 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
1223 as polynomial.
1224
928686b1
RS
12252018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1226 Alan Hayward <alan.hayward@arm.com>
1227 David Sherwood <david.sherwood@arm.com>
1228
1229 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
1230 polynomial TYPE_VECTOR_SUBPARTS.
1231
7b777afa
RS
12322018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1233 Alan Hayward <alan.hayward@arm.com>
1234 David Sherwood <david.sherwood@arm.com>
1235
1236 * gcc-interface/misc.c (enumerate_modes): Handle polynomial
1237 GET_MODE_NUNITS.
1238
65e6aea3 12392018-01-03 Jakub Jelinek <jakub@redhat.com>
0e5b9de3 1240
85ec4feb
JJ
1241 Update copyright years.
1242
65e6aea3
JJ
1243 * gnat_ugn.texi: Bump @copying's copyright year.
1244 * gnat_rm.texi: Likewise.
ad41bd84 1245\f
65e6aea3 1246Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
1247
1248Copying and distribution of this file, with or without modification,
1249are permitted in any medium without royalty provided the copyright
1250notice and this notice are preserved.
This page took 3.478438 seconds and 5 git commands to generate.