]>
Commit | Line | Data |
---|---|---|
99378011 | 1 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> |
2 | ||
3 | * gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry): | |
4 | Delete. | |
5 | (value_annotation_hasher::keep_cache_entry): New function. | |
6 | * gcc-interface/utils.c (pad_type_hasher::handle_cache_entry): | |
7 | Delete. | |
8 | (pad_type_hasher::keep_cache_entry): New function. | |
9 | ||
a3c76fda | 10 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> |
11 | ||
12 | * gcc-interface/misc.c: Include calls.h not function.h. | |
13 | ||
4905002b | 14 | 2015-06-19 Eric Botcazou <ebotcazou@adacore.com> |
15 | ||
16 | * gcc-interface/gigi.h (record_builtin_type): Adjust comment. | |
17 | (tree create_type_decl): Likewise. | |
18 | (create_var_decl_1): Add artificial_p and debug_info_p parameters. | |
19 | (create_var_decl): Likewise. | |
20 | (create_true_var_decl): Delete. | |
21 | (create_subprog_decl): Add debug_info_p parameter. | |
22 | * gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local | |
23 | variable and use it throughout. Remove DECL_ARTIFICIAL settings. | |
24 | <E_Variable>: Adjust calls to create_var_decl and create_var_decl_1. | |
25 | Remove DECL_IGNORED_P settings. | |
26 | <E_Enumeration_Type>: Likewise. | |
27 | <E_Record_Type>: Likewise. | |
28 | <E_Subprogram_Type>: Likewise. Remove artificial_flag local variable. | |
29 | Adjust call to create_subprog_decl. | |
30 | (get_minimal_subprog_decl): Likewise. | |
31 | (elaborate_expression_1): Adjust call to create_var_decl. | |
32 | * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and | |
33 | create_subprog_decl. Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings. | |
34 | * gcc-interface/utils.c (maybe_pad_type): Likewise. | |
35 | (record_builtin_type): Adjust comment. | |
36 | (create_type_stub_decl): Remove obsolete comment. | |
37 | (create_var_decl_1): Add artificial_p and debug_info_p parameters. | |
38 | Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly. | |
39 | (create_subprog_decl): Add debug_info_p parameter. Set DECL_IGNORED_P | |
40 | accordingly. | |
41 | ||
42 | 2015-06-19 Eric Botcazou <ebotcazou@adacore.com> | |
43 | ||
44 | * gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define. | |
45 | ||
d2654d7f | 46 | 2015-06-19 Eric Botcazou <ebotcazou@adacore.com> |
47 | ||
48 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Make sure | |
49 | the size of a padding type built around the return type is positive. | |
50 | * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: | |
51 | Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object. | |
52 | ||
f2ab3bac | 53 | 2015-06-17 Andrew MacLeod <amacleod@redhat.com> |
54 | ||
55 | * gcc-interface/cuintp.c: Do not include input.h, line-map.h or is-a.h. | |
56 | * gcc-interface/decl.c: Likewise. | |
57 | * gcc-interface/misc.c: Likewise. | |
58 | * gcc-interface/targtyps.c: Likewise. | |
59 | * gcc-interface/trans.c: Likewise. | |
60 | * gcc-interface/utils.c: Likewise. | |
61 | * gcc-interface/utils2.c: Likewise. | |
62 | ||
f2023823 | 63 | 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> |
64 | ||
65 | * gcc-interface/utils.c (get_global_context): Register the main | |
66 | translation unit through the new debug hook. | |
67 | ||
3321f1f6 | 68 | 2015-06-09 Eric Botcazou <ebotcazou@adacore.com> |
69 | ||
70 | * gcc-interface/misc.c: Remove duplicate include directives. | |
71 | * gcc-interface/trans.c: Likewise. | |
72 | * gcc-interface/utils.c: Likewise. | |
73 | ||
64486212 | 74 | 2015-06-08 Andrew MacLeod <amacleod@redhat.com> |
75 | ||
76 | * gcc-interface/cuintp.c : Adjust include files. | |
77 | * gcc-interface/decl.c : Likewise. | |
78 | * gcc-interface/misc.c : Likewise. | |
79 | * gcc-interface/targtyps.c : Likewise. | |
80 | * gcc-interface/trans.c : Likewise. | |
81 | * gcc-interface/utils.c : Likewise. | |
82 | * gcc-interface/utils2.c : Likewise. | |
83 | ||
87e3f630 | 84 | 2015-06-08 John Marino <gnugcc@marino.st> |
85 | ||
86 | * a-intnam-dragonfly.ads: New. | |
87 | * s-osinte-dragonfly.adb: Likewise. | |
88 | * s-osinte-dragonfly.ads: Likewise. | |
89 | * system-dragonfly-x86_64.ads: Likewise. | |
90 | * adaint.c: Add BSD macros. | |
91 | * cstreams.c: Likewise. | |
92 | * gsocket.h: Likewise. | |
93 | * link.c: Likewise. | |
94 | * socket.c: Likewise. | |
95 | * env.c: Add __DragonFly__, remove __FreeBSD__ macro. | |
96 | * init.c: Add __DragonFly__, change __gnat_install_handler | |
97 | prototype from empty to void. | |
98 | * initialize.c: Add __DragonFly__. | |
99 | * sysdep.c: Likewise. | |
100 | * s-osinte-freebsd.adb: Use __get_errno instead of __error. | |
101 | * tracebak.c: Set unwinder for i386 BSD. | |
102 | * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak | |
103 | x86_64 FreeBSD and x86 FreeBSD. | |
104 | ||
7d5059b2 | 105 | 2015-06-06 Eric Botcazou <ebotcazou@adacore.com> |
106 | ||
107 | * gcc-interface/utils.c (note_types_used_by_globals): Tweak comment. | |
108 | * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise. | |
109 | ||
3a1c9df2 | 110 | 2015-06-05 Aldy Hernandez <aldyh@redhat.com> |
111 | ||
112 | * gcc-interface/gigi.h (note_types_used_by_globals): Rename from | |
113 | gnat_write_global_declarations. | |
114 | * gcc-interface/misc.c (gnat_parse_file): Call | |
115 | note_types_used_by_globals. | |
116 | Remove LANG_HOOKS_WRITE_GLOBALS. | |
117 | * gcc-interface/utils.c: Rename global_decls to type_decls. | |
118 | (gnat_write_global_declarations): Rename | |
119 | to note_types_used_by_globals. | |
120 | Remove call to finalize_compilation_unit. | |
7d5059b2 | 121 | Remove call to debug_hooks->global_decl for globals. |
3a1c9df2 | 122 | (gnat_pushdecls): Only insert into type_decls if TYPE_DECL. |
123 | ||
f77c0292 | 124 | 2015-06-04 Andrew MacLeod <amacleod@redhat.com> |
125 | ||
126 | * gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h. | |
127 | * gcc-interface/decl.c: Likewise. | |
128 | * gcc-interface/misc.c: Likewise. | |
129 | * gcc-interface/targtyps.c: Likewise. | |
130 | * gcc-interface/trans.c: Likewise. | |
131 | * gcc-interface/utils.c: Likewise. | |
132 | * gcc-interface/utils2.c: Likewise. | |
133 | ||
b1049e7c | 134 | 2015-06-04 Pierre-Marie de Rodat <derodat@adacore.com> |
135 | ||
136 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If | |
137 | processing a definition, create definitions for padding types | |
138 | around return types. | |
139 | ||
17eb96ba | 140 | 2015-06-03 Eric Botcazou <ebotcazou@adacore.com> |
141 | ||
142 | * gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL. | |
143 | ||
d54316dc | 144 | 2015-06-03 Eric Botcazou <ebotcazou@adacore.com> |
145 | ||
146 | * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix | |
147 | typo in latest change. | |
148 | ||
d92ddb66 | 149 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
150 | ||
151 | * gcc-interface/Makefile.in: Fix ARM/Darwin configuration. | |
152 | ||
4a53d91c | 153 | 2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com> |
154 | ||
155 | * gcc-interface/utils.c (scale_by_factor_of): When handling a function | |
156 | call expression, process the corresponding function body. Also handle | |
157 | potential addends. | |
158 | ||
e7769782 | 159 | 2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com> |
160 | ||
161 | * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with | |
162 | references ones for functions that return references. | |
163 | ||
43b9fa12 | 164 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
165 | ||
166 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a | |
167 | definition of a type coming from a limited_with, get to the full view | |
168 | if it is not in the main code unit. | |
169 | ||
7ebb8c82 | 170 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
171 | ||
172 | * gcc-interface/utils.c (create_var_decl_1): If an assembler name is | |
173 | specified, let the target mangle it before settting. | |
174 | (create_subprog_decl): Likewise and move this treatment last. | |
175 | ||
ce1c6a39 | 176 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
177 | ||
178 | * gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to | |
744ac32c | 179 | before first -gnatez switch. Simplify and add trailing space. |
ce1c6a39 | 180 | |
0aef17f5 | 181 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
182 | ||
183 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the | |
184 | record has a parent field and a representation clause, make sure that | |
185 | it is properly aligned. | |
186 | ||
a686f31e | 187 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
188 | ||
189 | * gcc-interface/trans.c (lvalue_required_p) <N_Indexed_Component>: Deal | |
190 | with character and enumeration literals as index values. | |
191 | ||
c70df25e | 192 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> |
193 | ||
194 | * gcc-interface/gigi.h (build_simple_component_ref): Declare. | |
195 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with | |
196 | address clause on aliased object with unconstrained nominal subtype. | |
197 | Mark the aligning variable as artificial, do not convert the address | |
198 | expression immediately but mark it as constant instead. | |
199 | * gcc-interface/utils.c (convert): If the target type contains a | |
200 | template, be prepared for an empty array. | |
201 | (maybe_unconstrained_array): Likewise. | |
202 | * gcc-interface/utils2.c (known_alignment) <POINTER_PLUS_EXPR>: Deal | |
203 | with the pattern built for aligning types. | |
204 | <INTEGER_CST>: Do not cap the value at BIGGEST_ALIGNMENT. | |
205 | (build_simple_component_ref): Make public. | |
206 | If the base object is a constructor that contains a template, fold the | |
207 | result field by field. | |
208 | ||
3af45a79 | 209 | 2015-05-31 Eric Botcazou <ebotcazou@adacore.com> |
210 | ||
211 | * s-oscons-tmplt.c: Add explicit tests for Android alongside Linux. | |
212 | ||
3d230452 | 213 | 2015-05-30 Eric Botcazou <ebotcazou@adacore.com> |
214 | ||
215 | * adaint.c: Test for __linux__ instead of linux and __sun__ instead | |
216 | of sun. Add missing leading underscore to AIX. Remove #elif 0. | |
217 | * adaint.h: Likewise. | |
218 | * cio.c: Likewise. | |
219 | * cstreams.c: Likewise. | |
220 | * env.c: Likewise. | |
221 | * gsocket.h: Likewise. | |
222 | * init.c: Likewise. Test for __i386__ instead of i386. | |
223 | * link.c: Likewise. | |
224 | * s-oscons-tmplt.c: Likewise. | |
225 | * sysdep.c: Likewise. | |
226 | * terminals.c: Likewise. Use BSD symbol instead of FREEBSD. | |
227 | * tracebak.c: Likewise. Test for __sparc__ instead of sparc. | |
228 | ||
4c3f1f54 | 229 | 2015-05-28 Eric Botcazou <ebotcazou@adacore.com> |
230 | ||
231 | * gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to | |
232 | deal with the subtraction of a "negative" value in an unsigned type. | |
233 | ||
9720ad2e | 234 | 2015-05-28 Eric Botcazou <ebotcazou@adacore.com> |
235 | ||
236 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do | |
237 | not error out on a return type which has a size that overflows if the | |
238 | return is done by invisible reference. | |
239 | ||
3a49fd1c | 240 | 2015-05-28 Eric Botcazou <ebotcazou@adacore.com> |
241 | ||
242 | * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array | |
243 | and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right. | |
244 | ||
114fcc02 | 245 | 2015-05-28 Eric Botcazou <ebotcazou@adacore.com> |
246 | ||
247 | * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust. | |
248 | (rewrite_fn): Remove third parameter. | |
249 | (type_is_padding_self_referential): New inline predicate. | |
250 | (return_type_with_variable_size_p): Likewise. | |
251 | * gcc-interface/decl.c (allocatable_size_p): More around. | |
252 | (cannot_be_superflat_p): Rename into... | |
253 | (cannot_be_superflat ): ...this. | |
254 | (initial_value_needs_conversion): New predicate. | |
255 | (gnat_to_gnu_entity): Invoke type_is_padding_self_referential, | |
256 | initial_value_needs_conversion and adjust to above renaming. | |
257 | For a renaming, force the materialization if the inner expression | |
258 | is compound. Adjust calls to elaborate_reference and build a | |
259 | compound expression if needed. | |
260 | (struct er_dat): Add N field. | |
261 | (elaborate_reference_1): Remove N parameter and adjust. | |
262 | (elaborate_reference): Add INIT parameter and pass it in the call to | |
263 | gnat_rewrite_reference. Adjust initial expression. | |
264 | * gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as | |
265 | regular object declarations when it comes to creating a temporary. | |
266 | Adjust call to gnat_stabilize_reference and build a compound expression | |
267 | if needed. Invoke return_type_with_variable_size_p. | |
268 | (gnat_to_gnu): Invoke type_is_padding_self_referential. In case #4, | |
269 | return a call to a function unmodified if it returns with variable size | |
270 | and is also the initial expression in an object declaration. | |
271 | * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS' | |
272 | type if it is a call to a function that returns with variable size. | |
273 | (build_unary_op): Invoke type_is_padding_self_referential. | |
274 | (gnat_stabilize_reference_1): Remove N parameter and adjust. | |
275 | (gnat_stabilize_reference): Add INIT parameter and pass it in the call | |
276 | to gnat_rewrite_reference. | |
277 | (gnat_rewrite_reference): Remove N, add INIT parameter and adjust. | |
278 | <COMPOUND_EXPR>: New case. | |
279 | ||
779ac154 | 280 | 2015-05-28 Ed Schonberg <schonberg@adacore.com> |
281 | ||
282 | * sem_ch3.adb (Is_Visible_Component): Component is visible | |
283 | in a derived type if inherited through an ancestor that has a | |
284 | partial view of the original type holding the component, if the | |
285 | full view of that original type is in scope. | |
286 | * sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs. | |
287 | ||
288 | 2015-05-28 Bob Duff <duff@adacore.com> | |
289 | ||
290 | * sem_util.adb (Requires_Transient_Scope): For definite untagged | |
291 | subtypes, we should never have to use the secondary stack. This moves | |
292 | toward that goal. But there are still cases that don't work. | |
293 | Here, we move the check for Is_Definite first, but add a | |
294 | special-purpose check for Has_Discrim_Dep_Array. | |
295 | ||
b89d7388 | 296 | 2015-05-28 Bob Duff <duff@adacore.com> |
297 | ||
298 | * sem_util.adb (Requires_Transient_Scope): Avoid returning | |
299 | function results on the secondary stack in so many cases. | |
300 | ||
19e4694b | 301 | 2015-05-28 Ed Schonberg <schonberg@adacore.com> |
302 | ||
303 | * sem_util.adb (Wrong_Type): In any instance, do not emit error | |
304 | if type of expression is the partial view of the expected type. | |
305 | ||
306 | 2015-05-28 Ed Schonberg <schonberg@adacore.com> | |
307 | ||
308 | * sem_res.adb (Resolve_Actuals): a) The replacement of formal | |
309 | names in named associations only needs to be done within an | |
310 | instance, on a call to a primitive of a formal derived type, | |
311 | where the actual subprogram may have different formal names than | |
312 | those of the primitive operation of the formal type. | |
313 | b) Defaulted parameters must be taken into account when obtaining | |
314 | the names of the formals of the actual subprogram being called. | |
315 | ||
2ced3742 | 316 | 2015-05-28 Robert Dewar <dewar@adacore.com> |
317 | ||
318 | * sem_ch13.adb, sem_disp.ads: Minor reformatting. | |
319 | ||
320 | 2015-05-28 Ed Schonberg <schonberg@adacore.com> | |
321 | ||
322 | * sem_util.adb (Set_Debug_Info_Needed): For a private type | |
323 | whose full view is itself a derived private type, set flag on | |
324 | underlying full view as well, for proper gdb display. | |
325 | ||
326 | 2015-05-28 Bob Duff <duff@adacore.com> | |
327 | ||
328 | * exp_tss.ads: Minor comment fix. | |
329 | * exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc): | |
330 | Inline init_procs when the type has controlled parts. Remove | |
331 | obsolete comments about those init_procs -- init_procs for | |
332 | such types are no longer complex. A typical init_proc just | |
333 | initializes the 'Tag field, and calls the parent init_proc | |
334 | (e.g. for Limited_Controlled), which calls the grandparent | |
335 | (for Root_Controlled), which does nothing. This all boils down | |
336 | to one instruction when inlined. | |
337 | * exp_ch7.adb (Create_Finalizer): Inline the finalizer. | |
338 | ||
339 | 2015-05-28 Ed Schonberg <schonberg@adacore.com> | |
340 | ||
341 | * sem_ch4.adb (Analyze_Selected_Component): If the type to use | |
342 | is a derived type and is a generic actual, the selected component | |
343 | appears within an instance body, and the check over the type | |
344 | has failed, examine ancestor types for the desired component. | |
345 | (Find_Component_In_Instance): If record type is a derived type, | |
346 | examine all ancestors in order to locate desired component. | |
347 | ||
e9abca4f | 348 | 2015-05-27 H.J. Lu <hongjiu.lu@intel.com> |
349 | ||
350 | * gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@. | |
351 | ||
3a40f0f6 | 352 | 2015-05-27 Eric Botcazou <ebotcazou@adacore.com> |
353 | ||
354 | * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an | |
355 | incomplete type coming from a limited_with and whose non-limited view | |
356 | comes from the main unit. | |
357 | ||
ab24a78f | 358 | 2015-05-27 Eric Botcazou <ebotcazou@adacore.com> |
359 | ||
360 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down | |
361 | code applying atomic checks to the object. | |
362 | ||
c96806b2 | 363 | 2015-05-27 Robert Dewar <dewar@adacore.com> |
364 | ||
365 | * sem_aux.adb: Minor rewording. | |
366 | ||
367 | 2015-05-27 Bob Duff <duff@adacore.com> | |
368 | ||
369 | * exp_prag.adb (Expand_Pragma_Abort_Defer): Make | |
370 | pragma Abort_Defer do nothing if Abort_Allowed is False. | |
371 | ||
372 | 2015-05-27 Arnaud Charlet <charlet@adacore.com> | |
373 | ||
374 | * exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads, | |
375 | sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb, | |
376 | opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads, | |
377 | sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments. | |
378 | ||
379 | 2015-05-27 Doug Rupp <rupp@adacore.com> | |
380 | ||
381 | * adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as | |
382 | well as kernel. | |
383 | ||
384 | 2015-05-27 Pierre-Marie de Rodat <derodat@adacore.com> | |
385 | ||
386 | * par_sco.adb (Process_Decision): Store sloc to | |
387 | condition/pragmas SCOs associations into a temporary table before | |
388 | moving them to the SCO_Raw_Hash_Table so that we can back them | |
389 | out just like we do for SCO entries that are simple decisions | |
390 | in an expression context. | |
391 | ||
3c9ef629 | 392 | 2015-05-27 Ed Schonberg <schonberg@adacore.com> |
393 | ||
394 | * sem_ch6.adb (Process_Formals): A non-private formal type that | |
395 | is a limited view does not have a list of private dependents. | |
396 | ||
397 | 2015-05-27 Ed Schonberg <schonberg@adacore.com> | |
398 | ||
399 | * exp_ch5.adb (Expand_N_Case_Statement): If the expression in | |
400 | the case statement is a compile-time known value, we look for a | |
401 | corresponding alternative to optimize the case statement into a | |
402 | single case. If the type has a static predicate and the expression | |
403 | does not satisfy the predicate, there is no legal alternative and | |
404 | this optimization is not applicable. Excecution is erroneous, | |
405 | or else if assertions are enabled, an exception will be raised | |
406 | earlier, at the point the expression is elaborated. | |
407 | ||
408 | 2015-05-27 Robert Dewar <dewar@adacore.com> | |
409 | ||
410 | * sem_elab.adb (Check_Internal_Call_Continue): Suppress | |
411 | warning on Finalize, Adjust, or Initialize if type involved has | |
412 | Warnings_Off set. | |
413 | ||
414 | 2015-05-27 Ed Schonberg <schonberg@adacore.com> | |
415 | ||
416 | * sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when | |
417 | applied to a type with no known discriminants. | |
418 | ||
db30f45f | 419 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
420 | ||
421 | * errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting. | |
422 | ||
423 | 2015-05-26 Bob Duff <duff@adacore.com> | |
424 | ||
425 | * sem_elab.adb (Check_A_Call): In the case where we're | |
426 | calling something in an instance of a generic package that is | |
427 | within this same unit (as the call), make sure we treat it | |
428 | as a call to an entity within the same unit. That is, call | |
429 | Check_Internal_Call, rather than putting "Elaborate_All(X)" | |
430 | on X, which would necessarily result in an elaboration cycle in | |
431 | static-elaboration mode. | |
432 | ||
433 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
434 | ||
435 | * freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile. | |
436 | * freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity | |
437 | parameter into Node parameter and remove Type parameter. | |
438 | Look at Is_Atomic_Or_VFA both on the type and on the object. | |
439 | (Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate. | |
440 | * exp_aggr.adb (Expand_Record_Aggregate): Likewise. | |
441 | (Process_Atomic_Independent_Shared_Volatile): Remove code | |
442 | propagating Atomic or VFA from object to locally-defined type. | |
443 | ||
444 | 2015-05-26 Bob Duff <duff@adacore.com> | |
445 | ||
446 | * exp_ch7.adb: Minor comment fix. | |
447 | ||
1496c811 | 448 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> |
449 | ||
450 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not | |
451 | bother about NaN's if Machine_Overflows is true. | |
452 | ||
eac71245 | 453 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> |
454 | ||
455 | * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really | |
456 | force evaluation of the expression, if any, when the object has its | |
457 | elaboration delayed. Do not create a variable at global level. | |
458 | ||
1cfce405 | 459 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> |
460 | ||
461 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply | |
462 | extra-precision trick to literals. Build SAVE_EXPR manually. | |
463 | ||
464 | * gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64. | |
465 | ||
3ed0dfd5 | 466 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> |
467 | ||
468 | * gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete | |
469 | (DECL_RENAMED_OBJECT): Adjust comment. | |
470 | * gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete. | |
471 | (invalidate_global_nonconstant_renamings): Likewise. | |
472 | (gnat_constant_reference_p): Likewise. | |
473 | (rewrite_fn): New function type. | |
474 | (gnat_rewrite_reference): Declare. | |
475 | (call_is_atomic_load): New inline predicate. | |
476 | * gcc-interface/decl.c (elaborate_reference_1): New function. | |
477 | (elaborate_reference): Likewise. | |
478 | (gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings | |
479 | and simplify associated code. Set const_flag to true consistently in | |
480 | conjunction with used_by_ref. | |
481 | * gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming | |
482 | pointers by renamed objects. | |
483 | (outer_atomic_access_required_p): Deal with renamings. | |
484 | (Compilation_Unit_to_gnu): Do not call | |
485 | invalidate_global_nonconstant_renamings. | |
486 | (gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment. | |
487 | (gnat_gimplify_expr): Deal with atomic loads. | |
488 | * gcc-interface/utils.c (global_nonconstant_renamings): Delete. | |
489 | (destroy_gnat_utils): Do not call | |
490 | invalidate_global_nonconstant_renamings. | |
491 | (record_global_nonconstant_renaming): Delete. | |
492 | (invalidate_global_nonconstant_renamings): Likewise. | |
493 | * gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h. | |
494 | (build_load_modify_store): Build a copy of the destination. | |
495 | (gnat_stabilize_reference_1): Adjust. | |
496 | (gnat_stabilize_reference): Call gnat_stabilize_reference_1 through | |
497 | gnat_rewrite_reference and move bulk of code to... | |
498 | (gnat_rewrite_reference): ...here. New global function. | |
499 | (gnat_constant_reference_p): Delete. | |
500 | ||
be673769 | 501 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> |
502 | ||
503 | * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype. | |
504 | * gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag | |
505 | to detect constant renamings. Be prepared for specific pattern of | |
506 | renamed object based on function calls. Create a constant object | |
507 | for the renaming of a NULL_EXPR or of a CONSTRUCTOR. Adjust calls | |
508 | to gnat_stabilize_reference and tidy up. Remove redundant tests. | |
509 | (elaborate_expression_1): Remove obsolete test and tidy up. | |
510 | * gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out | |
511 | parameters passed by reference. | |
512 | (gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again | |
513 | side-effects. | |
514 | Use gnat_protect_expr instead of gnat_stabilize_reference for general | |
515 | protection against side-effects. | |
516 | * gcc-interface/utils2.c (gnat_stable_expr_p): New predicate. | |
517 | (gnat_save_expr): Invoke it. | |
518 | (gnat_protect_expr): Likewise. | |
519 | (gnat_stabilize_reference_1): Likewise. Remove useless propagation | |
520 | of TREE_THIS_NOTRAP. | |
521 | (gnat_stabilize_reference): Remove parameter and adjust throughout. | |
522 | Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases. | |
523 | Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case. | |
524 | ||
e9e5d08c | 525 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> |
526 | ||
527 | * sinfo.ads: Minor reformatting. | |
528 | * sem_aux.ads: Clarify use of First_Discriminant. | |
529 | * sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited | |
530 | view is replaced with the non-limited view in an instance body, | |
531 | where the enclosing unit must have a regular with_clause on the | |
532 | relevant unit. | |
533 | * sem_ch12.adb (Install_Body): Freeze instantation after its | |
534 | body. Remove useless freeze nodes for incomplete actuals to | |
535 | prevent multiple generation of internal operations. | |
536 | (Instantiate_Package_Body): Set sloc of body appropriately when | |
537 | there are incomplete actuals and the instance body is placed in | |
538 | the body of the enclosing unit. | |
539 | * errout.ads: Consistent punctuation, better alignment and trivial | |
540 | typos in comments. | |
541 | * err_vars.ads: Fix typo. | |
542 | ||
543 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
544 | ||
545 | * sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on | |
546 | components of Volatile_Full_Access objects. | |
547 | ||
548 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
549 | ||
550 | * sem_ch6.adb (Is_Non_Overriding_Operation, | |
551 | Get_Generic_Parent_Type): Handle properly the case of a derived | |
552 | scalar type by using the first subtype rather than its generated | |
553 | anonymous base type. | |
554 | ||
555 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
556 | ||
557 | * einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype | |
558 | case to... | |
559 | (Write_Field19_Name): ...here. | |
560 | ||
bb3f15ef | 561 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> |
562 | ||
563 | * sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis | |
564 | of original expression in ASIS mode: does not solve the ASIS | |
565 | problem of a usable type information, and crashes the back-end | |
566 | when performing type annotations. | |
567 | ||
568 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
569 | ||
570 | * sem_disp.adb (Inherited_Subprograms): Add One_Only parameter. | |
571 | (Is_Overriding_Subprogram): Use One_Only_Parameter. | |
572 | * sem_disp.ads (Inherited_Subprograms): Add One_Only parameter. | |
573 | ||
8d8194a6 | 574 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
575 | ||
576 | * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb, | |
577 | exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb, | |
578 | exp_ch3.adb: Minor reformatting. | |
579 | ||
580 | 2015-05-26 Bob Duff <duff@adacore.com> | |
581 | ||
582 | * treepr.adb: Minor improvement to debugging routines (pp, pn) | |
583 | robustness. Rearrange the code so passing a nonexistent Node_Id | |
584 | prints "No such node" rather than crashing, and causing gdb to | |
585 | generate confusing messages. | |
586 | ||
587 | 2015-05-26 Gary Dismukes <dismukes@adacore.com> | |
588 | ||
589 | * sem_util.adb: Minor typo fix. | |
590 | ||
591 | 2015-05-26 Yannick Moy <moy@adacore.com> | |
592 | ||
593 | * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs. | |
594 | ||
f9e26ff7 | 595 | 2015-05-26 Hristian Kirtchev <kirtchev@adacore.com> |
596 | ||
597 | * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and | |
598 | restore the Ghost mode. | |
599 | (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode. | |
600 | (Freeze_Type): Update the call to Set_Ghost_Mode. | |
601 | (Restore_Globals): New routine. | |
602 | * exp_ch5.adb Add with and use clauses for Ghost. | |
603 | (Expand_N_Assignment_Statement): Capture, set and restore the | |
604 | Ghost mode. | |
605 | (Restore_Globals): New routine. | |
606 | * exp_ch6.adb Add with and use clauses for Ghost. | |
607 | (Expand_N_Procedure_Call_Statement): Capture, set and | |
608 | restore the Ghost mode. | |
609 | (Expand_N_Subprogram_Body): | |
610 | Code cleanup. Capture, set and restore the Ghost mode. | |
611 | (Expand_N_Subprogram_Declaration): Capture, set and restore the | |
612 | Ghost mode. | |
613 | (Restore_Globals): New routine. | |
614 | * exp_ch7.adb Add with and use clauses for Ghost. | |
615 | (Expand_N_Package_Body): Capture, set and restore the Ghost mode. | |
616 | (Expand_N_Package_Declaration): Capture, set and restore the | |
617 | Ghost mode. | |
618 | (Wrap_HSS_In_Block): Create a proper identifier for the block. | |
619 | * exp_ch8.adb Add with and use clauses for Ghost. | |
620 | (Expand_N_Exception_Renaming_Declaration): Code | |
621 | cleanup. Capture, set and restore the Ghost mode. | |
622 | (Expand_N_Object_Renaming_Declaration): Capture, set and restore | |
623 | the Ghost mode. | |
624 | (Expand_N_Package_Renaming_Declaration): Capture, set and restore the | |
625 | Ghost mode. | |
626 | (Expand_N_Subprogram_Renaming_Declaration): Capture, set and | |
627 | restore the Ghost mode. | |
628 | * exp_ch11.adb (Expand_N_Exception_Declaration): Code | |
629 | cleanup. Capture, set and restore the Ghost mode. | |
630 | * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do | |
631 | not initialize the dispatch table slot of a Ghost subprogram. | |
632 | * exp_prag.adb Add with and use clauses for Ghost. | |
633 | (Expand_Pragma_Check): Capture, set and restore the Ghost mode. | |
634 | (Expand_Pragma_Contract_Cases): Capture, set and restore the | |
635 | Ghost mode. | |
636 | (Expand_Pragma_Initial_Condition): Capture, set and | |
637 | restore the Ghost mode. | |
638 | (Expand_Pragma_Loop_Variant): Capture, | |
639 | set and restore the Ghost mode. | |
640 | (Restore_Globals): New routine. | |
641 | * exp_util.adb Add with and use clauses for Ghost. | |
642 | (Make_Predicate_Call): Code cleanup. Capture, set and restore | |
643 | the Ghost mode. | |
644 | (Restore_Globals): New routine. | |
645 | * freeze.adb (Freeze_Entity): Code cleanup. Update the call | |
646 | to Set_Ghost_Mode. | |
647 | * ghost.adb Add with and use clause for Sem_Prag. | |
648 | (Check_Ghost_Completion): Code cleanup. | |
649 | (Check_Ghost_Overriding): New routine. | |
650 | (Check_Ghost_Policy): Code cleanup. | |
651 | (Ghost_Entity): New routine. | |
652 | (Is_Ghost_Declaration): Removed. | |
653 | (Is_Ghost_Statement_Or_Pragma): Removed. | |
654 | (Is_OK_Context): Reimplemented. | |
655 | (Is_OK_Declaration): New routine. | |
656 | (Is_OK_Pragma): New routine. | |
657 | (Is_OK_Statement): New routine. | |
658 | (Mark_Full_View_As_Ghost): New routine. | |
659 | (Mark_Pragma_As_Ghost): New routine. | |
660 | (Mark_Renaming_As_Ghost): New routine. | |
661 | (Propagate_Ignored_Ghost_Code): Update the comment on usage. | |
662 | (Set_From_Entity): New routine. | |
663 | (Set_From_Policy): New routine. | |
664 | (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes. | |
665 | (Set_Ghost_Mode_For_Freeze): Removed. | |
666 | (Set_Ghost_Mode_From_Entity): New routine. | |
667 | (Set_Ghost_Mode_From_Policy): Removed. | |
668 | * ghost.ads (Check_Ghost_Overriding): New routine. | |
669 | (Mark_Full_View_As_Ghost): New routine. | |
670 | (Mark_Pragma_As_Ghost): New routine. | |
671 | (Mark_Renaming_As_Ghost): New routine. | |
672 | (Set_Ghost_Mode): Update the parameter profile. Update the | |
673 | comment on usage. | |
674 | (Set_Ghost_Mode_For_Freeze): Removed. | |
675 | (Set_Ghost_Mode_From_Entity): New routine. | |
676 | * sem_ch3.adb (Analyze_Full_Type_Declaration): | |
677 | Capture and restore the Ghost mode. Mark a type | |
678 | as Ghost regardless of whether it comes from source. | |
679 | (Analyze_Incomplete_Type_Decl): Capture, set and restore the | |
680 | Ghost mode. | |
681 | (Analyze_Number_Declaration): Capture and restore the Ghost mode. | |
682 | (Analyze_Object_Declaration): Capture and restore the Ghost mode. | |
683 | (Analyze_Private_Extension_Declaration): Capture and | |
684 | restore the Ghost mode. | |
685 | (Analyze_Subtype_Declaration): Capture and restore the Ghost mode. | |
686 | (Process_Full_View): The full view inherits all Ghost-related | |
687 | attributes from the private view. | |
688 | (Restore_Globals): New routine. | |
689 | * sem_ch5.adb (Analyze_Assignment): Capture and restore the | |
690 | Ghost mode. | |
691 | (Restore_Globals): New routine. | |
692 | * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): | |
693 | Code cleanup. Capture and restore the Ghost mode. Mark a | |
694 | subprogram as Ghost regarless of whether it comes from source. | |
695 | (Analyze_Procedure_Call): Capture and restore the Ghost mode. | |
696 | (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode. | |
697 | (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode. | |
698 | (New_Overloaded_Entity): Ensure that a | |
699 | parent subprogram and an overriding subprogram have compatible | |
700 | Ghost policies. | |
701 | * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore | |
702 | the Ghost mode. | |
703 | (Analyze_Package_Declaration): Capture and | |
704 | restore the Ghost mode. Mark a package as Ghost when it is | |
705 | declared in a Ghost region. | |
706 | (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode. | |
707 | (Restore_Globals): New routine. | |
708 | * sem_ch8.adb (Analyze_Exception_Renaming): Code | |
709 | reformatting. Capture and restore the Ghost mode. A renaming | |
710 | becomes Ghost when its name references a Ghost entity. | |
711 | (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A | |
712 | renaming becomes Ghost when its name references a Ghost entity. | |
713 | (Analyze_Object_Renaming): Capture and restore the Ghost mode. A | |
714 | renaming becomes Ghost when its name references a Ghost entity. | |
715 | (Analyze_Package_Renaming): Capture and restore the Ghost mode. A | |
716 | renaming becomes Ghost when its name references a Ghost entity. | |
717 | (Analyze_Subprogram_Renaming): Capture and restore the Ghost | |
718 | mode. A renaming becomes Ghost when its name references a | |
719 | Ghost entity. | |
720 | * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set | |
721 | and restore the Ghost mode. | |
722 | * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and | |
723 | restore the Ghost mode. | |
724 | (Analyze_Generic_Subprogram_Declaration): | |
725 | Capture and restore the Ghost mode. | |
726 | * sem_ch13.adb Add with and use clauses for Ghost. | |
727 | (Add_Invariant): New routine. | |
728 | (Add_Invariants): Factor out code. | |
729 | (Add_Predicate): New routine. | |
730 | (Add_Predicates): Factor out code. | |
731 | (Build_Invariant_Procedure_Declaration): Code cleanup. Capture, | |
732 | set and restore the Ghost mode. | |
733 | (Build_Invariant_Procedure): Code cleanup. | |
734 | (Build_Predicate_Functions): Capture, set and | |
735 | restore the Ghost mode. Mark the generated functions as Ghost. | |
736 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): | |
737 | Capture, set and restore the Ghost mode. | |
738 | (Analyze_External_Property_In_Decl_Part): Capture, set and restore | |
739 | the Ghost mode. | |
740 | (Analyze_Initial_Condition_In_Decl_Part): | |
741 | Capture, set and restore the Ghost mode. | |
742 | (Analyze_Pragma): | |
743 | Code cleanup. Capture, set and restore the Ghost mode. Flag | |
744 | pragmas Linker_Section, No_Return, Unmodified, Unreferenced and | |
745 | Unreferenced_Objects as illegal when it applies to both Ghost | |
746 | and living arguments. Pragma Ghost cannot apply to synchronized | |
747 | objects. | |
748 | (Check_Kind): Moved to the spec of Sem_Prag. | |
749 | (Process_Inline): Flag the pragma as illegal when it applies to | |
750 | both Ghost and living arguments. | |
751 | (Restore_Globals): New routine. | |
752 | * sem_prag.ads Add pragma Default_Initial_Condition | |
753 | to table Assertion_Expression_Pragma. Add new table | |
754 | Is_Aspect_Specifying_Pragma. | |
755 | (Check_Kind): Moved from body of Sem_Prag. | |
756 | * sem_util.adb Add with and use clauses for Ghost. | |
757 | (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore | |
758 | the Ghost mode. | |
759 | (Build_Default_Init_Cond_Procedure_Declaration): | |
760 | Capture, set and restore the Ghost mode. Mark the default | |
761 | initial condition procedure as Ghost when it is declared | |
762 | in a Ghost region. | |
763 | (Is_Renaming_Declaration): New routine. | |
764 | (Policy_In_List): Account for the single argument version of | |
765 | Check_Pragma. | |
766 | * sem_util.ads (Is_Renaming_Declaration): New routine. | |
767 | * sinfo.adb (Is_Ghost_Pragma): New routine. | |
768 | (Set_Is_Ghost_Pragma): New routine. | |
769 | * sinfo.ads New attribute Is_Ghost_Pragma. | |
770 | (Is_Ghost_Pragma): New routine along with pragma Inline. | |
771 | (Set_Is_Ghost_Pragma): New routine along with pragma Inline. | |
772 | ||
6287ef56 | 773 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
774 | ||
775 | * sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb: | |
776 | Minor reformatting. | |
777 | ||
778 | 2015-05-26 Gary Dismukes <dismukes@adacore.com> | |
779 | ||
780 | * gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor | |
781 | reformatting and typo fixes in comments. | |
782 | ||
783 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
784 | ||
785 | * sem_ch7.adb (Swap_Private_Dependets): Set visibility of | |
786 | the two views of a private dependent in two separate steps, | |
787 | to ensure proper visibility in parent units analyzed for inlining. | |
788 | ||
895fed95 | 789 | 2015-05-26 Yannick Moy <moy@adacore.com> |
790 | ||
791 | * sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound. | |
792 | (Package_Body, Package_Spec): New queries moved | |
793 | here from GNATprove. | |
794 | (Package_Specification): Simplify query to remove use of loop. | |
795 | * sem_util.adb, sem_util.ads (Enclosing_Declaration, | |
796 | Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New | |
797 | queries moved here from GNATprove. | |
798 | ||
9db9a1a4 | 799 | 2015-05-26 Bob Duff <duff@adacore.com> |
800 | ||
801 | * einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove | |
802 | obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update | |
803 | redundant assertions. | |
804 | ||
805 | 2015-05-26 Gary Dismukes <dismukes@adacore.com> | |
806 | ||
807 | * sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes. | |
808 | ||
23225afb | 809 | 2015-05-26 Doug Rupp <rupp@adacore.com> |
810 | ||
811 | * init.c [vxworks]: Refine previous checkin. | |
812 | ||
813 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
814 | ||
815 | * exp_ch4.adb (Wrap_MA): New function. | |
816 | (Expand_N_Op_Expon): Use Wrap_MA. | |
817 | ||
818 | 2015-05-26 Bob Duff <duff@adacore.com> | |
819 | ||
820 | * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): | |
821 | Do not use secondary stack to return limited records with | |
822 | defaulted discriminants. This is an efficiency improvement. | |
823 | * exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads, | |
824 | sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, | |
825 | sem_util.adb: Change the sense of Is_Indefinite_Subtype to be | |
826 | Is_Definite_Subtype. This is an improvement to readability (the double | |
827 | negative in "not Is_Indefinite_Subtype" was slightly confusing). Also | |
828 | disallow passing non-[sub]type entities, an unnecessary and slightly | |
829 | bug-prone flexibility. | |
830 | ||
24c8d764 | 831 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
832 | ||
833 | * sem_aggr.adb (Resolve_Array_Aggregate): Defend against | |
834 | bad bounds. | |
835 | * debug.adb: Document -gnatd.k. | |
836 | * erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k. | |
837 | ||
838 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
839 | ||
840 | * gnat1drv.adb (Gnat1drv): Provide new arguments for | |
841 | Get_Target_Parameters. | |
842 | * restrict.adb (Set_Restriction_No_Specification_Of_Aspect): | |
843 | new procedure. | |
844 | (Set_Restriction_No_Use_Of_Attribute): new procedure. | |
845 | * restrict.ads (Set_Restriction_No_Specification_Of_Aspect): | |
846 | new procedure. | |
847 | (Set_Restriction_No_Use_Of_Attribute): new procedure. | |
848 | * s-rident.ads (Integer_Parameter_Restrictions): New subtype. | |
849 | * targparm.adb (Get_Target_Parameters): Allow new restriction | |
850 | pragmas No_Specification_Of_Aspect No_Use_Of_Attribute | |
851 | No_Use_Of_Pragma. | |
852 | * targparm.ads: New parameters for Get_Target_Parameters. | |
853 | * tbuild.adb (Set_NOD): New name for Set_RND. | |
854 | (Set_NSA): New procedure. | |
855 | (Set_NUA): New procedure. | |
856 | (Set_NUP): New procedure. | |
857 | * tbuild.ads (Make_SC): Minor reformatting. | |
858 | (Set_NOD): New name for Set_RND. | |
859 | (Set_NSA, Set_NUA, Set_NUP): New procedure. | |
860 | ||
861 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
862 | ||
863 | * a-stwise.adb (Find_Token): If source'first is not positive, | |
864 | an exception must be raised, as specified by RM 2005 A.4.3 | |
865 | (68/1). This must be checked explicitly, given that run-time | |
866 | files are normally compiled without constraint checks. | |
867 | * a-stzsea.adb (Find_Token): Ditto. | |
868 | ||
869 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
870 | ||
871 | * sem_util.ads sem_util.adb (Is_Current_Instance): New predicate | |
872 | to fully implement RM 8.6 (17/3). which earlier only applied | |
873 | to synchronized types. Used to preanalyze aspects that include | |
874 | current instances of types, such as Predicate and Invariant. | |
875 | * sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance. | |
876 | * sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original | |
877 | expression of aspect and analyze it to provide proper type | |
878 | information. | |
879 | ||
880 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
881 | ||
882 | * rtsfind.ads: Add entries for RE_Exn[_Long]_Float. | |
883 | * s-exnllf.adb (Exn_Float): New function. | |
884 | (Exn_Long_Float): New function. | |
885 | (Exn_Long_Long_Float): Rewritten interface. | |
886 | (Exp): New name for what used to be Exn_Long_Long_Float. | |
887 | * s-exnllf.ads (Exn_Float): New function. | |
888 | (Exn_Long_Float): New function. | |
889 | ||
890 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
891 | ||
892 | * sem_ch8.adb (Find_Selected_Component): Do not emit an error | |
893 | on a selected component when the prefix is a type name that is | |
894 | a Current_Instance. | |
895 | * einfo.ads: Minor grammar fix. | |
896 | ||
897 | 2015-05-26 Doug Rupp <rupp@adacore.com> | |
898 | ||
899 | * init.c [vxworks] (sysLib.h): Only for x86. | |
900 | ||
6d70bede | 901 | 2015-05-26 Doug Rupp <rupp@adacore.com> |
902 | ||
903 | * init-vxsim.c (CPU): define as __VXSIM_CPU__ | |
904 | * sigtramp-vxworks-vxsim.c (CPU): Likewise. | |
905 | sigtramp-vxworks-target.inc: Add check for SIMLINUX. | |
906 | * sigtramp.h: Likewise. | |
907 | ||
908 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
909 | ||
910 | * sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment. | |
911 | * sem_util.adb: Minor reformatting | |
912 | ||
c143b3d7 | 913 | 2015-05-26 Yannick Moy <moy@adacore.com> |
914 | ||
915 | * inline.adb (Has_Initialized_Type): Adapt to new names. | |
916 | * sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components, | |
917 | Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec, | |
918 | Subprogram_Specification): New query functions used in GNATprove. | |
919 | * sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New | |
920 | query functions used in GNATprove. | |
921 | * sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node, | |
922 | Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq, | |
923 | Is_Double_Precision_Floating_Point_Type, | |
924 | Is_Single_Precision_Floating_Point_Type): New query functions | |
925 | used in GNATprove. | |
926 | ||
2846c24e | 927 | 2015-05-26 Bob Duff <duff@adacore.com> |
928 | ||
929 | * s-rpc.ads (Partition_ID): Increase maximum Partition_ID to | |
930 | some huge number. | |
931 | * a-except-2005.adb, a-except-2005.ads, a-except.adb, | |
932 | a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes. | |
933 | ||
934 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
935 | ||
936 | * sinfo.adb: Minor comment addition. | |
937 | * einfo.adb: Minor whitespace and punctuation fix. | |
938 | * sem_util.adb: Minor editing of comments. | |
939 | ||
3f716509 | 940 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> |
941 | ||
942 | * sem_ch7.adb (Install_Private_Declarations, | |
943 | Swap_Private_Dependents): Ensure that both views of the dependent | |
944 | subtype are immediately visible if we are within their scope. This | |
945 | may be needed when a procedure body is both the parent of an | |
946 | instantiated child unit, and is itself used to inline a local | |
947 | function. | |
948 | ||
949 | 2015-05-26 Gary Dismukes <dismukes@adacore.com> | |
950 | ||
951 | * exp_prag.adb, gnat1drv.adb: Minor reformatting. | |
952 | ||
953 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
954 | ||
955 | * exp_ch4.adb (Expand_N_Indexed_Component): In the circuit | |
956 | detecting exceptions to the rewriting, deal with implicit | |
957 | dereferences in the selected component case. | |
958 | ||
959 | 2015-05-26 Bob Duff <duff@adacore.com> | |
960 | ||
961 | * sem_ch13.adb (Analyze_One_Aspect): Do not | |
962 | require the expression of the Disable_Controlled aspect to be | |
963 | static in a generic template, because 'Enabled is not known | |
964 | until the instance. | |
965 | ||
966 | 2015-05-26 Doug Rupp <rupp@adacore.com> | |
967 | ||
968 | * init-vxsim.c: New file for vxsim ZCX | |
969 | * sigtramp-vxworks-vxsim.c: Likewise. | |
970 | * sigtramp-vxworks.c: Factor out target dependent bits into ... | |
971 | * sigtramp-vxworks-target.inc: ... here. | |
972 | * sigtramp.h: Add vxsim zcx protos. | |
973 | * init.c [vxworks...] (sysLib.h): Include. | |
974 | (__gnat_map_signal): Make global. | |
975 | [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if | |
976 | on vxsim. | |
977 | [...i386] (__gnat_install_handler): Test if on vxsim. | |
978 | ||
979 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
980 | ||
981 | * sem_ch5.adb (Analyze_Iterator_Specification): For an element | |
982 | iterator over an array, if the component is aliased, the loop | |
983 | variable is aliased as well. | |
984 | ||
985 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
986 | ||
987 | * exp_ch6.adb (Expand_Actuals): For a function call with in-out | |
988 | parameters that is rewritten as an expression_with_actions, | |
989 | we preserve the original function call node for further use by | |
990 | the caller (typically Expand_Call). In the presence of validity | |
991 | checks, that function call, though it is labelled Analyzed to | |
992 | prevent an infinite recursion, may be rewritten as a temporary | |
993 | by Remove_Side_Effects. Ensure that the caller has access to | |
994 | the original function call to continue expansion. | |
995 | * atree.ads: Minor typo in comment. | |
996 | ||
997 | 2015-05-26 Javier Miranda <miranda@adacore.com> | |
998 | ||
999 | * sem_util.adb (Check_Function_Writable_Actuals): | |
1000 | Add missing support to check the violation of writable actuals | |
1001 | in array aggregates that have a nonstatic range. | |
1002 | ||
724539dd | 1003 | 2015-05-26 Hristian Kirtchev <kirtchev@adacore.com> |
1004 | ||
1005 | * exp_ch6.adb (Process_Contract_Cases_For): Update the call to | |
1006 | Expand_Pragma_Contract_Cases. | |
1007 | * exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to | |
1008 | Expand_Pragma_Contract_Cases. | |
1009 | * sem_ch13.adb (Add_Invariants): Use the original aspect name | |
1010 | when creating the arguments of pragma Check. This ensures that | |
1011 | 'Class is properly recognized and handled. | |
1012 | ||
dad188fe | 1013 | 2015-05-26 Arnaud Charlet <charlet@adacore.com> |
1014 | ||
1015 | * gnat1drv.adb: Minor adjustments. | |
1016 | (Adjust_Global_Switches): Disable some related flags in CodePeer mode. | |
1017 | * sem_ch4.adb (Has_Arbitrary_Evaluation_Order, | |
1018 | Stop_Subtree_Climbind): Code cleanup. | |
1019 | * einfo.ads: Minor comment change. | |
1020 | ||
7191c727 | 1021 | 2015-05-26 Javier Miranda <miranda@adacore.com> |
1022 | ||
1023 | * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate): | |
1024 | Code cleanup. | |
1025 | * sem_ch3.adb (Build_Derived_Record_Type, | |
1026 | Record_Type_Declaration): Code cleanup. | |
1027 | * sem_ch4.adb (Has_Arbitrary_Evaluation_Order, | |
1028 | Stop_Subtree_Climbind): Tables which speed up the identification | |
1029 | of dangerous calls to Ada 2012 functions with writable actuals | |
1030 | (AI05-0144). | |
1031 | (Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op, | |
1032 | Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op, | |
1033 | Analyze_Range): Code cleanup. | |
1034 | (Is_Arbitrary_Evaluation_Order_Construct): Removed. | |
1035 | (Check_Writable_Actuals): Code cleanup using the added tables. | |
1036 | * sem_util.adb (Check_Function_Writable_Actuals): Return | |
1037 | immediately if the node does not have the flag Check_Actuals | |
1038 | set to True. | |
1039 | ||
1040 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
1041 | ||
1042 | * exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive | |
1043 | condition in the detection of the effects of Remove_Side_Effects. | |
1044 | * exp_util.ads (Remove_Side_Effects): Add general and historical note. | |
1045 | * exp_util.adb (Is_Name_Reference): New predicate. | |
1046 | (Remove_Side_Effects): Use it in lieu of Is_Object_Reference | |
1047 | in order to decide whether to use the renaming to capture the | |
1048 | side effects of the subexpression. | |
1049 | (Side_Effect_Free): Remove obsolete test. | |
1050 | ||
6c5793cd | 1051 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
1052 | ||
1053 | * aspects.ads, aspects.adb: Add aspect Disable_Controlled. | |
1054 | * einfo.ads, einfo.adb (Disable_Controlled): New flag. | |
1055 | (Is_Controlled_Active): New function. | |
1056 | * exp_ch3.adb (Expand_Freeze_Record_Type): Use | |
1057 | Is_Controlled_Active. | |
1058 | * exp_util.adb (Needs_Finalization): Finalization not needed | |
1059 | if Disable_Controlled set. | |
1060 | * freeze.adb (Freeze_Array_Type): Do not set | |
1061 | Has_Controlled_Component if the component has Disable_Controlled. | |
1062 | (Freeze_Record_Type): ditto. | |
1063 | * sem_ch13.adb (Decorate): Minor reformatting. | |
1064 | (Analyze_Aspect_Specifications): Implement Disable_Controlled. | |
1065 | * sem_ch3.adb (Analyze_Object_Declaration): Handle | |
1066 | Disable_Controlled. | |
1067 | (Array_Type_Declaration): ditto. | |
1068 | (Build_Derived_Private_Type): ditto. | |
1069 | (Build_Derived_Type): ditto. | |
1070 | (Record_Type_Definition): ditto. | |
1071 | * snames.ads-tmpl: Add Name_Disable_Controlled. | |
1072 | ||
1073 | 2015-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
1074 | ||
1075 | * exp_ch6.adb (Expand_Actuals): Use a constant declaration instead | |
1076 | of a renaming to capture the return value of a function call. | |
1077 | (Expand_Simple_Function_Return): Call Remove_Side_Effects | |
1078 | instead of removing side effects manually before the call to | |
1079 | _Postconditions. | |
1080 | ||
7014074b | 1081 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
1082 | ||
1083 | * exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong | |
1084 | order in calling Duplicate_Subexpr. | |
1085 | * einfo.ads: Fix documentation of Object/Value size for scalar types. | |
1086 | ||
5152ec63 | 1087 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> |
1088 | ||
1089 | * exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign): | |
1090 | If a component is default-initialized and its type has an | |
1091 | invariant procedure, insert an invariant test after code for | |
1092 | default-initialization of the component. | |
1093 | ||
8dbe2c06 | 1094 | 2015-05-26 Gary Dismukes <dismukes@adacore.com> |
1095 | ||
1096 | * einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting. | |
1097 | ||
1098 | 2015-05-26 Robert Dewar <dewar@adacore.com> | |
1099 | ||
1100 | * exp_unst.adb, exp_unst.ads: Change to using Subps table index for | |
1101 | making AREC entity names unique. | |
1102 | ||
1103 | 2015-05-26 Ed Schonberg <schonberg@adacore.com> | |
1104 | ||
1105 | * sem_cat.adb (Has_Stream_Attribute_Definition): If the type | |
1106 | has aspect specifications, examine the corresponding list of | |
1107 | representation items to determine whether there is a visible | |
1108 | stream operation. The attribute definition clause generated from | |
1109 | the aspect will be inserted at the freeze point of the type, | |
1110 | which may be in the private part and not directly visible, | |
1111 | but the aspect makes the operation available to a client. | |
1112 | ||
bbd127e8 | 1113 | 2015-05-26 Robert Dewar <dewar@adacore.com> |
1114 | ||
1115 | * sem_util.adb: Minor code reorganization. | |
1116 | * sem_ch6.adb: Minor reformatting. | |
1117 | ||
783c4ee3 | 1118 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> |
1119 | ||
108d967d | 1120 | * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to |
1121 | original size for elementary types before issuing the size warning. | |
1122 | ||
1123 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> | |
1124 | ||
1125 | * get_targ.adb (C_Get_Float_Words_BE): Adjust import name. | |
1126 | (C_Get_Words_BE): Likewise. | |
1127 | (C_Get_Bytes_BE): Likewise. | |
1128 | (C_Get_Bits_BE): Likewise. | |
1129 | (Width_From_Size): Remove superfluous space. | |
783c4ee3 | 1130 | * gcc-interface/targtyps.c (get_float_words_be): Rename into... |
1131 | (get_target_float_words_be): ...this. | |
1132 | (get_words_be): Rename into... | |
1133 | (get_target_words_be): ...this. | |
1134 | (get_bytes_be): Rename into... | |
1135 | (get_target_bytes_be): ...this. | |
1136 | (get_bits_be): Rename into... | |
1137 | (get_target_bits_be): ...this. | |
1138 | * gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type. | |
1139 | (ptr_void_type_node): Delete. | |
1140 | (get_target_float_size): Likewise. | |
1141 | (get_target_double_size): Likewise. | |
1142 | (get_target_long_double_size): Likewise. | |
1143 | (get_float_words_be): Likewise. | |
1144 | (get_words_be): Likewise. | |
1145 | (get_bytes_be): Likewise. | |
1146 | (get_bits_be): Likewise. | |
1147 | (get_target_float_words_be): Declare. | |
1148 | (get_target_words_be): Likewise. | |
1149 | (get_target_bytes_be): Likewise. | |
1150 | (get_target_bits_be): Likewise. | |
1151 | * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node | |
1152 | with ptr_type_node. | |
1153 | (intrin_return_compatible_p): Likewise. | |
1154 | * gcc-interface/trans.c (gigi): Likewise. | |
1155 | * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise. | |
1156 | (maybe_wrap_free): Likewise. | |
1157 | * gcc-interface/utils.c (maybe_pad_type): Remove superfluous space. | |
1158 | * gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node. | |
1159 | ||
90c79312 | 1160 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> |
1161 | ||
1162 | * gcc-interface/decl.c (elaborate_expression): Take a const string | |
1163 | suffix instead of a tree. | |
1164 | (elaborate_expression_1): Likewise. | |
1165 | (elaborate_expression_2): Likewise. | |
1166 | (gnat_to_gnu_entity): Adjust to above changes. | |
1167 | (build_subst_list): Likewise. | |
1168 | (get_entity_char): New static function. | |
1169 | ||
ecf998f9 | 1170 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> |
1171 | ||
1172 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around. | |
1173 | <E_Exception>: Merge with E_Variable case. | |
1174 | <E_Variable>: Remove 'object' label. | |
1175 | ||
cdbc31ab | 1176 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> |
1177 | ||
1178 | * gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak. | |
1179 | * gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT. | |
1180 | * gcc-interface/utils.c (convert): Likewise and simplify. | |
1181 | (remove_conversions): Likewise. | |
1182 | * gcc-interface/utils2.c (compare_fat_pointers): Likewise. | |
1183 | (build_unary_op): Likewise and simplify. | |
1184 | ||
0dc5169f | 1185 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> |
1186 | ||
1187 | * gcc-interface/gigi.h (build_atomic_load): Adjust prototype. | |
1188 | (build_atomic_store): Likewise. | |
1189 | (build_load_modify_store): Declare. | |
1190 | (VECTOR_TYPE_P): Delete. | |
1191 | * gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with | |
1192 | Is_Atomic_Or_VFA throughout. | |
1193 | <E_Array_Type>: Build a variant of the XUA type instead of forcing | |
1194 | TYPE_VOLATILE on it. | |
1195 | <E_Array_Subtype>: Use the main variant of the base type. | |
1196 | Do not force TYPE_VOLATILE on the type being built. | |
1197 | <E_Record_Type>: Likewise. | |
1198 | <E_Array_Subtype>: Likewise. | |
1199 | <E_Subprogram_Type>: Rename local variable. | |
1200 | Add Atomic qualifier in conjunction with Volatile on types if needed. | |
1201 | Force BLKmode for by-ref types only at the end of the processing. | |
1202 | Change qualifiers only after changing the mode of the type. Set | |
1203 | TYPE_UNIVERSAL_ALIASING_P on the type directly. | |
1204 | (check_ok_for_atomic_type): Issue specific error message for VFA. | |
1205 | (gnat_to_gnu_component_type): Replace Is_Atomic with | |
1206 | Is_Atomic_Or_VFA throughout. | |
1207 | * gcc-interface/misc.c (gnat_get_alias_set): Test | |
1208 | TYPE_UNIVERSAL_ALIASING_P on the type directly. | |
1209 | * gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with | |
1210 | Is_Atomic_Or_VFA throughout. Add missing guard. | |
1211 | (node_is_atomic): New predicate. | |
1212 | (node_has_volatile_full_access): Likewise. | |
1213 | (gnat_strip_type_conversion): New function. | |
1214 | (outer_atomic_access_required_p): New predicate. | |
1215 | (atomic_sync_required_p): Rename into... | |
1216 | (atomic_access_required_p): ...this. Add SYNC parameter, scan the | |
1217 | parent node first and then look for the atomic setting. Add support | |
1218 | for Volatile_Full_Access. | |
1219 | (Call_to_gnu): Add atomic_access and outer_atomic_access parameters | |
1220 | and adjusts calls to above functions. Use load-modify-store sequence | |
1221 | for updates of In/Out and Out parameters if required, as well as for | |
1222 | moving the result to the target if required. Add couple of missing | |
1223 | guards. | |
1224 | (gnat_to_gnu): Adjust calls to above functions. | |
1225 | <N_Object_Renaming_Declaration>: If the renamed object has side-effects | |
1226 | evaluate only its address. | |
1227 | <N_Assignment_Statement>: Adjust call to Call_to_gnu. Use load-modify | |
1228 | store sequence if required. | |
1229 | <N_Function_Call>: Adjust call to Call_to_gnu. | |
1230 | (extract_values): Adjust comment. | |
1231 | * gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and | |
1232 | use relaxed memory model if it is not set. | |
1233 | (build_atomic_store): Likewise. | |
1234 | (call_is_atomic_load): New predicate. | |
1235 | (build_load_modify_store): New function. | |
1236 | (build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS. | |
1237 | (gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads. | |
1238 | ||
6a16fba0 | 1239 | 2015-05-25 Eric Botcazou <ebotcazou@adacore.com> |
1240 | ||
1241 | * gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into... | |
1242 | (DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this. | |
1243 | * gcc-interface/gigi.h (record_global_renaming_pointer): Delete. | |
1244 | (invalidate_global_renaming_pointers): Likewise. | |
1245 | (record_global_nonconstant_renaming): New. | |
1246 | (invalidate_global_nonconstant_renamings): Likewise. | |
1247 | (get_inner_constant_reference): Likewise. | |
1248 | (gnat_constant_reference_p): Likewise. | |
1249 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above | |
1250 | and register the renaming pointer only if the object is non-constant. | |
1251 | (elaborate_expression_1): Call get_inner_constant_reference instead | |
1252 | of get_inner_reference. | |
1253 | * gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak. | |
1254 | (Identifier_to_gnu): Adjust to above and do not recheck the renamed | |
1255 | object before substituting it. | |
1256 | (Compilation_Unit_to_gnu): Adjust to above renaming. Minor tweaks. | |
1257 | (gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the | |
1258 | result at the global level. | |
1259 | (N_Exception_Renaming_Declaration): Likewise. | |
1260 | * gcc-interface/utils.c (global_renaming_pointers): Rename into... | |
1261 | (global_nonconstant_renamings): ...this. | |
1262 | (destroy_gnat_utils): Adjust to above renaming. | |
1263 | (record_global_renaming_pointer): Rename into... | |
1264 | (record_global_nonconstant_renaming): ...this. | |
1265 | (invalidate_global_renaming_pointers): Rename into... | |
1266 | (invalidate_global_nonconstant_renamings): ...this and do not recheck | |
1267 | the renamed object before invalidating. | |
1268 | * gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak. | |
1269 | (get_inner_constant_reference): New public function. | |
1270 | (gnat_constant_reference_p): New predicate. | |
1271 | ||
d22247da | 1272 | 2015-05-25 Javier Miranda <miranda@adacore.com> |
1273 | ||
1274 | * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute | |
1275 | is now present in subprograms, generic subprograms, entries and | |
1276 | entry families. | |
1277 | * sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter | |
1278 | on entries, entry families, subprograms and generic subprograms. | |
1279 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): | |
1280 | Minor code reorganization to ensure that the Ekind attribute | |
1281 | of the subprogram entity is set before its formals are | |
1282 | processed. Required to allow the use of the attribute | |
1283 | Has_Out_Or_In_Out_Parameter on the subprogram entity. | |
1284 | * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate): | |
1285 | Perform the check on writable actuals only if the value of some | |
1286 | component of the aggregate involves calling a function with | |
1287 | out-mode parameters. | |
1288 | (Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the | |
1289 | internally built aggregate. | |
1290 | * sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration): | |
1291 | Perform the check on writable actuals only if the initialization of | |
1292 | some component involves calling a function with out-mode parameters. | |
1293 | * sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op, | |
1294 | Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op, | |
1295 | Analyze_Range): Check writable actuals only if the | |
1296 | subtrees have a call to a function with out-mode parameters | |
1297 | (Analyze_Call.Check_Writable_Actuals): New subprogram. If the call | |
1298 | has out or in-out parameters then mark its outermost enclosing | |
1299 | construct as a node on which the writable actuals check must | |
1300 | be performed. | |
1301 | (Analyze_Call): Check if the flag must be set and if the outermost | |
1302 | enclosing construct. | |
1303 | * sem_util.adb (Check_Function_Writable_Actuals): Code cleanup | |
1304 | and reorganization. We skip processing aggregate discriminants | |
1305 | since their precise analysis involves two phases traversal. | |
1306 | * sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op, | |
1307 | Resolve_Logical_Op, Resolve_Membership_Op): Remove call to | |
1308 | check_writable_actuals. | |
1309 | ||
5292f25c | 1310 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> |
1311 | ||
1312 | * sem_ch3.adb (Constrain_Concurrent): If the context is a | |
1313 | type declaration, generate an Itype_Reference for the anonymous | |
1314 | subtype, to force elaboration at this point in gigi. | |
1315 | ||
1316 | 2015-05-22 Gary Dismukes <dismukes@adacore.com> | |
1317 | ||
1318 | * layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads, | |
1319 | exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes. | |
1320 | ||
9cb79877 | 1321 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> |
1322 | ||
1323 | * sem_res.adb (Resolve_Actuals): If the call is to an overridden | |
1324 | operation, replace the names of the actuals in named associations | |
1325 | with the names of the actuals of the subprogram that is eventually | |
1326 | executed. The names of the formals and the defaults can differ | |
1327 | between the two operations when they are operations of a formal | |
1328 | derived type. | |
1329 | ||
2399e527 | 1330 | 2015-05-22 Bob Duff <duff@adacore.com> |
1331 | ||
1332 | * a-convec.ads, a-convec.adb (Append): Check for fast path. Split | |
1333 | out slow path into separate procedure. Inline Append. Fast path | |
1334 | now avoids calling Insert. | |
1335 | (Finalize): Do the busy checking last, so the container gets emptied. | |
1336 | (Insert, Insert_Space): Remove redundancy. | |
1337 | ||
1338 | 2015-05-22 Robert Dewar <dewar@adacore.com> | |
1339 | ||
1340 | * switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc | |
1341 | for -gnatd.V. | |
1342 | ||
4d876eb2 | 1343 | 2015-05-22 Arnaud Charlet <charlet@adacore.com> |
1344 | ||
1345 | * gnatvsn.ads: Minor code reorg to remember more easily to update | |
1346 | variables. | |
1347 | ||
e24af32b | 1348 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> |
1349 | ||
1350 | * sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a | |
1351 | limited_with clause on a predefined unit is not transformed into | |
1352 | a regular with_clause, to preserve the original tree structure. | |
1353 | * sinfo.ads (N_With_Clause): Add comment on handling of | |
1354 | Limited_With. | |
1355 | * sem_ch10.adb: Minor reformatting. | |
1356 | ||
1357 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> | |
1358 | ||
1359 | * sem_ch8.adb (Freeze_Profile): A limited view of a type in | |
1360 | the profile of a subprogram renaming does not require freezing, | |
1361 | because it is declared in a different unit. | |
1362 | ||
1363 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> | |
1364 | ||
1365 | * exp_aggr.adb (Get_Constraint_Association): If type (of ancestor | |
1366 | composite type) is private, go to full view. This was previously | |
1367 | done only in an instance context, but is happen whenever a chain | |
1368 | of private extensions includes one inherited discriminant. | |
1369 | ||
b7974341 | 1370 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1371 | ||
1372 | * einfo.ads: Minor comment updates. | |
1373 | * exp_unst.adb: Move Subps table to spec Don't remove old entries | |
1374 | from table Add Last field to record last entry used. | |
1375 | * exp_unst.ads: Move Subps table here from body So that Cprint | |
1376 | can access saved values. | |
1377 | ||
1378 | 2015-05-22 Bob Duff <duff@adacore.com> | |
1379 | ||
1380 | * a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads, | |
1381 | * a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads, | |
1382 | * a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads: | |
1383 | (Pseudo_Reference, Element_Access, Get_Element_Access): New | |
1384 | declarations added for use by performance improvements in exp_ch5.adb. | |
1385 | * snames.ads-tmpl: New names referenced by exp_ch5.adb. | |
1386 | * exp_ch5.adb: Speed up "for ... of" loops for predefined containers. | |
1387 | Instead of doing literally what the RM calls for, we do something | |
1388 | equivalent that avoids expensive operations inside the loop. If the | |
1389 | container package has appropriate Next, Pseudo_Reference, | |
1390 | Element_Access, Get_Element_Access declarations, we invoke the | |
1391 | optimization. | |
1392 | * snames.ads-tmpl: Note speed improvement. | |
1393 | ||
9d3c8b0f | 1394 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> |
1395 | ||
1396 | * einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section. | |
1397 | * xeinfo.adb: Replace a-einfo.h with einfo.h throughout. | |
1398 | Add pattern to translate "or else" into "||". | |
1399 | ||
4bf2acc9 | 1400 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> |
1401 | ||
1402 | * einfo.ads (Has_Volatile_Full_Access): Rename into... | |
1403 | (Is_Volatile_Full_Access): ...this. | |
1404 | (Set_Has_Volatile_Full_Access): Rename into... | |
1405 | (Set_Is_Volatile_Full_Access): ...this. | |
1406 | * einfo.adb (Has_Volatile_Full_Access): Rename into... | |
1407 | (Is_Volatile_Full_Access): ...this. | |
1408 | (Set_Has_Volatile_Full_Access): Rename into... | |
1409 | (Set_Is_Volatile_Full_Access): ...this. | |
1410 | (Is_Atomic_Or_VFA): Adjust to above renaming. | |
1411 | * errout.adb (Special_Msg_Delete): Likewise. | |
1412 | * exp_pakd.adb (Install_PAT): Likewise. | |
1413 | * freeze.adb (Freeze_Array_Type): Likewise. | |
1414 | * sem_ch8.adb (Analyze_Object_Renaming): Likewise. | |
1415 | * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise. | |
1416 | (Inherit_Aspects_At_Freeze_Point): Likewise. | |
1417 | * sem_prag.adb (Set_Atomic_VFA): Likewise. | |
1418 | (Process_Atomic_Independent_Shared_Volatile): Likewise. | |
1419 | * sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise. | |
1420 | ||
2fe893b9 | 1421 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1422 | ||
1423 | * exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb, | |
1424 | freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb, | |
1425 | exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general | |
1426 | change that deals with the fact that most of the special coding for | |
1427 | Atomic should also apply to the case of Volatile_Full_Access. | |
1428 | A new attribute Is_Atomic_Or_VFA is introduced, and many of the | |
1429 | references to Is_Atomic now use this new attribute. | |
1430 | ||
36625869 | 1431 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1432 | ||
1433 | * exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result | |
1434 | comparison. | |
1435 | ||
005366f7 | 1436 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> |
1437 | ||
1438 | * sprint.adb (Source_Dump): When generating debug files, deal | |
1439 | with the case of a stand-alone package instantiation by dumping | |
1440 | together the spec and the body in the common debug file. | |
1441 | ||
1442 | 2015-05-22 Robert Dewar <dewar@adacore.com> | |
1443 | ||
1444 | * sem_ch13.adb (Minimum_Size): Size is zero for null range | |
1445 | discrete subtype. | |
1446 | ||
1447 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> | |
1448 | ||
1449 | * einfo.adb (Anonymous_Master): This attribute now applies | |
1450 | to package and subprogram bodies. | |
1451 | (Set_Anonymous_Master): This attribute now applies to package and | |
1452 | subprogram bodies. | |
1453 | (Write_Field36_Name): Add output for package and subprogram bodies. | |
1454 | * einfo.ads Update the documentation on attribute Anonymous_Master | |
1455 | along with occurrences in entities. | |
1456 | * exp_ch4.adb (Create_Anonymous_Master): Reimplemented to | |
1457 | handle spec and body anonymous masters of the same unit. | |
1458 | (Current_Anonymous_Master): Reimplemented. Handle a | |
1459 | package instantiation that acts as a compilation unit. | |
1460 | (Insert_And_Analyze): Reimplemented. | |
1461 | ||
1462 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> | |
1463 | ||
1464 | * sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a | |
1465 | predefined unit is treated as a regular with_clause. | |
1466 | ||
0388e54e | 1467 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1468 | ||
1469 | * sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb, | |
1470 | prj-conf.adb, sem_disp.adb: Minor reformatting. | |
1471 | ||
1472 | 2015-05-22 Vincent Celier <celier@adacore.com> | |
1473 | ||
1474 | * clean.adb (Parse_Cmd_Line): For native gnatclean, check | |
1475 | for switch -P and, if found and gprclean is available, invoke | |
1476 | silently gprclean. | |
1477 | * make.adb (Initialize): For native gnatmake, check for switch -P | |
1478 | and, if found and gprbuild is available, invoke silently gprbuild. | |
1479 | ||
1480 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> | |
1481 | ||
1482 | * sem_ch13.adb (Validate_Unchecked_Conversions): Also issue | |
1483 | specific warning for discrete types when the source is larger | |
1484 | than the target. | |
1485 | ||
116afa8e | 1486 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> |
1487 | ||
1488 | * einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of | |
1489 | package instantiations. Holds the list of actuals in the instance | |
1490 | that are incomplete types, to determine where the corresponding | |
1491 | instance body must be placed. | |
1492 | * sem_ch6.adb (Conforming_Types): An incomplete type used as an | |
1493 | actual in an instance matches an incomplete formal. | |
1494 | * sem_disp.adb (Check_Dispatching_Call): Handle missing case of | |
1495 | explicit dereference. | |
1496 | (Inherited_Subprograms): In the presence of a limited view there | |
1497 | are no subprograms to inherit. | |
1498 | * sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete | |
1499 | actuals of instance, for later placement of instance body and | |
1500 | freeze nodes for actuals. | |
1501 | (Install_Body): In the presence of actuals that incomplete types | |
1502 | from a limited view, the instance body cannot be placed after | |
1503 | the declaration because full views have not been seen yet. Any | |
1504 | use of the non-limited views in the instance body requires | |
1505 | the presence of a regular with_clause in the enclosing unit, | |
1506 | and will fail if this with_clause is missing. We place the | |
1507 | instance body at the beginning of the enclosing body, which is | |
1508 | the unit being compiled, and ensure that freeze nodes for the | |
1509 | full views of the incomplete types appear before the instance. | |
1510 | ||
1511 | 2015-05-22 Pascal Obry <obry@adacore.com> | |
1512 | ||
1513 | * makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads | |
1514 | (In_Place_Option): Removed. | |
1515 | (Relocate_Build_Tree_Option): New constant. | |
1516 | (Root_Dir_Option): New constant. | |
1517 | (Obj_Root_Dir): Removed. | |
1518 | (Build_Tree_Dir): New variable. | |
1519 | (Root_Src_Tree): Removed. | |
1520 | (Root_Dir): New variable. | |
1521 | * prj-conf.adb (Get_Or_Create_Configuration_File): Add check | |
1522 | for improper relocation. | |
1523 | * prj-nmsc.adb (Locate_Directory): Add check for improper | |
1524 | relocation. | |
1525 | ||
0b3c7856 | 1526 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> |
1527 | ||
e134441f | 1528 | * einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The |
1529 | attribute now applies to the base type. | |
1530 | (Has_Default_Init_Cond): Now applies to the base type. | |
1531 | (Has_Inherited_Default_Init_Cond): Now applies to the base type. | |
1532 | (Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now | |
1533 | applies to the base type. | |
1534 | (Set_Has_Default_Init_Cond): Now applies to the base type. | |
1535 | (Set_Has_Inherited_Default_Init_Cond): Now applies to the base type. | |
1536 | * exp_ch3.adb (Expand_N_Object_Declaration): No need to use the | |
1537 | base type when adding a call to the Default_Initial_Condition. | |
1538 | ||
1539 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> | |
1540 | ||
1541 | * einfo.adb: Node36 is now used as Anonymous_Master. Flag253 | |
0b3c7856 | 1542 | is now unused. |
1543 | (Anonymous_Master): New routine. | |
1544 | (Has_Anonymous_Master): Removed. | |
1545 | (Set_Anonymous_Master): New routine. | |
1546 | (Set_Has_Anonymous_Master): Removed. | |
1547 | (Write_Entity_Flags): Remove the output for Has_Anonymous_Maser. | |
1548 | (Write_Field36_Name): Add output for Anonymous_Master. | |
1549 | * einfo.ads Add new attribute Anonymous_Master along with | |
1550 | occurrences in nodes. Remove attribute Has_Anonymous_Master along | |
1551 | with occurrences in nodes. | |
1552 | (Anonymous_Master): New routine along with pragma Inline. | |
1553 | (Has_Anonymous_Master): Removed along with pragma Inline. | |
1554 | (Set_Anonymous_Master): New routine along with pragma Inline. | |
1555 | (Set_Has_Anonymous_Master): Removed along with pragma Inline. | |
1556 | * exp_ch4.adb (Create_Anonymous_Master): New routine. | |
1557 | (Current_Anonymous_Master): Reimplemented. | |
1558 | ||
7d36c2e2 | 1559 | 2015-05-22 Bob Duff <duff@adacore.com> |
1560 | ||
1561 | * freeze.adb (Freeze_Profile): Suppress warning if imported | |
1562 | subprogram is not at library level. | |
1563 | ||
3039aa41 | 1564 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1565 | ||
1566 | * sem_ch8.adb (Analyze_Object_Renaming): Check for renaming | |
1567 | component of an object to which Volatile_Full_Access applies. | |
1568 | ||
1569 | 2015-05-22 Jerome Guitton <guitton@adacore.com> | |
1570 | ||
1571 | * exp_dbug.ads: Add note about non bit-packed arrays. | |
1572 | ||
1573 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> | |
1574 | ||
1575 | * sem_prag.adb: Fix typo. | |
1576 | * einfo.ads: Grammar fixes in comments. | |
1577 | ||
1578 | 2015-05-22 Bob Duff <duff@adacore.com> | |
1579 | ||
1580 | * a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads, | |
1581 | * a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads, | |
1582 | * a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads, | |
1583 | * a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads, | |
1584 | * a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads, | |
1585 | * a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads, | |
1586 | * a-coinho-shared.ads (Constant_Reference_Type, Reference_Type): | |
1587 | Add an initialization expression "raise Program_Error". See, | |
1588 | for example, RM-A.18.2(148.4). | |
1589 | ||
07c38dd9 | 1590 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1591 | ||
1592 | * debug.adb: Update documentation. | |
1593 | * einfo.ads, einfo.adb (Needs_Typedef): New flag | |
1594 | * exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing | |
1595 | typedef's in C. | |
1596 | * frontend.adb: Update comments. | |
1597 | * gnat1drv.adb (Adjust_Global_Switches): Set all needed flags | |
1598 | for -gnatd.V | |
1599 | * opt.ads (Generate_C_Code): New switch. | |
1600 | * osint-c.adb (Write_C_File_Info): Removed, not used | |
1601 | (Write_H_File_Info): Removed, not used | |
1602 | * osint-c.ads (Write_C_File_Info): Removed, not used | |
1603 | (Write_H_File_Info): Removed, not used | |
1604 | * osint.ads (Write_Info): Minor comment updates. | |
1605 | (Output_FD): Moved from private part to public part of spec. | |
1606 | * sem.adb (Semantics): Force expansion on if in Generate_C_Code | |
1607 | mode. | |
1608 | * atree.ads: minor typo in comment. | |
1609 | * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): | |
1610 | Do not allow VFA on composite object with aliased component. | |
1611 | ||
84703fde | 1612 | 2015-05-22 Arnaud Charlet <charlet@adacore.com> |
1613 | ||
1614 | * osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec. | |
1615 | ||
1616 | 2015-05-22 Pascal Obry <obry@adacore.com> | |
1617 | ||
1618 | * prj-util.adb: Minor comment editing. | |
1619 | ||
ce8ab77a | 1620 | 2015-05-22 Pascal Obry <obry@adacore.com> |
1621 | ||
1622 | * makeutl.ads (In_Place_Option): New constant. | |
1623 | * prj.ads (Obj_Root_Dir): New variable (absolute path to relocate | |
1624 | objects). | |
1625 | (Root_Src_Tree): New variable (absolute path of root source tree). | |
1626 | * prj-conf.adb (Do_Autoconf): Take into account the object root | |
1627 | directory (if defined) to generate configuration project. | |
1628 | * prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir | |
1629 | is defined. | |
1630 | (Locate_Directory): Likewise. | |
1631 | ||
2084869a | 1632 | 2015-05-22 Pascal Obry <obry@adacore.com> |
1633 | ||
1634 | * prj-util.ads, prj-util.adb (Relative_Path): New routine. | |
1635 | ||
b41e7175 | 1636 | 2015-05-22 Bob Duff <duff@adacore.com> |
1637 | ||
1638 | * exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New | |
1639 | interface to return Empty when not found, so we can avoid handling | |
1640 | Program_Error in that case. | |
1641 | (Find_Prim_Op): Fix latent bug: raise Program_Error when there are no | |
1642 | primitives. | |
1643 | * exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the | |
1644 | code is expecting Empty. | |
1645 | * sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling | |
1646 | Program_Error. | |
1647 | ||
09ae61a2 | 1648 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1649 | ||
1650 | * sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb, | |
1651 | sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in | |
1652 | non-binary. | |
1653 | * exp_util.adb: Add comment. | |
1654 | * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to | |
1655 | body. | |
1656 | (Set_File_Name): New name for the above. | |
1657 | (Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info, | |
1658 | Close_C_File, Close_H_File): New procedure. | |
1659 | * osint.adb: Minor reformatting. | |
1660 | * osint.ads: Minor comment updates. | |
1661 | ||
e9793878 | 1662 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1663 | ||
1664 | * exp_ch4.adb: Minor rewording. | |
1665 | * exp_util.ads: Clarify that Find_Prim_Op is only for | |
1666 | tagged types. | |
1667 | ||
00e1556e | 1668 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1669 | ||
1670 | * atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to | |
1671 | Check_Actuals. | |
1672 | * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular | |
1673 | and overflow cases. | |
1674 | ||
5d9051d4 | 1675 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> |
1676 | ||
1677 | * exp_pakd.adb (Install_PAT): Propagate representation aspects | |
1678 | from the original array type to the PAT. | |
1679 | ||
1680 | 2015-05-22 Robert Dewar <dewar@adacore.com> | |
1681 | ||
1682 | * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check. | |
1683 | ||
a4d24d53 | 1684 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1685 | ||
1686 | * atree.adb, atree.ads (Needs_Actuals_Check): New flag. | |
1687 | ||
1e639473 | 1688 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> |
1689 | ||
1690 | * sem_prag.adb (Analyze_Pragma): Remove the detection | |
1691 | of a useless Part_Of indicator when the related item is a constant. | |
1692 | (Check_Matching_Constituent): Do not emit an error on a constant. | |
1693 | (Check_Missing_Part_Of): Do not check for a missing Part_Of indicator | |
1694 | when the related item is a constant. | |
1695 | (Collect_Body_States): Code cleanup. | |
1696 | (Collect_Visible_States): Code cleanup. | |
1697 | (Report_Unused_States): Do not emit an error on a constant. | |
1698 | * sem_util.ads, sem_util.adb (Has_Variable_Input): Removed. | |
1699 | ||
19a2e7b4 | 1700 | 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> |
1701 | ||
1702 | * sem_ch8.adb (Analyze_Object_Renaming): Copy | |
1703 | Has_Volatile_Full_Access from renamed to renaming entities. | |
1704 | * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): | |
1705 | Tidy up and remove redundant setting of Has_Volatile_Full_Access. | |
1706 | ||
1707 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> | |
1708 | ||
1709 | * ghost.adb (Check_Ghost_Completion): Update references to SPARK | |
1710 | RM 6.9 rules. | |
1711 | (Check_Ghost_Policy): Update references to SPARK RM 6.9 rules. | |
1712 | * sem_ch3.adb (Analyze_Object_Declaration): Update references | |
1713 | to SPARK RM 6.9 rules. | |
1714 | (Check_Completion): Ghost entities do not require a special form of | |
1715 | completion. | |
1716 | * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references | |
1717 | to SPARK RM 6.9 rules. | |
1718 | (Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9 | |
1719 | rules. | |
1720 | * sem_ch7.adb (Analyze_Package_Body_Helper): Update references | |
1721 | to SPARK RM 6.9 rules. | |
1722 | (Requires_Completion_In_Body): Ghost entities do not require a special | |
1723 | form of completion. | |
1724 | ||
1725 | 2015-05-22 Robert Dewar <dewar@adacore.com> | |
1726 | ||
1727 | * a-csquin.ads: Use Ada 2012 notation. | |
1728 | * sem_ch8.adb: Minor reformatting. | |
1729 | ||
1730 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> | |
1731 | ||
1732 | * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import | |
1733 | acts as a completion. | |
1734 | ||
e7d733fc | 1735 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> |
1736 | ||
1737 | * sem_ch13.adb: Minor reformatting. | |
1738 | ||
1739 | 2015-05-22 Jose Ruiz <ruiz@adacore.com> | |
1740 | ||
1741 | * a-reatim.adb: Minor change, fix typo. | |
1742 | ||
22e724e8 | 1743 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1744 | ||
1745 | * sem_util.ads: Minor addition of ??? comment. | |
1746 | * sem_prag.adb, sem_util.adb: Minor reformatting. | |
1747 | * sem_ch13.adb: minor reformatting. | |
1748 | ||
2eb0ff42 | 1749 | 2015-05-22 Robert Dewar <dewar@adacore.com> |
1750 | ||
1751 | * a-reatim.ads: Add Compile_Time_Error to ensure Duration | |
1752 | is 64-bits. | |
1753 | * sem_ch13.adb: Improve error message. | |
1754 | * exp_ch4.adb: Minor reformatting. | |
1755 | ||
1756 | 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com> | |
1757 | ||
1758 | * sem_prag.adb (Analyze_Pragma): Constants without variable | |
1759 | input do not require indicator Part_Of. | |
1760 | (Check_Missing_Part_Of): Constants without variable input do not | |
1761 | requrie indicator Part_Of. | |
1762 | (Collect_Visible_States): Constants without variable input are | |
1763 | not part of the hidden state of a package. | |
1764 | * sem_util.ads, sem_util.adb (Has_Variable_Input): New routine. | |
1765 | ||
1766 | 2015-05-22 Robert Dewar <dewar@adacore.com> | |
9faf3011 | 1767 | |
1768 | * exp_util.adb (Activate_Atomic_Synchronization): Do not set | |
1769 | Atomic_Sync_Required for an object renaming declaration. | |
1770 | * sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and | |
1771 | Is_Independent to renaming object. | |
1772 | ||
2eb0ff42 | 1773 | 2015-05-22 Ed Schonberg <schonberg@adacore.com> |
9faf3011 | 1774 | |
1775 | * sem_ch5.adb (Analyze_Iterator_Specification): Diagnose | |
1776 | various illegalities in iterators over arrays and containers: | |
1777 | a) New function Get_Cursor_Type, to verify that the cursor is | |
1778 | not a limited type at the point of iteration. | |
1779 | b) If the container is a constant, an element_iterator is illegal | |
1780 | if the container type does not have a Constant_Indexing aspect. | |
1781 | c) If the iterate function has an in-out controlling parameter, | |
1782 | the container cannot be a constant object. | |
1783 | d) Reject additional cases of iterators over a | |
1784 | discriminant-dependent component of a mutable object. | |
1785 | ||
41215682 | 1786 | 2015-05-21 Hristian Kirtchev <kirtchev@adacore.com> |
1787 | ||
1788 | * einfo.adb (Contract): This attribute now applies to constants. | |
1789 | (Set_Contract): This attribute now applies to constants. | |
1790 | (Write_Field34_Name): Add output for constants. | |
1791 | * einfo.ads Attribute Contract now applies to constants. | |
1792 | * sem_ch3.adb (Analyze_Object_Contract): Constants now have | |
1793 | their Part_Of indicator verified. | |
1794 | * sem_prag.adb (Analyze_Constituent): A constant is now a valid | |
1795 | constituent. | |
1796 | (Analyze_Global_Item): A constant cannot act as an output. | |
1797 | (Analyze_Initialization_Item): Constants are now a valid | |
1798 | initialization item. | |
1799 | (Analyze_Initializes_In_Decl_Part): Rename | |
1800 | global variable States_And_Vars to States_And_Objs and update | |
1801 | all its occurrences. | |
1802 | (Analyze_Input_Item): Constants are now a | |
1803 | valid initialization item. Remove SPARM RM references from error | |
1804 | messages. | |
1805 | (Analyze_Pragma): Indicator Part_Of can now apply to a constant. | |
1806 | (Collect_Body_States): Collect both source constants | |
1807 | and variables. | |
1808 | (Collect_States_And_Objects): Collect both source constants and | |
1809 | variables. | |
1810 | (Collect_States_And_Variables): Rename | |
1811 | to Collect_States_And_Objects and update all its occurrences. | |
1812 | (Collect_Visible_States): Do not collect constants and variables | |
1813 | used to map generic formals to actuals. | |
1814 | (Find_Role): The role of a constant is that of an input. Separate the | |
1815 | role of a variable from that of a constant. | |
1816 | (Report_Unused_Constituents): Add specialized wording for constants. | |
1817 | (Report_Unused_States): Add specialized wording for constants. | |
1818 | * sem_util.adb (Add_Contract_Item): Add processing for constants. | |
1819 | * sem_util.ads (Add_Contract_Item): Update the comment on usage. | |
1820 | (Find_Placement_In_State_Space): Update the comment on usage. | |
1821 | ||
7445ce33 | 1822 | 2015-05-21 Ed Schonberg <schonberg@adacore.com> |
1823 | ||
1824 | * sem_ch5.adb: minor reformatting. | |
1825 | ||
1826 | 2015-05-21 Robert Dewar <dewar@adacore.com> | |
1827 | ||
1828 | * freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages. | |
1829 | ||
f1e0a964 | 1830 | 2015-05-21 Robert Dewar <dewar@adacore.com> |
1831 | ||
1832 | * freeze.adb: Minor reformatting. | |
1833 | * cstand.adb (Print_Standard): Fix bad printing of Duration | |
1834 | low bound. | |
1835 | * a-reatim.adb (Time_Of): Complete rewrite to properly detect | |
1836 | out of range args. | |
1837 | ||
1838 | 2015-05-21 Ed Schonberg <schonberg@adacore.com> | |
1839 | ||
1840 | * sem_ch5.adb: add (useless) initial value. | |
1841 | * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): | |
1842 | Check whether the procedure has parameters before processing | |
1843 | formals in ASIS mode. | |
1844 | ||
05f6f999 | 1845 | 2015-05-21 Ed Schonberg <schonberg@adacore.com> |
1846 | ||
1847 | * sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator | |
1848 | aspect as well when indexing function is illegal. | |
1849 | (Valid_Default_Iterator): Handle properly somme illegal cases | |
1850 | to prevent compilation abandoned messages. | |
1851 | (Check_Primitive_Function): Verify that type and indexing function | |
1852 | are in the same scope. | |
1853 | * freeze.adb (Freeze_Record): Extend patch on the presence of | |
1854 | indexing aspects to aspect Default_Iterator. | |
1855 | ||
551e34da | 1856 | 2015-05-19 David Malcolm <dmalcolm@redhat.com> |
1857 | ||
1858 | * gcc-interface/trans.c (Sloc_to_locus1): Strenghthen local "map" | |
1859 | from line_map * to line_map_ordinary *. | |
1860 | ||
9d247a3d | 1861 | 2015-05-12 Jason Merrill <jason@redhat.com> |
1862 | ||
1863 | * sigtramp-vxworks.c: Add space between string literal and macro | |
1864 | name. | |
1865 | ||
805b8868 | 1866 | 2015-05-12 Arnaud Charlet <charlet@adacore.com> |
1867 | ||
1868 | * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups | |
1869 | ||
528630bb | 1870 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> |
1871 | ||
1872 | * sem_ch5.adb (Analyze_Iterator_Specifications): Additional | |
1873 | legality checks for array and container iterators: | |
1874 | a) The domain of iteration cannot be a component that depends | |
1875 | on discriminants of a mutable object. The check was recently | |
1876 | added for element iterators. | |
1877 | b) The cursor type cannot be a limited type at the point of the | |
1878 | iteration, because the cursor will be assigned to in the body | |
1879 | of the loop. | |
1880 | ||
1881 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
1882 | ||
1883 | * freeze.adb (Freeze_Record_Type): Make sure that if we have | |
1884 | aspect Iterator_Element, then we have either Constant_Indexing | |
1885 | or Variable_Indexing. | |
1886 | ||
cf8fe84b | 1887 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> |
1888 | ||
1889 | * a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type, | |
1890 | and Reference_Control_Type to support element iterators over | |
1891 | ordered multisets. | |
1892 | * a-ciormu.ads, a-ciormu.adb: Ditto for | |
1893 | indefinite_ordered_multisets. | |
1894 | ||
1895 | 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> | |
1896 | ||
1897 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Force | |
1898 | the evaluation of the EWA expression. Code cleanup. | |
1899 | (Process_Transient_Object): Code cleanup. | |
1900 | * exp_util.adb (Is_Aliased): Controlled transient objects found | |
1901 | within EWA nodes are not aliased. | |
1902 | (Is_Finalizable_Transient): Iterators are not finalizable transients. | |
1903 | ||
16694783 | 1904 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
1905 | ||
1906 | * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): | |
1907 | Don't allow Atomic and Volatile_Full_Access for the same entity. | |
1908 | ||
1909 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
1910 | ||
1911 | * sem_ch5.adb (Analyze_Iterator_Specification): Implement new | |
1912 | semantics and safety checks specified in AI12-0151. | |
1913 | ||
a90c6b20 | 1914 | 2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com> |
1915 | ||
1916 | * sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs | |
1917 | for subunit in generic units. | |
1918 | ||
1919 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
1920 | ||
1921 | * sem_elab.adb (Check_A_Call): Avoid checking internal call | |
1922 | from Valid_Scalars | |
1923 | ||
1924 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
1925 | ||
1926 | * sem_ch6.adb (Process_Formals): An untagged incomplete type | |
1927 | is legal in the profile of a null procedure. | |
1928 | ||
1929 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
1930 | ||
1931 | * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly | |
1932 | the checks on a derived formal whose parent type is a previous | |
1933 | formal that is not a derived type. | |
1934 | ||
1935 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
1936 | ||
1937 | * aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access | |
1938 | * einfo.adb (Has_Volatile_Full_Access): New flag. | |
1939 | (Has_Volatile_Full_Access): New flag. | |
1940 | * einfo.ads (Has_Volatile_Full_Access): New flag. | |
1941 | * par-prag.adb: Add dummy entry for Volatile_Full_Access. | |
1942 | * sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access): | |
1943 | Implement new pragma. | |
1944 | * snames.ads-tmpl: Add entries for pragma Volatile_Full_Access. | |
1945 | ||
1946 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
1947 | ||
1948 | * targparm.ads: Minor reformatting. | |
1949 | ||
1950 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
1951 | ||
1952 | * a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0. | |
1953 | * a-reatim.ads: Minor reformatting. | |
1954 | ||
eb8aeefc | 1955 | 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> |
1956 | ||
6475ce8a | 1957 | * einfo.ads: Update the documentation of flags |
1958 | Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond. | |
1959 | ||
1960 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
1961 | ||
1962 | * impunit.adb: Add entry for a-dhfina.ads | |
1963 | * a-dhfina.ads: New file. | |
1964 | ||
1965 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
1966 | ||
1967 | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array | |
1968 | type has convention Fortran, a multidimensional iterator varies | |
1969 | the first dimension fastest. | |
1970 | ||
1971 | 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> | |
1972 | ||
1973 | * einfo.adb: Node32 is now used as Encapsulating_State. | |
eb8aeefc | 1974 | Node37 is now used as Associated_Entity. |
1975 | (Associated_Entity): New routine. | |
6475ce8a | 1976 | (Encapsulating_State): Update the assertion guard to include constants. |
eb8aeefc | 1977 | (Set_Associated_Entity): New routine. |
1978 | (Set_Encapsulating_State): Update the assertion guard to | |
1979 | include constants. | |
1980 | (Write_Field10_Name): Remove the output for Encapsulating_State. | |
1981 | (Write_Field32_Name): Add output for Encapsulating_State. | |
1982 | (Write_Field37_Name): Add output for Associated_Entity. | |
1983 | * einfo.ads New attribute Associated_Entity along with placement | |
1984 | in entities. Attribute Encapsulating_State now uses Node32. | |
1985 | (Associated_Entity): New routine along with pragma Inline. | |
1986 | (Set_Associated_Entity): New routine along with pragma Inline. | |
1987 | * inline.ads Code reformatting. | |
1988 | * sem_attr.adb (Analyze_Attribute): Correct the prefix of | |
1989 | attribute 'Result when the context is a generic instantiation. | |
1990 | (Analyze_Attribute_Old_Result): Pragmas Depends and | |
1991 | Refined_Depends are a valid context for attribute 'Result. | |
1992 | (Denote_Same_Function): Allow attribute 'Result to denote | |
1993 | generic functions. | |
1994 | * sem_ch3.adb Add with and use clauses for Sem_Ch12. | |
1995 | (Analyze_Declarations): Capture global references within the | |
1996 | contracts of packages, subprograms and their respective bodies. | |
1997 | * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed. | |
1998 | (Analyze_Completion_Contract): Removed. | |
1999 | (Analyze_Generic_Subprogram_Body): Enchange the aspects after | |
2000 | creating the generic copy. Create a generic contract for the | |
2001 | template. Analyze the aspects of the generic body. Analyze the | |
2002 | contract of the generic body when it is a compilation unit and | |
2003 | capture global references. | |
2004 | (Analyze_Subprogram_Body_Contract): Code cleanup. | |
2005 | (Analyze_Subprogram_Contract): Do not save global references here. | |
2006 | (Save_Global_References_In_List): Removed. | |
2007 | * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup. | |
2008 | (Analyze_Package_Body_Helper): Create a generic contract for | |
2009 | the template. | |
2010 | (Analyze_Package_Contract): Code cleanup. | |
2011 | * sem_ch10.adb Add with and use clauses for Sem_Ch12. | |
2012 | (Analyze_Compilation_Unit): Capture global references in a | |
2013 | generic subprogram declaration that acts as a compilation unit. | |
2014 | * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate | |
2015 | the implementation of generic contracts. Alphabetize various | |
2016 | subprograms. | |
2017 | (Analyze_Generic_Package_Declaration): | |
2018 | Create a generic contract for the template. | |
2019 | (Analyze_Generic_Subprogram_Declaration): Create a generic | |
2020 | contract for the template. | |
2021 | (Analyze_Subprogram_Instantiation): Instantiate the contract of the | |
2022 | subprogram. | |
2023 | (Copy_Generic_Node): Link defining entities of the generic template | |
2024 | with the corresponding defining entities of the generic copy. Update | |
2025 | the processing of pragmas. | |
2026 | (Instantiate_Contract): Removed. | |
2027 | (Instantiate_Subprogram_Contract): New routine. | |
2028 | (Requires_Delayed_Save): New routine. | |
2029 | (Save_Global_References): Rename formal parameter N to Templ. Various | |
2030 | cleanups. | |
2031 | (Save_Global_References_In_Aspects): Moved from the spec. | |
2032 | (Save_Global_References_In_Contract): New routine. | |
2033 | (Save_References_In_Aggregate): New routine. | |
2034 | (Save_References_In_Char_Lit_Or_Op_Symbol): New routine. | |
2035 | (Save_References_In_Descendants): New routine. | |
2036 | (Save_References_In_Identifier): New routine. | |
2037 | (Save_References_In_Operator): New routine. | |
2038 | (Save_References_In_Pragma): New routine. | |
2039 | * sem_ch12.ads (Save_Global_References): Rename formal | |
2040 | parameter N to Templ. Update the comment on usage. | |
2041 | (Save_Global_References_In_Aspects): Moved to the body. | |
2042 | (Save_Global_References_In_Contract): New routine. | |
2043 | * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): | |
2044 | New routine. | |
2045 | * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): | |
2046 | New routine. | |
2047 | * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for | |
2048 | generic parameters. | |
2049 | (Analyze_Contract_Cases_In_Decl_Part): Code cleanup. | |
2050 | (Analyze_Depends_Global): New routine. | |
2051 | (Analyze_Depends_In_Decl_Part): Code cleanup. | |
2052 | (Analyze_Global_In_Decl_Part): Code cleanup. | |
2053 | (Analyze_Global_Item): Constants are now valid global items. Do | |
2054 | not perform state-related checks in an instance. Change the way | |
2055 | renamings are handled. (Analyze_Initial_Condition_In_Decl_Part): | |
2056 | Code cleanup. | |
2057 | (Analyze_Initializes_In_Decl_Part): Code cleanup. | |
2058 | (Analyze_Input_Output): The analysis of attribute 'Result in | |
2059 | the context of pragmas Depends or Refined_Depends now reuses | |
2060 | the existing attribute analysis machinery. Constants and | |
2061 | generic parameters are now valid dependency items. Do not | |
2062 | perform state-related checks in an instance. Change the way | |
2063 | renamings are handled. (Analyze_Pragma): Add a "characteristics" | |
2064 | section for pragmas Abstract_State, Contract_Cases, Depends, | |
2065 | Extensions_Visible, Global, Initial_Condition, Initializes, | |
2066 | Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition, | |
2067 | Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case. | |
2068 | (Analyze_Pre_Post_Condition): Do not create a generic | |
2069 | template here. | |
2070 | (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. | |
2071 | (Analyze_Refined_Depends_Global_Post): New routine. | |
2072 | (Analyze_Refined_Depends_In_Decl_Part): Code cleanup. | |
2073 | (Analyze_Refined_Global_In_Decl_Part): Code cleanup. | |
2074 | (Analyze_Refined_Pragma): Removed. | |
2075 | (Analyze_Refined_State_In_Decl_Part): Code cleanup. | |
2076 | (Analyze_Test_Case_In_Decl_Part): Code cleanup. | |
2077 | (Check_Dependency_Clause): Do not perform this check in an instance. | |
2078 | (Check_Function_Return): Add support for generic functions. | |
2079 | (Check_In_Out_States): Do not perform this check in an instance. | |
2080 | (Check_Input_States): Do not perform this check in an instance. | |
2081 | (Check_Mode_Restriction_In_Function): Add support for generic functions. | |
2082 | (Check_Output_States): Do not perform this check in an instance. | |
2083 | (Check_Postcondition_Use_In_Inlined_Subprogram): Rename | |
2084 | parameter Subp_Id to Spec_Id and update comment on usage. | |
2085 | (Check_Proof_In_States): Do not perform this check in an instance. | |
2086 | (Check_Refined_Global_Item): Add support for constants. | |
2087 | (Check_Refined_Global_List): Do not perform this check in an instance. | |
2088 | (Collect_Global_Items): Reimplemented. | |
2089 | (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters. | |
2090 | (Create_Generic_Template): Removed. | |
2091 | (Find_Related_Package_Or_Body): Moved to spec. | |
2092 | (Find_Role): Add support for generic parameters and constants. | |
2093 | (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id. | |
2094 | (Match_Item): Add support for constants. | |
2095 | (Preanalyze_Test_Case_Arg): Reimplemented. | |
2096 | (Report_Extra_Clauses): Do not perform this check in an instance. | |
2097 | (Report_Extra_Constituents): Do not perform this check in an instance. | |
2098 | * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update | |
2099 | the comment on usage. | |
2100 | (Find_Related_Package_Or_Body): Moved from body. | |
2101 | (Get_Argument): Moved from body. | |
2102 | * sem_util.adb Add with and use clauses for Sem_Ch12. | |
2103 | (Corresponding_Spec_Of): Add support for packages and package bodies. | |
2104 | (Create_Generic_Contract): New routine. | |
2105 | (Is_Contract_Annotation): Reimplemented. | |
2106 | (Is_Generic_Declaration_Or_Body): New routine. | |
2107 | (Is_Package_Contract_Annotation): New routine. | |
2108 | (Is_Subprogram_Contract_Annotation): New routine. | |
2109 | * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage. | |
2110 | (Create_Generic_Contract): New routine. | |
2111 | (Is_Generic_Declaration_Or_Body): New routine. | |
2112 | (Is_Package_Contract_Annotation): New routine. | |
2113 | (Is_Subprogram_Contract_Annotation): New routine. | |
2114 | * sinfo.adb (Is_Generic_Contract_Pragma): New routine. | |
2115 | (Set_Is_Generic_Contract_Pragma): New routine. | |
2116 | * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along | |
2117 | with occurrences in nodes. | |
2118 | (Is_Generic_Contract_Pragma): New routine along with pragma Inline. | |
2119 | (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline. | |
2120 | * treepr.adb (Print_Entity_Info): Output fields 36 to 41. | |
2121 | ||
2122 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2123 | ||
2124 | * a-taster.ads: Minor comment fix: fix bad header, this is a | |
2125 | pure RM unit. | |
2126 | ||
e556831e | 2127 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2128 | ||
2129 | * sem_intr.adb: (Check_Shift): Diagnose bad modulus value. | |
2130 | ||
2131 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2132 | ||
2133 | * gnat1drv.adb (Adjust_Global_Switches): Default to suppressing | |
2134 | Alignment_Checks on non-strict alignment machine. | |
2135 | * sem_ch13.adb (Validate_Address_Clauses): Don't give | |
2136 | compile-time alignment warnings if run time Alignment_Check | |
2137 | is suppressed. | |
2138 | ||
98a786e6 | 2139 | 2015-05-12 Thomas Quinot <quinot@adacore.com> |
2140 | ||
2141 | * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications. | |
2142 | Data_Rate): New literals B75, B110, B150, B300, B600. | |
2143 | ||
2144 | 2015-05-12 Doug Rupp <rupp@adacore.com> | |
2145 | ||
2146 | * init.c (__gnat_init_float) [vxworks]: For e500v2, | |
2147 | do nothing and leave the responsibility to install the handler | |
2148 | and enable the exceptions to the BSP. | |
2149 | ||
2b108e18 | 2150 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2151 | ||
2152 | * sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting. | |
2153 | * sem_disp.adb: Minor code reorganization (remove junk redundant | |
2154 | null statement). | |
2155 | * exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel | |
2156 | references to bounds of types coming from original type reference. | |
2157 | * checks.ads: Minor reformatting. | |
2158 | * checks.adb: Minor reformatting. | |
2159 | * sem_prag.adb (Analyze_Pragma, case Check): If in ignored | |
2160 | assertion, then make sure we do not drag in bignum stuff. | |
2161 | ||
b723448e | 2162 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> |
2163 | ||
2164 | * sem_ch9.adb (Collect_Interfaces): Initialize | |
2165 | Direct_Primitive_Operations for a tagged synchronized type, | |
2166 | so it can used in ASIS mode. | |
2167 | * sem_disp.adb (Check_Dispatching_Operation): If expansion is | |
2168 | disabled, attach subprogram to list of Direct_Primitive_Operations | |
2169 | of synchronized type itself, for ASIS use, because in this case | |
2170 | Corresponding_Record_Type is not built. | |
2171 | * einfo.ads: Indicate use of Direct_Primitive_Operations on | |
2172 | synchronized type. | |
2173 | ||
515e45ef | 2174 | 2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com> |
2175 | ||
2176 | * exp_pakd.adb: Make clearer the comment in exp_pakd.adb about | |
2177 | ___XP suffixes. | |
2178 | ||
2179 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2180 | ||
2181 | * sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting. | |
2182 | ||
2183 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2184 | ||
2185 | * exp_unst.adb (Visit_Node): Deal with subprogram and package stubs. | |
2186 | ||
2187 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2188 | ||
2189 | * exp_intr.adb (Expand_Dispatching_Constructor_Call): The | |
2190 | tag to be retrieved for the generated call is the first entry | |
2191 | in the dispatch table for the return type of the instantiated | |
2192 | constructor. | |
2193 | ||
2194 | 2015-05-12 Bob Duff <duff@adacore.com> | |
2195 | ||
2196 | * exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb, | |
2197 | exp_util.ads: Update comments. | |
2198 | ||
ec10faaa | 2199 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> |
2200 | ||
2201 | * sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate | |
2202 | freeze nodes for these in ASIS mode, because they lead to | |
2203 | elaoration order issues in gigi. | |
2204 | ||
2205 | 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> | |
2206 | ||
2207 | * sem_ch6.adb (Analyze_Expression_Function): Code | |
2208 | cleanup. Use Copy_Subprogram_Spec to create a proper spec. | |
2209 | (Analyze_Subprogram_Body_Helper): Code cleanup. Do not | |
2210 | prepare a stand alone body for inlining in GNATprove mode | |
2211 | when inside a generic. (Body_Has_Contract): Reimplemented. | |
2212 | (Build_Subprogram_Declaration): New routine. | |
2213 | * sem_ch10.adb (Analyze_Compilation_Unit): Capture global | |
2214 | references within generic bodies by loading them. | |
2215 | * sem_util.adb (Copy_Parameter_List): Code cleanup. | |
2216 | (Copy_Subprogram_Spec): New routine. | |
2217 | (Is_Contract_Annotation): New routine. | |
2218 | * sem_util.ads (Copy_Subprogram_Spec): New routine. | |
2219 | (Is_Contract_Annotation): New routine. | |
2220 | ||
2221 | 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> | |
2222 | ||
2223 | * sem_attr.adb (Resolve_Attribute): Do not analyze the generated | |
2224 | body of an expression function when the prefix of attribute | |
2225 | 'Access is the body. | |
2226 | ||
81c2bc19 | 2227 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> |
2228 | ||
2229 | * sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base | |
2230 | created for a derived enumeration type is not a first subtype, | |
2231 | even though it is defined through a full type declaration. | |
2232 | * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process | |
2233 | aspects for the anonymous base type constructed for a derived | |
2234 | scalar type, because they will be set when the first subtype | |
2235 | is frozen. | |
2236 | (Inherit_Aspects_At_Freeze_Point): Fix typos on handling of | |
2237 | Default_Value and Default_Component_Value, that prevented the | |
2238 | proper inheritance of these aspects. | |
2239 | ||
2240 | 2015-05-12 Gary Dismukes <dismukes@adacore.com> | |
2241 | ||
2242 | * exp_ch6.adb, exp_unst.adb: Minor typo fixes. | |
2243 | ||
7e5a1da6 | 2244 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2245 | ||
2246 | * sem_ch3.adb: Minor reformatting. | |
2247 | ||
2248 | 2015-05-12 Vincent Celier <celier@adacore.com> | |
2249 | ||
2250 | * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with | |
2251 | -P, then check if gprbuild (gprclean) is available; if it is, | |
2252 | use gprbuild (gprclean) instead of gnatmake (gnatclean). | |
2253 | ||
2254 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2255 | ||
2256 | * debug.adb: Add flag -gnatd.3 to output diagnostic info from | |
2257 | Exp_Unst. | |
2258 | * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by | |
2259 | Exp_Unst. | |
2260 | * exp_ch6.adb (Unest_Bodies): Table for delayed calls to | |
2261 | Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table | |
2262 | for later call instead of calling Unnest_Subprogram directly | |
2263 | (Initialize): New procedure (Unnest_Subprograms): New procedure | |
2264 | * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper | |
2265 | alpha order. | |
2266 | (Initialize): New procedure. | |
2267 | (Unnest_Subprograms): New procedure. | |
2268 | * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving | |
2269 | all processing to this routine which is now called late | |
2270 | after instantiating bodies. Fully handles the case of generic | |
2271 | instantiations now. | |
2272 | * exp_unst.ads: Major rewrite, moving all processing to | |
2273 | Unnest_Subprogram. | |
2274 | * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize. | |
2275 | (Frontend): Add call to Unnest_Subprograms. | |
2276 | * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence | |
2277 | for Check_Nested_Access. | |
2278 | * sem_util.adb (Build_Default_Subtype): Minor reformatting | |
2279 | (Check_Nested_Access): Back to original VM-only form (we | |
2280 | now do all the processing for Unnest_Subprogram at the time | |
2281 | it is called. | |
2282 | (Denotes_Same_Object): Minor reformatting | |
2283 | (Note_Possible_Modification): Old calling sequence for | |
2284 | Check_Nested_Access. | |
2285 | * sem_util.ads (Check_Nested_Access): Back to original VM-only | |
2286 | form (we now do all the processing for Unnest_Subprogram at the | |
2287 | time it is called. | |
2288 | ||
9869fa91 | 2289 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2290 | ||
2291 | * sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting. | |
2292 | ||
8598cafb | 2293 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> |
2294 | ||
2295 | * sem_ch3.adb (Analyze_Object_Declaration): New function | |
2296 | Has_Delayed_Aspect, used to defer resolution of an aggregate | |
2297 | expression when the object declaration carries aspects Address | |
2298 | and/or Alignment. | |
2299 | * freeze.adb (Freeze_Object_Declaration): New subsidiary procedure | |
2300 | to Freeze_Entity. In addition to the previous processing steps | |
2301 | at the freeze point of an object, this procedure also handles | |
2302 | aggregates in object declarations, when the declaration carries | |
2303 | delayed aspects that require that the initialization of the | |
2304 | object be attached to its freeze actions. | |
2305 | ||
2306 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2307 | ||
2308 | * sem_ch6.adb (Analyze_Subprogram_Declaration): Following | |
2309 | AI12-0147, null procedures and expression functions are allowed | |
2310 | in protected bodies. | |
2311 | ||
768fcd13 | 2312 | 2015-05-12 Tristan Gingold <gingold@adacore.com> |
2313 | ||
2314 | * i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0. | |
2315 | ||
2316 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2317 | ||
2318 | * sem_ch3.adb (Complete_Private_Subtype): Propagate | |
2319 | Has_Delayed_Aspects flag from private to full view, to ensure | |
2320 | that predicate functions are constructed. | |
2321 | ||
2322 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2323 | ||
2324 | * sem_ch6.adb (Process_Formals): If a tagged formal is an | |
2325 | incomplete class-wide type, the subprogram must have a delayed | |
2326 | freeze even though the opertation is not a primitive of the | |
2327 | type. THis ensures that the backend can recover the full view | |
2328 | when elaborating the subprogram declaration. | |
2329 | ||
2330 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2331 | ||
2332 | * exp_util.adb (Get_Current_Value_Condition): Nothing to be | |
2333 | done if an elsif part has been rewritten so that it is not part | |
2334 | of an enclosing if_statement. | |
2335 | ||
542823a9 | 2336 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2337 | ||
2338 | * sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb: | |
2339 | Minor reformatting. | |
2340 | ||
2341 | 2015-05-12 Bob Duff <duff@adacore.com> | |
2342 | ||
2343 | * exp_attr.adb (Size): Remove unnecessary check for types with | |
2344 | unknown discriminants. That was causing the compiler to build | |
2345 | a function call _size(T), where T is a type, not an object. | |
2346 | ||
2347 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2348 | ||
2349 | * sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding | |
2350 | primitive operations of a type extension declared in the package | |
2351 | body, to prevent duplicates in extended list. | |
2352 | ||
2353 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2354 | ||
2355 | * sem_ch3.adb (Analyze_Component_Declaration): If the component is | |
2356 | an unconstrained synchronized type with discriminants, create a | |
2357 | constrained default subtype for it, so that the enclosing record | |
2358 | can be given the proper size. | |
2359 | * sem_util.adb (Build_Default_Subtype): If the subtype is created | |
2360 | for a record discriminant, do not analyze the declarztion at | |
2361 | once because it is added to the freezing actions of the enclosing | |
2362 | record type. | |
2363 | ||
40993cdb | 2364 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2365 | ||
2366 | * exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as | |
2367 | Null statements. | |
2368 | * namet.ads (Boolean3): Document this flag used for Ignore_Pragma. | |
2369 | * par-prag.adb (Prag): Implement Ignore_Pragma. | |
2370 | * sem_prag.adb: Implement Ignore_Pragma. | |
2371 | * snames.ads-tmpl: Add entries for pragma Ignore_Pragma. | |
2372 | ||
2373 | 2015-05-12 Javier Miranda <miranda@adacore.com> | |
2374 | ||
2375 | * sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow | |
2376 | entity with its corresponding real entity. | |
2377 | (Decorate_Type): Unconditionally build the class-wide shadow entity of | |
2378 | tagged types. | |
2379 | * einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized | |
2380 | attribute. | |
2381 | (Non_Limited_View): Moved from field 17 to field 19 be available | |
2382 | in class-wide entities. | |
2383 | * exp_attr.adb (Access_Cases): Code cleanup. | |
2384 | * exp_disp.adb (Expand_Interface_Actuals): Ditto. | |
2385 | * exp_util.adb (Non_Limited_Designated_Type): Ditto. | |
2386 | * freeze.adb (Build_Renamed_Bdody): Ditto. | |
2387 | * sem_aux.adb (Available_View): Ditto. | |
2388 | * sem_ch4.adb (Analyze_Selected_Component): Ditto. | |
2389 | (Try_One_Prefix_Interpretation): Ditto. | |
2390 | * sem_ch5.adb (Analyze_Assignment): Ditto. | |
2391 | * sem_ch6.adb (Detect_And_Exchange): Ditto. | |
2392 | * sem_ch8.adb (Find_Expanded_Name): Ditto. | |
2393 | * sem_disp.adb (Check_Controlling_Type): Ditto. | |
2394 | * sem_res.adb (Resolve_Type_Conversion): Ditto. | |
2395 | (Full_Designated_Type): Ditto. | |
2396 | * sem_type.adb (Covers): Ditto. | |
2397 | * sem_util.adb: Fix typo in comment. | |
2398 | ||
96e41b00 | 2399 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2400 | ||
2401 | * exp_unst.adb (Get_Real_Subp): New subprogram. | |
2402 | (Unnest_Subprogram): Use Get_Real_Subp. | |
2403 | (Uplev_Refs_For_One_Subp): Skip if no ARECnU entity. | |
2404 | (Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case. | |
2405 | ||
2406 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2407 | ||
2408 | * a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1. | |
2409 | ||
2410 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2411 | ||
2412 | * sem_ch4.adb (Extended_Primitive_Ops): New subprogram, | |
2413 | auxiliary to Try_Primitive_Operation to handle properly prefixed | |
2414 | calls where the operation is not a primitive of the type, but | |
2415 | is declared in the package body that is in the immediate scope | |
2416 | of the type. | |
2417 | ||
42833c7b | 2418 | 2015-05-12 Robert Dewar <dewar@adacore.com> |
2419 | ||
2420 | * sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable. | |
2421 | ||
2422 | 2015-05-12 Ed Schonberg <schonberg@adacore.com> | |
2423 | ||
2424 | * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully | |
2425 | qualified name for an instance of a generic grand-child unit in | |
2426 | the body its parent. | |
2427 | ||
2428 | 2015-05-12 Robert Dewar <dewar@adacore.com> | |
2429 | ||
2430 | * exp_unst.adb (Upref_Name): New subprogram. | |
2431 | (Unnest_Subprogram): Use Upref_Name. | |
2432 | (Unnest_Subprogram): Use new Deref attribute. | |
2433 | * exp_unst.ads: Doc updates. | |
2434 | ||
2435 | 2015-05-12 Thomas Quinot <quinot@adacore.com> | |
2436 | ||
2437 | * adaint.c: Enable Large File Support in adaint so that __gnat_readdir | |
2438 | can access files on filesystems mounted from servers that use large | |
2439 | NFS file handles. | |
2440 | ||
a11ea431 | 2441 | 2015-05-09 Eric Botcazou <ebotcazou@adacore.com> |
2442 | ||
2443 | * gcc-interface/utils.c (gnat_write_global_declarations): Use type_decl | |
2444 | method instead of global_decl for TYPE_DECLs. | |
2445 | ||
b1891a46 | 2446 | 2015-04-27 Jim Wilson <jim.wilson@linaro.org> |
2447 | ||
2448 | * gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind | |
2449 | and gnat1. | |
2450 | ||
6421f608 | 2451 | 2015-04-13 Eric Botcazou <ebotcazou@adacore.com> |
2452 | ||
2453 | * gnatvsn.ads (Library_Version): Bump to 6. | |
2454 | ||
1b2b8825 | 2455 | 2015-04-09 Iain Sandoe <iain@codesourcery.com> |
2456 | ||
2457 | * gcc-interface/Makefile.in (darwin, powerpc): Enable atomics. | |
2458 | ||
95de51be | 2459 | 2015-04-08 Eric Botcazou <ebotcazou@adacore.com> |
2460 | ||
2461 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make | |
2462 | a function returning an unconstrained type 'const' for the middle-end. | |
2463 | ||
2464 | * gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use | |
2465 | exact condition to detect Reason => "..." pattern. | |
2466 | ||
490c8090 | 2467 | 2015-03-31 Tom de Vries <tom@codesourcery.com> |
2468 | ||
2469 | PR ada/65490 | |
2470 | * terminals.c (child_setup_tty): Fix warning 'argument to sizeof in | |
2471 | bzero call is the same expression as the destination'. | |
2472 | ||
3f825093 | 2473 | 2015-03-26 Eric Botcazou <ebotcazou@adacore.com> |
2474 | ||
2475 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case. | |
2476 | ||
953e932d | 2477 | 2015-03-24 Gary Dismukes <dismukes@adacore.com> |
2478 | ||
2479 | * sem_ch3.adb: Minor typo fix (missing paren). | |
2480 | ||
2481 | 2015-03-24 Robert Dewar <dewar@adacore.com> | |
2482 | ||
2483 | * sinfo.ads: Update comment. | |
2484 | ||
2485 | 2015-03-24 Robert Dewar <dewar@adacore.com> | |
2486 | ||
2487 | * exp_attr.adb: Add entry for typ'Deref. | |
2488 | * sem_attr.adb (Deref): New GNAT attribute. | |
2489 | * sem_attr.ads: Add entry for new GNAT attribute Deref. | |
2490 | * snames.ads-tmpl: Add entries for new attribute Deref. | |
2491 | ||
e17c5076 | 2492 | 2015-03-24 Ed Schonberg <schonberg@adacore.com> |
2493 | ||
2494 | * sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention | |
2495 | on generic type. | |
2496 | ||
2497 | 2015-03-24 Gary Dismukes <dismukes@adacore.com> | |
2498 | ||
2499 | * inline.adb: Minor typo fix. | |
2500 | ||
9eae7e2d | 2501 | 2015-03-24 Arnaud Charlet <charlet@adacore.com> |
2502 | ||
2503 | * doc/gnat_ugn/building_executable_programs_with_gnat.rst, | |
2504 | doc/gnat_ugn/gnat_utility_programs.rst | |
2505 | doc/gnat_rm/implementation_defined_attributes.rst | |
2506 | doc/gnat_rm/implementation_defined_pragmas.rst | |
2507 | doc/gnat_rm/representation_clauses_and_pragmas.rst | |
2508 | doc/gnat_rm/about_this_guide.rst | |
2509 | doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements. | |
2510 | * gnat_rm.texi, gnat_ugn.texi: Regenerate. | |
2511 | ||
3dc4e652 | 2512 | 2015-03-23 Jakub Jelinek <jakub@redhat.com> |
2513 | ||
2514 | PR bootstrap/65522 | |
2515 | * adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC. | |
2516 | ||
9c3bb3a6 | 2517 | 2015-03-20 Eric Botcazou <ebotcazou@adacore.com> |
2518 | ||
2519 | PR ada/65451 | |
2520 | * gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment. | |
2521 | Make sure to chain only main variants through TYPE_NEXT_PTR_TO. | |
2522 | ||
2523 | * gcc-interface/trans.c (Attribute_to_gnu): Revert latest change. | |
2524 | ||
ad999c1c | 2525 | 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
2526 | ||
2527 | * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type | |
2528 | of the expression ends up being composite. | |
2529 | ||
94f867e5 | 2530 | 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
2531 | ||
2532 | * gcc-interface/decl.c (is_from_limited_with_of_main): New predicate. | |
2533 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and | |
2534 | parameter types to detect circularities in ASIS mode. | |
2535 | * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151. | |
2536 | ||
13194e93 | 2537 | 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> |
2538 | ||
2539 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not | |
2540 | short-circuit the regular handling. | |
2541 | ||
8efb0c9d | 2542 | 2015-03-13 Robert Dewar <dewar@adacore.com> |
2543 | ||
2544 | * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate | |
2545 | references. | |
2546 | (Actual_Ref): New function. | |
2547 | (AREC_String): Minor reformatting. | |
2548 | (Unnest_Subprogram): Use Actual_Ref. | |
2549 | * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode | |
2550 | before call to Instantiate_Bodies. | |
2551 | ||
2552 | 2015-03-13 Ed Schonberg <schonberg@adacore.com> | |
2553 | ||
2554 | * freeze.adb (Freeze_Profile): If the return type of a function | |
2555 | being frozen is an untagged limited view and the function is | |
2556 | abstract, mark the type as frozen because there is no later | |
2557 | point at which the profile of the subprogram will be elaborated. | |
2558 | ||
2559 | 2015-03-13 Robert Dewar <dewar@adacore.com> | |
2560 | ||
2561 | * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh | |
2562 | component to entities. Add new fields Field36-41 and Node36-41. | |
2563 | ||
2564 | 2015-03-13 Claire Dross <dross@adacore.com> | |
2565 | ||
2566 | * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review. | |
2567 | ||
2568 | 2015-03-13 Robert Dewar <dewar@adacore.com> | |
2569 | ||
2570 | * exp_util.adb (Is_Volatile_Reference): Compile time known | |
2571 | value is never considered to be a volatile reference. | |
2572 | ||
2573 | 2015-03-13 Robert Dewar <dewar@adacore.com> | |
2574 | ||
2575 | * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant | |
2576 | cannot be volatile" for internally generated object (such as | |
2577 | FIRST and LAST constants). | |
2578 | ||
2579 | 2015-03-13 Ed Schonberg <schonberg@adacore.com> | |
2580 | ||
2581 | * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a | |
2582 | convention is specified for the formal parameter, verify that | |
2583 | the actual has the same convention. | |
2584 | * sem_prag.adb (Set_Convention_From_Pragma): Allow convention | |
2585 | pragma to be set on a generic formal type. | |
2586 | * sem_util.adb (Set_Convention): Ignore within an instance, | |
2587 | as it has already been verified in the generic unit. | |
2588 | ||
aa2f48d2 | 2589 | 2015-03-13 Claire Dross <dross@adacore.com> |
2590 | ||
2591 | * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline | |
2592 | subprograms with unconstrained record parameters containing | |
2593 | Itype declarations. | |
2594 | * sinfo.ads Document GNATprove assumption that type should match | |
2595 | in the AST. | |
2596 | * sem_ch6.adb (Analyze_Subprogram_Body_Contract): | |
2597 | Do not check for Refined_Depends and Refined_Globals contracts | |
2598 | as they are optional. | |
2599 | ||
2600 | 2015-03-13 Ed Schonberg <schonberg@adacore.com> | |
2601 | ||
2602 | * sem_ch12.adb (Instantiate_Type): For a floating-point type, | |
2603 | capture dimension info if any, because the generated subtype | |
2604 | declaration does not come from source and will not process dimensions. | |
2605 | * sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate): | |
2606 | Do not analyze expressions with an initialization procedure | |
2607 | because aggregates will have been checked at the point of record | |
2608 | declaration. | |
2609 | ||
2610 | 2015-03-13 Robert Dewar <dewar@adacore.com> | |
2611 | ||
2612 | * aspects.ads, aspects.adb: Add entries for aspect Unimplemented. | |
2613 | * einfo.ads, einfo.adb (Is_Unimplemented): New flag. | |
2614 | * sem_ch13.adb: Add dummy entry for aspect Unimplemented. | |
2615 | * snames.ads-tmpl: Add entry for Name_Unimplemented. | |
2616 | ||
fd201c78 | 2617 | 2015-03-13 Gary Dismukes <dismukes@adacore.com> |
2618 | ||
2619 | * style.adb (Missing_Overriding): Apply the | |
2620 | Comes_From_Source test to the Original_Node of the subprogram | |
2621 | node, to handle the case of a null procedure declaration that | |
2622 | has been rewritten as an empty procedure body. | |
2623 | ||
2624 | 2015-03-13 Robert Dewar <dewar@adacore.com> | |
2625 | ||
2626 | * exp_util.ads: Minor fix to comment. | |
2627 | * sem_ch3.adb (Constrain_Index): Correct pasto from previous | |
2628 | change. | |
2629 | ||
9755aa0b | 2630 | 2015-03-13 Robert Dewar <dewar@adacore.com> |
2631 | ||
2632 | * exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and | |
2633 | Is_Low/High_Bound params. | |
2634 | * sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling | |
2635 | sequence to simplify generation of FIRST/LAST temps for bounds. | |
2636 | ||
dde59514 | 2637 | 2015-03-12 Olivier Hainque <hainque@adacore.com> |
2638 | ||
2639 | * gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>: | |
2640 | On targets where a function symbol designates a function descriptor, | |
2641 | fetch the function code address from the descriptor. | |
2bbfb19e | 2642 | (USE_RUNTIME_DESCRIPTORS): Provide a default definition. |
dde59514 | 2643 | |
79bac32e | 2644 | 2015-03-04 Robert Dewar <dewar@adacore.com> |
2645 | ||
2646 | * sem_warn.adb: Minor reformatting. | |
2647 | * init.c: Minor tweaks. | |
2648 | ||
2649 | 2015-03-04 Dmitriy Anisimko <anisimko@adacore.com> | |
2650 | ||
2651 | * a-coinho-shared.adb: Fix clear of already empty holder. | |
2652 | ||
2653 | 2015-03-04 Robert Dewar <dewar@adacore.com> | |
2654 | ||
2655 | * exp_unst.adb (Check_Dynamic_Type): Ignore library level types. | |
2656 | (Check_Uplevel_Reference_To_Type): Ignore call inside generic. | |
2657 | (Note_Uplevel_Reference): Ignore call inside generic. | |
2658 | (Note_Uplevel_Reference): Fix check for no entity field. | |
2659 | (Unnest_Subprogram): Ignore call inside generic. | |
2660 | (Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name. | |
2661 | (Visit_Node): Ignore calls to Imported subprograms. | |
2662 | (Visit_Node): Fix problem in finding subprogram body in some cases. | |
2663 | (Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name. | |
2664 | ||
2952de97 | 2665 | 2015-03-04 Robert Dewar <dewar@adacore.com> |
2666 | ||
2667 | * einfo.adb (Is_ARECnF_Entity): Removed. | |
2668 | (Last_Formal): Remove special handling of Is_ARECnF_Entity. | |
2669 | (Next_Formal): Remove special handling of Is_ARECnF_Entity. | |
2670 | (Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity. | |
2671 | (Number_Entries): Minor reformatting. | |
2672 | * einfo.ads (Is_ARECnF_Entity): Removed. | |
2673 | * exp_unst.adb (Unnest_Subprogram): Remove setting of | |
2674 | Is_ARECnF_Entity. | |
2675 | (Add_Extra_Formal): Use normal Extra_Formal circuit. | |
2676 | * sprint.adb (Write_Param_Specs): Properly handle case where | |
2677 | there are no source formals, but we have at least one Extra_Formal | |
2678 | present. | |
2679 | ||
2680 | 2015-03-04 Ed Schonberg <schonberg@adacore.com> | |
2681 | ||
2682 | * sem_aggr.adb (Resolve_Record_Aggregate, | |
2683 | Add_Discriminant_Values): If the value is a reference to the | |
2684 | current instance of an enclosing type, use its base type to check | |
2685 | against prefix of attribute reference, because the target type | |
2686 | may be otherwise constrained. | |
2687 | ||
fdccf4e3 | 2688 | 2015-03-04 Robert Dewar <dewar@adacore.com> |
2689 | ||
2690 | * atree.h: Add entries for Flag287-Flag309. | |
2691 | * einfo.adb: Add (unused) flags Flag287-Flag309. | |
2692 | ||
2693 | 2015-03-04 Ed Schonberg <schonberg@adacore.com> | |
2694 | ||
2695 | * sem_util.adb (Collect_Interfaces, Collect): When gathering | |
2696 | interfaces of ancestors, handle properly a subtype of a private | |
2697 | extension. | |
2698 | ||
603fc431 | 2699 | 2015-03-04 Robert Dewar <dewar@adacore.com> |
2700 | ||
2701 | * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal). | |
2702 | (Next_Formal): Don't return ARECnF formal. | |
2703 | (Last_Formal): Don't consider ARECnF formal. | |
2704 | (Next_Formal_With_Extras): Do consider ARECnF formal. | |
2705 | * einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal). | |
2706 | * exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag. | |
2707 | ||
2708 | 2015-03-04 Javier Miranda <miranda@adacore.com> | |
2709 | ||
2710 | * exp_ch6.adb (Expand_Simple_Function_Return): When the returned | |
2711 | object is a class-wide interface object and we generate the | |
2712 | accessibility described in RM 6.5(8/3) then displace the pointer | |
2713 | to the object to reference the base of the object (to get access | |
2714 | to the TSD of the object). | |
2715 | ||
ebea1574 | 2716 | 2015-03-04 Hristian Kirtchev <kirtchev@adacore.com> |
2717 | ||
2718 | * sem_prag.adb (Analyze_Abstract_State): Use routine | |
2719 | Malformed_State_Error to issue general errors. | |
2720 | (Analyze_Pragma): Diagnose a syntax error related to a state | |
2721 | declaration with a simple option. | |
2722 | (Malformed_State_Error): New routine. | |
2723 | ||
2724 | 2015-03-04 Robert Dewar <dewar@adacore.com> | |
2725 | ||
2726 | * a-strsup.adb (Super_Slice): Deal with super flat case. | |
2727 | * einfo.ads: Minor reformatting. | |
2728 | * s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly | |
2729 | redundant code. | |
2730 | ||
2731 | 2015-03-04 Claire Dross <dross@adacore.com> | |
2732 | ||
2733 | * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, | |
2734 | a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal | |
2735 | containers. | |
2736 | ||
06107582 | 2737 | 2015-03-04 Ed Schonberg <schonberg@adacore.com> |
2738 | ||
2739 | * sem_warn.adb (Check_References): When checking for an unused | |
2740 | in-out parameter of a class- wide type, use its type to determine | |
2741 | whether it is private, in order to avoid a spurious warning when | |
2742 | subprogram spec and body are in different units. | |
2743 | ||
2744 | 2015-03-04 Yannick Moy <moy@adacore.com> | |
2745 | ||
2746 | * sem_attr.adb: Improve warning messages. | |
2747 | ||
6387c28c | 2748 | 2015-03-04 Robert Dewar <dewar@adacore.com> |
2749 | ||
2750 | * exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest | |
2751 | generic subprograms. | |
2752 | * exp_unst.adb (Check_Dynamic_Type): Handle record types properly | |
2753 | (Note_Uplevel_Reference): Ignore uplevel references to non-types | |
2754 | (Get_Level): Consider only subprograms, not blocks. | |
2755 | (Visit_Node): Set proper condition for generating ARECnF entity. | |
2756 | Ignore indirect calls. Ignore calls to subprograms | |
2757 | outside our nest. | |
2758 | (Unnest_Subprogram): Minor changes in dealing with ARECnF entity. | |
2759 | (Add_Form_To_Spec): Properly set Last_Entity field. | |
2760 | (Unnest_Subprogram): Set current subprogram scope for analyze calls. | |
2761 | Handle case of no uplevel refs in outer subprogram | |
2762 | Don't mark uplevel entities as aliased. | |
2763 | Don't deal with calls with no ARECnF requirement. | |
2764 | ||
2765 | 2015-03-04 Robert Dewar <dewar@adacore.com> | |
2766 | ||
2767 | * s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops. | |
2768 | * s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max | |
2769 | operation in computing LZ. | |
2770 | * sem_attr.adb: Minor typo fix | |
2771 | ||
f3293abf | 2772 | 2015-03-04 Robert Dewar <dewar@adacore.com> |
2773 | ||
2774 | * exp_ch7.adb: Minor reformatting. | |
2775 | * exp_unst.adb (Build_Tables): Fix minor glitch for no separate | |
2776 | spec case. | |
2777 | * erroutc.adb (Delete_Msg): add missing decrement of info msg counter. | |
2778 | ||
2779 | 2015-03-04 Hristian Kirtchev <kirtchev@adacore.com> | |
2780 | ||
2781 | * exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress | |
2782 | references to formal parameters subject to pragma Unreferenced. | |
2783 | (Suppress_Reference): New routine. | |
2784 | * sem_attr.adb (Analyze_Attribute): Reimplement the analysis | |
2785 | of attribute 'Old. Attributes 'Old and 'Result now share | |
2786 | common processing. | |
2787 | (Analyze_Old_Result_Attribute): New routine. | |
2788 | (Check_Placement_In_Check): Removed. | |
2789 | (Check_Placement_In_Contract_Cases): Removed. | |
2790 | (Check_Placement_In_Test_Case): Removed. | |
2791 | (Check_Use_In_Contract_Cases): Removed. | |
2792 | (Check_Use_In_Test_Case): Removed. | |
2793 | (In_Refined_Post): Removed. | |
2794 | (Is_Within): Removed. | |
2795 | * sem_warn.adb (Check_Low_Bound_Tested): Code cleanup. | |
2796 | (Check_Low_Bound_Tested_For): New routine. | |
2797 | ||
2798 | 2015-03-04 Hristian Kirtchev <kirtchev@adacore.com> | |
2799 | ||
2800 | * exp_ch3.adb (Expand_N_Object_Declaration): | |
2801 | Generate a runtime check to test the expression of pragma | |
2802 | Default_Initial_Condition when the object is default initialized. | |
2803 | ||
c03b765d | 2804 | 2015-03-02 Robert Dewar <dewar@adacore.com> |
2805 | ||
2806 | * scng.adb (Scan): Ignore illegal character in relaxed | |
2807 | semantics mode. | |
2808 | ||
2809 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> | |
2810 | ||
2811 | * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag | |
2812 | on left operand, so it can be properly resolved with type of | |
2813 | alternatives of right operand. | |
2814 | * sem_res.adb (Resolve_Set_Membership): Handle properly an | |
2815 | overloaded left-hand side when the alternatives on the right | |
2816 | hand side are literals of some universal type. Use first | |
2817 | non-overloaded alternative to find expected type. | |
2818 | ||
2819 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> | |
2820 | ||
2821 | * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying | |
2822 | type to retrieve designated type, because the purported access | |
2823 | type may be a partial (private) view, when it is declared in | |
2824 | the private part of a nested package, and finalization actions | |
2825 | are generated when completing compilation of enclosing unit. | |
2826 | ||
22cc4516 | 2827 | 2015-03-02 Robert Dewar <dewar@adacore.com> |
2828 | ||
2829 | * back_end.adb (Call_Back_End): Remove previous patch, | |
2830 | the back end now gets to see the result of -gnatd.1 | |
2831 | (Unnest_Subprogram_Mode) processing. | |
2832 | * elists.ads, elists.adb (List_Length): New function. | |
2833 | * exp_unst.ads, exp_unst.adb: Major changes, first complete version. | |
2834 | * sem_util.adb (Check_Nested_Access): Handle formals in | |
2835 | Unnest_Subprogram_Mode. | |
2836 | (Adjust_Named_Associations): Minor reformatting. | |
2837 | * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased | |
2838 | for parameters. | |
2839 | ||
d6edfc83 | 2840 | 2015-03-02 Robert Dewar <dewar@adacore.com> |
2841 | ||
2842 | * atree.ads, atree.adb (Uint24): New function | |
2843 | (Set_Uint24): New procedure. | |
2844 | * atree.h (Uint24): New macro for field access. | |
2845 | * back_end.adb (Call_Back_End): For now, don't call back end | |
2846 | if unnesting subprogs. | |
2847 | * einfo.adb (Activation_Record_Component): New field | |
2848 | (Subps_Index): New field. | |
2849 | * einfo.ads (Activation_Record_Component): New field | |
2850 | (Subps_Index): New field Minor reordering of comments into alpha order. | |
2851 | * exp_unst.ads, exp_unst.adb: Continued development. | |
2852 | ||
2853 | 2015-03-02 Gary Dismukes <dismukes@adacore.com> | |
2854 | ||
2855 | * exp_disp.ads: Minor reformatting. | |
2856 | ||
2857 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> | |
2858 | ||
2859 | * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from | |
2860 | ancestor to list of use clauses active in descendant unit if we | |
2861 | are within the private part of an intervening parent, to prevent | |
2862 | circularities in use clause list. | |
2863 | ||
ad274a73 | 2864 | 2015-03-02 Javier Miranda <miranda@adacore.com> |
2865 | ||
2866 | * exp_ch9.adb (Build_Corresponding_Record): Propagate type | |
2867 | invariants to the corresponding record type. | |
2868 | * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram | |
2869 | which sets the value of the DTC_Entity associated with a given | |
2870 | primitive of a tagged type and propagates the value to the | |
2871 | wrapped subprogram. | |
2872 | (Set_DTC_Entity_Value): Propagate the DTC | |
2873 | value to the wrapped entity. | |
2874 | * sem_ch13.adb (Build_Invariant_Procedure): Append the code | |
2875 | associated with invariants of progenitors. | |
2876 | * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants | |
2877 | of parents and progenitors. | |
2878 | (Process_Full_View): Check hidden inheritance of class-wide type | |
2879 | invariants. | |
2880 | * sem_ch7.adb (Analyze_Package_Specification): Do not generate | |
2881 | the invariant procedure for interface types; build the invariant | |
2882 | procedure for tagged types inheriting invariants from their | |
2883 | progenitors. | |
2884 | * sem_prag.adb (Pragma_Invariant) Allow invariants in interface | |
2885 | types but do not build their invariant procedure since their | |
2886 | invariants will be propagated to the invariant procedure of | |
2887 | types covering the interface. | |
2888 | * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb, | |
2889 | sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position | |
2890 | by calls to Set_DT_Position_Value. | |
2891 | ||
9046ac26 | 2892 | 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
2893 | ||
2894 | * sem_attr.adb (Analyze_Attribute): Factor out heavily indented | |
2895 | code in Denote_Same_Function. Do not analyze attribute 'Result | |
2896 | when it is inside procedure _Postconditions. Remove a misplaced | |
2897 | warning diagnostic. Code cleanup. | |
2898 | (Denote_Same_Function): New routine. | |
2899 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code | |
2900 | cleanup. Warn on pre/postconditions on an inlined subprogram. | |
2901 | (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on | |
2902 | an inlined subprogram. | |
2903 | (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on | |
2904 | pre/post condition on an inlined subprogram. | |
2905 | (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on | |
2906 | pre/postconditions on an inlined subprogram. | |
2907 | (Check_Postcondition_Use_In_Inlined_Subprogram): New routine. | |
2908 | ||
e8600b0d | 2909 | 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
2910 | ||
2911 | * sem_prag.adb (Ensure_Aggregate_Form): | |
2912 | Ensure that the name denoted by the Chars of a pragma argument | |
2913 | association has the proper Sloc when converted into an aggregate. | |
2914 | ||
2915 | 2015-03-02 Bob Duff <duff@adacore.com> | |
2916 | ||
2917 | * sem_ch6.adb (Check_Private_Overriding): Capture | |
2918 | Incomplete_Or_Partial_View in a constant. This is cleaner and | |
2919 | more efficient. | |
2920 | ||
2921 | 2015-03-02 Gary Dismukes <dismukes@adacore.com> | |
2922 | ||
2923 | * einfo.ads, exp_unst.ads: Minor reformatting. | |
2924 | ||
2925 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> | |
2926 | ||
2927 | * a-strsea.adb (Find_Token): Ensure that the range of iteration | |
2928 | does not perform any improper character access. This prevents | |
2929 | erroneous access in the unusual case of an empty string target | |
2930 | and a From parameter less than Source'First. | |
2931 | ||
2932 | 2015-03-02 Robert Dewar <dewar@adacore.com> | |
2933 | ||
2934 | * elists.adb (List_Length): Fix incorrect result. | |
2935 | ||
c1bccde6 | 2936 | 2015-03-02 Bob Duff <duff@adacore.com> |
2937 | ||
2938 | * sem_ch6.adb (Check_Private_Overriding): Refine the legality | |
2939 | checks here. It used to check that the function is merely | |
2940 | overriding SOMEthing. Now it checks that the function is | |
2941 | overriding a corresponding public operation. This is a correction | |
2942 | to the implementation of the rule in RM-3.9.3(10). | |
2943 | ||
df45adfd | 2944 | 2015-03-02 Robert Dewar <dewar@adacore.com> |
2945 | ||
2946 | * debug.adb: Document new debug flag -gnatd.1. | |
2947 | * einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag. | |
2948 | (Has_Uplevel_Reference): New flag (Is_Static_Type): New flag. | |
2949 | (Uplevel_Reference_Noted):New flag (Uplevel_References): New field. | |
2950 | * elists.ads elists.adb (List_Length): New function. | |
2951 | * exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram | |
2952 | when appropriate (Process_Preconditions): Minor code | |
2953 | reorganization and reformatting | |
2954 | * exp_unst.ads, exp_unst.adb: New files. | |
2955 | * gnat1drv.adb (Adjust_Global_Switches): Set | |
2956 | Unnest_Subprogram_Mode if -gnatd.1 | |
2957 | * namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with | |
2958 | string argument. | |
2959 | * opt.ads (Unnest_Subprogram_Mode): New flag. | |
2960 | * par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling. | |
2961 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set | |
2962 | Has_Nested_Subprogram flag. | |
2963 | * sem_ch8.adb (Find_Direct_Name): New calling sequence for | |
2964 | Check_Nested_Access. | |
2965 | (Find_Selected_Component): Minor comment addition. | |
2966 | * sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst. | |
2967 | (Note_Possible_Modification): New calling sequence for | |
2968 | Check_Nested_Access. | |
2969 | * sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst. | |
2970 | * gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o | |
2971 | ||
a10d3a24 | 2972 | 2015-03-02 Pierre-Marie de Rodat <derodat@adacore.com> |
2973 | ||
2974 | * gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer | |
2975 | types, preserve the original type and create copies just like the C | |
2976 | front-end does. For artificial ones, do not define a name for | |
2977 | the original type. | |
2978 | (create_type_decl): When gnat_pushdecl made the input type the | |
2979 | original type for the new declaration, do not define a stub | |
2980 | declaration for it. | |
2981 | * gcc-interface/utils2.c (build_binary_op): Accept two different | |
2982 | pointer types when they point to the same type. | |
2983 | ||
e4b5ff5f | 2984 | 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> |
2985 | ||
2986 | * exp_util.adb (Possible_Bit_Aligned_Component): Do not process | |
2987 | an unanalyzed node. | |
2988 | * sem_util.adb (Kill_Current_Values): Do not invalidate and | |
2989 | de-null a constant. | |
2990 | ||
95ac2d90 | 2991 | 2015-03-02 Robert Dewar <dewar@adacore.com> |
2992 | ||
2993 | * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor | |
2994 | reformatting. | |
2995 | ||
2996 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> | |
2997 | ||
2998 | * sem_ch8.adb: extend use of Available_Subtype. | |
2999 | ||
3000 | 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> | |
3001 | ||
3002 | * sem_prag.adb (Duplication_Error): Remove the special handling | |
3003 | of 'Class or _Class in the context of pre/postconditions. | |
3004 | (Process_Class_Wide_Condition): Remove the special handling of | |
3005 | 'Class or _Class in the context of pre/postconditions. | |
3006 | * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class | |
3007 | and Post_Class no longer need to be converted to _Pre and _Post. | |
3008 | * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment | |
3009 | on usage. | |
3010 | ||
3011 | 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> | |
3012 | ||
3013 | * exp_ch6.adb (Process_Preconditions): Modify the | |
3014 | mechanism that find the first source declaration to correct exit | |
3015 | the loop once it has been found. | |
3016 | ||
3017 | 2015-03-02 Gary Dismukes <dismukes@adacore.com> | |
3018 | ||
3019 | * a-strsea.adb: Minor typo fix. | |
3020 | ||
3021 | 2015-03-02 Bob Duff <duff@adacore.com> | |
3022 | ||
3023 | * einfo.ads: Minor comment fixes. | |
3024 | ||
70eaa031 | 3025 | 2015-03-02 Gary Dismukes <dismukes@adacore.com> |
3026 | ||
3027 | * einfo.adb, checks.adb: Minor reformatting and typo fixes. | |
3028 | ||
3029 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> | |
3030 | ||
3031 | * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value | |
3032 | is defined for the array type, use it instead of a Default_Value | |
3033 | specified for the component type itself. | |
3034 | ||
ed695684 | 3035 | 2015-03-02 Thomas Quinot <quinot@adacore.com> |
3036 | ||
3037 | * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When | |
3038 | expanding a 'Input attribute reference for a class-wide type, | |
3039 | do not generate a separate object declaration for the controlling | |
3040 | tag dummy object; instead, generate the expression inline in the | |
3041 | dispatching call. Otherwise, the declaration (which involves a | |
3042 | call to String'Input, returning a dynamically sized value on the | |
3043 | secondary stack) will be expanded outside of proper secondary | |
3044 | stack mark/release operations, and will thus cause a secondary | |
3045 | stack leak. | |
3046 | ||
3047 | 2015-03-02 Hristian Kirtchev <kirtchev@adacore.com> | |
3048 | ||
3049 | * checks.adb (Add_Validity_Check): Change the names of all | |
3050 | formal parameters to better illustrate their purpose. Update | |
3051 | the subprogram documentation. Update all occurrences of the | |
3052 | formal parameters. Generate a pre/postcondition pragma by | |
3053 | calling Build_Pre_Post_Condition. | |
3054 | (Build_PPC_Pragma): Removed. | |
3055 | (Build_Pre_Post_Condition): New routine. | |
3056 | * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14 | |
3057 | is now used as Postconditions_Proc. Flag240 is now renamed to | |
3058 | Has_Expanded_Contract. (First_Formal): The routine can now | |
3059 | operate on generic subprograms. | |
3060 | (First_Formal_With_Extras): The routine can now operate on generic | |
3061 | subprograms. | |
3062 | (Has_Expanded_Contract): New routine. | |
3063 | (Has_Postconditions): Removed. | |
3064 | (Postcondition_Proc): Removed. | |
3065 | (Postconditions_Proc): New routine. | |
3066 | (Set_Has_Expanded_Contract): New routine. | |
3067 | (Set_Has_Postconditions): Removed. | |
3068 | (Set_Postcondition_Proc): Removed. | |
3069 | (Set_Postconditions_Proc): New routine. | |
3070 | (Write_Entity_Flags): Remove the output of Has_Postconditions. Add | |
3071 | the output of Has_Expanded_Contract. | |
3072 | (Write_Field8_Name): Remove the output of Postcondition_Proc. | |
3073 | (Write_Field14_Name): Add the output of Postconditions_Proc. | |
3074 | * einfo.ads New attributes Has_Expanded_Contract and | |
3075 | Postconditions_Proc along with occurrences in entities. | |
3076 | Remove attributes Has_Postconditions and Postcondition_Proc | |
3077 | along with occurrences in entities. | |
3078 | (Has_Expanded_Contract): New routine along with pragma Inline. | |
3079 | (Has_Postconditions): Removed along with pragma Inline. | |
3080 | (Postcondition_Proc): Removed along with pragma Inline. | |
3081 | (Postconditions_Proc): New routine along with pragma Inline. | |
3082 | (Set_Has_Expanded_Contract): New routine along with pragma Inline. | |
3083 | (Set_Has_Postconditions): Removed along with pragma Inline. | |
3084 | (Set_Postcondition_Proc): Removed along with pragma Inline. | |
3085 | (Set_Postconditions_Proc): New routine along with pragma Inline. | |
3086 | * exp_ch6.adb (Add_Return): Code cleanup. Update the | |
3087 | generation of the call to the _Postconditions routine of | |
3088 | the procedure. (Expand_Non_Function_Return): Reformat the | |
3089 | comment on usage. Code cleanup. Update the generation of | |
3090 | the call to the _Postconditions routine of the procedure or | |
3091 | entry [family]. | |
3092 | (Expand_Simple_Function_Return): Update the | |
3093 | generation of the _Postconditions routine of the function. | |
3094 | (Expand_Subprogram_Contract): Reimplemented. | |
3095 | * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter | |
3096 | profile along the comment on usage. | |
3097 | * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup. | |
3098 | (Expand_N_Task_Type_Declaration): Generate pre/postconditions | |
3099 | wrapper when the entry [family] has a contract with | |
3100 | pre/postconditions. | |
3101 | * exp_prag.adb (Expand_Attributes_In_Consequence): New routine. | |
3102 | (Expand_Contract_Cases): This routine and its subsidiaries now | |
3103 | analyze all generated code. | |
3104 | (Expand_Old_In_Consequence): Removed. | |
3105 | * sem_attr.adb Add with and use clause for Sem_Prag. | |
3106 | (Analyze_Attribute): Reimplment the analysis of attribute 'Result. | |
3107 | (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain | |
3108 | "Ensures". | |
3109 | * sem_ch3.adb (Analyze_Declarations): Analyze the contract of | |
3110 | a generic subprogram. | |
3111 | (Analyze_Object_Declaration): Do not create a contract node. | |
3112 | (Derive_Subprogram): Do not create a contract node. | |
3113 | * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do | |
3114 | not create a contract node. | |
3115 | (Analyze_Completion_Contract): New routine. | |
3116 | (Analyze_Function_Return): Alphabetize. | |
3117 | (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a | |
3118 | contract node. Do not copy pre/postconditions to the original | |
3119 | generic template. | |
3120 | (Analyze_Null_Procedure): Do not create a contract node. | |
3121 | (Analyze_Subprogram_Body_Contract): Reimplemented. | |
3122 | (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope | |
3123 | as having postconditions. Do not create a contract node. Analyze | |
3124 | the subprogram body contract of a body that acts as a compilation | |
3125 | unit. Expand the subprogram contract after the declarations have | |
3126 | been analyzed. | |
3127 | (Analyze_Subprogram_Contract): Reimplemented. | |
3128 | (Analyze_Subprogram_Specification): Do not create a contract node. | |
3129 | (List_Inherited_Pre_Post_Aspects): Code cleanup. | |
3130 | * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the | |
3131 | comment on usage. | |
3132 | (Analyze_Subprogram_Contract): Update the | |
3133 | parameter profile and the comment on usage. | |
3134 | * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a | |
3135 | contract node. | |
3136 | (Analyze_Package_Declaration): Do not create a | |
3137 | contract node. | |
3138 | (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity. | |
3139 | * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a | |
3140 | contract node. | |
3141 | * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a | |
3142 | contract node. | |
3143 | * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to | |
3144 | their proper section and alphabetize them. Analyze the contract of | |
3145 | a [generic] subprogram after all Pragmas_After have been analyzed. | |
3146 | (Analyze_Subprogram_Body_Stub_Contract): Alphabetize. | |
3147 | * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not | |
3148 | create a contract node. | |
3149 | (Analyze_Generic_Subprogram_Declaration): | |
3150 | Alphabetize local variables. Do not create a contract | |
3151 | node. Do not generate aspects out of pragmas for ASIS. | |
3152 | (Analyze_Subprogram_Instantiation): Instantiate | |
3153 | the contract of the subprogram. Do not create a | |
3154 | contract node. (Instantiate_Contract): New routine. | |
3155 | (Instantiate_Subprogram_Body): Alphabetize local variables. | |
3156 | (Save_Global_References_In_Aspects): New routine. | |
3157 | (Save_References): Do not save the global references found within | |
3158 | the aspects of a generic subprogram. | |
3159 | * sem_ch12.ads (Save_Global_References_In_Aspects): New routine. | |
3160 | * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use | |
3161 | Original_Node for establishing linkages. | |
3162 | (Insert_Pragma): Insertion in a subprogram body takes precedence over | |
3163 | the case where the subprogram body is also a compilation unit. | |
3164 | * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use | |
3165 | Get_Argument to obtain the proper expression. Install the generic | |
3166 | formals when the related context is a generic subprogram. | |
3167 | (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain | |
3168 | the proper expression. Use Corresponding_Spec_Of to obtain | |
3169 | the spec. Install the generic formal when the related context | |
3170 | is a generic subprogram. | |
3171 | (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper | |
3172 | expression. Use Corresponding_Spec_Of to obtain the spec. Install the | |
3173 | generic formal when the related context is a generic subprogram. | |
3174 | (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument | |
3175 | to obtain the proper expression. Remove the call to | |
3176 | Check_SPARK_Aspect_For_ASIS as the analysis is now done | |
3177 | automatically. | |
3178 | (Analyze_Pragma): Update all occurrences | |
3179 | to Original_Aspect_Name. Pragmas Contract_Cases, Depends, | |
3180 | Extensions_Visible, Global, Postcondition, Precondition and | |
3181 | Test_Case now carry generic templates when the related context | |
3182 | is a generic subprogram. The same pragmas are no longer | |
3183 | forcefully fully analyzed when the context is a subprogram | |
3184 | that acts as a compilation unit. Pragmas Abstract_State, | |
3185 | Initial_Condition, Initializes and Refined_State have been clean | |
3186 | up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class | |
3187 | and Precondition now use the same routine for analysis. Pragma | |
3188 | Refined_Post does not need to check the use of 'Result or | |
3189 | the lack of a post-state in its expression. Reimplement the | |
3190 | analysis of pragma Test_Case. | |
3191 | (Analyze_Pre_Post_Condition): New routine. | |
3192 | (Analyze_Pre_Post_Condition_In_Decl_Part): | |
3193 | Reimplemented. | |
3194 | (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the | |
3195 | proper expression. | |
3196 | (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain | |
3197 | the proper expression. | |
3198 | (Analyze_Test_Case_In_Decl_Part): Reimplemented. | |
3199 | (Check_Pre_Post): Removed. | |
3200 | (Check_Precondition_Postcondition): Removed. | |
3201 | (Check_SPARK_Aspect_For_ASIS): Removed. | |
3202 | (Check_Test_Case): Removed. | |
3203 | (Collect_Subprogram_Inputs_Outputs): Use Get_Argument | |
3204 | to obtain the proper expression. Use Corresponding_Spec_Of to | |
3205 | find the proper spec. | |
3206 | (Create_Generic_Template): New routine. | |
3207 | (Duplication_Error): New routine. | |
3208 | (Expression_Function_Error): New routine. | |
3209 | (Find_Related_Subprogram_Or_Body): Moved to the spec | |
3210 | of Sem_Prag. Emit precise error messages. Account for cases of | |
3211 | rewritten expression functions, generic instantiations, handled | |
3212 | sequence of statements and pragmas from aspects. | |
3213 | (Get_Argument): New routine. | |
3214 | (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed. | |
3215 | (Preanalyze_CTC_Args): Removed. | |
3216 | (Process_Class_Wide_Condition): New routine. | |
3217 | * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update | |
3218 | the parameter profile along with the comment on usage. | |
3219 | (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag. | |
3220 | (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed. | |
3221 | (Test_Case_Arg): New routine. | |
3222 | * sem_util.adb Add with and use clauses for Sem_Ch6. | |
3223 | (Add_Contract_Item): This routine now creates a contract | |
3224 | node the first time an item is added. Remove the duplicate | |
3225 | aspect/pragma checks. | |
3226 | (Check_Result_And_Post_State): Reimplemented. | |
3227 | (Corresponding_Spec_Of): New routine. | |
3228 | (Get_Ensures_From_CTC_Pragma): Removed. | |
3229 | (Get_Requires_From_CTC_Pragma): Removed. | |
3230 | (Has_Significant_Contract): New routine. | |
3231 | (Inherit_Subprogram_Contract): Inherit only if the source | |
3232 | has a contract. | |
3233 | (Install_Generic_Formals): New routine. | |
3234 | (Original_Aspect_Name): Removed. | |
3235 | (Original_Aspect_Pragma_Name): New routine. | |
3236 | * sem_util.ads (Check_Result_And_Post_State): Reimplemented. | |
3237 | (Corresponding_Spec_Of): New routine. | |
3238 | (Get_Ensures_From_CTC_Pragma): Removed. | |
3239 | (Get_Requires_From_CTC_Pragma): Removed. | |
3240 | (Has_Significant_Contract): New routine. | |
3241 | (Install_Generic_Formals): New routine. | |
3242 | (Original_Aspect_Name): Removed. | |
3243 | (Original_Aspect_Pragma_Name): New routine. | |
3244 | * sem_warn.adb Add with and use clauses for Sem_Prag. | |
3245 | (Within_Postcondition): Use Test_Case_Arg to extract "Ensures". | |
3246 | ||
15b2f586 | 3247 | 2015-03-02 Ed Schonberg <schonberg@adacore.com> |
3248 | ||
3249 | * sem_ch8.adb (Available_Subtype): Optimization in | |
3250 | Find_Selected_Component: when safe, use existing subtype of | |
3251 | array component, possibly discriminant-dependent, rather than | |
3252 | creating new subtype declaration for it. In this fashion different | |
3253 | occurrences of the component have the same subtype, rather than | |
3254 | just equivalent ones. Simplifies value tracing in GNATProve. | |
3255 | ||
57d77bb7 | 3256 | 2015-03-01 Arnaud Charlet <charlet@adacore.com> |
3257 | ||
3258 | PR ada/65259 | |
3259 | ||
3260 | * doc/gnat_ugn/gnat_project_manager.rst, | |
3261 | doc/gnat_ugn/platform_specific_information.rst: Remove reference to | |
3262 | image, too troublesome with texi format. | |
3263 | * gnat_ugn.texi: Regenerate. | |
3264 | ||
6349b8cc | 3265 | 2015-02-24 Thomas Schwinge <thomas@codesourcery.com> |
3266 | ||
3267 | PR libgomp/64625 | |
8cf5159e | 3268 | * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Remove. |
3269 | (DEF_FUNCTION_TYPE_VAR_12): Likewise. | |
6349b8cc | 3270 | (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. |
3271 | ||
11d2c763 | 3272 | 2015-02-23 Thomas Schwinge <thomas@codesourcery.com> |
3273 | ||
9e93a77c | 3274 | * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of |
3275 | arguments parameter. | |
3276 | (DEF_FUNCTION_TYPE_VAR_12): Likewise. | |
11d2c763 | 3277 | |
e1958219 | 3278 | 2015-02-22 Arnaud Charlet <charlet@adacore.com> |
3279 | ||
3280 | * doc/Makefile: postprocess texinfo files to update @dircategory | |
3281 | and update texi files under gcc/ada. | |
3282 | * gnat_ugn.texi, gnat_rm.texi: Regenerated. | |
3283 | ||
e7744f66 | 3284 | 2015-02-22 Arnaud Charlet <charlet@adacore.com> |
3285 | ||
3286 | * doc/gnat_ugn/project-manager-figure.png, | |
3287 | doc/gnat_ugn/rtlibrary-structure.png: New. | |
3288 | ||
c6dc1b62 | 3289 | 2015-02-22 Tom de Vries <tom@codesourcery.com> |
3290 | ||
3291 | PR ada/65100 | |
3292 | * gnat-style.texi (@subsection Loop Statements): Replace @noindent by | |
3293 | @item, and fix warning '@itemize has text but no @item'. | |
3294 | ||
40ed993f | 3295 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> |
3296 | ||
3297 | * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma | |
3298 | legally applies to an abstract subprogram declaration. | |
3299 | * freeze.adb: Minor comment addition. | |
3300 | ||
0b29254e | 3301 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3302 | ||
3303 | * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant. | |
3304 | * erroutc.adb (Set_Msg_Str): Replace _xxx. | |
3305 | (Pre/Post/Type_Invariant) by xxx'Class. | |
3306 | * erroutc.ads (Set_Msg_Str): Replace _xxx. | |
3307 | (Pre/Post/Type_Invariant) by xxx'Class. | |
3308 | * sem_prag.adb (Fix_Error): Remove special casing of | |
3309 | Name_uType_Invariant. | |
3310 | (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of | |
3311 | Name_uPre and Name_uPost in aspect case (done in Errout now). | |
3312 | ||
3313 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3314 | ||
3315 | * g-alveop.adb: Minor style fixes. | |
3316 | ||
3317 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3318 | ||
3319 | * freeze.adb (Warn_Overlay): Guard against blow up with address | |
3320 | clause. | |
3321 | ||
3322 | 2015-02-20 Bob Duff <duff@adacore.com> | |
3323 | ||
3324 | * exp_attr.adb (May_Be_External_Call): Remove this. There is no need | |
3325 | for the compiler to guess whether the call is internal or external -- | |
3326 | it is always external. | |
3327 | (Expand_Access_To_Protected_Op): For P'Access, where P | |
3328 | is a protected subprogram, always create a pointer to the | |
3329 | External_Subprogram. | |
3330 | ||
afc229da | 3331 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3332 | ||
3333 | * a-dispat.adb, a-stcoed.ads: Minor reformatting. | |
3334 | ||
3335 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3336 | ||
3337 | * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static | |
3338 | predicate for non-static subtype. | |
3339 | (Build_Predicate_Functions): Do not assume subtype associated with a | |
3340 | static predicate must be static. | |
3341 | ||
3342 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3343 | ||
3344 | * errout.adb (Set_Msg_Node): Better handling of internal names | |
3345 | (Set_Msg_Node): Kill message when we cannot eliminate internal name. | |
3346 | * errout.ads: Document additional case of message deletion. | |
3347 | * namet.adb (Is_Internal_Name): Refined to consider wide | |
3348 | strings in brackets notation and character literals not to be | |
3349 | internal names. | |
3350 | * sem_ch8.adb (Find_Selected_Component): Give additional error | |
3351 | when selector name is a subprogram whose first parameter has | |
3352 | the same type as the prefix, but that type is untagged. | |
3353 | ||
12a75e8a | 3354 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3355 | ||
3356 | * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting | |
3357 | ||
b765640c | 3358 | 2015-02-20 Tristan Gingold <gingold@adacore.com> |
3359 | ||
3360 | * opt.ads (GNAT_Mode_Config): New variable. | |
3361 | * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config | |
3362 | to set Assertions_Enabled. | |
3363 | * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config | |
3364 | for -gnatg. | |
3365 | ||
3366 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3367 | ||
3368 | * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional | |
3369 | comment regarding the handling of unterminated fixed-point | |
3370 | constants. | |
3371 | * s-valuns.ads (Scan_Raw_Unsigned): Add comments | |
3372 | corresponding to those previously added for | |
3373 | System.Val_LLU.Scan_Raw_Long_Long_Unsigned. | |
3374 | ||
4ba68108 | 3375 | 2015-02-20 Olivier Hainque <hainque@adacore.com> |
3376 | ||
1171818d | 3377 | * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups. |
382167e8 | 3378 | |
f3d9de95 | 3379 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3380 | ||
3381 | * sem_prag.adb: Minor comment clarification. | |
3382 | ||
3383 | 2015-02-20 Olivier Hainque <hainque@adacore.com> | |
3384 | ||
3385 | * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove. | |
3386 | * g-alleve.ads, g-alleva.adb (vcfux): Likewise. | |
3387 | * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions. | |
3388 | (vec_ctf): Now renamings as well. | |
3389 | ||
d3bd629b | 3390 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3391 | ||
3392 | * switch-c.adb, bindgen.adb: Minor reformatting. | |
3393 | ||
3394 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3395 | ||
3396 | * sem_prag.adb (Analyze_Pragma, case Type_Invariant): | |
3397 | Invariant'class is allowed on an abstract type. | |
3398 | ||
3399 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3400 | ||
3401 | * sem_ch3.adb (Access_Definition): If the access definition is | |
3402 | for a protected component and defines an access to protected | |
3403 | subprogram, do not create an itype reference for it because a | |
3404 | full type declaration will be built in order to generate the | |
3405 | proper equivalent type. | |
3406 | (Analyze_Subtype_Declaration): Add information of incomplete | |
3407 | subtypes, for Ada 2012 extended uses of incomplete types. | |
3408 | ||
a99d800a | 3409 | 2015-02-20 Gary Dismukes <dismukes@adacore.com> |
3410 | ||
3411 | * sem_res.adb: Minor reformatting. | |
3412 | ||
3413 | 2015-02-20 Vincent Celier <celier@adacore.com> | |
3414 | ||
3415 | * switch-c.adb (Scan_Front_End_Switches): When comparing runtime | |
3416 | path name for several switches --RTS, use the normalized path | |
3417 | names. | |
3418 | ||
3419 | 2015-02-20 Vincent Celier <celier@adacore.com> | |
3420 | ||
3421 | * bindgen.adb: Minor reformatting and code reorganization. | |
3422 | ||
3423 | 2015-02-20 Jose Ruiz <ruiz@adacore.com> | |
3424 | ||
3425 | * a-stcoed.ads: Add spec for this package (Unimplemented_Unit). | |
3426 | * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as | |
3427 | defined by Ada 2012. | |
3428 | ||
b85b7cb2 | 3429 | 2015-02-20 Arnaud Charlet <charlet@adacore.com> |
3430 | ||
3431 | * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove | |
3432 | obsolete references to RTX, nucleus, VMS. | |
3433 | ||
3434 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3435 | ||
3436 | * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class | |
3437 | aspect, use name that mentions Class explicitly, rather than | |
3438 | compiler-internal name. | |
3439 | ||
3440 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3441 | ||
3442 | * debug.adb: Add documentation for -gnatd.2 (allow statements | |
3443 | in decl sequences). | |
3444 | * par-ch3.adb (P_Identifier_Declarations): Handle | |
3445 | statement appearing where declaration expected more cleanly. | |
3446 | (Statement_When_Declaration_Expected): Implement debug flag | |
3447 | -gnatd.2. | |
3448 | ||
3449 | 2015-02-20 Jose Ruiz <ruiz@adacore.com> | |
3450 | ||
3451 | * a-dinopr.ads: Add spec for this package (Unimplemented_Unit). | |
3452 | * a-dispat.ads (Yield): Include procedure added in Ada 2012. | |
3453 | * a-dispat.adb (Yield): Implement procedure added in Ada 2012. | |
3454 | * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as | |
3455 | defined by Ada 2005. | |
3456 | * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities): | |
3457 | This is the correct name for the dispatching policy (FIFO was | |
3458 | missing). | |
3459 | ||
3460 | 2015-02-20 Javier Miranda <miranda@adacore.com> | |
3461 | ||
3462 | * sem_res.adb (Resolve_Type_Conversion): If the type of the | |
3463 | operand is the limited-view of a class-wide type then recover | |
3464 | the class-wide type of the non-limited view. | |
3465 | ||
28581735 | 3466 | 2015-02-20 Arnaud Charlet <charlet@adacore.com> |
3467 | ||
3468 | * gcc-interface/Makefile.in: Remove references to nucleus. | |
3469 | * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set | |
3470 | extern_flag to true for Inline_Always subprograms with | |
3471 | Intrinsic convention. | |
3472 | ||
dba38d2f | 3473 | 2015-02-20 Yannick Moy <moy@adacore.com> |
3474 | ||
3475 | * sem_prag.ads: Minor typo in comment. | |
3476 | ||
3477 | 2015-02-20 Pascal Obry <obry@adacore.com> | |
3478 | ||
3479 | * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode. | |
3480 | ||
3481 | 2015-02-20 Vincent Celier <celier@adacore.com> | |
3482 | ||
3483 | * makeutl.adb (Get_Directories.Add_Dir): Add a directory only | |
3484 | if it exists. | |
3485 | ||
3486 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3487 | ||
3488 | * sem_eval.ads: Minor reformatting. | |
3489 | ||
3490 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> | |
3491 | ||
3492 | * freeze.adb (Size_Known): Do not set the packed size for | |
3493 | independent type or component. | |
3494 | (Freeze_Array_Type): Check for Independent[_Components] with packing | |
3495 | or explicit component size clause. | |
3496 | * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation | |
3497 | of independence pragmas only for non-GCC back-ends. | |
3498 | * sem_ch13.adb (Initialize): Likewise for the initialization. | |
3499 | * sem_prag.adb (Record_Independence_Check): New procedure to record an | |
3500 | independence check in the table. | |
3501 | (Analyze_Pragma): Use it throughout instead of doing it manually. | |
3502 | * gcc-interface/decl.c (gnat_to_gnu_field): Add support for | |
3503 | independent type or component. | |
3504 | ||
3505 | 2015-02-20 Thomas Quinot <quinot@adacore.com> | |
3506 | ||
3507 | * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of | |
3508 | struct direct and readdir. This is required for NFS filesystems | |
3509 | mounted from servers that use 64-bit cookies. | |
3510 | ||
3511 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3512 | ||
3513 | * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram | |
3514 | Build_Subprogram_Renaming, to create renaming of subprogram | |
3515 | instance in the the declaration of the wrapper package rather | |
3516 | than in its body, so that it is available for analysis of aspects | |
3517 | propagated from generic to instantiation. | |
3518 | (Check_Mismatch): An actual for a formal package that is an | |
3519 | incomplete type matches a formal type that is incomplete. | |
3520 | (Instantiate_Package_Body): Move code that builds subprogram | |
3521 | renaming to Analyze_Subprogram_Instantiation. | |
3522 | (Instantiate_Type): The generated subtype is a limited view if | |
3523 | the actual is a limited view. | |
3524 | (Load_Parent_Of_Generic): Retrieve instance declaration from | |
3525 | its new position within wrapper package. | |
3526 | ||
3527 | 2015-02-20 Arnaud Charlet <charlet@adacore.com> | |
3528 | ||
3529 | * s-parame-vxworks.adb, s-os_lib.ads: Update comments. | |
3530 | ||
3531 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3532 | ||
3533 | * s-osinte-vxworks.ads (To_Timespec): Add comment about the | |
3534 | issue of negative arguments. | |
3535 | ||
839dc3be | 3536 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
3537 | ||
3538 | * gnat1drv.adb: Minor consistency fix. | |
3539 | ||
3540 | 2015-02-20 Pascal Obry <obry@adacore.com> | |
3541 | ||
3542 | * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all | |
3543 | paths. | |
3544 | ||
3ab53c35 | 3545 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
3546 | ||
3547 | * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram | |
3548 | renamings. | |
3549 | * exp_ch6.adb (Expand_Call): Use back-end inlining | |
3550 | instead of expansion for simple subprogram renamings. | |
3551 | ||
3552 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3553 | ||
3554 | * exp_util.adb: Minor reformatting. | |
3555 | ||
81540b80 | 3556 | 2015-02-20 Vincent Celier <celier@adacore.com> |
3557 | ||
3558 | * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS= | |
3559 | is specified several times with different values that indicates | |
3560 | the same runtime directory. | |
3561 | ||
3562 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3563 | ||
3564 | * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to | |
3565 | handle properly illegal uses of attributes on prefixes on an | |
3566 | incomplete type, both when the type of the prefix is locally | |
3567 | incomplete, and when it is a limited view of a type whose | |
3568 | non-limited view is not available. | |
3569 | (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for | |
3570 | 'Address and others. | |
3571 | ||
3572 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> | |
3573 | ||
3574 | * exp_ch6.adb: Fix minor typo in comment. | |
3575 | ||
c918b5ca | 3576 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
3577 | ||
3578 | * sinfo.ads: Add comment. | |
3579 | ||
3580 | 2015-02-20 Olivier Hainque <hainque@adacore.com> | |
3581 | ||
3582 | * opt.ads: Replace Opt.Suppress_All_Inlining by two separate | |
3583 | flags controlling the actual FE inlining out of pragma Inline | |
3584 | and pragma Inline_Always. | |
3585 | * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True | |
3586 | on -fno-inline, which disables all inlining in compilers with | |
3587 | an Ada back-end and without back-end inlining support. | |
3588 | * back_end.adb (Scan_Back_End_Switches): Set the Inline related | |
3589 | flag to True on -fno-inline and leave Inline_Always alone for | |
3590 | gcc back-ends. | |
3591 | * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the | |
3592 | names of the Opt flags it sets. | |
3593 | * gnat1drv.adb (Adjust_Global_Switches): Remove test on | |
3594 | Opt.Suppress_All_Inlining in the Back_End_Inlining computation. | |
3595 | * sem_prag.adb (Make_Inline): Remove early return conditioned | |
3596 | on Opt.Suppress_All_Inlining. | |
3597 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to | |
3598 | disable the calls to Build_Body_To_Inline otherwise triggered | |
3599 | by pragma Inline or Inline_Always. This will prevent actual | |
3600 | front-end inlining of the subprogram on calls. | |
3601 | ||
32d2c8a5 | 3602 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
3603 | ||
3604 | * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the | |
3605 | Abort_Undefer_Direct function. | |
3606 | * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise. | |
3607 | * exp_intr.adb (Expand_Unc_Deallocation): Likewise. | |
3608 | * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise. | |
3609 | * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to | |
3610 | Add_Inlined_Body. | |
3611 | * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body. | |
3612 | Remove call to Register_Backend_Call and move code resetting | |
3613 | Needs_Debug_Info on inlined subprograms to... | |
3614 | * inline.ads (Add_Inlined_Body): Add N parameter. | |
3615 | (Register_Backend_Call): Delete. | |
3616 | * inline.adb (Add_Inlined_Body): ...here and simplify. | |
3617 | Register the call with Backend_Calls directly. | |
3618 | (Register_Backend_Call): Delete. | |
3619 | * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline. | |
3620 | ||
b02fd639 | 3621 | 2015-02-20 Eric Botcazou <ebotcazou@adacore.com> |
3622 | ||
3623 | * s-stalib.ads: Fix typo. | |
3624 | ||
3625 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3626 | ||
3627 | * exp_ch3.adb (Default_Initialize_Object): If the object has a | |
3628 | delayed freeze, the actions associated with default initialization | |
3629 | must be part of the freeze actions, rather that being inserted | |
3630 | directly after the object declaration. | |
3631 | ||
3632 | 2015-02-20 Robert Dewar <dewar@adacore.com> | |
3633 | ||
3634 | * lib-load.adb: Minor comment update. | |
3635 | ||
3636 | 2015-02-20 Vincent Celier <celier@adacore.com> | |
3637 | ||
3638 | * prj-proc.adb (Process_Case_Construction): When there are | |
3639 | incomplete withed projects and the case variable is unknown, | |
3640 | skip the case construction. | |
3641 | ||
3642 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3643 | ||
3644 | * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks | |
3645 | when an actual is a view conversion, either because the call is | |
3646 | to an inherited operation, or because the actual is an explicit | |
3647 | type conversion to an ancestor type. Fixes ACATS 4.0D: C732001 | |
3648 | ||
1a431c98 | 3649 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3650 | ||
3651 | * einfo.ads: Minor comment updates Fix missing pragma Inline | |
3652 | for Set_Partial_View_Has_Unknown_Discr. | |
3653 | * einfo.adb (Write_Entity_Flags): Add missing entry for | |
3654 | Partial_View_Has_Unknown_Discr. | |
3655 | * sem_ch3.adb: Minor reformatting. | |
3656 | ||
3657 | 2015-02-20 Vincent Celier <celier@adacore.com> | |
3658 | ||
3659 | * opt.ads: Minor cleanup: remove mention of gprmake. | |
3660 | * s-stalib.ads (Abort_Undefer_Direct): Do not inline. | |
3661 | * s-tataat.adb: Do not call System.Tasking.Self but directly | |
3662 | System.Task_Primitives.Operations.Self. | |
3663 | ||
3664 | 2015-02-20 Arnaud Charlet <charlet@adacore.com> | |
3665 | ||
3666 | * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from | |
3667 | sphinx in the doc directory. | |
3668 | * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn | |
3669 | ||
e43fc5c5 | 3670 | 2015-02-20 Robert Dewar <dewar@adacore.com> |
3671 | ||
3672 | * sem_res.adb: Minor reformatting. | |
3673 | * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when | |
3674 | building spec. | |
3675 | * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean | |
3676 | aspects from circuitry setting delay required to false if the | |
3677 | argument is an integer literal. | |
3678 | ||
3679 | 2015-02-20 Ed Schonberg <schonberg@adacore.com> | |
3680 | ||
3681 | * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr): New flag | |
3682 | on type entities, to enforce AI12-0133: default initialization | |
3683 | of types whose partial view has unknown discriminants does not | |
3684 | get an invariant check, because clients of the unit can never | |
3685 | declare objects of such types. | |
3686 | * sem_ch3.adb (Find_Type_Name); Set new flag | |
3687 | Partial_View_Has_Unknown_Discr when needed. | |
3688 | * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress | |
3689 | generation of invariant call on default-initialized object. | |
3690 | ||
8ae2b3a8 | 3691 | 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
3692 | ||
3693 | * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding | |
3694 | if the parameter either is passed by reference or if the alignment | |
3695 | would be lowered. | |
3696 | ||
4d8374aa | 3697 | 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
3698 | ||
3699 | * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to | |
3700 | detect primitive operations of tagged and untagged types. | |
3701 | ||
974a5efe | 3702 | 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
3703 | ||
3704 | * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias | |
3705 | sets in presence of derivation for subprogram types. | |
3706 | ||
7a4047d6 | 3707 | 2015-02-08 Eric Botcazou <ebotcazou@adacore.com> |
3708 | ||
3709 | * gcc-interface/utils.c (begin_subprog_body): Assert that the body is | |
3710 | present in the same context as the declaration. | |
3711 | ||
3622a848 | 3712 | 2015-02-07 Jakub Jelinek <jakub@redhat.com> |
3713 | ||
3714 | PR middle-end/64340 | |
3715 | * gcc-interface/trans.c (gigi): Recreate optimization_default_node | |
3716 | and optimization_current_node after tweaking global_options. | |
3717 | ||
4beb22df | 3718 | 2015-02-05 Robert Dewar <dewar@adacore.com> |
3719 | ||
3720 | * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb, | |
3721 | prj-nmsc.adb: Minor reformatting. | |
3722 | ||
3723 | 2015-02-05 Ed Schonberg <schonberg@adacore.com> | |
3724 | ||
3725 | * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record | |
3726 | of a protected type may not be available, so to check conformance | |
3727 | with an interface type, examine the interface list in the type | |
3728 | declaration directly. | |
3729 | (Write_Overloads): Improve information for indirect calls, | |
3730 | for debugger use. | |
3731 | ||
3732 | 2015-02-05 Ed Schonberg <schonberg@adacore.com> | |
3733 | ||
3734 | * exp_ch3.adb (Make_Tag_Assignment): Do not perform this | |
3735 | expansion activity in ASIS mode. | |
3736 | ||
8149276d | 3737 | 2015-02-05 Javier Miranda <miranda@adacore.com> |
3738 | ||
3739 | * errout.adb (Error_Msg_PT): Add missing error. | |
3740 | * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing | |
3741 | RM rule. Code cleanup. | |
3742 | * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in | |
3743 | anonymous access types. Found working on the tests. Code cleanup. | |
3744 | ||
3745 | 2015-02-05 Vincent Celier <celier@adacore.com> | |
3746 | ||
3747 | * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning | |
3748 | when there are incomplete withs. | |
3749 | * prj-nmsc.adb (Process_Naming): Do not try to get the value | |
3750 | of an element when it is nil. | |
3751 | (Check_Naming): Do not check a nil suffix for illegality | |
3752 | * prj-proc.adb (Expression): Do not process an empty term. | |
3753 | * prj-strt.adb (Attribute_Reference): If attribute cannot be | |
3754 | found, parse a possible index to avoid cascading errors. | |
3755 | ||
3756 | 2015-02-05 Ed Schonberg <schonberg@adacore.com> | |
3757 | ||
3758 | * sem_aux.adb (Is_Derived_Type): A subprogram_type generated | |
3759 | for an access_to_subprogram declaration is not a derived type. | |
3760 | ||
477d8dd4 | 3761 | 2015-02-05 Robert Dewar <dewar@adacore.com> |
3762 | ||
3763 | * errout.adb (Error_Msg_Internal): For non-serious error set | |
3764 | Fatal_Error to Ignored. | |
3765 | * lib-load.adb (Load_Unit): Minor comment updates. | |
3766 | * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error | |
3767 | setting from with'ed unit to with'ing unit. | |
3768 | * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling | |
3769 | of ambiguity. | |
3770 | ||
acd34364 | 3771 | 2015-02-05 Yannick Moy <moy@adacore.com> |
3772 | ||
3773 | * sem_prag.adb, par-prag.adb: Minor code clean up. | |
3774 | ||
7e6d7ed2 | 3775 | 2015-02-05 Yannick Moy <moy@adacore.com> |
3776 | ||
3777 | * par-prag.adb (Pragma_Warnings): Update for extended form | |
3778 | of pragma Warnings. The "one" argument case may now have 2 or | |
3779 | 3 arguments. | |
3780 | * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for | |
3781 | extended form of pragma Warnings. Pragma with tool name is either | |
3782 | rewritten as null or as an equivalent form without tool name, | |
3783 | before reanalysis. | |
3784 | * snames.ads-tmpl (Name_Gnatprove): New name. | |
3785 | ||
31831d39 | 3786 | 2015-02-05 Robert Dewar <dewar@adacore.com> |
3787 | ||
3788 | * sem_ch13.adb (Add_Invariants): Don't assume invariant is | |
3789 | standard Boolean. | |
3790 | * sem_prag.adb (Analyze_Pragma, case Check): Don't assume | |
3791 | condition is standard Boolean, it can be non-standard derived | |
3792 | Boolean. | |
3793 | ||
3794 | 2015-02-05 Robert Dewar <dewar@adacore.com> | |
3795 | ||
3796 | * checks.adb (Enable_Range_Check): Disconnect attempted | |
3797 | optimization for the case of range check for subscript of | |
3798 | unconstrained array. | |
3799 | ||
3800 | 2015-02-05 Robert Dewar <dewar@adacore.com> | |
3801 | ||
3802 | * par-ch13.adb (With_Present): New function | |
3803 | (Aspect_Specifications_Present): Handle WHEN in place of WITH | |
3804 | (Get_Aspect_Specifications): Comment update. | |
3805 | * par.adb: Comment updates. | |
3806 | ||
3807 | 2015-02-05 Robert Dewar <dewar@adacore.com> | |
3808 | ||
3809 | * errout.adb (Handle_Serious_Error): New setting of Fatal_Error. | |
3810 | * frontend.adb (Frontend): New setting of Fatal_Error. | |
3811 | * lib-load.adb (Create_Dummy_Package_Unit): New setting of | |
3812 | Fatal_Error. | |
3813 | (Load_Main_Source): New setting of Fatal_Error | |
3814 | (Load_Unit): New setting of Fatal_Error. | |
3815 | * lib-writ.adb (Add_Preprocessing_Dependency): New setting of | |
3816 | Fatal_Error. | |
3817 | (Ensure_System_Dependency): New setting of Fatal_Error. | |
3818 | * lib.adb (Fatal_Error): New setting of Fatal_Error | |
3819 | (Set_Fatal_Error): New setting of Fatal_Error. | |
3820 | * lib.ads: New definition of Fatal_Error and associated routines. | |
3821 | * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error. | |
3822 | * par-load.adb (Load): New setting of Fatal_Error. | |
3823 | * rtsfind.adb (Load_RTU): New setting of Fatal_Error. | |
3824 | * sem_ch10.adb (Analyze_Compilation_Unit): New setting of | |
3825 | Fatal_Error. | |
3826 | (Optional_Subunit): New setting of Fatal_Error. | |
3827 | (Analyze_Proper_Body): New setting of Fatal_Error. | |
3828 | (Load_Needed_Body): New setting of Fatal_Error. | |
3829 | ||
3830 | 2015-02-05 Ed Schonberg <schonberg@adacore.com> | |
3831 | ||
3832 | * sem_res.adb (Resolve_Call): If the function being called has | |
3833 | out parameters do not check for language version if the function | |
3834 | comes from a predefined unit, as those are always compiled in | |
3835 | Ada 2012 mode. | |
3836 | ||
3837 | 2015-02-05 Ed Schonberg <schonberg@adacore.com> | |
3838 | ||
3839 | * sem_ch3.adb (Process_Full_View): Verify that the full view | |
3840 | of a type extension must carry an explicit limited keyword if | |
3841 | the partial view does (RM 7.3 (10.1)). | |
3842 | ||
8f469d12 | 3843 | 2015-02-05 Robert Dewar <dewar@adacore.com> |
3844 | ||
3845 | * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads, | |
3846 | sem_warn.ads: Minor reformatting. | |
3847 | * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect | |
3848 | deleted by -gnatI. | |
3849 | * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give | |
3850 | error for abstract type. | |
3851 | ||
258a7f5c | 3852 | 2015-02-05 Yannick Moy <moy@adacore.com> |
3853 | ||
3854 | * opt.ads (Warn_On_Suspicious_Contract): Update comment | |
3855 | describing use. | |
3856 | * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on | |
3857 | suspicious uses of 'Update. | |
3858 | * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New | |
3859 | function issues warning on suspicious uses of 'Update. | |
3860 | * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark | |
3861 | package spec and body as SPARK_Mode Off. | |
3862 | ||
2271bce4 | 3863 | 2015-02-05 Robert Dewar <dewar@adacore.com> |
3864 | ||
3865 | * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name | |
3866 | (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name | |
3867 | (Set_Elab_Unit_Name): Generate reference for Elaborate[_All] | |
3868 | * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning | |
3869 | for exported entity. | |
3870 | ||
4e9026e9 | 3871 | 2015-02-05 Hristian Kirtchev <kirtchev@adacore.com> |
3872 | ||
3873 | * sem_prag.adb (Check_Pragma_Conformance): Add | |
3874 | local variable Arg. Ensure that all errors are associated with | |
3875 | the pragma if it appears without an argument. Add comments on | |
3876 | various cases. | |
3877 | ||
3878 | 2015-02-05 Robert Dewar <dewar@adacore.com> | |
3879 | ||
3880 | * lib-xref.adb: Minor reformatting. | |
3881 | ||
096494f7 | 3882 | 2015-02-05 Tristan Gingold <gingold@adacore.com> |
3883 | ||
ee8f227a | 3884 | PR ada/64349 |
096494f7 | 3885 | * env.c: Fix thinko: handle Darwin case before default one. |
3886 | ||
60a4a5af | 3887 | 2015-01-30 Robert Dewar <dewar@adacore.com> |
3888 | ||
3889 | * a-assert.adb: Minor reformatting. | |
3890 | * sem_ch13.adb: Minor comment clarification. | |
3891 | * types.ads: Minor comment update. | |
3892 | * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up | |
3893 | when we have a predicate that is nothing but an inherited dynamic | |
3894 | predicate. | |
3895 | ||
8efbfcea | 3896 | 2015-01-30 Jerome Guitton <guitton@adacore.com> |
3897 | ||
3898 | * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to | |
3899 | include cert link spec. | |
3900 | ||
643d4979 | 3901 | 2015-01-30 Robert Dewar <dewar@adacore.com> |
3902 | ||
3903 | * einfo.ads: Minor comment fix. | |
3904 | * freeze.adb (Freeze_Profile): Add test for suspicious import | |
3905 | in pure unit. | |
3906 | * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious | |
3907 | use in Pure unit is now moved to Freeze (to properly catch | |
3908 | Pure_Function exemption). | |
3909 | ||
3910 | 2015-01-30 Bob Duff <duff@adacore.com> | |
3911 | ||
3912 | * sem_res.ads: Minor comment fix. | |
3913 | * sem_type.adb: sem_type.adb (Remove_Conversions): Need to | |
3914 | check both operands of an operator. | |
3915 | ||
3916 | 2015-01-30 Yannick Moy <moy@adacore.com> | |
3917 | ||
3918 | * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion | |
3919 | policy for Pre to Ignore. | |
3920 | (Assert): Add precondition. | |
3921 | ||
36123c67 | 3922 | 2015-01-30 Robert Dewar <dewar@adacore.com> |
3923 | ||
3924 | * sem_prag.adb (Process_Import_Or_Interface): Warn if used in | |
3925 | Pure unit. | |
3926 | * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify | |
3927 | documentation for some special cases of invalid attempts at | |
3928 | based integers. | |
3929 | ||
f0ca294b | 3930 | 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
3931 | ||
3932 | * errout.ads: Minor reformatting. | |
3933 | ||
3934 | 2015-01-30 Yannick Moy <moy@adacore.com> | |
3935 | ||
3936 | * inline.adb (Process_Formals): Use the sloc of | |
3937 | the inlined node instead of the sloc of the actual parameter, | |
3938 | when replacing formal parameters by the actual one. | |
3939 | ||
3940 | 2015-01-30 Arnaud Charlet <charlet@adacore.com> | |
3941 | ||
3942 | * g-expect.adb (Get_Command_Output): Use infinite timeout when | |
3943 | calling Expect. | |
3944 | ||
3945 | 2015-01-30 Ed Schonberg <schonberg@adacore.com> | |
3946 | ||
3947 | * sem_ch12.adb (Analyze_Associations): If an in-parameter is | |
3948 | defaulted in an instantiation, add an entry in the list of actuals | |
3949 | to indicate the default value of the formal (as is already done | |
3950 | for defaulted subprograms). | |
3951 | ||
3952 | 2015-01-30 Javier Miranda <miranda@adacore.com> | |
3953 | ||
3954 | * errout.adb (Error_Msg_PT): Minor error phrasing update. | |
3955 | ||
3956 | 2015-01-30 Robert Dewar <dewar@adacore.com> | |
3957 | ||
3958 | * sem_warn.adb (Warn_On_Known_Condition): Improve error message | |
3959 | for object case. | |
3960 | ||
3961 | 2015-01-30 Pierre-Marie de Rodat <derodat@adacore.com> | |
3962 | ||
3963 | * exp_dbug.adb (Get_Encoded_Name): When | |
3964 | -fgnat-encodings=minimal, do not generate names for biased types. | |
3965 | ||
424523e6 | 3966 | 2015-01-30 Tristan Gingold <gingold@adacore.com> |
3967 | ||
3968 | PR ada/64349 | |
3969 | * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS. | |
3970 | ||
0095e7f0 | 3971 | 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
3972 | ||
3973 | * freeze.adb: Minor reformatting. | |
3974 | ||
3975 | 2015-01-30 Javier Miranda <miranda@adacore.com> | |
3976 | ||
3977 | * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and | |
3978 | improve its documentation. | |
3979 | * errout.adb (Error_Msg_PT): Improve the error message. | |
3980 | * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT. | |
3981 | (Check_Synchronized_Overriding): Update call to Error_Msg_PT. | |
3982 | * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup. | |
3983 | ||
3984 | 2015-01-30 Robert Dewar <dewar@adacore.com> | |
3985 | ||
3986 | * sem_warn.adb (Warn_On_Known_Condition): Do special casing of | |
3987 | message for False case. | |
3988 | ||
3989 | 2015-01-30 Doug Rupp <rupp@adacore.com> | |
3990 | ||
3991 | * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body. | |
3992 | * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for | |
3993 | kernel. | |
3994 | ||
097c00c7 | 3995 | 2015-01-30 Gary Dismukes <dismukes@adacore.com> |
3996 | ||
3997 | * sem_attr.adb (Declared_Within_Generic_Unit): | |
3998 | New function to test whether an entity is declared within the | |
3999 | declarative region of a given generic unit. | |
4000 | (Resolve_Attribute): For checking legality of subprogram'Access within | |
4001 | a generic unit, call new Boolean function Declared_Within_Generic_Unit | |
4002 | instead of simply comparing the results of Enclosing_Generic_Unit on | |
4003 | the prefix and access type. Correct minor comment typos. | |
4004 | ||
4005 | 2015-01-30 Robert Dewar <dewar@adacore.com> | |
4006 | ||
4007 | * freeze.adb, exp_util.ads: Update comment. | |
4008 | * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting. | |
4009 | * sem_util.adb: Minor: fix typo. | |
4010 | ||
0e71aace | 4011 | 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com> |
4012 | ||
4013 | * sem_attr.adb (Analyze_Attribute): Ensure that | |
4014 | the check concerning Refined_Post takes precedence over the | |
4015 | other cases. | |
4016 | ||
4017 | 2015-01-30 Gary Dismukes <dismukes@adacore.com> | |
4018 | ||
4019 | * sem_prag.adb: Minor typo fixes and reformatting. | |
4020 | ||
c6c00093 | 4021 | 2015-01-30 Yannick Moy <moy@adacore.com> |
4022 | ||
4023 | * sem_attr.adb: Code clean up. | |
4024 | ||
4025 | 2015-01-30 Robert Dewar <dewar@adacore.com> | |
4026 | ||
4027 | * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record. | |
4028 | * ali.ads (Unit_Record): Add new field Serious_Errors. | |
4029 | * lib-writ.adb (Write_Unit_Information): Set SE (serious errors) | |
4030 | attribute in U line. | |
4031 | * lib-writ.ads: New attribute SE (serious erors) in unit line. | |
4032 | ||
4033 | 2015-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
4034 | ||
4035 | * einfo.adb Update the usage of attributes Entry_Bodies_Array, | |
4036 | Lit_Indexes, Scale_Value, Storage_Size_Variable, | |
4037 | String_Literal_Low_Bound along associated routines and | |
4038 | Write_FieldX_Name. | |
4039 | (Pending_Access_Types): New routine. | |
4040 | (Set_Pending_Access_Types): New routine. | |
4041 | (Write_Field15_Name): Add an entry for Pending_Access_Types. | |
4042 | * einfo.ads Add new attribute Pending_Access_Types along | |
4043 | with usage in nodes. Update the usage of attributes | |
4044 | Entry_Bodies_Array, Lit_Indexes, Scale_Value, | |
4045 | Storage_Size_Variable, String_Literal_Low_Bound. | |
4046 | (Pending_Access_Types): New routine along with pragma Inline. | |
4047 | (Set_Pending_Access_Types): New routine along with pragma Inline. | |
4048 | * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable | |
4049 | Ins_Node. Determine the insertion node for anonynous access type | |
4050 | that acts as a component type of an array. Update the call to | |
4051 | Build_Finalization_Master. | |
4052 | (Expand_Freeze_Record_Type): Update | |
4053 | the calls to Build_Finalization_Master. | |
4054 | (Freeze_Type): Remove | |
4055 | local variable RACW_Seen. Factor out the code that deals with | |
4056 | remote access-to-class-wide types. Create a finalization master | |
4057 | when the designated type contains a private component. Fully | |
4058 | initialize all pending access types. | |
4059 | (Process_RACW_Types): New routine. | |
4060 | (Process_Pending_Access_Types): New routine. | |
4061 | * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer | |
4062 | needs to set primitive Finalize_Address. | |
4063 | (Expand_N_Allocator): Allocation no longer sets primitive | |
4064 | Finalize_Address. | |
4065 | * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call): | |
4066 | Update the call to Build_Finalization_Master. | |
4067 | (Make_Build_In_Place_Call_In_Allocator): Allocation no longer | |
4068 | needs to set primitive Finalize_Address. | |
4069 | * exp_ch7.adb (Add_Pending_Access_Type): New routine. | |
4070 | (Build_Finalization_Master): New parameter profile. Associate | |
4071 | primitive Finalize_Address with the finalization master if the | |
4072 | designated type has been frozen, otherwise treat the access | |
4073 | type as pending. Simplify the insertion of the master and | |
4074 | related initialization code. | |
4075 | (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide | |
4076 | abstract types. | |
4077 | (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ. | |
4078 | Simplify the implementation. | |
4079 | * exp_ch7.ads (Build_Finalization_Master): New parameter profile | |
4080 | along with comment on usage. | |
4081 | (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update | |
4082 | the comment on usage. | |
4083 | * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine | |
4084 | Finalize_Address to retrieve the primitive. | |
4085 | (Finalize_Address): New routine. | |
4086 | (Find_Finalize_Address): Removed. | |
4087 | * exp_util.ads (Finalize_Address): New routine. | |
4088 | * freeze.adb (Freeze_All): Remove the generation of finalization | |
4089 | masters. | |
4090 | * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any | |
4091 | pending access types from the partial to the full view. | |
4092 | ||
92331796 | 4093 | 2015-01-30 Robert Dewar <dewar@adacore.com> |
4094 | ||
4095 | * sem_disp.adb: Minor reformatting. | |
4096 | * sem_disp.ads: Documentation update. | |
4097 | ||
be19d090 | 4098 | 2015-01-30 Ed Schonberg <schonberg@adacore.com> |
4099 | ||
4100 | * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity | |
4101 | or a function call, return True if type is class-wide. | |
4102 | * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression); | |
4103 | Apply RM 4.5.7 (17/3): all or none of the dependent expression | |
4104 | of a conditional expression must be dynamically tagged. | |
4105 | ||
023f7c07 | 4106 | 2015-01-30 Ed Schonberg <schonberg@adacore.com> |
4107 | ||
4108 | * sem_ch6.adb (Analyze_Function_Return): In an extended return | |
4109 | statement, apply accessibility check to result object when there | |
4110 | is no initializing expression (Ada 2012 RM 6.5 (5.4/3)) | |
4111 | ||
4112 | 2015-01-30 Robert Dewar <dewar@adacore.com> | |
4113 | ||
4114 | * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard | |
4115 | Boolean for case where ELSE is omitted. | |
4116 | * sem_res.adb: Minor reformatting. | |
4117 | ||
bfa84112 | 4118 | 2015-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de> |
4119 | ||
4120 | Fix build under cygwin/64. | |
4121 | * adaint.h: Add check for __CYGWIN__. | |
4122 | * mingw32.h: Prevent windows.h from including x86intrin.h in GCC. | |
4123 | ||
3009c025 | 4124 | 2015-01-19 Bernd Edlinger <bernd.edlinger@hotmail.de> |
4125 | ||
4126 | PR ada/64640 | |
4127 | * adaint.c: Handle __CYGWIN__ like __MINGW32__ here. | |
4128 | * mingw32.h: Don't include <tchar.h> under cygwin. | |
4129 | (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined. | |
4130 | ||
ca4c3545 | 4131 | 2015-01-15 Thomas Schwinge <thomas@codesourcery.com> |
4132 | ||
4133 | * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8) | |
4134 | (DEF_FUNCTION_TYPE_VAR_12): New macros. | |
4135 | ||
1f78217c | 4136 | 2015-01-09 Michael Collison <michael.collison@linaro.org> |
4137 | ||
4138 | * gcc-interface/cuintp.c: Include hash-set.h, machmode.h, | |
4139 | vec.h, double-int.h, input.h, alias.h, symtab.h, | |
4140 | fold-const.h, wide-int.h, and inchash.h due to | |
4141 | flattening of tree.h. | |
4142 | * gcc-interface/decl.c: Ditto. | |
4143 | * gcc-interface/misc.c: Ditto. | |
4144 | * gcc-interface/targtyps.c: Include hash-set.h, machmode.h, | |
4145 | vec.h, double-int.h, input.h, alias.h, symtab.h, options.h, | |
4146 | fold-const.h, wide-int.h, and inchash.h due to | |
4147 | flattening of tree.h. | |
4148 | * gcc-interface/trans.c: Include hash-set.h, machmode.h, | |
4149 | vec.h, double-int.h, input.h, alias.h, symtab.h, real.h, | |
4150 | fold-const.h, wide-int.h, inchash.h due to | |
4151 | flattening of tree.h. | |
4152 | * gcc-interface/utils.c: Include hash-set.h, machmode.h, | |
4153 | vec.h, double-int.h, input.h, alias.h, symtab.h, | |
4154 | fold-const.h, wide-int.h, and inchash.h due to | |
4155 | flattening of tree.h. | |
4156 | * gcc-interface/utils2.c: Ditto. | |
4157 | ||
e49e52ca | 4158 | 2015-01-07 Robert Dewar <dewar@adacore.com> |
4159 | ||
4160 | * sem_warn.adb (Check_One_Unit): Don't give unused entities | |
4161 | warning for a package which is used as a generic parameter. | |
4162 | ||
4163 | 2015-01-07 Bob Duff <duff@adacore.com> | |
4164 | ||
4165 | * usage.adb (Usage): Correct documentation of | |
4166 | -gnatw.f switches. | |
4167 | ||
4168 | 2015-01-07 Robert Dewar <dewar@adacore.com> | |
4169 | ||
4170 | * s-fileio.adb: Minor reformatting. | |
4171 | ||
4172 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4173 | ||
4174 | * sem_ch12.adb (Instantiate_Object): If formal is an anonymous | |
4175 | access to subprogram, replace its formals with new entities when | |
4176 | building the object declaration, both if actual is present and | |
4177 | when it is defaulted. | |
4178 | ||
4179 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4180 | ||
4181 | * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view | |
4182 | conversion and type of expression has invariant, apply invariant | |
4183 | check on expression. | |
4184 | ||
4185 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4186 | ||
4187 | * sem_ch3.adb (Create_Constrained_Components): A call to | |
4188 | Gather_Components may detect an error if an inherited discriminant | |
4189 | that controls a variant is non-static. | |
4190 | * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to | |
4191 | Gather_Components may report an error if an inherited discriminant | |
4192 | in a variant in non-static. | |
4193 | * sem_util.adb (Gather_Components): If a non-static discriminant | |
4194 | is inherited do not report error here, but let caller handle it. | |
4195 | (Find_Actual): Small optimization. | |
4196 | ||
56e11f12 | 4197 | 2015-01-07 Bob Duff <duff@adacore.com> |
4198 | ||
4199 | * usage.adb (Usage): Document -gnatw.f switch. | |
4200 | ||
4201 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4202 | ||
4203 | * sem_ch12.adb: Code clean up and minor reformatting. | |
4204 | ||
4205 | 2015-01-07 Robert Dewar <dewar@adacore.com> | |
4206 | ||
4207 | * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for | |
4208 | Raise_Accessibility_Error call. | |
4209 | * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation | |
4210 | on handling of invalid digits in based constants. | |
4211 | * s-fatgen.ads: Minor reformatting. | |
4212 | * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access): | |
4213 | Avoid noting bogus modification for Valid test. | |
4214 | * snames.ads-tmpl (Name_Attr_Long_Float): New Name. | |
4215 | * einfo.ads: Minor reformatting. | |
4216 | * sem_warn.adb: Minor comment clarification. | |
4217 | * sem_ch12.adb: Minor reformatting. | |
4218 | ||
6fe98650 | 4219 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> |
4220 | ||
4221 | * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops | |
4222 | over static predicates when the loop parameter specification | |
4223 | carries a Reverse indicator. | |
4224 | ||
4225 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4226 | ||
4227 | * sem_ch12.adb (Instantiate_Object): If formal has a default, | |
4228 | actual is missing and formal has an anonymous access type, copy | |
4229 | access definition in full so that tree for instance is properly | |
4230 | formatted for ASIS use. | |
4231 | ||
4232 | 2015-01-07 Bob Duff <duff@adacore.com> | |
4233 | ||
4234 | * sem_elab.adb (Check_Internal_Call_Continue): Give a warning | |
4235 | for P'Access, where P is a subprogram in the same package as | |
4236 | the P'Access, and the P'Access is evaluated at elaboration | |
4237 | time, and occurs before the body of P. For example, "X : T := | |
4238 | P'Access;" would allow a subsequent call to X.all to be an | |
4239 | access-before-elaboration error; hence the warning. This warning | |
4240 | is enabled by the -gnatw.f switch. | |
4241 | * opt.ads (Warn_On_Elab_Access): New flag for warning switch. | |
4242 | * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access. | |
4243 | * gnat_ugn.texi: Document the new warning. | |
4244 | ||
2d138c7f | 4245 | 2015-01-07 Johannes Kanig <kanig@adacore.com> |
4246 | ||
4247 | * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded | |
4248 | cross ref files. | |
4249 | ||
e2c7aa50 | 4250 | 2015-01-07 Robert Dewar <dewar@adacore.com> |
4251 | ||
4252 | * s-taprop-linux.adb, clean.adb: Minor reformatting. | |
4253 | ||
4254 | 2015-01-07 Arnaud Charlet <charlet@adacore.com> | |
4255 | ||
4256 | * s-tassta.adb: Relax some overzealous assertions. | |
4257 | ||
4258 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4259 | ||
4260 | * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited | |
4261 | view of a type is legal when context is a thunk generated for | |
4262 | operation inherited from an interface. | |
4263 | * exp_ch6.adb (Expand_Simple_Function_Return): If context is | |
4264 | a thunk and return type is an incomplete type do not continue | |
4265 | expansion; thunk will be fully elaborated when generating code. | |
4266 | ||
4267 | 2015-01-07 Doug Rupp <rupp@adacore.com> | |
4268 | ||
4269 | * s-osinte-mingw.ads (LARGE_INTEGR): New subtype. | |
4270 | (QueryPerformanceFrequency): New imported procedure. | |
4271 | * s-taprop-mingw.adb (RT_Resolution): Call above and return | |
4272 | resolution vice a hardcoded value. | |
4273 | * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return | |
4274 | resolution vice a hardcoded value. | |
4275 | * s-linux-android.ads (clockid_t): New subtype. | |
4276 | * s-osinte-aix.ads (clock_getres): New imported subprogram. | |
4277 | * s-osinte-android.ads (clock_getres): Likewise. | |
4278 | * s-osinte-freebsd.ads (clock_getres): Likewise. | |
4279 | * s-osinte-solaris-posix.ads (clock_getres): Likewise. | |
4280 | * s-osinte-darwin.ads (clock_getres): New subprogram. | |
4281 | * s-osinte-darwin.adb (clock_getres): New subprogram. | |
4282 | * thread.c (__gnat_clock_get_res) [__APPLE__]: New function. | |
4283 | * s-taprop-posix.adb (RT_Resolution): Call clock_getres to | |
4284 | calculate resolution vice hard coded value. | |
4285 | ||
4286 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4287 | ||
4288 | * exp_util.adb (Make_CW_Equivalent_Type): If root type is a | |
4289 | limited view, use non-limited view when available to create | |
4290 | equivalent record type. | |
4291 | ||
4292 | 2015-01-07 Vincent Celier <celier@adacore.com> | |
4293 | ||
4294 | * gnatcmd.adb: Remove command Sync and any data and processing | |
4295 | related to this command. Remove project processing for gnatstack. | |
4296 | * prj-attr.adb: Remove package Synchonize and its attributes. | |
4297 | ||
86c324a6 | 4298 | 2015-01-07 Vincent Celier <celier@adacore.com> |
4299 | ||
4300 | * clean.adb: Minor error message change. | |
4301 | ||
4302 | 2015-01-07 Tristan Gingold <gingold@adacore.com> | |
4303 | ||
4304 | PR ada/64349 | |
4305 | * env.c (__gnat_environ): Adjust for darwin9/darwin10. | |
4306 | ||
4307 | 2015-01-07 Javier Miranda <miranda@adacore.com> | |
4308 | ||
4309 | * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq | |
4310 | protect the frontend against never ending recursion caused by | |
4311 | circularities in the sources. | |
4312 | ||
5f02e527 | 4313 | 2015-01-07 Robert Dewar <dewar@adacore.com> |
4314 | ||
4315 | * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb, | |
4316 | exp_ch3.adb: Minor reformatting. | |
4317 | ||
4318 | 2015-01-07 Doug Rupp <rupp@adacore.com> | |
4319 | ||
4320 | * s-linux.ads (clockid_t): New subtype. | |
4321 | * s-osinte-linux.ads (pragma Linker Options): Add -lrt. | |
4322 | (clockid_t): New subtype. | |
4323 | (clock_getres): Import system call. | |
4324 | * s-taprop-linux.adb (System.OS_Constants): With and rename. | |
4325 | (RT_Resolution): Remove | |
4326 | hardcoded value and call clock_getres. | |
4327 | * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads, | |
4328 | s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype. | |
4329 | ||
4330 | 2015-01-07 Robert Dewar <dewar@adacore.com> | |
4331 | ||
4332 | * sem_warn.adb (Check_One_Unit): Guard against context item | |
4333 | with no Entity field. | |
4334 | ||
6ce3c25b | 4335 | 2015-01-07 Vincent Celier <celier@adacore.com> |
4336 | ||
4337 | * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete. | |
4338 | * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete. | |
4339 | ||
4340 | 2015-01-07 Vincent Celier <celier@adacore.com> | |
4341 | ||
4342 | * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize | |
4343 | errors/warnings in the first parsing of the project files, | |
4344 | to display the warnings when there is no errors. | |
4345 | ||
4346 | 2015-01-07 Tristan Gingold <gingold@adacore.com> | |
4347 | ||
4348 | * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target. | |
4349 | ||
4350 | 2015-01-07 Doug Rupp <rupp@adacore.com> | |
4351 | ||
4352 | * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return | |
4353 | value from Int_Lock as parameter to Int_Unlock. | |
4354 | * s-osinte-vxworks.ads (Int_Unlock): Add parameter. | |
4355 | * s-vxwext.ads (Int_Unlock): Likewise. | |
4356 | * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise. | |
4357 | * s-vxwext-kernel.ads (Int_Unlock): Likewise. | |
4358 | * s-vxwext-rtp.adb (Int_Unlock): Likewise. | |
4359 | * s-vxwext-rtp.ads (Int_Unlock): Likewise. | |
4360 | ||
4361 | 2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com> | |
4362 | ||
4363 | * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we | |
4364 | keep ___XP suffixes | |
4365 | ||
0538cc4b | 4366 | 2015-01-07 Tristan Gingold <gingold@adacore.com> |
4367 | ||
4368 | * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to | |
4369 | handle overlap. | |
4370 | ||
4371 | 2015-01-07 Eric Botcazou <ebotcazou@adacore.com> | |
4372 | ||
4373 | * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not | |
4374 | automatically set No_Strict_Aliasing on access types. | |
4375 | * fe.h (No_Strict_Aliasing_CP): Declare. | |
4376 | * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if | |
4377 | No_Strict_Aliasing_CP is set. | |
4378 | ||
4379 | 2015-01-07 Johannes Kanig <kanig@adacore.com> | |
4380 | ||
4381 | * sem_ch8.adb (Analyze_Subprogram_Renaming) do | |
4382 | not build function wrapper in gnatprove mode when the package | |
4383 | is externally axiomatized. | |
4384 | ||
4385 | 2015-01-07 Jose Ruiz <ruiz@adacore.com> | |
4386 | ||
4387 | * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in | |
4388 | intermediate computations when the parameters have different signs. | |
4389 | ||
4390 | 2015-01-07 Javier Miranda <miranda@adacore.com> | |
4391 | ||
4392 | * exp_ch3.adb (Build_Init_Procedure): For derived types, | |
4393 | improve the code which takes care of identifying and moving to | |
4394 | the beginning of the init-proc the call to the init-proc of the | |
4395 | parent type. | |
4396 | ||
29956ab5 | 4397 | 2015-01-07 Olivier Hainque <hainque@adacore.com> |
4398 | ||
4399 | * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>): | |
4400 | Elaborate the expression as part of the same stmt group as the actions. | |
4401 | ||
2f059141 | 4402 | 2015-01-07 Robert Dewar <dewar@adacore.com> |
4403 | ||
4404 | * sem_ch3.adb: Minor error message change. | |
4405 | ||
4406 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4407 | ||
4408 | * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization): | |
4409 | Following AI05-028, the pragam applies legally to any composite type. | |
4410 | ||
b29768cb | 4411 | 2015-01-07 Arnaud Charlet <charlet@adacore.com> |
4412 | ||
4413 | * s-osinte-vxworks.adb, s-osinte-vxworks.ads | |
4414 | (sigwait, sigwaitinfo): Removed, not needed after all on any | |
4415 | VxWorks configurations. | |
4416 | ||
4417 | 2015-01-07 Robert Dewar <dewar@adacore.com> | |
4418 | ||
4419 | * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting. | |
4420 | ||
cbd025d6 | 4421 | 2015-01-07 Javier Miranda <miranda@adacore.com> |
4422 | ||
4423 | * exp_disp.adb (Expand_Interface_Conversion): Adding missing | |
4424 | generation of accessibility check. | |
4425 | ||
4426 | 2015-01-07 Ed Schonberg <schonberg@adacore.com> | |
4427 | ||
4428 | * sem_ch3.adb (Derived_Type_Declaration): In the case of an | |
4429 | illegal completion from a class- wide type, set etype of the | |
4430 | derived type properly to prevent cascaded errors. | |
4431 | ||
5a74b759 | 4432 | 2015-01-07 Robert Dewar <dewar@adacore.com> |
4433 | ||
4434 | * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor | |
4435 | reformatting. | |
4436 | ||
4437 | 2015-01-07 Robert Dewar <dewar@adacore.com> | |
4438 | ||
4439 | * restrict.adb (Check_Restriction_No_Use_Of_Attribute): | |
4440 | New procedure. | |
4441 | (OK_No_Use_Of_Entity_Name): New function. | |
4442 | (Set_Restriction_No_Use_Of_Entity): New procedure. | |
4443 | * restrict.ads (Check_Restriction_No_Use_Of_Attribute): | |
4444 | New procedure. | |
4445 | (OK_No_Use_Of_Entity_Name): New function. | |
4446 | (Set_Restriction_No_Use_Of_Entity): New procedure. | |
4447 | * sem_ch8.adb (Find_Direct_Name): Add check for violation of | |
4448 | No_Use_Of_Entity. | |
4449 | * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
4450 | Add processing for new restriction No_Use_Of_Entity. | |
4451 | ||
b10d0fb9 | 4452 | 2015-01-07 Eric Botcazou <ebotcazou@adacore.com> |
4453 | ||
4454 | * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic | |
4455 | component type as to Has_Atomic_Components type. Remove useless | |
4456 | test on Is_Aliased component type. | |
4457 | ||
360b005f | 4458 | 2015-01-07 Hristian Kirtchev <kirtchev@adacore.com> |
4459 | ||
4460 | * alloc.ads Alphabetize several declarations. Add constants | |
4461 | Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment. | |
4462 | * atree.adb Add with and use clauses for Opt. | |
4463 | (Allocate_Initialize_Node): Mark a node as ignored Ghost | |
4464 | if it is created in an ignored Ghost region. | |
4465 | (Ekind_In): New variant. | |
4466 | (Is_Ignored_Ghost_Node): New routine. | |
4467 | (Set_Is_Ignored_Ghost_Node): New routine. | |
4468 | * atree.adb Aplhabetize several subprograms declarations. Flag | |
4469 | Spare0 is now known as Is_Ignored_Ghost_Node. | |
4470 | (Ekind_In): New variant. | |
4471 | (Is_Ignored_Ghost_Node): New routine. | |
4472 | (Set_Is_Ignored_Ghost_Node): New routine. | |
4473 | * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code. | |
4474 | (Contains_Ignored_Ghost_Code): New routine. | |
4475 | (Set_Contains_Ignored_Ghost_Code): New routine. | |
4476 | (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity): | |
4477 | It is now possible to set this property on an unanalyzed entity. | |
4478 | (Write_Entity_Flags): Output the status of flag | |
4479 | Contains_Ignored_Ghost_Code. | |
4480 | * einfo.ads New attribute Contains_Ignored_Ghost_Code along with | |
4481 | usage in nodes. | |
4482 | (Contains_Ignored_Ghost_Code): New routine | |
4483 | along with pragma Inline. | |
4484 | (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline. | |
4485 | * exp_ch3.adb Add with and use clauses for Ghost. | |
4486 | (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit. | |
4487 | Set the Ghost_Mode in effect. | |
4488 | (Restore_Globals): New routine. | |
4489 | * exp_ch7.adb (Process_Declarations): Do not process a context | |
4490 | that invoves an ignored Ghost entity. | |
4491 | * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost | |
4492 | construct that has been rewritten as a null statement. | |
4493 | * exp_disp.adb Add with and use clauses for Ghost. | |
4494 | (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set | |
4495 | the Ghost_Mode in effect. | |
4496 | (Restore_Globals): New routine. | |
4497 | * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity | |
4498 | does not require any clean up. Add two missing cases that deal | |
4499 | with block statements. | |
4500 | * freeze.adb Add with and use clauses for Ghost. | |
4501 | (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit. | |
4502 | Set the Ghost_Mode in effect. | |
4503 | (Restore_Globals): New routine. | |
4504 | * frontend.adb Add with and use clauses for Ghost. Remove any | |
4505 | ignored Ghost code from all units that qualify. | |
4506 | * ghost.adb New unit. | |
4507 | * ghost.ads New unit. | |
4508 | * gnat1drv.adb Add with clause for Ghost. Initialize and lock | |
4509 | the table in package Ghost. | |
4510 | * lib.ads: Alphabetize several subprogram declarations. | |
4511 | * lib-xref.adb (Output_References): Do not generate reference | |
4512 | information for ignored Ghost entities. | |
4513 | * opt.ads Add new type Ghost_Mode_Type and new global variable | |
4514 | Ghost_Mode. | |
4515 | * rtsfind.adb (Load_RTU): Provide a clean environment when | |
4516 | loading a runtime unit. | |
4517 | * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on | |
4518 | entry/exit as the node may set a different mode. | |
4519 | (Do_Analyze): | |
4520 | Capture/restore the value of Ghost_Mode on entry/exit as the | |
4521 | unit may be withed from a unit with a different Ghost mode. | |
4522 | * sem_ch3.adb Add with and use clauses for Ghost. | |
4523 | (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl, | |
4524 | Analyze_Number_Declaration, Analyze_Private_Extension_Declaration, | |
4525 | Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark | |
4526 | the entity as Ghost when there is a Ghost_Mode in effect. | |
4527 | (Array_Type_Declaration): The implicit base type inherits the | |
4528 | "ghostness" from the array type. | |
4529 | (Derive_Subprogram): The | |
4530 | alias inherits the "ghostness" from the parent subprogram. | |
4531 | (Make_Implicit_Base): The implicit base type inherits the | |
4532 | "ghostness" from the parent type. | |
4533 | * sem_ch5.adb Add with and use clauses for Ghost. | |
4534 | (Analyze_Assignment): Set the Ghost_Mode in effect. | |
4535 | * sem_ch6.adb Add with and use clauses for Ghost. | |
4536 | (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call, | |
4537 | Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration): | |
4538 | Set the Ghost_Mode in effect. Mark the entity as Ghost when | |
4539 | there is a Ghost_Mode in effect. | |
4540 | * sem_ch7.adb Add with and use clauses for Ghost. | |
4541 | (Analyze_Package_Body_Helper, Analyze_Package_Declaration, | |
4542 | Analyze_Private_Type_Declaration): Set the Ghost_Mode in | |
4543 | effect. Mark the entity as Ghost when there is a Ghost_Mode | |
4544 | in effect. | |
4545 | * sem_ch8.adb Add with and use clauses for Ghost. | |
4546 | (Analyze_Exception_Renaming, Analyze_Generic_Renaming, | |
4547 | Analyze_Object_Renaming, Analyze_Package_Renaming, | |
4548 | Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark | |
4549 | the entity as Ghost when there is a Ghost_Mode in effect. | |
4550 | (Find_Type): Check the Ghost context of a type. | |
4551 | * sem_ch11.adb Add with and use clauses for Ghost. | |
4552 | (Analyze_Exception_Declaration): Set the Ghost_Mode in | |
4553 | effect. Mark the entity as Ghost when there is a Ghost_Mode | |
4554 | in effect. | |
4555 | * sem_ch12.adb Add with and use clauses for Ghost. | |
4556 | (Analyze_Generic_Package_Declaration, | |
4557 | Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect. | |
4558 | Mark the entity as Ghost when there is a Ghost_Mode in effect. | |
4559 | * sem_prag.adb Add with and use clauses for Ghost. | |
4560 | (Analyze_Pragma): Ghost-related checks are triggered when there | |
4561 | is a Ghost mode in effect. | |
4562 | (Create_Abstract_State): Mark the | |
4563 | entity as Ghost when there is a Ghost_Mode in effect. | |
4564 | * sem_res.adb Add with and use clauses for Ghost. | |
4565 | (Check_Ghost_Context): Removed. | |
4566 | * sem_util.adb (Check_Ghost_Completion): Removed. | |
4567 | (Check_Ghost_Derivation): Removed. | |
4568 | (Incomplete_Or_Partial_View): | |
4569 | Add a guard in case the entity has not been analyzed yet | |
4570 | and does carry a scope. | |
4571 | (Is_Declaration): New routine. | |
4572 | (Is_Ghost_Entity): Removed. | |
4573 | (Is_Ghost_Statement_Or_Pragma): | |
4574 | Removed. | |
4575 | (Is_Subject_To_Ghost): Removed. | |
4576 | (Set_Is_Ghost_Entity): | |
4577 | Removed. | |
4578 | (Within_Ghost_Scope): Removed. | |
4579 | * sem_util.adb (Check_Ghost_Completion): Removed. | |
4580 | (Check_Ghost_Derivation): Removed. | |
4581 | (Is_Declaration): New routine. | |
4582 | (Is_Ghost_Entity): Removed. | |
4583 | (Is_Ghost_Statement_Or_Pragma): Removed. | |
4584 | (Is_Subject_To_Ghost): Removed. | |
4585 | (Set_Is_Ghost_Entity): Removed. | |
4586 | (Within_Ghost_Scope): Removed. | |
4587 | * sinfo.ads Add a section on Ghost mode. | |
4588 | * treepr.adb (Print_Header_Flag): New routine. | |
4589 | (Print_Node_Header): Factor out code. Output flag | |
4590 | Is_Ignored_Ghost_Node. | |
4591 | * gcc-interface/Make-lang.in: Add dependency for unit Ghost. | |
4592 | ||
a8715461 | 4593 | 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
4594 | ||
4595 | * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always | |
4596 | true test and unreachable 'else' arm. | |
4597 | ||
1aca674a | 4598 | 2015-01-06 Vincent Celier <celier@adacore.com> |
4599 | ||
4600 | * prj-conf.adb (Check_Target): Improve error message when | |
4601 | there are mismatched targets between the on in the configuration | |
4602 | project file and the specified one, either in the main project | |
4603 | file or in the --target= switch. | |
4604 | ||
4605 | 2015-01-06 Pascal Obry <obry@adacore.com> | |
4606 | ||
4607 | * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and | |
4608 | Install_Name attribute definitions. | |
4609 | ||
4610 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
4611 | ||
4612 | * freeze.adb (Wrap_Imported_Subprogram): Indicate that the | |
4613 | generated Import pragma for the internal imported procedure does | |
4614 | not come from an aspect, so that Is_Imported can be properly | |
4615 | set for it. | |
4616 | ||
4617 | 2015-01-06 Gary Dismukes <dismukes@adacore.com> | |
4618 | ||
4619 | * sem_ch12.adb (Might_Inline_Subp): Record whether | |
4620 | any subprograms in the generic package are marked with | |
4621 | pragma Inline_Always (setting flag Has_Inline_Always). | |
4622 | (Analyze_Package_Instantiation): Add test of Has_Inline_Always | |
4623 | alongside existing test of Front_End_Inlining as alternative | |
4624 | conditions for setting Inline_Now. Also add test of | |
4625 | Has_Inline_Always along with Front_End_Inlining test as an | |
4626 | alternative condition for setting Needs_Body to False. | |
4627 | ||
4628 | 2015-01-06 Tristan Gingold <gingold@adacore.com> | |
4629 | ||
4630 | * i-cpoint.adb (Copy_Array): Handle overlap. | |
4631 | ||
f7cb0e88 | 4632 | 2015-01-06 Pascal Obry <obry@adacore.com> |
4633 | ||
4634 | * bindgen.adb: Minor style fix. | |
4635 | ||
4636 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4637 | ||
4638 | * sem_util.ads, sem_util.adb: Minor reformatting. | |
4639 | ||
4640 | 2015-01-06 Vincent Celier <celier@adacore.com> | |
4641 | ||
4642 | * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete | |
4643 | with flags before parsing the projects. | |
4644 | * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs. | |
4645 | * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs | |
4646 | to True in the flags, when Ignore_Missing_With is True and an | |
4647 | imported project cannot be found. | |
4648 | * prj-proc.adb (Expression): When there are incomplete withs and | |
4649 | a variable or attribute is not found, set the variable/attribute | |
4650 | to unknown. | |
4651 | * prj.ads (Processing_Flags): New flag Incomplete_Withs, | |
4652 | defaulted to False. | |
4653 | ||
4654 | 2015-01-06 Vasiliy Fofanov <fofanov@adacore.com> | |
4655 | ||
4656 | * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb, | |
4657 | prj-err.adb: Add new switch --no-command-line. | |
4658 | ||
555d84e1 | 4659 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
4660 | ||
4661 | * sem_ch12.adb: Sloc of wrapper is that of instantiation. | |
4662 | ||
4663 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4664 | ||
4665 | * sem_ch11.adb: Minor reformatting. | |
4666 | ||
4667 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
4668 | ||
4669 | * exp_aggr.adb (Get_Assoc_Expr): New routine internal to | |
4670 | Build_Array_Aggr_Code, used to initialized components covered | |
4671 | by a box association. If the component type is scalar and has | |
4672 | a default aspect, use it to initialize such components. | |
4673 | ||
4674 | 2015-01-06 Pascal Obry <obry@adacore.com> | |
4675 | ||
4676 | * rtinit.c (__gnat_runtime_initialize): Add a parameter to | |
4677 | control the setup of the exception handler. | |
4678 | * initialize.c: Remove unused declaration. | |
4679 | * bindgen.adb: Always call __gnat_runtime_initialize and pass | |
4680 | whether the exeception handler must be set or not. | |
4681 | ||
7e0d01bf | 4682 | 2015-01-06 Thomas Quinot <quinot@adacore.com> |
4683 | ||
4684 | * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage | |
4685 | order to native from default, make sure to also adjust bit order. | |
4686 | * exp_aggr.adb: Minor reformatting. | |
4687 | ||
4688 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4689 | ||
4690 | * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads, | |
4691 | s-valrea.adb, s-valrea.ads: Add some additional guards for | |
4692 | Str'Last = Positive'Last. | |
4693 | ||
4694 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
4695 | ||
4696 | * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual | |
4697 | subprograms. | |
4698 | ||
4699 | 2015-01-06 Javier Miranda <miranda@adacore.com> | |
4700 | ||
4701 | * exp_disp.adb (Expand_Interface_Conversion): Reapply patch. | |
4702 | ||
86affdbd | 4703 | 2015-01-06 Thomas Quinot <quinot@adacore.com> |
4704 | ||
4705 | * sem_util.ads: Minor reformatting. | |
4706 | * sem_cat.adb (In_RCI_Visible_Declarations): Change back to... | |
4707 | (In_RCI_Declaration) Return to old name, as proper checking of | |
4708 | entity being in the visible part depends on entity kind and must | |
4709 | be done by the caller. | |
4710 | ||
426294ba | 4711 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
4712 | ||
4713 | * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers | |
4714 | for operators in SPARK. | |
4715 | ||
426294ba | 4716 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
4717 | ||
4718 | * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the | |
4719 | expression in an others association before making copies for | |
4720 | separate resolution and accessibility checks. This ensures that | |
4721 | the type of the expression is available to ASIS in all cases, | |
4722 | in particular if the expression is itself an aggregate. | |
4723 | ||
827deff3 | 4724 | 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
4725 | ||
4726 | * einfo.ads (Has_Independent_Components): Document extended | |
4727 | usage. | |
4728 | * einfo.adb (Has_Independent_Components): Remove obsolete assertion. | |
4729 | (Set_Has_Independent_Components): Adjust assertion. | |
4730 | * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components | |
4731 | for pragma Atomic_Components. Set Has_Independent_Components | |
4732 | on the object instead of the type for an object declaration with | |
4733 | pragma Independent_Components. | |
4734 | ||
4735 | 2015-01-06 Olivier Hainque <hainque@adacore.com> | |
4736 | ||
4737 | * set_targ.adb (Read_Target_Dependent_Values): Set | |
4738 | Long_Double_Index when "long double" is read. | |
4739 | (elaboration code): Register_Back_End_Types only when not reading from | |
4740 | config files. Doing otherwise is pointless and error prone. | |
4741 | ||
4742 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4743 | ||
4744 | * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last | |
4745 | ||
4746 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4747 | ||
4748 | * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if | |
4749 | Str'Last = Positive'Last. | |
4750 | ||
4751 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
4752 | ||
4753 | * sem_ch6.adb (Matches_Limited_View): Handle properly the case | |
4754 | where the non-limited type is a generic actual and appears as | |
4755 | a subtype of the non-limited view of the other. | |
4756 | * freeze.adb (Build_Renamed_Body): If the return type of the | |
4757 | declaration that is being completed is a limited view and the | |
4758 | non-limited view is available, use it in the specification of | |
4759 | the generated body. | |
4760 | ||
827deff3 | 4761 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
4762 | ||
4763 | * sem_ch3.adb (Find_Type_Name): If there is a previous tagged | |
4764 | incomplete view, the type of the classwide type common to both | |
4765 | views is the type being declared. | |
4766 | ||
9300973d | 4767 | 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
4768 | ||
4769 | * einfo.ads (Is_Independent): Further document extended usage. | |
4770 | ||
8d7e6570 | 4771 | 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> |
4772 | ||
4773 | * einfo.ads (Is_Independent): Document extended usage. | |
4774 | * einfo.adb (Is_Independent): Remove obsolete assertion. | |
4775 | (Set_Is_Independent): Likewise. | |
4776 | * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into... | |
4777 | (Process_Atomic_Independent_Shared_Volatile): ...this. | |
4778 | Deal with pragma Independent here. | |
4779 | (Analyze_Pragma): Adjust | |
4780 | to above renaming and also invoke it for pragma Independent. | |
4781 | Adjust comment for Independent_Components. | |
4782 | ||
9a4463ea | 4783 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
4784 | ||
4785 | * snames.ads-tmpl: Remove entries for attribute Enum_Image. | |
4786 | * exp_attr.adb: Remove reference to Attribute_Enum_Image. | |
4787 | ||
4788 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4789 | ||
4790 | * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last | |
4791 | = Positive'Last. | |
4792 | * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of | |
4793 | Str'Last = Positive'Last. | |
4794 | ||
4795 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4796 | ||
4797 | * sem_prag.adb (Process_Inline): Remove redundant construct | |
4798 | warning (-gnatw.r) for an ineffective pragma Inline. | |
4799 | ||
fed75ba5 | 4800 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
4801 | ||
4802 | * s-valint.adb: Fix typo in last checkin. | |
4803 | * s-valuns.adb (Value_Unsigned): More efficient fix for | |
4804 | Positive'Last case. | |
4805 | * sem_attr.adb (Analyze_Attribute): Minor reformatting | |
4806 | (Eval_Attribute): Static ervaluation of 'Img for enumeration types. | |
4807 | ||
da7132b9 | 4808 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
4809 | ||
4810 | * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where | |
4811 | Str'Last = Positive'Last | |
4812 | ||
4813 | 2015-01-06 Thomas Quinot <quinot@adacore.com> | |
4814 | ||
4815 | * xoscons.adb: Display exception information and return non-zero | |
4816 | exit status in top level exception handler. | |
4817 | ||
b7c692da | 4818 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
4819 | ||
4820 | * sem_ch8.adb: Code clean up. | |
4821 | ||
4822 | 2015-01-06 Tristan Gingold <gingold@adacore.com> | |
4823 | ||
4824 | * targparm.ads: Remove obsolete comment. | |
4825 | ||
b2f5ddd9 | 4826 | 2015-01-06 Olivier Hainque <hainque@adacore.com> |
4827 | ||
4828 | * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When | |
4829 | constructing a ref to variable, update inner_const_flag from the | |
4830 | variable TREE_READONLY attribute. | |
4831 | * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default | |
4832 | definition. | |
4833 | (get_target_float_size): Remove. | |
4834 | (get_target_double_size): Remove. | |
4835 | (get_target_long_double_size): Remove. | |
4836 | ||
35bd138f | 4837 | 2015-01-06 Pascal Obry <obry@adacore.com> |
4838 | ||
4839 | * adaint.c (ProcListEvt): Set to NULL. | |
4840 | * rtinit.c: New file. | |
4841 | (__gnat_rt_init_count): New reference counter set to 0. | |
4842 | (__gnat_runtime_initialize): Move code here from __gnat_initialize when | |
4843 | this code is actually needed for the runtime initialization. This | |
4844 | routine returns immediately if the initialization has already been done. | |
4845 | * final.c: Revert previous change. | |
4846 | * rtfinal.c: New file. | |
4847 | (__gnat_runtime_finalize)[Win32]: Add finalization of the critical | |
4848 | section and event. The default version of this routine is empty (except | |
4849 | for the reference counting code). This routine returns immediately if | |
4850 | some others libraries are referencing the runtime. | |
4851 | * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize | |
4852 | remove circuitry to initialize the signal handler as this is | |
4853 | now done by the runtime initialization routine. | |
4854 | (Gen_Adafinal): Generate call to Runtime_Finalize. | |
4855 | * gnat_ugn.texi: Update documentation about concurrency and | |
4856 | initialization/finalization of the run-time. | |
4857 | * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add | |
4858 | references to rtfinal.o and rtinit.o | |
4859 | ||
15509f20 | 4860 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
4861 | ||
4862 | * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry | |
4863 | for Enum_Image. | |
4864 | * sem_attr.adb: Implement Enum_Image attribute. | |
4865 | * snames.ads-tmpl: Add entries for Enum_Image attribute. | |
4866 | ||
b0b7a7b4 | 4867 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
4868 | ||
4869 | * namet.ads: Document use of Boolean2 for No_Use_Of_Entity. | |
4870 | * restrict.ads (No_Use_Of_Entity): New table. | |
4871 | * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
4872 | Ignore No_Use_Of_Entity (will be processed in parser). | |
4873 | * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity. | |
4874 | ||
4875 | 2015-01-06 Vincent Celier <celier@adacore.com> | |
4876 | ||
4877 | * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try | |
4878 | to check for an extended project, if a project does not have | |
4879 | yet a project declaration. | |
4880 | ||
a79fe0a3 | 4881 | 2015-01-06 Pierre-Marie Derodat <derodat@adacore.com> |
4882 | ||
4883 | * scos.ads: Update documentation about the SCO table build | |
4884 | process and about table records format. | |
4885 | * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw. | |
4886 | (SCO_Record_Filtered): New procedure. | |
4887 | (Set_SCO_Logical_Operator): New procedure. | |
4888 | (dsco): Update documentation. | |
4889 | * par_sco.adb: Update library-level comments. | |
4890 | (SCO_Generation_State_Type): New type. | |
4891 | (SCO_Generation_State): New variable. | |
4892 | (SCO_Raw_Table): New package instanciation. | |
4893 | (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table. | |
4894 | ("<"): New. | |
4895 | (Tristate): New type. | |
4896 | (Is_Logical_Operator): Return Tristate and update documentation. | |
4897 | (Has_Decision): Update call to Is_Logical_Operator and complete | |
4898 | documentation. | |
4899 | (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update | |
4900 | comment, add an assertion for state checking and change | |
4901 | references to SCO_Table into SCO_Raw_Table. | |
4902 | (dsco): Refactor to dump the raw and the filtered tables. | |
4903 | (Process_Decisions.Output_Decision_Operand): Handle putative | |
4904 | short-circuit operators. | |
4905 | (Process_Decisions.Output_Element): Update references | |
4906 | to Set_Table_Entry and to Condition_Pragma_Hash_Table. | |
4907 | (Process_Decisions.Process_Decision_Operand): Update call | |
4908 | to Is_Logical_Operator. | |
4909 | (Process_Decisions.Process_Node): Handle putative short-circuit | |
4910 | operators and change references to | |
4911 | SCO_Table into SCO_Raw_Table. | |
4912 | (SCO_Output): Add an assertion | |
4913 | for state checking and remove code that used to stamp out SCO entries. | |
4914 | (SCO_Pragma_Disabled): Change reference to SCO_Table | |
4915 | into SCO_Raw_Table. | |
4916 | (SCO_Record): Rename to SCO_Record_Raw, | |
4917 | add an assertion for state checking and change references | |
4918 | to SCO_Table into SCO_Raw_Table. | |
4919 | (Set_SCO_Condition): Add an assertion for state checking, update | |
4920 | references to Condition_Pragma_Hash_Table and change references to | |
4921 | SCO_Table into SCO_Raw_Table. | |
4922 | (Set_SCO_Pragma_Enabled): Add an assertion for state checking and | |
4923 | change references to SCO_Table into SCO_Raw_Table. | |
4924 | (Set_SCO_Logical_Operator): New procedure. | |
4925 | (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update | |
4926 | references to Set_Table_Entry and to Condition_Pragma_Hash_Table. | |
4927 | (SCO_Record_Fildered): New procedure. | |
4928 | * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass. | |
4929 | * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and | |
4930 | output SCOs. | |
4931 | * par-load.adb (Load): Update reference to SCO_Record. | |
4932 | * par.adb (Par): Update reference to SCO_Record. | |
4933 | * put_scos.adb (Put_SCOs): Add an assertion to check that no | |
4934 | putative SCO condition reaches this end. | |
4935 | * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record. | |
4936 | * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs | |
4937 | when corresponding to an "and"/"or" operator affected by the | |
4938 | Short_Circuit_And_Or pragma. | |
4939 | ||
4940 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
4941 | ||
4942 | * sem_ch8.adb (Analyze_Use_Package): Give more specific error | |
4943 | msg for attempted USE of generic subprogram or subprogram. | |
4944 | ||
fbf4d6ef | 4945 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
4946 | ||
4947 | * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb, | |
4948 | s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb, | |
4949 | a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #. | |
4950 | ||
4951 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
4952 | ||
4953 | * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects | |
4954 | that specify stream subprograms, if the prefix is a class-wide | |
4955 | type then the generated attribute definition clause must apply | |
4956 | to the same class-wide type. | |
4957 | (Default_Iterator): An iterator defined by an aspect of some | |
4958 | container type T must have a first parameter of type T, T'class, | |
4959 | or an access to such (from code reading RM 5.5.1 (2/3)). | |
4960 | ||
4961 | 2015-01-06 Arnaud Charlet <charlet@adacore.com> | |
4962 | ||
4963 | * gnat1drv.adb: Minor: complete previous change. | |
4964 | ||
4965 | 2015-01-06 Olivier Hainque <hainque@adacore.com> | |
4966 | ||
4967 | * set_targ.ads (C_Type_For): New function. Return the name of | |
4968 | a C type supported by the back-end and suitable as a basis to | |
4969 | construct the standard Ada floating point type identified by | |
4970 | the T parameter. This is used as a common ground to feed both | |
4971 | ttypes values and the GNAT tree nodes for the standard floating | |
4972 | point types. | |
4973 | * set_targ.adb (Long_Double_Index): The index at which "long | |
4974 | double" gets registered in the FPT_Mode_Table. This is useful to | |
4975 | know whether we have a "long double" available at all and get at | |
4976 | it's characteristics without having to search the FPT_Mode_Table | |
4977 | when we need to decide which C type should be used as the | |
4978 | basis for Long_Long_Float in Ada. | |
4979 | (Register_Float_Type): Fill Long_Double_Index. | |
4980 | (FPT_Mode_Index_For): New function. Return the index in | |
4981 | FPT_Mode_Table that designates the entry corresponding to the | |
4982 | provided C type name. | |
4983 | (FPT_Mode_Index_For): New function. Return the index in | |
4984 | FPT_Mode_Table that designates the entry for a back-end type | |
4985 | suitable as a basis to construct the standard Ada floating point | |
4986 | type identified by the input T parameter. | |
4987 | (elaboration code): Register_Back_End_Types unconditionally, | |
4988 | so C_Type_For can operate regardless of -gnateT. Do it | |
4989 | early so we can query it for the floating point sizes, via | |
4990 | FPT_Mode_Index_For. Initialize Float_Size, Double_Size and | |
4991 | Long_Double_Size from the FPT_Mode_Table, as cstand will do. | |
4992 | * cstand.adb (Create_Float_Types): Use C_Type_For to determine | |
4993 | which C type should be used as the basis for the construction | |
4994 | of the Standard Ada floating point types. | |
4995 | * get_targ.ads (Get_Float_Size, Get_Double_Size, | |
4996 | Get_Long_Double_Size): Remove. | |
4997 | * get_targ.adb: Likewise. | |
4998 | ||
4999 | 2015-01-06 Thomas Quinot <quinot@adacore.com> | |
5000 | ||
5001 | * sem_cat.adb (In_RCI_Declaration): Remove unnecessary | |
5002 | parameter and rename to... | |
5003 | (In_RCI_Visible_Declarations): Fix handling of private part of nested | |
5004 | package. | |
5005 | (Validate_RCI_Subprogram_Declaration): Reject illegal function | |
5006 | returning anonymous access in RCI unit. | |
5007 | ||
8408cef9 | 5008 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> |
5009 | ||
5010 | * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a | |
5011 | function wrapper may be a homonym of another local declaration. | |
5012 | * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode, | |
5013 | build function and operator wrappers after the actual subprogram | |
5014 | has been resolved, and replace the standard renaming declaration | |
5015 | with the declaration of wrapper. | |
5016 | * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer): | |
5017 | make public for use elsewhere. | |
5018 | * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer): | |
5019 | rewrite, now that actual is fully resolved when wrapper is | |
5020 | constructed. | |
5021 | ||
5022 | 2015-01-06 Javier Miranda <miranda@adacore.com> | |
5023 | ||
5024 | * exp_disp.adb: Revert previous change. | |
5025 | ||
58c0ee52 | 5026 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
5027 | ||
5028 | * exp_util.adb: Change name Name_Table_Boolean to | |
5029 | Name_Table_Boolean1. | |
5030 | * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1 | |
5031 | Introduce Name_Table_Boolean2/3. | |
5032 | * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1 | |
5033 | Introduce Name_Table_Boolean2/3. | |
5034 | * par-ch13.adb: Change name Name_Table_Boolean to | |
5035 | Name_Table_Boolean1. | |
5036 | ||
5037 | 2015-01-06 Bob Duff <duff@adacore.com> | |
5038 | ||
5039 | * gnat_rm.texi: Improve documentation regarding No_Task_Termination. | |
5040 | ||
5041 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
5042 | ||
5043 | * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an | |
5044 | others choice that covers multiple components, analyze each | |
5045 | copy with the type of the component even in compile-only mode, | |
5046 | to detect potential accessibility errors. | |
5047 | ||
5048 | 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
5049 | ||
5050 | * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine. | |
5051 | (Resolve_Actuals): An effectively volatile out | |
5052 | parameter cannot act as an in or in out actual in a call. | |
5053 | (Resolve_Entity_Name): An effectively volatile out parameter | |
5054 | cannot be read. | |
5055 | ||
5056 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
5057 | ||
5058 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is | |
5059 | the expansion of an expression function it may be pre-analyzed | |
5060 | if a 'access attribute is applied to the function, in which case | |
5061 | last_entity may have been assigned already. | |
5062 | ||
5063 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
5064 | ||
5065 | * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete | |
5066 | type and actual has the corresponding full view, there is no | |
5067 | error, but a case of use of incomplete type in a predicate or | |
5068 | invariant expression. | |
5069 | ||
5070 | 2015-01-06 Vincent Celier <celier@adacore.com> | |
5071 | ||
5072 | * makeutl.adb (Insert_No_Roots): Make sure that the same source | |
5073 | in two different project tree is checked in both trees, if they | |
5074 | are sources of two different projects, extended or not. | |
5075 | ||
5076 | 2015-01-06 Arnaud Charlet <charlet@adacore.com> | |
5077 | ||
5078 | * gnat1drv.adb: Minor code clean up. | |
5079 | (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode. | |
5080 | ||
5081 | 2015-01-06 Bob Duff <duff@adacore.com> | |
5082 | ||
5083 | * osint.adb (Read_Source_File): Don't print out | |
5084 | file name unless T = Source. | |
5085 | ||
5086 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
5087 | ||
5088 | * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal): | |
5089 | recognize improper uses of constant_reference types as actuals | |
5090 | for in-out parameters. | |
5091 | (Check_Function_Call): Do not collect identifiers if function | |
5092 | name is missing because of previous error. | |
5093 | ||
9e42b04d | 5094 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
5095 | ||
5096 | * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb, | |
5097 | ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb: | |
5098 | Minor change of name Name_Table_Info => Name_Table_Int. | |
5099 | ||
3dc1561e | 5100 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
5101 | ||
5102 | * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments | |
5103 | in previous checkin. | |
5104 | * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving | |
5105 | of bounds. | |
5106 | * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting. | |
5107 | ||
b5b66286 | 5108 | 2015-01-06 Vincent Celier <celier@adacore.com> |
5109 | ||
5110 | * a-strsup.adb (Times (Natural;String;Positive)): Raise | |
5111 | Length_Error, not Index_Error, when the result is too long. | |
5112 | ||
5113 | 2015-01-06 Thomas Quinot <quinot@adacore.com> | |
5114 | ||
5115 | * a-direct.adb (Create_Path): Minor error handling and | |
5116 | performance improvement. | |
5117 | ||
5118 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
5119 | ||
5120 | * checks.ads, sem_ch12.adb: Minor reformatting. | |
5121 | * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by | |
5122 | zero check for fixed-point case if Backend_Divide_Checks_On_Target | |
5123 | is False. | |
5124 | ||
5125 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
5126 | ||
5127 | * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): | |
5128 | Do not set restriction No_Elaboration_Code unless the pragma | |
5129 | appears in the main unit). | |
5130 | ||
5131 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
5132 | ||
5133 | * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify | |
5134 | that with clause has already been analyzed before checking kind | |
5135 | of with_clause. | |
5136 | ||
5137 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
5138 | ||
5139 | * exp_strm.adb (Build_Elementary_Input_Call): Return base type | |
5140 | (as required by RM). | |
5141 | ||
1955e2bd | 5142 | 2015-01-06 Arnaud Charlet <charlet@adacore.com> |
5143 | ||
5144 | * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check). | |
5145 | ||
5146 | 2015-01-06 Robert Dewar <dewar@adacore.com> | |
5147 | ||
5148 | * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning | |
5149 | for ignoring pragma Suppress (Elaboration_Check) in SPARK mode. | |
5150 | ||
5151 | 2015-01-06 Javier Miranda <miranda@adacore.com> | |
5152 | ||
5153 | * exp_disp.adb (Expand_Interface_Conversion): No displacement | |
5154 | of the pointer to the object needed when the type of the operand | |
5155 | is not an interface type and the interface is one of its parent | |
5156 | types (since they share the primary dispatch table). | |
5157 | ||
3e72ade3 | 5158 | 2015-01-06 Vincent Celier <celier@adacore.com> |
5159 | ||
5160 | * prj-env.adb: Minor comment update. | |
5161 | ||
5162 | 2015-01-06 Javier Miranda <miranda@adacore.com> | |
5163 | ||
5164 | * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous | |
5165 | access types whose target type is an interface type to operands | |
5166 | that are access types; required to report an error when the | |
5167 | operand is not an access type. | |
5168 | ||
c40ceeb4 | 5169 | 2015-01-06 Bob Duff <duff@adacore.com> |
5170 | ||
5171 | * a-cfinve.adb (Copy): Set the discriminant to the Length when | |
5172 | Capacity = 0. | |
5173 | * a-cofove.ads (Capacity): Add a postcondition. | |
5174 | * a-cfinve.ads (Capacity): Add a postcondition. | |
5175 | (Reserve_Capacity): Correct the postcondition in the case where | |
5176 | Capacity = 0; that means "Capacity => Length (Container)". | |
5177 | * a-cofove.adb (Elems[c]): Add a comment | |
5178 | explaining the dangers and how to avoid them. | |
5179 | ||
5180 | 2015-01-06 Ed Schonberg <schonberg@adacore.com> | |
5181 | ||
5182 | * sem_ch12.adb: Code clean up. | |
3e72ade3 | 5183 | |
bddbaf4f | 5184 | 2015-01-06 Arnaud Charlet <charlet@adacore.com> |
5185 | ||
5186 | * gnatvsn.ads: Bump copyright year. | |
5187 | ||
f50fc4fd | 5188 | 2015-01-06 Robert Dewar <dewar@adacore.com> |
5189 | ||
5190 | * s-taskin.ads, s-traces.ads: Minor reformatting. | |
5191 | * exp_util.adb: Minor typo fix. | |
5192 | ||
5193 | 2015-01-06 Vincent Celier <celier@adacore.com> | |
5194 | ||
5195 | * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path | |
5196 | with the runtime name. | |
5197 | * prj-env.adb (Initialize_Default_Project_Path): When both | |
5198 | Target_Name and Runtime_Name are not empty string, add to the | |
5199 | project path the two directories .../lib/gnat and .../share/gpr | |
5200 | related to the runtime. | |
5201 | * prj-env.ads (Initialize_Default_Project_Path): New String | |
5202 | parameter Runtime_Name, defaulted to the empty string. | |
5203 | ||
5204 | 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
5205 | ||
5206 | * frontend.adb: Guard against the case where a configuration | |
5207 | pragma may be split into multiple pragmas and the original | |
5208 | rewritten as a null statement. | |
5209 | * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy | |
5210 | pragma using Insert_Before rather than Insert_Action. This | |
5211 | takes care of the configuration pragma case where Insert_Action | |
5212 | would fail. | |
5213 | ||
5214 | 2015-01-06 Bob Duff <duff@adacore.com> | |
5215 | ||
5216 | * a-coboho.ads (Element_Access): Add "pragma | |
5217 | No_Strict_Aliasing (Element_Access);". This is needed because | |
5218 | we are unchecked-converting from Address to Element_Access. | |
5219 | * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the | |
5220 | result to be 1. | |
5221 | ||
5222 | 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> | |
5223 | ||
5224 | * sem_res.adb (Resolve_Actuals): Remove the | |
5225 | restriction which prohibits volatile actual parameters with | |
5226 | enabled external propery Async_Writers to act appear in procedure | |
5227 | calls where the corresponding formal is of mode OUT. | |
5228 | ||
e3afb61d | 5229 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
5230 | ||
5231 | * gnat_ugn.texi: Bump @copying's copyright year. | |
5232 | ||
46592498 | 5233 | 2015-01-05 Eric Botcazou <ebotcazou@adacore.com> |
5234 | ||
5235 | PR ada/64492 | |
5236 | * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code. | |
5237 | ||
4baf631c | 5238 | 2015-01-04 Uros Bizjak <ubizjak@gmail.com> |
5239 | ||
5240 | * gcc-interface/misc.c (internal_error_function): Use xasprintf instead | |
5241 | of unchecked asprintf. | |
5242 | ||
7dfbd804 | 5243 | \f |
e3afb61d | 5244 | Copyright (C) 2015 Free Software Foundation, Inc. |
7dfbd804 | 5245 | |
5246 | Copying and distribution of this file, with or without modification, | |
5247 | are permitted in any medium without royalty provided the copyright | |
5248 | notice and this notice are preserved. |