]>
Commit | Line | Data |
---|---|---|
dc59bed2 HK |
1 | 2018-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 |
19 | 2018-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 |
29 | 2018-05-24 Hristian Kirtchev <kirtchev@adacore.com> |
30 | ||
31 | * exp_ch7.adb, sem_ch3.adb, sem_res.adb: Minor reformatting. | |
32 | ||
861e589e ES |
33 | 2018-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 |
39 | 2018-05-24 Raphael Amiard <amiard@adacore.com> |
40 | ||
41 | * libgnat/a-cohama.ads: Add documentation. | |
42 | ||
8f1b88f8 RA |
43 | 2018-05-24 Raphael Amiard <amiard@adacore.com> |
44 | ||
45 | * libgnat/a-convec.ads: Add documentation. | |
46 | ||
c06a59be JS |
47 | 2018-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 |
56 | 2018-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 |
62 | 2018-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 |
68 | 2018-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 |
73 | 2018-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 |
81 | 2018-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 |
86 | 2018-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 |
149 | 2018-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 |
156 | 2018-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 |
162 | 2018-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 |
169 | 2018-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 |
177 | 2018-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 |
184 | 2018-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 |
189 | 2018-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 |
194 | 2018-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 |
199 | 2018-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 |
204 | 2018-05-23 Pascal Obry <obry@adacore.com> |
205 | ||
206 | * adaint.c (win32_wait): Add missing parentheses. | |
207 | ||
7f4b58c2 HK |
208 | 2018-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 |
218 | 2018-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 |
248 | 2018-05-23 Boris Yakobowski <yakobowski@adacore.com> |
249 | ||
250 | * libgnat/a-ngelfu.ads (Arctanh, Arccoth): Fix faulty preconditions. | |
251 | ||
bc3fb397 AC |
252 | 2018-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 |
259 | 2018-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 |
267 | 2018-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 |
274 | 2018-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 |
282 | 2018-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 |
288 | 2018-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 |
294 | 2018-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 |
299 | 2018-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 |
306 | 2018-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 |
311 | 2018-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 |
328 | 2018-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 |
339 | 2018-05-23 Maroua Maalej <maalej@adacore.com> |
340 | ||
341 | * sem_spark.adb: Fix of some permission rules of pointers in SPARK. | |
342 | ||
a0fa5497 ES |
343 | 2018-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 |
352 | 2018-05-23 Hristian Kirtchev <kirtchev@adacore.com> |
353 | ||
354 | * sem_elab.adb: Update the section on suppressing elaboration warnings. | |
355 | ||
48688534 HK |
356 | 2018-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 |
371 | 2018-05-23 Eric Botcazou <ebotcazou@adacore.com> |
372 | ||
373 | * repinfo.adb (List_Type_Info): Remove obsolete stuff. | |
374 | ||
162ed06f HK |
375 | 2018-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 |
450 | 2018-05-23 Piotr Trojanek <trojanek@adacore.com> |
451 | ||
452 | * einfo.ads: Minor reformatting. | |
453 | ||
728fedc2 ES |
454 | 2018-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 |
460 | 2018-05-23 Daniel Mercier <mercier@adacore.com> |
461 | ||
462 | * gnat1drv.adb: Turn off length expansion in CodePeer mode. | |
463 | ||
32677654 BD |
464 | 2018-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 |
469 | 2018-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 |
475 | 2018-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 |
482 | 2018-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 |
487 | 2018-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 |
501 | 2018-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 |
506 | 2018-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 |
520 | 2018-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 |
527 | 2018-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 |
532 | 2018-05-22 Jerome Lambourg <lambourg@adacore.com> |
533 | ||
534 | * sigtramp-qnx.c: Properly restore link register in signal trampoline. | |
535 | ||
529749b9 HK |
536 | 2018-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 |
572 | 2018-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 |
579 | 2018-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 |
586 | 2018-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 |
608 | 2018-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 |
613 | 2018-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 |
622 | 2018-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 |
627 | 2018-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 |
632 | 2018-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 |
639 | 2018-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 |
654 | 2018-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 |
659 | 2018-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 |
676 | 2018-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 |
681 | 2018-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 |
690 | 2018-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 |
696 | 2018-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 |
701 | 2018-05-22 Doug Rupp <rupp@adacore.com> |
702 | ||
703 | * sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64. | |
704 | ||
14141ce8 JL |
705 | 2018-05-22 Jerome Lambourg <lambourg@adacore.com> |
706 | ||
707 | * sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline. | |
708 | ||
f2df0100 ES |
709 | 2018-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 |
715 | 2018-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 |
720 | 2018-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 |
729 | 2018-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 |
734 | 2018-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 |
746 | 2018-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 |
752 | 2018-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 | 759 | 2018-05-21 Daniel Mercier <mercier@adacore.com> |
af5d8cb0 DM |
760 | |
761 | * pprint.adb: Use mixed case for attribute names. | |
762 | ||
dc3d037e | 763 | 2018-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 | 786 | 2018-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 | 791 | 2018-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 | 817 | 2018-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 |
822 | 2018-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 | 828 | 2018-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 | 834 | 2018-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 | 841 | 2018-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 |
846 | 2018-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 | 852 | 2018-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 | 858 | 2018-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 | 866 | 2018-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 | 875 | 2018-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 | 901 | 2018-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 | 908 | 2018-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 | 914 | 2018-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 |
919 | 2018-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 | 931 | 2018-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 | 936 | 2018-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 | 946 | 2018-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 | 966 | 2018-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 | 974 | 2018-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 | 981 | 2018-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 | 995 | 2018-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 | 1000 | 2018-05-21 Piotr Trojanek <trojanek@adacore.com> |
0c06611c PT |
1001 | |
1002 | * lib.ads: Fix typo in enumeration in comment. | |
1003 | ||
dc3d037e | 1004 | 2018-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 | 1010 | 2018-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 | 1032 | 2018-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 |
1079 | 2018-05-04 John Marino <gnugcc@marino.st> |
1080 | ||
1081 | PR ada/85635 | |
1082 | * link.c (BSD platforms): Add missing backslash. | |
1083 | ||
9f47a64f EB |
1084 | 2018-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 |
1089 | 2018-04-25 Eric Botcazou <ebotcazou@adacore.com> |
1090 | ||
1091 | PR ada/85007 | |
1092 | * gnat_ugn.texi: Regenerate. | |
1093 | ||
bd1643cc EB |
1094 | 2018-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 |
1101 | 2018-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 |
1107 | 2018-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 |
1113 | 2018-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 |
1118 | 2018-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 |
1124 | 2018-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 |
1130 | 2018-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 |
1134 | 2018-02-28 Eric Botcazou <ebotcazou@adacore.com> |
1135 | ||
1136 | * libgnat/i-cexten.ads (Float_128): New type. | |
1137 | ||
dacdc68f EB |
1138 | 2018-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 |
1143 | 2018-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 |
1149 | 2018-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 |
1159 | 2018-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 |
1165 | 2018-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 |
1179 | 2018-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 |
1189 | 2018-01-11 Arnaud Charlet <charlet@adacore.com> |
1190 | ||
1191 | Bump copyright notices to 2018. | |
1192 | ||
27d357ca HK |
1193 | 2018-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 |
1198 | 2018-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 |
1203 | 2018-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 |
1209 | 2018-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 |
1214 | 2018-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 |
1220 | 2018-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 |
1255 | 2018-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 |
1261 | 2018-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 |
1266 | 2018-01-11 Bob Duff <duff@adacore.com> |
1267 | ||
1268 | * binderr.ads, namet.ads: Minor reformatting. | |
1269 | ||
e22e7f06 BD |
1270 | 2018-01-11 Bob Duff <duff@adacore.com> |
1271 | ||
1272 | * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of | |
1273 | xml2gnat. | |
1274 | ||
8207dc23 BD |
1275 | 2018-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 |
1280 | 2018-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 |
1286 | 2018-01-11 Ben Brosgol <brosgol@adacore.com> |
1287 | ||
1288 | * doc/Makefile: Add Sphinx option -W to treat warnings as errors. | |
1289 | ||
f5c31a46 BB |
1290 | 2018-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 |
1296 | 2018-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 |
1304 | 2018-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 |
1312 | 2018-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 |
1318 | 2018-01-11 Pascal Obry <obry@adacore.com> |
1319 | ||
1320 | * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation. | |
1321 | ||
1646b09f BD |
1322 | 2018-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 |
1328 | 2018-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 |
1334 | 2018-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 |
1340 | 2018-01-11 Vasiliy Fofanov <fofanov@adacore.com> |
1341 | ||
1342 | * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout. | |
1343 | ||
10fdda1c HK |
1344 | 2018-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 |
1349 | 2018-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 |
1356 | 2018-01-11 Doug Rupp <rupp@adacore.com> |
1357 | ||
1358 | * init.c (vxworks): Add macro checks for __aarch64__. | |
1359 | ||
80631298 HK |
1360 | 2018-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 |
1366 | 2018-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 |
1378 | 2018-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 |
1390 | 2018-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 |
1429 | 2018-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 |
1434 | 2018-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 |
1452 | 2018-01-11 Justin Squirek <squirek@adacore.com> |
1453 | ||
1454 | * sem_ch8.adb: Minor comment fix. | |
1455 | ||
05344a33 HK |
1456 | 2018-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 |
1463 | 2018-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 |
1477 | 2018-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 |
1482 | 2018-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 |
1488 | 2018-01-11 Piotr Trojanek <trojanek@adacore.com> |
1489 | ||
1490 | * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in | |
1491 | comment. | |
1492 | ||
89a4fa68 AC |
1493 | 2018-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 |
1499 | 2018-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 |
1505 | 2018-01-04 Eric Botcazou <ebotcazou@adacore.com> |
1506 | ||
1507 | * gnatvsn.ads: Bump copyright year. | |
1508 | ||
73a699ae RS |
1509 | 2018-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 |
1516 | 2018-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 |
1523 | 2018-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 |
1530 | 2018-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 | 1537 | 2018-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 | 1544 | Copyright (C) 2018 Free Software Foundation, Inc. |
ad41bd84 JM |
1545 | |
1546 | Copying and distribution of this file, with or without modification, | |
1547 | are permitted in any medium without royalty provided the copyright | |
1548 | notice and this notice are preserved. |