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