]>
Commit | Line | Data |
---|---|---|
490d0f6c RS |
1 | 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> |
2 | Alan Hayward <alan.hayward@arm.com> | |
3 | David Sherwood <david.sherwood@arm.com> | |
4 | ||
5 | * gcc-interface/decl.c (validate_size): Update use of | |
6 | GET_MODE_WIDER_MODE, forcing a wider mode to exist. | |
7 | ||
c94843d2 RS |
8 | 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> |
9 | Alan Hayward <alan.hayward@arm.com> | |
10 | David Sherwood <david.sherwood@arm.com> | |
11 | ||
12 | * gcc-interface/misc.c (fp_prec_to_size): Use new mode iterators. | |
13 | (fp_size_to_prec): Likewise. | |
14 | ||
0694da45 ML |
15 | 2017-08-29 Martin Liska <mliska@suse.cz> |
16 | ||
17 | PR other/39851 | |
18 | * gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL. | |
19 | ||
314e6352 ML |
20 | 2017-08-08 Martin Liska <mliska@suse.cz> |
21 | ||
22 | * gcc-interface/trans.c: Include header files. | |
23 | ||
e071b767 JJ |
24 | 2017-07-29 Jakub Jelinek <jakub@redhat.com> |
25 | ||
26 | * gcc-interface/utils.c (gnat_write_global_declarations): Pass false | |
27 | as new argument to the imported_module_or_decl debug hook. | |
28 | ||
a8697b27 EB |
29 | 2017-07-25 Javier Miranda <miranda@adacore.com> |
30 | ||
31 | * checks.adb (Apply_Divide_Checks): Ensure that operands are not | |
32 | evaluated twice. | |
33 | ||
77011afe JJ |
34 | 2017-07-19 Jakub Jelinek <jakub@redhat.com> |
35 | ||
36 | * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE, | |
37 | TYPE_GCC_MIN_VALUE): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL. | |
38 | (TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL. | |
39 | ||
b34a929a MF |
40 | 2017-07-18 Mike Frysinger <vapier@chromium.org> |
41 | ||
0574d9ae EB |
42 | * gcc-interface/Makefile.in (../../gnatmake$(exeext)): Delete $(P). |
43 | (../../gnatlink$(exeext)): Likewise. | |
b34a929a | 44 | |
049e7774 JPAG |
45 | 2017-07-15 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> |
46 | ||
47 | PR ada/81446 | |
48 | * system-linux-m68k.ads: Add pragma No_Elaboration_Code_All. | |
49 | (Backend_Overflow_Checks): Set to True. | |
50 | ||
aa9ace3e JJ |
51 | 2017-06-23 Jakub Jelinek <jakub@redhat.com> |
52 | ||
0574d9ae | 53 | * gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false. |
aa9ace3e | 54 | |
ff9baa5f PMR |
55 | 2017-06-21 Pierre-Marie de Rodat <derodat@adacore.com> |
56 | ||
57 | * gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright | |
58 | notice. New macro. | |
59 | * gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram | |
60 | as a definition. | |
61 | (Compilation_Unit_to_gnu): Tag the elaboration procedure as a | |
62 | definition. | |
63 | * gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of | |
64 | imported subprograms for the current compilation unit as | |
65 | definitions. Disable debug info for references to variables. | |
66 | * gcc-interface/gigi.h (create_subprog_decl): Update declaration. | |
67 | * gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are | |
68 | not built-in functions to their binding scope. | |
69 | (create_subprog_decl): Add a DEFINITION parameter. If it is true, tag | |
70 | the function as a definition. Update all callers. | |
71 | (gnat_write_global_declarations): Emit debug info for imported | |
72 | functions. Filter out external variables for which debug info | |
73 | is disabled. | |
74 | ||
cb55f77d NB |
75 | 2017-06-15 Nicolas Boulenguez <nicolas.boulenguez@free.fr> |
76 | ||
77 | PR ada/81105 | |
78 | * gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting. | |
79 | (i[3456]86-pc-gnu): Likewise. | |
80 | (x86_64 kfreebsd): Likewise. | |
81 | ||
3b387bff EB |
82 | 2017-06-12 Eric Botcazou <ebotcazou@adacore.com> |
83 | ||
84 | PR bootstrap/80897 | |
85 | * exp_ch3.adb (Make_Predefined_Primitive_Specs): Use Positive index. | |
86 | ||
cdf2dd41 EB |
87 | 2017-06-12 Eric Botcazou <ebotcazou@adacore.com> |
88 | ||
89 | PR ada/81070 | |
90 | * s-interr-hwint.adb: Reinstate. | |
91 | * gcc-interface/Makefile.in (RTEMS): Use it again. | |
92 | ||
724faf7b OH |
93 | 2017-06-08 Olivier Hainque <hainque@adacore.com> |
94 | ||
95 | * vx_crtbegin_auto.c: Update year in copyright notice. | |
96 | * vx_crtbegin.c: Likewise. | |
97 | * vx_crtbegin.inc: Likewise. | |
98 | * vx_crtend.c: Likewise. | |
99 | ||
e059725b SH |
100 | 2017-06-07 Sebastian Huber <sebastian.huber@embedded-brains.de> |
101 | ||
102 | * Makefile.in (rtems): Use TLS implementation for s-tpopsp.adb. | |
103 | * s-tpopsp-rtems.adb: Delete. | |
104 | ||
f8763042 OH |
105 | 2017-06-02 Olivier Hainque <hainque@adacore.com> |
106 | ||
107 | * vx_crtbegin_auto.c: New file. | |
108 | * vx_crtbegin.c: New file. | |
109 | * vx_crtbegin.inc: New file. | |
110 | * vx_crtend.c: New file. | |
111 | ||
bb5faf73 JW |
112 | 2017-05-25 Jonathan Wakely <jwakely@redhat.com> |
113 | ||
114 | * gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant | |
115 | const qualifiers that cause -Wignored-qualifiers warnings. | |
116 | ||
fbb1c7d4 EB |
117 | 2017-05-22 Eric Botcazou <ebotcazou@adacore.com> |
118 | ||
119 | * gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing | |
120 | for Itypes that are E_Access_Subtype. | |
121 | <E_Access_Subtype>: Use the DECL of the base type directly. | |
122 | ||
d3271136 EB |
123 | 2017-05-22 Ed Schonberg <schonberg@adacore.com> |
124 | Eric Botcazou <ebotcazou@adacore.com> | |
125 | ||
126 | * sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a | |
127 | limited view may appear in the profile of a function, and a call to | |
128 | that function in another unit in which the full view is available must | |
129 | use this full view to spurious type errors at the point of call. | |
130 | * inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading | |
131 | of parent body with a with clause for the main unit. | |
132 | * gcc-interface/decl.c (defer_limited_with_list): Document new usage. | |
133 | (gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment | |
134 | types declared in external units like types from limited with clauses. | |
135 | Adjust final processing of defer_limited_with_list accordingly. | |
136 | * gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try | |
137 | again to translate the prefix after the field if it is incomplete. | |
138 | ||
4c24ec6d EB |
139 | 2017-05-22 Eric Botcazou <ebotcazou@adacore.com> |
140 | ||
141 | * gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict | |
142 | alignment for simple volatile fields and remove associated errors. | |
143 | ||
7543c8b6 EB |
144 | 2017-05-15 Eric Botcazou <ebotcazou@adacore.com> |
145 | ||
146 | * gcc-interface/gigi.h (get_elaboration_procedure): Delete. | |
147 | * gcc-interface/trans.c (get_elaboration_procedure): Make static. | |
148 | ||
0d5a0a33 PMR |
149 | 2017-05-15 Pierre-Marie de Rodat <derodat@adacore.com> |
150 | ||
151 | * gcc-interface/utils.c (can_materialize_object_renaming_p): | |
152 | Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration: | |
153 | process Original_Node instead of expanded names. | |
154 | ||
13b6b773 EB |
155 | 2017-05-15 Eric Botcazou <ebotcazou@adacore.com> |
156 | ||
157 | * gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the | |
158 | addressability check in the constrained case. | |
159 | ||
3946f000 EB |
160 | 2017-05-15 Eric Botcazou <ebotcazou@adacore.com> |
161 | ||
162 | * gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete | |
163 | types not coming from a limited context. | |
164 | ||
0c09a01e EB |
165 | 2017-05-15 Eric Botcazou <ebotcazou@adacore.com> |
166 | ||
167 | * gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on | |
168 | the inlined list that are not public. | |
169 | * gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if | |
170 | there is a pragma Inline_Always on the subprogram. | |
171 | ||
b1b2b511 EB |
172 | 2017-05-15 Eric Botcazou <ebotcazou@adacore.com> |
173 | ||
174 | * gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting. | |
175 | <N_Allocator>: Use properly typed constants. | |
176 | (extract_values): Move around. | |
177 | (pos_to_constructor): Minor tweaks. | |
178 | (Sloc_to_locus): Fix formatting. | |
179 | * gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks. | |
180 | * gcc-interface/gigi.h (MARK_VISITED): Remove blank line. | |
181 | (Gigi_Equivalent_Type): Adjust head comment. | |
182 | * gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise. | |
183 | ||
04bc3c93 EB |
184 | 2017-05-15 Eric Botcazou <ebotcazou@adacore.com> |
185 | ||
186 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there | |
187 | is a representation clause on an extension, propagate the alignment of | |
188 | the parent type only if the platform requires strict alignment. | |
189 | ||
9dd19976 EB |
190 | 2017-05-12 Eric Botcazou <ebotcazou@adacore.com> |
191 | ||
192 | * system-linux-arm.ads (Memory_Size): Use Long_Integer'Size | |
193 | instead of Word_Size. | |
194 | ||
195 | Revert | |
196 | 2017-03-28 Andreas Schwab <schwab@suse.de> | |
197 | ||
198 | PR ada/80117 | |
199 | * system-linux-aarch64-ilp32.ads: New file. | |
200 | * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename | |
201 | from LIBGNAT_TARGET_PAIRS. | |
202 | (LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define. | |
203 | (LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and | |
204 | LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64 | |
205 | or -mabi=ilp32, resp. | |
206 | ||
6071bbaa L |
207 | 2017-05-10 H.J. Lu <hongjiu.lu@intel.com> |
208 | ||
209 | PR ada/80626 | |
210 | * system-linux-x86.ads (Memory_Size): Use Long_Integer'Size | |
211 | instead of Word_Size. | |
212 | ||
a997fff5 BE |
213 | 2017-05-10 Bernd Edlinger <bernd.edlinger@hotmail.de> |
214 | ||
215 | * raise-gcc.c (exception_class_eq): Make ec parameter const. | |
216 | ||
2bf54d93 RB |
217 | 2017-05-02 Richard Biener <rguenther@suse.de> |
218 | ||
219 | * gcc-interface/misc.c (gnat_post_options): Do not set | |
220 | -fstrict-overflow. | |
221 | ||
4ec7c4ec EB |
222 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> |
223 | ||
224 | * gcc-interface/trans.c (assoc_to_constructor): Make sure | |
225 | Corresponding_Discriminant is only called on discriminants. | |
226 | Skip the saving of the result only for them. | |
227 | (gnat_to_gnu) <N_Selected_Component>: Likewise. | |
228 | <N_Unchecked_Type_Conversion>: Translate the result type first. | |
229 | (gigi): Set TREE_NOTHROW on Begin_Handler. | |
230 | (stmt_list_cannot_raise_p): New predicate. | |
231 | (Exception_Handler_to_gnu_gcc): Emit a simple final call instead of | |
232 | a cleanup if the statements of the handler cannot raise. | |
233 | (process_freeze_entity): Use Is_Record_Type. | |
234 | (process_type): Likewise. | |
235 | ||
05dbb83f AC |
236 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> |
237 | ||
238 | * einfo.ads (Corresponding_Record_Component): New alias | |
239 | for Node21 used for E_Component and E_Discriminant. | |
240 | * einfo.adb (Corresponding_Record_Component): New function. | |
241 | (Set_Corresponding_Record_Component): New procedure. | |
242 | (Write_Field21_Name): Handle Corresponding_Record_Component. | |
243 | * sem_ch3.adb (Inherit_Component): Set | |
244 | Corresponding_Record_Component for every component in | |
245 | the untagged case. Clear it afterwards for non-girder | |
246 | discriminants. | |
247 | * gcc-interface/decl.c (gnat_to_gnu_entity) | |
248 | <E_Record_Type>: For a derived untagged type with discriminants | |
249 | and constraints, apply the constraints to the layout of the | |
250 | parent type to deduce the layout. | |
251 | (field_is_aliased): Delete. | |
252 | (components_to_record): Test DECL_ALIASED_P directly. | |
253 | (annotate_rep): Check that fields are present except for | |
254 | an extension. | |
255 | (create_field_decl_from): Add DEBUG_INFO_P | |
256 | parameter and pass it in recursive and other calls. Add guard | |
257 | for the manual CSE on the size. | |
258 | (is_stored_discriminant): New predicate. | |
259 | (copy_and_substitute_in_layout): Consider only | |
260 | stored discriminants and check that original fields are present | |
261 | in the old type. Deal with derived types. Adjust call to | |
262 | create_variant_part_from. | |
263 | ||
264 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
265 | ||
266 | * exp_ch6.adb (Expand_Call_Helper): When locating the | |
267 | accessibility entity created for an access parameter, handle | |
268 | properly a reference to a formal of an enclosing subprogram. if | |
269 | the reference appears in an inherited class-wide condition, it | |
270 | is the rewriting of the reference in the ancestor expression, | |
271 | but the accessibility entity must be that of the current formal. | |
272 | ||
273 | 2017-05-02 Javier Miranda <miranda@adacore.com> | |
274 | ||
275 | * exp_ch4.adb (Expand_Non_Binary_Modular_Op): New subprogram. | |
276 | (Expand_N_Op_Add, Expand_N_Op_Divide, Expand_N_Op_Minus, | |
277 | Expand_N_Op_Multiply, Expand_N_Op_Or, Expand_N_Op_Subtract): | |
278 | Call Expand_Non_Binary_Modular_Op. | |
279 | ||
f934fd02 EB |
280 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> |
281 | ||
282 | * sem_ch3.adb (Build_Derived_Private_Type): If the parent type | |
283 | has discriminants, do not override the Stored_Constraint list of | |
284 | the full view of the derived type with that of the derived type. | |
285 | ||
d6fd1f07 AC |
286 | 2017-05-02 Bob Duff <duff@adacore.com> |
287 | ||
288 | * sem_attr.adb (Attribute_Enum_Rep): Disallow T'Enum_Rep. | |
289 | ||
290 | 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> | |
291 | ||
292 | * s-os_lib.ads: Minor typo fix. | |
293 | ||
294 | 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> | |
295 | ||
296 | * gnatls.adb: Merge and refactor code from Prj.Env and remove | |
297 | this deprecated dependency. | |
298 | ||
299 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
300 | ||
301 | * exp_util.ads: minor comment addition. | |
302 | ||
303 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> | |
304 | ||
305 | * sem_ch3.adb (Build_Derived_Record_Type): Fix a few typos and | |
306 | pastos in part #3 of the head comment. | |
307 | ||
308 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
309 | ||
310 | * exp_ch3.adb (Freeze_Type): Do not generate an invariant | |
311 | procedure body for a local (sub)type declaration within a | |
312 | predicate function. Invariant checks do not apply to these, and | |
313 | the expansion of the procedure will happen in the wrong scope, | |
314 | leading to misplaced freeze nodes. | |
315 | ||
316 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
317 | ||
318 | * exp_util.adb (Insert_Library_Level_Action): Use proper scope | |
319 | to analyze generated actions. If the main unit is a body, | |
320 | the required scope is that of the corresponding unit declaration. | |
321 | ||
322 | 2017-05-02 Arnaud Charlet <charlet@adacore.com> | |
323 | ||
324 | * einfo.adb (Declaration_Node): flip branches of | |
325 | an IF statement to avoid repeated negations in its condition; | |
326 | no change in semantics, only to improve readability. | |
327 | ||
2d249f52 AC |
328 | 2017-05-02 Arnaud Charlet <charlet@adacore.com> |
329 | ||
330 | * sem_case.adb: Remove extra spaces in parameter declarations. | |
331 | ||
332 | 2017-05-02 Justin Squirek <squirek@adacore.com> | |
333 | ||
334 | * usage.adb: Replace space with hyphen ("run time" -> "run-time") | |
335 | in usage line for new -gnatwE switch. | |
336 | ||
337 | 2017-05-02 Claire Dross <dross@adacore.com> | |
338 | ||
339 | * a-cofuve.ads (Remove): Remove unnecessary | |
340 | conditions in precondition. | |
341 | ||
342 | 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> | |
343 | ||
344 | * a-stream.ads, exp_imgv.adb, sem_ch10.adb, | |
345 | sem_attr.adb, s-finmas.ads, osint.adb: Minor typo fix. | |
346 | ||
b55993b3 AC |
347 | 2017-05-02 Justin Squirek <squirek@adacore.com> |
348 | ||
349 | * sem_ch4.adb (Analyze_Case_Expression): Add check for valid | |
350 | alternative expression. | |
351 | * sem_res.adb (Resolve_Case_Expression): Ditto. | |
352 | ||
353 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
354 | ||
355 | * exp_disp.adb (Set_All_DT_Position, In_Predef_Prim_DT): | |
356 | Refine predicate for the case where the primitive operation | |
357 | is a renaming of equality. An overriding operation that is | |
358 | a user-defined renaming of predefined equality inherits its | |
359 | slot from the overridden operation. Otherwise it is treated | |
360 | as a predefined op and occupies the same predefined slot as | |
361 | equality. A call to it is transformed into a call to its alias, | |
362 | which is the predefined equality. A dispatching call thus uses | |
363 | the proper slot if operation is further inherited and called | |
364 | with class-wide arguments. | |
365 | ||
366 | 2017-05-02 Justin Squirek <squirek@adacore.com> | |
367 | ||
368 | * errout.adb (Set_Msg_Text): Add a case to switch the message | |
369 | type when the character '[' is detected signifying a warning | |
370 | about a run-time exception. | |
371 | * opt.ads Add a new Warning_Mode value for new switch | |
372 | * switch-b.adb (Scan_Binder_Switches): Add case for the binder | |
373 | to handle new warning mode | |
374 | * usage.adb (Usage): Add usage entry for -gnatwE | |
375 | * warnsw.adb (Set_Warning_Switch): Add case for the new switch | |
376 | ||
377 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
378 | ||
379 | * sem_prag.adb (Process_Conversion): Reject an intrinsic operator | |
380 | declaration that operates on some fixed point type. | |
381 | ||
382 | 2017-05-02 Justin Squirek <squirek@adacore.com> | |
383 | ||
384 | * a-crbtgo.adb, s-taasde.adb: Remove unused use-type clauses. | |
385 | ||
a6354842 AC |
386 | 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> |
387 | ||
388 | * sem_ch6.adb (Analyze_Null_Procedure): Revert previous change. | |
389 | ||
390 | 2017-05-02 Justin Squirek <squirek@adacore.com> | |
391 | ||
392 | * sem_ch4.adb (Analyze_Case_Expression): Add check for valid | |
393 | expression (Analyze_If_Expression): Add check for valid condition | |
394 | * sem_eval.adb (Eval_Case_Expression): Add check for error posted | |
395 | on case-expression | |
396 | * sem_res.adb (Resolve_If_Expression): Add check for valid | |
397 | condition and then-expression. | |
398 | ||
1804faa4 AC |
399 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> |
400 | ||
401 | * exp_ch3.adb (Build_Initialization_Call): Generate a null | |
402 | statement if the initialization call is a null procedure, as | |
403 | can happen with a controlled type with no explicit Initialize | |
404 | procedure, or an array of such. | |
405 | * exp_ch7.adb (Process_Object_Declaration): For a type with | |
406 | controlled components that has a trivial Initialize procedure, | |
407 | insert declaration for finalization counter after object | |
408 | declaration itself. | |
409 | (Make_Deep_Array_Body, Build_Initialize_statements): Do not create | |
410 | finalization block and attendant declarations if component has | |
411 | a trivial Initialize procedure. | |
412 | (Make_Init_Call): Do not generate a call if controlled type has | |
413 | a trivial Initialize procedure. | |
414 | ||
415 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> | |
416 | ||
417 | * g-forstr.ads (Data): Move Format component last. | |
418 | * g-forstr.adb ("+"): Adjust for above change. | |
419 | * g-rewdat.ads (Buffer): Move Buffer, Current, Pattern and Value last. | |
420 | * g-sechas.ads (Context): Move Key last. | |
421 | * g-socket.ads (Service_Entry_Type): Move Aliases last. | |
422 | * s-fileio.adb (Temp_File_Record): Move Name last. | |
423 | * s-regexp.adb (Regexp_Value): Move Case_Sensitive last. | |
424 | * xr_tabls.ads (Project_File): Move Src_Dir and Obj_Dir last. | |
425 | ||
426 | 2017-05-02 Jerome Lambourg <lambourg@adacore.com> | |
427 | ||
428 | * bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: Remove the -nognarl | |
429 | switch introduced recently. finally not needed. | |
430 | ||
431 | 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> | |
432 | ||
433 | * sem_ch6.adb (Analyze_Null_Procedure): Set the | |
434 | Corresponding_Body link for a null procedure declaration. | |
435 | ||
62d40a7a AC |
436 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> |
437 | ||
438 | * atree.h (Flag290): Add missing terminating parenthesis. | |
439 | * einfo.adb (Is_Class_Wide_Clone): Use Flag290. | |
440 | (Set_Is_Class_Wide_Clone): Likewise. | |
441 | * einfo.ads (Is_Class_Wide_Clone): Likewise. | |
442 | ||
443 | 2017-05-02 Gary Dismukes <dismukes@adacore.com> | |
444 | ||
445 | * checks.ads (Null_Exclusion_Static_Checks): Add Boolean | |
446 | parameter Array_Comp to indicate the case of an array object | |
447 | with null-excluding components. | |
448 | * checks.adb (Null_Exclusion_Static_Checks): | |
449 | Call Compile_Time_Constraint_Error instead of | |
450 | Apply_Compile_Time_Constraint_Error in the component case. Also | |
451 | call that when Array_Comp is True, with an appropriate warning for | |
452 | the array component case. Only create an explicit initialization | |
453 | by null in the case of an object of a null-excluding access type | |
454 | (and no longer do that in the component case). | |
455 | * sem_ch3.adb (Check_Component): Add a Boolean parameter | |
456 | Array_Comp defaulted to False. Pass Empty for the Comp | |
457 | actual when calling Null_Exclusion_Static_Checks in the case | |
458 | where Comp_Decl matches Object_Decl, because we don't have a | |
459 | component in that case. In the case of an object or component | |
460 | of an array type, pass True for Array_Comp on the recursive call | |
461 | to Check_Component. | |
462 | ||
d86fb53f AC |
463 | 2017-05-02 Bob Duff <duff@adacore.com> |
464 | ||
465 | * s-taprop-linux.adb (Prio_To_Linux_Prio): New function to correctly | |
466 | compute the linux priority from the Ada priority. Call this everywhere | |
467 | required. In particular, the previous version was not doing this | |
468 | computation when setting the ceiling priority in various places. It | |
469 | was just converting to C.int, which results in a ceiling that is off | |
470 | by 1. | |
471 | ||
472 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
473 | ||
474 | * sem_ch3.adb: Comment predicate inheritance. | |
475 | ||
c5b4738f AC |
476 | 2017-05-02 Tristan Gingold <gingold@adacore.com> |
477 | ||
478 | * s-trasym.ads: Add comment. | |
479 | ||
480 | 2017-05-02 Bob Duff <duff@adacore.com> | |
481 | ||
482 | * sem_elab.adb, sem_elab.ads: Minor comment fixes. | |
483 | * sem_ch4.adb: Minor reformatting. | |
484 | * s-taprop-linux.adb, s-taspri-posix.ads: Code refactoring. | |
485 | * s-taspri-posix-noaltstack.ads: Minor refactoring. | |
486 | * sinput.ads: Minor typo fix. | |
487 | ||
488 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
489 | ||
490 | * exp_ch9.adb (Discriminated_Size): Moved to sem_util. | |
491 | * sem_util.ads, sem_util.adb (Discriminated_Size): Predicate moved | |
492 | here from exp_ch9, to recognize objects whose creation requires | |
493 | dynamic allocation, so that the proper warning can be emitted | |
494 | when restriction No_Implicit_Heap_Allocation is in effect. | |
495 | * sem_ch3.adb (Analyze_Object_Declaration): Use Discriminated_Size | |
496 | to emit proper warning when an object that requires dynamic | |
497 | allocation is declared. | |
498 | ||
05b95f63 TG |
499 | 2017-05-02 Tristan Gingold <gingold@adacore.com> |
500 | ||
501 | * s-trasym.ads, s-trasym.adb (Enable_Cache): New. | |
502 | ||
6fdc25c4 AC |
503 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> |
504 | ||
505 | * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): The same relaxed | |
506 | visibility rules for equality operators that apply within an | |
507 | instantiation apply within an inlined body. | |
508 | * sem_type.adb (Add_One_Interp): ditto. | |
509 | ||
510 | 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> | |
511 | ||
512 | * sem_prag.adb (Analyze_Pragma): Forbid pragma Contract_Cases on null | |
513 | procedures. | |
514 | ||
515 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> | |
516 | ||
517 | * snames.ads-tmpl | |
518 | (Name_Assume, Name_Attribute_Definition, Name_Loop_Optimize, | |
519 | Name_No_Tagged_Streams): Move to regular pragmas. Add | |
520 | placeholders for Default_Scalar_Storage_Order, Dispatching_Domain, | |
521 | and Secondary_Stack_Size. | |
522 | (Pragma_Id): Move Pragma_Assume, | |
523 | Pragma_Attribute_Definition, Pragma_Loop_Optimize and | |
524 | Pragma_No_Tagged_Streams to second part. | |
525 | ||
c0e938d0 AC |
526 | 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> |
527 | ||
528 | * exp_attr.adb: Minor reformatting. | |
529 | ||
530 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
531 | ||
532 | * sem_ch4.adb (Analyze_Selected_Component): Improve error | |
533 | detection for illegal references to private components or | |
534 | operations of a protected type in the body of the type. | |
535 | ||
99bba92c AC |
536 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> |
537 | ||
538 | * opt.ads: Add missing GNAT markers in comments. | |
539 | * opt.adb (Set_Opt_Config_Switches): Do not override earlier | |
540 | settings of Optimize_Alignment at the end. | |
541 | ||
542 | 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> | |
543 | ||
544 | * checks.adb (Apply_Constraint_Check): Do not apply | |
545 | a discriminant check when the associated type is a constrained | |
546 | subtype created for an unconstrained nominal type. | |
547 | * exp_attr.adb: Minor reformatting. | |
548 | ||
549 | 2017-05-02 Bob Duff <duff@adacore.com> | |
550 | ||
551 | * sem_ch3.adb (OK_For_Limited_Init_In_05): Handle correctly | |
552 | the N_Raise_Expression case. | |
553 | * sem_ch6.adb (Check_Limited_Return): Minor: clarify comment, | |
554 | and add assertions. | |
555 | ||
556 | 2017-05-02 Yannick Moy <moy@adacore.com> | |
557 | ||
558 | * exp_ch4.adb (Expand_N_Op_Ne): Do not bump parenthese level and | |
559 | optimize length comparison in GNATprove mode. | |
560 | * exp_spark.adb (Expand_SPARK_Op_Ne): New function to rewrite | |
561 | operator /= into negation of operator = when needed. | |
562 | (Expand_SPARK): Call new | |
563 | function to expand operator /=. | |
564 | ||
565 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
566 | ||
567 | * exp_fixd.adb (Expand_Divide_Fixed_By_Fixed_Giving_Fixed): | |
568 | Simplify the expression for a fixed-fixed division to remove | |
569 | divisions by constants whenever possible, as an optimization | |
570 | for restricted targets. | |
571 | ||
31e358e1 AC |
572 | 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> |
573 | ||
574 | * checks.adb, sem_ch3.adb, sem_ch6.adb: Minor reformatting. | |
575 | ||
576 | 2017-05-02 Bob Duff <duff@adacore.com> | |
577 | ||
578 | * exp_attr.adb (Callable, Identity, Terminated): Use Find_Prim_Op | |
579 | to find primitive ops, instead of using an Identifier that will | |
580 | later be looked up. This is necessary because these ops are not | |
581 | necessarily visible at all places where we need to call them. | |
582 | * exp_util.ads: Minor comment fix. | |
583 | ||
d59179b1 AC |
584 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> |
585 | ||
586 | * sem_ch6.adb (Fully_Conformant_Expressions): Two entity | |
587 | references are fully conformant if they are both expansions | |
588 | of the discriminant of a protected type, within one of the | |
589 | protected operations. One occurrence may be expanded into a | |
590 | constant declaration while the other is an input parameter to | |
591 | the corresponding generated subprogram. | |
592 | ||
593 | 2017-05-02 Justin Squirek <squirek@adacore.com> | |
594 | ||
595 | * sem_ch3.adb (Check_For_Null_Excluding_Components): Created for | |
596 | recursivly searching composite-types for null-excluding access | |
597 | types and verifying them. | |
598 | (Analyze_Object_Declaration): Add a | |
599 | call to Check_Null_Excluding_Components for static verification | |
600 | of non-initialized objects. | |
601 | * checks.adb, checks.ads (Null_Exclusion_Static_Checks): Added | |
602 | a parameter for a composite-type's component and an extra case | |
603 | for printing component information. | |
604 | ||
605 | 2017-05-02 Yannick Moy <moy@adacore.com> | |
606 | ||
607 | * sem_ch10.adb (Analyze_Subunit): Take | |
608 | configuration pragma into account when restoring appropriate | |
609 | pragma for analysis of subunit. | |
610 | ||
611 | 2017-05-02 Justin Squirek <squirek@adacore.com> | |
612 | ||
613 | * s-tasren.adb, s-tasini.adb, s-taprop-linux.adb, | |
614 | s-mudido-affinity.adb,, a-exetim-posix.adb, a-direio.adb, | |
615 | g-socket.adb, s-taenca.adb, s-fileio.adb: Remove unused use-type | |
616 | clauses from the runtime. | |
617 | ||
42fe76e0 AC |
618 | 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> |
619 | ||
620 | * freeze.adb (Check_Component_Storage_Order): Do not treat bit-packed | |
621 | array components specially. | |
622 | ||
623 | 2017-05-02 Ed Schonberg <schonberg@adacore.com> | |
624 | ||
625 | * sem_ch8.adb (Premature_Usage): If the premature usage of | |
626 | an entity is as the expression in its own object decaration, | |
627 | rewrite the reference as Any_Id to prevent cascaded errors or | |
628 | compiler loops when such an entity is used in an address clause. | |
629 | ||
f16b9dc2 EB |
630 | 2017-05-01 Eric Botcazou <ebotcazou@adacore.com> |
631 | ||
632 | * gcc-interface/decl.c (components_to_record): Add missing guard. | |
633 | ||
0a69d9bd EB |
634 | 2017-05-01 Eric Botcazou <ebotcazou@adacore.com> |
635 | ||
636 | * gcc-interface/decl.c (components_to_record): Add more comments. | |
637 | Put back pending fields onto the regular list if the misalignment | |
638 | happens to cancel itself. | |
639 | ||
40b4bc2d AC |
640 | 2017-04-28 Ed Schonberg <schonberg@adacore.com> |
641 | ||
642 | * sem_ch4.adb (Complete_Object_Operation): When rewriting the | |
643 | controlling actual in a prefixed call, preserve the original node | |
644 | information if the prefix itself has been rewritten, for ASIS use. | |
645 | ||
646 | 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> | |
647 | ||
648 | * exp_ch6.adb (Insert_Post_Call_Actions): | |
649 | Code clean up. Insert the post-call actions after an enclosing | |
650 | procedure call when N denotes a function call and appears as an | |
651 | actual parameter in the procedure call. | |
652 | ||
653 | 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> | |
654 | ||
655 | * freeze.adb (Check_Component_Storage_Order): If there is a clause | |
656 | for the component, also reject the attribute if the component | |
657 | doesn't end on a byte boundary and its scalar storage order is | |
658 | different from that of the enclosing record type. | |
659 | ||
66c19cd4 AC |
660 | 2017-04-28 Javier Miranda <miranda@adacore.com> |
661 | ||
662 | * atree.ads (Info_Messages): Removed. | |
663 | (Warning_Info_Messages): New counter. | |
664 | (Report_Info_Messages): New counter. | |
665 | * err_vars.ads Update documentation. | |
666 | * errout.adb (Delete_Warning_And_Continuations): Update | |
667 | Info_Message occurrences. | |
668 | (Error_Msg_Internal): Update Info_Message occurrences. | |
669 | (Delete_Warning): Update Info_Message occurrences. | |
670 | (Write_Error_Summary): Update Info_Message occurrences. | |
671 | (Output_Messages): Update Info_Message occurrences. | |
672 | (To_Be_Removed): Update Info_Message occurrences. | |
673 | (Reset_Warnings): Update Info_Message occurrences. | |
674 | * errutil.adb (Error_Msg): Update Info_Message occurrences. | |
675 | (Finalize): Update Info_Message occurrences. | |
676 | (Initialize): Update Info_Message occurrences. | |
677 | * erroutc.adb (Delete_Msg): Update Info_Message occurrences. | |
678 | (Compilation_Errors): Update Info_Message_Occurences. | |
679 | ||
680 | 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> | |
681 | ||
682 | * exp_ch3.adb (Build_Init_Statements): Likewise on Nam. | |
683 | * freeze.adb (Check_Component_Storage_Order): And on Comp_Byte_Aligned. | |
684 | * sem_aggr.adb (Resolve_Record_Aggregate): Initialize Box_Node. | |
685 | * sem_attr.adb (Loop_Entry): Initialize Encl_Loop. | |
686 | * sem_ch12.adb (Build_Operator_Wrapper): Add pragma Warnings on Expr. | |
687 | * sem_ch13.adb (Validate_Address_Clauses): Initialize Y_Alignment and | |
688 | Y_Size. | |
689 | * sem_eval.adb (Why_Not_Static): Initialize Typ. | |
690 | * sem_prag.adb (Analyze_Pragma): Add pragma Warnings on Str. | |
691 | ||
85be939e AC |
692 | 2017-04-28 Bob Duff <duff@adacore.com> |
693 | ||
694 | * sem_util.ads, sem_util.adb (Might_Raise): New function | |
695 | that replaces Is_Exception_Safe, but has the opposite | |
696 | sense. Is_Exception_Safe was missing various cases -- calls inside | |
697 | a pragma Debug, calls inside an 'if' or assignment statement, | |
698 | etc. Might_Raise now walks the entire subtree looking for things | |
699 | that can raise. | |
700 | * exp_ch9.adb (Is_Exception_Safe): Remove. | |
701 | (Build_Protected_Subprogram_Body): Replace call to | |
702 | Is_Exception_Safe with "not Might_Raise". Misc cleanup (use | |
703 | constants where possible). | |
704 | * exp_ch7.adb: Rename Is_Protected_Body --> | |
705 | Is_Protected_Subp_Body. A protected_body is something different | |
706 | in the grammar. | |
707 | ||
708 | 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> | |
709 | ||
710 | * inline.adb (Expand_Inlined_Call): Initialize Targ1 variable. | |
711 | * par-ch3.adb (P_Component_Items): Initialize Decl_Node variable. | |
712 | (P_Discrete_Choice_List): Initialize Expr_Node variable. | |
713 | * par-ch9.adb (P_Task): Initialize Aspect_Sloc variable. | |
714 | (P_Protected): Likewise. | |
715 | * sem_case.adb (Check_Duplicates): | |
716 | Add pragma Warnings on variable. | |
717 | * sem_ch12.adb (Preanalyze_Actuals): Initialize Vis variable. | |
718 | * sem_ch4.adb (List_Operand_Interps): Add pragma Warnings on variable. | |
719 | * sem_ch5.adb (Analyze_Assignment): Initialize Save_Full_Analysis. | |
720 | (Analyze_Exit_Statement): Initialize Scope_Id variable. | |
721 | (Analyze_Iterator_Specification): Initialize Bas variable. | |
722 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Initialize | |
723 | Error_Count (Satisfies_Lock_Free_Requirements): Likewise. | |
724 | (Analyze_Accept_Statement): Initialize Task_Nam. | |
725 | ||
726 | 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> | |
727 | ||
728 | * checks.adb (Install_Primitive_Elaboration_Check): | |
729 | Do not generate an elaboration check if all checks have been | |
730 | suppressed. | |
731 | ||
732 | 2017-04-28 Ed Schonberg <schonberg@adacore.com> | |
733 | ||
734 | * sem_ch13.adb (Analyze_Aspect_Specifications, case | |
735 | Interrupt_Handler and Attach_Handler): Generate reference | |
736 | to protected operation to prevent spurious warnings about | |
737 | unreferenced entities. Previous scheme failed with style checks | |
738 | enabled. | |
739 | ||
740 | 2017-04-28 Ed Schonberg <schonberg@adacore.com> | |
741 | ||
742 | * sem_prag.adb (Relocate_Pragmas_To_Body): A pragma Warnings | |
743 | that follows an expression function must not be relocated to | |
744 | the generated body, because it applies to the code that follows. | |
745 | ||
99f8abb6 AC |
746 | 2017-04-28 Gary Dismukes <dismukes@adacore.com> |
747 | ||
748 | * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test | |
749 | Relaxed_RM_Semantics to avoid having CodePeer issue errors on | |
750 | code that might violate the more stringent checking for 'Access | |
751 | introduced in Ada 2005. | |
752 | ||
753 | 2017-04-28 Arnaud Charlet <charlet@adacore.com> | |
754 | ||
755 | * a-cforse.adb: minor style fix in comment. | |
756 | ||
1f8766d3 AC |
757 | 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> |
758 | ||
759 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Also | |
760 | initialize Block_Decls variable. | |
761 | (Expand_Entry_Barrier): Add pragma Warnings on Func_Body variable. | |
762 | (Build_Dispatching_Requeue): Add pragma Warnings on Op variable. | |
763 | * exp_disp.adb (Expand_Interface_Actuals): Initialize | |
764 | Formal_DDT and Actual_DDT variables. | |
765 | (Expand_Interface_Thunk): Initialize Iface_Formal. | |
766 | (Make_DT): Initialize Size_Comp. | |
767 | (Make_Select_Specific_Data_Table): Initialize Decls. | |
768 | * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): | |
769 | Also initialize more RPC_Receiver_* variables. | |
770 | (Build_To_Any_Function): Initialize Cstr_Formal. | |
771 | * exp_prag.adb (Expand_Pragma_Contract_Cases): Initialize Msg_Str. | |
772 | ||
773 | 2017-04-28 Ed Schonberg <schonberg@adacore.com> | |
774 | ||
775 | * sem_ch6.adb (Freeze_Type_Refs): For an interface conversion | |
776 | node between access types, freeze the designated type as well, | |
777 | so that dispatch table pointers are created in the proper scope, | |
778 | and not in the constructed body of the expression function. | |
779 | ||
780 | 2017-04-28 Bob Duff <duff@adacore.com> | |
781 | ||
782 | * alloc.ads (Nodes_Initial): Go back to previous value. The large | |
783 | value makes large compilations faster, but small compilations slower. | |
784 | ||
785 | 2017-04-28 Arnaud Charlet <charlet@adacore.com> | |
786 | ||
787 | * sem_util.adb: minor typos in Is_Child_Or_Sibling. | |
788 | ||
789 | 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> | |
790 | ||
791 | * erroutc.adb (Compilation_Errors): Do not consider info messages | |
792 | as suitable warnings when warnings must be treated as errors. | |
793 | * sem_ch7.adb (Analyze_Package_Specification): Do not consider | |
794 | internally-generated packages when outputting completion | |
795 | information. | |
796 | * errout.adb (Output_Messages): Do not consider info messages as | |
797 | suitable warnings when warnings must be treated as errors. | |
798 | * errutil.adb (Finalize): Do not consider info messages as | |
799 | suitable warnings when warnings must be treated as errors. | |
800 | ||
1f8766d3 AC |
801 | 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> |
802 | ||
803 | * warnsw.ads: Minor fix for incorrect wording in comment. | |
804 | ||
805 | 2017-04-28 Ed Schonberg <schonberg@adacore.com> | |
806 | ||
807 | * sem_res.adb (In_Instance_Code): New predicate in | |
808 | Valid_Conversion, to determine whether a type conversion appears | |
809 | as (or within) an actual for a formal object. Type conversions | |
810 | in instances are not rechecked in Valid_Conversion because | |
811 | visibility changes between generic location andi instance may | |
812 | lead to spurious errors, but conversions within an actual must be | |
813 | fully checked, and they are not fully resolved when pre-analyzing | |
814 | the actuals. | |
815 | ||
d5fa5335 HK |
816 | 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> |
817 | ||
818 | * exp_ch6.adb (Expand_N_Extended_Return_Statement): Use | |
819 | New_Copy_Tree instead of Relocate_Node as any subsequent copies | |
820 | of the relocated node will have mangled Parent pointers. | |
821 | * sem_util.adb (Build_NCT_Hash_Tables): Reset both hash | |
822 | tables used in conjunction with entity and itype replication. | |
823 | (Visit_Entity): Rewrite the restriction on which entities | |
824 | require duplication. The restriction now includes all types. | |
825 | ||
826 | 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> | |
827 | ||
828 | * a-cofuse.ads, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfinve.adb, | |
829 | a-cfinve.ads, a-cforma.adb, a-cforma.ads, a-cofuma.adb, a-cofuma.ads, | |
830 | a-cfhama.adb, a-cfhama.ads, a-cforse.adb: Minor reformatting and code | |
831 | cleanups. | |
832 | ||
ef952fd5 HK |
833 | 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> |
834 | ||
835 | * exp_util.adb, g-dyntab.adb, par-ch4.adb, sem_util.adb, sem_attr.adb, | |
836 | gnat1drv.adb, exp_disp.adb, namet.adb, alloc.ads: Minor reformatting. | |
837 | ||
dc99d241 | 838 | 2017-04-28 Gary Dismukes <dismukes@adacore.com> |
e6326de5 AC |
839 | |
840 | * exp_util.adb: Minor reformatting. | |
841 | ||
dc99d241 | 842 | 2017-04-28 Ed Schonberg <schonberg@adacore.com> |
e6326de5 AC |
843 | |
844 | * sem_ch4.adb: Fix copy/pasto. | |
845 | ||
a96eb6f2 TG |
846 | 2017-04-27 Tristan Gingold <gingold@adacore.com> |
847 | ||
848 | * gcc-interface/Make-lang.in: Define EH_MECHANISM while building | |
849 | raise-gcc.c. Fix include search path for raise-gcc.c | |
850 | ||
8ab31c0c AC |
851 | 2017-04-27 Eric Botcazou <ebotcazou@adacore.com> |
852 | ||
853 | * fe.h (Warn_On_Questionable_Layout): Declare. | |
854 | * warnsw.ads (Warn_On_Record_Holes): Move down. | |
855 | (Warn_On_Questionable_Layout): New boolean variable. | |
856 | (Warning_Record): Add Warn_On_Questionable_Layout field. | |
857 | * warnsw.adb (All_Warnings): Set Warn_On_Questionable_Layout. | |
858 | (Restore_Warnings): Likewise. | |
859 | (Save_Warnings): Likewise. | |
860 | (Set_Dot_Warning_Switch): Handle 'q' and 'Q' letters. | |
861 | * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to | |
862 | components_to_record. | |
863 | (gnu_field_to_gnat): New function. | |
864 | (warn_on_field_placement): Likewise. | |
865 | (components_to_record): Add GNAT_RECORD_TYPE and remove REORDER | |
866 | parameters. Rename local variables and adjust recursive call. | |
867 | Rework final scan of the field list and implement warnings on the | |
868 | problematic placement of specific sorts of fields. | |
869 | ||
870 | 2017-04-27 Bob Duff <duff@adacore.com> | |
871 | ||
872 | * errout.adb, exp_aggr.adb, exp_attr.adb, exp_code.adb, fname.adb, | |
873 | * fname.ads, freeze.adb, inline.adb, lib.adb, lib.ads, lib-list.adb, | |
874 | * lib-load.adb, lib-writ.adb, par.adb, restrict.adb, rtsfind.adb, | |
875 | * sem.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, | |
876 | * sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb, | |
877 | * sem_intr.adb, sem_res.adb, sem_util.adb, sem_warn.adb, sprint.adb: | |
878 | For efficiency, cache results of Is_Internal_File_Name and | |
879 | Is_Predefined_File_Name in the Units table. This avoids a lot | |
880 | of repeated text processing. | |
881 | ||
882 | 2017-04-27 Emmanuel Briot <briot@adacore.com> | |
883 | ||
884 | * g-comlin.adb (Sort_Sections): remove useless test. | |
885 | ||
886 | 2017-04-27 Claire Dross <dross@adacore.com> | |
887 | ||
888 | * a-cfhase.adb, a-cfhase.ads (=): Generic parameter removed to | |
889 | allow the use of regular equality over elements in contracts. | |
890 | (Formal_Model): Ghost package containing model functions that are | |
891 | used in subprogram contracts. | |
892 | (Current_To_Last): Removed, model functions should be used instead. | |
893 | (First_To_Previous): Removed, model functions should be used instead. | |
894 | (Strict_Equal): Removed, model functions should be used instead. | |
895 | (No_Overlap): Removed, model functions should be used instead. | |
896 | (Equivalent_Keys): Functions over cursors are removed. They were | |
897 | awkward with explicit container parameters. | |
898 | * a-cforse.adb, a-cforse.ads (=): Generic parameter removed to | |
899 | allow the use of regular equality over elements in contracts. | |
900 | (Formal_Model): Ghost package containing model functions that | |
901 | are used in subprogram contracts. | |
902 | (Current_To_Last): Removed, model functions should be used instead. | |
903 | (First_To_Previous): Removed, model functions should be used instead. | |
904 | (Strict_Equal): Removed, model functions should be used instead. | |
905 | (No_Overlap): Removed, model functions should be used instead. | |
906 | ||
907 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
908 | ||
909 | * gnat1drv.adb: Code cleanup. | |
910 | ||
911 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
912 | ||
913 | * exp_util.adb (Replace_Entity): The prefix of a 'Result | |
914 | attribute reference in a post- condition is the subprogram to | |
915 | which the condition applies. If the condition is inherited | |
916 | by a type extension, the prefix becomes a reference to the | |
917 | inherited operation, but there is no need to create a wrapper | |
918 | for this operation, because 'Result is expanded independently | |
919 | when elaborating the postconditions. | |
920 | ||
a2168462 BD |
921 | 2017-04-27 Bob Duff <duff@adacore.com> |
922 | ||
923 | * sinput.adb: Minor code cleanup. | |
924 | * namet.adb (Append): Create faster versions of | |
925 | Append(String) and Append(Name_Id) by using slice assignment | |
926 | instead of loops. | |
927 | * sem_util.adb (In_Instance): Speed this up by removing | |
928 | unnecessary tests; Is_Generic_Instance is defined for all | |
929 | entities. | |
930 | * sem_util.ads, sem_util.adb (In_Parameter_Specification): | |
931 | Remove unused function. | |
932 | * alloc.ads (Nodes_Initial): Use a much larger value, because | |
933 | the compiler was spending a lot of time copying the nodes table | |
934 | when it grows. This number was chosen in 1996, so is rather out | |
935 | of date with current memory sizes. Anyway, it's virtual memory. | |
936 | Get rid of Orig_Nodes_...; use Node_... instead. | |
937 | * atree.adb (Lock): Do not release the Nodes tables; it's a | |
938 | waste of time. | |
939 | Orig_Nodes_ ==> Nodes_ | |
940 | * nlists.adb: Orig_Nodes_ ==> Nodes_ | |
941 | * g-table.adb: Remove unused "with" clause. | |
942 | * g-table.ads, table.ads: Remove Big_Table_Type, which should | |
943 | not be used by clients. | |
944 | * g-dyntab.adb (Last_Allocated): New function | |
945 | to encapsulate T.P.Last_Allocated, which I'm thinking of changing. | |
946 | ||
304757d2 AC |
947 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
948 | ||
949 | * sem_eval.adb (Subtypes_Statically_Compatible): Remove duplicated | |
950 | check. | |
951 | (Subtypes_Statically_Match): Remove duplicate check. | |
952 | * sem_prag.adb (Check_Arg_Is_External_Name): Remove duplicate check. | |
953 | ||
954 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
955 | ||
956 | * exp_aggr.adb (Replace_Type): Remove the special processing | |
957 | for selected components. | |
958 | * exp_attr.adb (Expand_N_Attribute_Reference): Merge the | |
959 | processing for attributes Fixed_Value and Integer_Value. | |
960 | * exp_util.adb (Side_Effect_Free): Merge the processing for | |
961 | qualified expressions, type conversions, and unchecked type | |
962 | conversions. | |
963 | * g-comlin.adb (Is_In_Config): Merge the processing for No_Space | |
964 | and Optional. | |
965 | * par-ch3.adb (P_Declarative_Items): Merge the processing for | |
966 | tokens function, not, overriding, and procedure. | |
967 | * sem_ch6.adb (Fully_Conformant_Expressions): Merge the processing | |
968 | for qualified expressions, type conversions, and unchecked | |
969 | type conversions. | |
970 | * sem_util.adb (Compile_Time_Constraint_Error): Merge the | |
971 | processing for Ada 83 and instances. | |
972 | (Object_Access_Level): Merge the processing for indexed components | |
973 | and selected components. | |
974 | * uname.adb (Add_Node_Name): Merge the processing for stubs. | |
975 | ||
976 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
977 | ||
978 | * checks.adb (Install_Primitive_Elaboration_Check): | |
979 | Do not generate the check when restriction No_Elaboration_Code | |
980 | is in effect. | |
981 | ||
982 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
983 | ||
984 | * exp_disp.adb (Build_Class_Wide_Check): New subsidiary | |
985 | of Expand_Dispatching_Call. If the denoted subprogram has a | |
986 | class-wide precondition, this is the only precondition that | |
987 | applies to the call, rather that the class-wide preconditions | |
988 | that may apply to the body that is executed. (This is specified | |
989 | in AI12-0195). | |
990 | ||
bfc37f37 AC |
991 | 2017-04-27 Yannick Moy <moy@adacore.com> |
992 | ||
993 | * gnat1drv.adb (Adjust_Global_Switches): Issue | |
994 | a warning in GNATprove mode if the runtime library does not | |
995 | support IEEE-754 floats. | |
996 | ||
997 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
998 | ||
999 | * sem_prag.adb (Inherit_Class_Wide_Pre): If the parent operation | |
1000 | is itself inherited it does not carry any contract information, | |
1001 | so examine its parent operation which is its Alias. | |
1002 | ||
9dd8f36f AC |
1003 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> |
1004 | ||
1005 | * sem_attr.adb (Analyze_Attribute, case 'Image): In Ada2012 the | |
1006 | prefix can be an object reference in which case Obj'Image (X) | |
1007 | can only be interpreted as an indexing of the parameterless | |
1008 | version of the attribute. | |
1009 | * par-ch4.adb (P_Name): An attribute reference can be the prefix of | |
1010 | an indexing or a slice operation if the attribute does not require | |
1011 | parameters. In Ada2012 'Image also belongs in this category, | |
1012 | and A'Image (lo .. hi) is legal and must be parsed as a slice. | |
1013 | ||
1014 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1015 | ||
1016 | * exp_ch4.adb: Minor reformatting. | |
1017 | * gnat1drv.adb (Adjust_Global_Switches): When in GNATprove mode, | |
1018 | disable the CodePeer and C generation modes. Similar to the | |
1019 | opposite actions done in CodePeer mode. | |
1020 | ||
7327f5c2 AC |
1021 | 2017-04-27 Yannick Moy <moy@adacore.com> |
1022 | ||
1023 | * sem_res.adb: Remove duplicate code. | |
1024 | * sem_attr.adb: Delete duplicate code. | |
1025 | ||
1026 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1027 | ||
1028 | * g-dyntab.adb: Reduce the amount of copying in | |
1029 | Release. No need to copy items past Last. | |
1030 | ||
1031 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1032 | ||
1033 | * checks.adb Add with and use clauses for Sem_Disp. | |
1034 | (Install_Primitive_Elaboration_Check): New routine. | |
1035 | * checks.ads (Install_Primitive_Elaboration_Check): New routine. | |
1036 | * exp_attr.adb (Expand_N_Attribute_Reference): Clean up the | |
1037 | processing of 'Elaborated. | |
1038 | * exp_ch6.adb (Expand_N_Subprogram_Body): Install a primitive | |
1039 | elaboration check. | |
1040 | ||
7494697b BD |
1041 | 2017-04-27 Bob Duff <duff@adacore.com> |
1042 | ||
1043 | * g-dyntab.ads, g-dyntab.adb, g-table.ads: Remove incorrect assertion. | |
1044 | If the table grows and then shrinks back to empty, we won't necessarily | |
1045 | point back to the empty array. Code cleanups. | |
1046 | * sinput.ads: Add 'Base to Size clause to match the declared | |
1047 | component subtypes. | |
1048 | ||
f2acfbce CD |
1049 | 2017-04-27 Claire Dross <dross@adacore.com> |
1050 | ||
1051 | * a-cforma.adb, a-cforma.ads (=): Generic parameter removed to | |
1052 | allow the use of regular equality over elements in contracts. | |
1053 | (Formal_Model): Ghost package containing model functions that | |
1054 | are used in subprogram contracts. | |
1055 | (Current_To_Last): Removed, model functions should be used instead. | |
1056 | (First_To_Previous): Removed, model functions should be used instead. | |
1057 | (Strict_Equal): Removed, model functions should be used instead. | |
1058 | (No_Overlap): Removed, model functions should be used instead. | |
1059 | * a-cofuma.adb, a-cofuma.ads (Enable_Handling_Of_Equivalence) | |
1060 | Boolean generic parameter to disable contracts for equivalence | |
1061 | between keys. | |
1062 | (Witness): Create a witness of a key that is used for handling of | |
1063 | equivalence between keys. | |
1064 | (Has_Witness): Check whether a witness is contained in a map. | |
1065 | (W_Get): Get the element associated to a witness. | |
1066 | (Lift_Equivalent_Keys): Removed, equivalence between keys is handled | |
1067 | directly. | |
1068 | * a-cofuse.adb, a-cofuse.ads (Enable_Handling_Of_Equivalence) | |
1069 | Boolean generic parameter to disable contracts for equivalence | |
1070 | between keys. | |
1071 | * a-cfhama.adb, a-cfhama.ads (Formal_Model.P) Disable handling | |
1072 | of equivalence on functional maps. | |
1073 | * a-cfdlli.adb, a-cfdlli.ads (Formal_Model.P) Disable handling | |
1074 | of equivalence on functional maps. | |
1075 | ||
3b2249aa HK |
1076 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1077 | ||
1078 | * exp_ch9.adb (Expand_Entry_Barrier): Code | |
1079 | cleanup. Do not perform the optimization which removes the | |
1080 | declarations of the discriminant and component renamings when | |
1081 | validity checks on operands and attributes are in effect. | |
1082 | ||
1083 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1084 | ||
1085 | * exp_spark.adb, exp_util.adb, sem_ch7.adb, g-dyntab.adb, g-dyntab.ads, | |
1086 | freeze.adb, a-cfinve.ads, a-cofuma.adb, a-cofuma.ads, a-cfhama.adb, | |
1087 | a-cfhama.ads, a-cofove.ads: Minor reformatting. | |
1088 | ||
1089 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1090 | ||
1091 | * g-debpoo.adb (Dump_Gnatmem): Protect against a possible null | |
1092 | pointer dereference. | |
1093 | * g-spipat.adb (Dump): Code clean up. Protect against a possible | |
1094 | null pointer dereference. | |
1095 | ||
a3ef4e65 BD |
1096 | 2017-04-27 Bob Duff <duff@adacore.com> |
1097 | ||
1098 | * g-dyntab.ads, g-dyntab.adb: Default for Table_Low_Bound. | |
1099 | Rename Empty --> Empty_Table_Ptr, and don't duplicate code for it. | |
1100 | Free renames Init, since they do the same thing. | |
1101 | * g-table.ads: Default for Table_Low_Bound. | |
1102 | * table.ads: Default for Table_Low_Bound, Table_Initial, and | |
1103 | Table_Increment. | |
1104 | ||
de33eb38 AC |
1105 | 2017-04-27 Bob Duff <duff@adacore.com> |
1106 | ||
1107 | * g-dyntab.ads, g-dyntab.adb: Add assertions to subprograms that | |
1108 | can reallocate. | |
1109 | * atree.adb, elists.adb, fname-uf.adb, ghost.adb, inline.adb, | |
1110 | * lib.adb, namet.adb, nlists.adb, sem.adb, sinput.adb, stringt.adb: | |
1111 | Reorder code so that above assertions do not fail. | |
1112 | * table.ads: Remove obsolete comment on Locked. | |
1113 | ||
1114 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1115 | ||
1116 | * a-cfdlli.ads: Code cleanup. | |
1117 | ||
1118 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1119 | ||
1120 | * exp_spark.adb (Expand_SPARK_Freeze_Type): Build a DIC procedure | |
1121 | when needed for proof. (Expand_SPARK): Call the new procedure. | |
1122 | * exp_util.ads Fix typo. | |
1123 | ||
1124 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
1125 | ||
1126 | * a-cofuma.ads, a-cfhama.ads: Minor reformatting, grammar, and typo | |
1127 | fixes. | |
1128 | ||
a6d25cad AC |
1129 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1130 | ||
1131 | * sem_elab.adb Add new type Visited_Element | |
1132 | and update the contents of table Elab_Visited. Various code clean up. | |
1133 | (Check_Elab_Call): Determine whether a prior call to | |
1134 | the same subprogram was already examined within the same context. | |
1135 | (Check_Internal_Call_Continue): Register the subprogram being | |
1136 | called as examined within a particular context. Do not suppress | |
1137 | elaboration warnings. | |
1138 | ||
1139 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
1140 | ||
1141 | * xoscons.adb, osint.ads: Minor reformatting. | |
1142 | ||
1143 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1144 | ||
1145 | * g-dyntab.ads, g-dyntab.adb: Misc cleanup. Rename | |
1146 | Table_Count_Type --> Table_Last_Type, because the name | |
1147 | was confusing (a "count" usually starts at zero). Add | |
1148 | functionality supported or needed by other tables packages | |
1149 | (Move, Release_Threshold). | |
1150 | * g-table.ads, g-table.adb: This is now just a thin wrapper | |
1151 | around g-dyntab.ads/g-dyntab.adb. Add functionality supported | |
1152 | or needed by other tables packages (Save, Restore). | |
1153 | * table.ads, table.adb: This is now just a thin wrapper around | |
1154 | * g-table.ads/g-table.adb. | |
1155 | * namet.h, scos.h, uintp.h: These files are reaching into the | |
1156 | private data of some instances of g-table, whose names changed, | |
1157 | so the above change requires some adjustment here. It now uses | |
1158 | public interfaces. | |
1159 | ||
1160 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1161 | ||
1162 | * namet.adb, namet.ads: Minor: remove unused procedures. | |
1163 | ||
1164 | 2017-04-27 Eric Botcazou <ebotcazou@adacore.com> | |
1165 | ||
1166 | * checks.adb (Apply_Scalar_Range_Check): Initialize Ok variable too. | |
1167 | (Minimize_Eliminate_Overflows): Initialize Llo and Lhi. | |
1168 | Add pragma Warnings on Rtype variable in nested block. * | |
1169 | * exp_ch3.adb (Build_Init_Statements): Initialize VAR_LOC. | |
1170 | * exp_ch4.adb (Expand_Concatenate): Initialize 3 variables. | |
1171 | (Size_In_Storage_Elements): Add pragma Warnings on Res variable. | |
1172 | * exp_ch7.adb (Build_Adjust_Statements): Initialize Bod_Stmts. | |
1173 | (Process_Component_List_For_Finalize): Initialize Counter_Id. | |
1174 | (Build_Finalize_Statements): Initialize Bod_Stmts. | |
1175 | * exp_disp.adb (Expand_Dispatching_Call): Initialize SCIL_Node. | |
1176 | ||
1177 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1178 | ||
1179 | * a-cfhama.adb, a-cfhamai.ads (=): Generic parameter removed to | |
1180 | allow the use of regular equality over elements in contracts. | |
1181 | (Formal_Model): Ghost package containing model functions that are | |
1182 | used in subprogram contracts. | |
1183 | (Current_To_Last): Removed, model | |
1184 | functions should be used instead. | |
1185 | (First_To_Previous): Removed, model functions should be used instead. | |
1186 | (Strict_Equal): Removed, model functions should be used instead. | |
1187 | (No_Overlap): Removed, model functions should be used instead. | |
1188 | (Equivalent_Keys): Functions over cursors are removed. They were | |
1189 | awkward with explicit container parameters. | |
1190 | * a-cofuma.adb, a-cofuma.ads (Lift_Equivalent_Keys): New lemma | |
1191 | (proof only) procedure to help GNATprove when equivalence over | |
1192 | keys is not equality. | |
1193 | ||
27eaddda HK |
1194 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1195 | ||
1196 | * exp_util.adb, a-cfdlli.adb, a-cfdlli.ads, exp_ch9.adb, g-dyntab.adb, | |
1197 | sem_dim.adb, a-cfinve.adb, a-cfinve.ads, a-cofove.adb, a-cofove.ads: | |
1198 | Minor reformatting and code cleanups. | |
1199 | ||
6dd86c75 AC |
1200 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> |
1201 | ||
1202 | * freeze.adb (Build_Inherited_Condition_Pragmas): New procedure, | |
1203 | subsidiary of Check_Inherited_Conditions, to build pragmas for an | |
1204 | operation whose ancestor has classwide pre/postconditions. This | |
1205 | is used both to check the legality of the inheritance in Ada | |
1206 | and in SPARK, and to determine whether a wrapper is needed for | |
1207 | an inherited operation. | |
1208 | * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): | |
1209 | Improve placement of error message for inherited classwide | |
1210 | conditions that become illegal on type derivation. | |
1211 | ||
1212 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1213 | ||
1214 | * sem_ch12.adb (Analyze_Generic_Package_Declaration): Set | |
1215 | SPARK_Mode from context on generic package. | |
1216 | * sem_ch7.adb (Analyze_Package_Declaration): Simplify code to remove | |
1217 | useless test. | |
1218 | ||
1219 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1220 | ||
1221 | * a-cofuve.ads (Range_Shifted): Rewrite precondition to avoid | |
1222 | overflows in computations. | |
1223 | * a-cofove.ads (Capacity_Range): Rewrite last bound to avoid | |
1224 | overflows in computations. | |
1225 | (Insert): Rewrite precondition to avoid overflows in computations. | |
1226 | * a-cfinve.ads (Capacity_Range): Rewrite last bound to avoid | |
1227 | overflows in computations. | |
1228 | (Insert): Rewrite precondition to avoid overflows in computations. | |
1229 | ||
f2474523 AC |
1230 | 2017-04-27 Steve Baird <baird@adacore.com> |
1231 | ||
1232 | * exp_ch9.adb (Expand_N_Asynchronous_Select): Initialize the Cancel | |
1233 | flag when it is declared in order to avoid confusing CodePeer about | |
1234 | the possibility of an uninitialized variable read. | |
1235 | ||
1236 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1237 | ||
1238 | * sem_dim.adb (Analyze_Dimension_Object_Declaration): There is | |
1239 | no dimensionality error if the subtype of the expression is | |
1240 | identical to the nominal subtype in the declaration, even though | |
1241 | the expression itself may have been constant-folded and lack a | |
1242 | dimension vector. | |
1243 | * sem_dim.ads: Add comments on setting of dimension vectors and | |
1244 | its interaction with node rewritings and side-effect removal. | |
1245 | ||
1246 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1247 | ||
1248 | * debug.adb: Minor comment correction. | |
1249 | * sem_dim.ads: Minor reformatting and typo fixes. | |
1250 | ||
1251 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1252 | ||
1253 | * g-table.adb, g-table.adsa, scos.h: From the C side, access First and | |
1254 | Last of the tables via function calls, rather than relying on layout | |
1255 | of data structures. | |
1256 | ||
1257 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1258 | ||
1259 | * exp_util.adb: No wrapper in GNATprove mode. | |
1260 | ||
1261 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1262 | ||
1263 | * sem_res.adb (Resolve_Comparison_Op): Always | |
1264 | evaluate comparisons between values of universal types. | |
1265 | ||
1266 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1267 | ||
1268 | * sem_elab.adb (Check_Internal_Call_Continue): Do not generate | |
1269 | an elaboration counter nor a check when in GNATprove mode. | |
1270 | * sem_util.adb (Build_Elaboration_Entity): Do not create an | |
1271 | elaboration counter when in GNATprove mode. | |
1272 | ||
78f2b7ce AC |
1273 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> |
1274 | ||
1275 | * freeze.adb: copy-paste typo. | |
1276 | ||
1277 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1278 | ||
1279 | * sem_prag.adb (Analyze_Pre_Post_In_Decl_Part): | |
1280 | Use correct test to detect call in GNATprove mode instead of | |
1281 | compilation. | |
1282 | ||
1283 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1284 | ||
1285 | * a-cfdlli.adb, a-cfdlli.ads (Formal_Model.M_Elements_In_Union): | |
1286 | New property function expressing that the element of a | |
1287 | sequence are contained in the union of two sequences. | |
1288 | (Formal_Model.M_Elements_Included): New property function | |
1289 | expressing that the element of a sequence are another sequence. | |
1290 | (Generic_Sorting): Use new property functions to state that | |
1291 | elements are preserved by Sort and Merge. | |
1292 | * a-cofove.adb, a-cofove.ads (=): Generic parameter removed to | |
1293 | allow the use of regular equality over elements in contracts. | |
1294 | (Formal_Model): Ghost package containing model functions | |
1295 | that are used in subprogram contracts. (Capacity): | |
1296 | On unbounded containers, return the maximal capacity. | |
1297 | (Current_To_Last): Removed, model functions should be used instead. | |
1298 | (First_To_Previous): Removed, model functions should be used instead. | |
1299 | (Append): Default parameter value replaced | |
1300 | by new wrapper to allow more precise contracts. | |
1301 | (Insert): Subprogram restored, it seems it was useful to users even if | |
1302 | it is inefficient. | |
1303 | (Delete): Subprogram restored, it seems it was useful to users even if | |
1304 | it is inefficient. | |
1305 | (Prepend): Subprogram restored, it seems it was useful to users even | |
1306 | if it is inefficient. | |
1307 | (Delete_First): Subprogram restored, it seems it | |
1308 | was useful to users even if it is inefficient. (Delete_Last): | |
1309 | Default parameter value replaced by new wrapper to allow more | |
1310 | precise contracts. | |
1311 | (Generic_Sorting.Merge): Subprogram restored. | |
1312 | * a-cfinve.adb, a-cfinve.ads (=): Generic parameter removed to | |
1313 | allow the use of regular equality over elements in contracts. | |
1314 | (Formal_Model): Ghost package containing model functions | |
1315 | that are used in subprogram contracts. (Capacity): | |
1316 | On unbounded containers, return the maximal capacity. | |
1317 | (Current_To_Last): Removed, model functions should be used | |
1318 | instead. | |
1319 | (First_To_Previous): Removed, model functions should be used instead. | |
1320 | (Append): Default parameter value replaced | |
1321 | by new wrapper to allow more precise contracts. | |
1322 | (Insert): Subprogram restored, it seems it was useful to users even if | |
1323 | it is inefficient. | |
1324 | (Delete): Subprogram restored, it seems it was useful to users even if | |
1325 | it is inefficient. | |
1326 | (Prepend): Subprogram restored, it seems it was useful to users even | |
1327 | if it is inefficient. | |
1328 | (Delete_First): Subprogram restored, it seems it | |
1329 | was useful to users even if it is inefficient. (Delete_Last): | |
1330 | Default parameter value replaced by new wrapper to allow more | |
1331 | precise contracts. | |
1332 | (Generic_Sorting.Merge): Subprogram restored. | |
1333 | (Vector): Do not reuse formal vectors, as it is no longer possible | |
1334 | to supply them with an equality function over elements. | |
1335 | ||
1336 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1337 | ||
1338 | * g-dyntab.adb (Release): When allocating the new | |
1339 | table, use the correct slice of the old table to initialize it. | |
1340 | ||
02848684 AC |
1341 | 2017-04-27 Eric Botcazou <ebotcazou@adacore.com> |
1342 | ||
1343 | * einfo.ads: Minor fixes in comments. | |
1344 | ||
1345 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1346 | ||
1347 | * sem_prag.adb: disable clones in SPARK_Mode. | |
1348 | ||
1349 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
1350 | ||
1351 | * sem_util.ads, contracts.adb: Minor reformatting. | |
1352 | ||
aaa0a838 ES |
1353 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> |
1354 | ||
1355 | * sem_util.adb, sem_util.ads (Build_Class_Wide_Clone_Body): | |
1356 | Build body of subprogram that has a class-wide condition that | |
1357 | contains calls to other primitives. | |
1358 | (Build_Class_Wide_Clone_Call); Build a call to the common | |
1359 | class-wide clone of a subprogram with classwide conditions. The | |
1360 | body of the subprogram becomes a wrapper for a call to the | |
1361 | clone. The inherited operation becomes a similar wrapper to which | |
1362 | modified conditions apply, and the call to the clone includes | |
1363 | the proper conversion in a call the parent operation. | |
1364 | (Build_Class_Wide_Clone_Decl (Spec_Id : Entity_Id): For a | |
1365 | subprogram that has a classwide condition that contains calls to | |
1366 | other primitives, build an internal subprogram that is invoked | |
1367 | through a type-specific wrapper for all inherited subprograms | |
1368 | that may have a modified condition. | |
1369 | * sem_prag.adb (Check_References): If subprogram has a classwide | |
1370 | condition, create entity for corresponding clone, to be invoked | |
1371 | through wrapper subprograns. | |
1372 | (Analyze_Pre_Post_Condition_In_Decl_Part): Do not emit error | |
1373 | message about placement if pragma isi internally generated. | |
1374 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If subprogram has | |
1375 | a classwide clone, build body of clone as copy of original body, | |
1376 | and rewrite original body as a wrapper as a wrapper for a call to | |
1377 | the clone, so that it incorporates the original pre/postconditions | |
1378 | of the subprogram. | |
1379 | * freeze.adb (Check_Inherited_Conditions): For an inherited | |
1380 | subprogram that inherits a classwide condition, build spec and | |
1381 | body of corresponding wrapper so that call to inherited operation | |
1382 | gets the modified conditions. | |
1383 | * contracts.adb (Analyze_Contracts): If analysis of classwide | |
1384 | condition has created a clone for a primitive operation, analyze | |
1385 | declaration of clone. | |
1386 | ||
c1025b4e AC |
1387 | 2017-04-27 Steve Baird <baird@adacore.com> |
1388 | ||
1389 | * exp_util.adb (Build_Allocate_Deallocate_Proc): | |
1390 | Add "Suppress => All_Checks" to avoid generating unnecessary | |
1391 | checks. | |
1392 | ||
1393 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1394 | ||
1395 | * debug.adb: Reserve debug flag 'm' for no inlining in GNATprove. | |
1396 | * sem_ch6.adb (Anayze_Subprogram_Body_Helper): Skip creation of | |
1397 | inlining body in GNATprove mode when switch -gnatdm used. | |
1398 | * sem_res.adb (Resolve_Call): Skip detection of lack of inlining | |
1399 | in GNATprove mode when switch -gnatdm used. | |
1400 | ||
1401 | 2017-04-27 Arnaud Charlet <charlet@adacore.com> | |
1402 | ||
1403 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause | |
1404 | [Attribute_Address]): Call Set_Address_Taken when ignoring rep | |
1405 | clauses, so that we keep an indication of the address clause | |
1406 | before removing it from the tree. | |
1407 | ||
cd5acda5 YM |
1408 | 2017-04-27 Yannick Moy <moy@adacore.com> |
1409 | ||
1410 | * exp_util.ads, exp_util.adb (Evaluate_Name): Force evaluation | |
1411 | of expression being qualified, when not an object name, or else | |
1412 | evaluate the underlying name. | |
1413 | ||
7e6060af AC |
1414 | 2017-04-27 Jerome Lambourg <lambourg@adacore.com> |
1415 | ||
1416 | * bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: add -nognarl switch. | |
1417 | ||
1418 | 2017-04-27 Justin Squirek <squirek@adacore.com> | |
1419 | ||
1420 | * exp_ch7.adb (Build_Finalize_Statements): Move Num_Comps to | |
1421 | Process_Component_List_For_Finalization as a local variable. | |
1422 | (Process_Component_For_Finalize): Add an extra parameter to avoid | |
1423 | global references. | |
1424 | (Process_Component_List_For_Finalization): Correct calls to | |
1425 | Process_Component_For_Finalize to take Num_Comps as a parameter. | |
1426 | ||
522aa6ee AC |
1427 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1428 | ||
1429 | * sem_ch8.adb (Find_Direct_Name): Account for the case where | |
1430 | a use-visible entity is defined within a nested scope of an | |
1431 | instance when giving priority to entities which were visible in | |
1432 | the original generic. | |
1433 | * sem_util.ads, sem_util.adb (Nearest_Enclosing_Instance): New routine. | |
1434 | ||
1435 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
1436 | ||
1437 | * raise-gcc.c: Don't use unwind.h while compiling | |
1438 | for the frontend, but mimic host behavior. | |
1439 | ||
1440 | 2017-04-27 Javier Miranda <miranda@adacore.com> | |
1441 | ||
1442 | * sem_ch3.adb (Build_Discriminated_Subtype): | |
1443 | Propagate Has_Pragma_Unreferenced_Objects to the built subtype. | |
1444 | ||
1445 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1446 | ||
1447 | * sem_prag.adb (Analyze_Global_Item): | |
1448 | Do not consider discriminants because they are not "entire | |
1449 | objects". Remove the discriminant-related checks because they are | |
1450 | obsolete. | |
1451 | (Analyze_Input_Output): Do not consider discriminants | |
1452 | because they are not "entire objects". | |
1453 | ||
1454 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1455 | ||
1456 | * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not | |
1457 | perform check if the current scope does not come from source, | |
1458 | as is the case for a rewritten task body, because check has | |
1459 | been performed already, and may not be doable because of changed | |
1460 | visibility. | |
1461 | ||
b63d61f7 AC |
1462 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1463 | ||
1464 | * a-cofuse.adb, a-cfdlli.adb, a-cofuse.ads, a-cfdlli.ads, a-cofuve.adb, | |
1465 | a-cofuve.ads, a-cofuma.adb, a-cofuma.ads, sem_eval.adb, a-cofuba.adb: | |
1466 | Minor reformatting. | |
1467 | ||
1468 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1469 | ||
1470 | * sem_ch4.adb (Analyze_Call): If the return type of a function | |
1471 | is incomplete in an context in which the full view is available, | |
1472 | replace the type of the call by the full view, to prevent spurious | |
1473 | type errors. | |
1474 | * exp_disp.adb (Check_Premature_Freezing): Disable check on an | |
1475 | abstract subprogram so that compiler does not reject a parameter | |
1476 | of a primitive operation of a tagged type being frozen, when | |
1477 | the untagged type of that parameter cannot be frozen. | |
1478 | ||
1479 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1480 | ||
1481 | * sem_attr.adb (Compute_Type_Key): Don't walk | |
1482 | representation items for irrelevant types, which could be in a | |
1483 | different source file. | |
1484 | ||
1485 | 2017-04-27 Steve Baird <baird@adacore.com> | |
1486 | ||
1487 | * exp_attr.adb (Expand_N_Attribute_Reference): | |
1488 | Don't expand Image, Wide_Image, Wide_Wide_Image attributes | |
1489 | for CodePeer. | |
1490 | ||
bb9e2aa2 AC |
1491 | 2017-04-27 Yannick Moy <moy@adacore.com> |
1492 | ||
1493 | * exp_unst.ads: Fix typos in comments. | |
1494 | ||
1495 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1496 | ||
1497 | * sem_eval.adb (Choice_Matches): Handle properly a real literal | |
1498 | whose type has a defined static predicate. | |
1499 | ||
1500 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1501 | ||
1502 | * exp_ch4.adb (Insert_Dereference_Action): | |
1503 | Do not adjust the address of a controlled object when the | |
1504 | associated access type is subject to pragma No_Heap_Finalization. | |
1505 | Code reformatting. | |
1506 | ||
ed8cbbaf PMR |
1507 | 2017-04-27 Pierre-Marie de Rodat <derodat@adacore.com> |
1508 | ||
1509 | * gcc-interface/utils.c (gnat_type_for_size): Set | |
1510 | TYPE_ARTIFICIAL on created types. | |
1511 | ||
6cbfce7e AC |
1512 | 2017-04-27 Claire Dross <dross@adacore.com> |
1513 | ||
1514 | * a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to | |
1515 | modifications in functional containers. | |
1516 | * a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat | |
1517 | to improve readablity. Subprograms are separated between basic | |
1518 | operations, constructors and properties. Universally quantified | |
1519 | formulas in contracts are factorized in independant functions | |
1520 | with a name and a comment. Names of parameters are improved. | |
1521 | ||
1522 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
1523 | ||
1524 | * exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix. | |
1525 | ||
1526 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1527 | ||
1528 | * sem_res.adb (Resolve_Type_Conversion): Do not | |
1529 | install a predicate check here since this is already done during | |
1530 | the expansion phase. Verify whether the operand satisfies the | |
1531 | static predicate (if any) of the target type. | |
1532 | * sem_ch3.adb (Analyze_Object_Declaration): Do | |
1533 | not install a predicate check if the object is initialized by | |
1534 | means of a type conversion because the conversion is subjected | |
1535 | to the same check. | |
1536 | ||
1537 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
1538 | ||
1539 | * raise.c (__gnat_builtin_longjmp): Remove. | |
1540 | (__gnat_bracktrace): | |
1541 | Add a dummy definition for the compiler (__gnat_eh_personality, | |
1542 | __gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19, | |
1543 | __gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30, | |
1544 | __gnat_rcheck_31, __gnat_rcheck_32): Likewise. | |
1545 | * a-exexpr.adb: Renamed from a-exexpr-gcc.adb | |
1546 | * a-except.ads, a-except.adb: Renamed from a-except-2005.ads | |
1547 | and a-except-2005.adb. | |
1548 | * raise-gcc.c: Allow build in compiler, compiled as a C++ | |
1549 | file. | |
1550 | (__gnat_Unwind_ForcedUnwind): Adjust prototype. | |
1551 | (db): Constify msg_format. | |
1552 | (get_call_site_action_for): Don't use void arithmetic. | |
1553 | * system.ads (Frontend_Exceptions): Set to False. | |
1554 | (ZCX_By_Default): Set to True. | |
1555 | (GCC_ZC_Support): Set to True. | |
1556 | * gcc-interface/Makefile.in: No more variants for a-exexpr.adb and | |
1557 | a-except.ad[sb]. | |
1558 | * gcc-interface/Make-lang.in: Add support for backend zcx exceptions | |
1559 | in gnat1 and gnatbind. | |
1560 | * gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o, | |
1561 | s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o | |
1562 | * s-excmac.ads, s-excmac.adb: Copy of variants. | |
1563 | * a-except.o: Adjust preequisites. | |
1564 | Add handling of s-excmac-arm.adb and s-excmac-gcc.adb. | |
1565 | ||
1566 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1567 | ||
1568 | * a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to | |
1569 | modifications in functional containers. | |
1570 | * a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat | |
1571 | to improve readablity. Subprograms are separated between basic | |
1572 | operations, constructors and properties. Universally quantified | |
1573 | formulas in contracts are factorized in independant functions | |
1574 | with a name and a comment. Names of parameters are improved. | |
1575 | ||
1576 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
1577 | ||
1578 | * exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix. | |
1579 | ||
1580 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1581 | ||
1582 | * sem_res.adb (Resolve_Type_Conversion): Do not | |
1583 | install a predicate check here since this is already done during | |
1584 | the expansion phase. Verify whether the operand satisfies the | |
1585 | static predicate (if any) of the target type. | |
1586 | * sem_ch3.adb (Analyze_Object_Declaration): Do | |
1587 | not install a predicate check if the object is initialized by | |
1588 | means of a type conversion because the conversion is subjected | |
1589 | to the same check. | |
1590 | ||
1591 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
1592 | ||
1593 | * a-except.ads, a-except.adb, a-exexpr.adb: Removed (will be | |
1594 | replaced by their variants). | |
1595 | ||
e77e2429 AC |
1596 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1597 | ||
1598 | * exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb, | |
1599 | cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb, | |
1600 | a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting. | |
1601 | ||
1602 | 2017-04-27 Tristan Gingold <gingold@adacore.com> | |
1603 | ||
1604 | * s-excmac-gcc.ads, s-excmac-gcc.adb, | |
1605 | s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in | |
1606 | Ada95. | |
1607 | ||
1608 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1609 | ||
1610 | * exp_ch7.adb (Establish_Transient_Scope): Rewrite | |
1611 | the loop which detects potential enclosing transient scopes. The | |
1612 | loop now terminates much earlier as transient scopes are bounded | |
1613 | by packages and subprograms. | |
1614 | ||
1615 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1616 | ||
1617 | * a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to | |
1618 | allow the use of regular equality over elements in contracts. | |
1619 | (Cursor): Type is now public so that it can be used in | |
1620 | model functions. | |
1621 | (Formal_Model): Ghost package containing | |
1622 | model functions that are used in subprogram contracts. | |
1623 | (Current_To_Last): Removed, model functions should be used | |
1624 | instead. | |
1625 | (First_To_Previous): Removed, model functions should | |
1626 | be used instead. | |
1627 | (Strict_Equal): Removed, model functions | |
1628 | should be used instead. | |
1629 | (Append): Default parameter value | |
1630 | replaced by new wrapper to allow more precise contracts. | |
1631 | (Insert): Default parameter value replaced by new wrapper to | |
1632 | allow more precise contracts. | |
1633 | (Delete): Default parameter | |
1634 | value replaced by new wrapper to allow more precise contracts. | |
1635 | (Prepend): Default parameter value replaced by new wrapper to | |
1636 | allow more precise contracts. | |
1637 | (Delete_First): Default parameter | |
1638 | value replaced by new wrapper to allow more precise contracts. | |
1639 | (Delete_Last): Default parameter value replaced by new wrapper | |
1640 | to allow more precise contracts. | |
1641 | ||
1642 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1643 | ||
1644 | * exp_spark.adb (Expand_SPARK): Perform specialized expansion | |
1645 | for object declarations. | |
1646 | (Expand_SPARK_N_Object_Declaration): New routine. | |
1647 | * sem_elab.adb (Check_A_Call): Include calls to the | |
1648 | Default_Initial_Condition procedure of a type under the SPARK | |
1649 | elaboration checks umbrella. | |
1650 | ||
7a71a7c4 AC |
1651 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1652 | ||
1653 | * sem.adb (Analyze): Diagnose an illegal iterated component | |
1654 | association. | |
1655 | * sem_util.ads, sem_util.adb | |
1656 | (Diagnose_Iterated_Component_Association): New routine. | |
1657 | ||
1658 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1659 | ||
1660 | * adaint.c (__gnat_get_current_dir): Return 0 in length if | |
1661 | getcwd fails. | |
1662 | * a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise | |
1663 | exception if getcwd failed. | |
1664 | ||
1665 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1666 | ||
1667 | * exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost | |
1668 | entities with special prefix. | |
1669 | ||
1670 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1671 | ||
1672 | * debug.adb Change the documentation of switch -gnatd.s. | |
1673 | * exp_ch7.adb (Make_Transient_Block): Transient blocks do not need | |
1674 | to manage the secondary stack when an enclosing scope already | |
1675 | performs this functionality (aka relaxed management). Switch | |
1676 | -gnatd.s may be used to force strict management in which case | |
1677 | the block will manage the secondary stack unconditionally. Add | |
1678 | a guard to stop the traversal when encountering a package or a | |
1679 | subprogram scope. | |
1680 | ||
1681 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1682 | ||
1683 | * sem_res.adb (Resolve_Call): Refine further the handling of | |
1684 | limited views of return types in function calls. If the function | |
1685 | that returns a limited view appears in the current unit, | |
1686 | we do not replace its type by the non-limited view because | |
1687 | this transformation is performed int the back-end. However, | |
1688 | the type of the call itself must be the non-limited view, to | |
1689 | prevent spurious resolution errors. | |
1690 | ||
1691 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1692 | ||
1693 | * einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds): | |
1694 | Removed, proposed implementation using generics for class-wide | |
1695 | preconditions proved impractical. | |
1696 | (Class_Wide_Clone): New attribute of subprogram. Designates | |
1697 | subprogram created for primitive operations with class-wide | |
1698 | pre/postconditions that contain calls to other primitives. The | |
1699 | clone holds the body of the original primitive, but the | |
1700 | pre/postonditions do not apply to it. The original body is | |
1701 | rewritten as a wrapper for a call to the clone. | |
1702 | (Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If | |
1703 | the flag is set, no code for the corresponding pre/postconditions | |
1704 | is inserted into its body. | |
1705 | ||
1706 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1707 | ||
1708 | * exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore | |
1709 | Scalar_Storage_Order if -gnatI is given. | |
1710 | * sem_prag.adb (Analyze_Pragma): Ignore | |
1711 | Default_Scalar_Storage_Order if -gnatI is given. | |
1712 | ||
394fa9f5 CD |
1713 | 2017-04-27 Claire Dross <dross@adacore.com> |
1714 | ||
1715 | * a-cofuba.ads (Add): Take as an additional input parameter | |
1716 | the position where the element should be inserted. | |
1717 | (Remove): New function that removes an element from the container. | |
1718 | * a-cofuma.ads (Add): Adapt to the new API of Base.Add. | |
1719 | * a-cofuse.ads (Add): Adapt to the new API of Base.Add. | |
1720 | (Remove): New function that removes an element from a set. | |
1721 | * a-cofuve.ads (Add): Adapt to the new API of Base.Add. | |
1722 | (Remove): New function that removes an element from a sequence. | |
1723 | (Insert): New function that adds anywhere in a sequence. | |
1724 | ||
11775988 AC |
1725 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> |
1726 | ||
1727 | * checks.adb (Generate_Range_Check): Revert previous change. | |
1728 | ||
1729 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> | |
1730 | ||
1731 | * sem_util.adb: Minor reformatting/rewording. | |
1732 | ||
1733 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1734 | ||
1735 | * lib-xref.adb (Generate_Reference): The use | |
1736 | of attribute 'Result is not considered a violation of pragma | |
1737 | Unreferenced. | |
1738 | ||
1739 | 2017-04-27 Justin Squirek <squirek@adacore.com> | |
1740 | ||
1741 | * cstand.adb (Create_Standard): Correctly set | |
1742 | Directly_Designated_Type for Any_Access. | |
1743 | * sem_type.adb (Covers): Minor grammar fixes. | |
1744 | ||
1745 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1746 | ||
1747 | * sem_attr.adb: Minor cleanup. | |
1748 | ||
1749 | 2017-04-27 Claire Dross <dross@adacore.com> | |
1750 | ||
1751 | * a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New | |
1752 | private child of Ada.Containers used to implement all functional | |
1753 | containers. | |
1754 | * a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New | |
1755 | child of Ada.Containers. It provides functional indefinite unbounded | |
1756 | maps which can be used as high level models for specification | |
1757 | of data structures. | |
1758 | * a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New | |
1759 | child of Ada.Containers. It provides functional indefinite unbounded | |
1760 | sets which can be used as high level models for specification | |
1761 | of data structures. | |
1762 | * a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New | |
1763 | child of Ada.Containers. It provides functional indefinite unbounded | |
1764 | vectors which can be used as high level models for specification | |
1765 | of data structures. | |
1766 | * Makefile.rtl: Add new packages. | |
1767 | * impunit.adb: Add new packages. | |
1768 | ||
f32eb591 AC |
1769 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> |
1770 | ||
1771 | * sem_ch4.adb: Minor reformatting. | |
1772 | ||
1773 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1774 | ||
1775 | * sem_ch12.adb (Analyze_Associations): minor reformatting. | |
1776 | (Check_Fixed_Point_Actual): Do not emit a warning on a fixed | |
1777 | point type actual that has user-defined arithmetic primitives, | |
1778 | when there is a previous actual for a formal package that defines | |
1779 | a fixed-point type with the parent user-defined operator. | |
1780 | ||
1781 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1782 | ||
1783 | * checks.adb (Generate_Range_Check): Reinstate part of previous change. | |
1784 | * sem_attr.adb (Resolve_Attribute): Generate a range check when | |
1785 | the component type allows range checks. | |
1786 | ||
1787 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1788 | ||
1789 | * sem_aux.adb (Is_Generic_Formal): Use original node to locate | |
1790 | corresponding declaration, because formal derived types are | |
1791 | rewritten as private extensions. | |
1792 | ||
1793 | 2017-04-27 Ed Schonberg <schonberg@adacore.com> | |
1794 | ||
1795 | * sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check | |
1796 | dimensions of operands if node has been analyzed already, because | |
1797 | previous analysis and dimension checking will have removed the | |
1798 | dimension information from the operands. | |
1799 | ||
1800 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1801 | ||
1802 | * debug.adb: Document the use of switch -gnatd.s. | |
1803 | * einfo.ads Update the documentation on attribute | |
1804 | Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove | |
1805 | the uses of these attributes from certain entities. | |
1806 | * exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry | |
1807 | which determines whether the block should continue to manage | |
1808 | the secondary stack. | |
1809 | (Manages_Sec_Stack): New routine. | |
1810 | ||
1811 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1812 | ||
1813 | * atree.ads: Minor edit. | |
1814 | ||
1815 | 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> | |
1816 | ||
1817 | * sinfo.ads: Update the section on Ghost mode. Add | |
1818 | a section on SPARK mode. Update the placement of section on | |
1819 | expression functions. | |
1820 | ||
1821 | 2017-04-27 Bob Duff <duff@adacore.com> | |
1822 | ||
1823 | * sinput.adb (Get_Source_File_Index): Don't | |
1824 | assert that S is in the right range in the case where this is | |
1825 | a .dg file under construction. | |
1826 | ||
1827 | 2017-04-27 Yannick Moy <moy@adacore.com> | |
1828 | ||
1829 | * sem_util.adb (Check_Result_And_Post_State): | |
1830 | Handle more precisely each conjunct in expressions formed by | |
1831 | and'ing sub-expressions. | |
1832 | ||
0c3ef0cc GD |
1833 | 2017-04-27 Gary Dismukes <dismukes@adacore.com> |
1834 | ||
1835 | * exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting. | |
1836 | ||
9c533e7d AC |
1837 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
1838 | ||
1839 | * gnat_rm.texi, gnat_ugn.texi, | |
1840 | doc/gnat_ugn/building_executable_programs_with_gnat.rst, | |
1841 | doc/gnat_ugn/platform_specific_information.rst, | |
1842 | doc/gnat_ugn/gnat_and_program_execution.rst, | |
1843 | doc/gnat_ugn/gnat_utility_programs.rst, | |
1844 | doc/gnat_ugn/the_gnat_compilation_model.rst, | |
1845 | doc/gnat_rm/implementation_defined_attributes.rst, | |
1846 | doc/gnat_rm/the_gnat_library.rst, | |
1847 | doc/gnat_rm/implementation_defined_pragmas.rst, | |
1848 | doc/gnat_rm/representation_clauses_and_pragmas.rst, | |
1849 | doc/gnat_rm/implementation_of_specific_ada_features.rst, | |
1850 | doc/gnat_rm/implementation_defined_aspects.rst, | |
1851 | doc/gnat_rm/implementation_defined_characteristics.rst: Update | |
1852 | documentation. | |
1853 | ||
211e7410 AC |
1854 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
1855 | ||
1856 | * exp_ch4.adb (Expand_N_Case_Expression): Emit error message when | |
1857 | generating C code on complex case expressions. | |
1858 | ||
1859 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> | |
1860 | ||
1861 | * sem_prag.adb (Analyze_Pragma): Generate a warning instead | |
1862 | of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode. | |
1863 | * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use | |
1864 | Ada_2012 instead of Ada_2005 to be compatible with the above | |
1865 | change. | |
1866 | * bindgen.adb: Silence new warning on pragma Ada_95. | |
1867 | ||
1868 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1869 | ||
1870 | * checks.adb (Generate_Range_Check): Revert part of previous change. | |
1871 | ||
1872 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1873 | ||
1874 | * sem_ch4.adb (Try_Container_Indexing): Handle properly a | |
1875 | container indexing operation that appears as a an actual in a | |
1876 | parameter association in a procedure call. | |
1877 | ||
1878 | 2017-04-25 Olivier Ramonat <ramonat@adacore.com> | |
1879 | ||
1880 | * prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads: | |
1881 | Fix spelling mistakes. | |
1882 | ||
1883 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1884 | ||
1885 | * types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb, | |
1886 | * sinput-p.adb: Use regular fat pointers, with bounds checking, | |
1887 | for source buffers. Fix misc obscure bugs. | |
1888 | * sinput.ads, sinput.adb: Use regular fat pointers, with bounds | |
1889 | checking, for source buffers. Modify representation clause for | |
1890 | Source_File_Record as appropriate. Move Source_File_Index_Table | |
1891 | from spec to body, because it is not used outside the body. | |
1892 | Move Set_Source_File_Index_Table into the private part, because | |
1893 | it is used only in the body and in children. Use trickery to | |
1894 | modify the dope in the generic instantiation case. It's ugly, | |
1895 | but not as ugly as the previous method. Fix documentation. | |
1896 | Remove obsolete code. | |
1897 | * fname-sf.adb, targparm.adb: Fix misc out-of-bounds | |
1898 | indexing in source buffers. | |
1899 | * fmap.adb: Avoid conversions from one string type to another. | |
1900 | Remove a use of global name buffer. | |
1901 | * osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment | |
1902 | fixes. | |
1903 | ||
e0666fc6 AC |
1904 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
1905 | ||
1906 | * exp_util.adb, exp_ch4.adb: Minor reformatting. | |
1907 | ||
1908 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
1909 | ||
1910 | * checks.adb: Code clean up in various routines. | |
1911 | (Generate_Range_Check): Do not generate a range check when the | |
1912 | expander is not active or when index/range checks are suppressed | |
1913 | on the target type. | |
1914 | (Insert_List_After_And_Analyze, Insert_List_Before_And_Analyze): | |
1915 | Remove variants that include a Supress parameter. These routines | |
1916 | are never used, and were introduced before the current scope-based | |
1917 | check suppression method. | |
1918 | ||
1919 | 2017-04-25 Vasiliy Fofanov <fofanov@adacore.com> | |
1920 | ||
1921 | * prj-part.adb, cstreams.c, osint.adb, osint.ads: Remove VMS specific | |
1922 | code and some subprogram calls that are now noop. | |
1923 | ||
e44e8a5e AC |
1924 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
1925 | ||
1926 | * exp_ch4.adb (Expand_N_Case_Expression): Take | |
1927 | Minimize_Expression_With_Actions into account when possible. | |
1928 | ||
bf604a5e AC |
1929 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1930 | ||
1931 | * exp_util.adb (Known_Non_Null): Moved to Sem_Util. | |
1932 | (Known_Null): Moved to Sem_Util. | |
1933 | * exp_util.ads (Known_Non_Null): Moved to Sem_Util. | |
1934 | (Known_Null): Moved to Sem_Util. | |
1935 | * sem_util.adb Add new enumeration type Null_Status_Kind. | |
1936 | (Known_Non_Null): Moved from Exp_Util. Most of the logic in | |
1937 | this routine is now carried out by Null_Status. | |
1938 | (Known_Null): Moved from Exp_Util. Most of the logic in this routine | |
1939 | is now carried out by Null_Status. | |
1940 | (Null_Status): New routine. | |
1941 | * sem_util.ads (Known_Non_Null): Moved from Exp_Util. | |
1942 | (Known_Null): Moved from Exp_Util. | |
1943 | ||
1944 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1945 | ||
1946 | * sem_ch6.adb (Analyze_Expression_Function): Do not report an | |
1947 | error on the return type of an expression function that is a | |
1948 | completion, if the type is derived from a generic formal type. | |
1949 | ||
1950 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
1951 | ||
1952 | * sem_dim.adb (Dimensions_Of_Operand): The dimensions of a type | |
1953 | conversion are those of the target type. | |
1954 | ||
1955 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1956 | ||
1957 | * a-clrefi.adb: Minor cleanup. | |
1958 | ||
178c3cba GD |
1959 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
1960 | ||
1961 | * exp_util.adb, exp_util.ads, types.ads: Minor reformatting. | |
1962 | ||
0f96fd14 BD |
1963 | 2017-04-25 Bob Duff <duff@adacore.com> |
1964 | ||
1965 | * err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb, | |
1966 | types.adb, types.ads, types.h, sinput-l.adb, targparm.adb, | |
1967 | errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb, | |
1968 | scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and | |
1969 | the Internal_Source buffer. This removes the incorrect call to "=" | |
1970 | the customer noticed. | |
1971 | Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We | |
1972 | eventually need to eliminate them altogether. Or else get rid | |
1973 | of zero-origin addressing. | |
1974 | ||
28ccbd3f AC |
1975 | 2017-04-25 Claire Dross <dross@adacore.com> |
1976 | ||
1977 | * exp_util.ads (Expression_Contains_Primitives_Calls_Of): New | |
1978 | function used in GNATprove to know if an expression contains | |
1979 | non-dispatching calls on primitives of a tagged type. | |
1980 | ||
1981 | 2017-04-25 Bob Duff <duff@adacore.com> | |
1982 | ||
1983 | * rtsfind.adb (Initialize): Initialize | |
1984 | First_Implicit_With. Building the compiler with Normalize_Scalars | |
1985 | and validity checking finds this being used as an uninitialized | |
1986 | variable. | |
1987 | ||
f9a8f910 HK |
1988 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
1989 | ||
1990 | * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): | |
1991 | Add a warning about SPARK mode management. The routine now | |
1992 | saves and restores both the mode and associated pragma. | |
1993 | (Analyze_Entry_Or_Subprogram_Contract): Add a warning about | |
1994 | SPARK mode management. The routine now saves and restores both | |
1995 | the mode and associated pragma. | |
1996 | (Analyze_Object_Contract): | |
1997 | Add a warning about SPARK mode management. The routine | |
1998 | now saves and restores both the mode and associated pragma. | |
1999 | (Analyze_Package_Body_Contract): Add a warning about SPARK mode | |
2000 | management. The routine now saves and restores both the mode | |
2001 | and associated pragma. (Analyze_Package_Contract): Add a warning | |
2002 | about SPARK mode management. The routine now saves and restores | |
2003 | both the mode and associated pragma. | |
2004 | (Analyze_Task_Contract): | |
2005 | Add a warning about SPARK mode management. The routine now saves | |
2006 | and restores both the mode and associated pragma. | |
2007 | * expander.adb (Expand): Change the way the Ghost mode is saved | |
2008 | and restored. | |
2009 | * exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is | |
2010 | saved and restored. | |
2011 | * exp_disp.adb (Make_DT): Change the way the Ghost mode is saved | |
2012 | and restored. | |
2013 | * exp_util.adb (Build_DIC_Procedure_Body): | |
2014 | Change the way the Ghost mode is saved and restored. | |
2015 | (Build_DIC_Procedure_Declaration): Change the way the Ghost | |
2016 | mode is saved and restored. | |
2017 | (Build_Invariant_Procedure_Body): | |
2018 | Change the way the Ghost mode is saved and restored. | |
2019 | (Build_Invariant_Procedure_Declaration): Change the way the Ghost | |
2020 | mode is saved and restored. | |
2021 | (Make_Predicate_Call): Change the | |
2022 | way the Ghost mode is saved and restored. | |
2023 | * freeze.adb (Freeze_Entity): Change the way the Ghost mode is | |
2024 | saved and restored. | |
2025 | * ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode | |
2026 | and its assignment. | |
2027 | (Mark_And_Set_Ghost_Body): Remove parameter | |
2028 | Mode and its assignment. | |
2029 | (Mark_And_Set_Ghost_Completion): | |
2030 | Remove parameter Mode and its assignment. | |
2031 | (Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its | |
2032 | assignment. | |
2033 | (Mark_And_Set_Ghost_Instantiation): Remove parameter | |
2034 | Mode and its assignment. | |
2035 | (Mark_And_Set_Ghost_Procedure_Call): | |
2036 | Remove parameter Mode and its assignment. | |
2037 | (Set_Ghost_Mode): | |
2038 | Remove parameter Mode and its assignment. | |
2039 | * ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode | |
2040 | and update the comment on usage. | |
2041 | (Mark_And_Set_Ghost_Body): | |
2042 | Remove parameter Mode and update the comment on usage. | |
2043 | (Mark_And_Set_Ghost_Completion): Remove parameter Mode and | |
2044 | update the comment on usage. | |
2045 | (Mark_And_Set_Ghost_Declaration): | |
2046 | Remove parameter Mode and update the comment on usage. | |
2047 | (Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and | |
2048 | update the comment on usage. | |
2049 | (Mark_And_Set_Ghost_Procedure_Call): | |
2050 | Remove parameter Mode and update the comment on usage. | |
2051 | (Set_Ghost_Mode): Remove parameter Mode and update the comment | |
2052 | on usage. | |
2053 | * lib.ads Remove obsolete fields SPARK_Mode_Pragma from various | |
2054 | types. | |
2055 | * lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment | |
2056 | of obsolete field SPARK_Mode_Pragma. | |
2057 | (Load_Main_Source): Remove | |
2058 | the assignment of obsolete field SPARK_Mode_Pragma. | |
2059 | (Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma. | |
2060 | * lib-writ.adb (Add_Preprocessing_Dependency): Remove | |
2061 | the assignment of obsolete field SPARK_Mode_Pragma. | |
2062 | (Ensure_System_Dependency): Remove the assignment of obsolete | |
2063 | field SPARK_Mode_Pragma. | |
2064 | * rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK | |
2065 | mode management. Change the way Ghost and SPARK modes are saved | |
2066 | and restored. | |
2067 | * sem.adb (Analyze): Change the way the Ghost mode is saved | |
2068 | and restored. | |
2069 | * sem_ch3.adb (Analyze_Object_Declaration): Change the way the | |
2070 | Ghost mode is saved and restored. | |
2071 | (Process_Full_View): Change | |
2072 | the way the Ghost mode is saved and restored. | |
2073 | * sem_ch5.adb (Analyze_Assignment): Change the way the Ghost | |
2074 | mode is saved and restored. | |
2075 | * sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost | |
2076 | mode is saved and restored. | |
2077 | (Analyze_Subprogram_Body_Helper): | |
2078 | Change the way the Ghost mode is saved and restored. | |
2079 | * sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the | |
2080 | Ghost mode is saved and restored. | |
2081 | * sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode | |
2082 | management. Save the SPARK mode-related data prior to any changes | |
2083 | to the scope stack and contexts. The mode is then reinstalled | |
2084 | before the subunit is analyzed in order to restore the original | |
2085 | view of the subunit. | |
2086 | * sem_ch12.adb (Analyze_Package_Instantiation): Update the | |
2087 | warning on region management. Change the way the Ghost and | |
2088 | SPARK modes are saved and restored. | |
2089 | (Inline_Instance_Body): | |
2090 | Add a warning about SPARK mode management. Code clean up. | |
2091 | (Analyze_Subprogram_Instantiation): Update the warning on region | |
2092 | management. Change the way the Ghost and SPARK modes are saved | |
2093 | and restored. | |
2094 | (Instantiate_Package_Body): Update the warning | |
2095 | on region management. Change the way the Ghost and SPARK modes | |
2096 | are saved and restored. | |
2097 | (Instantiate_Subprogram_Body): Update | |
2098 | the warning on region management. Change the way the Ghost and | |
2099 | SPARK modes are saved and restored. | |
2100 | (Set_Instance_Env): Add a | |
2101 | warning about SPARK mode management. Change the way SPARK mode | |
2102 | is saved and restored. | |
2103 | * sem_ch13.adb (Build_Predicate_Functions): | |
2104 | Change the way the Ghost mode is saved and restored. | |
2105 | (Build_Predicate_Function_Declaration): Change the way the Ghost | |
2106 | mode is saved and restored. | |
2107 | * sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK | |
2108 | mode management. Change the way SPARK mode is saved and restored. | |
2109 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): | |
2110 | Change the way the Ghost mode is saved and restored. | |
2111 | (Analyze_Initial_Condition_In_Decl_Part): Change the way | |
2112 | the Ghost mode is saved and restored. | |
2113 | (Analyze_Pragma): | |
2114 | Change the way the Ghost mode is saved and restored. | |
2115 | (Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the | |
2116 | Ghost mode is saved and restored. | |
2117 | * sem_util.adb (Install_SPARK_Mode): New routine. | |
2118 | (Restore_SPARK_Mode): New routine. | |
2119 | (Save_SPARK_Mode_And_Set): Removed. | |
2120 | (Set_SPARK_Mode): New routine. | |
2121 | * sem_util.ads (Install_SPARK_Mode): New routine. | |
2122 | (Restore_SPARK_Mode): New routine. | |
2123 | (Save_SPARK_Mode_And_Set): Removed. | |
2124 | (Set_SPARK_Mode): New routine. | |
2125 | ||
e1691d7e ES |
2126 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2127 | ||
2128 | * sem_util.adb, sem_util.ads (From_Nested_Package): New predicate | |
2129 | to determine whether a type is declared in a local package that | |
2130 | has not yet been frozen. | |
2131 | * freeze.adb (Freeze_Before): Use new predicate to determine | |
2132 | whether a local package must be installed on the scope stack | |
2133 | in order to evaluate in the proper scope actions generated by | |
2134 | aspect specifications, such as Predicate | |
2135 | * sem_ch13.adb: Simplify code in Analyze_Aspects_At_Freeze_Point | |
2136 | using new predicate. | |
2137 | ||
57f6e00c AC |
2138 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2139 | ||
2140 | * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not consider | |
2141 | comparisons between non- scalar expressions expressions because | |
2142 | their values cannot be invalidated. | |
2143 | * sem_warn.ads (Warn_On_Constant_Valid_Condition): Update the | |
2144 | comment on usage. | |
2145 | ||
2146 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2147 | ||
2148 | * par_sco.adb: Minor reformatting. | |
2149 | ||
2150 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2151 | ||
2152 | * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): If entity | |
2153 | is a type from an unfrozen local package, install package to | |
2154 | complete the analysis of delayed aspects of the type. | |
2155 | ||
2156 | 2017-04-25 Tristan Gingold <gingold@adacore.com> | |
2157 | ||
2158 | * bingen.adb (System_Version_Control_Used): New variable. | |
2159 | (Resolve_Binder_Options): Set the above variable. | |
2160 | (Gen_Output_File_Ada): Conditionally call Gen_Versions. | |
2161 | (Gen_Elab_Order): Emit blank line before. | |
2162 | ||
2163 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
2164 | ||
2165 | * sem_cat.adb (Validate_RT_RAT_Component): Added | |
2166 | an extra check to ignore incomplete types. | |
2167 | ||
62807842 AC |
2168 | 2017-04-25 Thomas Quinot <quinot@adacore.com> |
2169 | ||
2170 | * sem_prag.adb (Analyze_Pragma, case Pragma_Check): Remove | |
2171 | bogus circuitry for the case where Name is Predicate. | |
2172 | ||
2173 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
2174 | ||
2175 | * par_sco.adb(Traverse_Declarations_Or_Statements.Traverse_Aspects): | |
2176 | Create SCOs for Predicate aspects in disabled | |
2177 | state initially, to be enabled later on by... | |
2178 | * sem_ch13.adb (Build_Predicate_Functions.Add_Predicates): Mark | |
2179 | SCO for predicate as enabled. | |
2180 | ||
2181 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2182 | ||
2183 | * comperr.adb (Compiler_Abort): Remove now obsolete pair of | |
2184 | pragmas Warnings Off / On. | |
2185 | * namet.adb (Finalize): Remove now obsolete pair of pragmas | |
2186 | Warnings Off / On. | |
2187 | * output.adb: Remove now obsolete pair of pragmas Warnings Off / On. | |
2188 | * sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not | |
2189 | consider comparisons between static expressions because their | |
2190 | values cannot be invalidated. | |
2191 | * urealp.adb (Tree_Read): Remove now obsolete pair of pragmas | |
2192 | Warnings Off / On. | |
2193 | (Tree_Write): Remove now obsolete pair of pragmas Warnings Off / On. | |
2194 | * usage.adb Remove now obsolete pair of pragmas Warnings Off / On. | |
2195 | ||
2196 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2197 | ||
2198 | * sem_elab.adb (In_Task_Activation): Trace internal calls in | |
2199 | task bodies. | |
2200 | ||
2da8c8e2 GD |
2201 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
2202 | ||
2203 | * sem_prag.adb, sem_warn.adb, sem_eval.adb: Minor reformatting and | |
2204 | typo fixes. | |
2205 | ||
634a926b AC |
2206 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2207 | ||
2208 | * comperr.adb (Compiler_Abort): Add a pair of pragma Warnings | |
2209 | On/Off to defend against a spurious warning in conditional | |
2210 | compilation. | |
2211 | * exp_ch4.adb (Rewrite_Comparison): Reimplemented. | |
2212 | * namet.adb (Finalize): Add a pair of pragma Warnings On/Off to | |
2213 | defend against a spurious warning in conditional compilation. | |
2214 | * output.adb Add a pair of pragma Warnings On/Off to defend | |
2215 | against a spurious warning in conditional compilation. | |
2216 | * sem_eval.adb (Eval_Relational_Op): Major code clean up. | |
2217 | (Fold_General_Op): New routine. | |
2218 | (Fold_Static_Real_Op): New routine. | |
2219 | (Test_Comparison): New routine. | |
2220 | * sem_eval.ads (Test_Comparison): New routine. | |
2221 | * sem_warn.adb (Is_Attribute_Constant_Comparison): New routine. | |
2222 | (Warn_On_Constant_Valid_Condition): New routine. | |
2223 | (Warn_On_Known_Condition): Use Is_Attribute_Constant_Comparison | |
2224 | to detect a specific case. | |
2225 | * sem_warn.adb (Warn_On_Constant_Valid_Condition): New routine. | |
2226 | * urealp.adb (Tree_Read): Add a pair of pragma Warnings On/Off | |
2227 | to defend against a spurious warning in conditional compilation. | |
2228 | (Tree_Write): Add a pair of pragma Warnings On/Off to defend | |
2229 | against a spurious warning in conditional compilation. | |
2230 | * usage.adb Add a pair of pragma Warnings On/Off to defend | |
2231 | against a spurious warning in conditional compilation. | |
2232 | ||
2233 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> | |
2234 | ||
2235 | * sinfo.ads, sem_ch13.adb: Update comment. | |
2236 | ||
1f70c47f AC |
2237 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2238 | ||
2239 | * sem_util.adb (Is_Post_State): A reference to a | |
2240 | generic in out parameter is considered a change in the post-state | |
2241 | of a subprogram. | |
2242 | ||
2243 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2244 | ||
2245 | * sem_ch12.adb (Load_Parent_Of_Generic); When retrieving the | |
2246 | declaration of a subprogram instance within its wrapper package, | |
2247 | skip over null statements that may result from the rewriting of | |
2248 | ignored pragmas. | |
2249 | ||
2250 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2251 | ||
2252 | * exp_attr.adb (Expand_Attribute_Reference, case 'Read): | |
2253 | If the type is an unchecked_union, replace the attribute with | |
2254 | a Raise_Program_Error (rather than inserting such before the | |
2255 | attribute reference) to handle properly the case where we are | |
2256 | processing a component of a larger record, and we need to prevent | |
2257 | further expansion for the unchecked union. | |
2258 | (Expand_Attribute_Reference, case 'Write): If the type is | |
2259 | an unchecked_union, check whether enclosing scope is a Write | |
2260 | subprogram. Replace attribute with a Raise_Program_Error if the | |
2261 | discriminants of the unchecked_union type have not default values | |
2262 | because such a use is erroneous.. | |
2263 | ||
2264 | 2017-04-25 Tristan Gingold <gingold@adacore.com> | |
2265 | ||
2266 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): | |
2267 | Add relative_deadline to task record on edf profile. | |
2268 | (Make_Initialize_Protection): Pass deadline_floor value on edf profile. | |
2269 | (Make_Task_Create_Call): Pass relative_deadline value. | |
2270 | * par-prag.adb (Prag): Handle Pragma_Deadline_Floor. | |
2271 | * s-rident.ads (Profile_Name): Add GNAT_Ravenscar_EDF. | |
2272 | (Profile_Info): Add info for GNAT_Ravenscar_EDF. | |
2273 | * sem_prag.adb (Set_Ravenscar_Profile): Handle | |
2274 | GNAT_Ravenscar_EDF (set scheduling policy). | |
2275 | (Analyze_Pragma): Handle GNAT_Ravenscar_EDF profile and Deadline_Floor | |
2276 | pragma. | |
2277 | (Sig_Flags): Add choice for Pragma_Deadline_Floor. | |
2278 | * snames.ads-tmpl (Name_Deadline_Floor, Name_Gnat_Ravenscar_EDF): | |
2279 | New names. | |
2280 | (Pragma_Deadline_Floor): New pragma. | |
2281 | * targparm.adb (Get_Target_Parameters): Recognize | |
2282 | GNAT_Ravenscar_EDF profile. | |
2283 | ||
daad20d6 AC |
2284 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> |
2285 | ||
2286 | * gnatvsn.ads (Library_Version): Bump to 8. Update comment. | |
2287 | ||
e7c25229 AC |
2288 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2289 | ||
2290 | * sem_aux.adb (Nearest_Ancestor): Use original node of type | |
2291 | declaration to locate nearest ancestor, because derived | |
2292 | type declarations for record types are rewritten as record | |
2293 | declarations. | |
2294 | * sem_ch13.adb (Add_Call): Use an unchecked conversion to handle | |
2295 | properly derivations that are completions of private types. | |
2296 | (Add_Predicates): If type is private, examine rep. items of full | |
2297 | view, which may include inherited predicates. | |
2298 | (Build_Predicate_Functions): Ditto. | |
2299 | ||
2300 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2301 | ||
2302 | * sem_util.adb (New_Copy_Tree.Visit_Entity): Extend previous change | |
2303 | to generate new entities for subtype declarations located in | |
2304 | Expression_With_Action nodes. | |
2305 | ||
2306 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2307 | ||
2308 | * sem_elab.adb (Check_A_Call): Remove | |
2309 | local variables Is_DIC_Proc and Issue_In_SPARK. Verify the | |
2310 | need for Elaborate_All when SPARK elaboration checks are | |
2311 | required. Update the checks for instances, variables, and calls | |
2312 | to Default_Initial_Condition procedures. | |
2313 | ||
2314 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2315 | ||
2316 | * aspects.ads, aspects.adb: Make the GNAT-specific pragma No_Inline | |
2317 | into a boolean aspect, in analogy with the Ada aspect No_Return. | |
2318 | ||
a267d8cc AC |
2319 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2320 | ||
2321 | * exp_ch6.adb, sem_ch13.adb, sem_ch6.adb: Minor reformatting. | |
2322 | ||
2323 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2324 | ||
2325 | * sem_res.adb (Resolve_Actuals): Under -gnatd.q, reset | |
2326 | Is_True_Constant for an array variable that is passed to a | |
2327 | foreign function as an 'in' parameter. | |
2328 | * debug.adb: Document -gnatd.q. | |
2329 | ||
241f328c ES |
2330 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2331 | ||
2332 | * sem_ch6.adb (Analyze_Expression_Function): If expression function | |
2333 | is completion and return type is an access type do not freeze | |
2334 | designated type: this will be done in the process of freezing | |
2335 | the expression if needed. | |
2336 | (Freeze_Expr_Types): Check whether type is complete before | |
2337 | creating freeze node, to provide a better error message if | |
2338 | reference is premature. | |
2339 | * sem_ch13.adb (Check_Indexing_Functions): Ignore inherited | |
2340 | functions created by type derivations. | |
2341 | ||
cccb761b AC |
2342 | 2017-04-25 Pascal Obry <obry@adacore.com> |
2343 | ||
2344 | * g-sercom.ads: Add simple usage of GNAT.Serial_Communication. | |
2345 | ||
2346 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2347 | ||
2348 | * sem_res.adb (Resolve_Type_Conversion): | |
2349 | When resolving against any fixed type, set the type of the | |
2350 | operand as universal real when the operand is a multiplication | |
2351 | or a division where both operands are of any fixed type. | |
2352 | (Unique_Fixed_Point_Type): Add local variable ErrN. Improve the | |
2353 | placement of an error message by pointing to the operand of a | |
2354 | type conversion rather than the conversion itself. | |
2355 | ||
2356 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
2357 | ||
2358 | * sem_ch13.adb (Build_Predicate_Function_Declaration): Set | |
2359 | Needs_Debug_Info when producing SCOs. | |
2360 | ||
2361 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
2362 | ||
2363 | * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call): | |
2364 | Always pass a null finalization master for a library level named access | |
2365 | type to which a pragme No_Heap_Finalization applies. | |
2366 | ||
9dd958d2 AC |
2367 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> |
2368 | ||
2369 | PR ada/78845 | |
2370 | ||
2371 | * a-ngcoar.adb, a-ngrear.adb (Inverse): call Unit_Matrix with First_1 | |
2372 | set to A'First(2) and vice versa. | |
2373 | ||
7738270b AC |
2374 | 2017-04-25 Yannick Moy <moy@adacore.com> |
2375 | ||
2376 | * freeze.adb (Freeze_Record_Type): Remove obsolete | |
2377 | rule on volatile tagged record restriction on SPARK code. | |
2378 | ||
2379 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
2380 | ||
2381 | * sem_prag.adb (minor) Fix SPARK RM reference. | |
2382 | ||
2383 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
2384 | ||
2385 | * sem_util.adb, sem_util.ads (Unique_Defining_Entity): Update | |
2386 | comment to reflect which entity is chosen as unique entity. | |
2387 | (Unique_Entity): Return full view instead of private spec for | |
2388 | protected type or task type. Fix possible incorrect access when | |
2389 | called on entry. | |
2390 | ||
2391 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
2392 | ||
2393 | * sem_res.adb (Set_Slice_Subtype): Treat specially bit-packed | |
2394 | array types only instead of all packed array types. | |
2395 | ||
2396 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2397 | ||
2398 | * sem_ch6.adb (Conforming_Types): If type of formal as a specified | |
2399 | dimension system, verify that dimensions of both match. | |
2400 | (Check_Conformance): Add error message in case of dimension | |
2401 | mismatch. | |
2402 | * sem_dim.ads, sem_dim.adb (Dimensions_Match): New utility | |
2403 | predicate. | |
2404 | ||
2405 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
2406 | ||
2407 | * gnatxref.adb, gnatfind.adb: Avoid using the term project file, | |
2408 | confusing. | |
2409 | ||
e4b1cd76 YM |
2410 | 2017-04-25 Yannick Moy <moy@adacore.com> |
2411 | ||
2412 | * sem_util.adb: Minor refactoring. | |
2413 | * freeze.adb (Freeze_Record_Type): Fix checking of SPARK RM 7.1.3(5). | |
2414 | ||
3e3bc136 AC |
2415 | 2017-04-25 Claire Dross <dross@adacore.com> |
2416 | ||
2417 | * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Go to | |
2418 | ultimate alias when accessing overridden operation. Indeed, if the | |
2419 | overridden operation is itself inherited, it won't have any explicit | |
2420 | contract. | |
2421 | ||
2422 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2423 | ||
2424 | * sem_warn.adb (Warn_On_Overlapping_Actuals): There can be no | |
2425 | overlap if the two formals have different types, because formally | |
2426 | the corresponding actuals cannot designate the same objects. | |
2427 | ||
2428 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2429 | ||
2430 | * sem_dim.adb (Dimensions_Of_Operand): minot cleanups: a) If | |
2431 | dimensions are present from context, use them. b) If operand is | |
2432 | a static constant rewritten as a literal, obtain the dimensions | |
2433 | from the original declaration, otherwise use dimensions of type | |
2434 | established from context. | |
2435 | ||
2436 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
2437 | ||
2438 | * sem_util.adb (Is_Effectively_Volatile): Protect against base type | |
2439 | of array that is private. | |
2440 | ||
ca0b6141 AC |
2441 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
2442 | ||
2443 | * sem_ch3.adb, exp_util.adb, sem_prag.adb, exp_ch4.adb: Minor | |
2444 | reformatting. | |
2445 | ||
2446 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
2447 | ||
2448 | * a-ngelfu.adb, a-ngelfu.ads: Add SPARK_Mode On on spec, Off | |
2449 | on body. | |
2450 | ||
5f8d3dd5 AC |
2451 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2452 | ||
2453 | * sem_disp.adb (Check_Dispatching_Context): Add guard to refine | |
2454 | the check that recognizes a call to a private overridding and | |
2455 | replaces the called subprogram with its alias. | |
2456 | ||
2457 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2458 | ||
2459 | * exp_util.adb: Minor reformatting. | |
2460 | ||
b554177a AC |
2461 | 2017-04-25 Justin Squirek <squirek@adacore.com> |
2462 | ||
2463 | * exp_ch3.adb (Freeze_Type): Add condition to always treat | |
2464 | interface types as a partial view of a private type for the | |
2465 | generation of invariant procedure bodies. | |
2466 | * exp_util.adb, exp_util.ads (Add_Inherited_Invariants): | |
2467 | Add a condition to get the Corresponding_Record_Type for | |
2468 | concurrent types, add condition to return in the absence of a | |
2469 | class in the pragma, remove call to Replace_Type_References, | |
2470 | and add call to Replace_References. | |
2471 | (Add_Interface_Invariatns), | |
2472 | (Add_Parent_Invariants): Modify call to Add_Inherited_Invariants | |
2473 | to including the working type T. | |
2474 | (Add_Own_Invariants): Remove | |
2475 | legacy condition for separate units, remove dispatching for ASIS | |
2476 | and save a copy of the expression in the pragma expression. | |
2477 | (Build_Invariant_Procedure_Body): Default initalize vars, | |
2478 | remove return condition on interfaces, always use the | |
2479 | private type for interfaces, and move the processing of types | |
2480 | until after the processing of invariants for the full view. | |
2481 | (Build_Invariant_Procedure_Declaration): Remove condition | |
2482 | to return if an interface type is encountered and add | |
2483 | condition to convert the formal parameter to its class-wide | |
2484 | counterpart if Work_Typ is abstract. | |
2485 | (Replace_Type): Add call to Remove_Controlling_Arguments. | |
2486 | (Replace_Type_Ref): Remove class-wide dispatching for the current | |
2487 | instance of the type. | |
2488 | (Replace_Type_References): Remove parameter "Derived" | |
2489 | (Remove_Controlling_Arguments): Created in order to removing | |
2490 | the controlliong argument from calls to primitives in the case | |
2491 | of the formal parameter being an class-wide abstract type. | |
2492 | * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Almost identical | |
2493 | to the change made to Freeze_Type in exp_ch3. Add a condition | |
2494 | to treat interface types as a partial view. | |
2495 | * sem_prag.adb (Analyze_Pragma): Modify parameters in the call | |
2496 | to Build_Invariant_Procedure_Declaration to properly generate a | |
2497 | "partial" invariant procedure when Typ is an interface. | |
2498 | ||
2499 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2500 | ||
2501 | * a-numeri.ads: Go back to using brackets encoding for the Greek | |
2502 | letter pi. | |
2503 | ||
904a2ae4 AC |
2504 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2505 | ||
2506 | * sem_ch3.adb (Derive_Subprogram): Implement rule in RM 6.1.1 | |
2507 | (10-15): if derived type T with progenitors is abstract, | |
2508 | and primitive P of this type inherits non-trivial classwide | |
2509 | preconditions from both a parent operation and from an interface | |
2510 | operation, then the inherited operation is abstract if the parent | |
2511 | operation is not null. | |
2512 | * sem_disp.ads, sem_disp.adb: replace function Covers_Some_Interface | |
2513 | with Covered_Interface_Op to yield the actual interface operation | |
2514 | that is implemented by a given inherited operation. | |
2515 | ||
2516 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2517 | ||
2518 | * exp_ch4.adb (Expand_N_Op_Expon): Relocate left | |
2519 | and right operands after performing the validity checks. Required | |
2520 | because validity checks may remove side effects from the operands. | |
2521 | ||
2522 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2523 | ||
2524 | * exp_attr.adb (Attribute_Unrestricted_Access): | |
2525 | Do not disable implicit type conversion. Required to generate | |
2526 | code that displaces the pointer to reference the secondary | |
2527 | dispatch table. | |
2528 | ||
2529 | 2017-04-25 Pascal Obry <obry@adacore.com> | |
2530 | ||
2531 | * prj-attr.adb, snames.ads-tmpl: Add package Install's | |
2532 | Required_Artifacts attribute. | |
2533 | ||
8f34c90b AC |
2534 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2535 | ||
2536 | * sem_util.adb (Same_Value): String literals are compile-time | |
2537 | values, and comparing them must use Expr_Value_S. | |
2538 | ||
2539 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2540 | ||
2541 | * sem_ch4.adb (Complete_Object_Interpretation): If an explicit | |
2542 | dereference is introduced for the object, and the object is | |
2543 | overloaded, do not check whether it is aliased, because it may | |
2544 | include an implicit dereference. | |
2545 | * sem_type.adb (Disambiguate): If two interpretations are access | |
2546 | attribute types with the same designated type keep either of | |
2547 | them and do not report an ambiguity. A true ambiguity will be | |
2548 | reported elsewhere. | |
2549 | ||
2550 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2551 | ||
2552 | * a-numeri.ads: Change the encoding of Greek letter Pi from | |
2553 | brackets encoding to UTF-8. Use pragma Wide_Character_Encoding | |
2554 | to indicate the encoding. We considered using a byte order mark | |
2555 | (BOM), but that causes various trouble (misc software eats the | |
2556 | BOM, if you have a patch with a BOM, then it's not at the start | |
2557 | of the patch, so it's not a BOM, the BOM affects with-ing files, | |
2558 | etc.). | |
2559 | * scng.adb, s-wchcnv.adb: Minor. | |
2560 | ||
2561 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2562 | ||
2563 | * sem_ch3.adb, sem_ch8.adb, sem_disp.adb: Minor reformatting. | |
321c24f7 AC |
2564 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2565 | ||
2566 | * sem_ch3.adb (Add_Internal_Interface_Entities): Move | |
2567 | Has_Non_Trivial_Precondition to sem_util. for use elsewhere. | |
2568 | Improve error message on operations that inherit non-conforming | |
2569 | classwide preconditions from ancestor and progenitor. | |
2570 | * sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition): | |
2571 | moved here from sem_ch3. | |
2572 | * sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality | |
2573 | check given in RM 6.1.1 (17) concerning renamings of overriding | |
2574 | operations that inherits class-wide preconditions from ancestor | |
2575 | or progenitor. | |
2576 | ||
2577 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2578 | ||
2579 | * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup. | |
2580 | (Build_Adjust_Statements): Code cleanup. | |
2581 | (Build_Finalizer): Update the initialization of | |
2582 | Exceptions_OK. | |
2583 | (Build_Finalize_Statements): Code cleanup. | |
2584 | (Build_Initialize_Statements): Code cleanup. | |
2585 | (Make_Deep_Array_Body): Update the initialization of | |
2586 | Exceptions_OK. | |
2587 | (Make_Deep_Record_Body): Update the initialization of Exceptions_OK. | |
2588 | (Process_Object_Declaration): Generate a null exception handler only | |
2589 | when exceptions are allowed. | |
2590 | (Process_Transients_In_Scope): Update the initialization of | |
2591 | Exceptions_OK. | |
2592 | * exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New | |
2593 | routine. | |
2594 | * sem_ch11.adb (Analyze_Exception_Handlers): Do not check any | |
2595 | restrictions when the handler is internally generated and the | |
2596 | mode is warnings. | |
2597 | ||
2598 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2599 | ||
2600 | * sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to | |
2601 | enforce legality rule on classwide preconditions inherited from | |
2602 | both an ancestor and a progenitor (RM 6.1.1 (10-13). | |
2603 | * sem_disp.adb (Check_Dispatching_Context): A call to an abstract | |
2604 | subprogram need not be dispatching if it appears in a precondition | |
2605 | for an abstract or null subprogram. | |
2606 | ||
2607 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> | |
2608 | ||
2609 | * sem_ch10.adb: Minor typo fix. | |
2610 | ||
6948bc18 AC |
2611 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
2612 | ||
2613 | * gcc-interface/Makefile.in: Cleanup VxWorks targets. | |
2614 | ||
457cee0b AC |
2615 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
2616 | ||
2617 | * fname.adb (Is_Internal_File_Name): Arrange for the slices to | |
2618 | have a length which is a power of 2. | |
2619 | (Is_Predefined_File_Name): Likewise. Adjust comment. | |
2620 | ||
2621 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2622 | ||
2623 | * exp_aggr.adb (Component_Count): Protect the | |
2624 | arithmetic from attempting to convert a value >= 2**31 to Int, | |
2625 | which would otherwise raise Constraint_Error. | |
2626 | ||
2627 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2628 | ||
2629 | * opt.ads (Locking_Policy): Fix incorrect documentation. The | |
2630 | first character of the policy name is not unique. | |
2631 | ||
2632 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2633 | ||
2634 | * s-fileio.adb (Name): Raise Use_Error if the file is a temp file. | |
2635 | * s-ficobl.ads (Is_Temporary_File): Remove incorrect comment | |
2636 | about this flag not being used. It was already used, and it is | |
2637 | now used more. | |
2638 | ||
cf9a473e AC |
2639 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2640 | ||
2641 | * einfo.adb Flag301 is now known as Ignore_SPARK_Mode_Pragmas. | |
2642 | (Ignore_SPARK_Mode_Pragmas): New routine. | |
2643 | (Set_Ignore_SPARK_Mode_Pragmas): New routine. | |
2644 | (Write_Entity_Flags): Add an entry for Ignore_SPARK_Mode_Pragmas. | |
2645 | * einfo.ads Add new attribute Ignore_SPARK_Mode_Pragmas and update | |
2646 | related entities. | |
2647 | (Ignore_SPARK_Mode_Pragmas): New routine | |
2648 | along with pragma Inline. | |
2649 | (Set_Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline. | |
2650 | * opt.ads Rename flag Ignore_Pragma_SPARK_Mode to | |
2651 | Ignore_SPARK_Mode_Pragmas_In_Instance. | |
2652 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): | |
2653 | Save and restore the value of global flag | |
2654 | Ignore_SPARK_Mode_Pragmas_In_Instance. Set or reinstate the value | |
2655 | of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when either | |
2656 | the corresponding spec or the body must ignore all SPARK_Mode | |
2657 | pragmas found within. | |
2658 | (Analyze_Subprogram_Declaration): Mark | |
2659 | the spec when it needs to ignore all SPARK_Mode pragmas found | |
2660 | within to allow the body to infer this property in case it is | |
2661 | instantiated or inlined later. | |
2662 | * sem_ch7.adb (Analyze_Package_Body_Helper): Save and restore the | |
2663 | value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set | |
2664 | the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance | |
2665 | when the corresponding spec also ignored all SPARK_Mode pragmas | |
2666 | found within. | |
2667 | (Analyze_Package_Declaration): Mark the spec when | |
2668 | it needs to ignore all SPARK_Mode pragmas found within to allow | |
2669 | the body to infer this property in case it is instantiated or | |
2670 | inlined later. | |
2671 | * sem_ch12.adb (Analyze_Formal_Package_Declaration): | |
2672 | Save and restore the value of flag | |
2673 | Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the | |
2674 | formal spec when it needs to ignore all SPARK_Mode | |
2675 | pragmas found within to allow the body to infer this | |
2676 | property in case it is instantiated or inlined later. | |
2677 | (Analyze_Package_Instantiation): Save and restore the value | |
2678 | of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark | |
2679 | the instance spec when it needs to ignore all SPARK_Mode | |
2680 | pragmas found within to allow the body to infer this | |
2681 | property in case it is instantiated or inlined later. | |
2682 | (Analyze_Subprogram_Instantiation): Save and restore the value | |
2683 | of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the | |
2684 | instance spec and anonymous package when they need to ignore | |
2685 | all SPARK_Mode pragmas found within to allow the body to infer | |
2686 | this property in case it is instantiated or inlined later. | |
2687 | (Instantiate_Package_Body): Save and restore the value of global | |
2688 | flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of | |
2689 | global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the | |
2690 | corresponding instance spec also ignored all SPARK_Mode pragmas | |
2691 | found within. | |
2692 | (Instantiate_Subprogram_Body): Save and restore the | |
2693 | value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set | |
2694 | the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance | |
2695 | when the corresponding instance spec also ignored all SPARK_Mode | |
2696 | pragmas found within. | |
2697 | * sem_prag.adb (Analyze_Pragma): Update the reference to | |
2698 | Ignore_Pragma_SPARK_Mode. | |
2699 | * sem_util.adb (SPARK_Mode_Is_Off): A construct which ignored | |
2700 | all SPARK_Mode pragmas defined within yields mode "off". | |
2701 | ||
2702 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2703 | ||
2704 | * bindgen.adb, exp_dbug.adb, errout.adb, fname.adb: Minor reformatting. | |
2705 | ||
2706 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2707 | ||
2708 | * exp_atag.adb (Build_CW_Membership): Add "Suppress => | |
2709 | All_Checks" to avoid generating unnecessary checks. | |
2710 | * exp_ch4.adb (Expand_N_In, Make_Tag_Check): Add "Suppress => | |
2711 | All_Checks". | |
2712 | * sem.ads: Fix comment. | |
2713 | * expander.ads: Fix comment. | |
2714 | * exp_atag.ads: Fix comment: "Index = 0" should be | |
2715 | "Index >= 0". | |
2716 | ||
2717 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> | |
2718 | ||
2719 | * s-taprop-linux.adb: Minor editorial fixes. | |
2720 | ||
1f0bcd44 AC |
2721 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
2722 | ||
2723 | * sem_util.adb (New_Copy_Tree): Put back the declarations of the | |
2724 | hash tables at library level. Reinstate the NCT_Hash_Tables_Used | |
2725 | variable and set it to True whenever the main hash table is | |
2726 | populated. Short- circuit the Assoc function if it is false | |
2727 | and add associated guards. | |
2728 | ||
2729 | 2017-04-25 Olivier Hainque <hainque@adacore.com> | |
2730 | ||
2731 | * bindgen.adb (Gen_Elab_Calls): Also update counter of lone | |
2732 | specs without elaboration code that have an elaboration counter | |
2733 | nevertheless, e.g. when compiled with -fpreserve-control-flow. | |
2734 | * sem_ch10.adb (Analyze_Compilation_Unit): | |
2735 | Set_Elaboration_Entity_Required when requested to preserve | |
2736 | control flow, to ensure the unit elaboration is materialized at | |
2737 | bind time, resulting in the inclusion of the unit object file | |
2738 | in the executable closure at link time. | |
2739 | ||
2740 | 2017-04-25 Pierre-Marie de Rodat <derodat@adacore.com> | |
2741 | ||
2742 | * exp_dbug.adb: In Debug_Renaming_Declaration, | |
2743 | when dealing with indexed component, accept to produce a renaming | |
2744 | symbol when the index is an IN parameter or when it is a name | |
2745 | defined in an outer scope. | |
2746 | ||
2747 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
2748 | ||
2749 | * errout.adb (Error_Msg): Adapt continuation | |
2750 | message in instantiations and inlined bodies for info messages. | |
2751 | ||
2752 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
2753 | ||
2754 | * fname.adb (Has_Internal_Extension): Add pragma Inline. | |
2755 | Use direct 4-character slice comparisons. | |
2756 | (Has_Prefix): Add | |
2757 | pragma Inline. (Has_Suffix): Delete. | |
2758 | (Is_Internal_File_Name): | |
2759 | Test Is_Predefined_File_Name first. | |
2760 | (Is_Predefined_File_Name): | |
2761 | Use direct slice comparisons as much as possible and limit all | |
2762 | comparisons to at most 8 characters. | |
2763 | ||
62e45e3e HK |
2764 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2765 | ||
2766 | * checks.adb (Insert_Valid_Check): Code cleanup. | |
2767 | * exp_ch6.adb (Add_Validation_Call_By_Copy_Code): New routine. | |
2768 | (Expand_Actuals): Generate proper copy-back for a validation | |
2769 | variable when it acts as the argument of a type conversion. | |
2770 | * sem_util.adb (Is_Validation_Variable_Reference): Augment the | |
2771 | predicate to operate on type qualifications. | |
2772 | ||
ec40b86c HK |
2773 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2774 | ||
2775 | * sem_prag.adb, exp_ch6.adb, binde.adb, sem_disp.adb, s-fileio.adb: | |
2776 | Minor reformatting. | |
2777 | ||
ca1f6b29 BD |
2778 | 2017-04-25 Bob Duff <duff@adacore.com> |
2779 | ||
2780 | * sem_prag.adb (No_Return): Give an error if the pragma applies | |
2781 | to a body. Specialize the error for the specless body case, | |
2782 | as is done for (e.g.) pragma Convention. | |
2783 | * debug.adb: Add switch -gnatd.J to disable the above legality | |
2784 | checks. This is mainly for use in our test suite, to avoid | |
2785 | rewriting a lot of illegal (but working) code. It might also | |
2786 | be useful to customers. Under this switch, if a pragma No_Return | |
2787 | applies to a body, and the procedure raises an exception (as it | |
2788 | should), the pragma has no effect. If the procedure does return, | |
2789 | execution is erroneous. | |
2790 | ||
2791 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2792 | ||
2793 | * exp_ch6.adb (Expand_Actuals): This is the | |
2794 | root of the problem. It took N as an 'in out' parameter, and in | |
2795 | some cases, rewrote N, but then set N to Original_Node(N). So | |
2796 | the node returned in N had no Parent. The caller continued | |
2797 | processing of this orphaned node. In some cases that caused a | |
2798 | crash (e.g. Remove_Side_Effects climbs up Parents in a loop, | |
2799 | and trips over the Empty Parent). The solution is to make N an | |
2800 | 'in' parameter. Instead of rewriting it, return the list of | |
2801 | post-call actions, so the caller can do the rewriting later, | |
2802 | after N has been fully processed. | |
2803 | (Expand_Call_Helper): Move most of Expand_Call here. It has | |
2804 | too many premature 'return' statements, and we want to do the | |
2805 | rewriting on return. | |
2806 | (Insert_Post_Call_Actions): New procedure to insert the post-call | |
2807 | actions in the appropriate place. In the problematic case, | |
2808 | that involves rewriting N as an Expression_With_Actions. | |
2809 | (Expand_Call): Call the new procedures Expand_Call_Helper and | |
2810 | Insert_Post_Call_Actions. | |
2811 | ||
36357cf3 AC |
2812 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2813 | ||
2814 | * sem_prag.adb (Inherits_Class_Wide_Pre): Cleanup code, handle | |
2815 | properly type derived from generic formal types, to handle | |
2816 | properly modified version of ACATS 4.1B B611017. | |
2817 | ||
2818 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2819 | ||
2820 | * exp_unst.adb (Subp_Index): Adding missing | |
2821 | support for renamings and functions that return a constrained | |
2822 | array type (i.e. functions for which the frontend built a | |
2823 | procedure with an extra out parameter). | |
2824 | ||
2825 | 2017-04-25 Pascal Obry <obry@adacore.com> | |
2826 | ||
2827 | * s-string.adb: Minor code clean-up. | |
2828 | ||
2829 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2830 | ||
2831 | * s-os_lib.ads, s-os_lib.adb (Non_Blocking_Wait_Process): New | |
2832 | procedure. | |
2833 | * adaint.h, adaint.c (__gnat_portable_no_block_wait): C support | |
2834 | function for Non_Blocking_Wait_Process. | |
2835 | ||
2836 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2837 | ||
2838 | * prep.adb (Preprocess): Remove incorrect | |
2839 | Assert. Current character can be ASCII.CR. | |
2840 | ||
48c8c473 AC |
2841 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
2842 | ||
2843 | * sem_prag.adb (Set_Convention_From_Pragma): Cleanup code for | |
2844 | convention Stdcall, which has a number of exceptions. Convention | |
2845 | is legal on a component declaration whose type is an anonymous | |
2846 | access to subprogram. | |
2847 | ||
2848 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2849 | ||
2850 | * sem_ch4.adb: sem_ch4.adb Various reformattings. | |
2851 | (Try_One_Prefix_Interpretation): Use the base type when dealing | |
2852 | with a subtype created for purposes of constraining a private | |
2853 | type with discriminants. | |
2854 | ||
2855 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
2856 | ||
2857 | * einfo.ads, einfo.adb (Has_Private_Extension): new attribute. | |
2858 | * warnsw.ads, warnsw.adb (All_Warnings): Set warning on late | |
2859 | dispatching primitives (Restore_Warnings): Restore warning on | |
2860 | late dispatching primitives (Save_Warnings): Save warning on late | |
2861 | dispatching primitives (Do_Warning_Switch): Use -gnatw.j/-gnatw.J | |
2862 | to enable/disable this warning. | |
2863 | (WA_Warnings): Set warning on late dispatching primitives. | |
2864 | * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remember | |
2865 | that its parent type has a private extension. | |
2866 | * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension): | |
2867 | New subprogram. | |
2868 | * usage.adb: Document -gnatw.j and -gnatw.J. | |
2869 | ||
94295b25 AC |
2870 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2871 | ||
2872 | * exp_ch7.adb, checks.adb, sem_prag.adb, eval_fat.adb: Minor | |
2873 | reformatting. | |
2874 | ||
2875 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2876 | ||
2877 | * binde.adb (Validate): Do not pass dynamic strings | |
2878 | to pragma Assert, because older compilers do not support that. | |
2879 | ||
2880 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2881 | ||
2882 | * s-fileio.adb (Close): When a temp file is | |
2883 | closed, delete it and clean up its Temp_File_Record immediately, | |
2884 | rather than waiting until later. | |
2885 | (Temp_File_Record): Add File | |
2886 | component, so Close can know which Temp_File_Record corresponds | |
2887 | to the file being closed. | |
2888 | (Delete): Don't delete temp files, | |
2889 | because they are deleted by Close. | |
2890 | (Open): Set the File component | |
2891 | of Temp_File_Record. This requires moving the creation of the | |
2892 | Temp_File_Record to the end, after the AFCB has been created. | |
2893 | ||
b0cd50fd AC |
2894 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2895 | ||
2896 | * checks.adb (Insert_Valid_Check): Do not generate | |
2897 | a validity check when inside a generic. | |
2898 | ||
2899 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
2900 | ||
2901 | * sem_res.adb (Resolve_Type_Conversion): Fix bad logic. | |
2902 | ||
2903 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> | |
2904 | ||
2905 | * snames.ads-tmpl (Snames): More names for detecting predefined | |
2906 | potentially blocking subprograms. | |
2907 | ||
2908 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2909 | ||
2910 | * sem_prag.adb (Analyze_Pre_Post_Condition): The rules | |
2911 | concerning inheritance of class-wide preconditions do not apply | |
2912 | to postconditions. | |
2913 | ||
2914 | 2017-04-25 Bob Duff <duff@adacore.com> | |
2915 | ||
2916 | * s-ficobl.ads: Minor comment fix. | |
2917 | ||
d8ee014f YM |
2918 | 2017-04-25 Yannick Moy <moy@adacore.com> |
2919 | ||
2920 | * checks.adb (Apply_Scalar_Range_Check): Analyze precisely | |
2921 | conversions from float to integer in GNATprove mode. | |
2922 | (Apply_Type_Conversion_Checks): Make sure in GNATprove mode | |
2923 | to call Apply_Type_Conversion_Checks, so that range checks | |
2924 | are properly positioned when needed on conversions, including | |
2925 | when converting from float to integer. (Determine_Range): In | |
2926 | GNATprove mode, take into account the possibility of conversion | |
2927 | from float to integer. | |
2928 | * sem_res.adb (Resolve_Type_Conversion): Only enforce range | |
2929 | check on conversions from fixed-point to integer, not anymore | |
2930 | on conversions from floating-point to integer, when in GNATprove | |
2931 | mode. | |
2932 | ||
3c77943e YM |
2933 | 2017-04-25 Yannick Moy <moy@adacore.com> |
2934 | ||
2935 | * checks.adb (Determine_Range_R): Special case type conversions | |
2936 | from integer to float in order to get bounds in that case too. | |
2937 | * eval_fat.adb (Machine): Avoid issuing warnings in GNATprove | |
2938 | mode, for computations involved in interval checking. | |
2939 | ||
89b6c83e AC |
2940 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
2941 | ||
2942 | * checks.adb (Insert_Valid_Check): Partially reimplement validity | |
2943 | checks. | |
2944 | * einfo.adb Node36 is now used as Validated_Object. | |
2945 | (Validated_Object): New routine. | |
2946 | (Set_Validated_Object): New routine. | |
2947 | (Write_Field36_Name): Add an entry for Validated_Object. | |
2948 | * einfo.ads Add new attribute Validated_Object along with | |
2949 | usage in entities. | |
2950 | (Validated_Object): New routine along with pragma Inline. | |
2951 | (Set_Validated_Object): New routine along with pragma Inline. | |
2952 | * exp_attr.adb (Make_Range_Test): Add processing for validation | |
2953 | variables to avoid extra reads and copies of the prefix. | |
2954 | * exp_ch6.adb (Expand_Actuals): Add copy-back for validation | |
2955 | variables in order to reflect any changes done in the variable | |
2956 | back into the original object. | |
2957 | * sem_util.adb (Is_Validation_Variable_Reference): New routine. | |
2958 | * sem_util.ads (Is_Validation_Variable_Reference): New routine. | |
2959 | ||
2960 | 2017-04-25 Steve Baird <baird@adacore.com> | |
2961 | ||
2962 | * exp_ch7.adb (Build_Array_Deep_Procs, | |
2963 | Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't | |
2964 | generate Finalize_Address routines for CodePeer. | |
2965 | ||
2966 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2967 | ||
2968 | * sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of | |
2969 | Analyze_Pre_Post_Condition, to implement the legality checks | |
2970 | mandated by AI12-0131: Pre'Class shall not be specified for an | |
2971 | overriding primitive subprogram of a tagged type T unless the | |
2972 | Pre'Class aspect is specified for the corresponding primitive | |
2973 | subprogram of some ancestor of T. | |
2974 | ||
c6840e83 AC |
2975 | 2017-04-25 Bob Duff <duff@adacore.com> |
2976 | ||
2977 | * sem_ch8.adb (Use_One_Type): If a use_type_clause | |
2978 | is redundant, set its Used_Operations to empty. This is only | |
2979 | necessary for use clauses that appear in the parent of a generic | |
2980 | child unit, because those use clauses get reanalyzed when we | |
2981 | instantiate the generic, and we don't want the Used_Operations | |
2982 | carried over from the original context (where it was probably | |
2983 | not redundant). | |
2984 | ||
2985 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
2986 | ||
2987 | * exp_ch6.adb: Minor reformatting. | |
2988 | ||
f2a54683 AC |
2989 | 2017-04-25 Bob Duff <duff@adacore.com> |
2990 | ||
2991 | * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
2992 | Use Source_Index (Current_Sem_Unit) to find the correct casing. | |
2993 | * exp_prag.adb (Expand_Pragma_Check): Use Source_Index | |
2994 | (Current_Sem_Unit) to find the correct casing. | |
2995 | * par.adb (Par): Null out Current_Source_File, to ensure that | |
2996 | the above bugs won't rear their ugly heads again. | |
2997 | ||
2998 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
2999 | ||
3000 | * sem_ch8.adb (Find_Type): For an attribute reference | |
3001 | 'Class, if prefix type is synchronized and previous errors | |
3002 | have suppressed the creation of the corresponding record type, | |
3003 | create a spurious class-wide for the synchonized type itself, | |
3004 | to catch other misuses of the attribute | |
3005 | ||
3006 | 2017-04-25 Steve Baird <baird@adacore.com> | |
3007 | ||
3008 | * exp_ch6.adb (Expand_Simple_Function_Return): if CodePeer_Mode | |
3009 | is True, then don't generate the accessibility check for the | |
3010 | tag of a tagged result. | |
3011 | * exp_intr.adb (Expand_Dispatching_Constructor_Call): | |
3012 | if CodePeer_Mode is True, then don't generate the | |
3013 | tag checks for the result of call to an instance of | |
3014 | Ada.Tags.Generic_Dispatching_Constructor (i.e., both the "is a | |
3015 | descendant of" check and the accessibility check). | |
3016 | ||
3017 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3018 | ||
3019 | * sem_ch13.adb: Code cleanups. | |
3020 | * a-strbou.ads: minor whitespace fix in Trim for bounded strings. | |
3021 | * sem_ch8.ads: Minor comment fix. | |
3022 | ||
2df23f66 AC |
3023 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
3024 | ||
3025 | * exp_ch4.adb (Library_Level_Target): New function. | |
3026 | (Expand_Concatenate): When optimization is enabled, also expand | |
3027 | the operation out-of-line if the concatenation is present within | |
3028 | the expression of the declaration of a library-level object and | |
3029 | not only if it is the expression of the declaration. | |
3030 | ||
3031 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3032 | ||
3033 | * freeze.adb (Freeze_Object_Declaration): Do | |
3034 | not Remove_Side_Effects if there is a pragma Linker_Section, | |
3035 | because in that case we want static initialization in the | |
3036 | appropriate section. | |
3037 | ||
3038 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> | |
3039 | ||
3040 | * exp_dbug.adb: Minor rewording and reformatting. | |
3041 | ||
3042 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3043 | ||
3044 | * sem_attr.adb (Statically_Denotes_Object): New predicate, to | |
3045 | handle the proposed changes to rules concerning potentially | |
3046 | unevaluated expressions, to include selected components that | |
3047 | do not depend on discriminants, and indexed components with | |
3048 | static indices. | |
3049 | * sem_util.adb (Is_Potentially_Unevaluated): Add check for | |
3050 | predicate in quantified expression, and fix bugs in the handling | |
3051 | of case expressions and membership test. | |
3052 | (Analyze_Attribute_Old_Result): use new predicate. | |
3053 | (Analyze_Attribute, case Loop_Entry): ditto. | |
3054 | ||
d9049849 AC |
3055 | 2017-04-25 Bob Duff <duff@adacore.com> |
3056 | ||
3057 | * s-secsta.adb (SS_Info): Add a comment | |
3058 | explaining why we don't need to walk all the chunks in order to | |
3059 | compute the total size. | |
3060 | ||
3061 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3062 | ||
3063 | * namet.ads, namet.adb (Global_Name_Buffer): Increase the length | |
3064 | of the global name buffer to 4*Max_Line_Length. | |
3065 | ||
3066 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3067 | ||
3068 | * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): When creating a | |
3069 | renaming entity for debug information, mark the entity as needing debug | |
3070 | info if it comes from sources. | |
3071 | ||
3072 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3073 | ||
3074 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove the | |
3075 | restriction converning the use of 'Address where the prefix is | |
3076 | of a controlled type. | |
3077 | ||
3078 | 2017-04-25 Pierre-Marie de Rodat <derodat@adacore.com> | |
3079 | ||
3080 | * exp_dbug.adb: In Debug_Renaming_Declaration, | |
3081 | skip slices that are made redundant by an indexed component | |
3082 | access. | |
3083 | * atree.h: New definition for Original_Node. | |
3084 | ||
db78cb81 HK |
3085 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3086 | ||
3087 | * sem_prag.adb, sem_prag.ads: Minor reformatting. | |
3088 | ||
0c85534d ES |
3089 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
3090 | ||
3091 | * sem_ch3.adb (Check_Entry_Contract): Call | |
3092 | Preanalyze_Spec_Expression so that resolution takes place as well. | |
3093 | * sem_util.adb (Check_Internal_Protected_Use): Reject properly | |
3094 | internal calls that appear in preconditions of protected | |
3095 | operations, in default values for same, and in contract guards | |
3096 | for contract cases in SPARK. | |
3097 | ||
be3416c6 AC |
3098 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> |
3099 | ||
3100 | * a-numaux.ads: Fix description of a-numaux-darwin | |
3101 | and a-numaux-x86. | |
3102 | (Double): Define to Long_Float. | |
3103 | * a-numaux-vxworks.ads (Double): Likewise. | |
3104 | * a-numaux-darwin.ads | |
3105 | (Double): Likewise. | |
3106 | * a-numaux-libc-x86.ads (Double): Define to Long_Long_Float. | |
3107 | * a-numaux-x86.ads: Fix package description. | |
3108 | * a-numaux-x86.adb (Is_Nan): Minor tweak. | |
3109 | (Reduce): Adjust and complete description. Call Is_Nan instead of | |
3110 | testing manually. Use an integer temporary to hold rounded value. | |
3111 | * a-numaux-darwin.adb (Reduce): Likewise. | |
3112 | (Is_Nan): New function. | |
3113 | ||
3114 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3115 | ||
3116 | * sem_ch4.adb (Analyze_Selected_Component): Additional refinement | |
3117 | on analysis of prefix whose type is a current instance of a | |
3118 | synchronized type, but where the prefix itself is an entity that | |
3119 | is an object. | |
3120 | ||
3121 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3122 | ||
3123 | * exp_ch5.adb (Replace_Target): When rewriting the RHS, preserve | |
3124 | the identity of callable entities therein, because they have been | |
3125 | properly resolved, and prefixed calls may have been rewritten | |
3126 | as normal calls. | |
3127 | ||
3128 | 2017-04-25 Patrick Bernardi <bernardi@adacore.com> | |
3129 | ||
3130 | * exp_ch3.adb (Build_Init_Statements): Convert | |
3131 | the expression of the pragma/aspect Secondary_Stack_Size to | |
3132 | internal type System.Parameters.Size_Type before assigning | |
3133 | it to the Secondary_Stack_Size component of the task type's | |
3134 | corresponding record. | |
3135 | ||
3136 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
3137 | ||
3138 | * sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal | |
3139 | (etc) optimizations when the type is modular and the offsets | |
3140 | are equal. | |
3141 | ||
3142 | 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> | |
3143 | ||
3144 | * s-osinte-freebsd.ads: Minor comment tweaks | |
3145 | ||
3146 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3147 | ||
3148 | * urealp.adb (UR_Write): Reverse previous patch | |
3149 | adding documentation on why we generate multiplications instead | |
3150 | of divisions (needed to avoid expressions whose computation with | |
3151 | large numbers may cause division by 0). | |
3152 | ||
3153 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3154 | ||
3155 | * erroutc.adb (Set_Specific_Warning_Off, | |
3156 | Set_Warnings_Mode_Off): Use the correct source file for | |
3157 | Stop. Was using Current_Source_File, which is only valid during | |
3158 | parsing. Current_Source_File will have a leftover value from | |
3159 | whatever file happened to be parsed last, because of a with_clause | |
3160 | or something. | |
3161 | ||
3162 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3163 | ||
3164 | * lib.ads, lib.adb (In_Internal_Unit): New functions similar | |
3165 | to In_Predefined_Unit, but including GNAT units. | |
3166 | * sem_util.ads, sem_util.adb (Should_Ignore_Pragma): Replace | |
3167 | with Should_Ignore_Pragma_Par and Should_Ignore_Pragma_Sem, | |
3168 | because Should_Ignore_Pragma was not working reliably outside | |
3169 | the parser, because Current_Source_File is not valid. | |
3170 | * sem_prag.adb, exp_prag.adb: Call Should_Ignore_Pragma_Sem. | |
3171 | * par-prag.adb: Call Should_Ignore_Pragma_Par. | |
3172 | ||
f4f5851e AC |
3173 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> |
3174 | ||
3175 | * gnat1drv.adb (Gnat1Drv): Disable Generate_Processed_File in | |
3176 | codepeer mode. | |
3177 | ||
3178 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3179 | ||
3180 | * urealp.adb (UR_Write): Fix output of constants with a base other | |
3181 | that 10. | |
3182 | ||
3183 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
3184 | ||
3185 | * sem_ch13.adb (Get_Interfacing_Aspects): Moved to sem_util.adb. | |
3186 | * sem_prag.adb (Analyze_Pragma, Process_Import_Or_Interface): | |
3187 | Add extra parameter for Process_Interface_Name. | |
3188 | (Process_Interface_Name): Add parameter for pragma to analyze | |
3189 | corresponding aspect. | |
3190 | * sem_util.ads, sem_util.adb (Get_Interfacing_Aspects): Added | |
3191 | from sem_ch13.adb | |
3192 | ||
ded462b0 AC |
3193 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
3194 | ||
3195 | * exp_ch7.adb, einfo.ads, sem_prag.adb: Minor reformatting and typo | |
3196 | correction. | |
3197 | ||
3198 | 2017-04-25 Yannick Moy <moy@adacore.com> | |
3199 | ||
3200 | * sem_res.adb (Resolve_Comparison_Op): Do not | |
3201 | attempt evaluation of relational operations inside assertions. | |
3202 | ||
3203 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
3204 | ||
3205 | * exp_util.adb (Add_Interface_Invariants): | |
3206 | Restored, code moved back from Build_Invariant_Procedure_Body. | |
3207 | (Add_Parent_Invariants): Restored, code moved back from | |
3208 | Build_Invariant_Procedure_Body. | |
3209 | (Build_Invariant_Procedure_Body): | |
3210 | Remove refactored calls and integrated code from | |
3211 | Add_Parent_Invariants and Add_Interface_Invariants. | |
3212 | ||
3213 | 2017-04-25 Johannes Kanig <kanig@adacore.com> | |
3214 | ||
3215 | * errout.adb (Output_Messages): Adjust computation of total | |
3216 | errors | |
3217 | * erroutc.adb (Error_Msg): In statistics counts, deal | |
3218 | correctly with informational messages that are not warnings. | |
3219 | * errutil.adb (Finalize): adjust computation of total errors. | |
3220 | ||
3221 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
3222 | ||
3223 | * terminals.c (__gnat_terminate_pid): New. | |
3224 | * g-exptty.ads (Terminate_Process): New. Update comments. | |
3225 | ||
d1eb8a82 AC |
3226 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
3227 | ||
3228 | * a-cfinve.ads, a-cofove.ads (Empty_Vector): add Global contract. | |
3229 | ||
3230 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
3231 | ||
3232 | * sem_ch3.adb (Analyze_Declarations): Minor | |
3233 | correction to comments, move out large conditional and scope | |
3234 | traversal into a predicate. | |
3235 | (Uses_Unseen_Lib_Unit_Priv): Predicate function made from extracted | |
3236 | logic. | |
3237 | ||
3238 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3239 | ||
3240 | * sem_ch4.adb (Analyze_Selected_Component): Refine analysis | |
3241 | of prefix whose type is a current instance of a synchronized | |
3242 | type. If the prefix is an object this is an external call (or | |
3243 | requeue) that can only access public operations of the object. The | |
3244 | previous predicate was too restrictive, and did not allow public | |
3245 | protected operations, only task entries. | |
3246 | ||
3247 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3248 | ||
3249 | * sem_ch5.adb, fname.adb: Minor reformatting. | |
3250 | ||
3251 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3252 | ||
3253 | * einfo.adb (Is_Anonymous_Access_Type): New routine. | |
3254 | * einfo.ads Update the placement of | |
3255 | E_Anonymous_Access_Subprogram_Type along with all subtypes that | |
3256 | mention the ekind. | |
3257 | (Is_Anonymous_Access_Type): New routine. | |
3258 | * exp_ch7.adb (Allows_Finalization_Master): Do not generate a | |
3259 | master for an access type subject to pragma No_Heap_Finalization. | |
3260 | * exp_util.adb (Build_Allocate_Deallocate_Proc): An object being | |
3261 | allocated or deallocated does not finalization actions if the | |
3262 | associated access type is subject to pragma No_Heap_Finalization. | |
3263 | * opt.ads Add new global variable No_Heap_Finalization_Pragma. | |
3264 | * par-prag.adb Pragma No_Heap_Finalization does not need special | |
3265 | processing from the parser. | |
3266 | * sem_ch6.adb (Check_Return_Subtype_Indication): Remove ancient | |
3267 | ??? comments. Use the new predicate Is_Anonymous_Access_Type. | |
3268 | * sem_prag.adb Add an entry in table Sig_Flags for pragma | |
3269 | No_Heap_Finalization. | |
3270 | (Analyze_Pragma): Add processing for | |
3271 | pragma No_Heap_Finalization. Update various error messages to | |
3272 | use Duplication_Error. | |
3273 | * sem_util.ads, sem_util.adb (No_Heap_Finalization): New routine. | |
3274 | * snames.ads-tmpl: Add new predefined name No_Heap_Finalization | |
3275 | and corresponding pragma id. | |
3276 | ||
820f1162 AC |
3277 | 2017-04-25 Bob Duff <duff@adacore.com> |
3278 | ||
3279 | * freeze.adb (Freeze_Record_Type): Use the | |
3280 | underlying type of the component type to determine whether it's | |
3281 | elementary. For representation clause purposes, a private type | |
3282 | should behave the same as its full type. | |
3283 | * fname.ads, fname.adb (Is_Predefined_File_Name): | |
3284 | Make sure things like "system.ali" are recognized as predefined. | |
3285 | ||
3286 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3287 | ||
3288 | * debug.adb: Update documentation of -gnatd.6. | |
3289 | ||
3290 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3291 | ||
3292 | * sem_ch5.adb (Preanalyze_Range): Handle properly an Ada2012 | |
3293 | element iterator when the name is an overloaded function call, | |
3294 | one of whose interpretations yields an array. | |
3295 | ||
998429d6 AC |
3296 | 2017-04-25 Bob Duff <duff@adacore.com> |
3297 | ||
3298 | * uname.ads, uname.adb (Is_Predefined_Unit_Name, | |
3299 | Is_Internal_Unit_Name): New functions for operating on unit | |
3300 | names, as opposed to file names. There's some duplicated code | |
3301 | with fname.adb, which is unfortunate, but it seems like we don't | |
3302 | want to add dependencies here. | |
3303 | * fname-uf.adb (Get_File_Name): Change Is_Predefined_File_Name | |
3304 | to Is_Predefined_Unit_Name; the former was wrong, because Uname | |
3305 | is not a file name at all. | |
3306 | * fname.ads, fname.adb: Document the fact that | |
3307 | Is_Predefined_File_Name and Is_Internal_File_Name can be called | |
3308 | for ALI files, and fix the code so it works properly for ALI | |
3309 | files. E.g. these should return True for "system.ali". | |
3310 | ||
3311 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
3312 | ||
3313 | * exp_util.adb (Add_Invariant): Removed, | |
3314 | code moved to Add_Invariant_Check, Add_Inherited_Invariant, | |
3315 | and Add_Own_Invariant. (Add_Invariant_Check): Used | |
3316 | for adding runtime checks from any kind of invariant. | |
3317 | (Add_Inherited_Invariant): Generates invariant checks for | |
3318 | class-wide invariants (Add_Interface_Invariants): Removed, code | |
3319 | moved to Build_Invariant_Procedure_Body (Add_Own_Invariant): | |
3320 | Create a types own invariant procedure (Add_Parent_Invariants): | |
3321 | Removed, code moved to Build_Invariant_Procedure_Body | |
3322 | (Build_Invariant_Procedure_Body): Add refactored calls | |
3323 | and integrated code from Add_Parent_Invariants and | |
3324 | Add_Interface_Invariants. | |
3325 | (Process_Type): Removed, the | |
3326 | relavant code was inlined into both Add_Own_Invariant and | |
3327 | Add_Inherited_Invariant. | |
3328 | ||
94d3a18d AC |
3329 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3330 | ||
3331 | * make.adb, par-ch2.adb, sem_util.adb, scans.ads, sem_ch8.adb, | |
3332 | scn.adb, osint.adb, fname.adb: Minor reformatting. | |
3333 | ||
3334 | 2017-04-25 Pascal Obry <obry@adacore.com> | |
3335 | ||
3336 | * s-taprop-mingw.adb: Do not check for CloseHandle in | |
3337 | Finalize_TCB. | |
3338 | ||
51148dda AC |
3339 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3340 | ||
3341 | * sem_util.adb (Check_Part_Of_Reference): | |
3342 | Continue to examine the context if the reference appears within | |
3343 | an expression function. | |
3344 | ||
3345 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
3346 | ||
3347 | * exp_ch7.adb, exp_ch7.ads Remove Build_Invariant_Procedure_Body | |
3348 | and Build_Invariant_Procedure_Declaration. | |
3349 | * exp_util.ads, exp_util.adb Add Build_Invariant_Procedure_Body | |
3350 | and Build_Invariant_Procedure_Declaration from exp_ch7 | |
3351 | and break-out Is_Untagged_Private_Derivation from | |
3352 | Build_Invariant_Procedure_Body. | |
3353 | (Replace_Type_References): | |
3354 | Append an extra parameter to allow for dispatching replacements | |
3355 | and add the corrasponding logic. | |
3356 | (Type_Invariant): Remove | |
3357 | Replace_Typ_Refs and replace its references with calls to | |
3358 | Replace_Type_References. | |
3359 | * sem_ch3.adb, sem_prag.adb: Remove with and use of exp_ch7. | |
3360 | ||
b043ae01 AC |
3361 | 2017-04-25 Bob Duff <duff@adacore.com> |
3362 | ||
3363 | * sem_util.ads, sem_util.adb (Should_Ignore_Pragma): New function | |
3364 | that returns True when appropriate. | |
3365 | * par-prag.adb, exp_prag.adb, sem_prag.adb: Do not ignore pragmas | |
3366 | when compiling predefined files. | |
3367 | * fname.ads, fname.adb (Is_Predefined_File_Name): Fix bug: | |
3368 | "gnat.adc" should not be considered a predefined file name. | |
3369 | That required (or at least encouraged) a lot of cleanup of global | |
3370 | variable usage. We shouldn't be communicating information via | |
3371 | the global name buffer. | |
3372 | * bindgen.adb, errout.adb, fname-uf.adb, lib-load.adb, make.adb, | |
3373 | * restrict.adb, sem_ch10.adb, sem_ch6.adb, sem_ch8.adb: Changes | |
3374 | required by the above-mentioned cleanup. | |
3375 | ||
3376 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3377 | ||
3378 | * osint.adb (Find_File): Handle properly a request for a | |
3379 | configuration file whose name is a directory. | |
3380 | ||
b6e6a4e3 AC |
3381 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3382 | ||
3383 | * sem_attr.adb, sem_ch5.adb: Minor reformatting. | |
3384 | ||
3385 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3386 | ||
3387 | * types.ads: Minor: Fix '???' comment. | |
3388 | * sem_ch8.adb: Minor comment fix. | |
3389 | ||
3390 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3391 | ||
3392 | * sem_prag.adb: Remove suspicious uses of Name_Buf. | |
3393 | * stringt.ads, stringt.adb, exp_dbug.adb, sem_dim.adb: Remove | |
3394 | Add_String_To_Name_Buffer, to avoid using the global Name_Buf. | |
3395 | Add String_To_Name with no side effects. | |
3396 | ||
3397 | 2017-04-25 Justin Squirek <squirek@adacore.com> | |
3398 | ||
3399 | * sem_ch3.adb (Analyze_Declarations): Add | |
3400 | additional condition for edge case. | |
3401 | ||
3402 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3403 | ||
3404 | * par-ch2.adb, scans.ads, scn.adb: Do not give an error for | |
3405 | reserved words inside pragmas. This is necessary to allow the | |
3406 | pragma name Interface to be used in pragma Ignore_Pragma. | |
3407 | * par.adb: Minor comment fix. | |
3408 | ||
3409 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3410 | ||
3411 | * a-tags.ads, a-tags.adb (Type_Is_Abstract): Renamed as Is_Abstract. | |
3412 | * rtsfind.ads (RE_Type_Is_Abstract): Renamed as Is_Abstract. | |
3413 | * exp_disp.adb (Make_DT): Update occurrences of RE_Type_Is_Abstract. | |
3414 | * exp_intr.adb (Expand_Dispatching_Constructor_Call): Update | |
3415 | occurrences of RE_Type_Is_Abstract | |
3416 | ||
3417 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3418 | ||
3419 | * exp_util.adb (Build_Chain): Account for ancestor | |
3420 | subtypes while traversing the derivation chain. | |
3421 | ||
f8a21934 AC |
3422 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
3423 | ||
3424 | * sem_attr.adb: minor reformatting. | |
3425 | ||
3426 | 2017-04-25 Doug Rupp <rupp@adacore.com> | |
3427 | ||
3428 | * sigtramp-vxworks-target.inc [PPC64]: Add a .localentry pseudo-op. | |
3429 | ||
3430 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3431 | ||
3432 | * sem_ch5.adb (Analyze_Assignment): Reset Full_Analysis flag on | |
3433 | the first pass over an assignment statement with target names, | |
3434 | to prevent the generation of subtypes (such as discriminated | |
3435 | record components)that may carry the target name outside of the | |
3436 | tree for the assignment. The subtypes will be generated when | |
3437 | the assignment is reanalyzed in full. | |
3438 | (Analyze_Target_Name): Handle properly class-wide types. | |
3439 | ||
b619c88e AC |
3440 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3441 | ||
3442 | * elists.ads, elists.adb (Prepend_Unique_Elmt): New routine. | |
3443 | * exp_ch3.adb (Freeze_Type): Signal the DIC body is created for | |
3444 | the purposes of freezing. | |
3445 | * exp_util.adb Update the documentation and structure of the | |
3446 | type map used in class-wide semantics of assertion expressions. | |
3447 | (Add_Inherited_Tagged_DIC): There is really no need to preanalyze | |
3448 | and resolve the triaged expression because all substitutions | |
3449 | refer to the proper entities. Update the replacement of | |
3450 | references. | |
3451 | (Build_DIC_Procedure_Body): Add formal parameter | |
3452 | For_Freeze. Add local variable Build_Body. Inherited DIC pragmas | |
3453 | are now only processed when freezing occurs. Build a body only | |
3454 | when one is needed. | |
3455 | (Entity_Hash): Removed. | |
3456 | (Map_Types): New routine. | |
3457 | (Replace_Object_And_Primitive_References): Removed. | |
3458 | (Replace_References): New routine. | |
3459 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
3460 | (Type_Map_Hash): New routine. | |
3461 | (Update_Primitives_Mapping): Update the mapping call. | |
3462 | (Update_Primitives_Mapping_Of_Types): Removed. | |
3463 | * exp_util.ads (Build_DIC_Procedure_Body): Add formal | |
3464 | parameter For_Freeze and update the comment on usage. | |
3465 | (Map_Types): New routine. | |
3466 | (Replace_References): New routine. | |
3467 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
3468 | (Update_Primitives_Mapping_Of_Types): Removed. | |
3469 | * sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC | |
3470 | properties of the private type to the full view in case the full | |
3471 | view derives from a parent type and inherits a DIC pragma. | |
3472 | * sem_prag.adb (Analyze_Pragma): Guard against a case where a | |
3473 | DIC pragma is placed at the top of a declarative region. | |
3474 | ||
3475 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
3476 | ||
3477 | * a-tasatt.adb: Complete previous change and use an unsigned | |
3478 | int to avoid overflow checks. | |
3479 | ||
3480 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3481 | ||
3482 | * sem_attr.adb (Analyze_Attribute, case 'Access): Specialize | |
3483 | the error message when the attribute reference is an actual in | |
3484 | a call to a subprogram inherited from a generic formal type with | |
3485 | unknown discriminants, which makes the subprogram and its formal | |
3486 | parameters intrinsic (see RM 6.3.1 (8) and (13)). | |
3487 | ||
2bb988bb AC |
3488 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3489 | ||
3490 | * sem_aggr.adb, inline.adb, einfo.adb, einfo.ads, scng.adb, | |
3491 | sem_prag.adb: Minor reformatting. | |
3492 | ||
3493 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3494 | ||
3495 | * sem_attr.adb (Type_Key): Add code in the | |
3496 | recursive Compute_Type_Key to protect against fetching the source | |
3497 | code for Standard, in case a component of the type is declared | |
3498 | in Standard. There was already code to do this for the original | |
3499 | type, but not for its components. | |
3500 | ||
b03d3f73 AC |
3501 | 2017-04-25 Javier Miranda <miranda@adacore.com> |
3502 | ||
3503 | * exp_ch3.adb (Build_Initialization_Call): Handle | |
3504 | subtypes of private types when searching for the underlying full | |
3505 | view of a private type. | |
3506 | ||
3507 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3508 | ||
3509 | * sem_res.adb (Set_Mixed_Mode_Operand): A universal | |
3510 | real conditional expression can appear in a fixed-type context | |
3511 | and must be resolved with that context to facilitate the code | |
3512 | generation to the backend. | |
3513 | ||
3514 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3515 | ||
3516 | * einfo.adb, einfo.ads (Body_Needed_For_Inlining): New flag, | |
3517 | to indicate whether during inline processing, when some unit U1 | |
3518 | appears in the context of a unit U2 compiled for instantiation | |
3519 | or inlining purposes, the body of U1 needs to be compiled as well. | |
3520 | * sem_prag.adb (Process_Inline): Set Body_Needed_For_Inlining if | |
3521 | context is a package declaration. | |
3522 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration, | |
3523 | Analyze_Generic_Package_Declaration): ditto. | |
3524 | * inline.adb (Analyze_Inlined_Bodies): Check | |
3525 | Body_Needed_For_Inlining. | |
3526 | ||
3527 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3528 | ||
3529 | * par.adb (Current_Assign_Node): Global variable use to record | |
3530 | the presence of a target_name in the right hand side of the | |
3531 | assignment being parsed. | |
3532 | * par-ch4.adb (P_Name): If the name is a target_name, mark the | |
3533 | enclosing assignment node accordingly. | |
3534 | * par-ch5.adb (P_Assignment_Statement): Set Current_Assign_Node | |
3535 | appropriately. | |
3536 | * sem_ch5.adb (Analyze_Assignment): Disable expansion before | |
3537 | analyzing RHS if the statement has target_names. | |
3538 | * sem_aggr.adb (Resolve_Iterated_Component_Association): Handle | |
3539 | properly choices that are subtype marks. | |
3540 | * exp_ch5.adb: Code cleanup. | |
3541 | ||
3542 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3543 | ||
3544 | * s-memory.adb: Add a comment regarding efficiency. | |
3545 | * atree.adb: Fix the assertion, and combine 2 assertions into one, | |
3546 | "the source has an extension if and only if the destination does." | |
3547 | * sem_ch3.adb, sem_ch13.adb: Address ??? comments. | |
3548 | ||
3549 | 2017-04-25 Arnaud Charlet <charlet@adacore.com trojanek> | |
3550 | ||
3551 | * a-tasatt.adb (Set_Value): Fix handling of 32bits -> 64bits | |
3552 | conversion. | |
3553 | ||
3554 | 2017-04-25 Doug Rupp <rupp@adacore.com> | |
3555 | ||
3556 | * init.c (__gnat_error_handler) [vxworks]: Turn on sigtramp | |
3557 | handling for ppc64-vx7. | |
3558 | * sigtramp-vxworks-target.inc | |
3559 | [SIGTRAMP_BODY]: Add section for ppc64-vx7. | |
3560 | ||
18e82947 AC |
3561 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
3562 | ||
3563 | * ada_get_targ.adb: New file. | |
3564 | ||
f607cacf BD |
3565 | 2017-04-25 Bob Duff <duff@adacore.com> |
3566 | ||
3567 | * uintp.adb (Most_Sig_2_Digits): In case Direct (Right), fetch | |
3568 | Direct_Val (Right), instead of the incorrect Direct_Val (Left). | |
3569 | (UI_GCD): Remove ??? comment involving possible efficiency | |
3570 | improvements. This just isn't important after all these years. | |
3571 | Also minor cleanup. | |
3572 | * uintp.ads: Minor cleanup. | |
3573 | ||
28ad2460 HK |
3574 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3575 | ||
3576 | * exp_util.adb, exp_util.ads, sem_ch7.adb, sem_prag.adb, exp_ch3.adb: | |
3577 | Revert previous changes. | |
3578 | * scng.adb: Minor reformatting. | |
3579 | * s-stratt.ads: Fix unbalanced parens in comment. | |
3580 | ||
b41c731f AC |
3581 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> |
3582 | ||
3583 | * sem_ch3.adb, exp_util.adb, sem_prag.adb, freeze.adb, sem_util.adb: | |
3584 | Minor reformatting. | |
3585 | ||
3586 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3587 | ||
3588 | * scng.adb (Scan): Handle '@' appropriately. | |
3589 | * sem_ch5.adb: Code cleanup. | |
3590 | ||
b5360737 AC |
3591 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> |
3592 | ||
3593 | * freeze.adb (Check_Expression_Function): Do not check for the | |
3594 | use of deferred constants if the freezing of the expression | |
3595 | function is triggered by its generated body, rather than a | |
3596 | premature use. | |
3597 | ||
3598 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3599 | ||
3600 | * exp_attr.adb (Rewrite_Stream_Proc_Call): Handle | |
3601 | subtypes of private types when performing the view conversion. | |
3602 | ||
3603 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3604 | ||
3605 | * exp_ch3.adb (Freeze_Type): Signal the DIC body is created for | |
3606 | the purposes of freezing. | |
3607 | * exp_util.adb Update the documentation and structure of the | |
3608 | type map used in class-wide semantics of assertion expressions. | |
3609 | (Add_Inherited_Tagged_DIC): There is really no need to preanalyze | |
3610 | and resolve the triaged expression because all substitutions | |
3611 | refer to the proper entities. Update the replacement of | |
3612 | references. | |
3613 | (Build_DIC_Procedure_Body): Add formal parameter | |
3614 | For_Freeze. Add local variable Build_Body. Inherited DIC pragmas | |
3615 | are now only processed when freezing occurs. Build a body only | |
3616 | when one is needed. | |
3617 | (Entity_Hash): Removed. | |
3618 | (Map_Types): New routine. | |
3619 | (Replace_Object_And_Primitive_References): Removed. | |
3620 | (Replace_References): New routine. | |
3621 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
3622 | (Type_Map_Hash): New routine. | |
3623 | (Update_Primitives_Mapping): Update the mapping call. | |
3624 | (Update_Primitives_Mapping_Of_Types): Removed. | |
3625 | * exp_util.ads (Build_DIC_Procedure_Body): Add formal | |
3626 | parameter For_Freeze and update the comment on usage. | |
3627 | (Map_Types): New routine. | |
3628 | (Replace_References): New routine. | |
3629 | (Replace_Type_References): Moved to the library level of Exp_Util. | |
3630 | (Update_Primitives_Mapping_Of_Types): Removed. | |
3631 | * sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC | |
3632 | properties of the private type to the full view in case the full | |
3633 | view derives from a parent type and inherits a DIC pragma. | |
3634 | * sem_prag.adb (Analyze_Pragma): Guard against a case where a | |
3635 | DIC pragma is placed at the top of a declarative region. | |
3636 | ||
a187206c AC |
3637 | 2017-04-25 Tristan Gingold <gingold@adacore.com> |
3638 | ||
3639 | * s-mmap.ads (Data): Add pragma Inline. | |
3640 | ||
3641 | 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3642 | ||
3643 | * checks.adb (Insert_Valid_Check): Do not use | |
3644 | a renaming to alias a volatile name because this will lead to | |
3645 | multiple evaluations of the volatile name. Use a constant to | |
3646 | capture the value instead. | |
3647 | ||
3648 | 2017-04-25 Doug Rupp <rupp@adacore.com> | |
3649 | ||
3650 | * init.c [VxWorks Section]: Disable sigtramp for ppc64-vx7. | |
3651 | ||
3652 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3653 | ||
3654 | * exp_util.adb, exp_util.ads (Build_Class_Wide_Expression): | |
3655 | Add out parameter to indicate to caller that a wrapper must | |
3656 | be constructed for an inherited primitive whose inherited | |
3657 | pre/postcondition has called to overridden primitives. | |
3658 | * freeze.adb (Check_Inherited_Conditions): Build wrapper body | |
3659 | for inherited primitive that requires it. | |
3660 | * sem_disp.adb (Check_Dispatching_Operation): Such wrappers are | |
3661 | legal primitive operations and belong to the list of bodies | |
3662 | generated after the freeze point of a type. | |
3663 | * sem_prag.adb (Build_Pragma_Check_Equivalent): Use new signature | |
3664 | of Build_Class_Wide_Expression. | |
3665 | * sem_util.adb, sem_util.ads (Build_Overriding_Spec): New procedure | |
3666 | to construct the specification of the wrapper subprogram created | |
3667 | for an inherited operation. | |
3668 | ||
15fc8cb7 AC |
3669 | 2017-04-25 Bob Duff <duff@adacore.com> |
3670 | ||
3671 | * s-osinte-linux.ads (pthread_mutexattr_setprotocol, | |
3672 | pthread_mutexattr_setprioceiling): Add new interfaces for these | |
3673 | pthread operations. | |
3674 | * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB): Set | |
3675 | protocols as appropriate for Locking_Policy 'C' and 'I'. | |
3676 | * s-taprop-posix.adb: Minor reformatting to make it more similar | |
3677 | to s-taprop-linux.adb. | |
3678 | ||
3679 | 2017-04-25 Ed Schonberg <schonberg@adacore.com> | |
3680 | ||
3681 | * sem_ch3.adb (Get_Discriminant_Value, Search_Derivation_Levels): | |
3682 | Handle properly a multi- level derivation involving both renamed | |
3683 | and constrained parent discriminants, when the type to be | |
3684 | constrained has fewer discriminants that the ultimate ancestor. | |
3685 | ||
3686 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3687 | ||
3688 | * sem_util.adb (Is_Object_Reference): In the | |
3689 | case of N_Explicit_Dereference, return False if it came from a | |
3690 | conditional expression. | |
3691 | ||
3692 | 2017-04-25 Bob Duff <duff@adacore.com> | |
3693 | ||
3694 | * par-ch4.adb (P_Case_Expression): If a semicolon | |
3695 | is followed by "when", assume that ";" was meant to be ",". | |
3696 | ||
605afee8 GD |
3697 | 2017-04-25 Gary Dismukes <dismukes@adacore.com> |
3698 | ||
3699 | * sem_ch9.adb, sem_ch10.adb, sem_util.adb: Minor reformatting and typo | |
3700 | fixes. | |
3701 | ||
b912db16 AC |
3702 | 2017-04-25 Arnaud Charlet <charlet@adacore.com> |
3703 | ||
3704 | * rtsfind.ads (SPARK_Implicit_Load): New procedure for forced | |
3705 | loading of an entity. | |
3706 | * rtsfind.adb (SPARK_Implicit_Load): Body with a pattern | |
3707 | previously repeated in the analysis. | |
3708 | * sem_ch9.adb (Analyze_Protected_Type_Declaration): use new | |
3709 | procedure SPARK_Implicit_Load. (Analyze_Task_Type_Declaration): | |
3710 | use new procedure SPARK_Implicit_Load. | |
3711 | * sem_ch10.adb (Analyze_Compilation_Unit): Use new procedure | |
3712 | SPARK_Implicit_Load. | |
3713 | ||
3714 | 2017-04-25 Javier Miranda <miranda@adacore.com> | |
3715 | ||
3716 | * sem_util.adb (New_Copy_Tree): By default | |
3717 | copying of defining identifiers is prohibited because | |
3718 | this would introduce an entirely new entity into the | |
3719 | tree. This patch introduces an exception to this general | |
3720 | rule: the declaration of constants and variables located in | |
3721 | Expression_With_Action nodes. | |
3722 | (Copy_Itype_With_Replacement): Renamed as Copy_Entity_With_Replacement. | |
3723 | (In_Map): New subprogram. | |
3724 | (Visit_Entity): New subprogram. | |
3725 | (Visit_Node): Handle EWA_Level, | |
3726 | EWA_Inner_Scope_Level, and take care of defining entities defined | |
3727 | in Expression_With_Action nodes. | |
3728 | ||
3729 | 2017-04-25 Thomas Quinot <quinot@adacore.com> | |
3730 | ||
3731 | * exp_ch6.adb: minor comment edit. | |
3732 | * sinfo.ads, sinfo.adb: New Null_Statement attribute for null | |
3733 | procedure specifications that come from source. | |
3734 | * par-ch6.adb (P_Subprogram, case of a null procedure): Set new | |
3735 | Null_Statement attribute. | |
3736 | * par_sco.adb (Traverse_Declarations_Or_Statements): For a null | |
3737 | procedure, generate statement SCO for the generated NULL statement. | |
3738 | * sem_ch6.adb (Analyze_Null_Procedure): Use null statement from | |
3739 | parser, if available. | |
3740 | ||
d90175a4 AK |
3741 | 2017-04-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
3742 | ||
3743 | * system-linux-s390.ads: Use Long_Integer'Size to define | |
3744 | Memory_Size. | |
3745 | ||
4c439306 EB |
3746 | 2017-04-04 Eric Botcazou <ebotcazou@adacore.com> |
3747 | ||
3748 | * sem_ch3.adb (Build_Derived_Record_Type): Fix long line. | |
3749 | ||
5764ee3c JW |
3750 | 2017-04-03 Jonathan Wakely <jwakely@redhat.com> |
3751 | ||
3752 | * doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo. | |
3753 | * g-socket.adb (To_Host_Entry): Fix typo in comment. | |
3754 | * gnat_ugn.texi: Fix typo. | |
3755 | * raise.c (_gnat_builtin_longjmp): Fix capitalization in comment. | |
3756 | * s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment. | |
3757 | * sem_ch3.adb (Build_Derived_Record_Type): Likewise. | |
3758 | * sem_util.adb (Mark_Coextensions): Likewise. | |
3759 | * sem_util.ads (Available_Full_View_Of_Component): Likewise. | |
3760 | ||
41f44717 AS |
3761 | 2017-03-28 Andreas Schwab <schwab@suse.de> |
3762 | ||
3763 | PR ada/80117 | |
3764 | * system-linux-aarch64-ilp32.ads: New file. | |
3765 | * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename | |
3766 | from LIBGNAT_TARGET_PAIRS. | |
3767 | (LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define. | |
3768 | (LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and | |
3769 | LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64 | |
3770 | or -mabi=ilp32, resp. | |
3771 | ||
e3e8f22f JC |
3772 | 2017-03-14 James Cowgill <James.Cowgill@imgtec.com> |
3773 | ||
3774 | * s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags. | |
3775 | ||
2ff555ff TT |
3776 | 2017-03-08 Thanassis Tsiodras <ttsiodras@gmail.com> |
3777 | ||
3778 | PR ada/79903 | |
3779 | * socket.c (__gnat_gethostbyaddr): Add missing test for __rtems__. | |
3780 | ||
4f8fe72b EB |
3781 | 2017-03-08 Eric Botcazou <ebotcazou@adacore.com> |
3782 | ||
3783 | PR ada/79945 | |
3784 | * system-linux-ppc.ads (Default_Bit_Order): Use Standard's setting. | |
3785 | ||
3786 | * system-linux-arm.ads (Default_Bit_Order): Likewise. | |
3787 | * system-linux-mips.ads (Default_Bit_Order): Likewise. | |
3788 | * system-linux-armeb.ads: Delete. | |
3789 | * system-linux-mipsel.ads: Likewise. | |
3790 | * gcc-interface/Makefile.in (MIPS/Linux): Adjust. | |
3791 | (ARM/Linux): Likewise. | |
3792 | ||
b9822443 JJ |
3793 | 2017-02-24 Jakub Jelinek <jakub@redhat.com> |
3794 | ||
3795 | PR c/79677 | |
3796 | * gcc-interface/misc.c (gnat_handle_option): Pass true to | |
3797 | handle_generated_option GENERATED_P. | |
3798 | ||
741bd9b1 EB |
3799 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3800 | ||
3801 | * gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper | |
3802 | around a justified modular type if it doesn't have the same scalar | |
3803 | storage order as the enclosing record type. | |
3804 | ||
830815b9 EB |
3805 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3806 | ||
3807 | * gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling | |
3808 | of boolean rvalues to function calls. | |
3809 | ||
491527af EB |
3810 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3811 | ||
3812 | * gcc-interface/utils.c (fold_bit_position): New function. | |
3813 | (rest_of_record_type_compilation): Call it instead of bit_position to | |
3814 | compute the field position and remove the call to remove_conversions. | |
3815 | (compute_related_constant): Factor out the multiplication in both | |
3816 | operands, if any, and streamline the final test. | |
3817 | ||
0b9cdb9a EB |
3818 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3819 | ||
3820 | * gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check. | |
3821 | ||
59909673 EB |
3822 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3823 | ||
3824 | * gcc-interface/decl.c: Include demangle.h. | |
3825 | (is_cplusplus_method): Return again true for a primitive operation | |
3826 | only if it is dispatching. For a subprogram with an interface name, | |
3827 | call the demangler to get the number of C++ parameters and compare it | |
3828 | with the number of Ada parameters. | |
3829 | ||
8ff873dc EB |
3830 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3831 | ||
3832 | * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If | |
3833 | there is no end label, put the location of the At_End procedure on | |
3834 | the call to the procedure. | |
3835 | ||
3836 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> | |
3837 | ||
3838 | * gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful | |
3839 | value for array types with TYPE_INDEX_TYPE set on their domain type. | |
3840 | * gcc-interface/utils.c (max_size): For operations and expressions, do | |
3841 | not build a new node if the operands have not changed or are missing. | |
3842 | ||
4af362a9 EB |
3843 | 2017-02-24 Eric Botcazou <ebotcazou@adacore.com> |
3844 | ||
3845 | * gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second | |
3846 | argument when recursing on TRUTH_NOT_EXPR. | |
3847 | ||
19fc3f9a JM |
3848 | 2017-02-12 John Marino <gnugcc@marino.st> |
3849 | ||
3850 | * system-freebsd-x86.ads: Rename into... | |
3851 | * system-freebsd.ads: ...this. | |
3852 | (Default_Bit_Order): Define using Standard'Default_Bit_Order. | |
3853 | * gcc-interface/Makefile.in: Support aarch64-freebsd. | |
3854 | (x86-64/FreeBSD): Adjust to above renaming. | |
3855 | (i386/FreeBSD): Likewise. | |
3856 | ||
b5811a69 GP |
3857 | 2017-02-09 Gerald Pfeifer <gerald@pfeifer.com> |
3858 | ||
3859 | * comperr.adb: Update FSF bug reporting URL. | |
3860 | ||
372db67b EB |
3861 | 2017-02-01 Eric Botcazou <ebotcazou@adacore.com> |
3862 | Jakub Jelinek <jakub@redhat.com> | |
3863 | ||
3864 | PR ada/79309 | |
3865 | * adaint.c (__gnat_killprocesstree): Fix broken string handling. | |
3866 | ||
e5e391d6 MO |
3867 | 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com> |
3868 | ||
3869 | PR lto/79061 | |
3870 | * gcc-interface/utils.c (get_global_context): Pass main_input_filename | |
3871 | to build_translation_unit_decl. | |
3872 | ||
b4fad9fa JM |
3873 | 2017-01-23 Javier Miranda <miranda@adacore.com> |
3874 | ||
3875 | * sem_util.adb (New_Copy_Tree): Code cleanup: | |
3876 | removal of the internal map (ie. variable Actual_Map, its | |
3877 | associated local variables, and all the code handling it). | |
3878 | * sem_ch9.adb (Analyze_Task_Type_Declaration): in GNATprove mode | |
3879 | force loading of the System package when processing a task type. | |
3880 | (Analyze_Protected_Type_Declaration): in GNATprove mode force | |
3881 | loading of the System package when processing a protected type. | |
3882 | * sem_ch10.adb (Analyze_Compilation_Unit): in GNATprove mode | |
3883 | force loading of the System package when processing compilation | |
3884 | unit with a main-like subprogram. | |
3885 | * frontend.adb (Frontend): remove forced loading of the System | |
3886 | package. | |
3887 | ||
d268147d ES |
3888 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
3889 | ||
3890 | * sem_prag.adb (Default_Initial_Condition): If the desired type | |
3891 | declaration is a derived type declaration with discriminants, | |
3892 | it is rewritten as a private type declaration. | |
3893 | * sem_ch13.adb (Replace_Type_References_Generic, | |
3894 | Visible_Component): A discriminated private type with descriminnts | |
3895 | has components that must be rewritten as selected components | |
3896 | if they appear as identifiers in an aspect expression such as | |
3897 | a Default_Initial_Condition. | |
3898 | * sem_util.adb (Defining_Entity): support N_Iterator_Specification | |
3899 | nodes. | |
3900 | ||
dafe11cd HK |
3901 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
3902 | ||
3903 | * ghost.ads, ghost.adb (Is_Ignored_Ghost_Unit): New routine. | |
3904 | * gnat1drv.adb Generate an empty object file for an ignored | |
3905 | Ghost compilation unit. | |
3906 | * inline.adb, sem_util.adb, sem_ch4.adb: Minor reformatting. | |
3907 | ||
bfaf8a97 AC |
3908 | 2017-01-23 Yannick Moy <moy@adacore.com> |
3909 | ||
3910 | * sem_ch4.adb (Analyze_Indexed_Component_Form): | |
3911 | Adapt to inlined prefix with string literal subtype. | |
3912 | * inline.adb (Expand_Inlined_Call): Keep unchecked | |
3913 | conversion inside inlined call when formal type is constrained. | |
3914 | ||
3915 | 2017-01-23 Javier Miranda <miranda@adacore.com> | |
3916 | ||
3917 | * sem_util.adb (New_Copy_Tree): Code cleanup: | |
3918 | removal of global variables. All the global variables, global | |
3919 | functions and tables of this subprogram are now declared locally. | |
3920 | ||
9313a26a AC |
3921 | 2017-01-23 Gary Dismukes <dismukes@adacore.com> |
3922 | ||
3923 | * exp_strm.ads: Minor reformatting and typo fixes. | |
3924 | ||
3925 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
3926 | ||
3927 | * sem_aggr.adb, par_sco.adb, exp_util.adb, sem.adb, sem_ch4.adb, | |
3928 | exp_aggr.adb: Minor reformatting. | |
3929 | * g-diopit.adb: minor grammar/punctuation fix in comment. | |
3930 | * g-byorma.ads: minor fix of unbalanced parens in comment. | |
3931 | ||
3932 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
3933 | ||
3934 | * par.adb: Update the documentation of component Labl. | |
3935 | * par-ch6.adb (P_Return_Statement): Set the expected label of | |
3936 | an extended return statement to Error. | |
3937 | ||
3938 | 2017-01-23 Tristan Gingold <gingold@adacore.com> | |
3939 | ||
3940 | * s-boustr.ads, s-boustr.adb (Is_Full): New function. | |
3941 | ||
3942 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
3943 | ||
3944 | * expander.adb: Handle N_Delta_Aggregate. | |
3945 | ||
3946 | 2017-01-23 Javier Miranda <miranda@adacore.com> | |
3947 | ||
3948 | * exp_ch6.adb (Expand_Call): Improve the code that | |
3949 | checks if some formal of the called subprogram is a class-wide | |
3950 | interface, to handle subtypes of class-wide interfaces. | |
3951 | ||
3952 | 2017-01-23 Javier Miranda <miranda@adacore.com> | |
3953 | ||
3954 | * checks.adb (Apply_Parameter_Aliasing_Checks): | |
3955 | Remove side effects of the actuals before generating the overlap | |
3956 | check. | |
3957 | ||
4b7fd131 AC |
3958 | 2017-01-23 Justin Squirek <squirek@adacore.com> |
3959 | ||
3960 | * exp_strm.ads, exp_strm.ads | |
3961 | (Build_Record_Or_Elementary_Input_Function): Add an extra parameter so | |
3962 | as to avoid getting the underlying type by default. | |
3963 | * exp_attr.adb (Expand_N_Attribute_Reference): Remove use of | |
3964 | underlying type in the Iiput and output attribute cases when | |
3965 | building their respective functions. | |
3966 | ||
3967 | 2017-01-23 Gary Dismukes <dismukes@adacore.com> | |
3968 | ||
3969 | * scng.adb: Minor reformatting of error message. | |
3970 | ||
3971 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
3972 | ||
3973 | * sem_ch6.adb (Analyze_Expression_Function): Do not attempt | |
3974 | to freeze the return type of an expression funxtion that is a | |
3975 | completion, if the type is a limited view and the non-limited | |
3976 | view is available. | |
3977 | ||
9eb8d5b4 AC |
3978 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
3979 | ||
3980 | * par-ch4.adb (P_Aggregate_Or_Parent_Expr): Recognize delta | |
3981 | aggregate construct. | |
3982 | (P_Record_Or_Array_Component_Association): An array aggregate | |
3983 | can start with an Iterated_Component_Association. | |
3984 | * scng.adb: Modify error message on improper use of @ in earlier | |
3985 | versions of the language. | |
3986 | * sinfo.ads: New node kind N_Delta_Aggregate. | |
3987 | * sinfo.adb: An N_Delta_Aggregate has component associations and | |
3988 | an expression. | |
3989 | * sem_res.adb (Resolve): Call Resolve_Delta_Aggregate. | |
3990 | * sem_aggr.ads, sem_aggr.adb (Resolve_Iterated_Component_Association): | |
3991 | Create a new index for each one of the choices in the association, | |
3992 | to prevent spurious homonyms in the scope. | |
3993 | (Resolve_Delta_Aggregate): New. | |
3994 | * sem.adb: An N_Delta_Aggregate is analyzed like an aggregate. | |
3995 | * exp_util.adb (Insert_Actions): Take into account | |
3996 | N_Delta_Aggregate. | |
3997 | * exp_aggr.ads: New procedure Expand_N_Delta_Aggregate. | |
3998 | * exp_aggr.adb: New procedure Expand_N_Delta_Aggregate, | |
3999 | and local procedures Expand_Delta_Array_Aggregate and | |
4000 | expand_Delta_Record_Aggregate. | |
4001 | * sprint.adb: Handle N_Delta_Aggregate. | |
4002 | ||
4003 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4004 | ||
4005 | * exp_ch11.adb (Expand_N_Exception_Declaration): Generate an | |
4006 | empty name when the exception declaration is subject to pragma | |
4007 | Discard_Names. | |
4008 | (Null_String): New routine. | |
4009 | ||
4010 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4011 | ||
4012 | * par-ch9.adb (P_Protected_Definition): Parse | |
4013 | any optional and potentially illegal pragmas which appear in | |
4014 | a protected operation declaration list. | |
4015 | (P_Task_Items): Parse | |
4016 | any optional and potentially illegal pragmas which appear in a | |
4017 | task item list. | |
4018 | ||
a51368fa AC |
4019 | 2017-01-23 Pascal Obry <obry@adacore.com> |
4020 | ||
4021 | * s-taprop-mingw.adb (Enter_Task): Initialize the Thread handle which | |
4022 | is needed when a foreign thread call a Win32 API using a thread handle | |
4023 | like GetThreadTimes() for example. | |
4024 | ||
4025 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4026 | ||
4027 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not | |
4028 | allow an 'Address clause to be specified on a prefix of a | |
4029 | class-wide type. | |
4030 | ||
4031 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4032 | ||
4033 | * checks.adb (Insert_Valid_Check): Ensure that the prefix of | |
4034 | attribute 'Valid is a renaming of the original expression when | |
4035 | the expression denotes a name. For all other kinds of expression, | |
4036 | use a constant to capture the value. | |
4037 | * exp_util.adb (Is_Name_Reference): Moved to Sem_Util. | |
4038 | * sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util. | |
4039 | ||
4040 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
4041 | ||
4042 | * sem_eval.adb (Eval_Integer_Literal): Add special | |
4043 | case to avoid optimizing out check if the literal appears in | |
4044 | an if-expression. | |
4045 | ||
4046 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4047 | ||
4048 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not | |
4049 | allow an 'Address clause to be specified on a prefix of a | |
4050 | class-wide type. | |
4051 | ||
4052 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4053 | ||
4054 | * checks.adb (Insert_Valid_Check): Ensure that the prefix of | |
4055 | attribute 'Valid is a renaming of the original expression when | |
4056 | the expression denotes a name. For all other kinds of expression, | |
4057 | use a constant to capture the value. | |
4058 | * exp_util.adb (Is_Name_Reference): Moved to Sem_Util. | |
4059 | * sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util. | |
4060 | ||
4061 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
4062 | ||
4063 | * sem_eval.adb (Eval_Integer_Literal): Add special | |
4064 | case to avoid optimizing out check if the literal appears in | |
4065 | an if-expression. | |
4066 | ||
913e4b36 ES |
4067 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
4068 | ||
4069 | * sem_ch4.adb (Try_Primitive_Operations, | |
4070 | Is_Valid_First_Argument_Of): argument is valid if it is a derived | |
4071 | type with unknown discriminants that matches its underlying | |
4072 | record view. | |
4073 | * exp_util.adb (Expand_Subtype_From_Expr): Do not expand | |
4074 | expression if its type is derived from a limited type with | |
4075 | unknown discriminants, because the expansion (which is a call) | |
4076 | must be expanded in the enclosing context to add the proper build- | |
4077 | in-place parameters to the call. | |
4078 | * lib.ads, exp_ch9.adb: Minor fixes in comments. | |
4079 | ||
a77152ca AC |
4080 | 2017-01-23 Yannick Moy <moy@adacore.com> |
4081 | ||
4082 | * frontend.adb (Frontend): Do not load runtime | |
4083 | unit for GNATprove when parsing failed. | |
4084 | * exp_ch9.adb: minor removal of extra whitespace | |
4085 | * exp_ch6.adb: minor typo in comment | |
4086 | * sem_util.adb: Code cleanup. | |
4087 | * exp_ch9.ads, par-ch2.adb: minor style fixes in whitespace and comment | |
4088 | * a-ngcefu.adb: minor style fix in whitespace | |
4089 | ||
4090 | 2017-01-23 Thomas Quinot <quinot@adacore.com> | |
4091 | ||
4092 | * scos.ads: Document usage of 'd' as default SCO kind for | |
4093 | declarations. | |
4094 | * par_sco.adb (Traverse_Declarations_Or_Statements. | |
4095 | Traverse_Degenerate_Subprogram): New supporting routine for expression | |
4096 | functions and null procedures. | |
4097 | (Traverse_Declarations_Or_Statements.Traverse_One): Add | |
4098 | N_Expression_Function to the subprogram case; add required | |
4099 | support for null procedures and expression functions. | |
4100 | ||
4101 | 2017-01-23 Bob Duff <duff@adacore.com> | |
4102 | ||
4103 | * namet.ads (Bounded_String): Decrease the size of type | |
4104 | Bounded_String to avoid running out of stack space. | |
4105 | * namet.ads (Append): Don't ignore buffer overflow; raise | |
4106 | Program_Error instead. | |
4107 | ||
d43584ca AC |
4108 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
4109 | ||
4110 | * exp_ch5.adb, freeze.adb, par-ch4.adb, scng.adb, sem_ch13.adb, | |
4111 | sem_ch3.adb, sem_ch5.adb, sem_ch5.ads, sem_util.adb, sinfo.ads: Minor | |
4112 | reformatting. | |
4113 | * exp_ch9.adb: minor style fix in comment. | |
4114 | ||
4115 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
4116 | ||
4117 | * sem_ch4.adb (Analyze_Allocator): Handle properly a type derived | |
4118 | for a limited record extension with unknown discriminants whose | |
4119 | full view has no discriminants. | |
4120 | ||
4121 | 2017-01-23 Yannick Moy <moy@adacore.com> | |
4122 | ||
4123 | * exp_spark.adb: Alphabetize with clauses. | |
4124 | ||
0f83b044 AC |
4125 | 2017-01-23 Yannick Moy <moy@adacore.com> |
4126 | ||
4127 | * sem_util.adb (Has_Enabled_Property): Treat | |
4128 | protected objects and variables differently from other variables. | |
4129 | ||
52b70b1b TQ |
4130 | 2017-01-23 Thomas Quinot <quinot@adacore.com> |
4131 | ||
4132 | * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): | |
4133 | Split original Ada 95 part off into new subprogram | |
4134 | below. Call that subprogram (instead of proceeding with | |
4135 | AI95-0133 behaviour) if debug switch -gnatd.p is in use. | |
4136 | (Adjust_Record_For_Reverse_Bit_Order_Ada_95): ... new subprogram | |
4137 | * debug.adb Document new switch -gnatd.p | |
4138 | * freeze.adb (Freeze_Entity.Freeze_Record_Type): Do not adjust | |
4139 | record for reverse bit order if an error has already been posted | |
4140 | on the record type. This avoids generating extraneous "info:" | |
4141 | messages for illegal code. | |
4142 | ||
2a02fa98 JS |
4143 | 2017-01-23 Justin Squirek <squirek@adacore.com> |
4144 | ||
4145 | * sem_ch3.adb (Analyze_Declarations): Correct comments | |
4146 | * freeze.adb (Find_Constant): Add detection of deferred constants | |
4147 | so they are not incorrectly flagged as premature. | |
4148 | ||
ae33543c ES |
4149 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
4150 | ||
4151 | * scans.ads: New token At_Sign. Remove '@' from list of illegal | |
4152 | characters for future version of the language. '@' is legal name. | |
4153 | * scng.ads, scng.adb (Scan): Handle '@' appropriately. | |
4154 | * scn.adb (Scan_Reserved_Identifier): An occurrence of '@' | |
4155 | denotes a Target_Name. | |
4156 | * par-ch4.adb (P_Name, P_Primary): Handle Target_Name. | |
4157 | * sinfo.ads, sinfo.adb (N_Target_Name): New non-terminal node. | |
4158 | (Has_Target_Names): New flag on N_Assignment_Statement, to | |
4159 | indicate that RHS has occurrences of N_Target_Name. | |
4160 | * sem.adb: Call Analyze_Target_Name. | |
4161 | * sem_ch5.ads, sem_ch5.adb (Analyze_Target_Name): New subpogram. | |
4162 | (urrent_LHS): Global variable that denotes LHS of assignment, | |
4163 | used in the analysis of Target_Name nodes. | |
4164 | * sem_res.adb (Resolve_Target_Name): New procedure. | |
4165 | * exp_ch5.adb (Expand_Assign_With_Target_Names): (AI12-0125): | |
4166 | N is an assignment statement whose RHS contains occurences of @ | |
4167 | that designate the value of the LHS of the assignment. If the | |
4168 | LHS is side-effect free the target names can be replaced with | |
4169 | a copy of the LHS; otherwise the semantics of the assignment | |
4170 | is described in terms of a procedure with an in-out parameter, | |
4171 | and expanded as such. | |
4172 | (Expand_N_Assignment_Statement): Call | |
4173 | Expand_Assign_With_Target_Names when needed. | |
4174 | * exp_util.adb (Insert_Actions): Take into account N_Target_Name. | |
4175 | * sprint.adb: Handle N_Target_Name. | |
4176 | ||
13230c68 AC |
4177 | 2017-01-23 Eric Botcazou <ebotcazou@adacore.com> |
4178 | ||
4179 | * checks.adb: Minor fix in comment. | |
4180 | ||
4181 | 2017-01-23 Philippe Gil <gil@adacore.com> | |
4182 | ||
4183 | * g-debpoo.adb (Do_Report) remove freed chunks from chunks | |
4184 | count in Sort = Memory_Usage or Allocations_Count | |
4185 | ||
4186 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
4187 | ||
4188 | * sem_ch3.adb: Code cleanup. | |
4189 | ||
4190 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4191 | ||
4192 | * sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Move all global | |
4193 | variables to the local variable section. Update the profile | |
4194 | of various nested routine that previously had visibility | |
4195 | of those globals. One the matching phase has completed, | |
4196 | remove certain classes of clauses which are considered noise. | |
4197 | (Check_Dependency_Clause): Properly detect a match between two | |
4198 | 'Result attributes. Update the various post-match cases to use | |
4199 | Is_Already_Matched as this routine now automatically recognizes | |
4200 | a previously matched 'Result attribute. | |
4201 | (Is_Already_Matched): New routine. | |
4202 | (Remove_Extra_Clauses): New routine. | |
4203 | (Report_Extra_Clauses): Remove the detection of ... => null | |
4204 | clauses as this is now done in Remove_Extra_Clauses. | |
4205 | ||
6adb6030 AC |
4206 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> |
4207 | ||
4208 | * sem_aggr.adb (Resolve_Array_Aggregate): In ASIS mode do not | |
4209 | report on spurious overlaps between values involving a subtype | |
4210 | with a static predicate, because the expansion of such a subtype | |
4211 | into individual ranges in inhibited in ASIS mode. | |
4212 | ||
4213 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
4214 | ||
4215 | * sem_ch3.adb (Analyze_Declarations): Add detection | |
4216 | of an edge case and delay freezing if it is present. | |
4217 | ||
f991bd8e HK |
4218 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
4219 | ||
4220 | * sem_ch3.adb, exp_spark.adb, exp_attr.adb, sem_ch9.adb, sem_prag.adb, | |
4221 | sem_util.adb, sem_warn.adb, exp_ch3.adb: Minor reformatting. | |
4222 | ||
4223 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4224 | ||
4225 | * freeze.adb (Freeze_Subprogram): Ensure that all anonymous | |
4226 | access-to-subprogram types inherit the convention of the | |
4227 | associated subprogram. (Set_Profile_Convention): New routine. | |
4228 | * sem_ch6.adb (Check_Conformance): Do not compare the conventions | |
4229 | of the two entities directly, use Conventions_Match to account | |
4230 | for anonymous access-to-subprogram and subprogram types. | |
4231 | (Conventions_Match): New routine. | |
4232 | ||
d553a695 CD |
4233 | 2017-01-23 Claire Dross <dross@adacore.com> |
4234 | ||
4235 | * exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes | |
4236 | which return Universal_Integer, force the overflow check flag for | |
4237 | Length and Range_Length for types as big as Long_Long_Integer. | |
4238 | ||
6d67bea9 AC |
4239 | 2017-01-23 Claire Dross <dross@adacore.com> |
4240 | ||
4241 | * exp_spark.adb (Expand_SPARK_Attribute_Reference): For | |
4242 | attributes which return Universal_Integer, introduce a conversion | |
4243 | to the expected type with the appropriate check flags set. | |
4244 | * sem_res.adb (Resolve_Range): The higher bound can be in Typ's | |
4245 | base type if the range is null. It may still be invalid if it | |
4246 | is higher than the lower bound. This is checked later in the | |
4247 | context in which the range appears. | |
4248 | ||
4249 | 2017-01-23 Pierre-Marie de Rodat <derodat@adacore.com> | |
4250 | ||
4251 | * scos.ads: Introduce a constant to represent ignored | |
4252 | dependencies in SCO_Unit_Table_Entry. | |
4253 | ||
64a4f612 AC |
4254 | 2017-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
4255 | ||
4256 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove extra | |
4257 | spaces from error messages. | |
4258 | ||
4259 | 2017-01-23 Ed Schonberg <schonberg@adacore.com> | |
4260 | ||
4261 | * exp_ch3.adb (Check_Large_Modular_Array): New procedure, | |
4262 | subsidiary to Expand_N_Object_ Declaration, to compute a guard on | |
4263 | an object declaration for an array type with a modular index type | |
4264 | with the size of Long_Long_Integer. Special processing is needed | |
4265 | in this case to compute reliably the size of the object, and | |
4266 | eventually to raise Storage_Error, when wrap-around arithmetic | |
4267 | might compute a meangingless size for the object. | |
4268 | ||
4269 | 2017-01-23 Justin Squirek <squirek@adacore.com> | |
4270 | ||
4271 | * a-wtenau.adb, par-endh.adb, sem_prag.adb, | |
4272 | sem_type.adb: Code cleanups. | |
4273 | ||
be4e989c BD |
4274 | 2017-01-23 Bob Duff <duff@adacore.com> |
4275 | ||
4276 | * sem_res.adb (Resolve_Call): In the part of the code where | |
4277 | it is deciding whether to turn the call into an indexed | |
4278 | component, avoid doing so if the call is to an instance of | |
4279 | Unchecked_Conversion. Otherwise, the compiler turns it into an | |
4280 | indexed component, and resolution of that turns it back into a | |
4281 | function call, and so on, resulting in infinite recursion. | |
4282 | * sem_util.adb (Needs_One_Actual): If the first formal has a | |
4283 | default, then return False. | |
4284 | ||
22564ca9 EB |
4285 | 2017-01-21 Eric Botcazou <ebotcazou@adacore.com> |
4286 | ||
4287 | * sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc) | |
4288 | optimizations when the type is modular and the offsets are equal. | |
4289 | ||
0a3ec628 AC |
4290 | 2017-01-20 Thomas Quinot <quinot@adacore.com> |
4291 | ||
4292 | * sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning | |
4293 | message. | |
4294 | ||
4295 | 2017-01-20 Nicolas Roche <roche@adacore.com> | |
4296 | ||
4297 | * terminals.c: Ignore failures on setpgid and tcsetpgrp commands. | |
4298 | ||
4299 | 2017-01-20 Bob Duff <duff@adacore.com> | |
4300 | ||
4301 | * sem_eval.adb (Compile_Time_Compare): Disable the expr+literal | |
4302 | (etc) optimizations when the type is modular. | |
4303 | ||
4304 | 2017-01-20 Yannick Moy <moy@adacore.com> | |
4305 | ||
4306 | * sem_ch6.adb (Move_Pragmas): move some pragmas, | |
4307 | but copy the SPARK_Mode pragma instead of moving it. | |
4308 | (Build_Subprogram_Declaration): Ensure that the generated spec | |
4309 | and original body share the same SPARK_Pragma aspect/pragma. | |
4310 | * sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New | |
4311 | procedure to copy SPARK_Mode aspect. | |
4312 | ||
4313 | 2017-01-20 Bob Duff <duff@adacore.com> | |
4314 | ||
4315 | * sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects | |
4316 | even in ASIS mode. | |
4317 | * sem_ch13.adb (Resolve_Name): Enable setting the entity to | |
4318 | Empty even in ASIS mode. | |
4319 | ||
be42aa71 AC |
4320 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4321 | ||
4322 | * exp_ch9.adb: minor style fixes in comments. | |
4323 | * sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay | |
4324 | relative statement introduces an implicit dependency on | |
4325 | Ada.Real_Time.Clock_Time. | |
4326 | * sem_util.adb: Minor reformatting. | |
4327 | ||
4328 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4329 | ||
4330 | * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment | |
4331 | must be treated as delayed aspect even if the expression is | |
4332 | a literal, because the aspect affects the freezing and the | |
4333 | elaboration of the object to which it applies. | |
4334 | ||
4335 | 2017-01-20 Tristan Gingold <gingold@adacore.com> | |
4336 | ||
4337 | * s-osinte-vxworks.ads (Interrup_Range): New subtype. | |
4338 | ||
4339 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4340 | ||
4341 | * lib-xref.adb (Generate_Reference): Do not warn about the | |
4342 | presence of a pragma Unreferenced if the entity appears as the | |
4343 | actual in a procedure call that does not come from source. | |
4344 | ||
4345 | 2017-01-20 Pascal Obry <obry@adacore.com> | |
4346 | ||
4347 | * expect.c, terminals.c: Fix some warnings about unused variables. | |
4348 | * gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part | |
4349 | of the runtime. | |
4350 | ||
4351 | 2017-01-20 Bob Duff <duff@adacore.com> | |
4352 | ||
4353 | * exp_attr.adb (Constrained): Apply an access check (check that | |
4354 | the prefix is not null) when the prefix denotes an object of an | |
4355 | access type; that is, when there is an implicit dereference. | |
4356 | ||
4357 | 2017-01-20 Gary Dismukes <dismukes@adacore.com> | |
4358 | ||
4359 | * s-rident.ads (constant Profile_Info): Remove | |
4360 | No_Calendar from GNAT_Extended_Ravenscar restrictions. | |
4361 | ||
4362 | 2017-01-20 Tristan Gingold <gingold@adacore.com> | |
4363 | ||
4364 | * s-maccod.ads: Add pragma No_Elaboration_Code_All | |
4365 | ||
6e9e35e1 AC |
4366 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4367 | ||
4368 | * ghost.adb (Mark_Ghost_Clause): New routine. | |
4369 | (Prune_Node): Do not prune compilation unit nodes. | |
4370 | (Remove_Ignored_Ghost_Code): Prune the compilation unit node directly. | |
4371 | This does not touch the node itself, but does prune all its fields. | |
4372 | * ghost.ads (Mark_Ghost_Clause): New routine. | |
4373 | * sem_ch8.adb (Analyze_Use_Package): Emit an error when a use | |
4374 | package clause mentions Ghost and non-Ghost packages. Mark a | |
4375 | use package clause as Ghost when it mentions a Ghost package. | |
4376 | (Analyze_Use_Type): Emit an error when a use type clause mentions | |
4377 | Ghost and non-Ghost types. Mark a use type clause as Ghost when | |
4378 | it mentions a Ghost type. | |
4379 | * sem_ch10.adb (Analyze_With_Clause): Mark a with clause as | |
4380 | Ghost when it withs a Ghost unit. | |
4381 | ||
4382 | 2017-01-20 Javier Miranda <miranda@adacore.com> | |
4383 | ||
4384 | * sem_res.adb (Resolve_Call): If a function call | |
4385 | returns a limited view of a type and at the point of the call the | |
4386 | function is not declared in the extended main unit then replace | |
4387 | it with the non-limited view, which must be available. If the | |
4388 | called function is in the extended main unit then no action is | |
4389 | needed since the back-end handles this case. | |
4390 | ||
4391 | 2017-01-20 Eric Botcazou <ebotcazou@adacore.com> | |
4392 | ||
4393 | * sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into... | |
4394 | (Contains_Subprograms_Refs): ...this. Adjust comment | |
4395 | for constants. (Is_Subp_Or_Const_Ref): Rename into... | |
4396 | (Is_Subprogram_Ref): ...this. | |
4397 | (Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into | |
4398 | Has_Non_Subprograms_Referencer and adjust comment. Remove | |
4399 | incorrect shortcut for package declarations and bodies. | |
4400 | ||
4401 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4402 | ||
4403 | * sem_ch3.adb (Complete_Private_Subtype): If the scope of the | |
4404 | base type differs from that of the completion and the private | |
4405 | subtype is an itype (created for a constraint on an access | |
4406 | type e.g.), set Delayed_Freeze on both to prevent out-of-scope | |
4407 | anomalies in gigi. | |
4408 | ||
4409 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4410 | ||
4411 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): | |
4412 | When inheriting the SPARK_Mode of a prior expression function, | |
4413 | look at the properly resolved entity rather than the initial | |
4414 | candidate which may denote a homonym. | |
4415 | ||
4416 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4417 | ||
4418 | * sem_prag.adb (Rewrite_Assertion_Kind): If the name is | |
4419 | Precondition or Postcondition, and the context is pragma | |
4420 | Check_Policy, indicate that this Pre-Ada2012 usage is deprecated | |
4421 | and suggest the standard names Assertion_Policy /Pre /Post | |
4422 | instead. | |
4423 | ||
7124d1a5 HK |
4424 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> |
4425 | ||
4426 | * sem_ch10.adb, sem_cat.adb: Minor reformatting. | |
4427 | ||
89a53f83 AC |
4428 | 2017-01-20 Javier Miranda <miranda@adacore.com> |
4429 | ||
4430 | * sem_ch3.adb (Access_Type_Declaration): Protect access to the | |
4431 | Entity attribute. | |
4432 | * sem_ch10.adb (Install_Siblings): Skip processing malformed trees. | |
4433 | * sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing | |
4434 | malformed trees. | |
4435 | ||
4436 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4437 | ||
4438 | * sem_ch13.adb (Analyze_Aspect_Specification, case | |
4439 | Dynamic_Predicate): If the entity E is a subtype that inherits | |
4440 | a static predicate for its parent P,, the inherited and the | |
4441 | new predicate combine in the generated predicate function, | |
4442 | and E only has a dynamic predicate. | |
4443 | ||
4444 | 2017-01-20 Tristan Gingold <gingold@adacore.com> | |
4445 | ||
4446 | * s-boustr.ads, s-boustr.adb: New package. | |
4447 | * Makefile.rtl: Add s-boustr. | |
4448 | ||
4449 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4450 | ||
4451 | * inline.adb (Process_Formals): Qualify the | |
4452 | expression of a return statement when it yields a universal type. | |
4453 | ||
4454 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4455 | ||
4456 | * freeze.adb (Freeze_All): Freeze the default | |
4457 | expressions of all eligible formal parameters that appear in | |
4458 | entries, entry families, and protected subprograms. | |
4459 | ||
f68fc405 AC |
4460 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> |
4461 | ||
4462 | * sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check | |
4463 | for illegal inherited Implicit_Dereference aspects with renamed | |
4464 | discriminants. | |
4465 | ||
4466 | 2017-01-20 Javier Miranda <miranda@adacore.com> | |
4467 | ||
4468 | * debug.adb (switch d.6): do not avoid declaring unreferenced itypes. | |
4469 | * nlists.ads (Lock_Lists, Unlock_Lists): New subprograms. | |
4470 | * nlists.adb (Lock_Lists, Unlock_Lists): New subprograms. | |
4471 | (Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent, | |
4472 | Set_Prev, Tree_Read): Adding assertion. | |
4473 | * atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms. | |
4474 | * atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms. | |
4475 | (Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source, | |
4476 | Set_Ekind, Set_Error_Posted, Set_Has_Aspects, | |
4477 | Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count, | |
4478 | Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN, | |
4479 | Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN, | |
4480 | Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent, | |
4481 | Set_ListN_With_Parent): Adding assertion. | |
4482 | ||
4483 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4484 | ||
4485 | * sem_prag.adb (Process_Convention): Diagnose properly a pragma | |
4486 | import that applies to several homograph subprograms. when one | |
4487 | of them is declared by a subprogram body. | |
4488 | ||
4489 | 2017-01-20 Justin Squirek <squirek@adacore.com> | |
4490 | ||
4491 | * exp_ch6.adb (Expand_Call): Remove optimization | |
4492 | that nulls out calls to null procedures. | |
4493 | ||
f4ef7b06 AC |
4494 | 2017-01-20 Yannick Moy <moy@adacore.com> |
4495 | ||
4496 | * inline.adb (Expand_Inlined_Call): Keep more | |
4497 | precise type of actual for inlining whenever possible. In | |
4498 | particular, do not switch to the formal type in GNATprove mode in | |
4499 | some case where the GNAT backend might require it for visibility. | |
4500 | ||
4501 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4502 | ||
4503 | * sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited | |
4504 | aspect Implicit_Dereference can be inherited by a full view if | |
4505 | the partial view has no discriminants, because there is no way | |
4506 | to apply the aspect to the partial view. | |
4507 | (Build_Derived_Record_Type): If derived type renames discriminants | |
4508 | of the parent, the new discriminant inherits the aspect from | |
4509 | the old one. | |
4510 | * sem_ch4.adb (Analyze_Call): Handle properly a parameterless | |
4511 | call through an access discriminant designating a subprogram. | |
4512 | * sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle | |
4513 | properly a parameterless call through an access discriminant on | |
4514 | the left-hand side of an assignment. | |
4515 | * sem_res.adb (resolve): If an interpreation involves a | |
4516 | discriminant with an implicit dereference and the expression is an | |
4517 | entity, resolution takes place later in the appropriate routine. | |
4518 | * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize | |
4519 | access discriminants that designate a subprogram type. | |
4520 | ||
4521 | 2017-01-20 Pascal Obry <obry@adacore.com> | |
4522 | ||
4523 | * a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016 | |
4524 | ||
ce06d641 AC |
4525 | 2017-01-20 Yannick Moy <moy@adacore.com> |
4526 | ||
4527 | * sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error | |
4528 | on implicitly with'ed units in GNATprove mode. | |
4529 | * sinfo.ads (Implicit_With): Document use of flag for implicitly | |
4530 | with'ed units in GNATprove mode. | |
4531 | ||
4532 | 2017-01-20 Ed Schonberg <schonberg@adacore.com> | |
4533 | ||
4534 | * sem_cat.adb (Validate_Static_Object_Name): In a preelaborated | |
4535 | unit Do not report an error on a non-static entity that appears | |
4536 | in the context of a spec expression, such as an aspect expression. | |
4537 | ||
4538 | 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> | |
4539 | ||
4540 | * einfo.adb: Flag298 now denotes Is_Underlying_Full_View. | |
4541 | (Is_Underlying_Full_View): New routine. | |
4542 | (Set_Is_Underlying_Full_View): New routine. | |
4543 | (Write_Entity_Flags): Add an entry for Is_Underlying_Full_View. | |
4544 | * einfo.ads Add new attribute Is_Underlying_Full_View. | |
4545 | (Is_Underlying_Full_View): New routine along with pragma Inline. | |
4546 | (Set_Is_Underlying_Full_View): New routine along with pragma Inline. | |
4547 | * exp_util.adb (Build_DIC_Procedure_Body): Do not consider | |
4548 | class-wide types and underlying full views. The first subtype | |
4549 | is used as the working type for all Itypes, not just array base types. | |
4550 | (Build_DIC_Procedure_Declaration): Do not consider | |
4551 | class-wide types and underlying full views. The first subtype | |
4552 | is used as the working type for all Itypes, not just array | |
4553 | base types. | |
4554 | * freeze.adb (Freeze_Entity): Inherit the freeze node of a full | |
4555 | view or an underlying full view without clobbering the attributes | |
4556 | of a previous freeze node. | |
4557 | (Inherit_Freeze_Node): New routine. | |
4558 | * sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying | |
4559 | full view as such. | |
4560 | (Build_Underlying_Full_View): Mark an underlying full view as such. | |
4561 | * sem_ch7.adb (Install_Private_Declarations): Mark an underlying | |
4562 | full view as such. | |
4563 | ||
49779c98 AC |
4564 | 2017-01-20 Yannick Moy <moy@adacore.com> |
4565 | ||
4566 | * sinfo.ads: Document lack of Do_Division_Check flag | |
4567 | on float exponentiation. | |
4568 | ||
7c323fbe AC |
4569 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
4570 | ||
4571 | * ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the | |
4572 | identifier attribute of a block-statement node. Required to avoid | |
4573 | assertion failure when building the new containers library. | |
4574 | ||
4575 | 2017-01-19 Bob Duff <duff@adacore.com> | |
4576 | ||
4577 | * exp_ch3.adb: Update comment. | |
4578 | ||
4579 | 2017-01-19 Vincent Celier <celier@adacore.com> | |
4580 | ||
4581 | * gprep.adb (Gnatprep): Parse the definition file without | |
4582 | "replace in comments" even when switch -C is used. | |
4583 | ||
58d27da9 JS |
4584 | 2017-01-19 Justin Squirek <squirek@adacore.com> |
4585 | ||
4586 | * exp_ch9.adb (Is_Pure_Barrier): Create function | |
4587 | Is_Count_Attribute to identify an expansion of the 'Count | |
4588 | attribute. | |
4589 | ||
6b1d2413 AC |
4590 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> |
4591 | ||
4592 | * sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the | |
4593 | statements within an element iterator loop are only analyzed | |
4594 | agter the loop is rewritten. Within a generic the analysis must | |
4595 | be performed in any case to complete name capture. | |
4596 | ||
4597 | 2017-01-19 Bob Duff <duff@adacore.com> | |
4598 | ||
4599 | * sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first, | |
4600 | before checking for unrecognized pragmas. | |
4601 | Initialize Pname on its declarations; that's always good style. | |
4602 | ||
104c99ef CD |
4603 | 2017-01-19 Claire Dross <dross@adacore.com> |
4604 | ||
4605 | * exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the | |
4606 | body into the tree for GNATprove by setting its Parent field. The | |
4607 | components invariants of composite types are not checked by | |
4608 | the composite type's invariant procedure in GNATprove mode. | |
4609 | (Build_Invariant_Procedure_Declaration): Semi-insert the | |
4610 | declaration into the tree for GNATprove by setting its Parent | |
4611 | field. | |
4612 | * freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add | |
4613 | the component invariants to the array type invariant procedure | |
4614 | so that the procedure can be used to check the array type | |
4615 | invariants if any. | |
4616 | (Freeze_Record_Type): In GNATprove mode, do | |
4617 | not add the component invariants to the record type invariant | |
4618 | procedure so that the procedure can be used to check the record | |
4619 | type invariants if any. | |
4620 | ||
374c09e8 AC |
4621 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
4622 | ||
4623 | * lib-xref-spark_specific.adb: Minor reformatting. | |
4624 | * exp_ch7.adb (Add_Parent_Invariants): Do not process array types. | |
4625 | ||
54740d7d AC |
4626 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
4627 | ||
4628 | * exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as | |
4629 | Build_Back_End_Aggregate. | |
4630 | (Generate_Aggregate_For_Derived_Type): Code cleanup. | |
4631 | (Prepend_Stored_Values): Code cleanup. | |
4632 | ||
4633 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
4634 | ||
4635 | * sem_ch6.adb (Analyze_Expression_Function): Check for an | |
4636 | incomplete return type after attempting to freeze it, so that | |
4637 | other freeze actiona are generated in the proper order. | |
4638 | ||
4639 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
4640 | ||
4641 | * sem_aggr.adb (Resolve_Aggregate): If the type is a string | |
4642 | type, ie. a type whose component is a character type, and the | |
4643 | aggregate is positional, do not convert into a string literal | |
4644 | if the index type is not an integer type, because the original | |
4645 | type may be required in an enclosing operation. | |
4646 | ||
4647 | 2017-01-19 Bob Duff <duff@adacore.com> | |
4648 | ||
4649 | * binde.adb, debug.adb: Enable new elaboration order algorithm | |
4650 | by default. -dp switch reverts to the old algorithm. | |
4651 | ||
4652 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> | |
4653 | ||
4654 | * sem_ch3.adb Add with and use clauses for Exp_Ch7. | |
4655 | (Analyze_Declarations): Create the DIC and Invariant | |
4656 | procedure bodies s after all freezing has taken place. | |
4657 | (Build_Assertion_Bodies): New routine. | |
4658 | * sem_ch7.adb Remove the with and use clauses for Exp_Ch7 | |
4659 | and Exp_Util. | |
4660 | (Analyze_Package_Specification): Remove the | |
4661 | generation of the DIC and Invariant procedure bodies. This is | |
4662 | now done by Analyze_Declarations. | |
4663 | * sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant | |
4664 | procedures are never treated as primitives. | |
4665 | ||
4666 | 2017-01-19 Yannick Moy <moy@adacore.com> | |
4667 | ||
4668 | * frontend.adb: Analyze inlined bodies and check elaboration | |
4669 | rules in GNATprove mode too. | |
4670 | * sem_elab.adb (Delay_Element): Add Boolean component to save | |
4671 | indication that call is in SPARK code. (Check_Elab_Calls): | |
4672 | Check elaboration rules in GNATprove mode, and correctly set | |
4673 | the current value of SPARK_Mode. | |
4674 | * lib-xref-spark_specific.adb | |
4675 | (Add_SPARK_Xrefs): Simplify iteration over dereferences. | |
4676 | ||
4677 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
4678 | ||
4679 | * exp_ch4.adb (Expand_Concatenate): Do no enable overflow | |
4680 | checks on the expression for the high bound of concatenation | |
4681 | when checks are disabled, to suppress warnings about potential | |
4682 | constraint errors in restricted runtimes. | |
4683 | ||
138fc6f1 HK |
4684 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
4685 | ||
4686 | * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the | |
4687 | representation-to-position function as inlined. | |
4688 | * sem_cat.adb (Set_Categorization_From_Scope): Do not modify | |
4689 | the purity of an internally generated entity if it has been | |
4690 | explicitly marked as pure for optimization purposes. | |
4691 | * exp_aggr.adb: Minor reformatting. | |
4692 | ||
4f94fa11 AC |
4693 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
4694 | ||
4695 | * exp_ch6.adb (Expand_Call): Remove side effects on | |
4696 | actuals that are allocators with qualified expression since the | |
4697 | initialization of the object is performed by means of individual | |
4698 | statements (and hence it must be done before the call). | |
4699 | ||
4700 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
4701 | ||
4702 | * sem_ch3.adb (Analyze_Declarations): Minor reformatting. | |
4703 | (Build_Derived_Enumeration_Type): If the derived type inherits a | |
4704 | dynamic predicate from its parent, the bounds of the type must | |
4705 | freeze because an explicit constraint is constructed for the | |
4706 | type and the corresponding range is elaborated now. | |
4707 | ||
4708 | 2017-01-19 Arnaud Charlet <charlet@adacore.com> | |
4709 | ||
4710 | * sem_attr.ads: minor fix of inconsistent casing in comment | |
4711 | * lib-writ.ads: minor align comments in columns | |
4712 | * sem_ch3.adb: Minor reformatting. | |
4713 | * spark_xrefs.ads: minor fix typo in SPARK-related comment | |
4714 | * table.ads: minor style fix in comment | |
4715 | * lib-xref-spark_specific.adb | |
4716 | (Add_SPARK_Xrefs): simplify processing of SPARK cross-references. | |
4717 | * sem_ch12.adb: minor whitespace fix | |
4718 | * freeze.adb: Add comment. | |
4719 | * sem_util.adb (Unique_Name): for instances of | |
4720 | generic subprograms ignore the name of the wrapper package. | |
4721 | ||
4722 | 2017-01-19 Javier Miranda <miranda@adacore.com> | |
4723 | ||
4724 | * exp_aggr.adb (Resolve_Record_Aggregate): | |
4725 | Factorize code needed for aggregates of limited and unlimited | |
4726 | types in a new routine. | |
4727 | (Pass_Aggregate_To_Back_End): New subprogram. | |
4728 | ||
4729 | 2017-01-19 Yannick Moy <moy@adacore.com> | |
4730 | ||
4731 | * sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map. | |
4732 | ||
0929d66b AC |
4733 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> |
4734 | ||
4735 | * sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram | |
4736 | public, for use elsewhere. | |
4737 | * sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within | |
4738 | an Inlined_body, recognize a call that uses object notation | |
4739 | and has not been rewritten as a regular call because regular | |
4740 | expansion has not taken place. | |
4741 | ||
4742 | 2017-01-19 Bob Duff <duff@adacore.com> | |
4743 | ||
4744 | * checks.adb (Apply_Type_Conversion_Checks): Disable small optimization | |
4745 | in case of generic formal discrete types, because it causes crashes in | |
4746 | the compiler when built with assertions on. | |
4747 | ||
c63a2ad6 AC |
4748 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
4749 | ||
4750 | * lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads, | |
4751 | sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting. | |
4752 | ||
4753 | 2017-01-19 Bob Duff <duff@adacore.com> | |
4754 | ||
4755 | * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): | |
4756 | Increment Warnings_Detected. It was decrementing, which is | |
4757 | wrong since we just issued a warning message. | |
4758 | * binderr.ads (Errors_Detected, Warnings_Detected): Declare | |
4759 | these variables to be of subtype Nat instead of Int, because | |
4760 | they should never be negative. | |
4761 | ||
4762 | 2017-01-19 Javier Miranda <miranda@adacore.com> | |
4763 | ||
4764 | * contracts.adb (Build_Postconditions_Procedure): Replace | |
4765 | Generate_C_Code by Modify_Tree_For_C. | |
4766 | * exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate): | |
4767 | Replace Generate_C_Code by Modify_Tree_For_C. | |
4768 | * exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by | |
4769 | Modify_Tree_For_C. | |
4770 | * exp_ch11.adb (Expand_N_Exception_Declaration): Replace | |
4771 | Generate_C_Code by Modify_Tree_For_C. | |
4772 | * exp_ch4.adb (Expand_Allocator_Expression): Replace | |
4773 | Generate_C_Code by Modify_Tree_For_C. | |
4774 | * exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code | |
4775 | by Modify_Tree_For_C. | |
4776 | * exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace | |
4777 | Generate_C_Code by Modify_Tree_For_C. | |
4778 | * sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code | |
4779 | by Modify_Tree_For_C. | |
4780 | * sinfo.ads (Modify_Tree_For_C): Adding documentation. | |
4781 | ||
40bf00b1 AC |
4782 | 2017-01-19 Javier Miranda <miranda@adacore.com> |
4783 | ||
4784 | * sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New | |
4785 | subprogram. | |
4786 | (Is_Inlinable_Expression_Function): New subprogram. | |
4787 | * exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved | |
4788 | to Sem_Util. | |
4789 | (Is_Inlinable_Expression_Function): Moved to Sem_Util. | |
4790 | ||
4791 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> | |
4792 | ||
4793 | * sem_ch4.adb (Diagnose_Call): Improve error message when a | |
4794 | selected component has a prefix that might be interpreted | |
4795 | as a parameterless function call, but none of the candidate | |
4796 | interpretations is parameterless, and there is a hidden homonym | |
4797 | of the prefix that is a package. | |
4798 | * sem_ch8.adb (Find_Selected_Component): If the prefix might be | |
4799 | interpreted as a parameterless function call and its analysis | |
4800 | fails, do not call Analyze_Selected_Component. | |
4801 | ||
42e2600a AC |
4802 | 2017-01-19 Steve Baird <baird@adacore.com> |
4803 | ||
4804 | * sem_util.ads: Add new Use_Full_View Boolean parameter to | |
4805 | Get_Index_Bounds. | |
4806 | * sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with | |
4807 | calls to a newly-defined Scalar_Range_Of_Right_View function. | |
4808 | ||
4809 | 2017-01-19 Arnaud Charlet <charlet@adacore.com> | |
4810 | ||
4811 | * gnat1drv.adb: minor fix of unbalanced parens in comment | |
4812 | * lib-xref.ads (Traverse_Compilation_Unit): declaration moved | |
4813 | to visible part of the package to allow re-use in GNATprove. | |
4814 | * lib-xref-spark_specific.adb (Traverse_Stub): routine refactored | |
4815 | from repeated code of Traverse_Compilation_Unit. | |
4816 | (Traverse_Declaration_Or_Statement): fixed detection of | |
4817 | generic subprograms and packages; also, iteration over case | |
4818 | statement alternatives rewritten to avoid testing if the first | |
4819 | alternative is present (since it must be present due to Ada | |
4820 | syntax restrictions). | |
4821 | ||
d6e1090a HK |
4822 | 2017-01-19 Hristian Kirtchev <kirtchev@adacore.com> |
4823 | ||
4824 | * exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as | |
4825 | returning by reference not just for subprogram body stubs, | |
4826 | but for all subprogram cases. | |
4827 | * sem_util.adb: Code reformatting. | |
4828 | (Requires_Transient_Scope): Update the call to Results_Differ. | |
4829 | (Results_Differ): Update the parameter profile and the associated | |
4830 | comment on usage. | |
4831 | ||
d9049d04 ES |
4832 | 2017-01-19 Ed Schonberg <schonberg@adacore.com> |
4833 | ||
4834 | * sem_dim.adb (Analyze_Dimension): Analyze object declaration and | |
4835 | identifier nodes that do not come from source, to handle properly | |
4836 | dimensionality check within an inlined body which inclddes both | |
4837 | original operands and rewritten operands. This removes spurious | |
4838 | dimensionality errors in the presence of front-end inlining, | |
4839 | as well as in SPARK mode. | |
4840 | ||
1c70261c JJ |
4841 | 2017-01-16 Jakub Jelinek <jakub@redhat.com> |
4842 | ||
4843 | PR driver/49726 | |
4844 | * gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag. | |
4845 | ||
b3686dde RO |
4846 | 2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
4847 | ||
4848 | * gcc-interface/Makefile.in (SPARC/Solaris): Fix typo. | |
4849 | ||
33c51287 AC |
4850 | 2017-01-13 Arnaud Charlet <charlet@adacore.com> |
4851 | ||
4852 | * doc/gnat_ugn/getting_started_with_gnat.rst, | |
4853 | doc/gnat_ugn/inline_assembler.rst, | |
4854 | doc/gnat_ugn/building_executable_programs_with_gnat.rst, | |
4855 | doc/gnat_ugn/elaboration_order_handling_in_gnat.rst, | |
4856 | doc/gnat_ugn/about_this_guide.rst, | |
4857 | doc/gnat_ugn/platform_specific_information.rst, | |
4858 | doc/gnat_ugn/example_of_binder_output.rst, | |
4859 | doc/gnat_ugn/gnat_and_program_execution.rst, | |
4860 | doc/gnat_ugn/gnat_utility_programs.rst, | |
4861 | doc/gnat_ugn/the_gnat_compilation_model.rst, | |
4862 | doc/gnat_rm/implementation_defined_attributes.rst, | |
4863 | doc/gnat_rm/compatibility_and_porting_guide.rst, | |
4864 | doc/gnat_rm/standard_library_routines.rst, | |
4865 | doc/gnat_rm/standard_and_implementation_defined_restrictions.rst, | |
4866 | doc/gnat_rm/implementation_defined_pragmas.rst, | |
4867 | doc/gnat_rm/the_gnat_library.rst, | |
4868 | doc/gnat_rm/obsolescent_features.rst, | |
4869 | doc/gnat_rm/about_this_guide.rst, | |
4870 | doc/gnat_rm/the_implementation_of_standard_i_o.rst, | |
4871 | doc/gnat_rm/implementation_of_ada_2012_features.rst, | |
4872 | doc/gnat_rm/interfacing_to_other_languages.rst, | |
4873 | doc/gnat_rm/implementation_defined_aspects.rst, | |
4874 | doc/gnat_rm.rst: Update documentation. | |
4875 | * gnat_rm.texi, gnat_ugn.texi: Regenerated. | |
4876 | ||
b5f3c913 AC |
4877 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
4878 | ||
4879 | * einfo.ads: minor grammar fixes in comment of Normalized_Position_Max. | |
4880 | * scil_ll.adb: Minor style fix in comment. | |
4881 | * sem_ch8.adb (Analyze_Expanded_Name): Perform dimension analysis | |
4882 | even if entity is already set, because the node may be renalyzed | |
4883 | after inlining transformations. | |
4884 | ||
4885 | 2017-01-13 Javier Miranda <miranda@adacore.com> | |
4886 | ||
4887 | * sem_res.adb (Resolve_Call): Do not establish a transient scope | |
4888 | for a call to inlinable expression function (since the call will | |
4889 | be replaced by its returned object). | |
4890 | * exp_ch6.ads (Is_Inlinable_Expression_Function): New subprogram. | |
4891 | * exp_ch6.adb (Expression_Of_Expression_Function): New subprogram. | |
4892 | (Expand_Call): For inlinable expression function call replace the | |
4893 | call by its returned object. | |
4894 | (Is_Inlinable_Expression_Function): New subprogram. | |
4895 | ||
82e5c243 AC |
4896 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
4897 | ||
4898 | * checks.adb: Minor typo fix and reformatting. | |
4899 | ||
4900 | 2017-01-13 Javier Miranda <miranda@adacore.com> | |
4901 | ||
4902 | * contracts.adb (Contract_Only_Subprograms): Remove formal. | |
4903 | (Copy_Original_Specification): Removed. | |
4904 | (Skip_Contract_Only_Subprogram): Move here checks previously | |
4905 | located in the caller of this routine (to leave the code more clean). | |
4906 | (Build_Contract_Only_Subprogram): Code cleanup. | |
4907 | * scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed. | |
4908 | (Get_Contract_Only_Missing_Body_Name): Removed. | |
4909 | ||
f8981f19 AC |
4910 | 2017-01-13 Javier Miranda <miranda@adacore.com> |
4911 | ||
4912 | * sem_ch6.adb (Cloned_Expression): New subprogram. | |
4913 | (Freeze_Expr_Types): Complete previous patch since the expression | |
4914 | of an expression-function may have iterators and loops with | |
4915 | defining identifiers which, as part of the preanalysis of the | |
4916 | expression, may be left decorated with itypes that will not be | |
4917 | available in the tree passed to the backend. | |
4918 | ||
4919 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
4920 | ||
4921 | * checks.adb (Apply_Type_Conversion_Checks): Optimize a type | |
4922 | conversion to Integer of an expression that is an attribute | |
4923 | reference 'Pos on an enumeration type. | |
4924 | ||
4925 | 2017-01-13 Bob Duff <duff@adacore.com> | |
4926 | ||
4927 | * atree.ads: Minor comment fix. | |
4928 | ||
996ce809 JS |
4929 | 2017-01-13 Justin Squirek <squirek@adacore.com> |
4930 | ||
4931 | * sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function | |
4932 | calls in accessibility check on return statement. | |
4933 | ||
36be0082 HK |
4934 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
4935 | ||
4936 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): | |
4937 | Ensure that the input body is a subprogram body before trying to | |
4938 | determine whether it denoted an expression function. Note that | |
4939 | subprogram body stubs cannot denote expression functions. | |
4940 | ||
804ec349 GD |
4941 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
4942 | ||
4943 | * bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting | |
4944 | and typo fixes. | |
4945 | ||
354ae449 AC |
4946 | 2017-01-13 Javier Miranda <miranda@adacore.com> |
4947 | ||
4948 | * einfo.ads (Component_Bit_Offset): Fix documentation. | |
4949 | * sem_ch13.adb (Check_Record_Representation_Clause): Skip check | |
4950 | on record holes for components with unknown compile-time offsets. | |
4951 | ||
4952 | 2017-01-13 Bob Duff <duff@adacore.com> | |
4953 | ||
4954 | * ali.ads, ali.adb (Static_Elaboration_Model_Used): Remove unused flag. | |
4955 | * g-locfil.ads: Minor comment fix. | |
4956 | ||
4957 | 2017-01-13 Bob Duff <duff@adacore.com> | |
4958 | ||
4959 | * binde.adb (Elab_New): New elaboration order algorithm | |
4960 | that is expected to cause fewer ABE issues. This is a work in | |
4961 | progress. The new algorithm is currently disabled, and can be | |
4962 | enable by the -dp switch, or by modifying the Do_Old and Do_New | |
4963 | etc. flags and rebuilding. Experimental code is included to | |
4964 | compare the results of the old and new algorithms. | |
4965 | * binde.ads: Use GNAT.Dynamic_Tables instead of Table, so we | |
4966 | can have multiple of these tables, so the old and new algorithms | |
4967 | can coexist. | |
4968 | * bindgen.ads (Gen_Output_File): Pass Elab_Order as an 'in' | |
4969 | parameter of type array. This avoids the global variable, and | |
4970 | allows bounds checking (which is normally defeated by the tables | |
4971 | packages). It also ensures that the Elab_Order is read-only | |
4972 | to Bindgen. | |
4973 | * bindgen.adb: Pass Elab_Order as an 'in' parameter to all | |
4974 | subprograms that need it, as above. | |
4975 | * debug.adb: Document new -dp switch. Modify doc of old -do | |
4976 | switch. | |
4977 | * gnatbind.adb (Gnatbind): Make use of new interfaces to Binde | |
4978 | and Bindgen. Move writing of closure (-R and -Ra switches) | |
4979 | to Binde; that's more convenient. | |
4980 | ||
4981 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
4982 | ||
4983 | * sem_ch6.adb (Analyze_Expression_Function): If the expression | |
4984 | function is a completion, all entities referenced in the | |
4985 | expression are frozen. As a consequence, a reference to an | |
4986 | uncompleted private type from an enclosing scope is illegal. | |
4987 | ||
448a1eb3 AC |
4988 | 2017-01-13 Javier Miranda <miranda@adacore.com> |
4989 | ||
4990 | * sem_ch6.adb (Freeze_Expr_Types): New subprogram. | |
4991 | (Analyze_Subprogram_Body_Helper): At the occurrence of an | |
4992 | expression function declaration that is a completion, its | |
4993 | expression causes freezing (AI12-0103). | |
4994 | ||
4995 | 2017-01-13 Vadim Godunko <godunko@adacore.com> | |
4996 | ||
4997 | * a-coinho-shared.adb: Fix memory leaks in Constant_Reference and | |
4998 | Reference functions of Ada.Containers.Indefinite_Holders. | |
4999 | ||
5000 | 2017-01-13 Bob Duff <duff@adacore.com> | |
5001 | ||
5002 | * s-os_lib.ads: Minor comment fixes. | |
5003 | ||
5004 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> | |
5005 | ||
5006 | * exp_ch3.adb (Default_Initialize_Object): Do not default | |
5007 | initialize an object when it is of a task type and restriction | |
5008 | No_Tasking is in effect because the initialization is obsolete. | |
5009 | * exp_ch9.adb (Build_Master_Entity): Do not generate a master when | |
5010 | restriction No_Tasking is in effect. | |
5011 | (Build_Master_Renaming): Do not rename a master when restriction | |
5012 | No_Tasking is in effect. | |
5013 | ||
b2c1aa8f AC |
5014 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
5015 | ||
5016 | * sem_aggr.adb (Resolve_Array_Aggregate): The code that verifies | |
5017 | the legality of An others clause applies as well to a choice in | |
5018 | an Iterated_component_ association. | |
5019 | (Resolve_Iterated_Component_Association): An others choice | |
5020 | is legal. | |
5021 | * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): An | |
5022 | Iterated_Component_Association is not static. | |
5023 | ||
5024 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> | |
5025 | ||
5026 | * exp_ch3.adb (Freeze_Type): Mark the Ghost mode as set in case | |
5027 | control is passed to the expresion handler before the new mode | |
5028 | is set. | |
5029 | * sem_ch12.adb (Analyze_Package_Instantiation, | |
5030 | Analyze_Subprogram_Instantiation): Mark the Ghost mode as set | |
5031 | in case control is passed to the expresion handler before the | |
5032 | new mode is set. | |
5033 | ||
72cdccfa HK |
5034 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
5035 | ||
5036 | * sem_aggr.adb, sem_ch3.adb, inline.adb, sem_util.adb, exp_ch4.adb, | |
5037 | exp_aggr.adb: Minor reformatting. | |
5038 | ||
fae8eb5b GD |
5039 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
5040 | ||
5041 | * inline.adb: Minor reformatting and typo fix. | |
5042 | ||
00f45f30 AC |
5043 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
5044 | ||
5045 | * sem_util.ads, sem_util.adb (Choice_List): Move function here | |
5046 | from sem_aggr.adb, for use elsewhere. | |
5047 | * sem_ch3.adb (Analyze_Object_Declaration): Use Choice_List. | |
5048 | * sem_aggr.adb (Resolve_Array_Aggregate): Remove | |
5049 | Iterated_Component_Present. | |
5050 | * exp_aggr.adb: Use Choice_List throughout, to handle | |
5051 | Iterated_Component_Associations. | |
5052 | (Gen_Loop): Generate proper loop for an | |
5053 | Iterated_Component_Association: loop variable has the identifier | |
5054 | of the original association. Generate a loop even for a single | |
5055 | component choice, in order to make loop parameter visible in | |
5056 | expression. | |
5057 | (Flatten): An Iterated_Component_Association is not static. | |
5058 | ||
5059 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5060 | ||
5061 | * exp_ch4.adb (Expand_N_Op_Expon): Ensure that the value of | |
5062 | float exponentiation for statically known small negative values | |
5063 | is the reciprocal of the exponentiation for the opposite value | |
5064 | of the exponent. | |
5065 | * s-exnllf.adb (Exn_Float, Exn_Long_Float, Exn_Long_Long_Float): | |
5066 | Ensure that the value of float exponentiation for negative values | |
5067 | is the reciprocal of the exponentiation for the opposite value | |
5068 | of the exponent. | |
5069 | * inline.adb (Expand_Inlined_Call): Fix the count | |
5070 | for the number of generated gotos. | |
5071 | ||
3abbc5c2 AC |
5072 | 2017-01-13 Yannick Moy <moy@adacore.com> |
5073 | ||
5074 | * inline.adb: Code cleanup. | |
5075 | * sem_util.adb (Is_OK_Volatile_Context): Add | |
5076 | expression in delay statement as OK for volatile context. | |
5077 | ||
5078 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
5079 | ||
5080 | * sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation | |
5081 | mode a choice that is a subtype with a static predicate is | |
5082 | replaced by the values it covers. This transformation must not | |
5083 | be performed in ASIS mode, to preserve the source for analysis. | |
5084 | ||
5085 | 2017-01-13 Justin Squirek <squirek@adacore.com> | |
5086 | ||
5087 | * nlists.ads: Correct minor typo. | |
5088 | ||
ef74daea AC |
5089 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
5090 | ||
5091 | * sem_ch13.adb: Minor reformatting and typo fix. | |
5092 | ||
5093 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
5094 | ||
5095 | * par-ch4.adb (P_Aggregate_Or_Parent_Expr): An | |
5096 | Iterated_Component_Association is a named association in an | |
5097 | array aggregate. | |
5098 | * sem_aggr.adb (Resolve_Iterated_Component_Association): New | |
5099 | procedure, subsidiary of Resolve_Array_Aggregate, to analyze | |
5100 | and resolve the discrete choices and the expression of the | |
5101 | new construct. | |
5102 | * sinfo.adb, sinfo.ads: In analogy with N_Component_Association, | |
5103 | Loop_Actions and Box_Present are attributes of | |
5104 | N_Iterated_Component_Association nodes. Box_Present is always | |
5105 | False in this case. | |
5106 | * sprint.adb (Sprint_Node): An Iterated_Component_Association | |
5107 | has a Discrete_Choices list, as specified in the RM. A | |
5108 | Component_Association for aggregate uses instead a Choices list. | |
5109 | We have to live with this small inconsistency because the new | |
5110 | construct also has a defining identifier, and there is no way | |
5111 | to merge the two node structures. | |
5112 | ||
da9683f4 AC |
5113 | 2017-01-13 Yannick Moy <moy@adacore.com> |
5114 | ||
5115 | * inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the | |
5116 | list of pragmas to remove. Remove pragmas from the list of | |
5117 | statements in the body to inline. | |
5118 | * namet.adb, namet.ads (Nam_In): New version with 12 parameters. | |
5119 | ||
5120 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
5121 | ||
5122 | * sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of | |
5123 | Analyze_Declarations, to analyze and resolve the expressions of | |
5124 | aspect specifications in the current declarative list, so that | |
5125 | the expressions have proper entity and type info. This is needed | |
5126 | for ASIS when there is no subsequent expansion to generate this | |
5127 | semantic information. | |
5128 | * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of | |
5129 | original expression, to suppress cascaded errors when expression | |
5130 | has been constant-folded. | |
5131 | (Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in | |
5132 | ASIS mode, because there is no subsequent expansion to decorate | |
5133 | the tree. | |
5134 | ||
3de3a1be YM |
5135 | 2017-01-13 Yannick Moy <moy@adacore.com> |
5136 | ||
5137 | * inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode): | |
5138 | New function to detect when a call may be inlined or not in | |
5139 | GNATprove mode. | |
5140 | (Expand_Inlined_Call): Ensure that a temporary | |
5141 | is always created in the cases where a type conversion may be | |
5142 | needed on an input parameter in GNATprove mode, so that GNATprove | |
5143 | sees the check to perform. | |
5144 | * sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining | |
5145 | when not applicable due to actual requiring type conversion | |
5146 | with possible check but no temporary value can be copied for | |
5147 | GNATprove to see the check. | |
5148 | ||
d8f43ee6 HK |
5149 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
5150 | ||
5151 | * sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb, | |
5152 | exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb, | |
5153 | layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb, | |
5154 | exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb, | |
5155 | exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb, | |
5156 | g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb, | |
5157 | sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb, | |
5158 | prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb, | |
5159 | a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb, | |
5160 | get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb, | |
5161 | g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb, | |
5162 | sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb, | |
5163 | s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb, | |
5164 | contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb, | |
5165 | g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb, | |
5166 | g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb, | |
5167 | a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb, | |
5168 | ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb, | |
5169 | get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb, | |
5170 | prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb, | |
5171 | exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb, | |
5172 | s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb, | |
5173 | a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb, | |
5174 | a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb, | |
5175 | g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb, | |
5176 | par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb, | |
5177 | uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb, | |
5178 | a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case | |
5179 | statements to reflect the new style for case alternatives. Various | |
5180 | code clean up and reformatting. | |
5181 | ||
d4bf622f AC |
5182 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> |
5183 | ||
5184 | * exp_util.adb: Minor reformatting. | |
5185 | ||
5186 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5187 | ||
5188 | * exp_spark.adb: Code cleanup. | |
5189 | * sem_ch9.adb (Analyze_Delay_Until): Resolve | |
5190 | expression so that calls are identified as such inside delay | |
5191 | until. | |
5192 | ||
a702c9b9 ES |
5193 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> |
5194 | ||
5195 | * exp_util.adb (Insert_Actions): Handle Iterated_Component_Association. | |
5196 | * par-ch3.adb (P_Discrete_Choice_List): An | |
5197 | Iterated_Component_Association is an array aggregate component. | |
5198 | * par-ch4.adb (P_Iterated_Component_Association): New procedure. | |
5199 | (Is_Quantified_Expression): New function that performs a lookahead | |
5200 | to distinguish quantified expressions from iterated component | |
5201 | associations. | |
5202 | (P_Aggregate_Or_Paren_Expr): Recognize iterated component | |
5203 | associations. | |
5204 | (P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto. | |
5205 | * sem.adb (Analyze): Handle Iterated_Component_Association. | |
5206 | * sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated | |
5207 | component associations. | |
5208 | * sinfo.ads, sinfo.adb: Entries for for | |
5209 | N_Iterated_Component_Association and its fields. | |
5210 | * sprint.adb (Sprint_Node_Actual): Handle | |
5211 | N_Iterated_Component_Association. | |
5212 | ||
582dbb53 AC |
5213 | 2017-01-13 Justin Squirek <squirek@adacore.com> |
5214 | ||
5215 | * sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling | |
5216 | of the style check until after preanalysis of acutals. | |
5217 | ||
5218 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5219 | ||
5220 | * sem_ch13.adb: Minor reformatting. | |
5221 | * par-ch11.adb: minor style fix in whitespace | |
5222 | * gnatbind.adb (Gnatbind): Scope of Std_Lib_File | |
5223 | reduced to Add_Artificial_ALI_File; style fix in declaration of | |
5224 | Text; grammar fix in comment. | |
5225 | * osint-c.adb (Read_Library_Info): strip trailing NUL from result. | |
5226 | * freeze.adb: Cleanup to pass pragma instead of | |
5227 | expression to call. | |
5228 | * exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to | |
5229 | replace System'To_Address by equivalent call. | |
5230 | ||
e4d04166 AC |
5231 | 2017-01-13 Arnaud Charlet <charlet@adacore.com> |
5232 | ||
5233 | * bindusg.adb: Improve usage output for -f switch. | |
5234 | ||
5235 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> | |
5236 | ||
5237 | * frontend.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_ch8.adb: | |
5238 | Minor reformatting. | |
5239 | ||
5240 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
5241 | ||
5242 | * sem_ch13.adb (Is_Predicate_Static): Following the intent of the RM, | |
5243 | treat comparisons on strings as legal in a Static_Predicate. | |
5244 | (Is_Predicate_Static, Is_Type_Ref): Predicate also returns true on | |
5245 | a function call that is the expansion of a string comparison.The | |
5246 | function call is built when compiling the corresponding predicate | |
5247 | function, but the expression has been found legal as a static | |
5248 | predicate during earlier analysis. | |
5249 | * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Handle | |
5250 | properly a function call that is the expansion of a string | |
5251 | comparison operation, in order to recover the Static_Predicate | |
5252 | expression and apply it to a static argument when needed. | |
5253 | ||
66340e0e AC |
5254 | 2017-01-13 Tristan Gingold <gingold@adacore.com> |
5255 | ||
5256 | * s-mmap.adb, s-mmap.ads (Open_Read_No_Exception): New function. | |
5257 | (Open_Read): Re-implement using Open_Read_No_Exception. | |
5258 | (Open_Write): Raise exception in case of error. | |
5259 | * s-mmosin-mingw.adb (Open_Common): Do not raise exception. | |
5260 | * s-mmosin-unix.adb (Open_Read, Open_Write): Do not | |
5261 | reaise exception. | |
5262 | * s-mmosin-mingw.ads, s-mmosin-unix.ads (Open_Read): Adjust comment. | |
5263 | ||
5264 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5265 | ||
5266 | * checks.adb: Code cleanup. | |
5267 | ||
5268 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5269 | ||
5270 | * freeze.adb (Check_Inherited_Conditions): Use analyzed pragma | |
5271 | expression instead of unanalyzed aspect expression for checking | |
5272 | the validity of inheriting an operation. Also copy the expression | |
5273 | being passing it to Build_Class_Wide_Expression, as this call | |
5274 | modifies its argument. | |
5275 | * sem_util.ads Fix comment to reference correct function name | |
5276 | New_Copy_Tree. | |
5277 | ||
5278 | 2017-01-13 Javier Miranda <miranda@adacore.com> | |
5279 | ||
5280 | * sem_res.adb (Resolve_Generalized_Indexing): Compiling in ASIS mode, | |
5281 | when we propagate information about the indexes back to the original | |
5282 | indexing mode and the prefix of the index is a function call, do not | |
5283 | remove any parameter from such call. | |
5284 | ||
5285 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> | |
5286 | ||
5287 | * exp_ch6.ads (Needs_BIP_Finalization_Master): Update comment. | |
5288 | * exp_ch6.adb (Needs_BIP_Finalization_Master): Return True for | |
5289 | a build-in-place function whose result type is tagged. | |
5290 | ||
5291 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5292 | ||
5293 | * sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper): | |
5294 | Do not generate a wrapper when the only candidate is a class-wide | |
5295 | subprogram. | |
5296 | (Analyze_Subprogram_Renaming): Do not freeze the renaming or renamed | |
5297 | inside a generic context. | |
5298 | ||
27bb7941 AC |
5299 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
5300 | ||
5301 | * exp_util.adb (Add_Inherited_Tagged_DIC): | |
5302 | Pass the object parameters of both the parent and the derived | |
5303 | type DIC procedure to the reference replacement circuitry. | |
5304 | (Find_DIC_Type): Modify the circuitry to present the partial | |
5305 | view of a private type in case the private type defines its own | |
5306 | DIC pragma. | |
5307 | (Replace_Object_And_Primitive_References): Add two | |
5308 | optional formal parameters. Update the comment on usage. Update | |
5309 | the replacement of references to object parameters. | |
5310 | ||
5311 | 2017-01-13 Gary Dismukes <dismukes@adacore.com> | |
5312 | ||
5313 | * einfo.adb, sem_ch6.adb, atree.adb: Minor reformatting and typo fix. | |
5314 | ||
5315 | 2017-01-13 Ed Schonberg <schonberg@adacore.com> | |
5316 | ||
5317 | * sem_res.adb (Resolve_Actuals): Apply Scalar_Range_Check to | |
5318 | an out parameter that is a type conversion, independently of th | |
5319 | range check that may apply to the expression of the conversion, | |
5320 | for use in GNATProve. | |
5321 | ||
5322 | 2017-01-13 Yannick Moy <moy@adacore.com> | |
5323 | ||
5324 | * gnat1drv.adb (Gnat1drv): Move the implicit with for System in | |
5325 | GNATprove_Mode here to Frontend. | |
5326 | * frontend.adb (Frontend): Move the implicit with for System | |
5327 | in GNATprove_Mode here as it ismore correct this way; the old | |
5328 | place only worked by chance, since there were no overloaded names. | |
5329 | * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Tasking_State. | |
5330 | * sem_attr.adb (Analyze_Attribute): In GNATprove_Mode, for the | |
5331 | four attributes identified in SRM 9(18), add an implicit with | |
5332 | to Ada.Task_Identification. | |
5333 | * sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper): | |
5334 | Deal specially with the wrapper introduced for AI05-0071 in GNATprove | |
5335 | mode. | |
5336 | * checks.adb (Apply_Discriminant_Check, | |
5337 | Apply_Selected_Length_Checks, Apply_Selected_Range_Checks): | |
5338 | In GNATprove mode, we do not apply the checks, but we still | |
5339 | analyze the expression to possibly issue errors on SPARK | |
5340 | code when a run-time error can be detected at compile time. | |
5341 | (Selected_Length_Checks, Selected_Range_Checks): Perform analysis | |
5342 | in GNATprove mode. | |
5343 | ||
b0bf18ad AC |
5344 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
5345 | ||
5346 | * expander.adb (Expand): Add a warning about using return | |
5347 | statements in Ghost management code. | |
5348 | * exp_ch3.adb (Freeze_Type): Add a warning about using return | |
5349 | statements in Ghost management code. | |
5350 | * exp_ch7.adb (Build_Invariant_Procedure_Body, | |
5351 | Build_Invariant_Procedure_Declaration): Add a warning about | |
5352 | using return statements in Ghost management code. | |
5353 | * exp_disp.adb (Make_DT): Add a warning about using return | |
5354 | statements in Ghost management code. | |
5355 | * exp_util.adb (Build_DIC_Procedure_Body, | |
5356 | Build_DIC_Procedure_Declaration, Make_Predicated_Call): Add a | |
5357 | warning about using return statements in Ghost management code. | |
5358 | * freeze.adb (Freeze_Entity): Add a warning about using return | |
5359 | statements in Ghost management code. | |
5360 | * sem.adb (Analyze, Do_Analyze): Add a warning about using return | |
5361 | statements in Ghost management code. | |
5362 | * sem_ch3.adb (Analyze_Object_Declaration, Process_Full_View): Add | |
5363 | a warning about using return statements in Ghost management code. | |
5364 | * sem_ch5.adb (Analyze_Assignment): Add a warning about using | |
5365 | return statements in Ghost management code. | |
5366 | * sem_ch6.adb (Analyze_Procedure_Call, | |
5367 | Analyze_Subprogram_Body_Helper): Add a warning about using return | |
5368 | statements in Ghost management code. | |
5369 | * sem_ch7.adb (Analyze_Package_Body_Helper): Add a warning about | |
5370 | using return statements in Ghost management code. | |
5371 | * sem_ch12.adb (Analyze_Package_Instantiation, | |
5372 | Analyze_Subprogram_Instantiation, Instantiate_Package_Body, | |
5373 | Instantiate_Subprogram_Body): Add a warning about using return | |
5374 | statements in Ghost management code. | |
5375 | * sem_ch13.adb (Build_Predicate_Functions, | |
5376 | Build_Predicate_Function_Declarations): Add a warning about | |
5377 | using return statements in Ghost management code. | |
5378 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part, | |
5379 | Analyze_Initial_Condition_In_Decl_Part, Analyze_Pragma, | |
5380 | Analyze_Pre_Post_Condition_In_Decl_Part): Add a warning about | |
5381 | using return statements in Ghost management code. | |
5382 | ||
5383 | 2017-01-13 Tristan Gingold <gingold@adacore.com> | |
5384 | ||
5385 | * s-mmosin-mingw.adb: Fix pragma import. | |
5386 | ||
5387 | 2017-01-13 Arnaud Charlet <charlet@adacore.com> | |
5388 | ||
5389 | * gnat1drv.adb (Adjust_Global_Switches): Ignore -gnateE in | |
5390 | codepeer mode. | |
5391 | ||
d65a80fd HK |
5392 | 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> |
5393 | ||
5394 | * atree.adb (Allocate_Initialize_Node): A newly created node is | |
5395 | no longer marked as Ghost at this level. | |
5396 | (Mark_New_Ghost_Node): New routine. | |
5397 | (New_Copy): Mark the copy as Ghost. | |
5398 | (New_Entity): Mark the entity as Ghost. | |
5399 | (New_Node): Mark the node as Ghost. | |
5400 | * einfo.adb (Is_Checked_Ghost_Entity): This attribute can now | |
5401 | apply to unanalyzed entities. | |
5402 | (Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed | |
5403 | entities. | |
5404 | (Set_Is_Checked_Ghost_Entity): This attribute now | |
5405 | applies to all entities as well as unanalyzed entities. | |
5406 | (Set_Is_Ignored_Ghost_Entity): This attribute now applies to | |
5407 | all entities as well as unanalyzed entities. | |
5408 | * expander.adb Add with and use clauses for Ghost. | |
5409 | (Expand): Install and revert the Ghost region associated with the node | |
5410 | being expanded. | |
5411 | * exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code. | |
5412 | (Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code. | |
5413 | (Expand_Freeze_Enumeration_Type): Remove all Ghost-related code. | |
5414 | (Expand_Freeze_Record_Type): Remove all Ghost-related code. | |
5415 | (Freeze_Type): Install and revert the Ghost region associated | |
5416 | with the type being frozen. | |
5417 | * exp_ch5.adb Remove with and use clauses for Ghost. | |
5418 | (Expand_N_Assignment_Statement): Remove all Ghost-related code. | |
5419 | * exp_ch6.adb Remove with and use clauses for Ghost. | |
5420 | (Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code. | |
5421 | (Expand_N_Subprogram_Body): Remove all Ghost-related code. | |
5422 | * exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the | |
5423 | Ghost region of the working type. | |
5424 | (Build_Invariant_Procedure_Declaration): Install and revert | |
5425 | the Ghost region of the working type. | |
5426 | (Expand_N_Package_Body): Remove all Ghost-related code. | |
5427 | * exp_ch8.adb Remove with and use clauses for Ghost. | |
5428 | (Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related | |
5429 | code. | |
5430 | (Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code. | |
5431 | (Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code. | |
5432 | (Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related | |
5433 | code. | |
5434 | * exp_ch13.adb Remove with and use clauses for Ghost. | |
5435 | (Expand_N_Freeze_Entity): Remove all Ghost-related code. | |
5436 | * exp_disp.adb (Make_DT): Install and revert the Ghost region of | |
5437 | the tagged type. Move the generation of various entities within | |
5438 | the Ghost region of the type. | |
5439 | * exp_prag.adb Remove with and use clauses for Ghost. | |
5440 | (Expand_Pragma_Check): Remove all Ghost-related code. | |
5441 | (Expand_Pragma_Contract_Cases): Remove all Ghost-related code. | |
5442 | (Expand_Pragma_Initial_Condition): Remove all Ghost-related code. | |
5443 | (Expand_Pragma_Loop_Variant): Remove all Ghost-related code. | |
5444 | * exp_util.adb (Build_DIC_Procedure_Body): Install | |
5445 | and revert the Ghost region of the working types. | |
5446 | (Build_DIC_Procedure_Declaration): Install and revert the | |
5447 | Ghost region of the working type. | |
5448 | (Make_Invariant_Call): Install and revert the Ghost region of the | |
5449 | associated type. | |
5450 | (Make_Predicate_Call): Reimplemented. Install and revert the | |
5451 | Ghost region of the associated type. | |
5452 | * freeze.adb (Freeze_Entity): Install and revert the Ghost region | |
5453 | of the entity being frozen. | |
5454 | (New_Freeze_Node): Removed. | |
5455 | * ghost.adb Remove with and use clauses for Opt. | |
5456 | (Check_Ghost_Completion): Update the parameter profile | |
5457 | and all references to formal parameters. | |
5458 | (Ghost_Entity): Update the comment on usage. | |
5459 | (Install_Ghost_Mode): New routines. | |
5460 | (Is_Ghost_Assignment): New routine. | |
5461 | (Is_Ghost_Declaration): New routine. | |
5462 | (Is_Ghost_Pragma): New routine. | |
5463 | (Is_Ghost_Procedure_Call): New routine. | |
5464 | (Is_Ghost_Renaming): Removed. | |
5465 | (Is_OK_Declaration): Reimplemented. | |
5466 | (Is_OK_Pragma): Reimplemented. | |
5467 | (Is_OK_Statement): Reimplemented. | |
5468 | (Is_Subject_To_Ghost): Update the comment on usage. | |
5469 | (Mark_And_Set_Ghost_Assignment): New routine. | |
5470 | (Mark_And_Set_Ghost_Body): New routine. | |
5471 | (Mark_And_Set_Ghost_Completion): New routine. | |
5472 | (Mark_And_Set_Ghost_Declaration): New routine. | |
5473 | (Mark_And_Set_Ghost_Instantiation): New routine. | |
5474 | (Mark_And_Set_Ghost_Procedure_Call): New routine. | |
5475 | (Mark_Full_View_As_Ghost): Removed. | |
5476 | (Mark_Ghost_Declaration_Or_Body): New routine. | |
5477 | (Mark_Ghost_Pragma): New routine. | |
5478 | (Mark_Ghost_Renaming): New routine. | |
5479 | (Mark_Pragma_As_Ghost): Removed. | |
5480 | (Mark_Renaming_As_Ghost): Removed. | |
5481 | (Propagate_Ignored_Ghost_Code): Update the comment on usage. | |
5482 | (Prune_Node): Freeze nodes no longer need special pruning, they | |
5483 | are processed by the general ignored Ghost code mechanism. | |
5484 | (Restore_Ghost_Mode): New routine. | |
5485 | (Set_Ghost_Mode): Reimplemented. | |
5486 | (Set_Ghost_Mode_From_Entity): Removed. | |
5487 | * ghost.ads Add with and use clauses for Ghost. | |
5488 | (Check_Ghost_Completion): Update the parameter profile | |
5489 | along with the comment on usage. | |
5490 | (Install_Ghost_Mode): New routine. | |
5491 | (Is_Ghost_Assignment): New routine. | |
5492 | (Is_Ghost_Declaration): New routine. | |
5493 | (Is_Ghost_Pragma): New routine. | |
5494 | (Is_Ghost_Procedure_Call): New routine. | |
5495 | (Mark_And_Set_Ghost_Assignment): New routine. | |
5496 | (Mark_And_Set_Ghost_Body): New routine. | |
5497 | (Mark_And_Set_Ghost_Completion): New routine. | |
5498 | (Mark_And_Set_Ghost_Declaration): New routine. | |
5499 | (Mark_And_Set_Ghost_Instantiation): New routine. | |
5500 | (Mark_And_Set_Ghost_Procedure_Call): New routine. | |
5501 | (Mark_Full_View_As_Ghost): Removed. | |
5502 | (Mark_Ghost_Pragma): New routine. | |
5503 | (Mark_Ghost_Renaming): New routine. | |
5504 | (Mark_Pragma_As_Ghost): Removed. | |
5505 | (Mark_Renaming_As_Ghost): Removed. | |
5506 | (Restore_Ghost_Mode): New routine. | |
5507 | (Set_Ghost_Mode): Redefined. | |
5508 | (Set_Ghost_Mode_From_Entity): Removed. | |
5509 | * sem.adb (Analyze): Install and revert the Ghost region of the | |
5510 | node being analyzed. | |
5511 | (Do_Analyze): Change the way a clean Ghost | |
5512 | region is installed and reverted. | |
5513 | * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove | |
5514 | all Ghost-related code. | |
5515 | (Analyze_Incomplete_Type_Decl): Remove all Ghost-related code. | |
5516 | (Analyze_Number_Declaration): Remove all Ghost-related code. | |
5517 | (Analyze_Object_Declaration): Install and revert the Ghost region of | |
5518 | a deferred object declaration's completion. | |
5519 | (Array_Type_Declaration): Remove all Ghost-related code. | |
5520 | (Build_Derived_Type): Update the comment on | |
5521 | the propagation of Ghost attributes from a parent to a derived type. | |
5522 | (Derive_Subprogram): Remove all Ghost-related code. | |
5523 | (Make_Class_Wide_Type): Remove all Ghost-related code. | |
5524 | (Make_Implicit_Base): Remove all Ghost-related code. | |
5525 | (Process_Full_View): Install and revert the Ghost region of | |
5526 | the partial view. There is no longer need to check the Ghost | |
5527 | completion here. | |
5528 | * sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost | |
5529 | region of the left hand side. | |
5530 | * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove | |
5531 | all Ghost-related code. | |
5532 | (Analyze_Expression_Function): Remove all Ghost-related code. | |
5533 | (Analyze_Generic_Subprogram_Body): Remove all Ghost-related code. | |
5534 | (Analyze_Procedure_Call): Install and revert the Ghost region of | |
5535 | the procedure being called. | |
5536 | (Analyze_Subprogram_Body_Helper): Install and revert the Ghost | |
5537 | region of the spec or body. | |
5538 | (Analyze_Subprogram_Declaration): Remove all Ghost-related code. | |
5539 | (Build_Subprogram_Declaration): Remove all Ghost-related code. | |
5540 | (Find_Corresponding_Spec): Remove all Ghost-related code. | |
5541 | (Process_Formals): Remove all Ghost-related code. | |
5542 | * sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert | |
5543 | the Ghost region of the spec. | |
5544 | (Analyze_Package_Declaration): Remove all Ghost-related code. | |
5545 | * sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as | |
5546 | Ghost when it aliases a Ghost entity. | |
5547 | (Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases | |
5548 | a Ghost entity. | |
5549 | (Analyze_Object_Renaming): Mark a renaming as Ghost when | |
5550 | it aliases a Ghost entity. | |
5551 | (Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases | |
5552 | a Ghost entity. | |
5553 | (Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it | |
5554 | aliases a Ghost entity. | |
5555 | * sem_ch11.adb Remove with and use clauses for Ghost. | |
5556 | (Analyze_Exception_Declaration): Remove all Ghost-related code. | |
5557 | * sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all | |
5558 | Ghost-related code. | |
5559 | (Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related | |
5560 | code. | |
5561 | (Analyze_Package_Instantiation): Install and revert the Ghost region | |
5562 | of the package instantiation. | |
5563 | (Analyze_Subprogram_Instantiation): Install | |
5564 | and revert the Ghost region of the subprogram instantiation. | |
5565 | (Instantiate_Package_Body): Code clean up. Install and revert the | |
5566 | Ghost region of the package body. | |
5567 | (Instantiate_Subprogram_Body): Code clean up. Install and revert the | |
5568 | Ghost region of the subprogram body. | |
5569 | * sem_ch13.adb (Build_Predicate_Functions): Install | |
5570 | and revert the Ghost region of the related type. | |
5571 | (Build_Predicate_Function_Declaration): Code clean up. Install | |
5572 | and rever the Ghost region of the related type. | |
5573 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): | |
5574 | Install and revert the Ghost region of the pragma. | |
5575 | (Analyze_Initial_Condition_In_Decl_Part): Install and revert the | |
5576 | Ghost region of the pragma. | |
5577 | (Analyze_Pragma): Install and revert the Ghost region of various | |
5578 | pragmas. Mark a pragma as Ghost when it is related to a Ghost entity | |
5579 | or encloses a Ghost entity. | |
5580 | (Analyze_Pre_Post_Condition): Install and revert the Ghost | |
5581 | region of the pragma. | |
5582 | (Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the | |
5583 | Ghost region of the pragma. | |
5584 | * sem_res.adb (Resolve): Remove all Ghost-related code. | |
5585 | * sem_util.adb (Is_Declaration): Reimplemented. | |
5586 | (Is_Declaration_Other_Than_Renaming): New routine. | |
5587 | * sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine. | |
5588 | * sinfo.adb (Is_Checked_Ghost_Pragma): New routine. | |
5589 | (Is_Ghost_Pragma): Removed. | |
5590 | (Is_Ignored_Ghost_Pragma): New routine. | |
5591 | (Set_Is_Checked_Ghost_Pragma): New routine. | |
5592 | (Set_Is_Ghost_Pragma): Removed. | |
5593 | (Set_Is_Ignored_Ghost_Pragma): New routine. | |
5594 | * sinfo.ads: Update the documentation on Ghost mode and | |
5595 | Ghost regions. New attributes Is_Checked_Ghost_Pragma | |
5596 | and Is_Ignored_Ghost_Pragma along with usages in nodes. | |
5597 | Remove attribute Is_Ghost_Pragma along with usages in nodes. | |
5598 | (Is_Checked_Ghost_Pragma): New routine along with pragma Inline. | |
5599 | (Is_Ghost_Pragma): Removed along with pragma Inline. | |
5600 | (Is_Ignored_Ghost_Pragma): New routine along with pragma Inline. | |
5601 | (Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline. | |
5602 | (Set_Is_Ghost_Pragma): Removed along with pragma Inline. | |
5603 | (Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline. | |
5604 | ||
ca0eb951 AC |
5605 | 2017-01-12 Tristan Gingold <gingold@adacore.com> |
5606 | ||
5607 | * s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb, | |
5608 | s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files. | |
5609 | ||
5610 | 2017-01-12 Yannick Moy <moy@adacore.com> | |
5611 | ||
5612 | * errout.adb, errout.ads (Initialize): Factor common treatment | |
5613 | in Reset_Warnings. | |
5614 | (Reset_Warnings): New procedure to reset counts related to warnings. | |
5615 | (Record_Compilation_Errors): New variable to store the presence of an | |
5616 | error, used in gnat2why to allow changing the Warning_Mode. | |
5617 | (Compilation_Errors): Use new variable Record_Compilation_Errors to | |
5618 | store the presence of an error. | |
5619 | ||
5620 | 2017-01-12 Javier Miranda <miranda@adacore.com> | |
5621 | ||
5622 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
5623 | For Interrupt_Handler and Attach_ Handler aspects, decorate the | |
5624 | internally built reference to the protected procedure as coming | |
5625 | from sources and force its analysis. | |
5626 | ||
5627 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> | |
5628 | ||
5629 | * sem_ch3.adb (Build_Derived_Type): For a scalar derived type, | |
5630 | inherit predicates if any from the first_subtype of the parent, | |
5631 | not from the anonymous parent type. | |
5632 | * sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic | |
5633 | predicate is not a static subtype. | |
5634 | ||
5635 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> | |
5636 | ||
5637 | * freeze.adb (Check_Suspicious_Convention): New procedure | |
5638 | performing a warning check on discriminated record types with | |
5639 | convention C or C++. Factored out of procedure Freeze_Record_Type, | |
5640 | and changed to only apply to base types (to avoid spurious | |
5641 | warnings on subtypes). Minor improvement of warning messages | |
5642 | to refer to discriminated rather than variant record types. | |
5643 | (Freeze_Record_Type): Remove code for performing a suspicious | |
5644 | convention check. | |
5645 | (Freeze_Entity): Only call Freeze_Record_Type | |
5646 | on types that aren't declared within any enclosing generic units | |
5647 | (rather than just excluding the type when the innermost scope | |
5648 | is generic). Call Check_Suspicious_Convention whether or not | |
5649 | the type is declared within a generic unit. | |
5650 | * sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util. | |
5651 | * sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved | |
5652 | from Sem_Ch8). | |
5653 | ||
5654 | 2017-01-12 Tristan Gingold <gingold@adacore.com> | |
5655 | ||
5656 | * sysdep.c, adaint.c, rtinit.c, ming32.h: | |
5657 | (__gnat_current_codepage): Renamed from CurrentCodePage | |
5658 | (__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding | |
5659 | ||
5660 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> | |
5661 | ||
5662 | * sem_ch6.adb (Fully_Conformant_Expressions): Handle properly | |
5663 | quantified expressions, following AI12-050: the loop parameters | |
5664 | of two quantified expressions are conformant if they have the | |
5665 | same identifier. | |
5666 | ||
4e41b0e6 AC |
5667 | 2017-01-12 Arnaud Charlet <charlet@adacore.com> |
5668 | ||
5669 | * gcc-interface/Makefile.in: Clean up VxWorks targets. | |
5670 | ||
0289a8d7 AC |
5671 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> |
5672 | ||
5673 | * sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry): | |
5674 | Hnadle properly the attribute reference when it appears as part | |
5675 | of an expression in another loop aspect. | |
5676 | ||
5677 | 2017-01-12 Ed Schonberg <schonberg@adacore.com> | |
5678 | ||
5679 | * exp_ch3.adb (Check_Predicated_Discriminant): New procedure, | |
5680 | subsidiary of Build_Initialization_Call, to complete generation | |
5681 | of predicate checks on discriminants whose (sub)types have | |
5682 | predicates, and to add checks on variants that do not have an | |
5683 | others clause. | |
5684 | * sem_util.adb (Gather_Components): A missing Others alternative is | |
5685 | not an error when the type of the discriminant is a static predicate | |
5686 | (and coverage has been checked when analyzing the case statement). A | |
5687 | runtime check is generated to verify that a given discriminant | |
5688 | satisfies the predicate (RM 3.8.1. (21.1/2)). | |
5689 | ||
5690 | 2017-01-12 Yannick Moy <moy@adacore.com> | |
5691 | ||
5692 | * gnat1drv.adb (Adjust_Global_Switches): Only | |
5693 | perform checking of exception mechanism when generating code. | |
5694 | ||
5695 | 2017-01-12 Justin Squirek <squirek@adacore.com> | |
5696 | ||
5697 | * exp_ch7.adb (Add_Type_Invariants, Process_Array_Component): | |
5698 | Remove handling of access component with invariant. | |
5699 | (Build_Invariant_Procedure_Declaration): Remove return on class | |
5700 | wide type. | |
5701 | * freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove | |
5702 | conditional exception for component or array so Has_Own_Invariants | |
5703 | flag is not falsly set. | |
5704 | * sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class | |
5705 | wide type to have no invariant flags. | |
5706 | ||
2168d7cc AC |
5707 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> |
5708 | ||
5709 | * exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb, | |
5710 | sem_ch13.adb: Minor reformatting. | |
5711 | ||
5712 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5713 | ||
5714 | * exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing | |
5715 | adjustment primitive when the ancestor type was not properly frozen. | |
5716 | (Gen_Assign): Guard against a missing initialization | |
5717 | primitive when the component type was not properly frozen. | |
5718 | (Initialize_Array_Component): Guard against a missing adjustment | |
5719 | primitive when the component type was not properly frozen. | |
5720 | (Initialize_Record_Component): Guard against a missing adjustment | |
5721 | primitive when the component type was not properly frozen. | |
5722 | (Process_Transient_Component_Completion): The transient object may | |
5723 | not be finalized when its associated type was not properly frozen. | |
5724 | * exp_ch3.adb (Build_Assignment): Guard against a missing | |
5725 | adjustment primitive when the component type was not properly frozen. | |
5726 | (Build_Initialization_Call): Guard against a missing | |
5727 | initialization primitive when the associated type was not properly | |
5728 | frozen. | |
5729 | (Expand_N_Object_Declaration): Guard against a missing | |
5730 | adjustment primitive when the base type was not properly frozen. | |
5731 | (Predefined_Primitive_Bodies): Create an empty Deep_Adjust | |
5732 | body when there is no adjustment primitive available. Create an | |
5733 | empty Deep_Finalize body when there is no finalization primitive | |
5734 | available. | |
5735 | * exp_ch4.adb (Apply_Accessibility_Check): Guard against a | |
5736 | missing finalization primitive when the designated type was | |
5737 | not properly frozen. | |
5738 | (Expand_N_Allocator): Guard against a missing initialization primitive | |
5739 | when the designated type was not properly frozen. | |
5740 | * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call | |
5741 | only when the corresponding adjustment primitive is available. | |
5742 | * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the | |
5743 | adjustment/finalization statements only when there is an available | |
5744 | primitive to carry out the action. | |
5745 | (Build_Initialize_Statements): Generate the initialization/finalization | |
5746 | statements only when there is an available primitive to carry out the | |
5747 | action. | |
5748 | (Make_Adjust_Call): Do not generate a call when the underlying | |
5749 | type is not present due to a possible missing full view. | |
5750 | (Make_Final_Call): Do not generate a call when the underlying | |
5751 | type is not present due to a possible missing full view. | |
5752 | (Make_Finalize_Address_Stmts): Generate an empty body when the | |
5753 | designated type lacks a finalization primitive. | |
5754 | (Make_Init_Call): Do not generate a call when the underlying type is | |
5755 | not present due to a possible missing full view. | |
5756 | (Process_Component_For_Adjust): Add the adjustment call only when the | |
5757 | corresponding adjustment primitive is available. | |
5758 | (Process_Component_For_Finalize): Add the finalization call only when | |
5759 | the corresponding finalization primitive is available. | |
5760 | (Process_Object_Declaration): Use a null statement to emulate a | |
5761 | missing call to the finalization primitive of the object type. | |
5762 | * exp_ch7.ads (Make_Adjust_Call): Update the comment on usage. | |
5763 | (Make_Final_Call): Update the comment on usage. | |
5764 | (Make_Init_Call): Update the comment on usage. | |
5765 | * exp_util.adb (Build_Transient_Object_Statements): Code reformatting. | |
5766 | ||
5767 | 2017-01-12 Arnaud Charlet <charlet@adacore.com> | |
5768 | ||
5769 | * einfo.ads: Update documentation of Address_Taken. | |
5770 | * sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute | |
5771 | [Access_Attribute]): Only consider 'Access/'Unchecked_Access | |
5772 | for subprograms when setting Address_Taken flag. | |
5773 | ||
5774 | 2017-01-12 Patrick Bernardi <bernardi@adacore.com> | |
5775 | ||
5776 | * sem_ch10.adb (Analyze_With_Clause): Removed code that turned | |
5777 | Configurable_Run_Time_Mode off when analysing with'ed predefined | |
5778 | libraries. | |
5779 | ||
872fc7b5 GD |
5780 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> |
5781 | ||
5782 | * sem_prag.adb: Minor reformatting. | |
5783 | * sem_util.adb (Unique_Entity): fix result for | |
5784 | bodies of entry families. | |
5785 | ||
00420f74 JS |
5786 | 2017-01-12 Justin Squirek <squirek@adacore.com> |
5787 | ||
5788 | * sem_prag.adb (Analyze_Pragma): Add appropriate calls to | |
5789 | Resolve_Suppressible in the pragma Assertion_Policy case. | |
5790 | (Resolve_Suppressible): Created this function to factor out | |
5791 | common code used to resolve Suppress to either Ignore or Check | |
5792 | * snames.ads-tmpl: Add name for Suppressible. | |
5793 | ||
4bfe4a99 GD |
5794 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> |
5795 | ||
5796 | * exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor | |
5797 | reformatting. | |
5798 | * debug.adb: Minor comment fixes. | |
5799 | ||
eacfa9bc AC |
5800 | 2017-01-12 Arnaud Charlet <charlet@adacore.com> |
5801 | ||
5802 | * sem_util.adb (Unique_Entity): For concurrent | |
5803 | bodies that are defined with stubs and complete a declaration | |
5804 | of a single concurrent object return the entity of an implicit | |
5805 | concurrent type, not the entity of the anonymous concurrent | |
5806 | object. | |
5807 | * debug.adb: -gnatd.J is no longer used. | |
5808 | * make.adb (Globalize): Removed, no longer used. | |
5809 | * sem_ch9.adb: minor typo in comment for entry index | |
5810 | ||
5811 | 2017-01-12 Patrick Bernardi <bernardi@adacore.com> | |
5812 | ||
5813 | * aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size. | |
5814 | * exp_ch3.adb (Build_Init_Statements): As part of initialising | |
5815 | the value record of a task, set its _Secondary_Stack_Size field | |
5816 | if present. | |
5817 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create | |
5818 | a _Secondary_Stack_Size field in the value record of | |
5819 | the task if a Secondary_Stack_Size rep item is present. | |
5820 | (Make_Task_Create_Call): Include secondary stack size | |
5821 | parameter. If No_Secondary_Stack restriction is in place, passes | |
5822 | stack size of 0. | |
5823 | * par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma | |
5824 | Secondary_Stack_Size. | |
5825 | * s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New | |
5826 | function to define the overhead of the secondary stack. | |
5827 | * s-tarest.adb (Create_Restricted_Task, | |
5828 | Create_Restricted_Task_Sequential): Functions now include | |
5829 | Secondary_Stack_Size parameter to pass to Initialize_ATCB. | |
5830 | * s-tarest.adb (Create_Restricted_Task, | |
5831 | Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now | |
5832 | include Secondary_Stack_Size parameter. | |
5833 | (Task_Wrapper): Secondary stack now allocated to the size specified by | |
5834 | the Secondary_Stack_Size parameter in the task's ATCB. | |
5835 | * s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New | |
5836 | Secondary_Stack_Size component. | |
5837 | * s-tassta.adb, s-tassta.ads (Create_Restricted_Task, | |
5838 | Create_Restricted_Task_Sequential): Function now include | |
5839 | Secondary_Stack_Size parameter. | |
5840 | (Task_Wrapper): Secondary stack now allocated to the size | |
5841 | specified by the Secondary_Stack_Size parameter in the task's | |
5842 | ATCB. | |
5843 | * s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call | |
5844 | to include Secondary_Stack_Size parameter. | |
5845 | * sem_ch13.adb (Analyze_Aspect_Specification): Add support for | |
5846 | Secondary_Stack_Size aspect, turning the aspect into its corresponding | |
5847 | internal attribute. | |
5848 | (Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute. | |
5849 | * snames.adb-tmpl, snames.ads-tmpl: Added names | |
5850 | Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size, | |
5851 | Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size. | |
5852 | ||
5f325af2 AC |
5853 | 2017-01-12 Yannick Moy <moy@adacore.com> |
5854 | ||
5855 | * exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied | |
5856 | subtree. | |
5857 | ||
5858 | 2017-01-12 Justin Squirek <squirek@adacore.com> | |
5859 | ||
5860 | * exp_attr.adb (Expand_N_Attribute_Reference): | |
5861 | Fix Finalization_Size case by properly resolving the type after | |
5862 | rewritting the node. | |
5863 | ||
5864 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5865 | ||
5866 | * exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into | |
5867 | the tree. | |
5868 | (Build_DIC_Procedure_Declaration): Semi-insert the body into the tree. | |
5869 | * binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb, | |
5870 | exp_sel.ads: Minor reformatting. | |
5871 | ||
5872 | 2017-01-12 Justin Squirek <squirek@adacore.com> | |
5873 | ||
5874 | * exp_ch6.adb (Expand_Call): Add guard to prevent | |
5875 | invariant checks from being created for internally generated | |
5876 | subprograms. | |
5877 | ||
5878 | 2017-01-12 Bob Duff <duff@adacore.com> | |
5879 | ||
5880 | * lib-writ.ads: Remove incorrect comment. | |
5881 | ||
5882 | 2017-01-12 Javier Miranda <miranda@adacore.com> | |
5883 | ||
5884 | * debug.adb (-gnatd.K): Enable generation of contract-only | |
5885 | procedures in CodePeer mode. | |
5886 | * contracts.adb (Build_And_Analyze_Contract_Only_Subprograms): | |
5887 | New subprogram. | |
5888 | (Analyze_Contracts): Generate contract-only procedures if -gnatdK is | |
5889 | set. | |
5890 | * scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New | |
5891 | subprogram. | |
5892 | (Get_Contract_Only_Missing_Body_Name): New subprogram. | |
5893 | (Get_Contract_Only_Body): New subprogram. | |
5894 | (Set_Contract_Only_Body): New subprogram. | |
5895 | (Is_Contract_Only_Body): New subprogram. | |
5896 | (Set_Is_Contract_Only_Body): New subprogram. | |
5897 | (SCIL_Nodes): Replace table by hash-table. | |
5898 | ||
10c2c151 AC |
5899 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> |
5900 | ||
5901 | * exp_ch6.adb: Minor reformatting. | |
5902 | * spark_xrefs.ads: minor cleanup of comments for SPARK xrefs | |
5903 | ||
5904 | 2017-01-12 Bob Duff <duff@adacore.com> | |
5905 | ||
5906 | * binde.adb (Forced): New reason for a dependence. | |
5907 | (Force_Elab_Order): Implementation of the new switch. | |
5908 | * binde.ads: Minor comment fixes. | |
5909 | * bindusg.adb: Add -f switch. Apparently, there was an -f switch | |
5910 | long ago that is no longer supported; removed comment about that. | |
5911 | * opt.ads (Force_Elab_Order_File): Name of file specified for | |
5912 | -f switch. | |
5913 | * switch-b.adb: Parse -f switch. | |
5914 | ||
84e13614 JS |
5915 | 2017-01-12 Justin Squirek <squirek@adacore.com> |
5916 | ||
5917 | * exp_ch6.adb (Check_View_Conversion): Created this function | |
5918 | to properly chain calls to check type invariants that may be | |
5919 | present in a subprogram call after the subprogram. | |
5920 | (Expand_Call): Add a conditional to identify when a view conversion | |
5921 | needs to be checked. | |
5922 | * nlists.adb, nlists.ads (Prepend_New): New routine. | |
5923 | (Prepend_New_To): New routine. | |
5924 | ||
e51102b2 AC |
5925 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> |
5926 | ||
5927 | * sinfo.ads: Minor reformatting. | |
5928 | ||
5929 | 2017-01-12 Gary Dismukes <dismukes@adacore.com> | |
5930 | ||
5931 | * exp_util.adb, exp_util.ads, einfo.ads: Minor typo fixes and | |
5932 | reformatting. | |
5933 | ||
5934 | 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5935 | ||
5936 | * exp_ch6.adb (Make_Build_In_Place_Call_In_Anonymous_Context): Add new | |
5937 | variable Definite. Create a local object and pass its 'Access to the | |
5938 | BIP function when the result type is either definite or it does not | |
5939 | require any finalization or secondary stack management. | |
5940 | ||
6e759c2a BD |
5941 | 2017-01-12 Bob Duff <duff@adacore.com> |
5942 | ||
5943 | * contracts.adb, einfo.adb, errout.adb, exp_attr.adb, | |
5944 | exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb, | |
5945 | frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb, | |
5946 | par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb, | |
5947 | sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb, | |
5948 | sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb, | |
5949 | sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads, | |
5950 | sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name): | |
5951 | Change name to Pragma_Name_Unmapped. | |
5952 | (Pragma_Name_Mapped): Change name to Pragma_Name. | |
5953 | This is because the "mapped" version should be the usual case. | |
5954 | ||
f63d601b HK |
5955 | 2017-01-09 Hristian Kirtchev <kirtchev@adacore.com> |
5956 | ||
5957 | * einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond, | |
5958 | Is_Default_Init_Cond_Procedure, and | |
5959 | Has_Inherited_Default_Init_Cond. Add uses of flags | |
5960 | Has_Own_DIC, Is_DIC_Procedure, and Has_Inherited_DIC. | |
5961 | (Default_Init_Cond_Procedure): Removed. | |
5962 | (DIC_Procedure): New routine. | |
5963 | (Has_Default_Init_Cond): Removed. | |
5964 | (Has_DIC): New routine. | |
5965 | (Has_Inheritable_Invariants): The attribute applies to the base type. | |
5966 | (Has_Inherited_Default_Init_Cond): Removed. | |
5967 | (Has_Inherited_DIC): New routine. | |
5968 | (Has_Inherited_Invariants): The attribute applies to the base type. | |
5969 | (Has_Own_DIC): New routine. | |
5970 | (Has_Own_Invariants): The attribute applies to the base type. | |
5971 | (Is_Default_Init_Cond_Procedure): Removed. | |
5972 | (Is_DIC_Procedure): New routine. | |
5973 | (Set_Default_Init_Cond_Procedure): Removed. | |
5974 | (Set_DIC_Procedure): New routine. | |
5975 | (Set_Has_Default_Init_Cond): Removed. | |
5976 | (Set_Has_Inheritable_Invariants): The attribute applies | |
5977 | to the base type. | |
5978 | (Set_Has_Inherited_Default_Init_Cond): Removed. | |
5979 | (Set_Has_Inherited_DIC): New routine. | |
5980 | (Set_Has_Inherited_Invariants): The attribute applies to the base type. | |
5981 | (Set_Has_Own_DIC): New routine. | |
5982 | (Set_Has_Own_Invariants): The attribute applies to the base type. | |
5983 | (Set_Is_Default_Init_Cond_Procedure): Removed. | |
5984 | (Set_Is_DIC_Procedure): New routine. | |
5985 | (Write_Entity_Flags): Update the output of all flags related to | |
5986 | default initial condition. | |
5987 | * exp_ch3.adb (Expand_N_Object_Declaration): Update the generation | |
5988 | of the call to the DIC procedure. | |
5989 | (Freeze_Type): Generate the body of the DIC procedure. | |
5990 | * exp_ch7.adb (Build_Invariant_Procedure_Body): Replace | |
5991 | all occurrences of Create_Append with Append_New_To. Do | |
5992 | not generate an invariant procedure for a class-wide type. | |
5993 | The generated body acts as a freeze action of the working type. | |
5994 | (Build_Invariant_Procedure_Declaration): Do not generate an | |
5995 | invariant procedure for a class-wide type. | |
5996 | (Create_Append): Removed. | |
5997 | * exp_util.adb: Add with and use clauses for Sem_Ch3, sem_ch6, | |
5998 | sem_Ch12, Sem_Disp, and GNAT.HTable. Move the handling of | |
5999 | class-wide pre/postcondition description and data structures from | |
6000 | Sem_Prag. | |
6001 | (Build_Class_Wide_Expression): Moved from Sem_Prag. | |
6002 | (Build_DIC_Call): New routine. | |
6003 | (Build_DIC_Procedure_Body): New routine. | |
6004 | (Build_DIC_Procedure_Declaration): New routine. | |
6005 | (Entity_Hash): Moved from Sem_Prag. | |
6006 | (Find_DIC_Type): New routine. | |
6007 | (Update_Primitives_Mapping): Reimplemented. | |
6008 | (Update_Primitives_Mapping_Of_Types): New routine. | |
6009 | * exp_util.ads (Build_Class_Wide_Expression): Moved from Sem_Prag. | |
6010 | (Build_DIC_Call): New routine. | |
6011 | (Build_DIC_Procedure_Body): New routine. | |
6012 | (Build_DIC_Procedure_Declaration): New routine. | |
6013 | (Update_Primitives_Mapping): Moved from Sem_Prag. | |
6014 | (Update_Primitives_Mapping_Of_Types): New routine. | |
6015 | * nlists.adb (Append_New): New routine. | |
6016 | (Append_New_To): New routine. | |
6017 | * nlists.ads (Append_New): New routine. | |
6018 | (Append_New_To): New routine. | |
6019 | * sem_ch3.adb (Analyze_Declarations): Do not generate the bodies | |
6020 | of DIC procedures here. This is now done at the end of the | |
6021 | visible declarations, private declarations, and at the freeze | |
6022 | point of a type. | |
6023 | (Analyze_Private_Extension_Declaration): | |
6024 | A private extension inherits the DIC pragma of a parent type. | |
6025 | (Analyze_Subtype_Declaration): No need to propagate invariant | |
6026 | attributes to a subtype as those apply to the base type. | |
6027 | (Build_Derived_Record_Type): No need to inherit invariants here | |
6028 | as this is now done in Build_Derived_Type. | |
6029 | (Build_Derived_Type): Inherit both the DIC pragma and invariants from | |
6030 | a parent type. | |
6031 | (Process_Full_View): Update the propagation of DIC attributes. | |
6032 | (Propagate_Default_Init_Cond_Attributes): Removed. | |
6033 | * sem_ch7.adb Add with and use clauses for Exp_Util. | |
6034 | (Analyze_Package_Specification): Create the body of the DIC | |
6035 | procedure at the end of the visible and private declarations. | |
6036 | (Preserve_Full_Attributes): Propagate DIC attributes. | |
6037 | * sem_ch9.adb (Analyze_Protected_Type_Declaration): Propagate | |
6038 | DIC attributes. | |
6039 | (Analyze_Task_Type_Declaration): Propagate DIC attributes. | |
6040 | * sem_elab.adb (Check_A_Call): Update the call to | |
6041 | Is_Nontrivial_Default_Init_Cond_Procedure. | |
6042 | * sem_prag.adb Remove the with and use clauses for | |
6043 | GNAT.HTable. Move the handling of class- wide pre/postcondition | |
6044 | description and data structures to Exp_Util. | |
6045 | (Analyze_Pragma): Create the declaration of the DIC procedure. There | |
6046 | is no need to propagate invariant-related attributes at this point | |
6047 | as this is done in Build_Invariant_Procedure_Declaration. | |
6048 | (Build_Class_Wide_Expression): Moved to Exp_Util. | |
6049 | (Entity_Hash): Moved to Exp_Util. | |
6050 | (Update_Primitives_Mapping): Moved to Exp_Util. | |
6051 | * sem_prag.ads (Build_Class_Wide_Expression): Moved to Exp_Util. | |
6052 | (Update_Primitives_Mapping): Moved to Exp_Util. | |
6053 | * sem_util.adb: Remove with and use clauses for Ghost | |
6054 | and Sem_Ch13. | |
6055 | (Build_Default_Init_Cond_Call): Removed. | |
6056 | (Build_Default_Init_Cond_Procedure_Bodies): Removed. | |
6057 | (Build_Default_Init_Cond_Procedure_Declaration): Removed. | |
6058 | (Get_Views): Reimplemented. | |
6059 | (Has_Full_Default_Initialization): Reimplement the section on DIC. | |
6060 | (Inherit_Default_Init_Cond_Procedure): Removed. | |
6061 | (Is_Nontrivial_Default_Init_Cond_Procedure): Removed. | |
6062 | (Is_Nontrivial_DIC_Procedure): New routine. | |
6063 | (Is_Verifiable_DIC_Pragma): New routine. | |
6064 | (Propagate_DIC_Attributes): New routine. | |
6065 | * sem_util.ads (Build_Default_Init_Cond_Call): Removed. | |
6066 | (Build_Default_Init_Cond_Procedure_Bodies): Removed. | |
6067 | (Build_Default_Init_Cond_Procedure_Declaration): Removed. | |
6068 | (Inherit_Default_Init_Cond_Procedure): Removed. | |
6069 | (Is_Nontrivial_Default_Init_Cond_Procedure): Removed. | |
6070 | (Is_Nontrivial_DIC_Procedure): New routine. | |
6071 | (Is_Verifiable_DIC_Pragma): New routine. | |
6072 | (Propagate_DIC_Attributes): New routine. | |
6073 | * sem_warn.adb (Is_OK_Fully_Initialized): Reimplement the section | |
6074 | on DIC. | |
6075 | * sinfo.ads, sinfo.adb: Add new attribute Expression_Copy along with | |
6076 | usage in nodes. | |
6077 | (Expression_Copy): New routine along with pragma Inline. | |
6078 | (Set_Expression_Copy): New routine along with pragma Inline. | |
6079 | ||
b41f45e7 AC |
6080 | 2017-01-06 Bob Duff <duff@adacore.com> |
6081 | ||
6082 | * bindgen.adb (Gen_Adainit, Gen_Adafinal): Change | |
6083 | "Bind_Main_Program" to "not Bind_For_Library", because otherwise | |
6084 | we won't generate the call to s_stalib_adafinal when the main | |
6085 | is not written in Ada. | |
6086 | ||
6087 | 2017-01-06 Bob Duff <duff@adacore.com> | |
6088 | ||
6089 | * sem_prag.adb: Minor: remove pragma Warnings. | |
6090 | ||
6091 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6092 | ||
6093 | * Makefile.rtl: Do not compile s-stchop by default. | |
6094 | ||
eae66578 PB |
6095 | 2017-01-06 Patrick Bernardi <bernardi@adacore.com> |
6096 | ||
6097 | * aspects.adb, aspects.ads, exp_ch3.adb, exp_ch9.adb, par-prag.adb, | |
6098 | sem_ch13.adb, sem_prag.adb, sem_prag.ads, snames.adb-tmpl, | |
6099 | snames.ads-tmpl, s-secsta.adb, s-secsta.ads, s-tarest.adb, | |
6100 | s-tarest.ads, s-taskin.adb, s-taskin.ads, s-tassta.adb, s-tassta.ads: | |
6101 | Reverted previous change for now. | |
6102 | ||
e666e744 ES |
6103 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
6104 | ||
6105 | * exp_ch3.adb (Build_Initialization_Call): Apply predicate | |
6106 | check to default discriminant value if checks are enabled. | |
6107 | (Build_Assignment): If type of component has static predicate, | |
6108 | apply check to its default value, if any. | |
6109 | ||
73bfca78 PB |
6110 | 2017-01-06 Patrick Bernardi <bernardi@adacore.com> |
6111 | ||
6112 | * aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size. | |
6113 | * exp_ch3.adb (Build_Init_Statements): As part of initialising | |
6114 | the value record of a task, set its _Secondary_Stack_Size field | |
6115 | if present. | |
6116 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create | |
6117 | a _Secondary_Stack_Size field in the value record of | |
6118 | the task if a Secondary_Stack_Size rep item is present. | |
6119 | (Make_Task_Create_Call): Include secondary stack size | |
6120 | parameter. If No_Secondary_Stack restriction is in place, passes | |
6121 | stack size of 0. | |
6122 | * par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma | |
6123 | Secondary_Stack_Size. | |
6124 | * s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New | |
6125 | function to define the overhead of the secondary stack. | |
6126 | * s-tarest.adb (Create_Restricted_Task, | |
6127 | Create_Restricted_Task_Sequential): Functions now include | |
6128 | Secondary_Stack_Size parameter to pass to Initialize_ATCB. | |
6129 | * s-tarest.adb (Create_Restricted_Task, | |
6130 | Create_Restricted_Task_Sequential): Calls to Initialize_ATCB | |
6131 | now include Secondary_Stack_Size parameter. | |
6132 | (Task_Wrapper): | |
6133 | Secondary stack now allocated to the size specified by the | |
6134 | Secondary_Stack_Size parameter in the task's ATCB. | |
6135 | * s-taskin.adb, s-taskin.adb (Common_ATCB, Initialise_ATCB): New | |
6136 | Secondary_Stack_Size component. | |
6137 | * s-tassta.adb, s-tassta.ads (Create_Restricted_Task, | |
6138 | Create_Restricted_Task_Sequential): Function now include | |
6139 | Secondary_Stack_Size parameter. | |
6140 | (Task_Wrapper): Secondary stack | |
6141 | now allocated to the size specified by the Secondary_Stack_Size | |
6142 | parameter in the task's ATCB. | |
6143 | * sem_ch13.adb (Analyze_Aspect_Specification): Add support | |
6144 | for Secondary_Stack_Size aspect, turning the aspect into its | |
6145 | corresponding internal attribute. | |
6146 | (Analyze_Attribute_Definition): | |
6147 | Process Secondary_Stack_Size attribute. | |
6148 | * snames.adb-tmpl, snames.ads-tmpl: Added names | |
6149 | Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size, | |
6150 | Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size. | |
6151 | ||
f6c5454e PO |
6152 | 2017-01-06 Pascal Obry <obry@adacore.com> |
6153 | ||
6154 | * a-direio.adb, a-direio.ads, a-sequio.adb, a-sequio.ads: Add Flush to | |
6155 | Sequential_IO and Direct_IO. | |
6156 | ||
533e3abc BD |
6157 | 2017-01-06 Bob Duff <duff@adacore.com> |
6158 | ||
6159 | * snames.ads-tmpl (Renamed): New name for the pragma argument. | |
6160 | * par-ch2.adb: Allow the new pragma (with analysis deferred | |
6161 | to Sem_Prag). | |
6162 | * sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped): | |
6163 | Keep a mapping from new pragma names to old names. | |
6164 | * sem_prag.adb: Check legality of pragma Rename_Pragma, and | |
6165 | implement it by calling Map_Pragma_Name. | |
6166 | * checks.adb, contracts.adb, einfo.adb, errout.adb, | |
6167 | * exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, | |
6168 | * exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb, | |
6169 | * inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb, | |
6170 | * sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb, | |
6171 | * sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads, | |
6172 | * sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name | |
6173 | as appropriate. | |
6174 | ||
a62e6287 HK |
6175 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
6176 | ||
6177 | * exp_ch9.adb: Minor reformatting. | |
6178 | ||
dbf2a2d3 TG |
6179 | 2017-01-06 Tristan Gingold <gingold@adacore.com> |
6180 | ||
6181 | * exp_ch9.ads, exp_ch9.adb (Build_Entry_Names): Remove (unused). | |
6182 | * rtsfind.ads (RE_Task_Entry_Names_Array, RO_ST_Set_Entry_Names) | |
6183 | (RE_Protected_Entry_Names_Array, RO_PE_Set_Entry_Names): Remove | |
6184 | (unused). | |
6185 | * s-taskin.ads, s-taskin.adb (Set_Entry_Names, | |
6186 | Task_Entry_Names_Array, Task_Entry_Names_Access): Remove. | |
6187 | * s-tpoben.ads, s-tpoben.adb (Set_Entry_Names, | |
6188 | Protected_Entry_Names_Array, Protected_Entry_Names_Access): Remove. | |
6189 | ||
0789ef6f AC |
6190 | 2017-01-06 Bob Duff <duff@adacore.com> |
6191 | ||
6192 | * sinfo.ads, sinfo.adb (Map_Pragma_Name): Preparation work, | |
6193 | dummy implementation of Map_Pragma_Name. | |
6194 | ||
6195 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6196 | ||
6197 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Make the | |
6198 | entry_body variable constant. | |
6199 | * s-taprob.ads (Entry_Body_Access): Move to s-tposen. | |
6200 | * s-tpoben.ads (Protected_Entry_Body_Access): Now access | |
6201 | to constant. | |
6202 | * s-tposen.ads (Entry_Body_Access): Moved from s-taprob, | |
6203 | now access to constant. | |
6204 | ||
ffa168bc AC |
6205 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> |
6206 | ||
6207 | * einfo.ads, sem_res.adb, sem_attr.adb, sem_ch6.adb: Minor | |
6208 | reformatting and typo fixes. | |
6209 | ||
6210 | 2017-01-06 Bob Duff <duff@adacore.com> | |
6211 | ||
6212 | * snames.ads-tmpl: New names for pragma renaming. | |
6213 | * snames.adb-tmpl (Is_Configuration_Pragma_Name): Minor cleanup. | |
6214 | * par-prag.adb: Add new pragma name to case statement. | |
6215 | * sem_prag.adb (Rename_Pragma): Initial cut at semantic analysis | |
6216 | of the pragma. | |
6217 | * sinfo.ads, sinfo.adb (Pragma_Name_Mapped): Preparation work, | |
6218 | Dummy implementation of Pragma_Name_Mapped. | |
6219 | ||
9ca67d3f ES |
6220 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
6221 | ||
6222 | * exp_ch6.adb (Expand_Protected_Subprogram_Call): Add guard to | |
6223 | better detect call within an entry_wrapper. | |
6224 | * sem_res.adb (Resolve_Call): A protected call within an | |
6225 | entity_wrapper is analyzed in the context of the protected | |
6226 | object but corresponds to a pre-analysis and is not an access | |
6227 | before elaboration. | |
6228 | * sem_attr.adb: Minor reformatting. | |
6229 | ||
5e127570 AC |
6230 | 2017-01-06 Justin Squirek <squirek@adacore.com> |
6231 | ||
6232 | * sem_attr.adb (Analyze_Attribute): Modify semantic checks for | |
6233 | Finalization_Size to allow a prefix of any non-class-wide type. | |
6234 | * sem_attr.ads Modify comment for Finalization_Size to include | |
6235 | definite type use case. | |
6236 | ||
6237 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> | |
6238 | ||
6239 | * einfo.ads, einfo.adb (Is_Entry_Wrapper): New flag, defined | |
6240 | on procedures that are wrappers created for entries that have | |
6241 | preconditions. | |
6242 | * sem_ch6.adb (Analyze_Subrogram_Body_Helper): If the subprogram | |
6243 | body is an entry_wrapper, compile it in the context of the | |
6244 | synchronized type, because a precondition may refer to funtions | |
6245 | of the type. | |
6246 | * exp_ch9.adb (Build_Contract_Wrapper): Set Is_Entry_Wrapper on | |
6247 | body entity. | |
6248 | * exp_ch6.adb (Expand_Protected_Subprogram_Call): if the call is | |
6249 | within an Entry_Wrapper this is an external call whose target | |
6250 | is the synchronized object that is the actual in the call to | |
6251 | the wrapper. | |
6252 | ||
50145b93 AC |
6253 | 2017-01-06 Yannick Moy <moy@adacore.com> |
6254 | ||
6255 | * sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node | |
6256 | in tree, which means not analyzing the previous prefix if the node has | |
6257 | been rewritten into its prefix. | |
6258 | ||
6259 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> | |
6260 | ||
6261 | * s-tpobop.adb: Minor reformatting. | |
6262 | ||
229fa5db AC |
6263 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
6264 | ||
6265 | * checks.adb (Ensure_Valid): Do not generate a validity check | |
6266 | within a generated predicate function, validity checks will have | |
6267 | been applied earlier when required. | |
6268 | ||
6269 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6270 | ||
6271 | * s-tpoben.ads (Protection_Entries): Add comment and reorder | |
6272 | components for performances. | |
6273 | * s-tpobop.adb (PO_Do_Or_Queue): Implement Max_Queue_Length runtime | |
6274 | semantic. | |
6275 | ||
d9c59db4 AC |
6276 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
6277 | ||
6278 | * sem_eval.adb (Check_Expression_Against_Static_Predicate): | |
6279 | If expression is compile-time known and obeys a static predicate | |
6280 | it must be labelled as static, to prevent spurious warnings and | |
6281 | run-time errors, e.g. in case statements. This is relevant when | |
6282 | the expression is the result of constant-folding a type conversion | |
6283 | whose expression is a variable with a known static value. | |
6284 | ||
6285 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6286 | ||
6287 | * exp_attr.adb, sem_attr.ads: Minor reformatting. | |
6288 | ||
f68d3344 JS |
6289 | 2017-01-06 Justin Squirek <squirek@adacore.com> |
6290 | ||
6291 | * exp_attr.adb (Expand_N_Attribute_Reference): Add entry for | |
6292 | expansion of Finalization_Size attribute. | |
6293 | * sem_attr.adb (Analyze_Attribute): Add entry to check the | |
6294 | semantics of Finalization_Size. | |
6295 | (Eval_Attribute): Add null entry for Finalization_Size. | |
6296 | * sem_attr.ads: Add Finalization_Size to the implementation | |
6297 | dependent attribute list. | |
6298 | * snames.ads-tmpl: Add name entry for Finalization_Size attribute. | |
6299 | ||
e11b776b AC |
6300 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
6301 | ||
6302 | * sem_ch5.adb (Analyze_Loop_Statement): If the loop includes an | |
6303 | iterator specification with a serious syntactic error, transform | |
6304 | construct into an infinite loop in order to continue analysis | |
6305 | and prevent a compiler abort. | |
6306 | ||
6307 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6308 | ||
6309 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Do not generate | |
6310 | max_queue_lengths_array if unused. | |
6311 | ||
6312 | 2017-01-06 Bob Duff <duff@adacore.com> | |
6313 | ||
6314 | * errout.adb (Set_Msg_Text): Protect against out-of-bounds | |
6315 | array access, in case "\" is at the end of Text. | |
6316 | * stylesw.adb (Set_Style_Check_Options): Don't include input | |
6317 | characters in the error message template, because they could | |
6318 | be control characters such as "\", which Errout will try to | |
6319 | interpret. | |
6320 | ||
6321 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> | |
6322 | ||
6323 | * sem_ch4.adb (Find_Indexing_Operations, Inspect_Declarations): | |
6324 | For a private type examine the visible declarations that follow | |
6325 | the partial view, not just the private declarations that follow | |
6326 | the full view. | |
6327 | ||
6328 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6329 | ||
6330 | * exp_ch5.adb, sem_ch3.adb, checks.adb: Minor reformatting and | |
6331 | code cleanup. | |
6332 | ||
6eca51ce ES |
6333 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> |
6334 | ||
6335 | * exp_ch5.adb (Get_Default_Iterator): For a derived type, the | |
6336 | alias of the inherited op is the parent iterator, no need to | |
6337 | examine dispatch table positions which might not be established | |
6338 | yet if type is not frozen. | |
6339 | * sem_disp.adb (Check_Controlling_Formals): The formal of a | |
6340 | predicate function may be a subtype of a tagged type. | |
6341 | * sem_ch3.adb (Complete_Private_Subtype): Adjust inheritance | |
6342 | of representation items for the completion of a type extension | |
6343 | where a predicate applies to the partial view. | |
6344 | * checks.ads, checks.adb (Apply_Predicate_Check): Add optional | |
6345 | parameter that designates function whose actual receives a | |
6346 | predicate check, to improve warning message when the check will | |
6347 | lead to infinite recursion. | |
6348 | * sem_res.adb (Resolve_Actuals): Pass additional parameter to | |
6349 | Apply_Predicate_Check. | |
6350 | ||
07b3e137 AC |
6351 | 2017-01-06 Tristan Gingold <gingold@adacore.com> |
6352 | ||
6353 | * s-rident.ads (Profile_Info): Remove No_Entry_Queue from | |
6354 | Gnat_Extended_Ravenscar. | |
6355 | * exp_ch9.adb, s-tpoben.adb, s-tpoben.ads: Fix spelling. | |
6356 | ||
6357 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> | |
6358 | ||
6359 | * sem_util.ads: Minor typo fix and reformatting. | |
6360 | ||
ac8380d5 AC |
6361 | 2017-01-06 Yannick Moy <moy@adacore.com> |
6362 | ||
6363 | * ghost.adb Minor fixing of references to SPARK RM. | |
6364 | (Check_Ghost_Context): Check whether reference is to a lvalue | |
6365 | before issuing an error about violation of SPARK RM 6.9(13) | |
6366 | when declaration has Ghost policy Check and reference has Ghost | |
6367 | policy Ignore. | |
6368 | * sem_util.adb Minor indentation. | |
6369 | * sem_ch10.adb (Analyze_Package_Body_Stub, Analyze_Protected_Body_Stub, | |
6370 | Analyze_Task_Body_Stub): Set Ekind of the defining identifier. | |
6371 | * sem_util.ads (Unique_Defining_Entity): Document the result | |
6372 | for package body stubs. | |
6373 | ||
6374 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6375 | ||
6376 | * raise-gcc.c (abort): Macro to call Abort_Propagation. | |
6377 | * s-tpoben.ads (Protected_Entry_Queue_Max_Access): Make it access | |
6378 | constant. | |
6379 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): | |
6380 | Do not generate the Entry_Max_Queue_Lengths_Array if all default | |
6381 | values. | |
6382 | * exp_util.adb (Corresponding_Runtime_Package): Consider | |
6383 | Max_Queue_Length pragma. | |
6384 | ||
7727a9c1 AC |
6385 | 2017-01-06 Justin Squirek <squirek@adacore.com> |
6386 | ||
6387 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): | |
6388 | Remove declaration generation in the case of | |
6389 | System_Tasking_Protected_Objects_Single_Entry being used, | |
6390 | and add a warning message when this is detected to occur. | |
6391 | (Make_Initialize_Protection): Remove reference pass in the case | |
6392 | of System_Tasking_Protected_Objects_Single_Entry. | |
6393 | * rtsfind.ads: Remove RE_Protected_Entry_Queue_Max | |
6394 | * s-tposen.adb (Initialize_Protection_Entry): Remove | |
6395 | Entry_Queue_Max parameter. | |
6396 | * s-tposen.ads: Remove the types use to store the entry queue | |
6397 | maximum. | |
6398 | * sem_prag.adb (Analyze_Pragma): Remove entry families restriction | |
6399 | ||
6400 | 2017-01-06 Yannick Moy <moy@adacore.com> | |
6401 | ||
6402 | * sem_util.adb, sem_util.ads (Get_Enum_Lit_From_Pos): Strengthen | |
6403 | behavior of function, to also accept out of range positions | |
6404 | and raise Constraint_Error in such case, and to copy sloc from | |
6405 | literal if No_Location passed as location. | |
6406 | * uintp.adb, uintp.ads (UI_To_Int, UI_To_CC): Strengthen behavior | |
6407 | of functions to raise Constraint_Error in case of value not in | |
6408 | appropriate range. | |
6409 | ||
6410 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6411 | ||
6412 | * sem_util.adb, s-taprop-linux.adb (Finalize_TCB): Remove call to | |
6413 | Invalidate_Stack_Cache. | |
6414 | ||
6415 | 2017-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
6416 | ||
6417 | * s-os_lib.adb: Minor fix to the signature of Readlink. | |
6418 | ||
6419 | 2017-01-06 Javier Miranda <miranda@adacore.com> | |
6420 | ||
6421 | * sem_ch6.adb (Conforming_Types): Handle another | |
6422 | confusion between views in a nested instance with an actual | |
6423 | private type whose full view is not in scope. | |
6424 | ||
6425 | 2017-01-06 Arnaud Charlet <charlet@adacore.com> | |
6426 | ||
6427 | * exp_ch5.adb (Expand_N_If_Statement): Obey existing comment and | |
6428 | mark a rewritten if statement as explicit (Comes_From_Source). | |
6429 | ||
ea1135b8 GD |
6430 | 2017-01-06 Gary Dismukes <dismukes@adacore.com> |
6431 | ||
6432 | * sem_prag.adb, rtsfind.adb, sem_util.adb: Minor typo fixes. | |
6433 | ||
442d1abb AC |
6434 | 2017-01-06 Tristan Gingold <gingold@adacore.com> |
6435 | ||
6436 | * ada.ads, a-unccon.ads: Add pragma No_Elaboration_Code_All. | |
6437 | ||
6438 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6439 | ||
6440 | * sem_case.adb: Minor reformatting. | |
6441 | ||
6442 | 2017-01-06 Thomas Quinot <quinot@adacore.com> | |
6443 | ||
6444 | * g-socthi-mingw.adb: Remove now extraneous USE TYPE clause | |
6445 | ||
6446 | 2017-01-06 Justin Squirek <squirek@adacore.com> | |
6447 | ||
6448 | * aspects.adb: Register aspect in Canonical_Aspect. | |
6449 | * aspects.ads: Associate qualities of Aspect_Max_Queue_Length | |
6450 | into respective tables. | |
6451 | * einfo.ads, einfo.adb: Add a new attribute for | |
6452 | handling the parameters for Pragma_Max_Entry_Queue | |
6453 | (Entry_Max_Queue_Lengths_Array) in E_Protected_Type. Subprograms | |
6454 | for accessing and setting were added as well. | |
6455 | * par-prag.adb (Prag): Register Pramga_Max_Entry_Queue. | |
6456 | * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Emit | |
6457 | declaration for pramga arguments and store them in the protected | |
6458 | type node. | |
6459 | (Make_Initialize_Protection): Pass a reference to | |
6460 | the Entry_Max_Queue_Lengths_Array in the protected type node to | |
6461 | the runtime. | |
6462 | * rtsfind.adb: Minor grammar fix. | |
6463 | * rtsfind.ads: Register new types taken from the | |
6464 | runtime libraries RE_Protected_Entry_Queue_Max and | |
6465 | RE_Protected_Entry_Queue_Max_Array | |
6466 | * s-tposen.adb, s-tpoben.adb | |
6467 | (Initialize_Protection_Entry/Initialize_Protection_Entries): | |
6468 | Add extra parameter and add assignment to local object. | |
6469 | * s-tposen.ads, s-tpoben.ads: Add new types to | |
6470 | store entry queue maximums and a field to the entry object record. | |
6471 | * sem_ch13.adb (Analyze_Aspect_Specifications): Add case statement | |
6472 | for Aspect_Max_Queue_Length. | |
6473 | (Check_Aspect_At_Freeze_Point): | |
6474 | Add aspect to list of aspects that don't require delayed analysis. | |
6475 | * sem_prag.adb (Analyze_Pragma): Add case statement for | |
6476 | Pragma_Max_Queue_Length, check semantics, and register arugments | |
6477 | in the respective entry nodes. | |
6478 | * sem_util.adb, sem_util.ads Add functions Get_Max_Queue_Length | |
6479 | and Has_Max_Queue_Length | |
6480 | * snames.ads-tmpl: Add constant for the new aspect-name | |
6481 | Name_Max_Queue_Length and corrasponding pragma. | |
6482 | ||
6483 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6484 | ||
6485 | * exp_util.adb (Is_Controlled_Function_Call): | |
6486 | Reimplemented. Consider any node which has an entity as the | |
6487 | function call may appear in various ways. | |
6488 | ||
ed3fe8cc AC |
6489 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> |
6490 | ||
6491 | * exp_attr.adb (Rewrite_Stream_Proc_Call): Use | |
6492 | an unchecked type conversion when performing a view conversion | |
6493 | to/from a private type. In all other cases use a regular type | |
6494 | conversion to ensure that any relevant checks are properly | |
6495 | installed. | |
6496 | ||
6497 | 2017-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6498 | ||
6499 | * sem_prag.adb, sem_ch8.adb: Minor reformatting. | |
6500 | ||
6501 | 2017-01-06 Ed Schonberg <schonberg@adacore.com> | |
6502 | ||
6503 | * sem_case.adb (Explain_Non_Static_Bound): Suppress cascaded | |
6504 | error on case expression that is an entity, when coverage is | |
6505 | incomplete and entity has a static value obtained by local | |
6506 | propagation. | |
6507 | (Handle_Static_Predicate): New procedure, subsidiary of | |
6508 | Check_Choices, to handle case alternatives that are either | |
6509 | subtype names or subtype indications involving subtypes that | |
6510 | have static predicates. | |
6511 | ||
6512 | 2017-01-06 Thomas Quinot <quinot@adacore.com> | |
6513 | ||
6514 | * s-oscons-tmplt.c, g-socket.adb, g-socket.ads, g-sothco.ads: | |
6515 | (GNAT.Socket): Add support for Busy_Polling and Generic_Option | |
6516 | ||
6517 | 2017-01-06 Bob Duff <duff@adacore.com> | |
6518 | ||
6519 | * sem_elab.adb (Activate_Elaborate_All_Desirable): Don't add | |
6520 | Elaborate_All(P) to P itself. That could happen in obscure cases, | |
6521 | and always introduced a cycle (P body must be elaborated before | |
6522 | P body). | |
6523 | * lib-writ.ads: Comment clarification. | |
6524 | * ali-util.ads: Minor comment fix. | |
6525 | * ali.adb: Minor reformatting. | |
6526 | ||
6527 | 2017-01-06 Tristan Gingold <gingold@adacore.com> | |
6528 | ||
6529 | * a-exexpr-gcc.adb: Improve comment. | |
6530 | ||
47f2abdd JC |
6531 | 2017-01-03 James Cowgill <James.Cowgill@imgtec.com> |
6532 | ||
6533 | * s-linux-mips.ads: Use correct signal and errno constants. | |
6534 | (sa_handler_pos, sa_mask_pos): Fix offsets for 64-bit MIPS. | |
6535 | ||
1b5593c0 JC |
6536 | 2017-01-03 James Cowgill <James.Cowgill@imgtec.com> |
6537 | ||
6538 | * s-linux-mips.ads: Rename from s-linux-mipsel.ads. | |
6539 | * gcc-interface/Makefile.in (MIPS/Linux): Merge mips and mipsel | |
6540 | sections. | |
6541 | ||
613be1c8 EB |
6542 | 2017-01-01 Eric Botcazou <ebotcazou@adacore.com> |
6543 | ||
6544 | * gnatvsn.ads: Bump copyright year. | |
6545 | ||
c1a9c369 | 6546 | 2017-01-01 Jakub Jelinek <jakub@redhat.com> |
21fa2a29 JJ |
6547 | |
6548 | * gnat_ugn.texi: Bump @copying's copyright year. | |
6549 | * gnat_rm.texi: Likewise. | |
ad41bd84 | 6550 | \f |
c1a9c369 | 6551 | Copyright (C) 2017 Free Software Foundation, Inc. |
ad41bd84 JM |
6552 | |
6553 | Copying and distribution of this file, with or without modification, | |
6554 | are permitted in any medium without royalty provided the copyright | |
6555 | notice and this notice are preserved. |