]>
Commit | Line | Data |
---|---|---|
7a500fd7 HK |
1 | 2018-04-04 Hristian Kirtchev <kirtchev@adacore.com> |
2 | ||
3 | * exp_cg.adb: Remove with and use clause for Exp_Disp. | |
4 | * exp_ch9.adb: Remove with and use clause for Exp_Disp. | |
5 | * exp_disp.adb (Is_Predefined_Dispatching_Operation): Moved to Sem_Util. | |
6 | (Is_Predefined_Interface_Primitive): Moved to Sem_Util. | |
7 | (Is_Predefined_Internal_Operation): Moved to Sem_Util. | |
8 | * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved to Sem_Util. | |
9 | (Is_Predefined_Interface_Primitive): Moved to Sem_Util. | |
10 | (Is_Predefined_Internal_Operation): Moved to Sem_Util. | |
11 | * exp_dist.adb: Remove with and use clause for Exp_Disp. | |
12 | * freeze.adb: Remove with and use clause for Exp_Disp. | |
13 | * sem_cat.adb: Remove with and use clause for Exp_Disp. | |
14 | * sem_ch6.adb: Remove with and use clause for Exp_Disp. | |
15 | * sem_ch12.adb: Remove with and use clause for Exp_Disp. | |
16 | * sem_elab.adb (Check_Overriding_Primitive): Do not process predefined | |
17 | primitives. | |
18 | * sem_util.adb: Remove with and use clause for Exp_Disp. | |
19 | (Is_Predefined_Dispatching_Operation): Moved from Exp_Disp. | |
20 | (Is_Predefined_Interface_Primitive): Moved from Exp_Disp. | |
21 | (Is_Predefined_Internal_Operation): Moved from Exp_Disp. | |
22 | * sem_util.ads (Is_Predefined_Dispatching_Operation): Moved from | |
23 | Exp_Disp. | |
24 | (Is_Predefined_Interface_Primitive): Moved from Exp_Disp. | |
25 | (Is_Predefined_Internal_Operation): Moved from Exp_Disp. | |
26 | ||
516057d3 ES |
27 | 2018-04-04 Ed Schonberg <schonberg@adacore.com> |
28 | ||
29 | * sem_res.adb (Valid_Conversion): Improve error message on an illegal | |
30 | type conversion whose expression has a limited view of a type. | |
31 | ||
def6e435 ES |
32 | 2018-05-21 Ed Schonberg <schonberg@adacore.com> |
33 | ||
34 | * exp_ch5.adb (Build_Formal_Container_Iteration): If source has | |
35 | explicit name for iterator loop, preserve that name in expanded | |
36 | construct, for possible use in exit statements. | |
37 | ||
0d8b6803 JM |
38 | 2018-04-04 Javier Miranda <miranda@adacore.com> |
39 | ||
40 | * sem_ch4.adb (Analyze_Membership_Op): Avoid compiler crash when the | |
41 | spec of a unit has Ada 2012 membership tests with multiple choices and | |
42 | the unit body is not compiled under Ada 2012 mode. | |
43 | ||
92689021 DR |
44 | 2018-04-04 Doug Rupp <rupp@adacore.com> |
45 | ||
46 | * sigtramp-vxworks-target.inc: Set cfa_reg properly from sigcontext | |
47 | pregs. | |
48 | (CFI_COMMON_REGS): Restore LR jic probed from prologue. | |
49 | (REGNO_PC_OFFSET): Change to correct value for Aarch64. | |
50 | ||
9e40de1d JR |
51 | 2018-04-04 Jose Ruiz <ruiz@adacore.com> |
52 | ||
53 | * doc/gnat_ugn/gnat_utility_programs.rst, exp_attr.adb, | |
54 | libgnarl/s-tassta.adb: Minor typo fixes | |
55 | ||
12390626 ES |
56 | 2018-05-21 Ed Schonberg <schonberg@adacore.com> |
57 | ||
58 | * sem_ch4.adb (Analyze_One_Call): Recognize complex cases where an | |
59 | indexed call originally in prefix forn is itself the prefix of a | |
60 | further call. | |
61 | ||
a2fcf1e0 PT |
62 | 2018-04-04 Piotr Trojanek <trojanek@adacore.com> |
63 | ||
64 | * sem_eval.adb (Is_Null_Range): Clarify access to the full view of a | |
65 | type. | |
66 | (Not_Null_Range): Same as above. | |
67 | ||
663afa9f HK |
68 | 2018-04-04 Hristian Kirtchev <kirtchev@adacore.com> |
69 | ||
70 | * exp_ch3.adb: Minor reformatting. | |
71 | * exp_ch6.adb: Likewise. | |
72 | * freeze.adb: Likewise. | |
73 | * inline.adb: Likewise. | |
74 | * sem_util.adb: Likewise. | |
75 | ||
031936bc YM |
76 | 2018-04-04 Yannick Moy <moy@adacore.com> |
77 | ||
78 | * inline.adb (Expand_Inlined_Call.Process_Formals): Use a type | |
79 | conversion instead of an unchecked type conversion when inlining a | |
80 | return statement, unless type qualification is required (for character | |
81 | and string literal) or no check can result from the conversion (for | |
82 | access types). | |
83 | * opt.ads: Update comment. | |
84 | ||
7255f3c3 HK |
85 | 2018-04-04 Hristian Kirtchev <kirtchev@adacore.com> |
86 | ||
87 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration | |
88 | model of the compilation unit spec, if any. | |
89 | * sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration | |
90 | model of the compilation unit spec, if any. | |
91 | * sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the | |
92 | parent compilation unit spec, if any. | |
93 | * sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration | |
94 | model of the main unit. | |
95 | (Is_Same_Unit): The routine now uses Unit_Entity. | |
96 | (Is_Subunit): Removed. | |
97 | (Normalize_Unit): Removed. | |
98 | (Unit_Entity): New routine. | |
99 | * sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma | |
100 | Elaboration_Checks. The analysis now ensures that the pragma appears at | |
101 | the configuration level, and on the initial declaration of a unit. | |
102 | Other placements are either flagged as illegal, or ignored. | |
103 | (Check_Duplicate_Elaboration_Checks_Pragma): New routine. | |
104 | (Ignore_Elaboration_Checks_Pragma): New routine. | |
105 | * sem_util.adb (Install_Elaboration_Model): New routine. | |
106 | * sem_util.ads (Install_Elaboration_Model): New routine. | |
107 | * doc/gnat_rm/implementation_defined_pragmas.rst: Update the | |
108 | documentation of pragma Elaboration_Checks. | |
109 | * gnat_rm.texi: Regenerate. | |
110 | ||
18c7a4eb OH |
111 | 2018-04-04 Olivier Hainque <hainque@adacore.com> |
112 | ||
113 | * libgnat/s-trasym__dwarf.adb (Executable_Name): Return argv[0] instead | |
114 | of empty string when argv[0] couldn't be found on PATH. | |
115 | (Enable_Cache): Raise Program_Error instead of attempting a null | |
116 | pointer dereference when the Exec_Module initialization failed. | |
117 | ||
bbb99006 PT |
118 | 2018-04-04 Piotr Trojanek <trojanek@adacore.com> |
119 | ||
120 | * libgnarl/a-reatim.ads (Clock_Time): Remove External aspect. | |
121 | * libgnarl/a-taside.ads (Tasking_State): Likewise. | |
122 | * libgnat/a-calend.ads (Clock_Time): Likewise. | |
123 | ||
e3822b0a YM |
124 | 2018-04-04 Yannick Moy <moy@adacore.com> |
125 | ||
126 | * sem_ch6.adb (Analyze_Procedure_Call): Refine test to recognize prefix | |
127 | call notation in inlined call in GNATprove mode. | |
128 | ||
bcc093dc HK |
129 | 2018-05-21 Hristian Kirtchev <kirtchev@adacore.com> |
130 | ||
131 | * einfo.adb (Is_External_State): An abstract state is also external | |
132 | when it is declared with option "synchronous". | |
133 | * einfo.ads: Update the documentation of synthesized attribute | |
134 | Is_External_State. | |
135 | * sem_util.adb (Find_Simple_Properties): New routine. | |
136 | (Is_Enabled_External_Property): New routine. | |
137 | (State_Has_Enabled_Property): Reimplemented. The two flavors of option | |
138 | External have precedence over option Synchronous when determining | |
139 | whether a property is in effect. | |
140 | ||
fe44c442 YM |
141 | 2018-04-04 Yannick Moy <moy@adacore.com> |
142 | ||
143 | * sem_eval.adb (Static_Length): Take into account case of variable of | |
144 | subtype string literal. | |
145 | ||
c77384a4 OH |
146 | 2018-04-04 Olivier Hainque <hainque@adacore.com> |
147 | ||
148 | * libgnat/s-objrea.ads (Get_Memory_Bounds): Rename as Get_Xcode_Bounds. | |
149 | (Object_Section): Rename Flag_Alloc component as Flag_Xcode. | |
150 | * libgnat/s-objrea.adb (Get_Xcode_Bounds): Adjust to new subprogram and | |
151 | component name. | |
152 | (Get_Section, ELF case): Set Flag_Xcode from SHF_EXECINSTR. | |
153 | * libgnat/s-dwalin.adb (Open): Adjust to the Get_Memory_Bounds name | |
154 | change. | |
155 | ||
0f090200 OH |
156 | 2018-04-04 Olivier Hainque <hainque@adacore.com> |
157 | ||
158 | * libgnat/s-dwalin.ads (Dwarf_Context): Change type of Load_Address to | |
159 | Address, and type of Low, High to Storage_Offset. | |
160 | (Low): Rename as Low_Address and convey that the return value is a | |
161 | runtime reference accounting for a load address. | |
162 | * libgnat/s-dwalin.adb (Read_Aranges_Entry): Adjust to the | |
163 | address/offset type changes. | |
164 | (Aranges_Lookup): Likewise. | |
165 | (Symbolic_Address): Likewise. | |
166 | (Symbolic_Traceback): Likewise. | |
167 | (Dump_Cache): Likewise. | |
168 | (Is_Inside): Likewise. | |
169 | (Open): Likewise. | |
170 | (Set_Load_Address): Likewise. | |
171 | (Low_Address): Likewise, and account for C.Load_Address. | |
172 | * libgnat/s-trasym__dwarf.adb (Lt): Use Low_Address instead of Low. | |
173 | (Multi_Module_Symbolic_Traceback): Compare address in traceback | |
174 | with module Low_Address instead of Low. | |
175 | ||
b029cc6e OH |
176 | 2018-04-04 Olivier Hainque <hainque@adacore.com> |
177 | ||
178 | * libgnat/s-dwalin.ads (Dwarf_Context): Rename Load_Slide as | |
179 | Load_Address. | |
180 | * libgnat/s-dwalin.adb (Is_Inside): Adjust accordingly. | |
181 | (Set_Load_Address): Likewise. | |
182 | (Symbolic_Traceback): Likewise. | |
183 | ||
08f8a716 OH |
184 | 2018-04-04 Olivier Hainque <hainque@adacore.com> |
185 | ||
186 | * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a | |
187 | Load_Address argument and pass it down to Init_Module. | |
188 | * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass | |
189 | lm.l_addr as the Load_Address to Add_Module_To_Cache. | |
190 | ||
689751d2 PT |
191 | 2018-04-04 Piotr Trojanek <trojanek@adacore.com> |
192 | ||
193 | * einfo.adb (Has_Discriminants): Stronger assertion. | |
194 | (Set_Has_Discriminants): Stronger assertion. | |
195 | * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect | |
196 | the stronger assertion on Has_Discriminant. | |
197 | (Uninstall_Discriminants_And_Pop_Scope): Same as above. | |
198 | * sem_util.adb (New_Copy_Tree): Same as above. | |
199 | * sem_ch7.adb (Generate_Parent_References): Prevent calls to | |
200 | Has_Discriminant on non-type entities that might happen when the | |
201 | compiled code has errors. | |
202 | * sem_ch3.adb (Derived_Type_Declaration): Only call | |
203 | Set_Has_Discriminant on type entities. | |
204 | ||
3ae9d953 AC |
205 | 2018-04-04 Arnaud Charlet <charlet@adacore.com> |
206 | ||
207 | * exp_unst.adb (Unnest_Subprogram): Unnest all subprograms relevant for | |
208 | code generation. | |
209 | ||
0c06611c PT |
210 | 2018-04-04 Piotr Trojanek <trojanek@adacore.com> |
211 | ||
212 | * lib.ads: Fix typo in enumeration in comment. | |
213 | ||
8b55e70d ES |
214 | 2018-04-04 Ed Schonberg <schonberg@adacore.com> |
215 | ||
216 | * sem_attr.adb (Analyze_Attribute, case Scalar_Storage_Order): The | |
217 | attribute reference is legal within a generic unit when the prefix is a | |
218 | formal private type. | |
219 | ||
66c0fa2c HK |
220 | 2018-04-04 Hristian Kirtchev <kirtchev@adacore.com> |
221 | ||
222 | * exp_ch7.adb (Establish_Transient_Scope): Code cleanup. Do not | |
223 | delegate the secondary stack management when there is no suitable | |
224 | transient context, and the transient scope was intended to manage the | |
225 | secondary stack because this causes premature reclamation. Change the | |
226 | transient scope creation logic by special casing assignment statements | |
227 | of controlled components for type initialization procedures. | |
228 | (Find_Node_To_Be_Wrapped): Renamed to Find_Transient_Context. Update | |
229 | the comment on usage. | |
230 | (Find_Transient_Context): Change the initinte loop into a while loop. | |
231 | Iterations schemes and iterator specifications are not valid transient | |
232 | contexts because they rely on special processing. Assignment statements | |
233 | are now treated as a normal transient context, special cases are | |
234 | handled by the caller. Add special processing for pragma Check. | |
235 | (Is_OK_Construct): Removed. Its functionality has been merged in | |
236 | routine Find_Transient_Context. | |
237 | * sem_ch5.adb (Check_Call): Reimplemented. Add code to properly | |
238 | retrieve the subprogram being invoked. Use a more accurate predicate | |
239 | (Requires_Transient_Scope) to determine that the function will emply | |
240 | the secondary stack. | |
241 | ||
8016e567 PT |
242 | 2018-04-04 Piotr Trojanek <trojanek@adacore.com> |
243 | ||
244 | * ada_get_targ.adb: Fix subprogram body headers. | |
245 | * adabkend.adb: Likewise. | |
246 | * checks.adb: Likewise. | |
247 | * exp_ch3.adb: Likewise. | |
248 | * exp_ch5.adb: Likewise. | |
249 | * exp_ch9.adb: Likewise. | |
250 | * exp_dist.adb: Likewise. | |
251 | * exp_tss.adb: Likewise. | |
252 | * inline.adb: Likewise. | |
253 | * lib-writ.adb: Likewise. | |
254 | * lib-xref-spark_specific.adb: Likewise. | |
255 | * libgnarl/s-osinte__darwin.adb: Likewise. | |
256 | * libgnarl/s-stusta.adb: Likewise. | |
257 | * libgnarl/s-taprop__solaris.adb: Likewise. | |
258 | * libgnarl/s-tposen.adb: Likewise. | |
259 | * libgnarl/s-vxwext__kernel-smp.adb: Likewise. | |
260 | * libgnarl/s-vxwext__kernel.adb: Likewise. | |
261 | * libgnat/a-btgbso.adb: Likewise. | |
262 | * libgnat/a-cfdlli.adb: Likewise. | |
263 | * libgnat/a-cfhama.adb: Likewise. | |
264 | * libgnat/a-cfinve.adb: Likewise. | |
265 | * libgnat/a-cimutr.adb: Likewise. | |
266 | * libgnat/a-coboho.adb: Likewise. | |
267 | * libgnat/a-cofove.adb: Likewise. | |
268 | * libgnat/a-cofuve.adb: Likewise. | |
269 | * libgnat/a-comutr.adb: Likewise. | |
270 | * libgnat/a-exexda.adb: Likewise. | |
271 | * libgnat/a-tags.adb: Likewise. | |
272 | * libgnat/a-tideau.adb: Likewise. | |
273 | * libgnat/a-wtdeau.adb: Likewise. | |
274 | * libgnat/a-ztdeau.adb: Likewise. | |
275 | * libgnat/g-alleve.adb: Likewise. | |
276 | * libgnat/s-excdeb.adb: Likewise. | |
277 | * libgnat/s-parint.adb: Likewise. | |
278 | * libgnat/s-shasto.adb: Likewise. | |
279 | * libgnat/s-traceb__hpux.adb: Likewise. | |
280 | * prepcomp.adb: Likewise. | |
281 | * sem_ch4.adb: Likewise. | |
282 | * sem_ch6.adb: Likewise. | |
283 | * sem_dist.adb: Likewise. | |
284 | * sem_prag.adb: Likewise. | |
285 | * sem_util.adb: Likewise. | |
286 | * sinfo.adb: Likewise. | |
287 | * switch.adb: Likewise. | |
288 | ||
5759c56d JM |
289 | 2018-05-04 John Marino <gnugcc@marino.st> |
290 | ||
291 | PR ada/85635 | |
292 | * link.c (BSD platforms): Add missing backslash. | |
293 | ||
9f47a64f EB |
294 | 2018-04-27 Eric Botcazou <ebotcazou@adacore.com> |
295 | ||
296 | PR ada/85540 | |
297 | * init.c (__gnat_handle_vms_condition): Add missing parentheses. | |
298 | ||
87ed4159 EB |
299 | 2018-04-25 Eric Botcazou <ebotcazou@adacore.com> |
300 | ||
301 | PR ada/85007 | |
302 | * gnat_ugn.texi: Regenerate. | |
303 | ||
bd1643cc EB |
304 | 2018-03-23 Eric Botcazou <ebotcazou@adacore.com> |
305 | ||
306 | PR ada/85007 | |
307 | * gnatlink.adb (Gnatlink): Remove handling of -b switch. | |
308 | * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink): | |
309 | Remove documentation of -b switch. | |
310 | ||
f8e56962 EB |
311 | 2018-03-23 Eric Botcazou <ebotcazou@adacore.com> |
312 | ||
313 | PR ada/85036 | |
314 | * gnatlink.adb (Process_Args): Drop existing link switches if multiple | |
315 | switches are passed for --LINK. | |
316 | ||
50536fd5 EB |
317 | 2018-03-12 Eric Botcazou <ebotcazou@adacore.com> |
318 | ||
319 | PR ada/82813 | |
320 | * gcc-interface/misc.c (gnat_post_options): Disable string overflow | |
321 | warnings. | |
322 | ||
f1bc6414 EB |
323 | 2018-03-10 Eric Botcazou <ebotcazou@adacore.com> |
324 | ||
325 | * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>: | |
326 | Consider only entities for objects. | |
327 | ||
6cde8c54 SH |
328 | 2018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de> |
329 | ||
330 | * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant | |
331 | $(GNATLIBCFLAGS). | |
332 | (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C). | |
333 | ||
21288963 EB |
334 | 2018-03-06 Eric Botcazou <ebotcazou@adacore.com> |
335 | ||
336 | * gcc-interface/trans.c (convert_with_check): Fix typo in the condition | |
337 | guarding the overflow check emitted for the upper bound of a floating- | |
338 | point conversion. | |
339 | ||
0d6091d9 EB |
340 | 2018-03-06 Eric Botcazou <ebotcazou@adacore.com> |
341 | ||
342 | * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node. | |
343 | ||
c6db43fa EB |
344 | 2018-02-28 Eric Botcazou <ebotcazou@adacore.com> |
345 | ||
346 | * libgnat/i-cexten.ads (Float_128): New type. | |
347 | ||
dacdc68f EB |
348 | 2018-02-02 Eric Botcazou <ebotcazou@adacore.com> |
349 | ||
350 | * gcc-interface/decl.c (array_type_has_nonaliased_component): Return | |
351 | false if the component type is a pointer. | |
352 | ||
fab58852 GD |
353 | 2018-01-11 Gary Dismukes <dismukes@adacore.com> |
354 | ||
355 | * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the | |
356 | result of Get_Simple_Init_Value and pass the source location of the | |
357 | object declaration's object_definition. | |
358 | ||
a2dbe7d5 ES |
359 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
360 | ||
361 | * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle | |
362 | properly object declarations with initializations that are | |
363 | build-in-place function calls, when there is an address specification, | |
364 | either as an aspect specification or an explicit attribute | |
365 | specification clause, for the initialized object. | |
366 | * freeze.adb (Check_Address_Clause): Do not remove side-effects from | |
367 | initial expressions in the case of a build-in-place call. | |
368 | ||
791f2d03 PT |
369 | 2018-01-11 Piotr Trojanek <trojanek@adacore.com> |
370 | ||
371 | * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a | |
372 | private (sub)type; refactor to avoid early return statement. | |
373 | (Not_Null_Range): Same as above. | |
374 | ||
a85dbeec HK |
375 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
376 | ||
377 | * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not | |
378 | concurrent, nor effectively volatile. | |
379 | * ghost.adb (Check_Ghost_Type): New routine. | |
380 | * ghost.ads (Check_Ghost_Type): New routine. | |
381 | * sem_util.adb (Is_Declaration): Reimplemented. The routine can now | |
382 | consider specific subsets of declarations. | |
383 | (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is | |
384 | replicated by Is_Declaration. | |
385 | * sem_util.ads (Is_Declaration): New parameter profile. Update the | |
386 | comment on usage. | |
387 | (Is_Declaration_Other_Than_Renaming): Removed. | |
388 | ||
5efc1c00 HK |
389 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
390 | ||
391 | * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act | |
392 | as Part_Of consituents of single protected types are illegal when they | |
393 | take place inside a protected function. | |
394 | (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an | |
395 | enclosing function. | |
396 | (Is_Protected_Part_Of_Constituent): New routine. | |
397 | (Within_Function): New routine. | |
398 | ||
4dfba737 AC |
399 | 2018-01-11 Arnaud Charlet <charlet@adacore.com> |
400 | ||
401 | Bump copyright notices to 2018. | |
402 | ||
27d357ca HK |
403 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
404 | ||
405 | * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb: | |
406 | Minor reformatting. | |
407 | ||
cb488118 JS |
408 | 2018-01-11 Justin Squirek <squirek@adacore.com> |
409 | ||
410 | * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check | |
411 | to make sure a given expression function is properly parenthesized. | |
412 | ||
ed27b86b HK |
413 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
414 | ||
415 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the | |
416 | categorization of a subprogram body which does not complete a previous | |
417 | declaration. | |
418 | ||
715a5d51 HK |
419 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
420 | ||
421 | * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing | |
422 | scope of package Ada is Standard. | |
423 | ||
a2fd4f0e ES |
424 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
425 | ||
426 | * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a | |
427 | subcomponent of the current entity when building the body for a dynamic | |
428 | predicate function for a record with composite subcomponents. | |
429 | ||
6560f851 HK |
430 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
431 | ||
432 | * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to | |
433 | Establish_Transient_Scope. | |
434 | (Convert_To_Assignments): Update the call to Establish_Transient_Scope. | |
435 | (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope. | |
436 | * exp_ch6.adb (Expand_Call_Helper): Update the call to | |
437 | Establish_Transient_Scope. | |
438 | (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to | |
439 | Establish_Transient_Scope. | |
440 | * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the | |
441 | management of the secondary stack to an enclosing scope if there is no | |
442 | suitable construct to wrap, and the transient scope was intended to | |
443 | manage the secondary stack. | |
444 | (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative | |
445 | is a valid boundary for a transient expression which comes from the | |
446 | statements of the alternative, otherwise alternatives cannot be | |
447 | wrapped. Assignments of controlled objects which have controlled | |
448 | actions suppressed now stop the traversal as there is no point in | |
449 | looking for an enclosing construct. Add several N_xxx_Body choices to | |
450 | the termination conditions for completeness. | |
451 | * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile | |
452 | and the associated comment on usage. | |
453 | * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to | |
454 | Establish_Transient_Scope. | |
455 | (Add_Write_After): Update the call to Establish_Transient_Scope. | |
456 | * sem_res.adb (Check_Initialization_Call): Removed. | |
457 | (Resolve_Actuals): Account for additional cases where finalization | |
458 | actions are required by utilizing predicate Needs_Finalization rather | |
459 | than Is_Controlled. | |
460 | (Resolve_Call): Type initialization procedures can now utilize | |
461 | transient scopes to manage the secondary stack, thus preventing leaks | |
462 | during initialization. Remove the previous kludgy algorithm which | |
463 | attempts to manage the secondary stack at the object creation site. | |
464 | ||
c9e80306 JL |
465 | 2018-01-11 Jerome Lambourg <lambourg@adacore.com> |
466 | ||
467 | * libgnat/g-soliop__qnx.ads: New. | |
468 | * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update | |
469 | for QNX. | |
470 | ||
4727f693 BD |
471 | 2018-01-11 Bob Duff <duff@adacore.com> |
472 | ||
473 | * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if | |
474 | a null procedure occurs in a protected definition. | |
475 | ||
1ceee6a1 BD |
476 | 2018-01-11 Bob Duff <duff@adacore.com> |
477 | ||
478 | * binderr.ads, namet.ads: Minor reformatting. | |
479 | ||
e22e7f06 BD |
480 | 2018-01-11 Bob Duff <duff@adacore.com> |
481 | ||
482 | * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of | |
483 | xml2gnat. | |
484 | ||
8207dc23 BD |
485 | 2018-01-11 Bob Duff <duff@adacore.com> |
486 | ||
487 | * binde.adb (Force_Elab_Order): Give an error if there are duplicate | |
488 | unit names. | |
489 | ||
52c5090a ES |
490 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
491 | ||
492 | * sem_ch6.adb (Freeze_Expr_Types): If an access value is the | |
493 | controlling argument of a dispatching call. freeze the corresponding | |
494 | designated type. | |
495 | ||
2e01b698 BB |
496 | 2018-01-11 Ben Brosgol <brosgol@adacore.com> |
497 | ||
498 | * doc/Makefile: Add Sphinx option -W to treat warnings as errors. | |
499 | ||
f5c31a46 BB |
500 | 2018-01-11 Ben Brosgol <brosgol@adacore.com> |
501 | ||
502 | * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording | |
503 | corrections. | |
504 | * gnat_rm.texi: Regenerate. | |
505 | ||
07733aa1 ES |
506 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
507 | ||
508 | * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the | |
509 | formsl type corresponding to the actual fixed point type is private, | |
510 | because in this case there can be no suspicious arithmetic operations | |
511 | in the generic unless they reference a formal subprogram. Clarify | |
512 | warning. | |
513 | ||
78cac738 JM |
514 | 2018-01-11 Javier Miranda <miranda@adacore.com> |
515 | ||
516 | * exp_util.adb (Remove_Side_Effects): No action done for functions | |
517 | returning class-wide types since it requires generating code using | |
518 | 'reference and the CCG target has no secondary stack. | |
519 | * gnat1drv.adb: Disable building static dispatch tables when generating | |
520 | C code. | |
521 | ||
210fef2d PT |
522 | 2018-01-11 Piotr Trojanek <trojanek@adacore.com> |
523 | ||
524 | * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads, | |
525 | libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads | |
526 | (File_Type): Add Default_Initial_Condition aspect. | |
527 | ||
7d1553e2 PO |
528 | 2018-01-11 Pascal Obry <obry@adacore.com> |
529 | ||
530 | * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation. | |
531 | ||
1646b09f BD |
532 | 2018-01-11 Bob Duff <duff@adacore.com> |
533 | ||
534 | * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation | |
535 | to match what the Libadalang-based version does. | |
536 | * doc/gnat_ugn/about_this_guide.rst: Update reference. | |
537 | ||
7460ccc7 HK |
538 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
539 | ||
540 | * sem_res.adb (Uses_SS): A controlled type requires the secondary stack | |
541 | if it contains at least one component declaration employing a function | |
542 | call returning on the secondary stack. | |
543 | ||
a5b2e440 YM |
544 | 2018-01-11 Yannick Moy <moy@adacore.com> |
545 | ||
546 | * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: | |
547 | Update description of restriction SPARK_05 with SPARK 2014. | |
548 | * gnat_rm.texi: Regenerate. | |
549 | ||
151af7d2 VF |
550 | 2018-01-11 Vasiliy Fofanov <fofanov@adacore.com> |
551 | ||
552 | * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout. | |
553 | ||
10fdda1c HK |
554 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
555 | ||
556 | * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb, | |
557 | sem_res.adb, sem_util.adb: Minor reformatting. | |
558 | ||
4d6000d7 ES |
559 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
560 | ||
561 | * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type | |
562 | has a delayed aspect which must be processed at the point the type is | |
563 | frozen. This mimics what is done when the predicate is provided by a | |
564 | source aspect. | |
565 | ||
19fb0439 DR |
566 | 2018-01-11 Doug Rupp <rupp@adacore.com> |
567 | ||
568 | * init.c (vxworks): Add macro checks for __aarch64__. | |
569 | ||
80631298 HK |
570 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
571 | ||
572 | * exp_util.adb (Add_Failure_Expression): New routine. | |
573 | (Make_Predicate_Check): Reimplement the handling of Predicate_Failure. | |
574 | * sem_util.adb (Is_Current_Instance): Code cleanup. | |
575 | ||
6a5e79b4 PB |
576 | 2018-01-11 Patrick Bernardi <bernardi@adacore.com> |
577 | ||
578 | * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded | |
579 | Default_Sec_Stack_Size. | |
580 | * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack | |
581 | limit check so that the integer index does not overflow. Check the | |
582 | dynamic stack allocation does not cause the secondary stack pointer to | |
583 | overflow. | |
584 | (SS_Info): Align colons. | |
585 | (SS_Init): Cover the case when bootstraping with an old compiler that | |
586 | does not set Default_SS_Size. | |
587 | ||
5cb78fb8 ES |
588 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
589 | ||
590 | * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the | |
591 | legality of an inherited operation that may require overriding, ignore | |
592 | primitive_wrappers that correspond to explicit operations that override | |
593 | an interface primitive. | |
594 | * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the | |
595 | operation to which the class-wide expression applies is a protected op. | |
596 | with a primitive_wrapper, verify that the updated inherited expression | |
597 | does not contain an internal call to a protected function. This | |
598 | completes the implementation of AI12-0166. | |
599 | ||
94ce4941 HK |
600 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
601 | ||
602 | * ali.adb: Document the remaining letters available for ALI lines. | |
603 | (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line. | |
604 | * ali.ads: Update type With_Record. Field | |
605 | Implicit_With_From_Instantiation is no longer in use. Add field | |
606 | Implicit_With. | |
607 | * csinfo.adb (CSinfo): Remove the setup for attribute | |
608 | Implicit_With_From_Instantiation. | |
609 | * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as | |
610 | either implicitly or explicitly withed. | |
611 | (Is_Implicit_With_Clause): New routine. | |
612 | (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid | |
613 | confusion with the with clause attribute by the same name. | |
614 | (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers. | |
615 | * rtsfind.adb (Maybe_Add_With): Code cleanup. | |
616 | * sem_ch8.adb (Present_System_Aux): Code cleanup. | |
617 | * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated | |
618 | for a parent unit. | |
619 | (Implicit_With_On_Parent): Mark the with clause as generated for a | |
620 | parent unit. | |
621 | * sem_ch12.adb (Inherit_Context): With clauses inherited by an | |
622 | instantiation are no longer marked as Implicit_With_From_Instantiation | |
623 | because they are already marked as implicit. | |
624 | * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge | |
625 | which marks implicit with clauses as related to an instantiation. | |
626 | * sinfo.adb (Implicit_With_From_Instantiation): Removed. | |
627 | (Parent_With): New routine. | |
628 | (Set_Implicit_With_From_Instantiation): Removed. | |
629 | (Set_Parent_With): New routine. | |
630 | * sinfo.ads: Update the documentation of attribute Implicit_With. | |
631 | Remove attribute Implicit_With_From_Instantiation along with | |
632 | occurrences in nodes. Add attribute Parent_With along with occurrences | |
633 | in nodes. | |
634 | (Implicit_With_From_Instantiation): Removed along with pragma Inline. | |
635 | (Parent_With): New routine along with pragma Inline. | |
636 | (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline. | |
637 | (Set_Parent_With): New routine along with pragma Inline. | |
638 | ||
77519270 HK |
639 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
640 | ||
641 | * sem_util.adb (Find_Enclosing_Scope): Return the unique defining | |
642 | entity when the enclosing construct is a body. | |
643 | ||
a40d9947 PB |
644 | 2018-01-11 Patrick Bernardi <bernardi@adacore.com> |
645 | ||
646 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified | |
647 | Secondary_Stack_Size handling as a pragma is now generated for the | |
648 | corresponding aspect instead of an attribute. Pragma expression is | |
649 | relocated instead of evaluated. Discriminant of the corresponding | |
650 | record type is referenced rather than the type discriminant. | |
651 | (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update | |
652 | Secondary_Stack_Size rep item checks to only look for the pragma rep. | |
653 | * sem_ch13.adb (Analyze_One_Aspect): Transform | |
654 | Aspect_Secondary_Stack_Size into a pragma instead of an attribute | |
655 | because the attribute does not have visibility on a task type's | |
656 | discriminants when the type's definition is expanded. | |
657 | (Analyze_Attribute_Definition_Clause): Remove handling of | |
658 | Attribute_Secondary_Stack_Size. | |
659 | * snames.adb-tmpl, snames.ads-tmpl: Remove | |
660 | Attribute_Secondary_Stack_Size, no longer used. | |
661 | ||
6b199a18 JS |
662 | 2018-01-11 Justin Squirek <squirek@adacore.com> |
663 | ||
664 | * sem_ch8.adb: Minor comment fix. | |
665 | ||
05344a33 HK |
666 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
667 | ||
668 | * exp_ch4.adb (Process_Action): Do not abandon the inspection of an | |
669 | individual action because the action may denote a complex expression, | |
670 | such as a case statement, which in turn may contain additional | |
671 | transient objects. | |
672 | ||
d940c627 ES |
673 | 2018-01-11 Ed Schonberg <schonberg@adacore.com> |
674 | ||
675 | * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform | |
676 | analysis on a copy of the expression with a copy of the index variable, | |
677 | because full expansion will rewrite construct into a loop with the | |
678 | original loop variable. | |
679 | * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the | |
680 | expression is an iterated component association. Full analysis takes | |
681 | place when construct is rewritten as a loop. | |
682 | (In_Place_Assign_OK, Safe_Component): An iterated_component_association | |
683 | is not safe for in-place assignment. | |
684 | * sem_util.adb (Remove_Entity): Handle properly the case of an isolated | |
685 | entity with no homonym and no other entity in the scope. | |
686 | ||
c8f25817 JS |
687 | 2018-01-11 Justin Squirek <squirek@adacore.com> |
688 | ||
689 | * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error | |
690 | message to be printed on the pragma argument identifier. | |
691 | ||
51f3e4e1 HK |
692 | 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> |
693 | ||
694 | * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last | |
695 | entity of the generated invariant procedure in order to construct a | |
696 | proper entity chain. | |
697 | ||
593e3172 PT |
698 | 2018-01-11 Piotr Trojanek <trojanek@adacore.com> |
699 | ||
700 | * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in | |
701 | comment. | |
702 | ||
89a4fa68 AC |
703 | 2018-01-11 Arnaud Charlet <charlet@adacore.com> |
704 | ||
705 | * einfo.ads, einfo.adb (Activation_Record_Component, | |
706 | Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity): | |
707 | Allow E_Discriminant. | |
708 | ||
af95bb26 EB |
709 | 2018-01-10 Eric Botcazou <ebotcazou@adacore.com> |
710 | ||
711 | * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check | |
712 | for atomic access once the component size is taken into account and | |
713 | also do it if the component type is Atomic or Volatile_Full_Access. | |
714 | ||
5d35675c EB |
715 | 2018-01-04 Eric Botcazou <ebotcazou@adacore.com> |
716 | ||
717 | * gnatvsn.ads: Bump copyright year. | |
718 | ||
73a699ae RS |
719 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
720 | Alan Hayward <alan.hayward@arm.com> | |
721 | David Sherwood <david.sherwood@arm.com> | |
722 | ||
723 | * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE | |
724 | as polynomial. | |
725 | ||
bb94ec76 RS |
726 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
727 | Alan Hayward <alan.hayward@arm.com> | |
728 | David Sherwood <david.sherwood@arm.com> | |
729 | ||
730 | * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION | |
731 | as polynomial. | |
732 | ||
928686b1 RS |
733 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
734 | Alan Hayward <alan.hayward@arm.com> | |
735 | David Sherwood <david.sherwood@arm.com> | |
736 | ||
737 | * gcc-interface/utils.c (gnat_types_compatible_p): Handle | |
738 | polynomial TYPE_VECTOR_SUBPARTS. | |
739 | ||
7b777afa RS |
740 | 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> |
741 | Alan Hayward <alan.hayward@arm.com> | |
742 | David Sherwood <david.sherwood@arm.com> | |
743 | ||
744 | * gcc-interface/misc.c (enumerate_modes): Handle polynomial | |
745 | GET_MODE_NUNITS. | |
746 | ||
65e6aea3 | 747 | 2018-01-03 Jakub Jelinek <jakub@redhat.com> |
0e5b9de3 | 748 | |
85ec4feb JJ |
749 | Update copyright years. |
750 | ||
65e6aea3 JJ |
751 | * gnat_ugn.texi: Bump @copying's copyright year. |
752 | * gnat_rm.texi: Likewise. | |
ad41bd84 | 753 | \f |
65e6aea3 | 754 | Copyright (C) 2018 Free Software Foundation, Inc. |
ad41bd84 JM |
755 | |
756 | Copying and distribution of this file, with or without modification, | |
757 | are permitted in any medium without royalty provided the copyright | |
758 | notice and this notice are preserved. |