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