]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
[Ada] Crash on function in Ghost subunit
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
fa3717c1
HK
12018-05-24 Hristian Kirtchev <kirtchev@adacore.com>
2
3 * exp_util.adb (New_Class_Wide_Subtype): Capture and restore relevant
4 Ghost-related attributes of the class-wide subtype because the copy
5 clobbers them.
6
36e7d49f
JS
72018-05-24 Justin Squirek <squirek@adacore.com>
8
9 * sem_res.adb (Resolve_Entity_Name): Add guard to protect against
10 marking use clauses as effective when the reference appears within
11 generated code.
12
37a104ea
CC
132018-05-24 Cyrille Comar <comar@adacore.com>
14
15 * doc/gnat_rm/the_gnat_library.rst: Fix typos.
16 * gnat_rm.texi: Regenerate.
17
9a975bfc
BD
182018-05-24 Bob Duff <duff@adacore.com>
19
20 * exp_ch7.adb (Expand_Cleanup_Actions): Create a mark unconditionally
21 for build-in-place functions with a caller-unknown-size result.
22 (Create_Finalizer): For build-in-place functions with a
23 caller-unknown-size result, check at run time whether we need to
24 release the secondary stack.
25
d2bb0bbf
HK
262018-05-24 Hristian Kirtchev <kirtchev@adacore.com>
27
28 * sem_prag.adb (Analyze_Pragma): Use the full view of an internally
29 generated incomplete type.
30
9057bd6a
HK
312018-05-24 Hristian Kirtchev <kirtchev@adacore.com>
32
33 * expander.adb (Expand): Update the save and restore of the Ghost
34 region.
35 * exp_ch3.adb (Freeze_Type): Likewise.
36 * exp_disp.adb (Make_DT): Likewise.
37 * exp_util.adb (Build_DIC_Procedure_Body): Likewise.
38 (Build_DIC_Procedure_Declaration): Likewise.
39 (Build_Invariant_Procedure_Body): Likewise.
40 (Build_Invariant_Procedure_Declaration): Likewise.
41 (Make_Predicate_Call): Likewise.
42 * freeze.adb (Add_To_Result): Insert the freeze action of a living
43 entity prior to the start of the enclosing ignored Ghost region.
44 (Freeze_Entity): Update the save and restore of the Ghost region.
45 * ghost.adb (Install_Ghost_Mode): Reimplemented.
46 (Install_Ghost_Region): New routine.
47 (Mark_And_Set_Ghost_Assignment): Install a region rather than a mode.
48 (Mark_And_Set_Ghost_Body): Likewise.
49 (Mark_And_Set_Ghost_Completion): Likewise.
50 (Mark_And_Set_Ghost_Declaration): Likewise.
51 (Mark_And_Set_Ghost_Instantiation): Likewise.
52 (Mark_And_Set_Ghost_Procedure_Call): Likewise.
53 (Name_To_Ghost_Mode): New routine.
54 (Restore_Ghost_Region): New routine.
55 * ghost.ads (Install_Ghost_Region): New routine.
56 (Restore_Ghost_Region): New routine.
57 * opt.ads: Add new global variable Ignored_Ghost_Region.
58 * rtsfind.adb (Load_RTU): Update the save and restore of the Ghost
59 region. Install a clean region.
60 * sem.adb (Analyze): Likewise.
61 (Do_Analyze): Likewise.
62 * sem_ch3.adb (Analyze_Object_Declaration): Likewise
63 (Derive_Progenitor_Subprograms): Use local variable Iface_Alias to
64 capture the ultimate alias of the current primitive.
65 (Process_Full_View): Update the save and restore of the Ghost region.
66 Do not inherit DIC and invariant procedures.
67 * sem_ch5.adb (Analyze_Assignment): Update the save and restore of the
68 Ghost region.
69 * sem_ch6.adb (Analyze_Procedure_Call): Likewise.
70 (Analyze_Subprogram_Body_Helper): Likewise.
71 * sem_ch7.adb (Analyze_Package_Body_Helper): Likewise.
72 * sem_ch12.adb (Analyze_Package_Instantiation): Likewise.
73 (Analyze_Subprogram_Instantiation): Likewise.
74 (Instantiate_Package_Body): Likewise.
75 (Instantiate_Subprogram_Body): Likewise.
76 * sem_ch13.adb (Build_Predicate_Functions): Likewise.
77 (Build_Predicate_Function_Declaration): Likewise.
78 * sem_disp.adb
79 (Add_Dispatching_Operation): Do not consider DIC and invariant
80 procedures.
81 (Check_Dispatching_Operation): Use Add_Dispatching_Operation to collect
82 a dispatching subprogram.
83 (Check_Operation_From_Private_View): Likewise.
84 (Override_Dispatching_Operation): Likewise.
85 * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Update the save
86 and restore of the Ghost region.
87 (Analyze_Initial_Condition_In_Decl_Part): Likewise.
88 (Analyze_Pragma): Update the save and restore of the Ghost region.
89 (Analyze_Pre_Post_Condition_In_Decl_Part): Likewise.
90 * sem_util.adb (Is_Suitable_Primitive): New routine.
91 * sem_util.ads (Is_Suitable_Primitive): New routine.
92 * sinfo.ads: Update the section of Ghost regions.
93
883ccddf
PT
942018-05-24 Piotr Trojanek <trojanek@adacore.com>
95
96 * doc/gnat_rm/implementation_defined_pragmas.rst (Contract_Cases):
97 Change "condition" to "case guard" after renaming in the contract
98 grammar.
99 * gnat_rm.texi: Regenerate.
100
ebea257e
HK
1012018-05-24 Hristian Kirtchev <kirtchev@adacore.com>
102
103 * exp_util.adb (Expand_Static_Predicates_In_Choices): Indicate that the
104 construct with discrete choices no longer contains a subtype with
105 predicates since the expansion already handled this case.
106
d72099eb
HK
1072018-05-24 Hristian Kirtchev <kirtchev@adacore.com>
108
109 * freeze.adb (Wrap_Imported_Subprogram): Generate an unchecked
110 conversion to the return type to avoid a side effect where an imported
111 relocated function generates a new anonymous access type, whose
112 accessibility level does not agree with with that of the wrapper.
113
0b5252ac
JM
1142018-05-24 Javier Miranda <miranda@adacore.com>
115
116 * sem_util.adb (Abstract_Interface_List): Add missing support for
117 private types whose full view is a synchronized type.
118 * sem_ch3.adb (Build_Derived_Private_Type): Skip building the full
119 derivation of a private type parent type is a task type with
120 discriminants as gigi does not use such type directly.
121
7dcac7d1
HK
1222018-05-24 Hristian Kirtchev <kirtchev@adacore.com>
123
124 * sem_elab.adb (Build_Variable_Reference_Marker): Do not create a
125 variable marker when the reference appears in the formal part of a
126 compilation unit instance because there is no place to insert it.
127 (In_Compilation_Instance_Formal_Part): New routine.
128
443ee956
PT
1292018-05-24 Piotr Trojanek <trojanek@adacore.com>
130
131 * layout.ads, repinfo.ads: Fix references to renamed Backend_Layout
132 configuration parameter.
133
3cac09db
DR
1342018-05-24 Doug Rupp <rupp@adacore.com>
135
136 * argv-lynxos178-raven-cert.c: New file.
137 * libgnat/system-lynxos178-x86.ads: New file.
138
162ea0d3
HK
1392018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
140
141 * exp_disp.adb, freeze.adb, gnat1drv.adb, sem_ch5.adb, sem_spark.adb:
142 Minor reformattings.
143
cd742f4a
PO
1442018-05-23 Pascal Obry <obry@adacore.com>
145
146 * adaint.c (win32_wait): Properly free the handle/pid lists when
147 WaitForMultipleObjects fails (return WAIT_FAILED).
148
c2d2963d
PO
1492018-05-23 Pascal Obry <obry@adacore.com>
150
151 * adaint.c (win32_wait): Add missing parentheses.
152
7f4b58c2
HK
1532018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
154
155 * exp_ch3.adb (Check_Large_Modular_Array): Moved to Freeze.
156 (Expand_N_Object_Declaration): Do not check for a large modular array
157 here.
158 * freeze.adb (Check_Large_Modular_Array): Moved from Exp_Ch3.
159 (Freeze_Object_Declaration): Code cleanup. Check for a large modular
160 array.
161 * sem_ch3.adb: Minor reformatting.
162
ffdd5248
ES
1632018-05-23 Ed Schonberg <schonberg@adacore.com>
164
165 * einfo.ads: New attribute on types: Predicated_Parent, to simplify the
166 retrieval of the applicable predicate function to an itype created for
167 a constrained array component.
168 * einfo.adb: Subprograms for Predicated_Parent.
169 (Predicate_Function): Use new attribute.
170 * exp_util.adb (Make_Predicate_Call): If the predicate function is not
171 available for a subtype, retrieve it from the base type, which may have
172 been frozen after the subtype declaration and not captured by the
173 subtype declaration.
174 * sem_aggr.adb (Resolve_Array_Aggregate): An Others association is
175 legal within a generated initiqlization procedure, as may happen with a
176 predicate check on a component, when the predicate function applies to
177 the base type of the component.
178 * sem_ch3.adb (Analyze_Subtype_Declaration): Clean up inheritance of
179 predicates for subtype declarations and for subtype indications in
180 other contexts.
181 (Process_Subtype): Likewise. Handle properly the case of a private type
182 with unknown discriminants whose full view is an unconstrained array.
183 Use Predicated_Parent to indicate source of predicate function on an
184 itype whose parent is itself an itype.
185 (Complete_Private_Subtype): If the private view has unknown
186 discriminants and the full view is an unconstrained array, set base
187 type of completion to the full view of parent.
188 (Inherit_Predicate_Flags): Prevent double assignment of predicate
189 function and flags.
190 (Build_Subtype): For a constrained array component, propagate predicate
191 information from original component type declaration.
192
39a4daf9
BY
1932018-05-23 Boris Yakobowski <yakobowski@adacore.com>
194
195 * libgnat/a-ngelfu.ads (Arctanh, Arccoth): Fix faulty preconditions.
196
bc3fb397
AC
1972018-05-23 Arnaud Charlet <charlet@adacore.com>
198
199 * checks.adb (Minimize_Eliminate_Overflows): Default initialize Lo and
200 Hi.
201 * sem_elab.adb: Make "out" parameters instead of "in out" when
202 relevant.
203
b77c24b8
BD
2042018-05-23 Bob Duff <duff@adacore.com>
205
206 * gnatbind.adb (List_Applicable_Restrictions): Add
207 No_Implementation_Restrictions to the list of restrictions not to list.
208 Remove double negative "not No_Restriction_List". Comment the
209 commentary that is output, so it won't cause errors if used directly in
210 a gnat.adc.
211
b30f86de
ES
2122018-05-23 Ed Schonberg <schonberg@adacore.com>
213
214 * sem_prag.adb (Inherit_Class_Wide_Pre): Refine legality check on
215 class-wide precondition on a type extension when ancestor does not have
216 a class-wide precondition. Previously the compiler accepted such a
217 precondition when the ancestor had a class-wide postcondition.
218
026733d8
JM
2192018-05-23 Javier Miranda <miranda@adacore.com>
220
221 * sem_attr.adb (Valid_Scalars): Do not invoke Error_Attr_P to report
222 the warning on occurrences of this attribute whose evaluation is always
223 true (since that subprogram aborts processing the attribute). In
224 addition, replace the node by its boolean result 'True' (required
225 because the backend has no knowledge of this attribute).
226
aeaa0347
BD
2272018-05-23 Bob Duff <duff@adacore.com>
228
229 * libgnat/a-convec.adb: (Insert, Insert_Space): Suppress warnings. The
230 code in question is not reachable in the case where Count_Type'Last is
231 out of range.
232
5e1c231e
YM
2332018-05-23 Yannick Moy <moy@adacore.com>
234
235 * doc/gnat_rm/implementation_defined_pragmas.rst: Clarify meaning of
236 local pragma Warnings Off without On.
237 * gnat_rm.texi: Regenerate.
238
b682fcf0
OH
2392018-05-23 Olivier Hainque <hainque@adacore.com>
240
241 * libgnat/g-excact.ads (Is_Foreign_Exception): New predicate.
242 * libgnat/g-excact.adb: Implement.
243
ac450fb2
ES
2442018-05-23 Ed Schonberg <schonberg@adacore.com>
245
246 * sem_ch5.adb (Analyze_Iterator_Specification): If a subtype indication
247 is present, verify its legality when the domain of iteration is a
248 GNAT-specific formal container, as is already done for arrays and
249 predefined containers.
250
fd82aeff
YM
2512018-05-23 Yannick Moy <moy@adacore.com>
252
253 * sem_util.adb (Enclosing_Declaration): Fix the case of a named number
254 declaration, which was not taken into account.
255
0c9849e1
HK
2562018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
257
258 * debug.adb: Switch -gnatd_s is now used to stop elaboration checks on
259 synchronized suspension.
260 * rtsfind.ads: Add entries for units Ada.Synchronous_Barriers and
261 Ada.Synchronous_Task_Control and routines Suspend_Until_True and
262 Wait_For_Release.
263 * sem_elab.adb: Document switch -gnatd_s.
264 (In_Task_Body): New routine.
265 (Is_Potential_Scenario): Code cleanup. Stop the traversal of a task
266 body when the current construct denotes a synchronous suspension call,
267 and restriction No_Entry_Calls_In_Elaboration_Code or switch -gnatd_s
268 is in effect.
269 (Is_Synchronous_Suspension_Call): New routine.
270 * switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch
271 -gnatd_s.
272
51ab2a39
JM
2732018-05-23 Javier Miranda <miranda@adacore.com>
274
275 * exp_disp.adb (Make_DT): Restrict the initialization of
276 External_Tag and Expanded_Name to an empty string to the case where
277 both pragmas apply (i.e. No_Tagged_Streams and Discard_Names), since
278 restricted runtimes are compiled with pragma Discard_Names.
279 * doc/gnat_rm/implementation_defined_pragmas.rst,
280 doc/gnat_rm/implementation_defined_characteristics.rst: Add
281 documentation.
282 * gnat_rm.texi: Regenerate.
283
6734617c
MM
2842018-05-23 Maroua Maalej <maalej@adacore.com>
285
286 * sem_spark.adb: Fix of some permission rules of pointers in SPARK.
287
a0fa5497
ES
2882018-05-23 Ed Schonberg <schonberg@adacore.com>
289
290 * sem_ch5.adb (Preanalyze_Range): The pre-analysis of the domain of
291 iteration of an Ada2012 loop is performed to determine the type of the
292 domain, but full analysis is performed once the loop is rewritten as a
293 while-loop during expansion. The pre-analysis suppresses expansion; it
294 must also suppress the generation of freeze nodes, which may otherwise
295 appear in the wrong scope before rewritting.
296
a0f3668c
HK
2972018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
298
299 * sem_elab.adb: Update the section on suppressing elaboration warnings.
300
48688534
HK
3012018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
302
303 * einfo.adb (Is_Elaboration_Checks_OK_Id): Use predicate
304 Is_Elaboration_Target.
305 (Is_Elaboration_Target): New routine.
306 (Is_Elaboration_Warnings_OK_Id): Use predicate Is_Elaboration_Target.
307 (Set_Is_Elaboration_Checks_OK_Id): Use predicate Is_Elaboration_Target.
308 (Set_Is_Elaboration_Warnings_OK_Id): Use predicate
309 Is_Elaboration_Target.
310 * einfo.ads: Add new synthesized attribute Is_Elaboration_Target along
311 with occurrences in nodes.
312 (Is_Elaboration_Target): New routine.
313 * sem_prag.adb (Analyze_Pragma): Suppress elaboration warnings when an
314 elaboration target is subject to pragma Warnings (Off, ...).
315
6e6e00ff
EB
3162018-05-23 Eric Botcazou <ebotcazou@adacore.com>
317
318 * repinfo.adb (List_Type_Info): Remove obsolete stuff.
319
162ed06f
HK
3202018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
321
322 * einfo.adb: Flag304 is now Is_Elaboration_Warnings_OK_Id.
323 (Is_Elaboration_Warnings_OK_Id): New routine.
324 (Set_Is_Elaboration_Warnings_OK_Id): New routine.
325 (Write_Entity_Flags): Output Flag304.
326 * einfo.ads: Add new attribute Is_Elaboration_Warnings_OK_Id along with
327 occurrences in entities.
328 (Is_Elaboration_Warnings_OK_Id): New routine along with pragma Inline.
329 (Set_Is_Elaboration_Warnings_OK_Id): New routine along with pragma
330 Inline.
331 * sem_attr.adb (Analyze_Access_Attribute): Capture the state of
332 elaboration warnings.
333 * sem_ch3.adb (Analyze_Object_Declaration): Capture the state of
334 elaboration warnings.
335 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Capture the
336 state of elaboration warnings.
337 (Analyze_Subprogram_Body_Helper): Capture the state of elaboration
338 warnings.
339 (Analyze_Subprogram_Declaration): Capture the state of elaboration
340 warnings.
341 * sem_ch9.adb (Analyze_Entry_Declaration): Capture the state of
342 elaboration warnings.
343 (Analyze_Single_Task_Declaration): Capture the state of elaboration
344 warnings.
345 (Analyze_Task_Type_Declaration): Capture the state of elaboration
346 warnings.
347 * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture the state
348 of elaboration warnings.
349 (Analyze_Generic_Subprogram_Declaration): Capture the state of
350 elaboration warnings.
351 * sem_elab.adb: Add a section on suppressing elaboration warnings.
352 Type Processing_Attributes includes component Suppress_Warnings
353 intended to suppress any elaboration warnings along a path in the
354 graph. Update Initial_State to include a value for this component.
355 Types Target_Attributes and Task_Attriutes include component
356 Elab_Warnings_OK to indicate whether the target or task has elaboration
357 warnings enabled. component Elab_Warnings_OK.
358 (Build_Access_Marker): Propagate attribute
359 Is_Elaboration_Warnings_OK_Node from the attribute to the generated
360 call marker.
361 (Extract_Instantiation_Attributes): Set the value for Elab_Warnings_OK.
362 (Extract_Target_Attributes): Set the value for Elab_Warnings_OK.
363 (Extract_Task_Attributes): Set the value for Elab_Warnings_OK.
364 (Process_Conditional_ABE_Access): Suppress futher elaboration warnings
365 when already in this mode or when the attribute or target have warnings
366 suppressed.
367 (Process_Conditional_ABE_Activation_Impl): Do not emit any diagnostics
368 if warnings are suppressed.
369 (Process_Conditional_ABE_Call): Suppress further elaboration warnings
370 when already in this mode, or the target or call have warnings
371 suppressed.
372 (Process_Conditional_ABE_Call_Ada): Do not emit any diagnostics if
373 warnings are suppressed.
374 (Process_Conditional_ABE_Call_SPARK): Do not emit any diagnostics if
375 warnings are suppressed.
376 (Process_Conditional_ABE_Instantiation): Suppress further elaboration
377 warnings when already in this mode or when the instantiation has
378 warnings suppressed.
379 (Process_Conditional_ABE_Instantiation_Ada): Do not emit any
380 diagnostics if warnings are suppressed.
381 (Process_Conditional_ABE_Variable_Assignment_Ada): Use the more
382 specific Is_Elaboration_Warnings_OK_Id rather than Warnings_Off.
383 (Process_Conditional_ABE_Variable_Assignment_SPARK): Use the more
384 specific Is_Elaboration_Warnings_OK_Id rather than Warnings_Off.
385 (Process_Task_Object): Suppress further elaboration warnings when
386 already in this mode, or when the object, activation call, or task type
387 have warnings suppressed. Update the processing state to indicate that
388 the path goes through a task body.
389 * sinfo.adb (Is_Elaboration_Warnings_OK_Node): Accept attribute
390 references.
391 (Set_Is_Elaboration_Warnings_OK_Node): Accept attribute references.
392 * sinfo.ads: Attribute Is_Elaboration_Warnings_OK_Node now applies to
393 attribute references.
394
53b30c73
PT
3952018-05-23 Piotr Trojanek <trojanek@adacore.com>
396
397 * einfo.ads: Minor reformatting.
398
728fedc2
ES
3992018-05-23 Ed Schonberg <schonberg@adacore.com>
400
401 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
402 anonymous_access_to_ subprogram formal, apply a conversion to force an
403 accsssibility check that will fail statically, enforcing 3.10.2 (13).
404
87843c83
DM
4052018-05-23 Daniel Mercier <mercier@adacore.com>
406
407 * gnat1drv.adb: Turn off length expansion in CodePeer mode.
408
32677654
BD
4092018-05-23 Bob Duff <duff@adacore.com>
410
411 * freeze.adb: (Check_Address_Clause): Deal with build-in-place
412 aggregates in addition to build-in-place calls.
413
95872381
BD
4142018-05-23 Bob Duff <duff@adacore.com>
415
416 * einfo.ads: Minor reformatting.
417 * sem_ch3.adb: Likewise.
418 * sinfo.ads: Likewise.
419
40016fa7
HK
4202018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
421
422 * exp_ch3.adb (Default_Initialize_Object): Do not optimize scalar array
423 initialization when the component type has predicates.
424 * exp_ch4.adb (Expand_N_Allocator): Do not optimize scalar array
425 allocation when the component type has predicates.
426
3d581777
HK
4272018-05-23 Hristian Kirtchev <kirtchev@adacore.com>
428
429 * einfo.adb, exp_disp.adb, sem_ch3.adb, sem_ch6.adb, sem_prag.adb:
430 Minor reformatting.
431
3f89eb7f
JS
4322018-05-22 Justin Squirek <squirek@adacore.com>
433
434 * sem_ch6.adb (Analyze_Expression_Function): Propagate flags from the
435 original function spec into the generated function spec due to
436 expansion of expression functions during analysis.
437 (Analyze_Subprogram_Body_Helper): Modify check on formal parameter
438 references from the body to the subprogram spec in the case of
439 expression functions because of inconsistances related to having a
440 generated body.
441 * libgnarl/s-osinte__android.ads: Flag parameters as unused.
442 * libgnarl/s-osinte__lynxos178e.ads: Likewise.
443 * libgnarl/s-osinte__qnx.adb: Likewise.
444 * libgnarl/s-osinte__qnx.ads: Likewise.
445
143a4acd
DR
4462018-05-22 Doug Rupp <rupp@adacore.com>
447
448 * init.c (HAVE_ADJUST_CONTEXT_FOR_RAISE): Don't define on VxWorks7 for
449 AArch64.
450
f6904af0
OH
4512018-05-22 Olivier Hainque <hainque@adacore.com>
452
453 * libgnat/a-except.adb (Exception_Propagation.Propagate_Exception):
454 Expect an Exception_Occurence object, not an Access.
455 (Complete_And_Propagate_Occurrence): Adjust accordingly.
456 (Raise_From_Signal_Handler): Likewise.
457 (Reraise_Occurrence_No_Defer): If we have a Machine_Occurrence
458 available in the provided occurrence object, just re-propagate the
459 latter as a bare "raise;" would do.
460 * libgnat/a-exexpr.adb (Propagate_Exception): Adjust to spec change.
461 * libgnat/a-exstat.adb (String_To_EO): Initialize X.Machine_Occurrence
462 to null, to mark that the occurrence we're crafting from the stream
463 contents is not being propagated (yet).
464
02db8169
HK
4652018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
466
467 * exp_aggr.adb (Initialize_Ctrl_Record_Component): Insert the generated
468 code for a transient component in line with the rest of the
469 initialization code, rather than before the aggregate. This ensures
470 that the component has proper visibility of the discriminants.
471
9820b389
JL
4722018-05-22 Jerome Lambourg <lambourg@adacore.com>
473
474 * adaint.c: Reorganize QNX-specific macros, use syspage to retreive the
475 number of CPUs.
476
817659c5
JL
4772018-05-22 Jerome Lambourg <lambourg@adacore.com>
478
479 * sigtramp-qnx.c: Properly restore link register in signal trampoline.
480
529749b9
HK
4812018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
482
483 * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Strip away any
484 conversions before extracting the value of the expression.
485 * exp_ch3.adb (Default_Initialize_Object): Optimize the default
486 initialization of an array of scalars.
487 (Get_Simple_Init_Val): Add processing for array types. Remove the
488 processing of strings because this case is already handled by the array
489 case.
490 (Needs_Simple_Initialization): Moved to Sem_Util.
491 (Simple_Init_Array_Type): New routine.
492 (Simple_Init_Initialize_Scalars_Type): Reimplemented to use the new
493 facilities from Sem_Util.
494 (Simple_Initialization_OK): New routine.
495 * exp_ch3.ads (Needs_Simple_Initialization): Moved to Sem_Util.
496 * exp_ch4.adb (Expand_N_Allocator): Optimize the default allocation of
497 an array of scalars.
498 * sem_prag.adb (Analyze_Float_Value): New routine.
499 (Analyze_Integer_Value): New routine.
500 (Analyze_Pragma): Reimplement the analysis of pragma Initialize_Scalars
501 to handled the extended form of the pragma.
502 (Analyze_Type_Value_Pair): New routine.
503 * sem_util.adb: Add invalid value-related data structures.
504 (Examine_Array_Bounds): New routine.
505 (Has_Static_Array_Bounds): Reimplemented.
506 (Has_Static_Non_Empty_Array_Bounds): New routine.
507 (Invalid_Scalar_Value): New routine.
508 (Needs_Simple_Initialization): Moved from Exp_Ch3.
509 (Set_Invalid_Scalar_Value): New routines.
510 * sem_util.ads (Has_Static_Non_Empty_Array_Bounds): New routine.
511 (Invalid_Scalar_Value): New routine.
512 (Needs_Simple_Initialization): Moved from Exp_Ch3.
513 (Set_Invalid_Scalar_Value): New routines.
514 * snames.ads-tmpl: Add names for the salar type families used by pragma
515 Initialize_Scalars.
516
b00baef5
JM
5172018-05-22 Javier Miranda <miranda@adacore.com>
518
519 * exp_disp.adb (Make_DT): Initialize the External_Tag with an empty
520 string when pragma No_Tagged_Streams is applicable to the tagged type,
521 and initialize the Expanded_Name with an empty string when pragma
522 Discard_Names is applicable to the tagged type.
523
90fa8613
ES
5242018-05-22 Ed Schonberg <schonberg@adacore.com>
525
526 * sem_ch6.adb (Check_Conformance): Add RM reference for rule that a
527 formal subprogram is never subtype conformqnt, and thus cannot be the
528 prefix of 'Access. Reject as well the attribute when applied to a
529 renaming of a formal subprogram.
530
3b26fe82
HK
5312018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
532
533 * exp_ch3.adb (Build_Array_Init_Proc): Update the call to
534 Needs_Simple_Initialization.
535 (Build_Init_Statements): Update the call to Get_Simple_Init_Val.
536 (Check_Subtype_Bounds): Renamed to Extract_Subtype_Bounds. Update the
537 profile and comment on usage.
538 (Default_Initialize_Object): Do not use New_Copy_Tree to set the proper
539 Sloc of a value obtained from aspect Default_Value because this could
540 potentially replicate large trees. The proper Sloc is now set in
541 Get_Simple_Init_Val.
542 (Get_Simple_Init_Val): Reorganized by breaking the various cases into
543 separate routines. Eliminate the use of global variables.
544 (Init_Component): Update the call to Get_Simple_Init_Val.
545 (Needs_Simple_Initialization): Update the parameter profile and all
546 uses of T.
547 (Simple_Init_Defaulted_Type): Copy the value of aspect Default_Value
548 and set the proper Sloc.
549 * exp_ch3.ads (Get_Simple_Init_Val): Update the parameter profile and
550 comment on usage.
551 (Needs_Simple_Initialization): Update the parameter profile.
552
59ec5d9b
PB
5532018-05-22 Patrick Bernardi <bernardi@adacore.com>
554
555 * sem_ch3.adb (Build_Discriminant_Constraints): Raise an error if the
556 user tries to use a subtype indication as a discriminant constraint.
557
801b4022
ES
5582018-05-22 Ed Schonberg <schonberg@adacore.com>
559
560 * exp_ch4.ads, exp_ch4.adb, exp_util.adb, expander.adb: Remove mention
561 of N_Reduction_Expression and N_Reduction_Expression_Parameter.
562 * par-ch4.adb: Remove parsing routines for reduction expressions.
563 * sem.adb, sinfo.ads, sinfo.adb, sem_ch4.ads, sem_ch4.adb, sem_res.adb,
564 sem_spark.adb, sprint.adb: Remove analysis routines for reduction
565 expressions.
566
208ebca9
AC
5672018-05-22 Arnaud Charlet <charlet@adacore.com>
568
569 * sem_ch8.adb (Check_Frozen_Renaming): Do not emit error in
570 Relaxed_RM_Semantics mode.
571
b4914af8
AC
5722018-05-22 Arnaud Charlet <charlet@adacore.com>
573
574 * comperr.adb (Delete_SCIL_Files): Take into account
575 N_Generic_Package_Renaming_Declaration.
576
fbb53995
ES
5772018-05-22 Ed Schonberg <schonberg@adacore.com>
578
579 * sem_ch3.adb (Search_Derivation_Levels): Whenever a parent type is
580 private, use the full view if available, because it may include renamed
581 discriminants whose values are stored in the corresponding
582 Stored_Constraint.
583
651822ae
ES
5842018-05-22 Ed Schonberg <schonberg@adacore.com>
585
586 * einfo.ads, einfo.adb: New attribute Hidden_In_Formal_Instance,
587 defined on packages that are actuals for formal packages, in order to
588 set/reset the visibility of the formals of a formal package with given
589 actuals, when there are subsequent uses of those formals in the
590 enclosing generic, as required by RN 12.7 (10).
591 * atree.ads, atree.adb: Add operations for Elist30.
592 * atree.h: Add Elist30.
593 * sem_ch12.adb (Analyze_Formal_Package_Instantiation): Collect formals
594 that are not defaulted and are thus not visible within the current
595 instance.
596 (Check_Formal_Packages): Reset visibility of formals of a formal
597 package that are not defaulted, on exit from current instance.
598
41ff70d9
HK
5992018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
600
601 * sem_prag.adb (Analyze_Input_Output): Emit an error when a non-null,
602 non-'Result output appears in the output list of a function.
603
f16cb8df
HK
6042018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
605
606 * exp_attr.adb (Build_Array_VS_Func): Reimplemented.
607 (Build_Record_VS_Func): Reimplemented.
608 (Expand_N_Attribute): Reimplement the handling of attribute
609 'Valid_Scalars.
610 * sem_attr.adb (Analyze_Attribute): Reimplement the handling of
611 attribute 'Valid_Scalars.
612 * sem_util.adb (Scalar_Part_Present): Reimplemented.
613 (Validated_View): New routine.
614 * sem_util.ads (Scalar_Part_Present): Update the parameter profile and
615 comment on usage.
616 (Validated_View): New routine.
617 * doc/gnat_rm/implementation_defined_attributes.rst: Update the
618 documentation of attribute 'Valid_Scalars.
619 * gnat_rm.texi: Regenerate.
620
6b3035ab
BD
6212018-05-22 Bob Duff <duff@adacore.com>
622
623 * binde.adb: (Choose): Ignore a pragma Elaborate_Body that appears in
624 the spec of a SAL_Interface package.
625
85c73d63
ES
6262018-05-22 Ed Schonberg <schonberg@adacore.com>
627
628 * freeze.adb (Freeze_Entity): When analyzing delayed aspects of an
629 entity E within a generic unit, indicate that there are no remaining
630 delayed aspects after invoking Analyze_Aspects_At_Freeze_Point. The
631 entity E is not frozen yet but the aspects should not be reanalyzed at
632 the freeze point, which may be outside of the generic and may not have
633 the proper visibility.
634
71483539
BD
6352018-05-22 Bob Duff <duff@adacore.com>
636
637 * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
638 the new --split-line-before-record, --indent-named-statements and
639 --no-align-modes gnatpp switches.
640
531351e8
ES
6412018-05-22 Ed Schonberg <schonberg@adacore.com>
642
643 * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Handle properly
644 a second argument that is a constant of a given string value.
645
9c629d61
DR
6462018-05-22 Doug Rupp <rupp@adacore.com>
647
648 * sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.
649
14141ce8
JL
6502018-05-22 Jerome Lambourg <lambourg@adacore.com>
651
652 * sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline.
653
f2df0100
ES
6542018-05-22 Ed Schonberg <schonberg@adacore.com>
655
656 * freeze.adb (Freeze_Fixed_Point_Type): If the first subtype has
657 delayed aspects, analyze them now, os that the representation of the
658 type (size, bounds) can be computed and validated.
659
b8bbe739
OH
6602018-05-22 Olivier Hainque <hainque@adacore.com>
661
662 * libgnat/s-dwalin.adb (Enable_Cache): Skip symbols outside of the
663 executable code section boundaries.
664
92ea8dd2
JM
6652018-05-22 Javier Miranda <miranda@adacore.com>
666
667 * locales.c: New implementation for the Ada.Locales package.
668 * libgnat/a-locale.ads: Remove comment indicating that this is not
669 implemented.
670 * doc/gnat_rm/standard_library_routines.rst: Remove comment indicating
671 that this is not implemented.
672 * gnat_rm.texi: Regenerate.
673
e5fc0179
HK
6742018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
675
676 * exp_ch5.adb, freeze.adb, pprint.adb, sem_ch4.adb, sem_res.adb: Minor
677 reformattings.
678
eaf51442
JS
6792018-05-22 Justin Squirek <squirek@adacore.com>
680
681 * sem_ch12.adb (In_Same_Declarative_Part): Moved to sem_util.
682 (Freeze_Subprogram_Body, Install_Body): Modify calls to
683 In_Same_Declarative_Part.
684 * sem_prag.adb (Analyze_Pragma-Pragma_Pure_Function): Add check to
685 verify pragma declaration is within the same declarative list with
686 corresponding error message.
687 * sem_util.adb, sem_util.ads (In_Same_Declarative_Part): Moved from
688 sem_ch12.adb and generalized to be useful outside the scope of
689 freezing.
690
80f0c69c
HK
6912018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
692
693 * sem_ch6.adb (Analyze_Subprogram_Declaration): Set the proper
694 categorization of the unit after processing the aspects in case one of
695 its aspects is converted into a categorization pragma.
696
f9e9ab63
ES
6972018-05-21 Ed Schonberg <schonberg@adacore.com>
698
699 * freeze.adb (Warn_Overlay): Do not emit a wawrning on an object
700 declaration with an explicit address clause and a type with default
701 initialization, if the declaration carries an aspect
702 Suppress_Initialization.
703
dc3d037e 7042018-05-21 Daniel Mercier <mercier@adacore.com>
af5d8cb0
DM
705
706 * pprint.adb: Use mixed case for attribute names.
707
dc3d037e 7082018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
e9d08fd7
HK
709
710 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Rename the call to
711 Analyze_Aspect_Specifications_On_Body_Or_Stub.
712 (Analyze_Subprogram_Body_Helper): Rename the calls to
713 Analyze_Aspect_Specifications_On_Body_Or_Stub.
714 * sem_ch9.adb (Analyze_Entry_Body): Rename the call to
715 Analyze_Aspect_Specifications_On_Body_Or_Stub.
716 * sem_ch10.adb: Add with and use clause for Sem_Ch13.
717 (Analyze_Package_Body_Stub): Add constant Id. Decorate the package stub
718 prior to analyzing its aspects.
719 (Analyze_Protected_Body_Stub): Add constant Id. Decorate the package
720 stub prior to analyzing its aspects. Save and restore the configuration
721 switches.
722 (Analyze_Task_Body_Stub): Add constant Id. Decorate the package stub
723 prior to analyzing its aspects.
724 * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
725 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
726 * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed
727 to Analyze_Aspects_On_Subprogram_Body_Or_Stub.
728 * sem_prag.adb: Code reformatting.
729 (Analyze_Refined_Depends_Global_Post): Consider task body stubs.
730
dc3d037e 7312018-05-21 Jerome Lambourg <lambourg@adacore.com>
f35b3e38
JL
732
733 * gcc-interface/Makefile.in: Add g-soliop__qnx.ads to the runtime build
734 for QNX.
735
dc3d037e 7362018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7a500fd7
HK
737
738 * exp_cg.adb: Remove with and use clause for Exp_Disp.
739 * exp_ch9.adb: Remove with and use clause for Exp_Disp.
740 * exp_disp.adb (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
741 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
742 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
743 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved to Sem_Util.
744 (Is_Predefined_Interface_Primitive): Moved to Sem_Util.
745 (Is_Predefined_Internal_Operation): Moved to Sem_Util.
746 * exp_dist.adb: Remove with and use clause for Exp_Disp.
747 * freeze.adb: Remove with and use clause for Exp_Disp.
748 * sem_cat.adb: Remove with and use clause for Exp_Disp.
749 * sem_ch6.adb: Remove with and use clause for Exp_Disp.
750 * sem_ch12.adb: Remove with and use clause for Exp_Disp.
751 * sem_elab.adb (Check_Overriding_Primitive): Do not process predefined
752 primitives.
753 * sem_util.adb: Remove with and use clause for Exp_Disp.
754 (Is_Predefined_Dispatching_Operation): Moved from Exp_Disp.
755 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
756 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
757 * sem_util.ads (Is_Predefined_Dispatching_Operation): Moved from
758 Exp_Disp.
759 (Is_Predefined_Interface_Primitive): Moved from Exp_Disp.
760 (Is_Predefined_Internal_Operation): Moved from Exp_Disp.
761
dc3d037e 7622018-05-21 Ed Schonberg <schonberg@adacore.com>
516057d3
ES
763
764 * sem_res.adb (Valid_Conversion): Improve error message on an illegal
765 type conversion whose expression has a limited view of a type.
766
def6e435
ES
7672018-05-21 Ed Schonberg <schonberg@adacore.com>
768
769 * exp_ch5.adb (Build_Formal_Container_Iteration): If source has
770 explicit name for iterator loop, preserve that name in expanded
771 construct, for possible use in exit statements.
772
dc3d037e 7732018-05-21 Javier Miranda <miranda@adacore.com>
0d8b6803
JM
774
775 * sem_ch4.adb (Analyze_Membership_Op): Avoid compiler crash when the
776 spec of a unit has Ada 2012 membership tests with multiple choices and
777 the unit body is not compiled under Ada 2012 mode.
778
dc3d037e 7792018-05-21 Doug Rupp <rupp@adacore.com>
92689021
DR
780
781 * sigtramp-vxworks-target.inc: Set cfa_reg properly from sigcontext
782 pregs.
783 (CFI_COMMON_REGS): Restore LR jic probed from prologue.
784 (REGNO_PC_OFFSET): Change to correct value for Aarch64.
785
dc3d037e 7862018-05-21 Jose Ruiz <ruiz@adacore.com>
9e40de1d
JR
787
788 * doc/gnat_ugn/gnat_utility_programs.rst, exp_attr.adb,
789 libgnarl/s-tassta.adb: Minor typo fixes
790
12390626
ES
7912018-05-21 Ed Schonberg <schonberg@adacore.com>
792
793 * sem_ch4.adb (Analyze_One_Call): Recognize complex cases where an
794 indexed call originally in prefix forn is itself the prefix of a
795 further call.
796
dc3d037e 7972018-05-21 Piotr Trojanek <trojanek@adacore.com>
a2fcf1e0
PT
798
799 * sem_eval.adb (Is_Null_Range): Clarify access to the full view of a
800 type.
801 (Not_Null_Range): Same as above.
802
dc3d037e 8032018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
663afa9f
HK
804
805 * exp_ch3.adb: Minor reformatting.
806 * exp_ch6.adb: Likewise.
807 * freeze.adb: Likewise.
808 * inline.adb: Likewise.
809 * sem_util.adb: Likewise.
810
dc3d037e 8112018-05-21 Yannick Moy <moy@adacore.com>
031936bc
YM
812
813 * inline.adb (Expand_Inlined_Call.Process_Formals): Use a type
814 conversion instead of an unchecked type conversion when inlining a
815 return statement, unless type qualification is required (for character
816 and string literal) or no check can result from the conversion (for
817 access types).
818 * opt.ads: Update comment.
819
dc3d037e 8202018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
7255f3c3
HK
821
822 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration
823 model of the compilation unit spec, if any.
824 * sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration
825 model of the compilation unit spec, if any.
826 * sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the
827 parent compilation unit spec, if any.
828 * sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration
829 model of the main unit.
830 (Is_Same_Unit): The routine now uses Unit_Entity.
831 (Is_Subunit): Removed.
832 (Normalize_Unit): Removed.
833 (Unit_Entity): New routine.
834 * sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma
835 Elaboration_Checks. The analysis now ensures that the pragma appears at
836 the configuration level, and on the initial declaration of a unit.
837 Other placements are either flagged as illegal, or ignored.
838 (Check_Duplicate_Elaboration_Checks_Pragma): New routine.
839 (Ignore_Elaboration_Checks_Pragma): New routine.
840 * sem_util.adb (Install_Elaboration_Model): New routine.
841 * sem_util.ads (Install_Elaboration_Model): New routine.
842 * doc/gnat_rm/implementation_defined_pragmas.rst: Update the
843 documentation of pragma Elaboration_Checks.
844 * gnat_rm.texi: Regenerate.
845
dc3d037e 8462018-05-21 Olivier Hainque <hainque@adacore.com>
18c7a4eb
OH
847
848 * libgnat/s-trasym__dwarf.adb (Executable_Name): Return argv[0] instead
849 of empty string when argv[0] couldn't be found on PATH.
850 (Enable_Cache): Raise Program_Error instead of attempting a null
851 pointer dereference when the Exec_Module initialization failed.
852
dc3d037e 8532018-05-21 Piotr Trojanek <trojanek@adacore.com>
bbb99006
PT
854
855 * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect.
856 * libgnarl/a-taside.ads (Tasking_State): Likewise.
857 * libgnat/a-calend.ads (Clock_Time): Likewise.
858
dc3d037e 8592018-05-21 Yannick Moy <moy@adacore.com>
e3822b0a
YM
860
861 * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix
862 call notation in inlined call in GNATprove mode.
863
bcc093dc
HK
8642018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
865
866 * einfo.adb (Is_External_State): An abstract state is also external
867 when it is declared with option "synchronous".
868 * einfo.ads: Update the documentation of synthesized attribute
869 Is_External_State.
870 * sem_util.adb (Find_Simple_Properties): New routine.
871 (Is_Enabled_External_Property): New routine.
872 (State_Has_Enabled_Property): Reimplemented. The two flavors of option
873 External have precedence over option Synchronous when determining
874 whether a property is in effect.
875
dc3d037e 8762018-05-21 Yannick Moy <moy@adacore.com>
fe44c442
YM
877
878 * sem_eval.adb (Static_Length): Take into account case of variable of
879 subtype string literal.
880
dc3d037e 8812018-05-21 Olivier Hainque <hainque@adacore.com>
c77384a4
OH
882
883 * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds.
884 (Object_Section): Rename Flag_Alloc component as Flag_Xcode.
885 * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and
886 component name.
887 (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR.
888 * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name
889 change.
890
dc3d037e 8912018-05-21 Olivier Hainque <hainque@adacore.com>
0f090200
OH
892
893 * libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to
894 Address, and type of Low, High to Storage_Offset.
895 (Low): Rename as Low_Address and convey that the return value is a
896 runtime reference accounting for a load address.
897 * libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the
898 address/offset type changes.
899 (Aranges_Lookup): Likewise.
900 (Symbolic_Address): Likewise.
901 (Symbolic_Traceback): Likewise.
902 (Dump_Cache): Likewise.
903 (Is_Inside): Likewise.
904 (Open): Likewise.
905 (Set_Load_Address): Likewise.
906 (Low_Address): Likewise, and account for C.Load_Address.
907 * libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low.
908 (Multi_Module_Symbolic_Traceback): Compare address in traceback
909 with module Low_Address instead of Low.
910
dc3d037e 9112018-05-21 Olivier Hainque <hainque@adacore.com>
b029cc6e
OH
912
913 * libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as
914 Load_Address.
915 * libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly.
916 (Set_Load_Address): Likewise.
917 (Symbolic_Traceback): Likewise.
918
dc3d037e 9192018-05-21 Olivier Hainque <hainque@adacore.com>
08f8a716
OH
920
921 * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
922 Load_Address argument and pass it down to Init_Module.
923 * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
924 lm.l_addr as the Load_Address to Add_Module_To_Cache.
925
dc3d037e 9262018-05-21 Piotr Trojanek <trojanek@adacore.com>
689751d2
PT
927
928 * einfo.adb (Has_Discriminants): Stronger assertion.
929 (Set_Has_Discriminants): Stronger assertion.
930 * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect
931 the stronger assertion on Has_Discriminant.
932 (Uninstall_Discriminants_And_Pop_Scope): Same as above.
933 * sem_util.adb (New_Copy_Tree): Same as above.
934 * sem_ch7.adb (Generate_Parent_References): Prevent calls to
935 Has_Discriminant on non-type entities that might happen when the
936 compiled code has errors.
937 * sem_ch3.adb (Derived_Type_Declaration): Only call
938 Set_Has_Discriminant on type entities.
939
dc3d037e 9402018-05-21 Arnaud Charlet <charlet@adacore.com>
3ae9d953
AC
941
942 * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for
943 code generation.
944
dc3d037e 9452018-05-21 Piotr Trojanek <trojanek@adacore.com>
0c06611c
PT
946
947 * lib.ads: Fix typo in enumeration in comment.
948
dc3d037e 9492018-05-21 Ed Schonberg <schonberg@adacore.com>
8b55e70d
ES
950
951 * sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The
952 attribute reference is legal within a generic unit when the prefix is a
953 formal private type.
954
dc3d037e 9552018-05-21 Hristian Kirtchev <kirtchev@adacore.com>
66c0fa2c
HK
956
957 * exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not
958 delegate the secondary stack management when there is no suitable
959 transient context, and the transient scope was intended to manage the
960 secondary stack because this causes premature reclamation. Change the
961 transient scope creation logic by special casing assignment statements
962 of controlled components for type initialization procedures.
963 (Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update
964 the comment on usage.
965 (Find_Transient_Context): Change the initinte loop into a while loop.
966 Iterations schemes and iterator specifications are not valid transient
967 contexts because they rely on special processing. Assignment statements
968 are now treated as a normal transient context, special cases are
969 handled by the caller. Add special processing for pragma Check.
970 (Is_OK_Construct): Removed. Its functionality has been merged in
971 routine Find_Transient_Context.
972 * sem_ch5.adb (Check_Call): Reimplemented. Add code to properly
973 retrieve the subprogram being invoked. Use a more accurate predicate
974 (Requires_Transient_Scope) to determine that the function will emply
975 the secondary stack.
976
dc3d037e 9772018-05-21 Piotr Trojanek <trojanek@adacore.com>
8016e567
PT
978
979 * ada_get_targ.adb: Fix subprogram body headers.
980 * adabkend.adb: Likewise.
981 * checks.adb: Likewise.
982 * exp_ch3.adb: Likewise.
983 * exp_ch5.adb: Likewise.
984 * exp_ch9.adb: Likewise.
985 * exp_dist.adb: Likewise.
986 * exp_tss.adb: Likewise.
987 * inline.adb: Likewise.
988 * lib-writ.adb: Likewise.
989 * lib-xref-spark_specific.adb: Likewise.
990 * libgnarl/s-osinte__darwin.adb: Likewise.
991 * libgnarl/s-stusta.adb: Likewise.
992 * libgnarl/s-taprop__solaris.adb: Likewise.
993 * libgnarl/s-tposen.adb: Likewise.
994 * libgnarl/s-vxwext__kernel-smp.adb: Likewise.
995 * libgnarl/s-vxwext__kernel.adb: Likewise.
996 * libgnat/a-btgbso.adb: Likewise.
997 * libgnat/a-cfdlli.adb: Likewise.
998 * libgnat/a-cfhama.adb: Likewise.
999 * libgnat/a-cfinve.adb: Likewise.
1000 * libgnat/a-cimutr.adb: Likewise.
1001 * libgnat/a-coboho.adb: Likewise.
1002 * libgnat/a-cofove.adb: Likewise.
1003 * libgnat/a-cofuve.adb: Likewise.
1004 * libgnat/a-comutr.adb: Likewise.
1005 * libgnat/a-exexda.adb: Likewise.
1006 * libgnat/a-tags.adb: Likewise.
1007 * libgnat/a-tideau.adb: Likewise.
1008 * libgnat/a-wtdeau.adb: Likewise.
1009 * libgnat/a-ztdeau.adb: Likewise.
1010 * libgnat/g-alleve.adb: Likewise.
1011 * libgnat/s-excdeb.adb: Likewise.
1012 * libgnat/s-parint.adb: Likewise.
1013 * libgnat/s-shasto.adb: Likewise.
1014 * libgnat/s-traceb__hpux.adb: Likewise.
1015 * prepcomp.adb: Likewise.
1016 * sem_ch4.adb: Likewise.
1017 * sem_ch6.adb: Likewise.
1018 * sem_dist.adb: Likewise.
1019 * sem_prag.adb: Likewise.
1020 * sem_util.adb: Likewise.
1021 * sinfo.adb: Likewise.
1022 * switch.adb: Likewise.
1023
5759c56d
JM
10242018-05-04 John Marino <gnugcc@marino.st>
1025
1026 PR ada/85635
1027 * link.c (BSD platforms): Add missing backslash.
1028
9f47a64f
EB
10292018-04-27 Eric Botcazou <ebotcazou@adacore.com>
1030
1031 PR ada/85540
1032 * init.c (__gnat_handle_vms_condition): Add missing parentheses.
1033
87ed4159
EB
10342018-04-25 Eric Botcazou <ebotcazou@adacore.com>
1035
1036 PR ada/85007
1037 * gnat_ugn.texi: Regenerate.
1038
bd1643cc
EB
10392018-03-23 Eric Botcazou <ebotcazou@adacore.com>
1040
1041 PR ada/85007
1042 * gnatlink.adb (Gnatlink): Remove handling of -b switch.
1043 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
1044 Remove documentation of -b switch.
1045
f8e56962
EB
10462018-03-23 Eric Botcazou <ebotcazou@adacore.com>
1047
1048 PR ada/85036
1049 * gnatlink.adb (Process_Args): Drop existing link switches if multiple
1050 switches are passed for --LINK.
1051
50536fd5
EB
10522018-03-12 Eric Botcazou <ebotcazou@adacore.com>
1053
1054 PR ada/82813
1055 * gcc-interface/misc.c (gnat_post_options): Disable string overflow
1056 warnings.
1057
f1bc6414
EB
10582018-03-10 Eric Botcazou <ebotcazou@adacore.com>
1059
1060 * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
1061 Consider only entities for objects.
1062
6cde8c54
SH
10632018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
1064
1065 * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
1066 $(GNATLIBCFLAGS).
1067 (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
1068
21288963
EB
10692018-03-06 Eric Botcazou <ebotcazou@adacore.com>
1070
1071 * gcc-interface/trans.c (convert_with_check): Fix typo in the condition
1072 guarding the overflow check emitted for the upper bound of a floating-
1073 point conversion.
1074
0d6091d9
EB
10752018-03-06 Eric Botcazou <ebotcazou@adacore.com>
1076
1077 * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
1078
c6db43fa
EB
10792018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1080
1081 * libgnat/i-cexten.ads (Float_128): New type.
1082
dacdc68f
EB
10832018-02-02 Eric Botcazou <ebotcazou@adacore.com>
1084
1085 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
1086 false if the component type is a pointer.
1087
fab58852
GD
10882018-01-11 Gary Dismukes <dismukes@adacore.com>
1089
1090 * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
1091 result of Get_Simple_Init_Value and pass the source location of the
1092 object declaration's object_definition.
1093
a2dbe7d5
ES
10942018-01-11 Ed Schonberg <schonberg@adacore.com>
1095
1096 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
1097 properly object declarations with initializations that are
1098 build-in-place function calls, when there is an address specification,
1099 either as an aspect specification or an explicit attribute
1100 specification clause, for the initialized object.
1101 * freeze.adb (Check_Address_Clause): Do not remove side-effects from
1102 initial expressions in the case of a build-in-place call.
1103
791f2d03
PT
11042018-01-11 Piotr Trojanek <trojanek@adacore.com>
1105
1106 * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
1107 private (sub)type; refactor to avoid early return statement.
1108 (Not_Null_Range): Same as above.
1109
a85dbeec
HK
11102018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1111
1112 * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
1113 concurrent, nor effectively volatile.
1114 * ghost.adb (Check_Ghost_Type): New routine.
1115 * ghost.ads (Check_Ghost_Type): New routine.
1116 * sem_util.adb (Is_Declaration): Reimplemented. The routine can now
1117 consider specific subsets of declarations.
1118 (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
1119 replicated by Is_Declaration.
1120 * sem_util.ads (Is_Declaration): New parameter profile. Update the
1121 comment on usage.
1122 (Is_Declaration_Other_Than_Renaming): Removed.
1123
5efc1c00
HK
11242018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1125
1126 * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
1127 as Part_Of consituents of single protected types are illegal when they
1128 take place inside a protected function.
1129 (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
1130 enclosing function.
1131 (Is_Protected_Part_Of_Constituent): New routine.
1132 (Within_Function): New routine.
1133
4dfba737
AC
11342018-01-11 Arnaud Charlet <charlet@adacore.com>
1135
1136 Bump copyright notices to 2018.
1137
27d357ca
HK
11382018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1139
1140 * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
1141 Minor reformatting.
1142
cb488118
JS
11432018-01-11 Justin Squirek <squirek@adacore.com>
1144
1145 * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
1146 to make sure a given expression function is properly parenthesized.
1147
ed27b86b
HK
11482018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1149
1150 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
1151 categorization of a subprogram body which does not complete a previous
1152 declaration.
1153
715a5d51
HK
11542018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1155
1156 * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
1157 scope of package Ada is Standard.
1158
a2fd4f0e
ES
11592018-01-11 Ed Schonberg <schonberg@adacore.com>
1160
1161 * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
1162 subcomponent of the current entity when building the body for a dynamic
1163 predicate function for a record with composite subcomponents.
1164
6560f851
HK
11652018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1166
1167 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
1168 Establish_Transient_Scope.
1169 (Convert_To_Assignments): Update the call to Establish_Transient_Scope.
1170 (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
1171 * exp_ch6.adb (Expand_Call_Helper): Update the call to
1172 Establish_Transient_Scope.
1173 (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
1174 Establish_Transient_Scope.
1175 * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
1176 management of the secondary stack to an enclosing scope if there is no
1177 suitable construct to wrap, and the transient scope was intended to
1178 manage the secondary stack.
1179 (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
1180 is a valid boundary for a transient expression which comes from the
1181 statements of the alternative, otherwise alternatives cannot be
1182 wrapped. Assignments of controlled objects which have controlled
1183 actions suppressed now stop the traversal as there is no point in
1184 looking for an enclosing construct. Add several N_xxx_Body choices to
1185 the termination conditions for completeness.
1186 * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
1187 and the associated comment on usage.
1188 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
1189 Establish_Transient_Scope.
1190 (Add_Write_After): Update the call to Establish_Transient_Scope.
1191 * sem_res.adb (Check_Initialization_Call): Removed.
1192 (Resolve_Actuals): Account for additional cases where finalization
1193 actions are required by utilizing predicate Needs_Finalization rather
1194 than Is_Controlled.
1195 (Resolve_Call): Type initialization procedures can now utilize
1196 transient scopes to manage the secondary stack, thus preventing leaks
1197 during initialization. Remove the previous kludgy algorithm which
1198 attempts to manage the secondary stack at the object creation site.
1199
c9e80306
JL
12002018-01-11 Jerome Lambourg <lambourg@adacore.com>
1201
1202 * libgnat/g-soliop__qnx.ads: New.
1203 * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
1204 for QNX.
1205
4727f693
BD
12062018-01-11 Bob Duff <duff@adacore.com>
1207
1208 * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
1209 a null procedure occurs in a protected definition.
1210
1ceee6a1
BD
12112018-01-11 Bob Duff <duff@adacore.com>
1212
1213 * binderr.ads, namet.ads: Minor reformatting.
1214
e22e7f06
BD
12152018-01-11 Bob Duff <duff@adacore.com>
1216
1217 * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
1218 xml2gnat.
1219
8207dc23
BD
12202018-01-11 Bob Duff <duff@adacore.com>
1221
1222 * binde.adb (Force_Elab_Order): Give an error if there are duplicate
1223 unit names.
1224
52c5090a
ES
12252018-01-11 Ed Schonberg <schonberg@adacore.com>
1226
1227 * sem_ch6.adb (Freeze_Expr_Types): If an access value is the
1228 controlling argument of a dispatching call. freeze the corresponding
1229 designated type.
1230
2e01b698
BB
12312018-01-11 Ben Brosgol <brosgol@adacore.com>
1232
1233 * doc/Makefile: Add Sphinx option -W to treat warnings as errors.
1234
f5c31a46
BB
12352018-01-11 Ben Brosgol <brosgol@adacore.com>
1236
1237 * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
1238 corrections.
1239 * gnat_rm.texi: Regenerate.
1240
07733aa1
ES
12412018-01-11 Ed Schonberg <schonberg@adacore.com>
1242
1243 * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
1244 formsl type corresponding to the actual fixed point type is private,
1245 because in this case there can be no suspicious arithmetic operations
1246 in the generic unless they reference a formal subprogram. Clarify
1247 warning.
1248
78cac738
JM
12492018-01-11 Javier Miranda <miranda@adacore.com>
1250
1251 * exp_util.adb (Remove_Side_Effects): No action done for functions
1252 returning class-wide types since it requires generating code using
1253 'reference and the CCG target has no secondary stack.
1254 * gnat1drv.adb: Disable building static dispatch tables when generating
1255 C code.
1256
210fef2d
PT
12572018-01-11 Piotr Trojanek <trojanek@adacore.com>
1258
1259 * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
1260 libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
1261 (File_Type): Add Default_Initial_Condition aspect.
1262
7d1553e2
PO
12632018-01-11 Pascal Obry <obry@adacore.com>
1264
1265 * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
1266
1646b09f
BD
12672018-01-11 Bob Duff <duff@adacore.com>
1268
1269 * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
1270 to match what the Libadalang-based version does.
1271 * doc/gnat_ugn/about_this_guide.rst: Update reference.
1272
7460ccc7
HK
12732018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1274
1275 * sem_res.adb (Uses_SS): A controlled type requires the secondary stack
1276 if it contains at least one component declaration employing a function
1277 call returning on the secondary stack.
1278
a5b2e440
YM
12792018-01-11 Yannick Moy <moy@adacore.com>
1280
1281 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
1282 Update description of restriction SPARK_05 with SPARK 2014.
1283 * gnat_rm.texi: Regenerate.
1284
151af7d2
VF
12852018-01-11 Vasiliy Fofanov <fofanov@adacore.com>
1286
1287 * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
1288
10fdda1c
HK
12892018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1290
1291 * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
1292 sem_res.adb, sem_util.adb: Minor reformatting.
1293
4d6000d7
ES
12942018-01-11 Ed Schonberg <schonberg@adacore.com>
1295
1296 * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
1297 has a delayed aspect which must be processed at the point the type is
1298 frozen. This mimics what is done when the predicate is provided by a
1299 source aspect.
1300
19fb0439
DR
13012018-01-11 Doug Rupp <rupp@adacore.com>
1302
1303 * init.c (vxworks): Add macro checks for __aarch64__.
1304
80631298
HK
13052018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1306
1307 * exp_util.adb (Add_Failure_Expression): New routine.
1308 (Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
1309 * sem_util.adb (Is_Current_Instance): Code cleanup.
1310
6a5e79b4
PB
13112018-01-11 Patrick Bernardi <bernardi@adacore.com>
1312
1313 * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
1314 Default_Sec_Stack_Size.
1315 * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
1316 limit check so that the integer index does not overflow. Check the
1317 dynamic stack allocation does not cause the secondary stack pointer to
1318 overflow.
1319 (SS_Info): Align colons.
1320 (SS_Init): Cover the case when bootstraping with an old compiler that
1321 does not set Default_SS_Size.
1322
5cb78fb8
ES
13232018-01-11 Ed Schonberg <schonberg@adacore.com>
1324
1325 * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
1326 legality of an inherited operation that may require overriding, ignore
1327 primitive_wrappers that correspond to explicit operations that override
1328 an interface primitive.
1329 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
1330 operation to which the class-wide expression applies is a protected op.
1331 with a primitive_wrapper, verify that the updated inherited expression
1332 does not contain an internal call to a protected function. This
1333 completes the implementation of AI12-0166.
1334
94ce4941
HK
13352018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1336
1337 * ali.adb: Document the remaining letters available for ALI lines.
1338 (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
1339 * ali.ads: Update type With_Record. Field
1340 Implicit_With_From_Instantiation is no longer in use. Add field
1341 Implicit_With.
1342 * csinfo.adb (CSinfo): Remove the setup for attribute
1343 Implicit_With_From_Instantiation.
1344 * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
1345 either implicitly or explicitly withed.
1346 (Is_Implicit_With_Clause): New routine.
1347 (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
1348 confusion with the with clause attribute by the same name.
1349 (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
1350 * rtsfind.adb (Maybe_Add_With): Code cleanup.
1351 * sem_ch8.adb (Present_System_Aux): Code cleanup.
1352 * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
1353 for a parent unit.
1354 (Implicit_With_On_Parent): Mark the with clause as generated for a
1355 parent unit.
1356 * sem_ch12.adb (Inherit_Context): With clauses inherited by an
1357 instantiation are no longer marked as Implicit_With_From_Instantiation
1358 because they are already marked as implicit.
1359 * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
1360 which marks implicit with clauses as related to an instantiation.
1361 * sinfo.adb (Implicit_With_From_Instantiation): Removed.
1362 (Parent_With): New routine.
1363 (Set_Implicit_With_From_Instantiation): Removed.
1364 (Set_Parent_With): New routine.
1365 * sinfo.ads: Update the documentation of attribute Implicit_With.
1366 Remove attribute Implicit_With_From_Instantiation along with
1367 occurrences in nodes. Add attribute Parent_With along with occurrences
1368 in nodes.
1369 (Implicit_With_From_Instantiation): Removed along with pragma Inline.
1370 (Parent_With): New routine along with pragma Inline.
1371 (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
1372 (Set_Parent_With): New routine along with pragma Inline.
1373
77519270
HK
13742018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1375
1376 * sem_util.adb (Find_Enclosing_Scope): Return the unique defining
1377 entity when the enclosing construct is a body.
1378
a40d9947
PB
13792018-01-11 Patrick Bernardi <bernardi@adacore.com>
1380
1381 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
1382 Secondary_Stack_Size handling as a pragma is now generated for the
1383 corresponding aspect instead of an attribute. Pragma expression is
1384 relocated instead of evaluated. Discriminant of the corresponding
1385 record type is referenced rather than the type discriminant.
1386 (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
1387 Secondary_Stack_Size rep item checks to only look for the pragma rep.
1388 * sem_ch13.adb (Analyze_One_Aspect): Transform
1389 Aspect_Secondary_Stack_Size into a pragma instead of an attribute
1390 because the attribute does not have visibility on a task type's
1391 discriminants when the type's definition is expanded.
1392 (Analyze_Attribute_Definition_Clause): Remove handling of
1393 Attribute_Secondary_Stack_Size.
1394 * snames.adb-tmpl, snames.ads-tmpl: Remove
1395 Attribute_Secondary_Stack_Size, no longer used.
1396
6b199a18
JS
13972018-01-11 Justin Squirek <squirek@adacore.com>
1398
1399 * sem_ch8.adb: Minor comment fix.
1400
05344a33
HK
14012018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1402
1403 * exp_ch4.adb (Process_Action): Do not abandon the inspection of an
1404 individual action because the action may denote a complex expression,
1405 such as a case statement, which in turn may contain additional
1406 transient objects.
1407
d940c627
ES
14082018-01-11 Ed Schonberg <schonberg@adacore.com>
1409
1410 * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
1411 analysis on a copy of the expression with a copy of the index variable,
1412 because full expansion will rewrite construct into a loop with the
1413 original loop variable.
1414 * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
1415 expression is an iterated component association. Full analysis takes
1416 place when construct is rewritten as a loop.
1417 (In_Place_Assign_OK, Safe_Component): An iterated_component_association
1418 is not safe for in-place assignment.
1419 * sem_util.adb (Remove_Entity): Handle properly the case of an isolated
1420 entity with no homonym and no other entity in the scope.
1421
c8f25817
JS
14222018-01-11 Justin Squirek <squirek@adacore.com>
1423
1424 * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
1425 message to be printed on the pragma argument identifier.
1426
51f3e4e1
HK
14272018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
1428
1429 * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
1430 entity of the generated invariant procedure in order to construct a
1431 proper entity chain.
1432
593e3172
PT
14332018-01-11 Piotr Trojanek <trojanek@adacore.com>
1434
1435 * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
1436 comment.
1437
89a4fa68
AC
14382018-01-11 Arnaud Charlet <charlet@adacore.com>
1439
1440 * einfo.ads, einfo.adb (Activation_Record_Component,
1441 Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
1442 Allow E_Discriminant.
1443
af95bb26
EB
14442018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1445
1446 * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
1447 for atomic access once the component size is taken into account and
1448 also do it if the component type is Atomic or Volatile_Full_Access.
1449
5d35675c
EB
14502018-01-04 Eric Botcazou <ebotcazou@adacore.com>
1451
1452 * gnatvsn.ads: Bump copyright year.
1453
73a699ae
RS
14542018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1455 Alan Hayward <alan.hayward@arm.com>
1456 David Sherwood <david.sherwood@arm.com>
1457
1458 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
1459 as polynomial.
1460
bb94ec76
RS
14612018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1462 Alan Hayward <alan.hayward@arm.com>
1463 David Sherwood <david.sherwood@arm.com>
1464
1465 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
1466 as polynomial.
1467
928686b1
RS
14682018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1469 Alan Hayward <alan.hayward@arm.com>
1470 David Sherwood <david.sherwood@arm.com>
1471
1472 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
1473 polynomial TYPE_VECTOR_SUBPARTS.
1474
7b777afa
RS
14752018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1476 Alan Hayward <alan.hayward@arm.com>
1477 David Sherwood <david.sherwood@arm.com>
1478
1479 * gcc-interface/misc.c (enumerate_modes): Handle polynomial
1480 GET_MODE_NUNITS.
1481
65e6aea3 14822018-01-03 Jakub Jelinek <jakub@redhat.com>
0e5b9de3 1483
85ec4feb
JJ
1484 Update copyright years.
1485
65e6aea3
JJ
1486 * gnat_ugn.texi: Bump @copying's copyright year.
1487 * gnat_rm.texi: Likewise.
ad41bd84 1488\f
65e6aea3 1489Copyright (C) 2018 Free Software Foundation, Inc.
ad41bd84
JM
1490
1491Copying and distribution of this file, with or without modification,
1492are permitted in any medium without royalty provided the copyright
1493notice and this notice are preserved.
This page took 3.138229 seconds and 5 git commands to generate.