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