Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/ChangeLog-2013 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 2013-12-20 Trevor saunders <tsaunders@mozilla.com> | |
2 | |
3 * gcc-interface/decl.c (components_to_record): Replace stack_vec with | |
4 auto_vec. | |
5 | |
6 2013-12-12 Eric Botcazou <ebotcazou@adacore.com> | |
7 | |
8 * gcc-interface/Makefile.in (ARM linux, GNU eabi): Tweak regexp. | |
9 | |
10 2013-12-12 Eric Botcazou <ebotcazou@adacore.com> | |
11 Iain Sandoe <iain@codesourcery.com> | |
12 | |
13 PR ada/55946 | |
14 * gcc-interface/Make-lang.in (ada/doctools/xgnatugn): Use gnatmake. | |
15 * gcc-interface/Makefile.in (GCC_LINK): Add LDFLAGS. | |
16 (../../gnatmake): Remove LDFLAGS. | |
17 (../../gnatlink): Likewise. | |
18 | |
19 2013-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
20 | |
21 PR ada/59382 | |
22 * indepsw-darwin.adb: New file. | |
23 | |
24 2013-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
25 | |
26 * gcc-interface/decl.c (components_to_record): Add specific handling | |
27 for fields with zero size and no representation clause. | |
28 | |
29 2013-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
30 | |
31 * gcc-interface/trans.c (Case_Statement_to_gnu): Do not push a binding | |
32 level for each branch if this is a case expression in Ada 2012. | |
33 (gnat_to_gnu) <case N_Expression_With_Actions>: Adjust comment. | |
34 | |
35 2013-11-29 Eric Botcazou <ebotcazou@adacore.com> | |
36 | |
37 PR ada/54040 | |
38 PR ada/59346 | |
39 * s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t. | |
40 * s-osinte-kfreebsd-gnu.ads (timespec): Likewise. | |
41 * s-osinte-solaris-posix.ads (timespec): Likewise. | |
42 | |
43 2013-11-23 Eric Botcazou <ebotcazou@adacore.com> | |
44 | |
45 * gcc-interface/trans.c (Loop_Statement_to_gnu): Set TREE_SIDE_EFFECTS | |
46 on the conditional expression directly. | |
47 | |
48 2013-11-22 Andrew MacLeod <amacleod@redhat.com> | |
49 | |
50 * gcc-interface/trans.c: Add required include files from gimple.h. | |
51 | |
52 2013-11-22 David Malcolm <dmalcolm@redhat.com> | |
53 | |
54 * gcc-interface/utils2.c (build_call_raise): Remove use of | |
55 input_line macro. | |
56 (build_call_raise_range): Likewise. | |
57 (build_call_raise_column): Likewise. | |
58 | |
59 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com> | |
60 Mike Stump <mikestump@comcast.net> | |
61 Richard Sandiford <rdsandiford@googlemail.com> | |
62 | |
63 * gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi. | |
64 * gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_to_uhwi. | |
65 * gcc-interface/utils.c (make_packable_type): Likewise. | |
66 | |
67 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com> | |
68 | |
69 * gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi rather than | |
70 tree_low_cst. | |
71 | |
72 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com> | |
73 | |
74 * gcc-interface/decl.c, gcc-interface/utils.c, gcc-interface/utils2.c: | |
75 Replace tree_low_cst (..., 1) with tree_to_uhwi throughout. | |
76 | |
77 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com> | |
78 | |
79 * gcc-interface/cuintp.c: Update comments to refer to | |
80 tree_fits_shwi_p rather than host_integerp. | |
81 * gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_fits_uhwi_p | |
82 rather than host_integerp. | |
83 * gcc-interface/utils.c (rest_of_record_type_compilation): Likewise. | |
84 | |
85 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com> | |
86 | |
87 * gcc-interface/decl.c, gcc-interface/misc.c, gcc-interface/utils.c: | |
88 Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout. | |
89 | |
90 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com> | |
91 | |
92 * gcc-interface/cuintp.c: Replace host_integerp (..., 0) with | |
93 tree_fits_shwi_p throughout. | |
94 | |
95 2013-11-18 Eric Botcazou <ebotcazou@adacore.com> | |
96 | |
97 * gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant. | |
98 | |
99 2013-11-18 Eric Botcazou <ebotcazou@adacore.com> | |
100 | |
101 * gcc-interface/trans.c (Call_to_gnu): For an Out parameter passed by | |
102 copy and that don't need to be copied in, only evaluate its address. | |
103 | |
104 2013-11-18 Eric Botcazou <ebotcazou@adacore.com> | |
105 | |
106 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Deal with an | |
107 error mark as renamed object in type annotating mode. | |
108 | |
109 2013-11-15 H.J. Lu <hongjiu.lu@intel.com> | |
110 | |
111 PR ada/54040 | |
112 * s-linux-x32.ads: New file. | |
113 * s-osprim-x32.adb: Likewise. | |
114 * s-linux.ads (time_t): New type. | |
115 * s-linux-alpha.ads (time_t): Likewise. | |
116 * s-linux-hppa.ads (time_t): Likewise. | |
117 * s-linux-mipsel.ads (time_t): Likewise. | |
118 * s-linux-sparc.ads (time_t): Likewise. | |
119 * s-osinte-linux.ads (time_t): Mark it private. Replace long | |
120 with System.Linux.time_t. | |
121 (timespec): Replace long with time_t. | |
122 * s-osinte-posix.adb (To_Timespec): Likewise. | |
123 * s-taprop-linux.adb (timeval): Replace C.long with | |
124 System.OS_Interface.time_t. | |
125 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Replace | |
126 s-linux.ads with s-linux-x32.ads, s-osprim-posix.adb with | |
127 s-osprim-x32.adb for x32. | |
128 | |
129 2013-11-14 H.J. Lu <hongjiu.lu@intel.com> | |
130 | |
131 * gcc-interface/trans.c: Include gimple.h and pointer-set.h. | |
132 | |
133 2013-11-14 Diego Novillo <dnovillo@google.com> | |
134 | |
135 * gcc-interface/decl.c: Include stringpool.h | |
136 Include stor-layout.h | |
137 * gcc-interface/misc.c: Include stor-layout.h | |
138 Include print-tree.h | |
139 * gcc-interface/trans.c: Include stringpool.h | |
140 Include stor-layout.h | |
141 Include stmt.h | |
142 Include varasm.h | |
143 * gcc-interface/utils.c: Include stringpool.h | |
144 Include stor-layout.h | |
145 Include attribs.h | |
146 Include varasm.h | |
147 * gcc-interface/utils2.c: Include stringpool.h | |
148 Include stor-layout.h | |
149 Include attribs.h | |
150 Include varasm.h | |
151 | |
152 2013-11-12 Andrew MacLeod <amacleod@redhat.com> | |
153 | |
154 * gcc-interface/trans.c: Include gimplify.h. | |
155 | |
156 2013-11-11 Tristan Gingold <gingold@adacore.com> | |
157 Eric Botcazou <ebotcazou@adacore.com> | |
158 | |
159 * gcc-interface/utils2.c (gnat_build_constructor): Also set the flag | |
160 CONSTRUCTOR_NO_CLEARING on the constructor. | |
161 | |
162 2013-10-30 Sharad Singhai <singhai@google.com> | |
163 | |
164 * gnat_ugn.texi: Remove option description for PR middle-end/58134. | |
165 | |
166 2013-10-29 David Malcolm <dmalcolm@redhat.com> | |
167 | |
168 * gcc-interface/trans.c (finalize_nrv): Update for conversion of | |
169 symtab types to a true class hierarchy. | |
170 * gcc-interface/utils.c (gnat_write_global_declarations): Likewise. | |
171 | |
172 2013-10-28 Trevor Saunders <tsaunders@mozilla.com> | |
173 | |
174 * gcc-interface/decl.c (components_to_record): Adjust stack vector. | |
175 | |
176 2013-10-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
177 | |
178 * gcc-interface/Make-lang.in (ADA_DEPS): Fix quoting. | |
179 | |
180 2013-10-19 Thomas Quinot <quinot@adacore.com> | |
181 | |
182 * gcc-interface/Makefile.in: Use canonical absolute path to refer to | |
183 the top source directory and to the libgcc subidrectories. | |
184 | |
185 2013-10-19 Eric Botcazou <ebotcazou@adacore.com> | |
186 | |
187 * gcc-interface/utils.c (scale_by_factor_of): New function. | |
188 (rest_of_record_type_compilation): Use scale_by_factor_of in order to | |
189 scale the original offset for both rounding cases; in the second case, | |
190 take into accout the addend to compute the alignment. Tidy up. | |
191 | |
192 2013-10-19 Eric Botcazou <ebotcazou@adacore.com> | |
193 | |
194 * gcc-interface/cuintp.c: Remove useless include directives. | |
195 (build_cst_from_int): Use standard predicate. | |
196 (UI_To_gnu): Simplify. | |
197 (UI_From_gnu): Fix formatting. | |
198 * gcc-interface/trans.c (post_error): Likewise. | |
199 (post_error_ne): Likewise. | |
200 | |
201 2013-10-19 Eric Botcazou <ebotcazou@adacore.com> | |
202 | |
203 * gcc-interface/utils.c (gnat_set_type_context): New function. | |
204 (gnat_pushdecl): Use it to set the context of the type. | |
205 | |
206 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
207 | |
208 * sem_prag.adb (Check_Dependency_Clause): | |
209 Recognize the scenario where successful clause matching has | |
210 depleted the available refinement items and the clause to match | |
211 technically refines to null => null. | |
212 | |
213 2013-10-17 Tristan Gingold <gingold@adacore.com> | |
214 | |
215 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify | |
216 External_Name instead of Link_Name for the RTTI declaration. | |
217 | |
218 2013-10-17 Robert Dewar <dewar@adacore.com> | |
219 | |
220 * sem_prag.adb (Record_Possible_Body_Reference): Fix test for | |
221 being in body. | |
222 (Add_Constituent): Merged into Check_Refined_Global_Item. | |
223 (Check_Matching_Constituent): A constituent that has the proper Part_Of | |
224 option and comes from a private child or a sibling is now collected. | |
225 (Check_Matching_Modes): Merged into Check_Refined_Global_Item. | |
226 (Check_Refined_Global_Item): Code cleanup. | |
227 (Collect_Constituent): New routine. | |
228 (Inconsistent_Mode_Error): Moved out from Check_Matching_Modes. | |
229 | |
230 2013-10-17 Ed Schonberg <schonberg@adacore.com> | |
231 | |
232 * freeze.adb (Check_Current_Instance, Process): Add RM reference | |
233 and mention immutably limited types, when the current instance | |
234 is illegal in Ada 2012. | |
235 | |
236 2013-10-17 Ed Schonberg <schonberg@adacore.com> | |
237 | |
238 * sem_warn.adb (Check_Unused_Withs): If the main unit is a | |
239 subunit, apply the check to the units mentioned in its context | |
240 only. This provides additional warnings on with_clauses that | |
241 are superfluous. | |
242 | |
243 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
244 | |
245 * sem_ch3.adb (Analyze_Declarations): Emit an | |
246 error message concerning state refinement when the spec defines at | |
247 least one non-null abstract state and the body's SPARK mode is On. | |
248 (Requires_State_Refinement): New routine. | |
249 | |
250 2013-10-17 Robert Dewar <dewar@adacore.com> | |
251 | |
252 * sem_ch7.ads: Comment fixes. | |
253 | |
254 2013-10-17 Robert Dewar <dewar@adacore.com> | |
255 | |
256 * sem_ch7.adb (Analyze_Package_Specification): Remove circuit | |
257 for ensuring that a package spec requires a body for some other | |
258 reason than that it contains the declaration of an abstract state. | |
259 | |
260 2013-10-17 Tristan Gingold <gingold@adacore.com> | |
261 | |
262 * exp_ch11.adb (Expand_N_Raise_Expression): Fix call of | |
263 Possible_Local_Raise. | |
264 | |
265 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
266 | |
267 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Unchecked | |
268 conversion of Or_Rhs to Etype of New_Rhs is required only when | |
269 the latter is the result of a byte swap operation. | |
270 | |
271 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
272 | |
273 * exp_dist.adb (Build_To_Any_Function): For a type with opaque | |
274 representation that is not transmitted as an unconstrained value, | |
275 use 'Write, not 'Output, to generate the opaque representation. | |
276 | |
277 2013-10-17 Yannick Moy <moy@adacore.com> | |
278 | |
279 * sem_res.adb (Resolve_Short_Circuit): Only | |
280 generate expression-with-action when full expansion is set. | |
281 | |
282 2013-10-17 Yannick Moy <moy@adacore.com> | |
283 | |
284 * debug.adb Remove obsolete comment. | |
285 | |
286 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
287 | |
288 * exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts): | |
289 Avoid late insertion when expanding an expression with action | |
290 nested within a transient block; Do not inconditionally generate | |
291 a finalization call if the generated object is from a specific | |
292 branch of a conditional expression. | |
293 | |
294 2013-10-17 Pascal Obry <obry@adacore.com> | |
295 | |
296 * g-arrspl.adb: Ensure Finalize call is idempotent. | |
297 * g-arrspl.adb (Finalize): Makes the call idempotent. | |
298 | |
299 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
300 | |
301 * sem_prag.adb (Is_Matching_Input): Account | |
302 for the case where a state with a null refinement appears as | |
303 the last input of a refinement clause. | |
304 | |
305 2013-10-17 Robert Dewar <dewar@adacore.com> | |
306 | |
307 * sem_aux.ads, sem_aux.adb: Minor reformatting. | |
308 | |
309 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
310 | |
311 * aspects.adb, aspects.ads, sem_prag.ads: Remove all entries | |
312 for Refined_Pre from the various tables. | |
313 * par-prag.adb: Remove the entry for Refined_Pre from the list | |
314 of pragmas not needing special processing by the parser. | |
315 * sem_ch13.adb (Analyze_Aspect_Specifications): | |
316 Remove the processing for aspect Refined_Pre. | |
317 (Check_Aspect_At_Freeze_Point): Remove the entry for aspect | |
318 Refined_Pre. | |
319 * sem_prag.adb (Analyze_Pragma): Refined_Pre is no longer a | |
320 valid assertion kind. Remove the analysis of pragma Refined_Pre. | |
321 (Analyze_Refined_Pragma): Update the comment on usage. | |
322 (Find_Related_Subprogram_Or_Body): Update the comment on | |
323 usage. Pragma Refined_Pre is no longer processed by this routine. | |
324 (Is_Valid_Assertion_Kind): Refined_Pre is no longer a valid | |
325 assertion kind. | |
326 * snames.ads-tmpl: Remove predefined name Refined_Pre. Remove | |
327 the pragma id for Refined_Pre. | |
328 | |
329 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
330 | |
331 * exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util. | |
332 * sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null | |
333 item list as being analyzed. | |
334 (Analyze_Global_List): Mark a | |
335 null global list and multiple global items as being analyzed. | |
336 (Analyze_Input_Item): Check the unit that defines the input | |
337 variable or state, not the reference to it. | |
338 * sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure | |
339 that the input has an entity. | |
340 | |
341 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
342 | |
343 * exp_util.adb (Get_Current_Value_Condition, | |
344 Set_Current_Value_Condition): Handle the case of expressions | |
345 with actions * exp_util.adb (Insert_Actions): Handle the case | |
346 of an expression with actions whose Actions list is empty. | |
347 * exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An | |
348 expression with actions that has no Actions and whose Expression | |
349 is side effect free is itself side effect free. | |
350 * exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on | |
351 temporary 'R' (Def_Id), which is in general an access to Exp_Type, not | |
352 an Exp_Type. | |
353 * sem_res.adb (Resolve): For an expression with | |
354 actions, resolve the expression early. * sem_res.adb | |
355 (Resolve_Expression_With_Actions): Rewrite an expression with | |
356 actions whose value is compile time known and which has no | |
357 actions into just its expression, so that its constant value is | |
358 available downstream. | |
359 * sem_res.adb (Resolve_Short_Circuit): | |
360 Wrap the left operand in an expression with actions to contain | |
361 any required finalization actions. | |
362 * exp_ch4.adb (Expand_Expression_With_Actions): For an | |
363 expression with actions returning a Boolean expression, ensure | |
364 any finalization action is kept within the Actions list. | |
365 * sem_warn.adb (Check_References, Check_Unset_Reference): add | |
366 missing circuitry to handle expressions with actions. | |
367 * checks.adb (Ensure_Valid): For an expression with actions, | |
368 insert the validity check on the Expression. | |
369 * sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression | |
370 with actions that has a non-empty Actions list is not static. An | |
371 expression with actions that has an empty Actions list has the | |
372 static ranges of its Expression. | |
373 * sem_util.adb (Has_No_Obvious_Side_Effects): An expression with | |
374 actions with an empty Actions list has no obvious side effects | |
375 if its Expression itsekf has no obvious side effects. | |
376 | |
377 2013-10-17 Ed Schonberg <schonberg@adacore.com> | |
378 | |
379 * sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make | |
380 predicate compatible with Ada 2012 definition | |
381 (Is_Limited_View): New name for previous version of | |
382 Is_Immutably_Limited_Type. Predicate is true for an untagged | |
383 record type with a limited component. | |
384 * exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb, | |
385 sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb, | |
386 sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View | |
387 * freeze.adb Use Is_Immutably_Limited_Type to check the legality | |
388 of references to the current instance, Is_Limited_View otherwise. | |
389 | |
390 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
391 | |
392 * sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect | |
393 Refined_Pre as not supported. | |
394 * sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre. | |
395 | |
396 2013-10-17 Ed Schonberg <schonberg@adacore.com> | |
397 | |
398 * sem_ch12.adb (Validated_Access_Subprogram_Instance): According | |
399 to AI05-288, actuals for access_to_subprograms must be subtype | |
400 conformant with the generic formal. Previous to AI05-288 | |
401 only mode conformance was required, but the AI is a binding | |
402 interpretation that applies to previous versions of the language, | |
403 | |
404 2013-10-17 Robert Dewar <dewar@adacore.com> | |
405 | |
406 * gnat_ugn.texi: Minor text correction. | |
407 * ug_words: Add entry for -gnateu /IGNORE_UNRECOGNIZED. | |
408 * vms_data.ads: Add /IGNORE_UNRECOGNIZED for -gnateu. | |
409 | |
410 2013-10-17 Tristan Gingold <gingold@adacore.com> | |
411 | |
412 * impunit.adb (Non_Imp_File_Names_95): Add g-cppexc. | |
413 | |
414 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
415 | |
416 * sem_prag.adb (Analyze_Constituent): Move the check | |
417 concerning option Part_Of to routine Check_Matching_Constituent. | |
418 (Check_Matching_Constituent): Verify that an abstract state | |
419 that acts as a constituent has the proper Part_Of option in | |
420 its aspect/pragma Abstract_State. Account for the case when a | |
421 constituent comes from a private child or private sibling. | |
422 * sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine. | |
423 | |
424 2013-10-17 Tristan Gingold <gingold@adacore.com> | |
425 | |
426 * g-cppexc.adb, g-cppexc.ads: New files. | |
427 * gcc-interface/Makefile.in: Add g-cppexc when building zcx runtimes. | |
428 | |
429 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
430 | |
431 * exp_ch7.adb: Minor reformatting. | |
432 | |
433 2013-10-17 Ed Schonberg <schonberg@adacore.com> | |
434 | |
435 * sem_dim.adb (Process_Minus, Process_Divide): Label dimension | |
436 expression with standard operator and type, for pretty-printing | |
437 use. | |
438 | |
439 2013-10-17 Bob Duff <duff@adacore.com> | |
440 | |
441 * gnat_ugn.texi: Document --pp-new and --pp-old switches. | |
442 | |
443 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
444 | |
445 * einfo.adb: Flag 159 is now known as From_Limited_With. Replace | |
446 all references to attribute From_With_Type with From_Limited_With. | |
447 (From_With_Type): Renamed to From_Limited_With. | |
448 (Set_From_With_Type): Renamd to Set_From_Limited_With. | |
449 * einfo.ads: Remove attribute From_With_Type and occurrences in | |
450 nodes. Add attribute From_Limited_With along with occurrences | |
451 in nodes. | |
452 (From_With_Type): Renamed to From_Limited_With along with pragma Inline. | |
453 (Set_From_With_Type): Renamed to | |
454 Set_From_Limited_With along with pragma Inline. | |
455 * sem_ch7.adb, sem_ch8.adb, sem_ch12.adb, sem_ch13.adb, sem_disp.adb, | |
456 sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, | |
457 exp_attr.adb, exp_disp.adb, freeze.adb, itypes.adb, layout.adb, | |
458 lib-writ.adb, rtsfind.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb, | |
459 sem_ch4.adb: Replace all references to attribute From_With_Type | |
460 with From_Limited_With. | |
461 * sem_ch6.adb: Replace all references to attribute From_With_Type | |
462 with From_Limited_With. | |
463 (Designates_From_With_Type): Renamed to Designates_From_Limited_With. | |
464 (Process_Formals): Update the call to Designates_From_With_Type. | |
465 * sem_ch10.adb: Replace all references to attribute From_With_Type | |
466 with From_Limited_With. | |
467 (Build_Limited_Views): Reimplemented. | |
468 * gcc-interface/decl.c Replace all references to attribute | |
469 From_With_Type with From_Limited_With. | |
470 (finalize_from_with_types): Renamed to finalize_from_limited_with. | |
471 * gcc-interface/gigi.h (finalize_from_with_types): Renamed to | |
472 finalize_from_limited_with. | |
473 * gcc-interface/trans.c: Replace all references to attribute | |
474 From_With_Type with From_Limited_With. | |
475 (Compilation_Unit_to_gnu): Update the call to finalize_from_with_types. | |
476 | |
477 2013-10-17 Pascal Obry <obry@adacore.com> | |
478 | |
479 * projects.texi: Update VCS_Kind documentation. | |
480 | |
481 2013-10-17 Matthew Heaney <heaney@adacore.com> | |
482 | |
483 * a-convec.adb, a-coinve.adb, a-cobove.adb (Insert, Insert_Space): | |
484 Inspect value range before converting type. | |
485 | |
486 2013-10-17 Hristian Kirtchev <kirtchev@adacore.com> | |
487 | |
488 * sem_prag.adb (Analyze_Pragma): Flag the use of pragma Refined_Pre as | |
489 illegal. | |
490 | |
491 2013-10-17 Vincent Celier <celier@adacore.com> | |
492 | |
493 * gnat_ugn.texi: Remove VMS conversion of -gnatet and -gnateT, | |
494 now that they are both in ug_words. | |
495 * ug_words: Update qualifier for -gnatet Add qualifier for -gnateT | |
496 * vms_data.ads: Update qualifier for -gnatet Add qualifier | |
497 for -gnateT | |
498 * projects.texi: Continue to update the project documentation | |
499 for VMS. | |
500 | |
501 2013-10-17 Robert Dewar <dewar@adacore.com> | |
502 | |
503 * einfo.ads, einfo.adb (Has_Body_References): New flag. | |
504 (Body_References): New field. | |
505 * sem_prag.adb (Record_Possible_Body_Reference): New procedure | |
506 (Analyze_Input_Output): Call Record_Possible_Body_Reference | |
507 (Analyze_Global_Item): Call Record_Possible_Body_Reference | |
508 (Analyze_Refinement_Clause): Output messages if illegal global refs. | |
509 | |
510 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
511 | |
512 * freeze.adb (Check_Component_Storage_Order): Reject a record or | |
513 array type that does not have an explicit Scalar_Storage_Order | |
514 attribute definition if a component of the record, or the | |
515 elements of the array, have one. | |
516 * gnat_rm.texi (attribute Scalar_Storage_Order): Document the above | |
517 rule. | |
518 | |
519 2013-10-17 Vincent Celier <celier@adacore.com> | |
520 | |
521 * gnat_ugn.texi: Add examples of switches -gnateD, including | |
522 one where the value is a string. | |
523 * projects.texi: Do not convert switches in project files to | |
524 VMS qualifiers. | |
525 | |
526 2013-10-17 Robert Dewar <dewar@adacore.com> | |
527 | |
528 * sem_prag.adb (Report_Extra_Clauses): Don't complain about | |
529 refinements with null input since null should be considered to | |
530 always match. | |
531 | |
532 2013-10-17 Robert Dewar <dewar@adacore.com> | |
533 | |
534 * gnat_ugn.texi: Document -gnatw.y/-gnatw.Y. | |
535 * opt.ads (List_Body_Required_Info): New flag. | |
536 * prep.adb: Minor reformatting. | |
537 * sem_ch7.adb (Unit_Requires_Body_Info): New | |
538 procedure (Analyze_Package_Specification): Add call to | |
539 Unit_Requires_Body_Info. | |
540 * ug_words: Add entries for -gnatw.y and -gnatw.Y. | |
541 * usage.adb: Add line for new warning switch -gnatw.y/.Y. | |
542 * vms_data.ads: Add entry for [NO_]WHY_SPEC_NEEDS_BODY warning | |
543 qualifier. | |
544 * warnsw.ads, warnsw.adb: Implement new warning switch -gnatw.y/.Y. | |
545 | |
546 2013-10-17 Yannick Moy <moy@adacore.com> | |
547 | |
548 * sem_ch8.adb (Find_Direct_Name): Keep track of assignments for | |
549 renamings in SPARK mode. | |
550 | |
551 2013-10-17 Yannick Moy <moy@adacore.com> | |
552 | |
553 * exp_spark.adb (Expand_SPARK): Remove special case for NOT IN | |
554 operation. | |
555 * sinfo.ads: Add special comment section to describe SPARK mode | |
556 effect on tree. | |
557 * exp_spark.ads: Remove comments, moved to sinfo.ads. | |
558 | |
559 2013-10-17 Yannick Moy <moy@adacore.com> | |
560 | |
561 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type, | |
562 Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type): | |
563 Remove useless special cases. | |
564 * exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator, | |
565 Expand_N_Op_Expon): Remove useless special cases. | |
566 * exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place | |
567 in SPARK mode by testing Full_Expander_Active instead of | |
568 Expander_Active. | |
569 (Make_Build_In_Place_Call_In_Allocator): Remove useless special case. | |
570 * exp_util.adb (Build_Allocate_Deallocate_Proc): Remove | |
571 useless special case. | |
572 * sem_eval.adb (Compile_Time_Known_Value): Remove special handling of | |
573 deferred constant. | |
574 | |
575 2013-10-17 Yannick Moy <moy@adacore.com> | |
576 | |
577 * gnat_ugn.texi: Document -gnateT and target file format. | |
578 | |
579 2013-10-17 Vincent Celier <celier@adacore.com> | |
580 | |
581 * prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is | |
582 always False, even when the value starts and ends with double quotes. | |
583 | |
584 2013-10-17 Tristan Gingold <gingold@adacore.com> | |
585 | |
586 * a-exexpr-gcc.adb: Synchronize declarations of other/all others. | |
587 | |
588 2013-10-17 Thomas Quinot <quinot@adacore.com> | |
589 | |
590 * exp_pakd.adb: Add missing guard protecting Reverse_Storage_Order | |
591 call. | |
592 * sem_res.adb: Minor code cleanup: use named parameter association | |
593 (not positional) for Boolean parameter Sec_Stack in calls to | |
594 Establish_Transient_Scope. | |
595 | |
596 2013-10-15 Thomas Quinot <quinot@adacore.com> | |
597 | |
598 * exp_pakd.adb (Expand_Packed_Element_Set, | |
599 Expand_Packed_Element_Reference): Adjust for the case of packed | |
600 arrays of reverse-storage-order types. | |
601 | |
602 2013-10-15 Robert Dewar <dewar@adacore.com> | |
603 | |
604 * sem_prag.adb: Minor reformatting. | |
605 | |
606 2013-10-15 Ed Schonberg <schonberg@adacore.com> | |
607 | |
608 * sem_attr.adb (Analyze_Attribute_Specification, case | |
609 To_Address): If the expression is an identifier, do not modify | |
610 its type; it will be converted when necessary, and the type of | |
611 the expression must remain consistent with that of the entity | |
612 for back-end consistency. | |
613 | |
614 2013-10-15 Robert Dewar <dewar@adacore.com> | |
615 | |
616 * sem_ch7.adb (Unit_Requires_Body): Add flag | |
617 Ignore_Abstract_State (Analyze_Package_Specification): Enforce | |
618 rule requiring Elaborate_Body if a non-null abstract state is | |
619 specified for a library-level package. | |
620 * sem_ch7.ads (Unit_Requires_Body): Add flag Ignore_Abstract_State. | |
621 | |
622 2013-10-15 Hristian Kirtchev <kirtchev@adacore.com> | |
623 | |
624 * sem_prag.adb (Analyze_Constituent): When | |
625 a state acts as a constituent of another state, ensure that | |
626 the said state has a Part_Of dependency in its corresponding | |
627 aspect/pragma Abstract_State. | |
628 | |
629 2013-10-15 Robert Dewar <dewar@adacore.com> | |
630 | |
631 * par-ch4.adb (P_If_expression): Handle redundant ELSE cleanly. | |
632 | |
633 2013-10-15 Thomas Quinot <quinot@adacore.com> | |
634 | |
635 * atree.ads (New_Copy, Relocate_Node): Improve documentation | |
636 (note that these subprograms reset Is_Overloaded). | |
637 | |
638 2013-10-15 Thomas Quinot <quinot@adacore.com> | |
639 | |
640 * checks.adb (Check_Needed): Handle the case where the test in | |
641 the left operand of the short circuit is wrapped in a qualified | |
642 expression, type conversion, or expression with actions. | |
643 | |
644 2013-10-15 Thomas Quinot <quinot@adacore.com> | |
645 | |
646 * sem_type.adb, sem_type.ads (Save_Interps): Also propagate | |
647 Is_Overloaded to New_N, for consistency. | |
648 | |
649 2013-10-15 Ed Schonberg <schonberg@adacore.com> | |
650 | |
651 * a-tienau.adb (Put): Use file parameter to query values of | |
652 current column and line length. | |
653 | |
654 2013-10-15 Robert Dewar <dewar@adacore.com> | |
655 | |
656 * sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads: | |
657 Minor reformatting. | |
658 | |
659 2013-10-15 Eric Botcazou <ebotcazou@adacore.com> | |
660 | |
661 * targparm.ads: Fix minor typo in comment. | |
662 | |
663 2013-10-15 Ed Schonberg <schonberg@adacore.com> | |
664 | |
665 * lib-xref.adb: handle full views that are derived from private | |
666 types. | |
667 * sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS | |
668 mode: the elaboration entity is not in the source, and plays no | |
669 role in semantic analysis. Minor reformatting. | |
670 | |
671 2013-10-15 Tristan Gingold <gingold@adacore.com> | |
672 | |
673 * adaint.c (__gnat_get_executable_load_address): Remove AIX | |
674 specific code. | |
675 | |
676 2013-10-15 Ed Schonberg <schonberg@adacore.com> | |
677 | |
678 * exp_aggr.adb (Aggr_Size_OK): Refine criteria to better handle | |
679 large static aggregates with static record components, to avoid | |
680 generating a large number of asignments. Conversely, improve | |
681 handling of aggregates initialized by a single association, | |
682 which are most efficiently implemented with a loop. | |
683 | |
684 2013-10-15 Hristian Kirtchev <kirtchev@adacore.com> | |
685 | |
686 * sem_prag.adb (Analyze_Input_Item): Emit an | |
687 error when the input item comes from the related package. | |
688 | |
689 2013-10-15 Arnaud Charlet <charlet@adacore.com> | |
690 | |
691 * exp_ch11.adb (Expand_Exception_Handlers): Restrict previous | |
692 change. | |
693 | |
694 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
695 | |
696 * gcc-interface/gigi.h (standard_datatypes): Add | |
697 ADT_set_exception_parameter_decl | |
698 (set_exception_parameter_decl): New macro. | |
699 * gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl. | |
700 (Exception_Handler_to_gnu_zcx): Initialize the choice parameter. | |
701 * gcc-interface/trans.c: Synchronize declarations of other/all others | |
702 between gigi and the runtime. | |
703 | |
704 2013-10-14 Robert Dewar <dewar@adacore.com> | |
705 | |
706 * exp_attr.adb (Find_Stream_Subprogram): Optimize | |
707 Storage_Array stream handling. | |
708 (Find_Stream_Subprogram): Optimize Stream_Element_Array stream handling | |
709 * rtsfind.ads: Add entry for Stream_Element_Array Add | |
710 entries for RE_Storage_Array subprograms Add entries for | |
711 RE_Stream_Element_Array subprograms | |
712 * s-ststop.ads, s-ststop.adb: Add processing for System.Storage_Array. | |
713 Add processing for Ada.Stream_Element_Array. | |
714 | |
715 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
716 | |
717 * a-except-2005.ads, a-except-2005.adb: | |
718 (Get_Exception_Machine_Occurrence): New function. | |
719 * raise-gcc.c (__gnat_unwind_exception_size): New constant. | |
720 | |
721 2013-10-14 Robert Dewar <dewar@adacore.com> | |
722 | |
723 * sem_res.adb: Minor fix to error message text. | |
724 * errout.ads, erroutc.ads: Minor reformatting. | |
725 * s-ststop.ads, s-stratt.ads: Clean up documentation of block IO | |
726 mode for streams. | |
727 * s-stratt-xdr.adb: Minor comment update. | |
728 | |
729 2013-10-14 Robert Dewar <dewar@adacore.com> | |
730 | |
731 * sem_aux.adb, sem_aux.ads, sem_prag.adb: Minor reformatting. | |
732 | |
733 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
734 | |
735 * sem_res.adb (Resolve_Actuals): Add error message for a | |
736 subprogram with an in-out parameter when used in a predicate, | |
737 to clarify subsequent error at the point of call. | |
738 | |
739 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
740 | |
741 * sem_prag.adb (Is_Matching_Input): Consume a matching null input. | |
742 | |
743 2013-10-14 Robert Dewar <dewar@adacore.com> | |
744 | |
745 * freeze.adb (Freeze_Record): Don't give warning about packed | |
746 and foreign convention. | |
747 | |
748 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
749 | |
750 * sem_aux.adb, sem_aux.ads (Package_Specification): New function, to | |
751 replace the less efficient idiom Specification. | |
752 (Unit_Declaration_Node (Pack_Id)), which handles library units and | |
753 child units. | |
754 * sem_ch3.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_ch6.adb, | |
755 exp_disp.adb, sem_cat.adb, exp_dist.adb: Use Package_Specification. | |
756 | |
757 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
758 | |
759 * exp_attr.adb (Expand_Update_Attribute): Update the call to | |
760 Process_Range_Update. | |
761 (Process_Range_Update): Add new formal parameter Typ and associated | |
762 comment on usage. Add local constant Index_Typ. Add a type conversion | |
763 as part of the indexed component to ensure that the loop variable | |
764 corresponds to the index type. | |
765 | |
766 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
767 | |
768 * a-exexpr-gcc.adb: Adjust comment. | |
769 (Others_Value, All_Others_Value, | |
770 Unhandled_Others_Value): Declare as Character to slightly reduce | |
771 memory footprint. | |
772 | |
773 2013-10-14 Robert Dewar <dewar@adacore.com> | |
774 | |
775 * freeze.adb (Size_Known): Size is not known for packed record | |
776 with aliased components | |
777 | |
778 2013-10-14 Robert Dewar <dewar@adacore.com> | |
779 | |
780 * sem_ch3.adb: Minor fix to error message. | |
781 * a-exexpr-gcc.adb, sem_util.adb, sem_case.adb, exp_ch11.adb: Minor | |
782 reformatting. | |
783 | |
784 2013-10-14 Arnaud Charlet <charlet@adacore.com> | |
785 | |
786 * exp_ch11.adb: Fix typo. | |
787 | |
788 2013-10-14 Thomas Quinot <quinot@adacore.com> | |
789 | |
790 * exp_util.ads: Minor reformatting. | |
791 | |
792 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
793 | |
794 * sem_ch3.adb (Build_Derived_Record_Type): Reject full views | |
795 with no explicit discriminant constraints, when the parents of | |
796 the partial view and the full view are constrained subtypes with | |
797 different constraints. | |
798 | |
799 2013-10-14 Robert Dewar <dewar@adacore.com> | |
800 | |
801 * freeze.adb (Freeze_Array_Type): New procedure, abstracts out | |
802 this code from Freeze. | |
803 (Freeze_Array_Type): Detect pragma Pack overriding foreign convention | |
804 (Freeze_Record_Type): Ditto. | |
805 | |
806 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
807 | |
808 * sem_prag.adb (Analyze_Dependency_Clause): Add new local variable | |
809 Non_Null_Output_Seen. Update the call to Analyze_Input_Output. | |
810 (Analyze_Input_Item): Streamline the detection mechanism of null and | |
811 non-null items. | |
812 (Analyze_Input_List): Add new local variable | |
813 Non_Null_Input_Seen. Update all calls to Analyze_Input_Output. | |
814 (Analyze_Input_Output): Add new formal parameter Non_Null_Seen | |
815 and update the related comment on usage. Update the | |
816 recursive call to itself. Attribute 'Result is now treated | |
817 as a non-null item. Detect mixes of null and non-null items. | |
818 (Analyze_Initialization_Item): Streamline the detection mechanism | |
819 of null and non-null items. | |
820 | |
821 2013-10-14 Vincent Celier <celier@adacore.com> | |
822 | |
823 * projects.texi: Add documentation for the new project level | |
824 attribute Library_Rpath_Options. | |
825 | |
826 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
827 | |
828 * a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure. | |
829 (Set_Foreign_Occurrence): New procedure, extracted from | |
830 Setup_Current_Excep. | |
831 * exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice | |
832 parameter in case of zcx. | |
833 * sem_ch11.adb (Analyze_Exception_Handlers): Need debug info | |
834 for the choice parameter. | |
835 * raise-gcc.c: Add comments. | |
836 | |
837 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
838 | |
839 * aspects.adb: Add an entry in table Canonical_Aspect for | |
840 Initial_Condition. | |
841 * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument, | |
842 Aspect_Names and Aspect_Delay for Initial_Condition. | |
843 * einfo.adb (Get_Pragma): Include pragma Initial_Condition to | |
844 categorization pragmas. | |
845 * einfo.ads (Get_Pragma): Update comment on usage. | |
846 * exp_ch7.adb (Expand_N_Package_Body): Add a runtime check to | |
847 verify the assertion introduced by pragma Initial_Condition. | |
848 (Expand_N_Package_Declaration): Add a runtime check to | |
849 verify the assertion introduced by pragma Initial_Condition. | |
850 (Expand_Pragma_Initial_Condition): New routine. | |
851 * par-prag: Include pragma Initial_Condition to the list of | |
852 pragmas that do not require special processing by the parser. | |
853 * sem_ch3.adb (Analyze_Declarations): Analyze pragma | |
854 Initial_Condition at the end of the visible declarations. | |
855 * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing | |
856 for aspect Initial_Condition. | |
857 (Check_Aspect_At_Freeze_Point): | |
858 Aspect Initial_Condition does not need inspection at freezing. | |
859 * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): | |
860 New routine. | |
861 (Analyze_Pragma): Update all calls | |
862 to Check_Declaration_Order. Add processing for pragma | |
863 Initial_Condition. Initial_Condition is now a valid assertion | |
864 kind. Add an entry in table Sig_Flags for Initial_Condition. | |
865 (Check_Declaration_Order): Reimplemented to handle arbitrary | |
866 pragmas. | |
867 (Is_Valid_Assertion_Kind): Add an entry for | |
868 Initial_Condition. | |
869 * sem_pag.ads (Analyze_Initial_Condition_In_Decl_Part): | |
870 New routine. | |
871 * sem_util.adb (Add_Contract_Item): Pragma Initial_Condition | |
872 can now be associated with a package spec. | |
873 * sem_util.ads (Add_Contract_Item): Update comment on usage. | |
874 * sinfo.ads: Update the documentation of node N_Contract | |
875 * snames.ads-tmpl: Add new predefined name Initial_Condition. Add | |
876 new pragma id for Initial_Condition. | |
877 | |
878 2013-10-14 Thomas Quinot <quinot@adacore.com> | |
879 | |
880 * exp_pakd.adb: Minor reformatting. | |
881 | |
882 2013-10-14 Robert Dewar <dewar@adacore.com> | |
883 | |
884 * exp_prag.adb: Minor reformatting. | |
885 | |
886 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
887 | |
888 * sem_case.adb (Check_Against_Predicate): Handle properly an | |
889 others clause in various cases. | |
890 | |
891 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
892 | |
893 * sem_prag.adb (Check_Matching_Constituent): Do | |
894 not inspect the hidden states if there are no hidden states. This | |
895 case arises when the constituents are states coming from a | |
896 private child. | |
897 | |
898 2013-10-14 Doug Rupp <rupp@adacore.com> | |
899 | |
900 * init.c [ARMEL and VxWorks] (__gnat_map_signal): Re-arm guard | |
901 page by clearing VALID bit vice setting page protection. | |
902 | |
903 2013-10-14 Arnaud Charlet <charlet@adacore.com> | |
904 | |
905 * gnat_rm.texi, adaint.c: Fix typo. | |
906 | |
907 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
908 | |
909 * sem_util.adb (Is_Variable, In_Protected_Function): In the | |
910 body of a protected function, the protected object itself is a | |
911 constant (not just its components). | |
912 | |
913 2013-10-14 Vincent Celier <celier@adacore.com> | |
914 | |
915 * snames.ads-tmpl: Add new standard name Library_Rpath_Options. | |
916 | |
917 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
918 | |
919 * sem_prag.adb (Process_Import_Or_Interface): Allow importing | |
920 of exception using convention Cpp. | |
921 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Expand cpp | |
922 imported exceptions. | |
923 * raise-gcc.c (is_handled_by): Filter C++ exception occurrences. | |
924 * gnat_rm.texi: Document how to import C++ exceptions. | |
925 | |
926 2013-10-14 Jose Ruiz <ruiz@adacore.com> | |
927 | |
928 * sem_ch13.adb (Sem_Ch13.Analyze_Aspect_Specification): For | |
929 Priority and CPU aspects, when checking, issue a warning only | |
930 if it is obviously not a main program. | |
931 | |
932 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
933 | |
934 * adaint.c: Fix condition for AIX. Minor reformatting. | |
935 | |
936 2013-10-14 Robert Dewar <dewar@adacore.com> | |
937 | |
938 * sem_ch3.adb, sem_prag.adb, prj.ads: Minor reformatting. | |
939 | |
940 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
941 | |
942 * sem_prag.adb (Analyze_Depends_In_Decl_Part): | |
943 Rename Outputs_Seen to All_Outputs_Seen and update all occurrences | |
944 of the variable. | |
945 (Analyze_Input_Output): Add an item to | |
946 All_Inputs_Seen when it is an input or a self-referential output. | |
947 (Check_Mode): Comment reformatting. | |
948 (Analyze_Abstract_State): Remove the restriction that an Export state | |
949 must also have mode Input_Only or Output_Only. | |
950 | |
951 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
952 | |
953 * einfo.adb: Flag 263 is now known as Has_Visible_Refinement. | |
954 (Has_Non_Null_Refinement): New routine. | |
955 (Has_Null_Refinement): The routine is now synthesized. | |
956 (Has_Visible_Refinement): New routine. | |
957 (Set_Has_Visible_Refinement): New routine. | |
958 (Write_Entity_Flags): Remove the output for | |
959 Has_Null_Refinement. Add output for Has_Visible_Refinement. | |
960 * einfo.ads: Update the occurrences of Has_Non_Null_Refinement, | |
961 Has_Null_Refinement and Has_Visible_Refinement in entities. | |
962 (Has_Non_Null_Refinement): New synthesized attribute. | |
963 (Has_Null_Refinement): This attribute is now synthesized. | |
964 (Has_Visible_Refinement): New routine with corresponding | |
965 pragma Inline. | |
966 (Set_Has_Visible_Refinement): New routine with corresponding pragma | |
967 Inline. | |
968 * sem_ch3.adb (Analyze_Declarations): Add new local | |
969 variable In_Package_Body. Remove state refinements from | |
970 visibility at the end of the package body declarations. | |
971 (Remove_Visible_Refinements): New routine. | |
972 * sem_prag.adb (Analyze_Constituent): Collect a null | |
973 constituent and mark the state as having visible refinement. | |
974 (Analyze_Global_Item): Use attribute Has_Visible_Refinement to | |
975 detect a state with visible refinement. | |
976 (Analyze_Input_Output): Use attribute Has_Visible_Refinement to detect | |
977 a state with visible refinement. | |
978 (Check_Dependency_Clause): Use attribute Has_Non_Null_Refinement rather | |
979 than checking the contents of list Refinement_Constituents. | |
980 (Check_In_Out_States): Use attribute Has_Non_Null_Refinement rather | |
981 than checking the contents of list Refinement_Constituents. | |
982 (Check_Input_States): Use attribute Has_Non_Null_Refinement rather | |
983 than checking the contents of list Refinement_Constituents. | |
984 (Check_Matching_Constituent): Mark a state as having visible refinement. | |
985 (Check_Output_States): Use attribute Has_Non_Null_Refinement rather than | |
986 checking the contents of list Refinement_Constituents. | |
987 (Check_Refined_Global_Item): Use attribute Has_Visible_Refinement | |
988 to detect a state with visible refinement. | |
989 (Is_Matching_Input): Use attribute Has_Non_Null_Refinement rather than | |
990 checking the contents of list Refinement_Constituents. | |
991 * sem_util.adb (Is_Refined_State): Use attribute | |
992 Has_Visible_Refinement to detect a state with visible refinement. | |
993 | |
994 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
995 | |
996 * sem_prag.adb (Check_Mode): Do not emit an | |
997 error when inspecting a self referencial output item of an | |
998 unconstrained type. | |
999 | |
1000 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
1001 | |
1002 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Fix | |
1003 target type for code of VMS imported exception. | |
1004 * init.c: Replace Exception_Code by void *. | |
1005 * s-vmexta.adb (Hash, Base_Code_In): Adjust code after changing | |
1006 the type of Exception_Code. | |
1007 | |
1008 2013-10-14 Vincent Celier <celier@adacore.com> | |
1009 | |
1010 * prj.ads: Minor comment updates. | |
1011 * prj-attr.adb: New attribute Library_Rpath_Options. | |
1012 | |
1013 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1014 | |
1015 * gnat_rm.texi: Library_Level attribute now applies to an | |
1016 entity name. | |
1017 * sem_attr.adb (Analyze_Attribute, case Library_Level): Prefix | |
1018 is now an entity name. | |
1019 | |
1020 2013-10-14 Jose Ruiz <ruiz@adacore.com> | |
1021 | |
1022 * sem_ch13.adb (Analyze_Aspect_Specification): For | |
1023 Priority and CPU aspects in subprograms, the expression in the | |
1024 aspect is analyzed and exported. | |
1025 | |
1026 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1027 | |
1028 * s-valuti.adb, prep.adb, scng.adb, errout.adb: Minor reformatting. | |
1029 | |
1030 2013-10-14 Eric Botcazou <ebotcazou@adacore.com> | |
1031 | |
1032 * adaint.c: Further disable __gnat_get_executable_load_address | |
1033 for Linux. | |
1034 | |
1035 2013-10-14 Vincent Celier <celier@adacore.com> | |
1036 | |
1037 * gnat_ugn.texi: Add documentation for comparing symbols to | |
1038 integers in preprocessing expressions. | |
1039 | |
1040 2013-10-14 Jose Ruiz <ruiz@adacore.com> | |
1041 | |
1042 * sem_prag.adb (Analyze_Aspect_Specification): For | |
1043 Priority and CPU aspects in subprograms, the expression in the | |
1044 aspect is analyzed and exported. | |
1045 (Analyze_Pragma): When having a Priority pragma in the | |
1046 main subprogram, load a unit that will force the initialization | |
1047 of the tasking run time, which is needed for setting the required | |
1048 priority. | |
1049 | |
1050 2013-10-14 Vincent Celier <celier@adacore.com> | |
1051 | |
1052 * prj-nmsc.adb (Check_Interfaces): Put in Other_Interfaces all | |
1053 non Ada interface files. | |
1054 * prj.ads (Project_Data): New component Other_Interfaces. | |
1055 | |
1056 2013-10-14 Arnaud Charlet <charlet@adacore.com> | |
1057 | |
1058 * gcc-interface/Makefile.in: Target pairs clean ups. | |
1059 | |
1060 2013-10-14 Vincent Celier <celier@adacore.com> | |
1061 | |
1062 * errout.adb (Write_Error_Summary): Do not output the number | |
1063 of lines when Main_Source_File is unknown. | |
1064 (Output_Messages): Do not write the header when Main_Source_File is | |
1065 unknown. | |
1066 | |
1067 2013-10-14 Vincent Celier <celier@adacore.com> | |
1068 | |
1069 * prep.adb (Expression): Accept terms of the form 'symbol <relop> | |
1070 integer", where relop is =, <, <=, > or >=. | |
1071 (Parse_Def_File): Accept literal integer values. | |
1072 * gcc-interface/Make-lang.in: Add s-valint.o, s-valuns.o and | |
1073 s-valuti.o to the compiler object files. | |
1074 | |
1075 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1076 | |
1077 * exp_prag.adb, exp_ch11.adb, s-exctab.adb: Minor reformatting. | |
1078 * usage.adb: Add line for -gnateu switch. | |
1079 | |
1080 2013-10-14 Vincent Celier <celier@adacore.com> | |
1081 | |
1082 * lib-writ.ads: Add comments to indicate that a path name in | |
1083 D lines may be quoted if the path name includes directories | |
1084 with spaces. | |
1085 | |
1086 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1087 | |
1088 * debug.adb: Document -gnatd.E. | |
1089 * gnat1drv.adb (Adjust_Global_Switches): Set Error_To_Warning | |
1090 if -gnatd.E set. | |
1091 * opt.ads (Error_To_Warning): New switch. | |
1092 * osint.adb: Minor reformatting. | |
1093 * sem_warn.adb (Warn_On_Overlapping_Actuals): Overlap is error | |
1094 in some cases in Ada 2012 mode (unless Error_To_Warning) is set. | |
1095 * sem_warn.ads (Warn_On_Overlapping_Actuals): Document error | |
1096 in Ada 2012 mode. | |
1097 | |
1098 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
1099 | |
1100 * cstand.adb: Add a comment for Standard_Exception_Type. | |
1101 | |
1102 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
1103 | |
1104 * exp_ch4.adb (Process_Transient_Object): If a transient scope | |
1105 has already been created, use the corresponding Node_To_Be_Wrapped | |
1106 as the insertion point for the controlled actions. | |
1107 | |
1108 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
1109 | |
1110 * cstand.adb (Create_Standard): Change Import_Code component | |
1111 of Standard_Exception_Type to Foreign_Data. Its type is now | |
1112 Standard_A_Char (access to character). | |
1113 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust | |
1114 definition of Code to match the type of Foreign_Data. | |
1115 * s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data | |
1116 Change the definition of standard predefined exceptions. | |
1117 (Exception_Code): Remove. | |
1118 * raise.h (Exception_Code): Remove (Exception_Data): Replace | |
1119 Import_Code field by Foreign_Data. | |
1120 * rtsfind.ads (RE_Exception_Code): Remove | |
1121 (RE_Import_Address): Add. | |
1122 * a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For. | |
1123 * exp_ch11.adb (Expand_N_Exception_Declaration): Associate null | |
1124 to Foreign_Data component. | |
1125 * raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For. | |
1126 (is_handled_by): Add comments. Use replaced function. Change | |
1127 condition so that an Ada occurrence is never handled by | |
1128 Foreign_Exception. | |
1129 * s-exctab.adb (Internal_Exception): Associate Null_Address to | |
1130 Foreign_Data component. | |
1131 * s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace | |
1132 SSL.Exception_Code by Exception_Code. | |
1133 | |
1134 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1135 | |
1136 * gnat_ugn.texi: Document -gnateu switch. | |
1137 * opt.ads (Ignore_Unrecognized_VWY_Switches): New switch. | |
1138 * stylesw.adb: Ignore unrecognized switch if | |
1139 Ignore_Unrecognized_VWY_Switches set. | |
1140 * switch-c.adb: Implement -gnateu (sets | |
1141 Ignore_Unrecognized_VWY_Switches). | |
1142 * validsw.adb: Ignore unrecognized switch if | |
1143 Ignore_Unrecognized_VWY_Switches set. | |
1144 * warnsw.adb: Ignore unrecognized switch if | |
1145 Ignore_Unrecognized_VWY_Switches set. | |
1146 | |
1147 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1148 | |
1149 * exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor | |
1150 reformatting. | |
1151 | |
1152 2013-10-14 Vincent Celier <celier@adacore.com> | |
1153 | |
1154 * ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted, | |
1155 defaulted to False. Calls Get_Name with May_Be_Quoted. | |
1156 (Get_Name): New Boolean parameter May_Be_Quoted, defaulted to | |
1157 False. If May_Be_Quoted is True and first non blank charater is | |
1158 '"', unquote the name. | |
1159 (Scan_ALI): For the file/path name on the D line, call Get_File_Name | |
1160 with May_Be_Quoted = True, as it may have been quoted. | |
1161 * lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New | |
1162 procedure to write file/path names that may contain spaces and if they | |
1163 do are quoted. | |
1164 * lib-writ.adb (Write_ALI): Use new procedure | |
1165 Write_Info_Name_May_Be_Quoted to write file/path names on D lines. | |
1166 | |
1167 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
1168 | |
1169 * sem_prag.adb (Analyze_Depends_In_Decl_Part, | |
1170 Analyze_Global_In_Decl_Part, | |
1171 Analyze_Pre_Post_Condition_In_Decl_Part): Install the subprogram | |
1172 and its formals only when it is not already installed. | |
1173 * sem_util.adb (Is_Refined_State): A state is refined when it | |
1174 has a non-empty list of constituents. | |
1175 | |
1176 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
1177 | |
1178 * adaint.c: Disable __gnat_get_executable_load_address for linux. | |
1179 * exp_prag.adb: Add comment in Expand_Pragma_Import_Export_Exception. | |
1180 | |
1181 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
1182 | |
1183 * s-vmexta.ads: Add comments. | |
1184 | |
1185 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
1186 | |
1187 * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing | |
1188 for pragma Refined_State. | |
1189 * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing | |
1190 for aspect Refined_Depends. | |
1191 * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): | |
1192 Use Find_Related_Subprogram_Or_Body to find the related | |
1193 context. Use the current scope when determining whether to | |
1194 ensure proper visibility. | |
1195 (Analyze_Depends_In_Decl_Part): | |
1196 Add local variable Spec_Id. Update the comment on usage of | |
1197 Subp_Id. Use Find_Related_Subprogram_Or_Body to find the | |
1198 related context. Extract the corresponding spec of the body | |
1199 (if any). Use the current scope when determining when to | |
1200 ensure proper visibility. | |
1201 (Analyze_Global_In_Decl_Part): | |
1202 Add local variable Spec_Id. Update the comment on usage of | |
1203 Subp_Id. Use Find_Related_Subprogram_Or_Body to find the | |
1204 related context. Extract the corresponding spec of the body | |
1205 (if any). Use the current scope when determining when to | |
1206 ensure proper visibility. | |
1207 (Analyze_Global_Item): Use the | |
1208 entity of the subprogram spec when performing formal parameter | |
1209 checks. Perform state-related checks. | |
1210 (Analyze_Input_Output): | |
1211 Use Is_Attribute_Result to detect 'Result. Query the | |
1212 entity of a subprogram spec when verifying the prefix of | |
1213 'Result. Perform state-related checks. (Analyze_Pragma): | |
1214 Merge the analysis of Refined_Depends and Refined_Global. | |
1215 (Analyze_Refined_Depends_In_Decl_Part): Provide implemenation. | |
1216 (Analyze_Refined_Global_In_Decl_Part): Move state-related checks | |
1217 to the body of Analyze_Global_In_Decl_Part. Rename local constant | |
1218 List to Items. (Analyze_Refined_Pragma): Remove circuitry to | |
1219 find the proper context, use Find_Related_Subprogram_Or_Body | |
1220 instead. | |
1221 (Check_Function_Return): Query the entity of | |
1222 the subprogram spec when verifying the use of 'Result. | |
1223 (Check_In_Out_States, Check_Input_States, Check_Output_States): | |
1224 Avoid using Has_Null_Refinement to detect a state with | |
1225 a non-null refinement, use the Refinement_Constituents | |
1226 list instead. | |
1227 (Check_Matching_Constituent): Remove initialization code. | |
1228 (Check_Mode_Restriction_In_Function): Use the entity of the subprogram | |
1229 spec when verifying mode usage in functions. | |
1230 (Collect_Global_Items): New routine. | |
1231 (Collect_Subprogram_Inputs_Outputs): Add local | |
1232 variable Spec_Id. Add circuitry for bodies-as-specs. Use | |
1233 pragma Refined_Global when collecting for a body. | |
1234 (Create_Or_Modify_Clause): Use the location of the | |
1235 clause. Rename local variable Clause to New_Clause to avoid | |
1236 confusion and update all occurrences. Use Is_Attribute_Result | |
1237 to detect 'Result. | |
1238 (Find_Related_Subprogram): Removed. | |
1239 (Find_Related_Subprogram_Or_Body): New routine. | |
1240 (Is_Part_Of): Move routine to top level. | |
1241 (Normalize_Clause): Update the | |
1242 comment on usage. The routine can now normalize a clause with | |
1243 multiple outputs by splitting it. | |
1244 (Collect_Global_Items): | |
1245 Rename local constant List to Items. Remove the check for | |
1246 a null list. | |
1247 (Requires_Profile_Installation): Removed. | |
1248 (Split_Multiple_Outputs): New routine. | |
1249 * sem_prag.ads: Update the comments on usage of various | |
1250 pragma-related analysis routines. | |
1251 * sem_util.adb (Contains_Refined_State): The routine can now | |
1252 process pragma [Refined_]Depends. | |
1253 (Has_Refined_State): Removed. | |
1254 (Has_State_In_Dependency): New routine. | |
1255 (Has_State_In_Global): New routine. | |
1256 (Is_Attribute_Result): New routine. | |
1257 * sem_util.ads (Is_Attribute_Result): New routine. | |
1258 | |
1259 2013-10-14 Emmanuel Briot <briot@adacore.com> | |
1260 | |
1261 * s-regpat.adb (Compile): Fix finalization of the automaton | |
1262 when its size was automatically computed to be exactly 1000 bytes. | |
1263 | |
1264 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
1265 | |
1266 * sem_ch3.adb (Complete_Private_Subtype): If the full view of | |
1267 the base type is constrained, the full view of the subtype is | |
1268 known to be constrained as well. | |
1269 | |
1270 2013-10-14 Vincent Celier <celier@adacore.com> | |
1271 | |
1272 * projects.texi: Add documentation for new attributes of package | |
1273 Clean: Artifacts_In_Object_Dir and Artifacts_In_Exec_Dir. | |
1274 | |
1275 2013-10-14 Tristan Gingold <gingold@adacore.com> | |
1276 | |
1277 * adaint.c, adaint.h (__gnat_get_executable_load_address): | |
1278 New function. | |
1279 * a-exexda.adb (Append_Info_Basic_Exception_Traceback): Add | |
1280 executable load address (Basic_Exception_Tback_Maxlength): Adjust. | |
1281 | |
1282 2013-10-14 Vincent Celier <celier@adacore.com> | |
1283 | |
1284 * prj-attr.adb: New attributes in package Clean: | |
1285 Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir. | |
1286 * prj-nmsc.adb (Process_Clean (Attributes)): New | |
1287 procedure to process attributes Artifacts_In_Exec_Dir and | |
1288 Artifacts_In_Object_Dir in package Clean. | |
1289 * prj.ads (Project_Configuration): New components | |
1290 Artifacts_In_Exec_Dir and Artifacts_In_Object_Dir. | |
1291 * snames.ads-tmpl: New standard names Artifacts_In_Exec_Dir and | |
1292 Artifacts_In_Object_Dir used only by gprclean. | |
1293 | |
1294 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1295 | |
1296 * exp_attr.adb (Expand_N_Attribute_Reference): Add error | |
1297 entry for Library_Level attribute (which should not survive | |
1298 to expansion) | |
1299 * gnat_rm.texi: Document attribute Library_Level | |
1300 * sem_attr.adb (Analyze_Attribute, case Library_Level): Implement | |
1301 this new attribute (Set_Boolean_Result): Replaces Set_Result | |
1302 (Check_Standard_Prefix): Document that Check_E0 is called | |
1303 (Check_System_Prefix): New procedure | |
1304 * snames.ads-tmpl: Add entry for Library_Level attribute | |
1305 | |
1306 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1307 | |
1308 * exp_ch6.adb, sinfo.ads: Minor reformatting. | |
1309 * checks.adb (Overlap_Check): Use identifier casing in messages. | |
1310 | |
1311 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1312 | |
1313 * einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type | |
1314 only. | |
1315 * exp_aggr.adb (Expand_Array_Aggregate): Handle proper | |
1316 initialization of <> component. | |
1317 * exp_ch3.adb, exp_tss.adb: Minor reformatting | |
1318 * sem_ch13.adb (Default_Aspect_Component_Value, Default_Aspect_Value): | |
1319 Is on base type only. | |
1320 * sinfo.ads: Minor comment revision. | |
1321 | |
1322 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1323 | |
1324 * g-decstr.adb (Decode_Wide_Wide_Character): Fix failure | |
1325 to detect invalid sequences where longer than necessary | |
1326 sequences are used for encoding. | |
1327 (Validate_Wide_Character): | |
1328 Call Decode_Wide_Character to get the above validations. | |
1329 (Validate_Wide_Wide_Character): Same fix | |
1330 * g-decstr.ads: Add documentation making it clear that the UTF-8 | |
1331 implementation here recognizes all valid UTF-8 sequences, rather | |
1332 than the well-formed subset corresponding to characters defined | |
1333 in Unicode. | |
1334 (Next_Wide_Character): Remove comment about this | |
1335 being more efficient than Decode_Wide_Character (because this | |
1336 no longer the case). | |
1337 (Prev_Wide_Character): Add note that valid encoding is assumed. | |
1338 | |
1339 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1340 | |
1341 * a-wichha.adb (Character_Set_Version): New function. | |
1342 * a-wichha.ads: Remove comments for pragma Pure (final RM has | |
1343 this). | |
1344 (Character_Set_Version): New function. | |
1345 * gnat_rm.texi: Update doc. | |
1346 | |
1347 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
1348 | |
1349 * einfo.adb: Flag263 is now known as Has_Null_Refinement. | |
1350 (Has_Null_Refinement): New routine. | |
1351 (Set_Has_Null_Refinement): New routine. | |
1352 (Write_Entity_Flags): Output the status of flag | |
1353 Has_Null_Refinement. | |
1354 * einfo.ads: Add new flag Has_Null_Refinement along with | |
1355 comment on usage and update all nodes subject to the flag. | |
1356 (Has_Null_Refinement): New routine along with pragma Inline. | |
1357 (Set_Has_Null_Refinement): New rouitine along with pragma Inline. | |
1358 * sem_prag.adb (Analyze_Constituent): Mark a state as having | |
1359 a null refinement when the sole constituent is "null". | |
1360 (Analyze_Global_List): Handle null input/output items. | |
1361 (Analyze_Refined_Global_In_Decl_Part): Add local variable | |
1362 Has_Null_State. Add logic to handle combinations of states | |
1363 with null refinements and null global lists and/or items. | |
1364 (Check_In_Out_States, Check_Input_States, Check_Output_States): | |
1365 Use attribute Has_Null_Refinement to detect states with | |
1366 constituents. | |
1367 (Check_Refined_Global_List): Handle null input/output items. | |
1368 (Process_Global_Item): Handle states with null refinements. | |
1369 (Process_Global_List): Handle null input/output items. | |
1370 | |
1371 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1372 | |
1373 * freeze.adb (Freeze_Entity): Reset Is_True_Constant for | |
1374 aliased object | |
1375 * gnat_ugn.texi: Update doc on aliased variables and constants. | |
1376 | |
1377 2013-10-14 Ed Schonberg <schonberg@adacore.com> | |
1378 | |
1379 * exp_pakd.adb (Expand_Packed_Element_Reference): If the | |
1380 reference is an actual in a call, the prefix has not been fully | |
1381 expanded, to account for the additional expansion for parameter | |
1382 passing. the prefix itself is a packed reference as well, | |
1383 recurse to complete the transformation of the prefix. | |
1384 | |
1385 2013-10-14 Eric Botcazou <ebotcazou@adacore.com> | |
1386 | |
1387 * exp_dbug.adb (Debug_Renaming_Declaration): Do not | |
1388 materialize the entity when the renamed object contains an | |
1389 N_Explicit_Dereference. | |
1390 * sem_ch8.adb (Analyze_Object_Renaming): | |
1391 If the renaming comes from source and the renamed object is a | |
1392 dereference, mark the prefix as needing debug information. | |
1393 | |
1394 2013-10-14 Doug Rupp <rupp@adacore.com> | |
1395 | |
1396 * system-vxworks-arm.ads (Stack_Check_Probes, Stack_Check_Limits): | |
1397 Enable Stack Probes, Disable Stack Limit Checking. | |
1398 * init.c [VxWorks] (__gnat_inum_to_ivec): Caste return value. | |
1399 (__gnat_map_signal): Fix signature. | |
1400 (__gnat_error_handler): Make | |
1401 static, fix signature, remove prototype, fix prototype warning. | |
1402 [ARMEL and VxWorks6] (__gnat_map_signal): Check and re-arm guard | |
1403 page for storage_error. | |
1404 * exp_pakd.adb: Minor reformatting. | |
1405 | |
1406 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
1407 | |
1408 * sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local | |
1409 variable Contract_Seen. Add local variable Proof_Seen. | |
1410 (Analyze_Global_List): Remove the processing for mode | |
1411 Contract_In. Add support for mode Proof_In. | |
1412 (Analyze_Pragma): Update the grammar of pragmas Global and | |
1413 Refined_Global. | |
1414 * snames.ads-tmpl: Remove predefined name Contract_In. Add | |
1415 predefined name Proof_In. | |
1416 | |
1417 2013-10-14 Robert Dewar <dewar@adacore.com> | |
1418 | |
1419 * exp_prag.adb (Expand_Pragma_Check): Generate proper string | |
1420 for invariant | |
1421 * gnat_rm.texi: Add documentation for pragmas | |
1422 Type_Invariant[_Class] | |
1423 * par-prag.adb: Add entries for pragmas Type_Invariant[_Class] | |
1424 * sem_ch13.adb: Minor reformatting | |
1425 * sem_prag.adb: Implement pragmas Type_Invariant[_Class] | |
1426 * snames.ads-tmpl: Add entries for pragmas Type_Invariant[_Class] | |
1427 | |
1428 2013-10-14 Johannes Kanig <kanig@adacore.com> | |
1429 | |
1430 * debug.adb: Release now unused debug switches that were only | |
1431 relevant for gnat2why backend, not the frontend | |
1432 * frontend.adb (Frontend) Do not stop when -gnatd.H is present, | |
1433 was unused | |
1434 | |
1435 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
1436 | |
1437 * sem_prag.adb (Analyze_Global_Item): Allow | |
1438 references to enclosing formal parameters. | |
1439 | |
1440 2013-10-14 Thomas Quinot <quinot@adacore.com> | |
1441 | |
1442 * einfo.adb (Equivalent_Type): Add missing case | |
1443 E_Access_Subprogram_Type in guard (for remote access to | |
1444 subprograms) * sem_ch8.adb (Find_Direct_Name, Find_Expanded_Name): | |
1445 Add missing guards to account for the presence of RAS types | |
1446 that have already been replaced with the corresponding fat | |
1447 pointer type. | |
1448 | |
1449 2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> | |
1450 | |
1451 * aspects.adb: Add an entry in table Canonical_Aspect for | |
1452 Initializes. | |
1453 * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument, | |
1454 Aspect_Names and Aspect_Delay for Initializes. | |
1455 * atree.ads, atree.adb (Ekind_In): New seven argument versions of the | |
1456 routines. | |
1457 * einfo.adb: Remove Refined_State_Pragma from the list of node | |
1458 usage. Finalizer is now at position 28. | |
1459 (Contract): Package | |
1460 and package bodies now have a contract. | |
1461 (Finalizer): Update | |
1462 the assertion and node usage. | |
1463 (Get_Pragma): Update the Is_CDG | |
1464 flag to include Abstract_State, Initializes and Refined_State. | |
1465 (Refined_State_Pragma): Removed. | |
1466 (Set_Contract): Package and | |
1467 package bodies now have a contract. | |
1468 (Set_Finalizer): Update the | |
1469 assertion and node usage. | |
1470 (Set_Refined_State_Pragma): Removed. | |
1471 (Write_Field8_Name): Remove the output for Refined_State_Pragma. | |
1472 (Write_Field24_Name): Remove the output for Finalizer. Package | |
1473 and package bodies now have a contract. | |
1474 (Write_Field28_Name): | |
1475 Add output for Finalizer. | |
1476 * einfo.ads: Update the documentation and usage in entities | |
1477 of attribute Contract. Update the node position and usage in | |
1478 entities of attribute Finalizer. Remove the documentation | |
1479 and usage in entities for attribute Refined_State_Pragma. | |
1480 (Refined_State_Pragma): Removed along with pragma Inline. | |
1481 (Set_Refined_State_Pragma): Removed along with pragma Inline. | |
1482 * par-prag.adb: Add Initializes to the pragmas that do not | |
1483 require special processing by the parser. | |
1484 * sem_ch3.adb (Analyze_Declarations): Add local variable | |
1485 Prag. Update the retrieval of pragma Refined_State. Analyze | |
1486 aspect/pragma Initializes at the end of the visible declarations | |
1487 of the related package. | |
1488 * sem_ch6.adb (Analyze_Subprogram_Body_Contract): | |
1489 Add local variables Ref_Depends and Ref_Global. Analyze | |
1490 pragmas Refined_Global and Refined_Depends in that order. | |
1491 (Analyze_Subprogram_Contract): Add local variables Depends and | |
1492 Global. Analyze pragmas Global and Depends in that order. | |
1493 * sem_ch7.adb (Analyze_Package_Body_Helper): Package | |
1494 bodies now have a contract. Move the analysis of the aspect | |
1495 specifications after the defining entity has been decorated. | |
1496 (Analyze_Package_Declaration): Packages now have a contract. Move | |
1497 the analysis of the aspect specifications after the defining | |
1498 entity has been decorated. | |
1499 * sem_ch12.adb (Analyze_Generic_Package_Declaration): Packages | |
1500 now have contracts. | |
1501 * sem_ch13.adb (Analyze_Pragma): Code cleanup for aspect | |
1502 Abstract_State. Add processing for aspect Initializes. | |
1503 (Check_Aspect_At_Freeze_Point): Add an entry for Initializes. | |
1504 * sem_prag.adb: Use Get_Pragma_Arg to extract the expression | |
1505 of a pragma argument. Add an entry in table Sig_Flags for | |
1506 Initializes. | |
1507 (Analyze_Initializes_In_Decl_Part): New routine. | |
1508 (Analyze_Pragma): Check the declaration order of pragmas | |
1509 Abstract_State and Initializes. Abstract_State is now part of | |
1510 the package contract. Analyze pragma Initializes. Check for | |
1511 duplicate Refined_State pragma. Refined_State is now part of | |
1512 the package contract. | |
1513 (Check_Declaration_Order): New routine. | |
1514 (Check_Test_Case): Alphabetized. | |
1515 * sem_prag.ads (Analyze_Initializes_In_Decl_Part): New routine. | |
1516 * sem_util.adb (Add_Contract_Item): Rename formal Subp_Id | |
1517 to Id. This routine can now support contracts on packages and | |
1518 package bodies. | |
1519 * sem_util.ads (Add_Contract_Item): Rename formal Subp_Id to | |
1520 Id. Update comment on usage. | |
1521 * sinfo.ads: Update the usage of N_Contract nodes. | |
1522 * snames.ads-tmpl: Add predefined name Initializes. Add new | |
1523 pragma id for Initializes. | |
1524 | |
1525 2013-10-13 Nicolas Roche <roche@adacore.com> | |
1526 Eric Botcazou <ebotcazou@adacore.com> | |
1527 | |
1528 * gcc-interface/Make-lang.in (ada/%.o): Replace individual rules with | |
1529 generic rule and add $(POSTCOMPILE). | |
1530 (ADA_DEPS): New. | |
1531 (.adb.o): Add @$(ADA_DEPS). | |
1532 (.ads.o): Likewise. | |
1533 (ada/a-except.o): Likewise. | |
1534 (ada/s-excdeb.): Likewise. | |
1535 (ada/s-assert.o): Likewise. | |
1536 (ada/a-tags.o): Likewise. | |
1537 (ada_generated_files): New variable. | |
1538 Use them as dependency order for GNAT1_ADA_OBJS and GNATBIND_OBJS. | |
1539 (ADA_DEPFILES): New variable. | |
1540 Include them. | |
1541 (ada_OBJS): Define. | |
1542 | |
1543 2013-10-13 Eric Botcazou <ebotcazou@adacore.com> | |
1544 | |
1545 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local | |
1546 variables with aggregate types in memory if not optimizing. | |
1547 | |
1548 2013-10-13 Hristian Kirtchev <kirtchev@adacore.com> | |
1549 | |
1550 * sem_prag.adb (Check_Mode): Do | |
1551 not emit an error when we are looking at inputs and | |
1552 the item is an unconstrained or tagged out parameter. | |
1553 (Check_Mode_Restriction_In_Enclosing_Context): Use Get_Pragma | |
1554 to find whether the context is subject to aspect/pragma Global. | |
1555 (Collect_Subprogram_Inputs_Outputs): Unconstrained or tagged | |
1556 out parameters are now considered inputs. Use Get_Pragma to | |
1557 find wheher the subprogram is subject to aspect/pragma Global. | |
1558 (Is_Unconstrained_Or_Tagged_Item): New routine. | |
1559 | |
1560 2013-10-13 Thomas Quinot <quinot@adacore.com> | |
1561 | |
1562 * einfo.ads: Minor reformatting. | |
1563 * gcc-interface/Make-lang.in: Update dependencies. | |
1564 | |
1565 2013-10-13 Robert Dewar <dewar@adacore.com> | |
1566 | |
1567 * gnat_rm.texi: Add documentation for pragmas Pre[_Class] | |
1568 Post[_Class]. | |
1569 * par-ch2.adb (Skip_Pragma_Semicolon): Handle extra semicolon nicely. | |
1570 * par-prag.adb: Add entries for pragmas Pre[_Class] and | |
1571 Post[_Class]. | |
1572 * sem_prag.adb: Add handling of pragmas Pre[_Class] and | |
1573 Post[_Class]. | |
1574 * sem_util.adb (Original_Aspect_Name): Moved here from | |
1575 Sem_Prag.Original_Name, and modified to handle pragmas | |
1576 Pre/Post/Pre_Class/Post_Class. | |
1577 * sem_util.ads (Original_Aspect_Name): Moved here from | |
1578 Sem_Prag.Original_Name. | |
1579 * snames.ads-tmpl: Add entries for pragmas Pre[_Class] and | |
1580 Post[_Class]. | |
1581 | |
1582 2013-10-13 Robert Dewar <dewar@adacore.com> | |
1583 | |
1584 * einfo.adb, sem_ch6.adb: Minor reformatting. | |
1585 | |
1586 2013-10-13 Hristian Kirtchev <kirtchev@adacore.com> | |
1587 | |
1588 * einfo.adb: Add node/list usage for Refined_State | |
1589 and Refinement_Constituents. | |
1590 (Get_Pragma): Update the | |
1591 initialization of Is_CDG to include Refined_Global and | |
1592 Refined_Depends. Rename constant Delayed to In_Contract and update | |
1593 all of its occurrences. | |
1594 (Is_Non_Volatile_State): New routine. | |
1595 (Is_Volatile_State): Removed. | |
1596 (Refined_State): New routine. | |
1597 (Refinement_Constituents): New routine. | |
1598 (Set_Refined_State): New routine. | |
1599 (Set_Refinement_Constituents): New routine. | |
1600 (Write_Field8_Name): Add output for Refinement_Constituents. | |
1601 (Write_Field10_Name): Add output for Refined_State. | |
1602 * einfo.ads: Add new synthesized attribute Is_Non_Volatile_State. | |
1603 Remove synthesized attribute Is_Volatile_State. Add new | |
1604 attributes Refined_State and Refinement_Constituents along with | |
1605 usage in nodes. | |
1606 (Get_Pragma): Update the comment on usage. | |
1607 (Is_Non_Volatile_State): New routine. | |
1608 (Is_Volatile_State): Removed. | |
1609 (Refined_State): New routine and pragma Inline. | |
1610 (Refinement_Constituents): New routine and pragma Inline. | |
1611 (Set_Refined_State): New routine and pragma Inline. | |
1612 (Set_Refinement_Constituents): New routine and pragma Inline. | |
1613 * elists.ads, elists.adb (Clone): Removed. | |
1614 (New_Copy_Elist): New routine. | |
1615 (Remove): New routine. | |
1616 * sem_ch3.adb (Analyze_Declarations): Use Defining_Entity | |
1617 to get the entity of the subprogram [body]. | |
1618 (Analyze_Object_Declaration): Add initialization for | |
1619 Refined_State. | |
1620 * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing | |
1621 for Refined_Global and Refined_Depends. Emit an error when | |
1622 the body requires Refined_Global, but the aspect/pragma is | |
1623 not present. | |
1624 * sem_ch6.ads (Analyze_Subprogram_Body_Contract): Change | |
1625 procedure signature and add comment on usage. | |
1626 * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing | |
1627 for aspect Refined_Global. | |
1628 * sem_prag.adb (Analyze_Abstract_State): Add initialization | |
1629 of attributes Refined_State and Refinement_Constituents. | |
1630 (Analyze_Depends_In_Decl_Part, Analyze_Global_In_Decl_Part, | |
1631 Analyze_Contract_Cases_In_Decl_Part): Remove local | |
1632 constant Arg1. | |
1633 (Analyze_Pragma): Add processing for pragma | |
1634 Refined_Global. The analysis of Refined_Post and Refined_Pre | |
1635 has been merged. Update an error message in the processing of | |
1636 pragma Refined_State. | |
1637 (Analyze_Refined_Global_In_Decl_Part): Provide implementation. | |
1638 (Analyze_Refined_Pragma): New routine. | |
1639 (Analyze_Refined_Pre_Post_Condition): Removed. | |
1640 (Analyze_Refined_State_In_Decl_Part): Update the call to Clone. | |
1641 (Analyze_Refinement_Clause): Make State_Id visible to all | |
1642 nested subprogram. | |
1643 (Check_Matching_Constituent): Establish | |
1644 a relation between a refined state and its constituent. | |
1645 (Collect_Hidden_States_In_Decls): Remove ??? comment. Look at | |
1646 the entity of the object declaration to establish its kind. | |
1647 * sem_util.adb: Alphabetize with and use clauses. | |
1648 (Contains_Refined_State): New routine. | |
1649 * sem_util.ads (Contains_Refined_State): New routine. | |
1650 | |
1651 2013-10-13 Thomas Quinot <quinot@adacore.com> | |
1652 | |
1653 * scos.ads: Minor documentation clarification. | |
1654 | |
1655 2013-10-13 Thomas Quinot <quinot@adacore.com> | |
1656 | |
1657 * s-oscons-tmplt.c (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC when | |
1658 building on AIX 5.3 or later, and to CLOCK_REALTIME on older | |
1659 versions of AIX. | |
1660 * init.c (pthread_condattr_setclock): Remove now useless weak symbol. | |
1661 * thread.c(__gnat_pthread_condattr_setup): Remove bogus AIX 5.2 | |
1662 compatibility shim. | |
1663 * s-osinte-aix.ads(clock_id_t): Fix C mapping (this is a 64-bit | |
1664 type). | |
1665 (clock_gettime): Import from C runtime library. | |
1666 * s-osinte-aix.adb (clock_gettime): Remove bogus emulation body, | |
1667 this routine is provided by the system in current supported | |
1668 versions of AIX. | |
1669 | |
1670 2013-10-13 Robert Dewar <dewar@adacore.com> | |
1671 | |
1672 * sem_ch3.adb: Minor reformatting. | |
1673 | |
1674 2013-10-13 Ed Schonberg <schonberg@adacore.com> | |
1675 | |
1676 * freeze.adb (Freeze_Entity): For a function whose return type | |
1677 is incomplete, do not replace the type with the full view if the | |
1678 type is a limited view. In that case the full view appears in a | |
1679 different unit, and the back-end will retrieve it at the proper | |
1680 elaboration point. | |
1681 | |
1682 2013-10-13 Yannick Moy <moy@adacore.com> | |
1683 | |
1684 * exp_spark.adb (Expand_SPARK_Call): Do not introduce temporaries for | |
1685 actuals. | |
1686 | |
1687 2013-10-13 Ed Schonberg <schonberg@adacore.com> | |
1688 | |
1689 * sem_ch3.adb: in Ada 2012 access_to_function types can have | |
1690 in-out parameters. | |
1691 (Derived_Type_Declaration): SPARK restriction | |
1692 must be flagged on the original node, since it may have been | |
1693 written as a subtype declaration. | |
1694 (Analyze_Subtype_Declaration): Do not enter name of | |
1695 entity in declaration if it is the current entity, because it may | |
1696 have been inserted in a previous analysis and it appears in the | |
1697 else_part of an if-statement that is rewritten during expansion. | |
1698 | |
1699 2013-10-13 Yannick Moy <moy@adacore.com> | |
1700 | |
1701 * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove procedure. | |
1702 (Expand_SPARK): Remove call to Expand_SPARK_N_Attribute_Reference and | |
1703 Expand_SPARK_N_Simple_Return_Statement. | |
1704 (Expand_SPARK_N_Simple_Return_Statement, | |
1705 Expand_SPARK_Simple_Function_Return): Remove procedures. | |
1706 | |
1707 2013-10-13 Vincent Celier <celier@adacore.com> | |
1708 | |
1709 * gnat_ugn.texi: Minor editing. | |
1710 | |
1711 2013-10-13 Ed Schonberg <schonberg@adacore.com> | |
1712 | |
1713 * sem_ch3.adb (Check_Abstract_Overriding): If a synchronized | |
1714 operation implements an interface primitive, mark the operation | |
1715 as referenced, to prevent usually spurious messages about unused | |
1716 entities: such operations are called in dispatching select | |
1717 statements that are not visible to the compiler. | |
1718 | |
1719 2013-10-13 Eric Botcazou <ebotcazou@adacore.com> | |
1720 | |
1721 * gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment. | |
1722 | |
1723 2013-10-11 Jakub Jelinek <jakub@redhat.com> | |
1724 | |
1725 * gcc-interface/utils.c (DEF_FUNCTION_TYPE_8): Define. | |
1726 | |
1727 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1728 | |
1729 * par-ch6.adb (Check_Junk_Semicolon_Before_Return): Remove | |
1730 junk code. | |
1731 | |
1732 2013-10-10 Javier Miranda <miranda@adacore.com> | |
1733 | |
1734 * sem_ch13.adb (Freeze_Entity_Checks): Avoid | |
1735 loosing errors on CPP entities in -gnatc mode. | |
1736 | |
1737 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1738 | |
1739 * sem_ch5.adb (Analyze_If_Statement): Only diagnose redundant | |
1740 if from source. | |
1741 | |
1742 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1743 | |
1744 * restrict.adb (Check_SPARK_Restriction): Refine test (don't | |
1745 automatically go to the original node). | |
1746 * sem_ch11.adb (Analyze_Raise_Statement): Only raise | |
1747 statements that come from source violate SPARK restrictions. | |
1748 (Analyze_Raise_xxx_Error): Same fix. | |
1749 * sem_ch3.adb (Analyze_Object_Declaration): Check OK SPARK | |
1750 initialization on original node, not on possibly rewritten | |
1751 expression. | |
1752 * sem_ch4.adb (Analyze_If_Expression): Only if expressions that | |
1753 come from source violate SPARK mode restrictions. | |
1754 | |
1755 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1756 | |
1757 * gnat_ugn.texi: Fix confusing documentation for -gnatyM. | |
1758 | |
1759 2013-10-10 Yannick Moy <moy@adacore.com> | |
1760 | |
1761 * errout.adb (Compilation_Errors): In formal verification mode, | |
1762 always return False. | |
1763 | |
1764 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
1765 | |
1766 * sem_prag.adb (Collect_Hidden_States_In_Decls): Only consider source | |
1767 non-constant objects. | |
1768 | |
1769 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
1770 | |
1771 * aspects.adb: Add an entry in table Canonical_Aspect for | |
1772 Refined_State. | |
1773 * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument, | |
1774 Aspect_Names and Aspect_Delay for Refined_State. | |
1775 * einfo.adb: Add with and use clauses for Elists. | |
1776 Remove Refined_State from the list of node usage. | |
1777 Add Refined_State_Pragma to the list of node usage. | |
1778 (Has_Null_Abstract_State): New routine. | |
1779 (Refined_State): Removed. | |
1780 (Refined_State_Pragma): New routine. | |
1781 (Set_Refined_State): Removed. | |
1782 (Set_Refined_State_Pragma): New routine. | |
1783 (Write_Field8_Name): Add output for Refined_State_Pragma. | |
1784 (Write_Field9_Name): Remove the output for Refined_State. | |
1785 * einfo.ads: Add new synthesized attribute Has_Null_Abstract_State | |
1786 along with usage in nodes. Remove attribute Refined_State along | |
1787 with usage in nodes. Add new attribute Refined_State_Pragma along | |
1788 with usage in nodes. | |
1789 (Has_Null_Abstract_State): New routine. | |
1790 (Refined_State): Removed. | |
1791 (Refined_State_Pragma): New routine. | |
1792 (Set_Refined_State): Removed. | |
1793 (Set_Refined_State_Pragma): New routine. | |
1794 * elists.adb (Clone): New routine. | |
1795 * elists.ads (Clone): New routine. | |
1796 * par-prag.adb: Add Refined_State to the pragmas that do not | |
1797 require special processing by the parser. | |
1798 * sem_ch3.adb: Add with and use clause for Sem_Prag. | |
1799 (Analyze_Declarations): Add local variables Body_Id, Context and | |
1800 Spec_Id. Add processing for delayed aspect/pragma Refined_State. | |
1801 * sem_ch13.adb (Analyze_Aspect_Specifications): Update the | |
1802 handling of aspect Abstract_State. Add processing for aspect | |
1803 Refined_State. Remove the bizzare insertion policy for aspect | |
1804 Abstract_State. | |
1805 (Check_Aspect_At_Freeze_Point): Add an entry for Refined_State. | |
1806 * sem_prag.adb: Add an entry to table Sig_Flags | |
1807 for pragma Refined_State. | |
1808 (Add_Item): Update the | |
1809 comment on usage. The inserted items need not be unique. | |
1810 (Analyze_Contract_Cases_In_Decl_Part): Rename variable Restore to | |
1811 Restore_Scope and update all its occurrences. | |
1812 (Analyze_Pragma): | |
1813 Update the handling of pragma Abstract_State. Add processing for | |
1814 pragma Refined_State. | |
1815 (Analyze_Pre_Post_Condition_In_Decl_Part): | |
1816 Rename variable Restore to Restore_Scope and update all its | |
1817 occurrences. | |
1818 (Analyze_Refined_State_In_Decl_Part): New routine. | |
1819 * sem_prag.ads (Analyze_Refined_State_In_Decl_Part): New routine. | |
1820 * snames.ads-tmpl: Add new predefined name for Refined_State. Add | |
1821 new Pragma_Id for Refined_State. | |
1822 | |
1823 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
1824 | |
1825 * sem_ch10.adb (Install_Limited_Withed_Unit): handle properly the | |
1826 case of a record declaration in a limited view, when the record | |
1827 contains a self-referential component of an anonymous access type. | |
1828 | |
1829 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
1830 | |
1831 * exp_ch4.adb (Process_Transient_Object): For any context other | |
1832 than a simple return statement, insert the finalization action | |
1833 after the context, not as an action on the context (which will | |
1834 get evaluated before it). | |
1835 | |
1836 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
1837 | |
1838 * einfo.adb (Write_Field19_Name): Correct the | |
1839 string name of attribute Default_Aspect_Value. | |
1840 | |
1841 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
1842 | |
1843 * sem_type.adb (Interface_Present_In_Ancestor): The progenitor | |
1844 in a type declaration may be an interface subtype. | |
1845 | |
1846 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1847 | |
1848 * sinfo.ads (Do_Range_Check): Add special note on handling of | |
1849 range checks for Succ and Pred. | |
1850 | |
1851 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1852 | |
1853 * erroutc.adb (Output_Msg_Text): Remove VMS special handling. | |
1854 | |
1855 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1856 | |
1857 * a-chahan.ads, a-chahan.adb (Is_Line_Terminator): New function | |
1858 (Is_Mark): New function. | |
1859 (Is_Other_Format): New function. | |
1860 (Is_Punctuation_Connector): New function. | |
1861 (Is_Space): New function. | |
1862 | |
1863 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1864 | |
1865 * sem_aggr.adb (Resolve_Array_Aggregate): Redo duplicate/missing | |
1866 choice circuit. Was not quite right in some cases, which showed | |
1867 up in ACATS test B43201C. | |
1868 * sem_attr.adb (Address_Checks): Make sure name is set right | |
1869 for some messages issued. | |
1870 * mlib-prj.adb: Minor code reorganization. | |
1871 * gnat_ugn.texi: Remove special VMS doc for tagging of warning msgs. | |
1872 * exp_ch9.adb: Minor reformatting. | |
1873 | |
1874 2013-10-10 Tristan Gingold <gingold@adacore.com> | |
1875 | |
1876 * lib-writ.adb (Write_Unit_Information): Adjust previous patch. | |
1877 | |
1878 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1879 | |
1880 * sem_ch5.adb (Analyze_If_Statement): Warn on redundant if | |
1881 statement. | |
1882 * sem_util.ads, sem_util.adb (Has_No_Obvious_Side_Effects): New | |
1883 function. | |
1884 | |
1885 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
1886 | |
1887 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Simplify expansion | |
1888 for the case of a dispatching trigger: there is no need to | |
1889 duplicate the code or create a subprogram to encapsulate the | |
1890 triggering statements. This allows exit statements in the | |
1891 triggering statements, that refer to enclosing loops. | |
1892 | |
1893 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1894 | |
1895 * freeze.adb: Minor reformatting. | |
1896 * sem_ch13.adb (Freeze_Entity_Checks): New procedure | |
1897 (Analyze_Freeze_Entity): Call Freeze_Entity_Checks | |
1898 (Analyze_Freeze_Generic_Entity): Call Freeze_Entity_Checks. | |
1899 * sinfo.ads: Add syntax for sprint for Freeze_Generic_Entity. | |
1900 * sprint.ads: Add syntax for freeze generic entity node. | |
1901 | |
1902 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1903 | |
1904 * einfo.adb, einfo.ads: Minor comment updates. | |
1905 | |
1906 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1907 | |
1908 * lib-writ.adb (Write_Unit_Information): Fatal error if linker | |
1909 options are detected in a predefined generic unit. | |
1910 | |
1911 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
1912 | |
1913 * s-oscons-tmplt.c (CLOCK_REALTIME): Always define, possibly using | |
1914 a dummy placeholder value. | |
1915 (NEED_PTHREAD_CONDATTR_SETCLOCK): Remove, not needed anymore. | |
1916 * thread.c: Adjust #if test accordingly. | |
1917 | |
1918 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
1919 | |
1920 * exp_ch6.adb (Consequence_Error): Generate an | |
1921 implicit if statement. | |
1922 (Expand_Contract_Cases): Generate an implicit if statement. | |
1923 (Process_Contract_Cases): Do not expand Contract_Cases when no code | |
1924 is being generated. | |
1925 | |
1926 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1927 | |
1928 * sem_attr.adb (Address_Checks): New procedure. | |
1929 | |
1930 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
1931 | |
1932 * sinfo.ads, sinfo.adb: New Node Freeze_Generic_Entity, to trigger | |
1933 semantic actions at the proper point for entities that previously | |
1934 had no explicit freeze point. | |
1935 * freeze.adb (Freeze_Generic_Entities): generate new nodes to | |
1936 indicate the point at which semantic checks can be performed on | |
1937 entities declared in generic packages. | |
1938 * sem_ch13.ads, sem_ch13.adb: New procedure | |
1939 Analyze_Freeze_Generic_Entity. | |
1940 * exp_util.adb (Insert_Actions): Treat new node like Freeze_Entity. | |
1941 * sem.adb (Analyze): Call Analyze_Freeze_Generic_Entity. | |
1942 * sprint.adb (Sprint_Node): display Analyze_Freeze_Generic_Entity. | |
1943 * gcc-interface/trans.c: Ignore Analyze_Freeze_Generic_Entity. | |
1944 * gcc-interface/Make-lang.in: Update dependencies. | |
1945 | |
1946 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1947 | |
1948 * sem_aggr.adb (Resolve_Array_Aggregate): Identify duplicated | |
1949 cases. | |
1950 | |
1951 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1952 | |
1953 * sem_ch9.adb (Analyze_Task_Body): Aspects are illegal | |
1954 (Analyze_Protected_Body): Aspects are illegal. | |
1955 | |
1956 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1957 | |
1958 * sem_ch6.adb, sem_ch13.adb: Minor reformatting. | |
1959 * sem_case.adb (Check_Choices): Fix bad listing of missing | |
1960 values from predicated subtype case (Check_Choices): List | |
1961 duplicated values. | |
1962 * errout.adb (Set_Msg_Text): Process warning tags in VMS mode | |
1963 * erroutc.adb (Output_Msg_Text): Handle VMS warning tags | |
1964 * gnat_ugn.texi: Document /WARNINGS=TAG_WARNINGS for VMS | |
1965 * ug_words: Add entries for -gnatw.d and -gnatw.D | |
1966 * vms_data.ads: Add [NO]TAG_WARNINGS for -gnatw.D/-gnatw.d | |
1967 * lib-writ.ads: Documentation fixes | |
1968 | |
1969 2013-10-10 Robert Dewar <dewar@adacore.com> | |
1970 | |
1971 * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads | |
1972 (Is_Other_Format): New name for Is_Other. | |
1973 (Is_Punctuation_Connector): New name for Is_Punctuation | |
1974 | |
1975 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
1976 | |
1977 * aspects.adb: Add entries in table Canonical_Aspects for aspects | |
1978 Refined_Depends and Refined_Global. | |
1979 * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument, | |
1980 Aspect_Names, Aspect_Declay, Aspect_On_Body_Or_Stub_OK for | |
1981 aspects Refined_Depends and Refined_Global. | |
1982 * einfo.adb (Contract): Subprogram bodies are now valid owners | |
1983 of contracts. | |
1984 (Set_Contract): Subprogram bodies are now valid | |
1985 owners of contracts. | |
1986 (Write_Field24_Name): Output the contract | |
1987 attribute for subprogram bodies. | |
1988 * exp_ch6.adb (Expand_Subprogram_Contract): New routine. | |
1989 * exp_ch6.ads (Expand_Subprogram_Contract): New routine. | |
1990 * par-prag.adb: Pragmas Refined_Depends and Refined_Global do | |
1991 not require any special processing by the parser. | |
1992 * sem_ch3.adb (Adjust_D): Renamed to Adjust_Decl. | |
1993 (Analyze_Declarations): Code reformatting. Analyze the contract | |
1994 of a subprogram body at the end of the declarative region. | |
1995 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): | |
1996 Subprogram bodies can now have contracts. Use | |
1997 Expand_Subprogram_Contract to handle the various contract | |
1998 assertions. | |
1999 (Analyze_Subprogram_Body_Contract): New null routine. | |
2000 (Analyze_Subprogram_Body_Helper): Subprogram bodies can now have | |
2001 contracts. Use Expand_Subprogram_Contract to handle the various | |
2002 contract assertions. | |
2003 (Analyze_Subprogram_Contract): Add local | |
2004 variable Nam. Update the call to Analyze_PPC_In_Decl_Part. Capture | |
2005 the pragma name in Nam. | |
2006 (Process_PPCs): Removed. | |
2007 * sem_ch6.ads (Analyze_Subprogram_Body_Contract): New routine. | |
2008 (Analyze_Subprogram_Contract): Update the comment on usage. | |
2009 * sem_ch13.adb (Analyze_Aspect_Specifications): Add null | |
2010 implementations for aspects Refined_Depends and Refined_Global. | |
2011 (Check_Aspect_At_Freeze_Point): Aspects Refined_Depends and | |
2012 Refined_Global do not need to be checked at the freeze point. | |
2013 * sem_prag.adb: Add entries in table Sig_Flags | |
2014 for pragmas Refined_Depends and Refined_Global. | |
2015 (Analyze_Contract_Cases_In_Decl_Part): Add local | |
2016 variable Restore. Use Restore to pop the scope. | |
2017 (Analyze_Depends_In_Decl_Part): Add local variable Restore. Use | |
2018 Restore to pop the scope. | |
2019 (Analyze_Global_In_Decl_List): Add local variable Restore. Use Restore | |
2020 to pop the scope. | |
2021 (Analyze_PPC_In_Decl_Part): Renamed to | |
2022 Analyze_Pre_Post_Condition_In_Decl_Part. | |
2023 (Analyze_Pragma): | |
2024 Add null implementations for pragmas Refined_Depends and | |
2025 Refined_Global. Refined_Pre and Refined_Post are now | |
2026 handled by routine Analyze_Refined_Pre_Post_Condition | |
2027 exclusively. | |
2028 (Analyze_Refined_Depends_In_Decl_Part): New | |
2029 null routine. | |
2030 (Analyze_Refined_Global_In_Decl_Part): | |
2031 New null routine. | |
2032 (Analyze_Refined_Pre_Post): | |
2033 Renamed to Analyze_Refined_Pre_Post_Condition. | |
2034 (Analyze_Refined_Pre_Post_Condition): Analyze the boolean | |
2035 expression. | |
2036 (Check_Precondition_Postcondition): Update the call | |
2037 to Analyze_PPC_In_Decl_Part. | |
2038 * sem_prag.ads: Add entries in table | |
2039 Pragma_On_Body_Or_Stub_OK for pragmas Refined_Depends | |
2040 and Refined_Global. | |
2041 (Analyze_PPC_In_Decl_Part): Renamed | |
2042 to Analyze_Pre_Post_Condition_In_Decl_Part. Update the | |
2043 comment on usage. | |
2044 (Analyze_Refined_Depends_In_Decl_Part): New routine. | |
2045 (Analyze_Refined_Global_In_Decl_Part): New routine. | |
2046 (Analyze_Test_Case_In_Decl_Part): Update the comment on usage. | |
2047 * sem_util.adb (Add_Contract_Item): Rename formal Item to Prag | |
2048 and update all occurrences. Subprogram body contracts can now | |
2049 contain pragmas Refined_Depends and Refined_Global. | |
2050 * sem_util.ads (Add_Contract_Item): Rename formal Item to | |
2051 Prag. Update the comment on usage. | |
2052 * sinfo.ads: Update the comment on structure and usage of | |
2053 N_Contract. | |
2054 * snames.ads-tmpl: Add new predefined names for Refined_Depends | |
2055 and Refined_Global. Add entries in table Pragma_Id for | |
2056 Refined_Depends and Refined_Global. | |
2057 | |
2058 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2059 | |
2060 * types.ads: Minor reformatting. | |
2061 | |
2062 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
2063 | |
2064 * s-taprop-posix.adb: Add missing comment. | |
2065 | |
2066 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2067 | |
2068 * freeze.adb (Freeze_Record_Type): Move choice checking to | |
2069 Analyze_Freeze_Entity (Freeze_Record_Type): Make sure all choices | |
2070 are properly frozen | |
2071 * sem_case.adb (Check_Choices): Remove misguided attempt to | |
2072 freeze choices (this is now done in Freeze_Record_Type where | |
2073 it belongs). | |
2074 (Check_Choices): Remove some analyze/resolve calls | |
2075 that are redundant since they are done in Analyze_Choices. | |
2076 * sem_ch13.adb (Analyze_Freeze_Entity): Do the error | |
2077 checking for choices in variant records here (moved here from | |
2078 Freeze.Freeze_Record_Type) | |
2079 | |
2080 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
2081 | |
2082 * s-oscons-tmplt.c, s-taprop-posix.adb (CLOCK_REALTIME): Always define, | |
2083 possibly using a dummy placeholder value. | |
2084 (Compute_Deadline): For the case of an | |
2085 Absolute_Calendar deadline, if the target uses another clock | |
2086 than CLOCK_REALTIME as CLOCK_RT_Ada, compensate for possible | |
2087 different epoch. | |
2088 | |
2089 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2090 | |
2091 * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully | |
2092 qualified reference to a generic child unit within itself, | |
2093 in an instantiation. | |
2094 | |
2095 2013-10-10 Pascal Obry <obry@adacore.com> | |
2096 | |
2097 * prj-conf.adb: Minor typo fixes in comment. | |
2098 | |
2099 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
2100 | |
2101 * s-taprop-posix.adb (Compute_Deadline): New local subprogram, | |
2102 factors common code between Timed_Sleep and Timed_Delay. | |
2103 | |
2104 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2105 | |
2106 * freeze.adb (Freeze_Record_Type): Don't replace others if | |
2107 expander inactive. This avoids clobbering the ASIS tree in | |
2108 -gnatct mode. | |
2109 | |
2110 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2111 | |
2112 * sem_res.adb (Resolve_Op_Expon): Avoid crash testing for | |
2113 fixed-point case in preanalysis mode (error will be caught during | |
2114 full analysis). | |
2115 | |
2116 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2117 | |
2118 * gnat_rm.texi: Refined_Pre and Refined_Post are now allowed as | |
2119 assertion identifiers for pragma Assertion_Policy. | |
2120 * sem_prag.adb (Is_Valid_Assertion_Kind): Add Refined_Pre/Refined_Post | |
2121 * sem_ch13.adb: Minor reformatting. | |
2122 | |
2123 2013-10-10 Pascal Obry <obry@adacore.com> | |
2124 | |
2125 * prj-conf.adb: Code refactoring. | |
2126 | |
2127 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2128 | |
2129 * einfo.adb: Remove Integrity_Level from the node usage list. | |
2130 (Has_Option): Update the implementation to match | |
2131 the new terminology. | |
2132 (Has_Property): Renamed to Has_Option. | |
2133 (Integrity_Level): Removed. | |
2134 (Is_External_State): New routine. | |
2135 (Is_Input_Only_State): Use Has_Option to determine whether a state | |
2136 is Input_Only. (Is_Input_State): Renamed to Is_Input_Only_State. | |
2137 (Is_Output_Only_State): Use Has_Option to determine whether | |
2138 a state is Output_Only. | |
2139 (Is_Output_State): Renamed to | |
2140 Is_Output_Only_State. | |
2141 (Is_Volatile_State): Use Has_Option to determine whether a state is | |
2142 volatile. | |
2143 (Set_Integrity_Level): Removed. | |
2144 (Write_Field8): Remove the entry for Integrity_Level. | |
2145 * einfo.ads: Remove Integrity_Level along with its documentation | |
2146 and usage in nodes. Rename Is_Input_State to Is_Input_Only_State. | |
2147 Rename Is_Output_State to Is_Output_Only_State. Update the | |
2148 documentation of Is_Volatile_State. Update the node structure of | |
2149 E_Abstract_Entity. | |
2150 (Integrity_Level): Removed along with pragma Inline. | |
2151 (Is_External_State): New routine. | |
2152 (Is_Input_State): Renamed to Is_Input_Only_State. | |
2153 (Is_Output_State): Renamed to Is_Output_Only_State. | |
2154 (Set_Integrity_Level): Removed along with pragma Inline. | |
2155 * sem_prag.adb (Analyze_Pragma): Update the checks regarding | |
2156 global items and abstract state modes. Update the implementation | |
2157 of pragma Abstract_State to reflect the new rules and terminology. | |
2158 * snames.ads-tmpl: Remove the predefined name for Integrity | |
2159 level. Add new predefined names for Input_Only, Non_Volatile, | |
2160 Output_Only and Part_Of. | |
2161 | |
2162 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2163 | |
2164 * lib-xref.adb (Generate_Reference): Do not generate a reference | |
2165 within a _postcondition procedure: a proper source reference has | |
2166 already been generated when pre- analyzing the original aspect | |
2167 specification, and the use of a formal in a pre/postcondition | |
2168 should not count as a proper use in a subprogram body. | |
2169 | |
2170 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2171 | |
2172 * sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant | |
2173 case | |
2174 | |
2175 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2176 | |
2177 * aspects.adb: Add an entry for Aspect_Refined_Post in table | |
2178 Canonical_Aspect. | |
2179 * aspects.ads: Add an entry for Aspect_Refined_Post in tables | |
2180 Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay, | |
2181 Aspect_On_Body_Or_Stub_OK. Update the comment on the use of | |
2182 table Aspect_On_Body_Or_Stub_OK. | |
2183 * par-prag.adb: Add pragma Refined_Post to the list of pragmas | |
2184 that do not require special processing by the parser. | |
2185 * sem_attr.adb (Analyze_Attribute): Add special analysis for | |
2186 attributes 'Old and 'Result when code generation is disabled and | |
2187 they appear in aspect/pragma Refined_Post. | |
2188 (In_Refined_Post): New routine. | |
2189 * sem_ch6.adb (Analyze_Expression_Function): Move various | |
2190 aspects and/or pragmas that apply to an expression function to the | |
2191 corresponding spec or body. | |
2192 (Collect_Body_Postconditions): New routine. | |
2193 (Process_PPCs): Use routine Collect_Body_Postconditions | |
2194 to gather all postcondition pragmas. | |
2195 * sem_ch10.adb (Analyze_Proper_Body): Use routine | |
2196 Relocate_Pragmas_To_Body to move all source pragmas that follow | |
2197 a body stub to the proper body. | |
2198 (Move_Stub_Pragmas_To_Body): Removed. | |
2199 * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing | |
2200 for aspect Refined_Post. | |
2201 (Check_Aspect_At_Freeze_Point): Aspect | |
2202 Refined_Post does not need delayed processing at the freeze point. | |
2203 * sem_prag.adb: Add an entry for pragma Refined_Post in | |
2204 table Sig_Flags. | |
2205 (Analyze_Pragma): Add processing for pragma | |
2206 Refined_Post. Update the processing of pragma Refined_Pre | |
2207 to use common routine Analyze_Refined_Pre_Post. | |
2208 (Analyze_Refined_Pre_Post): New routine. | |
2209 (Relocate_Pragmas_To_Body): New routine. | |
2210 * sem_prag.ads: Table Pragma_On_Stub_OK is now known as | |
2211 Pragma_On_Body_Or_Stub_OK. Update the comment on usage of | |
2212 table Pragma_On_Body_Or_Stub_OK. | |
2213 (Relocate_Pragmas_To_Body): New routine. | |
2214 * snames.ads-tmpl: Add new predefined name for Refined_Post. Add | |
2215 new Pragma_Id for Refined_Post. | |
2216 | |
2217 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2218 | |
2219 * exp_ch3.adb (Expand_N_Variant_Part): Now null, expansion of | |
2220 last choice to others is moved to Freeze_Record_Type. | |
2221 * freeze.adb (Freeze_Record_Type): Expand last variant to others | |
2222 if necessary (moved here from Expand_N_Variant_Part | |
2223 | |
2224 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2225 | |
2226 * lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads, | |
2227 sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb, | |
2228 s-atocou-builtin.adb: Minor reformatting. | |
2229 | |
2230 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
2231 | |
2232 * s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This | |
2233 constant needs to be output to s-oscons.h, as it is tested | |
2234 by init.c. | |
2235 | |
2236 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2237 | |
2238 * exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early | |
2239 * exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice | |
2240 flag to avoid expanding choices when not necessary. | |
2241 * exp_util.adb: Minor reformatting | |
2242 * freeze.adb (Freeze_Record_Type): Redo expansion of variants | |
2243 * sem_aggr.adb: Minor reformatting | |
2244 * sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and | |
2245 Checking of choices. | |
2246 * sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new | |
2247 Analyze_Choices. | |
2248 * sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices | |
2249 and Check_Choices | |
2250 * sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices | |
2251 and Check_Choices | |
2252 * sem_util.adb: Minor reformatting | |
2253 * sinfo.ads, sinfo.adb (Has_SP_Choice): New flag. | |
2254 | |
2255 2013-10-10 Vincent Celier <celier@adacore.com> | |
2256 | |
2257 * mlib-prj.adb (Build_Library): Do not issue link dynamic | |
2258 libraries with an Rpath, if switch -R was used. | |
2259 | |
2260 2013-10-10 Tristan Gingold <gingold@adacore.com> | |
2261 | |
2262 * s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16, | |
2263 Image_Index_Table_32): Remove as not used. | |
2264 * s-imgint.adb (Image_Integer): Call Set_Image_Integer and | |
2265 remove duplicated code. | |
2266 | |
2267 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2268 | |
2269 * sem_prag.adb (Analyze_Pragma): Provide a | |
2270 more precise error message when pragma Refined_Pre applies to | |
2271 an expression function that is not a completion. | |
2272 | |
2273 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
2274 | |
2275 * sem_attr.adb (Analyse_Attribute, case | |
2276 Attribute_Scalar_Storage_Order): a 'Scalar_Storage_Order attribute | |
2277 reference for a generic type is permitted in GNAT runtime mode. | |
2278 * a-sequio.adb (Read, Write): Use the endianness of the actual | |
2279 type to encode length information written to the file. | |
2280 | |
2281 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2282 | |
2283 * par-ch13.adb (Aspect_Specifications_Present)): In earlier than | |
2284 Ada2012 mode, assume that a legal aspect name following "with" | |
2285 keyword is an older gnat switch and not a misplaced with_clause. | |
2286 | |
2287 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2288 | |
2289 * aspects.adb: Add an entry for Aspect_Refined_Pre in | |
2290 table Canonical_Aspect. | |
2291 (Aspects_On_Body_OK): Renamed to | |
2292 Aspects_On_Body_Or_Stub_OK. | |
2293 (Aspects_On_Body_Or_Stub_OK): | |
2294 Update the query in table Aspect_On_Body_OK. | |
2295 * aspects.ads: Add an entry for Aspect_Refined_Pre in tables | |
2296 Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay, | |
2297 Aspect_On_Body_Or_Stub_OK. Table Aspect_On_Body_OK is now known as | |
2298 Aspect_On_Body_Or_Stub_OK. Add a section of aspect specifications | |
2299 that apply to body stubs. | |
2300 (Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK. | |
2301 (Aspects_On_Body_Or_Stub_OK): Update the comment on usage. | |
2302 * par-prag.adb: Add pragma Refined_Pre to the list of pragmas | |
2303 that do not require special processing by the parser. | |
2304 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Delay the | |
2305 analysis of aspect specifications that apply to a body stub | |
2306 until the proper body is analyzed. | |
2307 * sem_ch10.adb: Add with and use clause for Sem_Ch13. | |
2308 (Analyze_Package_Body_Stub): Set the corresponding spec of the stub. | |
2309 (Analyze_Proper_Body): Relocate all pragmas that apply | |
2310 to a subprogram body stub to the declarations of the proper | |
2311 body. Analyze the aspect specifications of the stub when the | |
2312 proper body is not present. | |
2313 (Analyze_Protected_Body_Stub): Set the corresponding spec of the stub. | |
2314 (Analyze_Task_Body_Stub): Set the corresponding spec of the stub. | |
2315 (Move_Stub_Pragmas_To_Body): New routine. | |
2316 * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing | |
2317 for aspect Refined_Pre. | |
2318 (Check_Aspect_At_Freeze_Point): Aspect | |
2319 Refined_Pre does not need delayed processing at the freeze point. | |
2320 * sem_prag.adb: Remove with and use clause for Snames. Add | |
2321 an entry for Pragma_Refined_Pre in table Sig_Flags. | |
2322 (Analyze_Pragma): Add processing for pragma Refined_Pre. | |
2323 * sem_prag.ads: Add with and use clause for Snames. Add table | |
2324 Pragma_On_Stub_OK. | |
2325 * sinfo.adb (Corresponding_Spec_Of_Stub): New routine. | |
2326 (Set_Corresponding_Spec_Of_Stub): New routine. | |
2327 * sinfo.ads: Add new attribute Corresponding_Spec_Of_Stub | |
2328 along with comment on usage and occurrences in nodes. | |
2329 (Corresponding_Spec_Of_Stub): New routine along with pragma | |
2330 Inline. | |
2331 (Set_Corresponding_Spec_Of_Stub): New routine along | |
2332 with pragma Inline. | |
2333 * snames.ads-tmpl: Add new predefined name for Refined_Pre. Add | |
2334 new Pragma_Id for Refined_Pre. | |
2335 | |
2336 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2337 | |
2338 * sem_ch12.adb (Analyze_Package_Instantiation, | |
2339 Analyze_Subprogram_Instantiation): Improve error message when | |
2340 name in instantiation does not designate a generic unit of the | |
2341 right kind. | |
2342 | |
2343 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2344 | |
2345 * exp_ch3.adb (Expand_N_Variant_Part): Expand statically | |
2346 predicated subtype which appears in Discrete_Choices list. | |
2347 * exp_ch5.adb (Expand_N_Case_Statement): Expand statically | |
2348 predicated subtype which appears in Discrete_Choices list of | |
2349 case statement alternative. | |
2350 * exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New | |
2351 procedure. | |
2352 * sem_case.adb: Minor reformatting (Analyze_Choices): Don't | |
2353 expand out Discrete_Choices that are names of subtypes with | |
2354 static predicates. This is now done in the analyzer so that the | |
2355 -gnatct tree is properly formed for ASIS. | |
2356 * sem_case.ads (Generic_Choices_Processing): Does not apply | |
2357 to aggregates any more, so change doc accordingly, and remove | |
2358 unneeded Get_Choices argument. | |
2359 * sem_ch3.adb (Analyze_Variant_Part): Remove no | |
2360 longer used Get_Choices argument in instantiation of | |
2361 Generic_Choices_Processing. | |
2362 * sem_ch4.adb (Analyze_Case_Expression): Remove no | |
2363 longer used Get_Choices argument in instantiation of | |
2364 Generic_Choices_Processing. | |
2365 * sem_ch5.adb (Analyze_Case_Statement): Remove no | |
2366 longer used Get_Choices argument in instantiation of | |
2367 Generic_Choices_Processing. | |
2368 * sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative, | |
2369 document that choices that are names of statically predicated | |
2370 subtypes are expanded in the code generation tree passed to the | |
2371 back end, but not in the ASIS tree generated for -gnatct. | |
2372 | |
2373 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2374 | |
2375 * sem_ch7.adb: Revert previous change. | |
2376 | |
2377 2013-10-10 Gary Dismukes <dismukes@adacore.com> | |
2378 | |
2379 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where | |
2380 the Storage_Pool aspect is specified by an aspect clause and a | |
2381 renaming is used to capture the evaluation of the pool name, | |
2382 insert the renaming in front of the aspect's associated entity | |
2383 declaration rather than in front of the corresponding attribute | |
2384 definition (which hasn't been appended to the declaration | |
2385 list yet). | |
2386 | |
2387 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2388 | |
2389 * sem_ch6.adb (Is_Interface_Conformant): The controlling type | |
2390 of the interface operation is obtained from the ultimate alias | |
2391 of the interface primitive parameter, because that may be in | |
2392 fact an implicit inherited operation whose signature involves | |
2393 the type extension and not the desired interface. | |
2394 | |
2395 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2396 | |
2397 * par-ch13.adb (Aspect_Specifications_Present): In Ada 2012, | |
2398 recognize an aspect specification with a misspelled name if it | |
2399 is followed by a a comma or semicolon. | |
2400 | |
2401 2013-10-10 Vadim Godunko <godunko@adacore.com> | |
2402 | |
2403 * s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb: | |
2404 Fix copyright notice. | |
2405 | |
2406 2013-10-10 Yannick Moy <moy@adacore.com> | |
2407 | |
2408 * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get | |
2409 enclosing subprogram for precondition/postcondition/contract cases. | |
2410 | |
2411 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2412 | |
2413 * gnat_rm.texi: Minor fix. | |
2414 | |
2415 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2416 | |
2417 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case | |
2418 Address): Remove the Comes_From_Source test for the overlap | |
2419 warning. | |
2420 | |
2421 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2422 | |
2423 * sem_util.adb: Minor code reorganization (use Nkind_In). | |
2424 * sem_warn.adb: Minor code reorganization (optimization in | |
2425 Check_Unset_Reference). | |
2426 * exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting. | |
2427 | |
2428 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2429 | |
2430 * sem_ch7.adb (Install_Parent_Private_Declarations): When | |
2431 instantiating a child unit, do not install private declaration of | |
2432 a non-generic ancestor of the generic that is also an ancestor | |
2433 of the current unit: its private part will be installed when | |
2434 private part of ancestor itself is analyzed. | |
2435 | |
2436 2013-10-10 Thomas Quinot <quinot@adacore.com> | |
2437 | |
2438 * freeze.adb (Check_Component_Storage_Order): Retrieve component | |
2439 aliased status from type entities directly instead of going back | |
2440 to original component definition. | |
2441 * sem_ch7.adb: Minor reformatting. | |
2442 | |
2443 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2444 | |
2445 * sem_ch13.adb (Analyze_Aspect_Specifications): For Address | |
2446 attribute, consider it to be set in source, because of aliasing | |
2447 considerations. | |
2448 (Analyze_Attribute_Definition_Clause): For the | |
2449 purpose of warning on overlays, take into account the aspect case. | |
2450 | |
2451 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2452 | |
2453 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, | |
2454 a-cofove.ads: Minor reformatting. | |
2455 | |
2456 2013-10-10 Arnaud Charlet <charlet@adacore.com> | |
2457 | |
2458 * gnat_ugn.texi: Remove obsolete mention to -laddr2line. | |
2459 | |
2460 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2461 | |
2462 * exp_ch4.adb (Expand_N_Case_Expression): Indicate that the | |
2463 generated variable used as a target of the expression needs | |
2464 no initialization. | |
2465 | |
2466 2013-10-10 Jose Ruiz <ruiz@adacore.com> | |
2467 | |
2468 * exp_util.adb (Corresponding_Runtime_Package): Remove the condition | |
2469 related to No_Dynamic_Attachment which was wrong. Protected types | |
2470 with interrupt handlers (when not using a restricted profile) | |
2471 are always treated as protected types with entries, regardless | |
2472 of the No_Dynamic_Attachment restriction. | |
2473 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code | |
2474 using the result of Corresponding_Runtime_Package. | |
2475 (Install_Private_Data_Declarations): When having | |
2476 static handlers and a non restricted profile, we use the | |
2477 type Static_Interrupt_Protection always, so we removed an | |
2478 extra wrong condition looking at the No_Dynamic_Attachment | |
2479 restriction. Simplify the code using the result of | |
2480 Corresponding_Runtime_Package. | |
2481 (Make_Initialize_Protection): Simplify the code using | |
2482 the result of Corresponding_Runtime_Package. | |
2483 (Install_Private_Data_Declaration): The No_Dynamic_Attachment | |
2484 restriction has nothing to do with static handlers. Remove the extra | |
2485 erroneous condition that was creating the wrong data type. | |
2486 | |
2487 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2488 | |
2489 * sem_util.adb (Is_Object_Reference): Attribute | |
2490 'Old produces an object reference. | |
2491 * gnat_rm.texi: Define accessibility level of | |
2492 X'Update(...) result. | |
2493 | |
2494 2013-10-10 Yannick Moy <moy@adacore.com> | |
2495 | |
2496 * gnat_rm.texi, a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, | |
2497 a-cforse.ads, a-cofove.ads: Update comment and doc of formal containers | |
2498 | |
2499 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2500 | |
2501 * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post | |
2502 conditions that apply to a subprogram body, preserve the placement | |
2503 and order of the generated pragmas, which must appear before | |
2504 other declarations in the body. | |
2505 | |
2506 2013-10-10 Bob Duff <duff@adacore.com> | |
2507 | |
2508 * gnat_ugn.texi: Add gnat2xml doc. | |
2509 | |
2510 2013-10-10 Doug Rupp <rupp@adacore.com> | |
2511 | |
2512 * s-vxwork-arm.ads: Fix interface to FP_CONTEXT. | |
2513 | |
2514 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2515 | |
2516 * sem_ch13.adb (Analyze_Aspect_Specification): An aspect Import | |
2517 on a variable need not have a convention specified, as long as | |
2518 the implicit convention of the object, obtained from its type, | |
2519 is Ada or Ada-related. | |
2520 | |
2521 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2522 | |
2523 * cstand.adb (Standard_Unsigned_64): New internal type. | |
2524 * gnat_rm.texi: Update documentation on To_Address. | |
2525 * sem_attr.adb (Analyze_Attribute, case To_Address): Fix | |
2526 problem with out of range static values given as literals or | |
2527 named numbers. | |
2528 * stand.ads (Standard_Unsigned_64): New internal type. | |
2529 * stand.adb: Minor reformatting. | |
2530 | |
2531 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2532 | |
2533 * sem_ch4.adb (Analyze_Selected_Component, | |
2534 Has_Mode_Conformant_Spec): If selected component may be an | |
2535 indexing of a parameterless call to a protected function, and | |
2536 expansion is disabled, this is a valid candidate interpretation. | |
2537 | |
2538 2013-10-10 Arnaud Charlet <charlet@adacore.com> | |
2539 | |
2540 * gnat_ugn.texi: Minor editing. | |
2541 | |
2542 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2543 | |
2544 * gnatlink.adb: Minor reformatting. | |
2545 | |
2546 2013-10-10 Yannick Moy <moy@adacore.com> | |
2547 | |
2548 * debug.adb: Free flag d.E and change doc for flag d.K. | |
2549 | |
2550 2013-10-10 Ed Schonberg <schonberg@adacore.com> | |
2551 | |
2552 * sem_prag.adb (Check_Precondition_Postcondition): If the | |
2553 pragma comes from an aspect spec, and the subprogram is a | |
2554 library unit, treat as a ppc in a declarative part in ASIS mode, | |
2555 so that expression in aspect is properly analyzed. In this case | |
2556 there is no later point at which the aspect specification would | |
2557 be examined. | |
2558 | |
2559 2013-10-10 Bob Duff <duff@adacore.com> | |
2560 | |
2561 * opt.ads: Minor comment fix. | |
2562 | |
2563 2013-10-10 Vadim Godunko <godunko@adacore.com> | |
2564 | |
2565 * a-coinho-shared.ads, a-coinho-shared.adb: New file. | |
2566 * s-atocou.ads: Add procedure to initialize counter. | |
2567 * s-atocou.adb: Likewise. | |
2568 * s-atocou-builtin.adb: Likewise. | |
2569 * s-atocou-x86.adb: Likewise. | |
2570 * gcc-interface/Makefile.in: Select special version of | |
2571 Indefinite_Holders package on platforms where atomic built-ins | |
2572 are supported. Update tools target pairs for PikeOS. | |
2573 | |
2574 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2575 | |
2576 * sem_ch3.adb: Minor reformatting. | |
2577 | |
2578 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2579 | |
2580 * sinput-c.adb (Load_File): Ensure Source_Align alignment. | |
2581 * sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment. | |
2582 * sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align | |
2583 alignment. | |
2584 (Load_File): Ditto. | |
2585 * sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single | |
2586 line) version. | |
2587 * types.ads (Source_Align): New definition. | |
2588 (Source_Buffer): Document new alignment requirement. | |
2589 | |
2590 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2591 | |
2592 * sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow | |
2593 this for types. | |
2594 | |
2595 2013-10-10 Robert Dewar <dewar@adacore.com> | |
2596 | |
2597 * gnat_rm.texi: Minor adjustment to doc for To_Address attribute. | |
2598 | |
2599 2013-10-10 Vadim Godunko <godunko@adacore.com> | |
2600 | |
2601 * s-stopoo.ads (Root_Storage_Pool): Add pragma | |
2602 Preelaborable_Initialization. | |
2603 | |
2604 2013-09-25 Tom Tromey <tromey@redhat.com> | |
2605 | |
2606 * gcc-interface/Makefile.in (OUTPUT_OPTION): Define as "-o $@". | |
2607 | |
2608 2013-09-18 Eric Botcazou <ebotcazou@adacore.com> | |
2609 | |
2610 PR ada/58264 | |
2611 * gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local | |
2612 variable and use it throughout. | |
2613 <Attr_Length>: Note whether the prefix is the dereference of a pointer | |
2614 to unconstrained array and, in this case, capture the result for both | |
2615 Attr_First and Attr_Last. | |
2616 | |
2617 2013-09-18 Eric Botcazou <ebotcazou@adacore.com> | |
2618 | |
2619 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New. | |
2620 | |
2621 2013-09-18 Eric Botcazou <ebotcazou@adacore.com> | |
2622 | |
2623 * gcc-interface/trans.c (gigi): Remove dead code. | |
2624 | |
2625 2013-09-18 Eric Botcazou <ebotcazou@adacore.com> | |
2626 | |
2627 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of | |
2628 return variables for subprograms using the CICO mechanism. | |
2629 | |
2630 2013-09-13 Dominique Dhumieres <dominiq@lps.ens.fr> | |
2631 | |
2632 * gcc-interface/Makefile.in: Fix darwin Filter to match on $target_os, | |
2633 not $target_cpu. | |
2634 | |
2635 2013-09-11 Thomas Schwinge <thomas@codesourcery.com> | |
2636 Olivier Hainque <hainque@adacore.com> | |
2637 | |
2638 * gcc-interface/Makefile.in: Import target_cpu, target_vendor, | |
2639 target_os and their host_ counterparts. Remove host_canonical and | |
2640 target_cpu_default, unused. Remove local ad-hoc computations of | |
2641 "host", "targ", "arch", "osys" and "manu". Replace uses of these by | |
2642 uses of the now imported family, hence back to filters against | |
2643 canonical values. Remove filters on e500 for target_cpu, expected to | |
2644 be canonicalized into powerpc. Invert the logic filtering on 64bit | |
2645 sparc for VxWorks. Simplify the filtering logic for bareboard tools | |
2646 target pairs, now using straight elf/eabi filters on the target_os | |
2647 part only. | |
2648 | |
2649 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2650 | |
2651 * sem_ch3.adb (Replace_Anonymoous_Access_To_Protected_Subprogram): If | |
2652 the return type is itself an access to function, recurse to emit | |
2653 another anonymous type. | |
2654 * gcc-interface/Make-lang.in: Update dependencies. | |
2655 | |
2656 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2657 | |
2658 * err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode. | |
2659 * errout.adb (Warning_Doc_Switch): Ignored in VMS mode. | |
2660 * errout.ads (Warning_Doc_Switch): Ignored in VMS mode. | |
2661 * inline.ads (Warnings): New component in Pending_Body_Info. | |
2662 * sem_ch12.adb (Pending_Body_Info): Save and restore warnings | |
2663 at instantiation point. | |
2664 * warnsw.adb (Save_Warnings): New function (Restore_Warnings): | |
2665 New procedure Remove special handling of Warning_Doc_Switch, | |
2666 cleaner to handle the VMS case in errout, than to introduce | |
2667 undocumented oddities here. | |
2668 * warnsw.ads (Warning_Record) : New type. | |
2669 (Save_Warnings): New function. | |
2670 (Restore_Warnings): New procedure. | |
2671 | |
2672 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2673 | |
2674 * sinput.adb (Check_For_BOM): Avoid reading past end of file. | |
2675 | |
2676 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2677 | |
2678 * errout.adb (Error_Msg_Ada_2012_Feature): New procedure. | |
2679 * errout.ads (Error_Msg_Ada_2012_Feature): New procedure. | |
2680 * inline.ads: Save/Restore Ada_Version_Pragma. | |
2681 * opt.adb: Save/Restore Ada_Version_Pragma. | |
2682 * opt.ads (Ada_Version_Pragma): New variable. | |
2683 * par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb, | |
2684 par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature. | |
2685 * prj.adb: Initialize Ada_Version_Pragma. | |
2686 * sem_attr.adb: Use Error_Msg_Ada_2012_Feature. | |
2687 * sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma. | |
2688 * sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma. | |
2689 * switch-c.adb: Initialize Ada_Version_Pragma. | |
2690 * sem_ch12.adb: Minor reformatting. | |
2691 | |
2692 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2693 | |
2694 * sem_ch3.adb (Process_Subtype): Discard constraint on access | |
2695 to class-wide type. Such constraints are not supported and are | |
2696 considered a language pathology. | |
2697 | |
2698 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2699 | |
2700 * gnatbind.adb: Correct starting date in --version string. | |
2701 * gnatdll.adb: Use Check_Version_And_Help_G to implement --help | |
2702 and --version. | |
2703 * gnatkr.adb: Use Check_Version_And_Help_G to implement --help | |
2704 and --version. | |
2705 * gnatlink.adb: Correct starting date in --version string. | |
2706 * gnatls.adb: Correct starting date in --version string. | |
2707 * make.adb: Correct starting date in --version string. | |
2708 | |
2709 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2710 | |
2711 * switch-c.adb: Minor reformatting. | |
2712 * atree.ads (Original_Nodes): Add documentation on ASIS usage. | |
2713 * sinfo.ads: Add section on ASIS mode (documentation only). | |
2714 | |
2715 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2716 | |
2717 * sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow | |
2718 REASON parameter in compiler units (bootstrap issues). | |
2719 | |
2720 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2721 | |
2722 * gnat1drv.adb (Adjust_Global_Switches): Output warning if | |
2723 -gnateE specified for a target that does not support it. | |
2724 | |
2725 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2726 | |
2727 * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly | |
2728 a subprogram body without previous spec. | |
2729 | |
2730 2013-09-10 Gary Dismukes <dismukes@adacore.com> | |
2731 | |
2732 * sem_ch4.adb: Minor typo fixes. | |
2733 | |
2734 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2735 | |
2736 * aspects.adb (Aspects_On_Body_OK): New routine. | |
2737 * aspects.ads: Modify type Aspect_Expression to include | |
2738 the Optional_XXX variants. Update the contents of | |
2739 table Aspect_Argument. Add table Aspect_On_Body_OK. | |
2740 (Aspects_On_Body_OK): New routine. | |
2741 * par-ch13.adb (Get_Aspect_Specifications): Account for optional | |
2742 names and expressions when parsing an aspect. | |
2743 * sem_ch6.adb: Add with and use clause for Aspects. | |
2744 (Analyze_Subprogram_Body_Helper): Do not emit an error when | |
2745 analyzing a body with aspects that can be applied simultaneously | |
2746 to both spec and body. | |
2747 * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the | |
2748 corresponding pragma of an aspect that applies to a subprogram | |
2749 body in the declarative part. | |
2750 (Make_Aitem_Pragma): Do not generate a pragma with an empty argument | |
2751 list. | |
2752 | |
2753 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2754 | |
2755 * switch-c.adb: Diagnose -gnatc given after -gnatRm. | |
2756 * gnat_ugn.texi: Add documentation for -gnatRm. | |
2757 * usage.adb: Minor reorganization (put style entries in proper | |
2758 order) Document -gnatRm switch. | |
2759 * sinfo.ads: Minor comment fix. | |
2760 | |
2761 2013-09-10 Sergey Rybin <rybin@adacore.com frybin> | |
2762 | |
2763 * tree_io.ads: Update ASIS_Version_Number. | |
2764 | |
2765 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2766 | |
2767 * sem_ch3.adb (Access_Subprogram_Declaration): Check whether the | |
2768 designated type can appear in a parameterless call. | |
2769 * sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference | |
2770 in the case of an indirect call through an access function that | |
2771 returns an array type. | |
2772 (Analyze_One_Call): Handle properly legal parameterless calls | |
2773 whose result is indexed, in constructs of the for F.all (I) | |
2774 * sem_ch6.ads (May_Need_Actuals): Make public, for use on access | |
2775 to subprogram types. | |
2776 * sem_res.adb (Resolve_Call): If the call is indirect, there is | |
2777 no entity to set on the name in the call. | |
2778 | |
2779 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2780 | |
2781 * aspects.adb: Add entries in the Has_Aspect_Specifications_Flag | |
2782 table for package body and body stubs. | |
2783 (Move_Or_Merge_Aspects): New routine. | |
2784 (Remove_Aspects): New routine. | |
2785 * aspects.ads (Move_Aspects): Update comment on usage. | |
2786 (Move_Or_Merge_Aspects): New routine. | |
2787 (Remove_Aspects): New routine. | |
2788 * par-ch3.adb: Update the grammar of private_type_declaration, | |
2789 private_extension_declaration, object_renaming_declaration, | |
2790 and exception_renaming_declaration. | |
2791 (P_Subprogram): Parse the | |
2792 aspect specifications that apply to a body stub. | |
2793 * par-ch6.adb: Update the grammar of subprogram_body_stub and | |
2794 generic_instantiation. | |
2795 * par-ch7.adb: Update the grammar of package_declaration, | |
2796 package_specification, package_body, package_renaming_declaration, | |
2797 package_body_stub. | |
2798 (P_Package): Parse the aspect specifications | |
2799 that apply to a body, a body stub and package renaming. | |
2800 * par-ch9.adb: Update the grammar of entry_declaration, | |
2801 protected_body, protected_body_stub, task_body, | |
2802 and task_body_stub. | |
2803 (P_Protected): Add local variable | |
2804 Aspect_Sloc. Add local constant Dummy_Node. Parse the aspect | |
2805 specifications that apply to a protected body and a protected | |
2806 body stub. | |
2807 (P_Task): Add local variable Aspect_Sloc. Add local | |
2808 constant Dummy_Node. Parse the aspect specifications that apply | |
2809 to a task body and a task body stub. | |
2810 * par-ch12.adb: Update the grammar of | |
2811 generic_renaming_declaration. | |
2812 (P_Generic): Parse the aspect | |
2813 specifications that apply to a generic renaming. | |
2814 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not emit | |
2815 an error when analyzing aspects that apply to a body stub. Such | |
2816 aspects are relocated to the proper body. | |
2817 * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the aspect | |
2818 specifications that apply to a body. | |
2819 * sem_ch9.adb (Analyze_Protected_Body): Warn about user-defined | |
2820 aspects not being supported on protected bodies. Remove the | |
2821 aspect specifications. (Analyze_Single_Protected_Declaration): | |
2822 Analyze the aspects that apply to a single protected declaration. | |
2823 (Analyze_Task_Body): Warn about user-defined aspects not being | |
2824 supported on task bodies. Remove the aspect specifications. | |
2825 * sem_ch10.adb: Add with and use clause for Aspects. | |
2826 (Analyze_Package_Body_Stub): Propagate the aspect specifications | |
2827 from the stub to the proper body. | |
2828 * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the | |
2829 corresponding pragma of an aspect that applies to a body in the | |
2830 declarations of the body. | |
2831 * sinfo.ads: Update the gramma of expression_function, | |
2832 private_type_declaration, private_extension_declaration, | |
2833 object_renaming_declaration, exception_renaming_declaration, | |
2834 package_renaming_declaration, subprogram_renaming_declaration, | |
2835 generic_renaming_declaration, entry_declaration, | |
2836 subprogram_body_stub, package_body_stub, task_body_stub, | |
2837 generic_subprogram_declaration. | |
2838 | |
2839 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2840 | |
2841 * sem_prag.adb (Analyze_Pragma): Add processing | |
2842 for aspect/pragma SPARK_Mode when it applies to a [library-level] | |
2843 subprogram or package [body]. | |
2844 | |
2845 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2846 | |
2847 * gnat_ugn.texi: Document that -gnatc and -gnatR cannot be | |
2848 given together. | |
2849 * switch-c.adb (Scan_Front_End_Switches): Give error if both | |
2850 -gnatR and -gnatc given. | |
2851 | |
2852 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2853 | |
2854 * g-table.ads, g-table.adb (For_Each): New generic procedure | |
2855 (Sort_Table): New generic procedure. | |
2856 | |
2857 2013-09-10 Thomas Quinot <quinot@adacore.com> | |
2858 | |
2859 * adaint.c (__gnat_is_executable_file_attr): Should be true | |
2860 for an executable regular file only only (not for a directory | |
2861 that has the executable permission). | |
2862 | |
2863 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2864 | |
2865 * sem_res.adb: Further work on operator calls in ASIS. | |
2866 | |
2867 2013-09-10 Yannick Moy <moy@adacore.com> | |
2868 | |
2869 * sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment | |
2870 update. | |
2871 | |
2872 2013-09-10 Thomas Quinot <quinot@adacore.com> | |
2873 | |
2874 * aspects.ads, sem_ch13.adb: Minor reformatting. | |
2875 * adaint.c (__gnat_set_close_on_exec): Add comment documenting | |
2876 that this routine is shared between OS_Lib and Sockets. | |
2877 | |
2878 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2879 | |
2880 * exp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set. | |
2881 * sem_ch13.adb (Make_Aitem_Pragma): Set Is_Checked if needed. | |
2882 * sem_prag.adb (Check_Kind): Moved from spec (Analyze_Pragma): | |
2883 Make sure Is_Ignored/Is_Checked are set right (Analyze_Pragma, | |
2884 case Check): Ditto (Check_Applicable_Policy): Handle | |
2885 Statement_Assertion case Throughout, set and check the Is_Checked | |
2886 flag as appropriate. | |
2887 * sem_prag.ads (Check_Kind): Moved to body. | |
2888 * sinfo.ads, sinfo.adb (Is_Checked): New flag. | |
2889 | |
2890 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2891 | |
2892 * aspects.ads (Delay_Type): New type (Aspect_Delay): New table. | |
2893 * einfo.adb (Has_Delayed_Rep_Aspects): New flag | |
2894 (May_Inherit_Delayed_Rep_Aspects): New flag (Rep_Clause): Removed | |
2895 (use Get_Attribute_Representation_Clause). | |
2896 * einfo.ads (Has_Delayed_Rep_Aspects): New flag | |
2897 (May_Inherit_Delayed_Rep_Aspects): New flag | |
2898 * freeze.adb: Minor reformatting | |
2899 * sem_ch13.adb (Analyze_Aspect_Speficifications): Redo | |
2900 handling of delayed evaluation, including optimizing some cases | |
2901 and avoiding delays. | |
2902 (Analyze_Aspects_At_Freeze_Point): Now | |
2903 handled inheriting delayed rep aspects for type derivation case. | |
2904 (Inherit_Delayed_Rep_Aspects): New procedure | |
2905 * sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Now handled | |
2906 inheriting delayed rep aspects for type derivation case. | |
2907 * sem_ch3.adb (Build_Derived_Type): Set | |
2908 May_Inherit_Derived_Rep_Aspects if parent type flag | |
2909 Has_Delayed_Rep_Aspects is set | |
2910 | |
2911 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2912 | |
2913 * errout.adb (Finalize): Don't delete real errors with specific | |
2914 warning control. | |
2915 | |
2916 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2917 | |
2918 * exp_ch9.adb (Expand_N_Timed_Entry_Call, | |
2919 Expand_N_Conditional_Entry_Call, Expand_N_Asynchronous_Select): | |
2920 Handle properly a trigger that is a call to a primitive operation | |
2921 of a type that implements a limited interface, if the type itself | |
2922 is not limited. | |
2923 | |
2924 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2925 | |
2926 * sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb, | |
2927 exp_ch4.adb, sprint.adb: Minor reformatting. | |
2928 | |
2929 2013-09-10 Yannick Moy <moy@adacore.com> | |
2930 | |
2931 * sinfo.ads: Document splitting of pre/post in N_Contract description. | |
2932 | |
2933 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2934 | |
2935 * exp_ch4.adb (Expand_N_Op_Multiply): If the operation is of the | |
2936 form X * 2 ** N and it has been marked Is_Power_Of_2_For_Shift, | |
2937 add a mod operation if the result type is a binary modular type. | |
2938 | |
2939 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2940 | |
2941 * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Add local | |
2942 variable Context. Remove local variable Subp_Id. Start the | |
2943 context traversal from the current subprogram rather than the | |
2944 current scope. Update the scope traversal and error reporting. | |
2945 | |
2946 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2947 | |
2948 * exp_ch9.adb (Expand_N_Timed_Entry_Call): New procedure | |
2949 Rewrite_Triggering_Statements, to encapsulate the statements that | |
2950 follow the trigger of the entry call. This procedure is needed | |
2951 when the trigger is a dispatching call, because the expansion | |
2952 requires several copies of those statements. The procedure is | |
2953 more efficient, and preserves non-local references when the | |
2954 construct is within an instance. | |
2955 | |
2956 2013-09-10 Ed Schonberg <schonberg@adacore.com> | |
2957 | |
2958 * sem_ch12.adb (Analyze_Package_Instantiation): If the | |
2959 instantiation is a compilation unit, analyze aspects before | |
2960 analyzing the package declaration for the instance. | |
2961 * sem_ch13.adb (Analyze_Aspect_Specifications): If the | |
2962 corresponding node is a package instantiation, insert generated | |
2963 pragmas at the head of visible declarations. | |
2964 * sem_prag.adb (Analyze_Pragma, case Preelaborate): In an instance | |
2965 do not ignore the pragma if it comes from an aspect specification | |
2966 in the instance, and not from the generic unit. | |
2967 * sprint.adb (Sprint_Node_Actual): For a package declaration that | |
2968 is an instantiation, print aspects after declaration. | |
2969 | |
2970 2013-09-10 Robert Dewar <dewar@adacore.com> | |
2971 | |
2972 * einfo.adb, sem_prag.adb, rtsfind.ads: Minor reformatting. | |
2973 | |
2974 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2975 | |
2976 * sem_prag.adb (Get_SPARK_Mode_Id): Handle the | |
2977 case where the pragma may appear without an argument. | |
2978 (Analyze_Global_List): Add expanded_name to the list of constructs | |
2979 that denote a single item. | |
2980 (Collect_Global_List): Add expanded_name to the list of constructs | |
2981 that denote a single item. | |
2982 | |
2983 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> | |
2984 | |
2985 * exp_ch4.adb (Apply_Accessibility_Check): Add local constant | |
2986 Pool_Id and local variables Fin_Call and Free_Stmt. Finalize | |
2987 and deallocate a heap-allocated class-wide object after it | |
2988 has been determined that it violates the accessibility rules. | |
2989 * rtsfind.ads: Add new RTU_Id for System.Memory. Add new RE_Id | |
2990 and entry in RE_Unit_Table for RE_Free. | |
2991 | |
2992 2013-09-01 Eric Botcazou <ebotcazou@adacore.com> | |
2993 Iain Sandoe <iain@codesourcery.com> | |
2994 | |
2995 PR ada/58239 | |
2996 * gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++. | |
2997 (GCC_LINK): Use CXX instead of CC. | |
2998 * gcc-interface/Make-lang.in (CXX_LFLAGS): New. | |
2999 (ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native. | |
3000 | |
3001 2013-08-13 Eric Botcazou <ebotcazou@adacore.com> | |
3002 | |
3003 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias | |
3004 sets of derived types in ASIS mode. | |
3005 | |
3006 2013-08-13 Eric Botcazou <ebotcazou@adacore.com> | |
3007 | |
3008 * gcc-interface/decl.c (gnat_to_gnu_entity): Replace True with true. | |
3009 (is_cplusplus_method): Likewise, and False with false. | |
3010 (components_need_strict_alignment): Likewise. | |
3011 * gcc-interface/misc.c (gnat_init_gcc_fp): Likewise. | |
3012 * gcc-interface/trans.c (Loop_Statement_to_gnu): Likewise. | |
3013 (Handled_Sequence_Of_Statements_to_gnu): Likewise. | |
3014 (add_cleanup): Likewise. | |
3015 (Sloc_to_locus1): Likewise. | |
3016 (Sloc_to_locus): Likewise. | |
3017 (set_expr_location_from_node): Likewise. | |
3018 * gcc-interface/utils.c (potential_alignment_gap): Likewise. | |
3019 | |
3020 2013-08-13 Thomas Quinot <quinot@adacore.com> | |
3021 | |
3022 * gcc-interface/trans.c (set_end_locus_from_node): Clear column info | |
3023 for the end_locus of a block if it does not come from an End_Label. | |
3024 | |
3025 2013-08-13 Thomas Quinot <quinot@adacore.com> | |
3026 | |
3027 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If | |
3028 there is no End_Label, attach cleanup actions to the sloc of the HSS | |
3029 node instead. | |
3030 (Exception_Handler_to_gnu_zcx): Associate cleanup actions with the sloc | |
3031 of the handler itself. | |
3032 (add_cleanup): Clear column information in sloc of cleanup actions. | |
3033 (Sloc_to_locus1): New static function. | |
3034 (Sloc_to_locus): Call it. | |
3035 (set_expr_location_from_node1): New static function. | |
3036 (set_expr_location_from_node): Call it. | |
3037 | |
3038 2013-08-13 Eric Botcazou <ebotcazou@adacore.com> | |
3039 | |
3040 * gcc-interface/trans.c (Call_to_gnu): Deal with specific conditional | |
3041 expressions for misaligned actual parameters. | |
3042 | |
3043 2013-08-13 Eric Botcazou <ebotcazou@adacore.com> | |
3044 | |
3045 * gcc-interface/trans.c (can_equal_min_or_max_val_p): Be prepared for | |
3046 values outside of the range of the type. | |
3047 | |
3048 2013-08-13 Eric Botcazou <ebotcazou@adacore.com> | |
3049 | |
3050 * gcc-interface/utils2.c (build_atomic_load): Do a mere view-conversion | |
3051 to the original type before converting to the result type. | |
3052 (build_atomic_store): First do a conversion to the original type before | |
3053 view-converting to the effective type, but deal with a padded type | |
3054 specially. | |
3055 | |
3056 2013-08-08 Eric Botcazou <ebotcazou@adacore.com> | |
3057 | |
3058 * gcc-interface/Makefile.in (TOOLS_LIBS): Pick C object files from the | |
3059 compiler build and use standard library variables. | |
3060 (../../vxaddr2line$(exeext): Do not depend on targext.o and adjust. | |
3061 (gnatmake-re): Do not depend on targext.o. | |
3062 (gnatlink-re): Do not depend on link.o and targext.o. | |
3063 (../../gnatmake$(exeext): Likewise. | |
3064 (../../gnatlink$(exeext): Likewise. | |
3065 | |
3066 2013-07-21 Ondřej BÃÂlka <neleai@seznam.cz> | |
3067 | |
3068 * gcc-interface/gigi.h: Fix typos. | |
3069 * gcc-interface/trans.c: Likewise. | |
3070 * gcc-interface/utils2.c: Likewise. | |
3071 * gnat_rm.texi: Likewise. | |
3072 * gnat_ugn.texi: Likewise. | |
3073 * raise-gcc.c: Likewise. | |
3074 * sigtramp-ppcvxw.c: Likewise. | |
3075 * sysdep.c: Likewise. | |
3076 * terminals.c: Likewise. | |
3077 | |
3078 2013-07-20 Eric Botcazou <ebotcazou@adacore.com> | |
3079 | |
3080 PR ada/57934 | |
3081 * gcc-interface/ada.h (CAT): Fix typo. | |
3082 | |
3083 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3084 | |
3085 * einfo.adb (Get_Pragma): Handle the retrieval of delayed | |
3086 pragmas stored in N_Contract nodes. | |
3087 * einfo.ads (Get_Pragma): Update the comment on usage. | |
3088 * sem_prag.adb (Check_Precondition_Postcondition): Retain a copy | |
3089 of the pragma when it applies to a body that acts as a spec. The | |
3090 copy is preanalyzed and chained on the contract of the body. | |
3091 | |
3092 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3093 | |
3094 * rtsfind.adb: Minor comment fix. | |
3095 | |
3096 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3097 | |
3098 * sem_ch4.adb (Check_Ghost_Subprogram_Call): Do not check the placement | |
3099 of a Ghost function call when the enclosing context is being | |
3100 preanalyzed. | |
3101 | |
3102 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3103 | |
3104 * exp_ch6.adb (Expand_Inlined_Call, Process_Formals): If the | |
3105 expression in a return statement is a numeric literal, qualify | |
3106 it with the return type for proper resolution. | |
3107 | |
3108 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3109 | |
3110 * sem.ads: Minor comment updates. | |
3111 * s-restri.ads, exp_ch6.adb, lib-load.ads, exp_ch3.adb, sem_ch10.adb: | |
3112 Minor reformatting. | |
3113 | |
3114 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3115 | |
3116 * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry | |
3117 for Restriction_Set. | |
3118 * gnat_rm.texi: Add missing menu entry for Attribute Ref Add | |
3119 documentation for attribute Restriction_Set. | |
3120 * lib-writ.adb (Write_With_Lines): Generate special W lines | |
3121 for Restriction_Set. | |
3122 * lib-writ.ads: Document special use of W lines for | |
3123 Restriction_Set. | |
3124 * lib.ads (Restriction_Set_Dependences): New table. | |
3125 * par-ch4.adb (Is_Parameterless_Attribute): Add Loop_Entry to | |
3126 list (Scan_Name_Extension_Apostrophe): Remove kludge test for | |
3127 Loop_Entry (Scan_Name_Extension_Apostrophe): Handle No_Dependence | |
3128 for Restricton_Set. | |
3129 * restrict.adb (Check_SPARK_Restriction): Put in Alfa order | |
3130 (OK_No_Dependence_Unit_Name): New function. | |
3131 * restrict.ads (OK_No_Dependence_Unit_Name): New function. | |
3132 * rtsfind.adb: Minor reformatting Minor code reorganization. | |
3133 * sem_attr.adb (Analyze_Attribute): Add processing for | |
3134 Restriction_Set. | |
3135 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
3136 Remove Check_Unit_Name and use new function | |
3137 OK_No_Dependence_Unit_Name instead. | |
3138 * sinfo.ads: Minor comment updates. | |
3139 * snames.ads-tmpl: Add entry for Restriction_Set attribute. | |
3140 | |
3141 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3142 | |
3143 * exp_ch4.adb (Apply_Accessibility_Check): Remove local constant | |
3144 Pool_Id and local variable Free_Stmt. Do not deallocate the faulty | |
3145 object as "free" is not available on all targets/profiles. | |
3146 | |
3147 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3148 | |
3149 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle | |
3150 Storage_Size aspect for task type in case discriminant is | |
3151 referenced. | |
3152 (Analyze_Attribute_Definition_Clause): Do not flag Storage_Size | |
3153 attribute definition clause as obsolescent if from aspect. | |
3154 | |
3155 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3156 | |
3157 * gnat_rm.texi: Add documentation for Img returning a function. | |
3158 * par-prag.adb: Minor reformatting. | |
3159 * restrict.adb: Minor reformatting and code reorganization. | |
3160 | |
3161 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3162 | |
3163 * sem_res.adb: add guard to ASIS transform. | |
3164 | |
3165 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3166 | |
3167 * exp_ch9.adb (Expand_N_Asynchronous_Select): If the trigger | |
3168 of the asynchronous select is a dispatching call, transform the | |
3169 abortable part into a procedure, to avoid duplication of local | |
3170 loop variables that may appear within. | |
3171 | |
3172 2013-07-08 Vincent Celier <celier@adacore.com> | |
3173 | |
3174 * projects.texi: Update the documentation of suffixes in package | |
3175 Naming. | |
3176 | |
3177 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3178 | |
3179 * sem_ch6.adb (Conforming_Types): Anonymous_access_to_subprograsm | |
3180 types are type conformant if the designated type of one is | |
3181 protected and the other is not. Convention only matters when | |
3182 checking subtype conformance. | |
3183 | |
3184 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3185 | |
3186 * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate | |
3187 back the fully resolved operands to the original function call | |
3188 so that all semantic information remains available to ASIS. | |
3189 | |
3190 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3191 | |
3192 * sem_ch4.adb: minor reformatting (remove obsolete comment). | |
3193 * sem_ch9.adb: improve error message on illegal trigger. | |
3194 | |
3195 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3196 | |
3197 * sem_prag.adb: Minor reformatting. | |
3198 | |
3199 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3200 | |
3201 * gnatcmd.adb: Minor reformatting. | |
3202 | |
3203 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3204 | |
3205 * targparm.adb (Get_Target_Parameters): Recognize pragma | |
3206 Partition_Elaboration_Policy. | |
3207 | |
3208 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3209 | |
3210 * gnat_ugn.texi: Minor update to mention partition elaboration policy. | |
3211 | |
3212 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3213 | |
3214 * sem_ch4.adb (Comple_Object_Operation): Revert previous change. | |
3215 (Analyze_Indexed_Component_Form): In ASIS mode, if node has been | |
3216 transformed but not rewritten as a function call (as is the case | |
3217 in a generic), analyze it as such. | |
3218 | |
3219 2013-07-08 Thomas Quinot <quinot@adacore.com> | |
3220 | |
3221 * gnat_rm.texi: Minor rewording: add missing word "operators" | |
3222 in documentation for restriction No_Direct_Boolean_Operator. | |
3223 | |
3224 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3225 | |
3226 * errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg, | |
3227 Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere | |
3228 now). | |
3229 * errout.ads: Insertions ! and !! no longer have to be at the | |
3230 end of the message, they can be anywhere in the message. | |
3231 * erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg): | |
3232 Replaces Test_Style_Warning_Serious_Msg | |
3233 * erroutc.ads (Has_Double_Exclam): New flag New comments for | |
3234 existing flags (Test_Style_Warning_Serious_Unconditional_Msg): | |
3235 Replaces Test_Style_Warning_Serious_Msg | |
3236 * errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg): | |
3237 Replaces Test_Style_Warning_Serious_Msg | |
3238 | |
3239 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3240 | |
3241 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
3242 Recognize SPARK_05 as synonym for SPARK in restrictions pragma. | |
3243 * restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only | |
3244 referenced there. | |
3245 * scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, | |
3246 sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK. | |
3247 * snames.ads-tmpl (Name_No_Obsolescent_Features): New entry. | |
3248 | |
3249 2013-07-08 Vincent Celier <celier@adacore.com> | |
3250 | |
3251 * gnatcmd.adb (Check_Files): Use a response file for gnatls | |
3252 when possible. | |
3253 | |
3254 2013-07-08 Gary Dismukes <dismukes@adacore.com> | |
3255 | |
3256 * freeze.adb: Minor typo fixes. | |
3257 | |
3258 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3259 | |
3260 * gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document | |
3261 obsolete recognition of SPARK Document all other obsolete synonyms | |
3262 for old restrictions. | |
3263 * restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces | |
3264 SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym | |
3265 for SPARK_05. | |
3266 * restrict.ads: Restriction SPARK_05 replaces SPARK. | |
3267 * s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK | |
3268 as synonym for SPARK_05. | |
3269 * sem_prag.adb: Minor reformatting. | |
3270 * snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05. | |
3271 | |
3272 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3273 | |
3274 * sem_dim.adb: Minor error message change. | |
3275 * freeze.adb (Freeze_Entity, array type case): Extend handling | |
3276 of Implicit_Packing to handle multi-dimensional array case. | |
3277 * gnat_rm.texi: Update doc on Implicit_Packing. | |
3278 | |
3279 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3280 | |
3281 * exp_ch4.adb: Minor reformatting. | |
3282 | |
3283 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3284 | |
3285 * sem_ch4.adb (Complete_Object_Operation): In ASIS mode, if | |
3286 the parent node is a selected component and the analysis as a | |
3287 call is successful, set the type of the selector in the parent | |
3288 node for subsequent checks, because the rewriting of the node | |
3289 does not take place during pre-analysis. | |
3290 | |
3291 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3292 | |
3293 * sem_ch8.adb, exp_ch3.adb: Minor reformatting. | |
3294 | |
3295 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3296 | |
3297 * exp_ch4.adb (Expand_N_Op_Eq): When comparing two | |
3298 Bounded_Strings, use the predefined equality function of the | |
3299 root Super_String type. | |
3300 | |
3301 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3302 | |
3303 * exp_ch4.adb (Create_Alternative): Removed. | |
3304 (Expand_N_If_Expression): Remove constant | |
3305 In_Case_Or_If_Expression. Add local variable | |
3306 Ptr_Typ. Inspect the "then" and "else" action lists | |
3307 for transient controlled objects and generate code to | |
3308 finalize them. (Is_Controlled_Function_Call): Removed. | |
3309 (Process_Action): Update the comment on usage. Update the call | |
3310 to Process_Transient_Object. There is no need to continue the | |
3311 traversal of the object itself. | |
3312 (Process_Actions): New routine. | |
3313 (Process_Transient_Object): Moved to the top level of Exp_Ch4. Add | |
3314 a new formal and update the related comment on usage. | |
3315 * exp_util.adb (Within_Case_Or_If_Expression): Start the search | |
3316 from the parent of the node. | |
3317 | |
3318 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3319 | |
3320 * a-cusyqu.ads, a-cbprqu.ads, s-interr.ads, a-cuprqu.ads, | |
3321 a-cbsyqu.ads: Minor reformatting (proper formatting of overriding). | |
3322 | |
3323 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3324 | |
3325 * sem_ch8.adb (Attribute_Renaming): Treat 'Img as an attribute | |
3326 that can be renamed as a function. | |
3327 | |
3328 2013-07-08 Thomas Quinot <quinot@adacore.com> | |
3329 | |
3330 * g-socket.ads: Document target dependency: FIONBIO may or may not | |
3331 be inherited from listening socket by accepted socket. | |
3332 | |
3333 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3334 | |
3335 * exp_ch4.adb (Apply_Accessibility_Check): Do not deallocate the object | |
3336 on targets that can't deallocate. | |
3337 | |
3338 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3339 | |
3340 * exp_ch3.adb (Freeze_Type): Generate a | |
3341 subpools-related accessibility check only on profiles that | |
3342 include the corresponding library unit. | |
3343 | |
3344 2013-07-08 Gary Dismukes <dismukes@adacore.com> | |
3345 | |
3346 * sem_ch8.adb: Minor typo fixes. | |
3347 | |
3348 2013-07-08 Javier Miranda <miranda@adacore.com> | |
3349 | |
3350 * sem_ch8.adb (Save_Scope_Stack): Adding documentation. | |
3351 (Restore_Scope_Stack): Remove the elements of the list when the | |
3352 visibility of each entity is restored. | |
3353 | |
3354 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3355 | |
3356 * exp_ch9.adb, sem.ads, sem_util.adb: Minor reformatting. | |
3357 | |
3358 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3359 | |
3360 * sem_ch8.adb, sem_ch8.ads: Minor reformatting. | |
3361 | |
3362 2013-07-08 Gary Dismukes <dismukes@adacore.com> | |
3363 | |
3364 * gnat_rm.texi: Minor reformatting and rewording for consistency. | |
3365 | |
3366 2013-07-08 Bob Duff <duff@adacore.com> | |
3367 | |
3368 * exp_ch3.adb (Build_Master): If Desig_Type is an incomplete | |
3369 view coming from a limited-with'ed package, use the nonlimited | |
3370 view in case it has tasks. | |
3371 | |
3372 2013-07-08 Javier Miranda <miranda@adacore.com> | |
3373 | |
3374 * sem_ch8.ad[sb] (Save_Scope_Stack): Modified to return the list | |
3375 of entities which have been temporarily removed from immediate | |
3376 visibility. | |
3377 (Restore_Scope_Stack): Modified to receive an | |
3378 additional parameter with the list of entities whose immediate | |
3379 visibility must be restored. | |
3380 * sem.adb (Do_Analyze): Use new version of | |
3381 Save_Scope_Stack/Restore_Scope_Stack | |
3382 * sem_ch12.adb (Inline_Instance_Body): Use new version of | |
3383 Save_Scope_Stack and Restore_Scope_Stack | |
3384 | |
3385 2013-07-08 Hristian Kirtchev <kirtchev@adacore.com> | |
3386 | |
3387 * sem_prag.adb (Analyze_Pragma): Remove | |
3388 variable Unit_Prag. Remove the check on duplicate mode for the | |
3389 configuration form of the pragma. | |
3390 (Redefinition_Error): Removed. | |
3391 | |
3392 2013-07-08 Robert Dewar <dewar@adacore.com> | |
3393 | |
3394 * lib.ads, gnat_rm.texi, einfo.ads, sem_ch13.adb: Minor reformatting | |
3395 and editing. | |
3396 | |
3397 2013-07-08 Ed Schonberg <schonberg@adacore.com> | |
3398 | |
3399 * sem_prag.adb (Analyze_PPC_In_Decl_Part): In ASIS mode, | |
3400 pre-analyze only the original expression attached to the source | |
3401 aspect, not the relocated expression of the pragma, to prevent | |
3402 malformed trees in ASIS mode. | |
3403 * sem_ch13.adb (Analyze_Aspect_Specifications): Revert previous | |
3404 patch: the expression in the aspect for pre/post must be relocated | |
3405 to the pragma for proper analysis. | |
3406 | |
3407 2013-07-05 Hristian Kirtchev <kirtchev@adacore.com> | |
3408 | |
3409 * aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect. | |
3410 * aspects.ads: Add an entry for SPARK_Mode in tables Aspect_Id, | |
3411 Aspect_Argument, Aspect_Names. | |
3412 * atree.adb (Node32): New routine. | |
3413 (Set_Node32): New routine. | |
3414 * atree.ads (Node32): New routine. | |
3415 (Set_Node32): New routine. | |
3416 * einfo.adb: Node32 is now used as SPARK_Mode_Pragmas. | |
3417 (Set_SPARK_Mode_Pragmas): New routine. | |
3418 (SPARK_Mode_Pragmas): New routine. | |
3419 (Write_Field32_Name): Add and entry for SPARK_Modes. | |
3420 * einfo.ads: Add attribute SPARK_Mode_Pragmas along with usage | |
3421 in various entities. | |
3422 (Set_SPARK_Mode_Pragmas): New routine and | |
3423 pragma Inline. | |
3424 (SPARK_Mode_Pragmas): New routine and pragma Inline. | |
3425 * gnat_rm.texi: Add sections explaining the syntax and semantics | |
3426 of aspect/pragma SPARK_Mode. | |
3427 * gnat_ugn.texi: Add pragma SPARK_Mode to the list of | |
3428 configuration pragmas. | |
3429 * lib.adb (Set_SPARK_Mode_Pragma): New routine. | |
3430 (SPARK_Mode_Pragma): New routine. | |
3431 * lib.ads: Alphabetize the comments on fields of record | |
3432 Unit_Record. Add new field SPARK_Mode_Pragma along with | |
3433 comment on its usage. Update the layout of record Unit_Record. | |
3434 (Set_SPARK_Mode_Pragma): New routine and pragma Inline. | |
3435 (SPARK_Mode_Pragma): New routine and pragma Inline. | |
3436 * lib-load.adb (Create_Dummy_Package_Unit): Initialize | |
3437 field SPARK_Mode_Pragma. | |
3438 (Load_Main_Source): Initialize field SPARK_Mode_Pragma. | |
3439 (Load_Unit): Initialize field SPARK_Mode_Pragma. | |
3440 * lib-writ.adb (Add_Preprocessing_Dependency): Initialize field | |
3441 SPARK_Mode_Pragma. | |
3442 (Ensure_System_Dependency): Initialize field SPARK_Mode_Pragma. | |
3443 * opt.ads: Alphabetize verification flags. Store the | |
3444 compilation-wide SPARK mode in variable Global_SPARK_Mode. | |
3445 * par-prag.adb: Pragma SPARK_Mode does not need special processing | |
3446 by the parser. | |
3447 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect | |
3448 SPARK_Mode into a pragma. | |
3449 (Check_Aspect_At_Freeze_Point): Aspect SPARK_Mode does not need | |
3450 delayed processing. | |
3451 * sem_prag.adb: Add an entry for SPARK_Mode in table Sig_Flags. | |
3452 (Analyze_Pragma): Add processing for pragma SPARK_Mode. | |
3453 (Get_SPARK_Mode_Id): New routine. | |
3454 (Is_Elaboration_SPARK_Mode): New routine. | |
3455 (Is_Private_SPARK_Mode): New routine. | |
3456 * sem_prag.ads (Get_SPARK_Mode_Id): New routine. | |
3457 (Is_Elaboration_SPARK_Mode): New routine. | |
3458 (Is_Private_SPARK_Mode): New routine. | |
3459 * sinfo.ads: Update the comment on the usage of field Next_Pragma. | |
3460 * snames.ads-tmpl: Add new predefined name for SPARK_Mode and | |
3461 Auto. Add new pragma Id for SPARK_Mode. | |
3462 * types.ads: Add new type SPARK_Mode_Id. | |
3463 | |
3464 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3465 | |
3466 * sem_ch13.adb (Analyze_Aspect_Specifications): For | |
3467 pre/postconditions copy the expression to the generated pragma, | |
3468 to avoid sharing between the original aspect and the pragma node, | |
3469 because in ASIS_Mode both will be independently analyzed. | |
3470 | |
3471 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3472 | |
3473 * exp_ch3.adb (Build_Variant_Record_Equality): Add pairs of | |
3474 formals for each discriminant of an unchecked union. | |
3475 (Make_Eq_Case): Suprogram accepts a list of discriminants. Nested | |
3476 variants are supported. New helper function Corresponding_Formal. | |
3477 * exp_ch4.adb (Build_Equality_Call): For unchecked unions, | |
3478 loop through discriminants to create list of inferred values, | |
3479 and modify call to equality routine accordingly. | |
3480 | |
3481 2013-07-05 Claire Dross <dross@adacore.com> | |
3482 | |
3483 * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads, | |
3484 a-cforse.ads, a-cofove.ads: Add preconditions when needed + | |
3485 container types are not tagged any more. | |
3486 | |
3487 2013-07-05 Thomas Quinot <quinot@adacore.com> | |
3488 | |
3489 * freeze.adb (Freeze_Entity): For an object with captured | |
3490 initialization statements, do not remove Init_Stmts from the | |
3491 enclosing list, as Freeze_All might rely on it to know where to | |
3492 stop freezing. | |
3493 | |
3494 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3495 | |
3496 * exp_ch4.adb, a-cfdlli.ads, a-ngelfu.ads, s-bignum.adb: Minor | |
3497 reformatting. | |
3498 | |
3499 2013-07-05 Hristian Kirtchev <kirtchev@adacore.com> | |
3500 | |
3501 * exp_ch4.adb (Expand_Composite_Equality): Use the full view | |
3502 when the base type is private. | |
3503 | |
3504 2013-07-05 Claire Dross <dross@adacore.com> | |
3505 | |
3506 * a-cfdlli.ads: Add preconditions when needed. | |
3507 | |
3508 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3509 | |
3510 * sem_ch8.adb: Minor reformatting. | |
3511 | |
3512 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3513 | |
3514 * sem_ch3.adb (Access_Subprogram_Declaration): Use | |
3515 Generate_Reference_To_Formals. | |
3516 * lib-xref.adb (Generate_Reference_To_Formals): In the case of | |
3517 access to subprograms, the formals are found in the designated | |
3518 subprogram type. | |
3519 | |
3520 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3521 | |
3522 * gnat_ugn.texi: Document that comments can be lined up with | |
3523 previous non-blank line. | |
3524 * styleg.adb (Check_Comment): Allow indentation to match previous | |
3525 non-blank line (Same_Column_As_Previous_Line): New function | |
3526 | |
3527 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3528 | |
3529 * gnat_rm.texi: Update doc on missing pragmas. | |
3530 * sem_ch12.adb: Minor comment additions. | |
3531 | |
3532 2013-07-05 Hristian Kirtchev <kirtchev@adacore.com> | |
3533 | |
3534 * sem_prag.adb (Analyze_Pragma): Ensure that | |
3535 Contract_Cases, Depends and Global are analyzed when they apply | |
3536 to a subprogram compilation unit. The pragmas are all added | |
3537 unconditionally to the construct's contract. This ensures that | |
3538 proof tools can locate the pragmas. | |
3539 | |
3540 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3541 | |
3542 * sem_ch8.adb (Freeze_Actual_Profile): An instance within | |
3543 a generic unit does not freeze a generic private type of the | |
3544 enclosing generic. This rule must also apply to a type derived | |
3545 from a generic private type. | |
3546 | |
3547 2013-07-05 Arnaud Charlet <charlet@adacore.com> | |
3548 | |
3549 * gnat_rm.texi: Add missing documentation for pragmas. | |
3550 | |
3551 2013-07-05 Yannick Moy <moy@adacore.com> | |
3552 | |
3553 * sem_ch12.adb: Minor comment. | |
3554 | |
3555 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3556 | |
3557 * gnat_rm.texi: Document that -gnatR and -gnatD cannot be used | |
3558 together. | |
3559 * switch-c.adb: Do not allow -gnatD and -gnatR to both be | |
3560 specified. | |
3561 | |
3562 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3563 | |
3564 * gnat_rm.texi: Add missing documentation for pragmas. | |
3565 * sem_ch8.adb: Minor reformatting. | |
3566 * gnat_ugn.texi: Document that -gnatR and -gnatD cannot be used | |
3567 together. | |
3568 | |
3569 2013-07-05 Yannick Moy <moy@adacore.com> | |
3570 | |
3571 * sem_ch12.ads, sem_ch12.adb (Need_Subprogram_Instance_Body): Force | |
3572 instance of subprogram body in SPARK mode, by testing Expander_Active | |
3573 (set in SPARK mode) instead of Full_Expander_Active (not set in | |
3574 SPARK mode). | |
3575 * sem_ch8.adb: Minor reformatting. | |
3576 | |
3577 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3578 | |
3579 * freeze.adb (Freeze_Entity): Remove test of obsolete flag | |
3580 Propagate_Exceptions, and associated useless code that did | |
3581 nothing. | |
3582 * gnat_rm.texi: Add documentation for obsolete pragma | |
3583 Propagate_Exceptions. | |
3584 * opt.ads (Propagate_Exceptions): Obsolete flag removed. | |
3585 * sem_prag.adb (Analyze_Pragma, case Propagate_Exceptions): | |
3586 Remove useless and obsolete setting of Propagate_Exceptions flag. | |
3587 | |
3588 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3589 | |
3590 * gnat_rm.texi, sem_prag.adb: Minor comment/text fixes. | |
3591 | |
3592 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3593 | |
3594 * gnat_rm.texi: Add missing doc for various pragmas. | |
3595 | |
3596 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3597 | |
3598 * par_sco.adb, sem_ch12.adb, par-ch5.adb: Minor reformatting. | |
3599 * gnat_rm.texi: Document pragma Profile_Warnings. | |
3600 * restrict.ads, sem_prag.adb: Minor reformatting. | |
3601 | |
3602 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3603 | |
3604 * sem_ch12.adb (Check_Formal_Package_Instance): Handle properly | |
3605 a formal subprogram that was defaulted in the formal package. | |
3606 | |
3607 2013-07-05 Thomas Quinot <quinot@adacore.com> | |
3608 | |
3609 * par_sco.adb (Traverse_Declarations_Or_Statements): Ignore | |
3610 N_Implicit_Label_Declaration nodes. | |
3611 | |
3612 2013-07-05 Robert Dewar <dewar@adacore.com> | |
3613 | |
3614 * a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting. | |
3615 | |
3616 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3617 | |
3618 * sem_ch12.adb (Copy_Generic_Node): Check that name in function | |
3619 call is a valid entity name before preserving entity in generic | |
3620 copy. | |
3621 | |
3622 2013-07-05 Thomas Quinot <quinot@adacore.com> | |
3623 | |
3624 * par-ch5.adb: Minor reformatting. | |
3625 | |
3626 2013-07-05 Thomas Quinot <quinot@adacore.com> | |
3627 | |
3628 * sinfo.ads: Minor clarification to documentation for | |
3629 N_Implicit_Label_Declaration. | |
3630 | |
3631 2013-07-05 Hristian Kirtchev <kirtchev@adacore.com> | |
3632 | |
3633 * a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the | |
3634 values of all remaining constants. | |
3635 (Rcheck_35): New routine along with pragmas Export and No_Return. | |
3636 (Rcheck_PE_Aliased_Parameters): New routine along with pragmas | |
3637 Export and No_Return. | |
3638 (Rcheck_PE_All_Guards_Closed, | |
3639 Rcheck_PE_Bad_Predicated_Generic_Type, | |
3640 Rcheck_PE_Current_Task_In_Entry_Body, | |
3641 Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise, | |
3642 Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value, | |
3643 Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object, | |
3644 Rcheck_PE_Potentially_Blocking_Operation | |
3645 Rcheck_PE_Stubbed_Subprogram_Called, | |
3646 Rcheck_PE_Unchecked_Union_Restriction, | |
3647 Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool, | |
3648 Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion, | |
3649 Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception): | |
3650 Update the use of Rmsg_XX. | |
3651 (Rcheck_17, Rcheck_18, Rcheck_19, | |
3652 Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25, | |
3653 Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31, | |
3654 Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding | |
3655 renamed subprograms. | |
3656 * checks.adb: Add with and use clause for Stringt. | |
3657 (Apply_Parameter_Aliasing_Checks): Make constant Loc visible in | |
3658 all subprograms of Apply_Parameter_Aliasing_Checks. Remove local | |
3659 variable Cond. Initialize Check at the start of the routine. Use | |
3660 routine Overlap_Check to construct a simple or a detailed run-time | |
3661 check. Update the creation of the simple check. | |
3662 (Overlap_Check): New routine. | |
3663 * exp_ch11.adb (Get_RT_Exception_Name): Add a value for | |
3664 PE_Aliased_Parameters. | |
3665 * types.ads: Add new enumeration literal | |
3666 PE_Aliased_Parameters. Update the corresponding integer values | |
3667 of all RT_Exception_Code literals. | |
3668 * types.h: Add new constant PE_Aliased_Parameters. Correct the | |
3669 values of all remaining constants. | |
3670 | |
3671 2013-07-05 Yannick Moy <moy@adacore.com> | |
3672 | |
3673 * gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in | |
3674 documentation. | |
3675 | |
3676 2013-07-05 Ed Schonberg <schonberg@adacore.com> | |
3677 | |
3678 * sem_prag.adb (Analyze_PPC_In_Decl_Part): For a class-wide | |
3679 condition, when replacing the name of a formal by a conversion | |
3680 to the class-wide type, exempt selector names that appear in | |
3681 parameter associations. | |
3682 | |
3683 2013-06-13 Eric Botcazou <ebotcazou@adacore.com> | |
3684 | |
3685 * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): Delete. | |
3686 * gcc-interface/gigi.h (annotate_object): Adjust prototype. | |
3687 (convert_vms_descriptor): Likewise. | |
3688 * gcc-interface/decl.c (gnat_to_gnu_param): Do not pass fat pointer | |
3689 types by double dereference. | |
3690 (annotate_object): Remove BY_DOUBLE_REF parameter and adjust. | |
3691 (gnat_to_gnu_entity): Adjust calls to annotate_object. | |
3692 * gcc-interface/trans.c (Identifier_to_gnu): Do not deal with double | |
3693 dereference. | |
3694 (Call_to_gnu): Likewise. | |
3695 (build_function_stub): Adjust call to convert_vms_descriptor. | |
3696 (Subprogram_Body_to_gnu): Adjust call to annotate_object. | |
3697 * gcc-interface/utils.c (convert_vms_descriptor): Remove BY_REF | |
3698 parameter and adjust. | |
3699 | |
3700 2013-05-30 Eric Botcazou <ebotcazou@adacore.com> | |
3701 | |
3702 * gcc-interface/Makefile.in (arm% androideabi): Robustify. | |
3703 | |
3704 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3705 | |
3706 * gcc-interface/decl.c: (gnat_to_gnu_entity): In ASIS mode, do not | |
3707 check that access types have a set size. | |
3708 | |
3709 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3710 | |
3711 * gcc-interface/decl.c (vinfo_t): New type and associated vector. | |
3712 (components_to_record): Change return type to bool. | |
3713 Lay out the variants in two passes. Do not force a specific layout for | |
3714 the variant part if the variants do not have a representation clause. | |
3715 Take the alignment of the variant part into account when laying out | |
3716 variants without rep clause in a record type with a partial rep clause. | |
3717 (create_rep_part): Do not set the position of the field. | |
3718 | |
3719 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3720 | |
3721 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Last_Bit>: Add kludge | |
3722 to avoid generating an overflow for -1. | |
3723 | |
3724 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3725 | |
3726 * gcc-interface/gigi.h (create_type_decl): Adjust prototype. | |
3727 (create_label_decl): Complete prototype. | |
3728 (process_attributes): Declare. | |
3729 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust multiple calls to | |
3730 create_type_decl throughout. | |
3731 <E_Enumeration_Type>: Do the layout of the type manually and call | |
3732 process_attributes on it. Reindent. | |
3733 <E_Enumeration_Subtype>: Minor tweak. | |
3734 <E_Floating_Point_Subtype>: Reindent. | |
3735 <E_Array_Subtype>: Call process_attributes on the array type built | |
3736 for a packed array type. | |
3737 <E_Record_Type>: Call process_attributes on the type. | |
3738 <E_Record_Subtype>: Likewise. | |
3739 <E_Access_Type>: Likewise. | |
3740 <E_Subprogram_Type>: Likewise. | |
3741 Likewise for all types at the end of the processing. | |
3742 * gcc-interface/utils.c (make_aligning_type): Adjust call to | |
3743 create_type_decl. | |
3744 (maybe_pad_type): Likewise. | |
3745 (create_index_type): Likewise. | |
3746 (create_type_decl): Remove attr_list parameter and associated code. | |
3747 (create_var_decl_1): Call process_attributes on the variable. | |
3748 (process_attributes): Take a pointer to the object and add in_place | |
3749 and gnat_node parameters and adjust throughout. | |
3750 <ATTR_MACHINE_ATTRIBUTE>: Pass ATTR_FLAG_TYPE_IN_PLACE only on demand | |
3751 and set the input location. | |
3752 Zap the attribute list at the end. | |
3753 (create_subprog_decl): Call process_attributes on the subprogram. | |
3754 (build_unc_object_type): Adjust call to create_type_decl. | |
3755 (handle_vector_type_attribute): Remove dead code. | |
3756 | |
3757 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3758 | |
3759 * gcc-interface/gigi.h (make_aligning_type): Adjust prototype. | |
3760 * gcc-interface/utils.c (make_aligning_type): Take GNAT_NODE parameter | |
3761 for the position of the associated TYPE_DECL. | |
3762 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to above. | |
3763 * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise. | |
3764 | |
3765 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3766 | |
3767 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not prematurely | |
3768 elaborate the full view of a type with a freeze node. | |
3769 * gcc-interface/trans.c (process_type): Add explicit predicate. | |
3770 | |
3771 2013-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
3772 | |
3773 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Always build the | |
3774 UNC variable for aliased objects with unconstrained nominal subtype. | |
3775 | |
3776 2013-05-24 Eric Botcazou <ebotcazou@adacore.com> | |
3777 | |
3778 * gcc-interface/gigi.h (gnat_init_gcc_fp): Declare. | |
3779 * gcc-interface/trans.c (gigi): Call it. | |
3780 * gcc-interface/misc.c (gnat_init_gcc_fp): New function. | |
3781 | |
3782 2013-05-24 Eric Botcazou <ebotcazou@adacore.com> | |
3783 | |
3784 * gcc-interface/gigi.h (enum inline_status_t): New type. | |
3785 (create_subprog_decl): Adjust prototype. | |
3786 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Adjust | |
3787 calls to create_subprog_decl. | |
3788 (get_minimal_subprog_decl): Likewise. | |
3789 * gcc-interface/trans.c (gigi): Likewise. | |
3790 (build_raise_check): Likewise. | |
3791 (establish_gnat_vms_condition_handler): Likewise. | |
3792 (Compilation_Unit_to_gnu): Likewise. | |
3793 (gnat_to_gnu): Likewise. | |
3794 * gcc-interface/utils.c (create_subprog_decl): Change inline_flag | |
3795 parameter to inline_status and implement for suppressed inlining. | |
3796 | |
3797 2013-05-24 Eric Botcazou <ebotcazou@adacore.com> | |
3798 | |
3799 * gcc-interface/ada-tree.h (LOOP_STMT_NO_UNROLL): New define. | |
3800 (LOOP_STMT_UNROLL): Likewise. | |
3801 (LOOP_STMT_NO_VECTOR): Likewise. | |
3802 (LOOP_STMT_VECTOR): Likewise. | |
3803 * gcc-interface/trans.c (struct loop_info_d): Replace label field | |
3804 with stmt field. | |
3805 (Pragma_to_gnu) <Pragma_Loop_Optimize>: New case. | |
3806 (Loop_Statement_to_gnu): Save the loop statement onto the stack | |
3807 instead of the label. | |
3808 (gnat_to_gnu) <N_Exit_Statement>: Retrieve the loop label. | |
3809 | |
3810 2013-05-24 Eric Botcazou <ebotcazou@adacore.com> | |
3811 | |
3812 * gcc-interface/trans.c: Include diagnostic.h and opts.h. | |
3813 (Pragma_to_gnu) <Pragma_Warnings>: New case. | |
3814 | |
3815 2013-05-24 Eric Botcazou <ebotcazou@adacore.com> | |
3816 | |
3817 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Constify | |
3818 a handful of local variables. | |
3819 For a derived untagged type that renames discriminants, change the type | |
3820 of the stored discriminants to a subtype with the bounds of the type | |
3821 of the visible discriminants. | |
3822 (build_subst_list): Rename local variable. | |
3823 | |
3824 2013-05-16 Jason Merrill <jason@redhat.com> | |
3825 | |
3826 * gcc-interface/Make-lang.in (gnat1$(exeext)): Use link mutex. | |
3827 | |
3828 2013-05-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
3829 | |
3830 PR ada/57188 | |
3831 * gcc-interface/Makefile.in: Allow for amd64 solaris2. | |
3832 | |
3833 2013-05-07 Eric Botcazou <ebotcazou@adacore.com> | |
3834 | |
3835 PR ada/56474 | |
3836 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use | |
3837 int_const_binop to shift bounds by 1 when they are integer constants. | |
3838 | |
3839 2013-04-25 Arnaud Charlet <charlet@adacore.com> | |
3840 | |
3841 * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b} | |
3842 | |
3843 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3844 | |
3845 * checks.adb (Apply_Predicate_Check): Update the comment associated | |
3846 with the call to Check_Expression_Against_Static_Predicate. | |
3847 * sem_ch3.adb (Analyze_Object_Declaration): Update the comment | |
3848 associated with the call to Check_Expression_Against_Static_Predicate. | |
3849 * sem_util.adb (Check_Expression_Against_Static_Predicate): | |
3850 Broaden the check from a static expression to an expression with | |
3851 a known value at compile time. | |
3852 * sem_util.ads (Check_Expression_Against_Static_Predicate): Update | |
3853 comment on usage. | |
3854 | |
3855 2013-04-25 Thomas Quinot <quinot@adacore.com> | |
3856 | |
3857 * exp_attr.adb (Expand_N_Attribute_Reference, cases Position, | |
3858 First_Bit, and Last_Bit): Fix incorrect test in implementation of | |
3859 RM 2005 13.5.2(3/2). | |
3860 | |
3861 2013-04-25 Claire Dross <dross@adacore.com> | |
3862 | |
3863 * a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb, | |
3864 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads | |
3865 (Query_Element): Removed. | |
3866 (Update_Element): Removed. | |
3867 (Insert): The version with no New_Item specified is removed. | |
3868 (Iterate): Removed. | |
3869 (Write): Removed. | |
3870 (Read): Removed. | |
3871 Every check of fields Busy and Lock has been removed. | |
3872 | |
3873 2013-04-25 Robert Dewar <dewar@adacore.com> | |
3874 | |
3875 * sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove | |
3876 call to S14_Pragma (Find_Related_Subprogram): Require proper | |
3877 placement in subprogram body (Find_Related_Subprogram): Detect | |
3878 duplicates for all cases (Find_Related_Subprogram): Handle case | |
3879 of spec nested inside body. | |
3880 | |
3881 2013-04-25 Arnaud Charlet <charlet@adacore.com> | |
3882 | |
3883 * par-prag.adb: Fix typo. | |
3884 | |
3885 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3886 | |
3887 * checks.adb (Apply_Predicate_Check): If the type has a static | |
3888 predicate and the expression is also static, check whether the | |
3889 expression satisfies the predicate. | |
3890 * sem_ch3.adb (Analyze_Object_Declaration): If the type has a | |
3891 static predicate and the expression is also static, see if the | |
3892 expression satisfies the predicate. | |
3893 * sem_util.adb: Alphabetize several routines. | |
3894 (Check_Expression_Against_Static_Predicate): New routine. | |
3895 * sem_util.ads (Check_Expression_Against_Static_Predicate): New routine. | |
3896 | |
3897 2013-04-25 Robert Dewar <dewar@adacore.com> | |
3898 | |
3899 * gnat_rm.texi: Document Reason argument for pragma Warnings. | |
3900 * par-prag.adb: Handle Reason parameter for pragma Warnings. | |
3901 * sem_prag.adb (Analyze_Pragma, case Warnings): Allow Reason argument. | |
3902 * snames.ads-tmpl (Name_Reason): New name entry. | |
3903 | |
3904 2013-04-25 Yannick Moy <moy@adacore.com> | |
3905 | |
3906 * exp_spark.adb (Expand_SPARK_N_In): Remove procedure. | |
3907 (Expand_SPARK): Remove special expansion for membership tests. | |
3908 | |
3909 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3910 | |
3911 * exp_ch3.adb (Expand_N_Object_Declaration): Update all places | |
3912 that should use constant Base_Typ. When building an invariant | |
3913 check, account for invariants coming from the base type. Prevent | |
3914 the creation of a junk invariant check when the related object | |
3915 is of an array type and it is initialized with an aggregate. | |
3916 * exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use | |
3917 the base type to create an invariant call when the type of the | |
3918 expression is a composite subtype. | |
3919 | |
3920 2013-04-25 Vasiliy Fofanov <fofanov@adacore.com> | |
3921 | |
3922 * a-cborse.adb: Fix minor typo. | |
3923 | |
3924 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
3925 | |
3926 * sem_ch6.adb (Different_Generic_Profile): A spec and body | |
3927 match in an instance if a subtype declaration that renames a | |
3928 generic actual with the same name appears between spec and body. | |
3929 | |
3930 2013-04-25 Robert Dewar <dewar@adacore.com> | |
3931 | |
3932 * sem_util.adb: Minor reformatting. | |
3933 | |
3934 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
3935 | |
3936 * exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to | |
3937 fold strings with a single others choice only if there are no | |
3938 expressions in the aggregate. | |
3939 | |
3940 2013-04-25 Arnaud Charlet <charlet@adacore.com> | |
3941 | |
3942 * gnat_ugn.texi: Update doc on Ada 2012 default mode. | |
3943 | |
3944 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3945 | |
3946 * exp_ch6.adb: Add with and use clause for Stringt. | |
3947 (Expand_Contract_Cases): Moved from sem_ch6. Add formal parameters | |
3948 Decls and Stmts along with comments on their usage. | |
3949 * exp_ch6.ads (Expand_Contract_Cases): Moved from sem_ch6. | |
3950 * sem_ch6.adb (Expand_Contract_Cases): Moved to exp_ch6. | |
3951 (Process_Contract_Cases): Update the call to Expand_Contract_Cases. | |
3952 | |
3953 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
3954 | |
3955 * gnat_rm.texi: Minor editing, to clarify use of dimension aspects. | |
3956 * sem_util.adb (Is_OK_Variable_For_Out_Formal): Reject an | |
3957 aggregate for a packed type, which may be converted into an | |
3958 unchecked conversion of an object. | |
3959 | |
3960 2013-04-25 Robert Dewar <dewar@adacore.com> | |
3961 | |
3962 * sem_prag.adb: Minor code reorganization (correct misspelling | |
3963 Restiction). | |
3964 * sem_util.adb, aspects.ads, sem_ch6.adb: Minor reformatting. | |
3965 * gnat_rm.texi: Document impl-defined aspects. | |
3966 * sem_dim.adb, sem_dim.ads, gnat_ugn.texi, s-dimmks.ads: Minor | |
3967 reformatting. | |
3968 | |
3969 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3970 | |
3971 * einfo.adb (Set_Abstract_States): The attribute now applies | |
3972 to generic packages. | |
3973 * sem_ch4.adb (Referenced): Moved to sem_util. | |
3974 * sem_ch7.adb (Unit_Requires_Body): A [generic] package with | |
3975 a non-null abstract state needs a body. | |
3976 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Update the calls | |
3977 to Collect_Subprogram_Inputs_Outputs. | |
3978 (Analyze_Global_Item): Verify the proper usage of an item with mode | |
3979 In_Out or Output relative to the enclosing context. | |
3980 (Analyze_Pragma): Abstract_State can now be applied to a generic | |
3981 package. Do not reset the Analyzed flag for pragmas Depends and Global | |
3982 as this is not needed. | |
3983 (Appears_In): Moved to library level. | |
3984 (Check_Mode_Restiction_In_Enclosing_Context): New routine. | |
3985 (Collect_Subprogram_Inputs_Outputs): Moved to library level. Add | |
3986 formal parameters Subp_Id, Subp_Inputs, Subp_Outputs and Global | |
3987 seen along with comments on usage. | |
3988 * sem_util.ads, sem_util.adb (Referenced): New routine. | |
3989 | |
3990 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
3991 | |
3992 * sem_ch6.adb (Expand_Contract_Cases): Generate | |
3993 detailed error messages only when switch -gnateE is in effect. | |
3994 | |
3995 2013-04-25 Yannick Moy <moy@adacore.com> | |
3996 | |
3997 * sem_attr.adb (Analyze_Attribute): Do not issue | |
3998 an error for a possibly misplaced 'Result or 'Old attribute when | |
3999 analyzing the aspect. | |
4000 | |
4001 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4002 | |
4003 * sem_ch12.adb, sem_util.adb, sem_ch4.adb: Minor reformatting. | |
4004 | |
4005 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4006 | |
4007 * sem_ch4.adb (Analyze_Quantified_Expression): | |
4008 Add local variable Loop_Id. Verify that the loop variable | |
4009 is used within the condition of the quantified expression. | |
4010 (Referenced): New routine. | |
4011 | |
4012 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4013 | |
4014 * sem_case.adb (Analyze_Choices): Enhance the error message | |
4015 given on a bad use of subtype predicate. | |
4016 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Enhance | |
4017 the error message given on a bad use of subtype predicate. | |
4018 * sem_util.adb (Bad_Predicated_Subtype_Use): Add formal parameter | |
4019 Suggest_Static. Emit an extra error message advising how to | |
4020 remedy the bad use of the predicate if the context warrants it. | |
4021 * sem_util.ads (Bad_Predicated_Subtype_Use): Add formal parameter | |
4022 Suggest_Static along with a comment explaining its usage. | |
4023 | |
4024 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4025 | |
4026 * sem_disp.adb (Check_Dispatching_Operation): Further refinement | |
4027 to checks for AI05-0125: the check for a hidden primitive that | |
4028 may be overridden by the new declaration only applies if the | |
4029 hidden operation is never declared. This is not the case if the | |
4030 operation is declared in a parent unit. | |
4031 | |
4032 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4033 | |
4034 * debug.adb: Remove d.X and d.Y entries and documentation. | |
4035 * exp_ch4.adb (Expand_N_If_Expression): Remove special code used | |
4036 if expression with actions not available (now always available). | |
4037 (Expand_Short_Circuit_Operator): Same change. | |
4038 * gnat1drv.adb (Adjust_Global_Switches) Remove setting | |
4039 Use_Expression_With_Actions flag, since this is now obsolete. | |
4040 * opt.ads (Use_Expression_Actions): Removed (always True now). | |
4041 * sinfo.ads: Minor comment updates. | |
4042 | |
4043 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4044 | |
4045 * sem_ch12.adb (Check_Generic_Actuals): If an actual is an array | |
4046 subtype whose base type is currently private, install full view | |
4047 when compiling instance body. | |
4048 | |
4049 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4050 | |
4051 * sem_disp.adb (Check_Dispatching_Operation): Refine checks for | |
4052 AI05-0125: the check for a hidden primitive that may be overridden | |
4053 by the new declaration is only performed if the declaration comes | |
4054 from source, and it must carry an explicit overriding indicator. | |
4055 | |
4056 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4057 | |
4058 * einfo.adb (Abstract_States): The attribute now applies to | |
4059 generic packages. | |
4060 * sem_ch3.adb (Analyze_Object_Declaration): Check whether an | |
4061 object declaration introduces an illegal hidden state. | |
4062 * sem_prag.adb (Analyze_Abstract_State): Check whether a state | |
4063 declaration introduces an illegal hidden state. | |
4064 * sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine. | |
4065 | |
4066 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4067 | |
4068 * exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may | |
4069 be to a protected function, in which case the name in the call | |
4070 is a selected component. | |
4071 | |
4072 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4073 | |
4074 * sem_ch4.adb (Analyze_Quantified_Expression): | |
4075 Warn on a suspicious use of quantifier "some" when "all" was meant. | |
4076 (No_Else_Or_Trivial_True): New routine. | |
4077 | |
4078 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4079 | |
4080 * einfo.ads, einfo.adb: Put back with/use for Namet. | |
4081 (Get_Pragma): New name (wi new spec) for Find_Pragma. | |
4082 * sem_ch6.adb: Change name Find_Pragma to Get_Pragma with | |
4083 different interface. | |
4084 | |
4085 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4086 | |
4087 * sem_ch3.adb (Is_Visible_Component): In an instance all | |
4088 components are visible. | |
4089 | |
4090 2013-04-25 Matthew Heaney <heaney@adacore.com> | |
4091 | |
4092 * a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for | |
4093 tampering when container empty. | |
4094 * a-crbtgk.adb (Ceiling, Find, Floor): ditto. | |
4095 (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint): | |
4096 ditto. | |
4097 | |
4098 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4099 | |
4100 * par-ch12.adb: Move aspects from package specification to | |
4101 generic package declaration. | |
4102 * sem_ch12.adb: Analyze aspect specifications before building | |
4103 and analyzing the generic copy, so that the generated pragmas | |
4104 are properly taken into account. | |
4105 * sem_ch13.adb: For compilation unit aspects that apply to a | |
4106 generic package declaration, insert corresponding pragmas ahead | |
4107 of visible declarations. | |
4108 * sprint.adb: Display properly the aspects of a generic type | |
4109 declaration. | |
4110 | |
4111 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4112 | |
4113 * frontend.adb: Minor reformatting. | |
4114 | |
4115 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4116 | |
4117 * einfo.ads: Extend documentation on use of Is_Private_Ancestor | |
4118 for untagged types. | |
4119 * sem_ch3.adb (Is_Visible_Component): Refine predicate for the | |
4120 case of untagged types derived from private types, to reject | |
4121 illegal selected components. | |
4122 | |
4123 2013-04-25 Gary Dismukes <dismukes@adacore.com> | |
4124 | |
4125 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test | |
4126 for case of selecting from an unexpanded implicit dereference | |
4127 and do not make a recursive call on such a prefix. | |
4128 | |
4129 2013-04-25 Doug Rupp <rupp@adacore.com> | |
4130 | |
4131 * targparm.adb (VXF{_Str}): New tag for vaxfloat. | |
4132 (Get_Target_Parameters): Handle VXF tag. | |
4133 * targparm.ads (VAX_Float_On_Target): New boolean. | |
4134 * system-vms-ia64.ads (VAX_Float): New boolean. | |
4135 * frontend.adb (Frontend): Handle VAX float boolean. | |
4136 | |
4137 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4138 | |
4139 * einfo.ads, einfo.adb: Remove with and use clauses for Namet. | |
4140 (Find_Pragma): New routine. | |
4141 * sem_util.ads, sem_util.adb (Find_Pragma): Moved to einfo. | |
4142 | |
4143 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4144 | |
4145 * sem_ch13.adb (Add_Call): Do not capture the nature of the inherited | |
4146 predicate. | |
4147 (Add_Predicates): Save the static predicate for diagnostics and error | |
4148 reporting purposes. | |
4149 (Process_PPCs): Remove local variables Dynamic_Predicate_Present and | |
4150 Static_Predicate_Present. Add local variable Static_Pred. Ensure that | |
4151 the expression of a static predicate is static. | |
4152 | |
4153 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4154 | |
4155 * einfo.adb (Is_Ghost_Subprogram): Remove useless code. | |
4156 | |
4157 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4158 | |
4159 * gnat_rm.texi: Minor addition of index entry. | |
4160 | |
4161 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4162 | |
4163 * sem_ch6.adb (Check_Access_Invariants): Test whether an | |
4164 invariant procedure is empty before generating a call to it. | |
4165 (Has_Enabled_Predicate): New routine. | |
4166 (Has_Null_Body): New routine. | |
4167 (Process_PPCs): Test whether an invariant procedure is | |
4168 empty before generating a call to it. Test whether predicates are | |
4169 enabled for a particular type before generating a predicate call. | |
4170 * sem_util.ads, sem_util.adb (Find_Pragma): New routine. | |
4171 | |
4172 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4173 | |
4174 * sem_ch7.adb, einfo.adb, repinfo.adb, snames.adb-tmpl, | |
4175 snames.ads-tmpl: Minor reformatting. | |
4176 | |
4177 2013-04-25 Thomas Quinot <quinot@adacore.com> | |
4178 | |
4179 * sem_ch7.adb: Minor reformatting. | |
4180 | |
4181 2013-04-25 Robert Dewar <dewar@adacore.com> | |
4182 | |
4183 * gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed). | |
4184 * s-tarest.adb: Minor reformatting. | |
4185 | |
4186 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
4187 | |
4188 * aspects.ads, aspects.adb: Remove aspect Ghost from all relevant | |
4189 tables. | |
4190 * einfo.adb: Remove with and use clause for Aspects. | |
4191 (Is_Ghost_Function): Removed. | |
4192 (Is_Ghost_Entity): New routine. | |
4193 (Is_Ghost_Subprogram): New routine. | |
4194 * einfo.ads: Remove synthesized attribute Is_Ghost_Function | |
4195 along with its uses in entities. Add synthesized attributes | |
4196 Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related | |
4197 entities. | |
4198 (Is_Ghost_Function): Removed. | |
4199 (Is_Ghost_Entity): New routine. | |
4200 (Is_Ghost_Subprogram): New routine. | |
4201 * par-prag.adb: Remove pragma Ghost from the processing machinery. | |
4202 * repinfo.adb (List_Mechanisms): Add a value for convention Ghost. | |
4203 * sem_attr.adb (Analyze_Access_Attribute): Update the check | |
4204 for ghost subprograms. | |
4205 * sem_ch4.adb (Analyze_Call): Update the check for calls | |
4206 to ghost subprograms. | |
4207 (Check_Ghost_Function_Call): Removed. | |
4208 (Check_Ghost_Subprogram_Call): New routine. | |
4209 * sem_ch6.adb (Check_Convention): Rewritten. | |
4210 (Check_Overriding_Indicator): Remove the check for overriding | |
4211 ghost functions. | |
4212 (Convention_Of): New routine. | |
4213 * sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost | |
4214 generic actual subprograms. | |
4215 * sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost. | |
4216 * sem_prag.adb: Remove the value for pragma Ghost from | |
4217 table Sig_Flags. | |
4218 (Analyze_Pragma): Remove the processing for pragma Ghost. | |
4219 (Process_Convention): Emit an error when a ghost | |
4220 subprogram attempts to override. | |
4221 (Set_Convention_From_Pragma): Emit an error when a ghost subprogram | |
4222 attempts to override. | |
4223 * sinfo.ads: Clarify the usage of field Label_Construct. | |
4224 * snames.adb-tmpl (Get_Convention_Id): Add an entry for | |
4225 predefined name Ghost. | |
4226 (Get_Convention_Name): Add an entry for convention Ghost. | |
4227 * snames.ads-tmpl: Move predefined name Ghost to the sublist | |
4228 denoting conventions. Add convention id Ghost. Remove pragma | |
4229 id Ghost. | |
4230 | |
4231 2013-04-25 Ed Schonberg <schonberg@adacore.com> | |
4232 | |
4233 * sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child | |
4234 units if within a generic hierarchy. | |
4235 | |
4236 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4237 | |
4238 * exp_ch6.adb (Expand_Actuals): Add a predicate check on an | |
4239 actual the related type has a predicate function. | |
4240 * sem_ch3.adb (Constant_Redeclaration): Ensure that the related | |
4241 type has an invariant procedure before building a call to it. | |
4242 * sem_ch6.adb (Append_Enabled_Item): New routine. | |
4243 (Check_Access_Invariants): Use routine | |
4244 Append_Enabled_Item to chain onto the list of postconditions. | |
4245 (Contains_Enabled_Pragmas): Removed. | |
4246 (Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto | |
4247 the list of postconditions. | |
4248 (Invariants_Or_Predicates_Present): Removed. | |
4249 (Process_PPCs): Partially reimplemented. | |
4250 | |
4251 2013-04-24 Sergey Rybin <rybin@adacore.com frybin> | |
4252 | |
4253 * tree_io.ads: Update ASIS_Version_Number because of changes | |
4254 in the way how entities are chained in a scope by means of | |
4255 Next_Entity link. | |
4256 | |
4257 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4258 | |
4259 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case | |
4260 Storage_Size): If the clause is not from an aspect, insert | |
4261 assignment to size variable of task type at the point of the | |
4262 clause, not after the task definition, to prevent access before | |
4263 elaboration in the back-end. | |
4264 | |
4265 2013-04-24 Yannick Moy <moy@adacore.com> | |
4266 | |
4267 * sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume. | |
4268 | |
4269 2013-04-24 Yannick Moy <moy@adacore.com> | |
4270 | |
4271 * gnat_rm.texi: Document 'Loop_Entry. | |
4272 | |
4273 2013-04-24 Jose Ruiz <ruiz@adacore.com> | |
4274 | |
4275 * s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for | |
4276 fall-back termination handlers from the parents, because they apply | |
4277 only to dependent tasks. | |
4278 * s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back | |
4279 termination handlers because the environment task has no parent, | |
4280 and if it defines one of these handlers it does not apply to | |
4281 itself because they apply only to dependent tasks. | |
4282 | |
4283 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4284 | |
4285 * sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting. | |
4286 | |
4287 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4288 | |
4289 * gnat_rm.texi: Document 'Update attribute. | |
4290 * sem_attr.adb (Analyze_Attribute, case Update): Remove call | |
4291 to S14_Attribute (S14_Attribute): removed. | |
4292 | |
4293 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4294 | |
4295 * interfac.ads: Add size clauses for IEEE_Float_32/64 | |
4296 | |
4297 2013-04-24 Claire Dross <dross@adacore.com> | |
4298 | |
4299 * gnat1drv.adb (Adjust_Global_Switches): Remove | |
4300 special assignment of Use_Expression_With_Actions for SPARK_Mode. | |
4301 | |
4302 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4303 | |
4304 * checks.adb (Apply_Predicate_Check): Check for the presence | |
4305 of the dynamic predicate aspect when trying to determine if the | |
4306 predicate of a type is non-static. | |
4307 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check | |
4308 for the presence of the dynamic predicate aspect when trying to | |
4309 determine if the predicate of a type is non- static. | |
4310 * sem_ch13.adb (Add_Call): Capture the nature of the | |
4311 inherited ancestor predicate. | |
4312 (Build_Predicate_Functions): Update comments. Rewrite the checks on | |
4313 static predicate application. Complain about the form of a non-static | |
4314 expression only when the type is static. | |
4315 | |
4316 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4317 | |
4318 * sem_prag.adb: Add guard to tree traversal. | |
4319 | |
4320 2013-04-24 Vincent Celier <celier@adacore.com> | |
4321 | |
4322 * clean.adb (Clean): Remove local variable Root_Environment, | |
4323 use Makeutl.Root_Environment instead. | |
4324 * gnatcmd.adb: Remove local variable Root_Environment, use | |
4325 Makeutl.Root_Environment instead. | |
4326 * make.adb (Gnatmake): Remove local variable Root_Environment, | |
4327 use Makeutl.Root_Environment instead. | |
4328 * prj-makr.adb: Remove local variable Root_Environment, use | |
4329 Makeutl.Root_Environment instead. | |
4330 | |
4331 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4332 | |
4333 * exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the | |
4334 extraction of the declarative part of the conditional block. Move | |
4335 the processing of simple infinite loops to the start of the | |
4336 expansion logic. Correct the check which determines whether the | |
4337 proper scope is installed in visibility. | |
4338 * sem_attr.adb (Analyze_Attribute): Add local variable Attr | |
4339 to keep track of the attribute in case the enclosing indexed | |
4340 component has to be rewritten. When searching for the enclosing | |
4341 loop, start from the proper attribute reference in case of a | |
4342 rewriting. Do not allow for 'Loop_Entry to appear in pragma | |
4343 Assert. Replace loop variable J with Index. Set the type of the | |
4344 proper attribute. | |
4345 * sem_ch5.adb (Check_Unreachable_Code): Detect a specialized | |
4346 block that services a loop statement subject to at least one | |
4347 'Loop_Entry attribute. | |
4348 | |
4349 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4350 | |
4351 * sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to | |
4352 resolve a fixed point operation, use first subtype to determine | |
4353 whether type and operator are declared in the same list of | |
4354 declarations. | |
4355 | |
4356 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4357 | |
4358 * par-ch6.adb (P_Subprogram): Detect an illegal | |
4359 placement of the aspect specification list in the context of | |
4360 expression functions. | |
4361 | |
4362 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4363 | |
4364 * exp_ch4.adb (Expand_N_Allocator): If the designated object | |
4365 has tasks, and the pointer type is an itype that has no master | |
4366 id, create a master renaming in the current context, which can | |
4367 only be an init_proc. | |
4368 | |
4369 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4370 | |
4371 * sem_ch3.adb, sem_ch7.adb: Minor reformatting. | |
4372 * gnat_rm.texi: Document pragma Loop_Invariant. | |
4373 * sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is | |
4374 no longer an S14_Attribute. | |
4375 * sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine | |
4376 processing with Assert, allow message parameter, remove call | |
4377 to S14_Pragma. | |
4378 | |
4379 2013-04-24 Thomas Quinot <quinot@adacore.com> | |
4380 | |
4381 * exp_ch4.adb: Minor reformatting. | |
4382 | |
4383 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4384 | |
4385 * sem_ch7.adb (Swap_Private_Dependents): New internal routine | |
4386 to Install_Private_Declarations, to make the installation of | |
4387 private dependents recursive in the presence of child units. | |
4388 * sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly | |
4389 the Private_Dependents of a private subtype. | |
4390 | |
4391 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4392 | |
4393 * exp_attr.adb (Expand_Loop_Entry_Attribute): Update the | |
4394 retrieval of the block declarations. | |
4395 * par-ch4.adb (P_Name): Let the name parsing machinery create | |
4396 a sequence of nested indexed components for attribute Loop_Entry. | |
4397 * sem_attr.adb (Analyze_Attribute): Add local constant | |
4398 Context. Reimplement part of the analysis of attribute Loop_Entry. | |
4399 (Convert_To_Indexed_Component): Removed. | |
4400 * sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze | |
4401 an indexed component after it has been rewritten into attribute | |
4402 Loop_Entry. | |
4403 | |
4404 2013-04-24 Yannick Moy <moy@adacore.com> | |
4405 | |
4406 * snames.ads-tmpl: Minor change to list | |
4407 Loop_(In)variant not in configuration pragma. | |
4408 * sem_ch3.adb (Analyze_Declarations): Do not look at the original node | |
4409 for analyzing the expressions in pre/postconditions. | |
4410 | |
4411 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4412 | |
4413 * gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor | |
4414 reformatting. | |
4415 | |
4416 2013-04-24 Yannick Moy <moy@adacore.com> | |
4417 | |
4418 * sem_ch6.adb (Analyze_Generic_Subprogram_Body, | |
4419 Analyze_Subprogram_Body_Helper): Reset contract node to Empty | |
4420 before setting entity to E_Subprogram_Body. | |
4421 * sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to | |
4422 Empty before setting entity to E_Subprogram_Body. | |
4423 | |
4424 2013-04-24 Vincent Celier <celier@adacore.com> | |
4425 | |
4426 * gnat_ugn.texi: Document new gnatls switch -aPdir. | |
4427 * gnatcmd.adb: Pass switch -aP<dir> to gnatls. | |
4428 * gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue | |
4429 a warning for unknown switches. | |
4430 (Usage): Add line for new switch -aPdir. | |
4431 | |
4432 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4433 | |
4434 * sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true | |
4435 if the type comes from a limited view, so that task attributes can be | |
4436 constructed. | |
4437 | |
4438 2013-04-24 Yannick Moy <moy@adacore.com> | |
4439 | |
4440 * checks.adb (Apply_Float_Conversion_Check): Do not apply checks if | |
4441 full expansion is not enabled. | |
4442 | |
4443 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4444 | |
4445 * sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra | |
4446 formals if the type does not yet have a completion, and thus | |
4447 has no underlying view. | |
4448 | |
4449 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4450 | |
4451 * sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect | |
4452 specification for Address as a reference, to suppress warnings | |
4453 on entities that may be read by an external device. | |
4454 | |
4455 2013-04-24 Sergey Rybin <rybin@adacore.com frybin> | |
4456 | |
4457 * gnat_ugn.texi: Add description of '--help' and '--version' | |
4458 options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp. | |
4459 | |
4460 2013-04-24 Arnaud Charlet <charlet@adacore.com> | |
4461 | |
4462 * gnat_rm.texi: Minor syntax fix. | |
4463 | |
4464 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4465 | |
4466 * exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on | |
4467 what and why is being analyzed. Remove the decoration of renamings as | |
4468 this simply falls out of the general analysis mechanism. | |
4469 | |
4470 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4471 | |
4472 * sem_res.adb (Explain_Redundancy): New routine. | |
4473 (Resolve_Equality_Op): Place the error concerning a redundant | |
4474 comparison to True at the "=". Try to explain the nature of the | |
4475 redundant True. | |
4476 | |
4477 2013-04-24 Javier Miranda <miranda@adacore.com> | |
4478 | |
4479 | |
4480 * checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No | |
4481 check in interface thunks since it is performed at the caller | |
4482 side. | |
4483 (Expand_Simple_Function_Return): No accessibility check | |
4484 needed in thunks since the check is done by the target routine. | |
4485 | |
4486 2013-04-24 Vincent Celier <celier@adacore.com> | |
4487 | |
4488 * xref_lib.adb (Add_Entity): Use the canonical file names | |
4489 so that source file names with capital letters are found on | |
4490 platforms where file names are case insensitive. | |
4491 | |
4492 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4493 | |
4494 * par-ch4.adb (P_Name): Continue to parse the name extension when the | |
4495 construct is attribute Loop_Entry. Do not convert the attribute | |
4496 reference into an indexed component when there is at least one | |
4497 expression / range following 'Loop_Entry. | |
4498 | |
4499 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4500 | |
4501 * sem_ch6.adb (Contains_Enabled_Pragmas): New routine. | |
4502 (Process_PPCs): Generate procedure _Postconditions | |
4503 only when the context has invariants or predicates or enabled | |
4504 aspects/pragmas. | |
4505 | |
4506 2013-04-24 Thomas Quinot <quinot@adacore.com> | |
4507 | |
4508 * g-socket.adb (Host_Entry): Introduce intermediate copy of | |
4509 memory location pointed to by Hostent_H_Addr, as it might not | |
4510 have sufficient alignment. | |
4511 | |
4512 2013-04-24 Yannick Moy <moy@adacore.com> | |
4513 | |
4514 * repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before | |
4515 calling subprograms which may read it. | |
4516 | |
4517 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4518 | |
4519 * einfo.adb: Remove Loop_Entry_Attributes from the usage of | |
4520 nodes. Flag 260 is now used. | |
4521 (Has_Loop_Entry_Attributes): New routine. | |
4522 (Loop_Entry_Attributes): Removed. | |
4523 (Set_Has_Loop_Entry_Attributes): New routine. | |
4524 (Set_Loop_Entry_Attributes): Removed. | |
4525 (Write_Entity_Flags): Write out Flag 260. | |
4526 (Write_Field10_Name): Remove the output for Loop_Entry_Attributes. | |
4527 * einfo.ads: Remove attribute Loop_Entry_Attributes, | |
4528 its related comment and uses in nodes. Add new attribute | |
4529 Has_Loop_Entry_Attributes, related comment and uses in loop nodes. | |
4530 (Has_Loop_Entry_Attributes): New routine and pragma Inline. | |
4531 (Loop_Entry_Attributes): Removed along with pragma Inline. | |
4532 (Set_Has_Loop_Entry_Attributes): New routine and pragma Inline. | |
4533 (Set_Loop_Entry_Attributes): Removed along with pragma Inline. | |
4534 * exp_attr.adb (Expand_Loop_Entry_Attribute): New routine. | |
4535 (Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry. | |
4536 * exp_ch5.adb: Remove with and use clause for Elists. | |
4537 (Expand_Loop_Entry_Attributes): Removed. | |
4538 (Expand_N_Loop_Statement): Add local variable Stmt. Rename local | |
4539 constant Isc to Scheme. When a loop is subject to attribute | |
4540 'Loop_Entry, retrieve the nested loop from the conditional | |
4541 block. Move the processing of controlled object at the end of | |
4542 loop expansion. | |
4543 * sem_attr.adb (Analyze_Attribute): Do not chain attribute | |
4544 'Loop_Entry to its related loop. | |
4545 * sem_ch5.adb (Analyze_Loop_Statement): Add local variable | |
4546 Stmt. When the iteration scheme mentions attribute 'Loop_Entry, | |
4547 the entire loop is rewritten into a block. Retrieve the nested | |
4548 loop in such cases to complete the analysis. | |
4549 * sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New | |
4550 routine. | |
4551 (Subject_To_Loop_Entry_Attributes): New routine. | |
4552 | |
4553 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4554 | |
4555 * exp_prag.adb (Expand_Loop_Variant): Generate pragma Check | |
4556 (Loop_Variant, xxx) rather than Assert (xxx). | |
4557 * gnat_rm.texi: Document pragma Loop_Variant. | |
4558 * sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call | |
4559 to S14_Pragma. | |
4560 | |
4561 2013-04-24 Yannick Moy <moy@adacore.com> | |
4562 | |
4563 * adabkend.adb, ali-util.adb, ali.adb, debug.adb, | |
4564 errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb, | |
4565 exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb, | |
4566 expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb, | |
4567 lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads, | |
4568 restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb, | |
4569 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb, | |
4570 sem_res.adb, sem_util.adb: Everything with name | |
4571 'Alfa' renamed in 'SPARK'. Update comments. | |
4572 Renaming of units with name 'Alfa', renamed with 'SPARK' instead. | |
4573 * exp_alfa.adb: renamed exp_spark.adb. | |
4574 * exp_alfa.ads: renamed exp_spark.ads. | |
4575 * get_alfa.adb: renamed get_spark_xrefs.adb. | |
4576 * get_alfa.ads: renamed get_spark_xrefs.ads. | |
4577 * lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb. | |
4578 * put_alfa.adb: renamed put_spark_xrefs.adb. | |
4579 * put_alfa.ads: renamed put_spark_xrefs.ads. | |
4580 * alfa.adb: renamed spark_xrefs.adb. | |
4581 * alfa.ads: renamed spark_xrefs.ads. | |
4582 * alfa_test.adb: renamed spark_xrefs_test.adb. | |
4583 * gcc-interface/Make-lang.in: Update dependencies. | |
4584 | |
4585 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4586 | |
4587 * gnat_rm.texi: Document pragma Assume. | |
4588 * sem_prag.adb (Analyze_Pragma, case Assume): Now processed as | |
4589 part of Assert, and no longer requires -gnatd.F | |
4590 | |
4591 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4592 | |
4593 * gnat_rm.texi: Document pragma Assert_And_Cut. | |
4594 * sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove | |
4595 S14_Pragma call. | |
4596 | |
4597 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4598 | |
4599 * sem_aux.adb: Add guard in Available_View. | |
4600 | |
4601 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4602 | |
4603 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Use | |
4604 Find_Related_Subprogram to find the associated subprogram. | |
4605 (Analyze_Global_In_Decl_List): Use Find_Related_Subprogram | |
4606 to find the associated subprogram. | |
4607 (Analyze_Pragma): Use Find_Related_Subprogram to find the associated | |
4608 subprogram. | |
4609 | |
4610 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4611 | |
4612 * exp_ch6.adb: Remove with and use clause for Sem_Prag. | |
4613 (Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze | |
4614 the contract of a subprogram. | |
4615 * sem_ch3.adb: Remove with and use clause for Sem_Prag. | |
4616 (Analyze_Declarations): Call Analyze_Subprogram_Contract to | |
4617 analyze the contract of a subprogram. | |
4618 * sem_ch6.adb (Analyze_Subprogram_Contract): New routine. | |
4619 (Check_Subprogram_Contract): Removed. | |
4620 * sem_ch6.ads (Analyze_Subprogram_Contract): New routine. | |
4621 (Check_Subprogram_Contract): Removed. | |
4622 (Expand_Contract_Cases): Add a guard against malformed contract cases. | |
4623 * sem_ch13.adb (Analyze_Aspect_Specifications): Call | |
4624 Decorate_Delayed_Aspect_And_Pragma to decorate aspects | |
4625 Contract_Cases, Depends and Global. Reimplement the analysis of | |
4626 aspect Contract_Cases. | |
4627 (Decorate_Delayed_Aspect_And_Pragma): New routine. | |
4628 * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine. | |
4629 (Analyze_CTC_In_Decl_Part): Removed. | |
4630 (Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases. | |
4631 (Analyze_Test_Case_In_Decl_Part): New routine. | |
4632 (Find_Related_Subprogram): New routine. | |
4633 (Requires_Profile_Installation): Add new formal Prag. Update | |
4634 the logic to take into account the origin of the pragma. | |
4635 * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine. | |
4636 (Analyze_CTC_In_Decl_Part): Removed. | |
4637 (Analyze_Test_Case_In_Decl_Part): New routine. | |
4638 | |
4639 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4640 | |
4641 * sem_prag.adb (Process_Convention): Move Stdcall tests to | |
4642 Set_Convention_From_Pragma so that they are applied to each | |
4643 entry of a homonym set. | |
4644 (Process_Convention): Don't try to set convention if already set. | |
4645 | |
4646 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4647 | |
4648 * gnatbind.adb: Minor reformatting. | |
4649 | |
4650 2013-04-24 Vincent Celier <celier@adacore.com> | |
4651 | |
4652 * clean.adb (Gnatclean): Add the default project search | |
4653 directories in the project search path after scanning the | |
4654 switches on the command line. | |
4655 (Initialize): Do not put the default project search directories in the | |
4656 project search path. | |
4657 * gnatcmd.adb (GNATcmd): Add the default project search | |
4658 directories in the project search path after scanning the switches | |
4659 on the command line. | |
4660 * make.adb (Initialize): Add the default project search | |
4661 directories in the project search path after scanning the switches | |
4662 on the command line. | |
4663 | |
4664 2013-04-24 Yannick Moy <moy@adacore.com> | |
4665 | |
4666 * restrict.ads (Restriction_Warnings): Initialize with all False value. | |
4667 | |
4668 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4669 | |
4670 * checks.ads, checks.adb (Predicate_Checks_Suppressed): New function. | |
4671 * exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of | |
4672 Predicate_Check. | |
4673 * snames.ads-tmpl (Name_Predicate_Check): New check name. | |
4674 * types.ads (Predicate_Check): New definition. | |
4675 * gnat_rm.texi: Add documentation for Predicate_Check. | |
4676 | |
4677 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4678 | |
4679 * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this | |
4680 is a renaming of predefined equality for an untagged record, | |
4681 add generated body to the freeze actions for the subprogram, to | |
4682 prevent freezing issues when the record has incomplete components. | |
4683 * exp_ch4.adb (Expand_Composite_Equality): If the type is a type | |
4684 without completion, return a predefined comparison instead of | |
4685 just False. This may happen when building the expression for | |
4686 record equality, when some component has a type whose completion | |
4687 has not been seen yet. The operation will be analyzed an expanded | |
4688 after the type has been frozen, at which point all component | |
4689 types will have been completed, or an error reported. | |
4690 | |
4691 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4692 | |
4693 * sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay | |
4694 analysis of a Convention aspect. | |
4695 | |
4696 2013-04-24 Eric Botcazou <ebotcazou@adacore.com> | |
4697 | |
4698 * fe.h (Machine_Overflows_On_Target): New macro and declaration. | |
4699 (Signed_Zeros_On_Target): Likewise. | |
4700 | |
4701 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4702 | |
4703 * exp_ch6.adb: Add with and use clause for Sem_Prag. | |
4704 (Freeze_Subprogram): Analyze all delayed aspects for a null | |
4705 procedure so that they are available when analyzing the | |
4706 internally-generated _Postconditions routine. | |
4707 * exp_ch13.adb: Remove with and use clause for Sem_Prag. | |
4708 (Expand_N_Freeze_Entity): Move the code that analyzes delayed | |
4709 aspects of null procedures to exp_ch6.Freeze_Subprogram. | |
4710 * sem_prag.adb (Analyze_Abstract_State): Update the check on | |
4711 volatile requirements. | |
4712 | |
4713 2013-04-24 Bob Duff <duff@adacore.com> | |
4714 | |
4715 * ali-util.ads (Source_Record): New component Stamp_File | |
4716 to record from whence the Stamp came. | |
4717 * ali-util.adb (Set_Source_Table): Set Stamp_File component. | |
4718 * bcheck.adb (Check_Consistency): Print additional information in | |
4719 Verbose_Mode. | |
4720 * gnatbind.adb (Gnatbind): Print additional information in | |
4721 Verbose_Mode. | |
4722 | |
4723 2013-04-24 Robert Dewar <dewar@adacore.com> | |
4724 | |
4725 * exp_ch13.adb, sem_prag.adb: Update comments. | |
4726 * sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor | |
4727 reformatting. | |
4728 | |
4729 2013-04-24 Doug Rupp <rupp@adacore.com> | |
4730 | |
4731 * vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior. | |
4732 | |
4733 2013-04-24 Yannick Moy <moy@adacore.com> | |
4734 | |
4735 * sinfo.ads: Minor correction of typo. | |
4736 | |
4737 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4738 | |
4739 * sem_ch3.adb: Create packed array only when expander is | |
4740 active. | |
4741 | |
4742 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> | |
4743 | |
4744 * sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only | |
4745 when the context warrants it. | |
4746 (Analyze_Global_In_Decl_List): Install the formals only when | |
4747 the context warrants it. | |
4748 (Requires_Profile_Installation): New routine. | |
4749 | |
4750 2013-04-24 Ed Schonberg <schonberg@adacore.com> | |
4751 | |
4752 * exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return | |
4753 type is a discriminated private type that does not require use | |
4754 of the secondary stack, a constrained subtype of the underlying | |
4755 type is created to convey the proper object size to the backend. | |
4756 If the return type is originally a private type, the return | |
4757 expression is wrapped in an unchecked_conversion. If the return | |
4758 expression is used subsequently in a call to the postcondition | |
4759 function, this conversion must be undone to prevent a spurious | |
4760 error on the analysis of that call. | |
4761 | |
4762 2013-04-23 Kai Tietz <ktietz@redhat.com> | |
4763 | |
4764 PR target/55445 | |
4765 * raise-gcc.c (__SEH__): Additional check that SjLj isn't active. | |
4766 | |
4767 2013-04-23 Eric Botcazou <ebotcazou@adacore.com> | |
4768 Pascal Obry <obry@adacore.com> | |
4769 | |
4770 * gcc-interface/Makefile.in (targ): Fix target name check. | |
4771 (../../gnatmake$(exeext)): Add '+' for LTO. | |
4772 (../../gnatlink$(exeext)): Likewise. | |
4773 | |
4774 2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> | |
4775 | |
4776 * exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of | |
4777 pre- and post-conditions. | |
4778 (Expand_N_Task_Type_Declaration): | |
4779 Use the correct attribute to check for pre- and post-conditions. | |
4780 * exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of | |
4781 pre- and post-conditions. Analyze delayed classification items. | |
4782 * freeze.adb (Freeze_Entity): Use the correct attribute to | |
4783 check for pre- and post- conditions. | |
4784 * sem_ch3.adb (Analyze_Declarations): Correct the traversal | |
4785 of pre- and post-conditions as well as contract- and | |
4786 test-cases. Analyze delayed pragmas Depends and Global. | |
4787 * sem_ch6.adb (Check_Subprogram_Contract): Use the correct | |
4788 attribute to check for pre- and post-conditions, as well as | |
4789 contract-cases and test-cases. (List_Inherited_Pre_Post_Aspects): | |
4790 Correct the traversal of pre- and post- conditions. | |
4791 (Process_Contract_Cases): Update the comment on usage. Correct | |
4792 the traversal of contract-cases. | |
4793 (Process_Post_Conditions): Update the comment on usage. Correct the | |
4794 traversal of pre- and post-conditions. | |
4795 (Process_PPCs): Correct the traversal of pre- and post-conditions. | |
4796 (Spec_Postconditions): Use the correct | |
4797 attribute to check for pre- and post- conditions, as well as | |
4798 contract-cases and test-cases. | |
4799 * sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the | |
4800 actions related to aspects Depends and Global. Code refactoring | |
4801 for pre- and post-conditions. | |
4802 (Insert_Delayed_Pragma): New routine. | |
4803 * sem_prag.adb (Add_Item): New routine. | |
4804 (Analyze_Depends_In_Decl_Part): New routine. | |
4805 (Analyze_Global_In_Decl_Part): New routine. | |
4806 (Analyze_Pragma): Reimplement the actions related to aspects Depends and | |
4807 Global. Verify that a body acts as a spec for pragma Contract_Cases. | |
4808 (Chain_PPC): Use Add_Contract_Item to chain a pragma. | |
4809 (Chain_CTC): Correct the traversal of contract- | |
4810 and test-cases. Use Add_Contract_Item to chain a pragma. | |
4811 (Chain_Contract_Cases): Correct the traversal of contract- | |
4812 and test-cases. Use Add_Contract_Item to chain a pragma. | |
4813 (Check_Precondition_Postcondition): Update the comment on usage. | |
4814 (Check_Test_Case): Update the comment on usage. | |
4815 * sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine. | |
4816 (Analyze_Global_In_Decl_Part): New routine. | |
4817 * sem_util.ads, sem_util.adb (Add_Contract_Item): New routine. | |
4818 * sinfo.adb (Classifications): New routine. | |
4819 (Contract_Test_Cases): New routine. | |
4820 (Pre_Post_Conditions): New routine. | |
4821 (Set_Classifications): New routine. | |
4822 (Set_Contract_Test_Cases): New routine. | |
4823 (Set_Pre_Post_Conditions): New routine. | |
4824 (Set_Spec_CTC_List): Removed. | |
4825 (Set_Spec_PPC_List): Removed. | |
4826 (Spec_CTC_List): Removed. | |
4827 (Spec_PPC_List): Removed. | |
4828 * sinfo.ads: Update the structure of N_Contruct along with all | |
4829 related comments. | |
4830 (Classifications): New routine and pragma Inline. | |
4831 (Contract_Test_Cases): New routine and pragma Inline. | |
4832 (Pre_Post_Conditions): New routine and pragma Inline. | |
4833 (Set_Classifications): New routine and pragma Inline. | |
4834 (Set_Contract_Test_Cases): New routine and pragma Inline. | |
4835 (Set_Pre_Post_Conditions): New routine and pragma Inline. | |
4836 (Set_Spec_CTC_List): Removed. | |
4837 (Set_Spec_PPC_List): Removed. | |
4838 (Spec_CTC_List): Removed. | |
4839 (Spec_PPC_List): Removed. | |
4840 | |
4841 2013-04-23 Doug Rupp <rupp@adacore.com> | |
4842 | |
4843 * init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2 | |
4844 to account for LIB$STOP not having the chance to add the PC and | |
4845 PSL fields. | |
4846 | |
4847 2013-04-23 Robert Dewar <dewar@adacore.com> | |
4848 | |
4849 * sem_ch13.adb: Minor code reorganization (remove some redundant | |
4850 assignments). | |
4851 * sem_ch3.adb, sem_prag.adb: Minor reformatting. | |
4852 | |
4853 2013-04-23 Yannick Moy <moy@adacore.com> | |
4854 | |
4855 * einfo.ads: Minor typo fix. | |
4856 * sem_ch13.adb (Build_Predicate_Functions): Reject cases where | |
4857 Static_Predicate is applied to a non-scalar or non-static type. | |
4858 * sem_prag.adb: Minor typo fix. | |
4859 | |
4860 2013-04-23 Doug Rupp <rupp@adacore.com> | |
4861 | |
4862 * init.c (GNAT$STOP) [VMS]: New function. | |
4863 | |
4864 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
4865 | |
4866 * sem_ch3.adb: Add exp_pakd to context. | |
4867 (Constrain_Component_Type): If the component of the parent is | |
4868 packed, and the record subtype being built is already frozen, | |
4869 as is the case for an itype, the component type itself will not | |
4870 be frozen, and the packed array type for it must be constructed | |
4871 explicitly. | |
4872 | |
4873 2013-04-23 Thomas Quinot <quinot@adacore.com> | |
4874 | |
4875 * g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram. | |
4876 | |
4877 2013-04-23 Yannick Moy <moy@adacore.com> | |
4878 | |
4879 * err_vars.ads (Error_Msg_Qual_Level): Set variable to zero | |
4880 at declaration. | |
4881 * opt.ads (Multiple_Unit_Index): Set variable to zero at declaration. | |
4882 * sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration. | |
4883 * set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration. | |
4884 * stylesw.adb (Save_Style_Check_Options): Protect testing the | |
4885 value of Style_Check_Comments_Spacing by a previous test that | |
4886 Style_Check_Comments is True. | |
4887 | |
4888 2013-04-23 Thomas Quinot <quinot@adacore.com> | |
4889 | |
4890 * sem_prag.adb, sem_prag.ads (Effective_Name): Rename to | |
4891 Original_Name, and move declaration to package body as this | |
4892 subprogram is not used from outside. Also clarify documentation. | |
4893 | |
4894 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
4895 | |
4896 * exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with | |
4897 initialize_scalars, disable predicate checks on the generated | |
4898 assignment to an out scalar parameter. | |
4899 | |
4900 2013-04-23 Gary Dismukes <dismukes@adacore.com> | |
4901 | |
4902 * sem_ch4.adb (Analyze_Allocator): Remove error | |
4903 check for "constrained in partial view" constraints entirely. | |
4904 | |
4905 2013-04-23 Robert Dewar <dewar@adacore.com> | |
4906 | |
4907 * einfo.ads, sem_prag.ads: Minor reformatting. | |
4908 * errout.ads: Comment update. | |
4909 | |
4910 2013-04-23 Yannick Moy <moy@adacore.com> | |
4911 | |
4912 * exp_ch5.adb: Minor typo. | |
4913 | |
4914 2013-04-23 Thomas Quinot <quinot@adacore.com> | |
4915 | |
4916 * gnat_ugn.texi: Fix typo. | |
4917 | |
4918 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
4919 | |
4920 * einfo.ads: Minor documentation clarification. | |
4921 | |
4922 2013-04-23 Bob Duff <duff@adacore.com> | |
4923 | |
4924 * types.ads: Fix incorrect comment. | |
4925 | |
4926 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
4927 | |
4928 * sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View): | |
4929 Rename subprogram as Object_Type_Has_Constrained_Partial_View, better | |
4930 description of purpose. | |
4931 * checks.adb (Apply_Discriminant_Check): Use above renaming. | |
4932 * sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View | |
4933 of the base type, rather than using the Object_Type predicate. | |
4934 * sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming. | |
4935 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto. | |
4936 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto. | |
4937 * exp_ch4.adb (Expand_N_Allocator): Ditto. | |
4938 | |
4939 2013-04-23 Robert Dewar <dewar@adacore.com> | |
4940 | |
4941 * exp_prag.adb (Expand_Pragma_Check): Check for Assert rather | |
4942 than Assertion. | |
4943 * sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec | |
4944 (Effective_Name): New function (Analyze_Pragma, case Check): | |
4945 Disallow [Statement_]Assertions (Check_Kind): Implement | |
4946 Statement_Assertions (Check_Applicable_Policy): Use Effective_Name | |
4947 (Is_Valid_Assertion_Kind): Allow Statement_Assertions. | |
4948 * sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body | |
4949 (Effective_Name): New function. | |
4950 * sem_res.adb: Minor reformatting. | |
4951 * snames.ads-tmpl (Name_Statement_Assertions): New entry. | |
4952 * gnat_rm.texi: Add documentation of new assertion kind | |
4953 Statement_Assertions. | |
4954 | |
4955 2013-04-23 Robert Dewar <dewar@adacore.com> | |
4956 | |
4957 * sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor | |
4958 reformatting and code clean up. | |
4959 | |
4960 2013-04-23 Vincent Celier <celier@adacore.com> | |
4961 | |
4962 * prj-part.ads, prj-conf.ads: Minor comment updates. | |
4963 | |
4964 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
4965 | |
4966 * einfo.adb (Predicate_Function): For a private type, retrieve | |
4967 predicate function from full view. | |
4968 * aspects.adb (Find_Aspect): Ditto. | |
4969 * exp_ch6.adb (Expand_Actuals): If the formal is class-wide and | |
4970 the actual is a definite type, apply predicate check after call. | |
4971 * sem_res.adb: Do not apply a predicate check before the call to | |
4972 a generated Init_Proc. | |
4973 | |
4974 2013-04-23 Robert Dewar <dewar@adacore.com> | |
4975 | |
4976 * sem_ch13.adb (Analyze_Aspect_Specifications): Significant | |
4977 rewrite to make sure Is_Ignore is properly captured when aspect | |
4978 is declared. | |
4979 * sem_ch6.adb: Minor reformatting. | |
4980 * sem_prag.adb (Analyze_Pragma): Do not test policy at time of | |
4981 pragma for the case of a pragma coming from an aspect (already | |
4982 tested when we analyzed the aspect). | |
4983 | |
4984 2013-04-23 Vincent Celier <celier@adacore.com> | |
4985 | |
4986 * prj-conf.adb (Parse_Project_And_Apply_Config): New | |
4987 Boolean parameter Implicit_Project, defaulted to False. Call | |
4988 Prj.Part.Parse with Implicit_Project. | |
4989 * prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean | |
4990 parameter Implicit_Project, defaulted to False. | |
4991 * prj-part.adb (Parse_Single_Project): New Boolean parameter | |
4992 Implicit_Project, defaulted to False. When Implicit_Project is | |
4993 True, change the Directory of the project node to the Current_Dir. | |
4994 * prj-part.ads (Parse): New Boolean parameter, defaulted to False | |
4995 | |
4996 2013-04-23 Robert Dewar <dewar@adacore.com> | |
4997 | |
4998 * exp_util.adb: Minor reformatting. | |
4999 | |
5000 2013-04-23 Robert Dewar <dewar@adacore.com> | |
5001 | |
5002 * xoscons.adb: Minor reformatting. | |
5003 | |
5004 2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> | |
5005 | |
5006 * sem_prag.adb (Check_Mode): Ensure that a | |
5007 self-referential output appears in both input and output lists of | |
5008 the subprogram as categorized by aspect Global. | |
5009 (Check_Usage): Rename formal parameters to better illustrate their | |
5010 function. Update all uses of the said formals. | |
5011 | |
5012 2013-04-23 Thomas Quinot <quinot@adacore.com> | |
5013 | |
5014 * exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New | |
5015 parameter Append_NUL to make NUL-termination optional. | |
5016 * exp_dist.adb: Consistently use the above throughout instead of | |
5017 Get_Library_Unit_Name_String. | |
5018 | |
5019 2013-04-23 Robert Dewar <dewar@adacore.com> | |
5020 | |
5021 * sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor | |
5022 reformatting. | |
5023 | |
5024 2013-04-23 Pascal Obry <obry@adacore.com> | |
5025 | |
5026 * xoscons.adb: Remove unused use clause, minor code clean-up. | |
5027 | |
5028 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
5029 | |
5030 * sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function | |
5031 (can apply to any scope entity). | |
5032 * sem_res.adb (Resolve_Call): If the call is within another | |
5033 expression function it does not constitute a freeze point. | |
5034 | |
5035 2013-04-23 Yannick Moy <moy@adacore.com> | |
5036 | |
5037 * exp_ch6.adb (Expand_Actuals): Test that Subp | |
5038 is overloadable before testing if it's an inherited operation. | |
5039 | |
5040 2013-04-23 Robert Dewar <dewar@adacore.com> | |
5041 | |
5042 * a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor | |
5043 reformatting. | |
5044 | |
5045 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
5046 | |
5047 * sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch. | |
5048 * exp_util.adb (Expand_Subtype_From_Expr): If the expression | |
5049 is a source entity and the declaration is for an aliased | |
5050 unconstrained array, create a new subtype so that the flag | |
5051 Is_Constr_Subt_For_UN_Aliased does not pollute other entities. | |
5052 | |
5053 2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> | |
5054 | |
5055 * aspects.adb: Move tables Base_Aspect and Inherited_Aspect | |
5056 from the spec to the body. | |
5057 (Find_Aspect): Update the call to Get_Aspect_Id. | |
5058 (Get_Aspect_Id): New version that takes an aspect specification. | |
5059 * aspects.ads: Reorganize all aspect related tables. | |
5060 (Get_Aspect_Id): New version that takes an aspect specification. | |
5061 * par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id. | |
5062 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update | |
5063 the call to Get_Aspect_Id. | |
5064 * sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the | |
5065 call to Get_Aspect_Id. (Analyze_Aspect_Specifications): Update | |
5066 the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect. | |
5067 | |
5068 2013-04-23 Robert Dewar <dewar@adacore.com> | |
5069 | |
5070 * sem_prag.adb (Fix_Error): Rewrite to do more accurate job | |
5071 of getting proper name in the case where pragma comes from | |
5072 aspect. | |
5073 * sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting. | |
5074 | |
5075 2013-04-23 Yannick Moy <moy@adacore.com> | |
5076 | |
5077 * sem_ch6.adb (Process_PPCs): Do not filter postconditions based on | |
5078 applicable policy. | |
5079 | |
5080 2013-04-23 Thomas Quinot <quinot@adacore.com> | |
5081 | |
5082 * par_sco.adb (Traverse_Aux_Decls): Minor code reorganization. | |
5083 | |
5084 2013-04-23 Doug Rupp <rupp@adacore.com> | |
5085 | |
5086 * init.c: Move facility macros outside IN_RTS. | |
5087 | |
5088 2013-04-23 Thomas Quinot <quinot@adacore.com> | |
5089 | |
5090 * freeze.adb (Freeze_Entity): For the case of a bit-packed | |
5091 array time that is known at compile time to have more that | |
5092 Integer'Last+1 elements, issue an error, since such arrays are | |
5093 not supported. | |
5094 | |
5095 2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> | |
5096 | |
5097 * sem_prag.adb (Analyze_Dependency_Clause): Update all calls to | |
5098 Analyze_Input_Output. | |
5099 (Analyze_Input_List): Update all calls to Analyze_Input_Output. | |
5100 (Analyze_Input_Output): Add formal parameter Self_Ref along with | |
5101 comment on its usage. Update all calls to Analyze_Input_Output. | |
5102 (Analyze_Pragma): Add new local variable Self_Ref to capture | |
5103 the presence of a self-referential dependency clause. Update | |
5104 all calls to Analyze_Input_Output. | |
5105 (Check_Mode): Add formal parameter Self_Ref along with comment on its | |
5106 usage. Verify the legality of a self-referential output. | |
5107 | |
5108 2013-04-23 Ed Schonberg <schonberg@adacore.com> | |
5109 | |
5110 * exp_ch6.adb: Add predicate checks on by-copy parameter. | |
5111 | |
5112 2013-04-23 Vincent Celier <celier@adacore.com> | |
5113 | |
5114 * a-envvar.adb, a-envvar.ads (Value): New. | |
5115 | |
5116 2013-04-22 Yannick Moy <moy@adacore.com> | |
5117 | |
5118 * exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as | |
5119 null statement if ignored. | |
5120 * sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored. | |
5121 * sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas. | |
5122 | |
5123 2013-04-22 Hristian Kirtchev <kirtchev@adacore.com> | |
5124 | |
5125 * sem_prag.adb (Analyze_Contract_Case): New routine. | |
5126 (Analyze_Pragma): Aspect/pragma Contract_Cases can | |
5127 now be associated with a library level subprogram. | |
5128 Add circuitry to detect illegal uses of aspect/pragma Contract_Cases | |
5129 in a subprogram body. | |
5130 (Chain_Contract_Cases): Rename formal parameter Subp_Decl to | |
5131 Subp_Id. Remove local constant Subp. The entity of the subprogram | |
5132 is now obtained via the formal paramter. | |
5133 | |
5134 2013-04-22 Ed Schonberg <schonberg@adacore.com> | |
5135 | |
5136 * sem_ch3.adb (Analyze_Object_Declaration): Do not set | |
5137 Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression, | |
5138 if the expression is a source entity. | |
5139 | |
5140 2013-04-22 Yannick Moy <moy@adacore.com> | |
5141 | |
5142 * exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in | |
5143 comments. | |
5144 * sem_ch6.adb (Expand_Contract_Cases): Add location to message. | |
5145 | |
5146 2013-04-22 Thomas Quinot <quinot@adacore.com> | |
5147 | |
5148 * sem_prag.adb (Fix_Error): For a pragma rewritten from another | |
5149 pragma, fix up error message to include original pragma name. | |
5150 * par_sco.adb: Minor reformatting. | |
5151 | |
5152 2013-04-22 Robert Dewar <dewar@adacore.com> | |
5153 | |
5154 * sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb, | |
5155 sem_ch6.adb, opt.ads: Minor reformatting. | |
5156 | |
5157 2013-04-22 Pascal Obry <obry@adacore.com> | |
5158 | |
5159 * gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for | |
5160 Library_Standalone and Library_Kind. | |
5161 | |
5162 2013-04-22 Ed Schonberg <schonberg@adacore.com> | |
5163 | |
5164 * exp_ch6.adb (Expand_Actuals): If the call is to an | |
5165 inherited operation and the actual is a by-reference type with | |
5166 predicates, add predicate call to post-call actions. | |
5167 * sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding | |
5168 error: a type declaration has a defining identifier, not an Etype. | |
5169 * sem_res.adb: Restore code removed because of above error. | |
5170 | |
5171 2013-04-22 Doug Rupp <rupp@adacore.com> | |
5172 | |
5173 * init.c (__gnat_handle_vms_condition): Also match C$_SIGINT. | |
5174 | |
5175 2013-04-22 Yannick Moy <moy@adacore.com> | |
5176 | |
5177 * gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb, | |
5178 opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc. | |
5179 | |
5180 2013-04-22 Vincent Celier <celier@adacore.com> | |
5181 | |
5182 * prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to | |
5183 No_Path_Information only when Directories_Must_Exist_In_Projects | |
5184 is False. | |
5185 (Get_Directories): Set Object_Directory | |
5186 or Exec_Directory to No_Path_Information only when | |
5187 Directories_Must_Exist_In_Projects is False. | |
5188 | |
5189 2013-04-22 Yannick Moy <moy@adacore.com> | |
5190 | |
5191 * par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb, | |
5192 snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to | |
5193 Pragma_Contract_Case and Name_Contract_Case. | |
5194 | |
5195 2013-04-22 Yannick Moy <moy@adacore.com> | |
5196 | |
5197 * aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to | |
5198 Contract_Case. | |
5199 * gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by | |
5200 description of Contract_Cases. | |
5201 | |
5202 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5203 | |
5204 * makeutl.adb, prj-nmsc.adb: Minor reformatting. | |
5205 | |
5206 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5207 | |
5208 * exp_util.adb (Make_Invariant_Call): Use Check_Kind instead | |
5209 of Check_Enabled. | |
5210 * gnat_rm.texi (Check_Policy): Update documentation for new | |
5211 Check_Policy syntax. | |
5212 * sem_prag.adb (Check_Kind): Replaces Check_Enabled | |
5213 (Analyze_Pragma, case Check_Policy): Rework to accomodate new | |
5214 syntax (like Assertion_Policy). | |
5215 * sem_prag.ads (Check_Kind): Replaces Check_Enabled. | |
5216 | |
5217 2013-04-12 Doug Rupp <rupp@adacore.com> | |
5218 | |
5219 * init.c (SS$_CONTROLC, SS$_CONTINUE) [VMS]: New macros. | |
5220 (__gnat_handle_vms_condition) [VMS]: Dispatch on the Crtl/C user | |
5221 handler if installed. | |
5222 * ctrl_c.c (__gnat_install_int_handler) | |
5223 [VMS]: Install a dummy sigaction handler to trigger the real | |
5224 user handler dispatch in init.c/__gnat_handle_vms_condition. | |
5225 (__gnat_uninstall_int_handler) [VMS]: Likewise. | |
5226 | |
5227 2013-04-12 Vincent Celier <celier@adacore.com> | |
5228 | |
5229 * clean.adb (Parse_Cmd_Line): Set Directories_Must_Exist_In_Projects | |
5230 to False if switch is specified. | |
5231 * makeutl.adb (Initialize_Source_Record): Do not look for the | |
5232 object file if there is no object directory. | |
5233 * opt.ads (Directories_Must_Exist_In_Projects): New Boolean | |
5234 variable, defaulted to True. | |
5235 * prj-nmsc.adb (Check_Library_Attributes): Do not fail if library | |
5236 directory does not exist when Directories_Must_Exist_In_Projects is | |
5237 False. | |
5238 (Get_Directories): Do not fail when the object or the exec directory | |
5239 do not exist when Directories_Must_Exist_In_Projects is False. | |
5240 | |
5241 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5242 | |
5243 * namet.adb, namet.ads: Minor addition (7 arg version of Nam_In). | |
5244 * exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb, | |
5245 sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb, | |
5246 par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb, | |
5247 sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb, | |
5248 exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, | |
5249 prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb, | |
5250 sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb, | |
5251 sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In). | |
5252 | |
5253 2013-04-12 Doug Rupp <rupp@adacore.com> | |
5254 | |
5255 * init.c: Don't clobber condition code on VMS. | |
5256 | |
5257 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5258 | |
5259 * exp_aggr.adb: Minor reformatting. | |
5260 * namet.ads, namet.adb (Nam_In): New functions. | |
5261 | |
5262 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5263 | |
5264 * einfo.adb (Has_Dynamic_Predicate_Aspect): New flag. | |
5265 (Has_Static_Predicate_Aspect): New flag. | |
5266 * einfo.ads (Has_Dynamic_Predicate_Aspect): New flag. | |
5267 (Has_Static_Predicate_Aspect): New flag. | |
5268 * exp_ch9.adb: Minor reformatting. | |
5269 * exp_util.adb (Make_Invariant_Call): Check_Enabled now handles | |
5270 synonyms. | |
5271 * gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled, | |
5272 since this switch is gone and control of Debug is done with | |
5273 Assertions_Enabled. | |
5274 * gnat_rm.texi: Update documentation for Assertion_Policy and | |
5275 Check_Policy pragmas. | |
5276 * opt.adb (Debug_Pragmas_Disabled[_Config]): Removed | |
5277 (Debug_Pragmas_Enabled[_Config]): Removed Since debug now | |
5278 controlled by Assertion_Enabled. | |
5279 * opt.ads (Debug_Pragmas_Disabled[_Config]): Removed | |
5280 (Debug_Pragmas_Enabled[_Config]): Removed Since debug now | |
5281 controlled by Assertion_Enabled. | |
5282 * par-ch2.adb (Scan_Pragma_Argument_Association): Allow new | |
5283 'Class forms. | |
5284 * sem_attr.adb: Minor reformatting. | |
5285 * sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect | |
5286 if DISABLE policy applies. | |
5287 * sem_ch6.adb (Grab_PPC): Check original name of aspect for | |
5288 aspect from pragma (Process_PPCs): Properly check assertion policy. | |
5289 * sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy | |
5290 (Check_Appicable_Policy): New procedure. | |
5291 (Is_Valid_Assertion_Kind): New function. | |
5292 (Rewrite_Assertion_Kind): New procedure. | |
5293 (Analyze_Pragma): Handle case of disabled assertion pragma. | |
5294 (Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012. | |
5295 (Analyze_Pragma, case Check): Deal with 'Class possibilities. | |
5296 (Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities. | |
5297 (Analyze_Pragma, case Contract_Class): New handling of ignored pragma. | |
5298 (Analyze_Pragma, case Debug): New control with Assertion_Policy. | |
5299 (Analyze_Pragma, case Debug_Policy): Now consistent with | |
5300 Assertion_Policy. | |
5301 (Analyze_Pragma, case Loop_Invariant): New handling of ignored | |
5302 pragma. | |
5303 (Analyze_Pragma, case Loop_Variant): New handling of ignored pragma. | |
5304 (Analyze_Pragma, case Precondition): Use proper name for Check pragma. | |
5305 (Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff. | |
5306 * sem_prag.ads (Check_Enabled): Rewritten for new | |
5307 Assertion_Policy stuff. | |
5308 (Check_Appicable_Policy): New procedure. | |
5309 * sinfo.adb (Is_Disabled): New flag. | |
5310 (Is_Ignored): New flag. | |
5311 * sinfo.ads (Is_Disabled): New flag. | |
5312 (Is_Ignored): New flag. | |
5313 (N_Pragma_Argument_Association): New 'Class forms. | |
5314 * snames.ads-tmpl: New names Name_uPre, Name_uPost, | |
5315 Name_uType_Invariant, Name_uInvariant. | |
5316 * switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata. | |
5317 * tree_io.ads (ASIS_Version_Number): Updated (remove | |
5318 read write of obsolete flags Debug_Pragmas_Disabled and | |
5319 Debug_Pragmas_Enabled. | |
5320 | |
5321 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5322 | |
5323 * exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary | |
5324 of Build_Record_Aggr_Code, used to retrieve explicit values | |
5325 for inherited discriminants in an extension aggregate, when the | |
5326 ancestor type is unconstrained. | |
5327 | |
5328 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5329 | |
5330 * sem_attr.adb (Check_Stream_Attribute): If restriction | |
5331 No_Default_Stream_Attributes is active, it is illegal to use a | |
5332 predefined elementary type stream attribute either by itself, | |
5333 or more importantly as part of the attribute subprogram for a | |
5334 composite type. However, if the broader restriction No_Streams | |
5335 is active, then stream operations are not generated, and there | |
5336 is no error. | |
5337 | |
5338 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5339 | |
5340 * gnatbind.adb: Minor reformatting. | |
5341 | |
5342 2013-04-12 Bob Duff <duff@adacore.com> | |
5343 | |
5344 * sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a | |
5345 call only in the static elaboration model. | |
5346 | |
5347 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5348 | |
5349 * sem_prag.adb (Analyze_Input_List): Detect an illegal dependency | |
5350 clause where both input and output lists are null. | |
5351 (Analyze_Pragma): Update the grammar of pragma Depends. | |
5352 | |
5353 2013-04-12 Vincent Celier <celier@adacore.com> | |
5354 | |
5355 * gnatbind.adb (No_Restriction_List): Exclude restrictions that | |
5356 take a parameter value, not a count. | |
5357 * prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure. | |
5358 * projects.texi: Complete documentation of attribute Roots. | |
5359 | |
5360 2013-04-12 Thomas Quinot <quinot@adacore.com> | |
5361 | |
5362 * exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb, | |
5363 sem_ch3.adb: Minor reformatting. | |
5364 * exp_ch4.adb (Size_In_Storage_Elements): Minor documentation | |
5365 improvement: note that the computation is pessimistic for bit | |
5366 packed arrays. | |
5367 * gnat_rm.texi (Range_Length): Fix minor error in description | |
5368 of attribute. | |
5369 | |
5370 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5371 | |
5372 * aspects.adb (Find_Aspect): New routine. | |
5373 (Find_Value_Of_Aspect): New routine. | |
5374 (Has_Aspect): Reimplemented. | |
5375 * aspects.ads (Find_Aspect): New routine. | |
5376 (Find_Value_Of_Aspect): New routine, previously known as Find_Aspect. | |
5377 * exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect. | |
5378 * exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect. | |
5379 * sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect. | |
5380 * sem_ch5.adb (Analyze_Iterator_Specification): Update | |
5381 the call to Find_Aspect. Use function Has_Aspect for better | |
5382 readability. | |
5383 (Preanalyze_Range): Use function Has_Aspect for better readability. | |
5384 * sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect. | |
5385 * sem_prag.adb (Analyze_Pragma): There is no longer need to | |
5386 look at the parent to extract the corresponding pragma for | |
5387 aspect Global. | |
5388 | |
5389 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5390 | |
5391 * checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb, | |
5392 restrict.ads: Minor reformatting. | |
5393 | |
5394 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5395 | |
5396 * lib-xref.adb: Retrieve original name of classwide type if any. | |
5397 | |
5398 2013-04-12 Thomas Quinot <quinot@adacore.com> | |
5399 | |
5400 * exp_ch11.ads: Minor reformatting. | |
5401 | |
5402 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5403 | |
5404 * aspects.adb: Alphabetize subprogram bodies in this unit. Add | |
5405 an entry for Aspect_Ghost in the table of canonical aspects. | |
5406 (Has_Aspect): New routine. | |
5407 * aspects.ads: Add Aspect_Ghost to all relevant | |
5408 tables. Alphabetize subprograms in this unit. | |
5409 (Has_Aspect): New routine. | |
5410 * einfo.adb: Add with and use clauses for Aspects. | |
5411 (Is_Ghost_Function): New routine. | |
5412 * einfo.ads: Add new synthesized attribute Is_Ghost_Function and | |
5413 update the structure of the related nodes. | |
5414 (Is_Ghost_Function): New routine. | |
5415 * exp_ch4.adb (Find_Enclosing_Context): Use routine | |
5416 Is_Body_Or_Package_Declaration to terminate a search. | |
5417 (Is_Body_Or_Unit): Removed. | |
5418 * exp_util.adb (Within_Case_Or_If_Expression): Use routine | |
5419 Is_Body_Or_Package_Declaration to terminate a search. | |
5420 * par-prag.adb: Add pragma Ghost to the list of pragmas that do | |
5421 not need special processing by the parser. | |
5422 * sem_attr.adb (Analyze_Access_Attribute): Detect an | |
5423 illegal use of 'Access where the prefix is a ghost function. | |
5424 (Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration | |
5425 to terminate a search. (Check_References_In_Prefix): Use routine | |
5426 Is_Body_Or_Package_Declaration to terminate a search. | |
5427 * sem_ch4.adb (Analyze_Call): Mark a function when it appears | |
5428 inside an assertion expression. Verify the legality of a call | |
5429 to a ghost function. | |
5430 (Check_Ghost_Function_Call): New routine. | |
5431 * sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move | |
5432 the setting of attribute In_Assertion_Expression to Analyze_Call. | |
5433 (Check_Overriding_Indicator): Detect an illegal attempt to | |
5434 override a function with a ghost function. | |
5435 * sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of | |
5436 a ghost function as a generic actual. | |
5437 * sem_elab.adb (Check_Internal_Call_Continue): Update the call | |
5438 to In_Assertion. | |
5439 * sem_prag.adb: Add an entry for pragma Ghost in the table | |
5440 of significant arguments. | |
5441 (Analyze_Pragma): Do not analyze | |
5442 an "others" case guard. Add processing for pragma Ghost. Use | |
5443 Preanalyze_Assert_Expression when analyzing the expression of | |
5444 pragmas Loop_Invariant and Loop_Variant. | |
5445 * sem_util.adb (Get_Subprogram_Entity): Reimplemented. | |
5446 (Is_Body_Or_Package_Declaration): New routine. | |
5447 * sem_util.ads: Alphabetize subprotrams in this unit. | |
5448 (Is_Body_Or_Package_Declaration): New routine. | |
5449 * sinfo.adb (In_Assertion): Rename to In_Assertion_Expression. | |
5450 (Set_In_Assertion): Rename to Set_In_Assertion_Expression. | |
5451 * sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression | |
5452 to better reflect its use. Update all places that mention the flag. | |
5453 (In_Assertion): Rename to In_Assertion_Expression. Update | |
5454 related pragma Inline. (Set_In_Assertion): Rename to | |
5455 Set_In_Assertion_Expression. Update related pragma Inline. | |
5456 * snames.ads-tmpl: Add new predefined name Ghost. Add new pragma | |
5457 id Pragma_Ghost. | |
5458 | |
5459 2013-04-12 Arnaud Charlet <charlet@adacore.com> | |
5460 | |
5461 * sem_prag.adb (Set_Imported): Do not generate error for multiple | |
5462 Import in CodePeer mode. | |
5463 * s-rident.ads: Fix minor typo. | |
5464 | |
5465 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5466 | |
5467 * checks.adb (Insert_Valid_Check): Do not insert validity check | |
5468 in the body of the generated predicate function, to prevent | |
5469 infinite recursion. | |
5470 | |
5471 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5472 | |
5473 * s-rident.ads: Add various missing Ada 2012 restrictions: | |
5474 No_Access_Parameter_Allocators, No_Coextensions, | |
5475 No_Use_Of_Attribute, No_Use_Of_Pragma. | |
5476 * snames.ads-tmpl: Add corresponding names. | |
5477 * restrict.ads restrict.adb: Subprograms and data structures to | |
5478 handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma. | |
5479 * sem_ch4.adb: Correct name of restrictions is | |
5480 No_Standard_Allocators_After_Elaboration. | |
5481 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check | |
5482 violation of restriction No_Use_Of_Attribute. | |
5483 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): | |
5484 Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute. | |
5485 (Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma. | |
5486 * sem_res.adb: Check restrictions No_Access_Parameter_Allocators | |
5487 and No_Coextensions. | |
5488 * bcheck.adb: Correct name of restrictions is | |
5489 No_Standard_Allocators_After_Elaboration. | |
5490 * gnatbind.adb: Correct name of restrictions is | |
5491 No_Standard_Allocators_After_Elaboration. | |
5492 | |
5493 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5494 | |
5495 * sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function): | |
5496 Correct error message format. | |
5497 | |
5498 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5499 | |
5500 * sem_attr.adb: Minor reformatting. | |
5501 | |
5502 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5503 | |
5504 * sem_elab.adb (Within_Elaborate_All): Do not examine a context | |
5505 item that has not been analyzed, because the unit may have errors, | |
5506 or the context item may come from a proper unit inserted at the | |
5507 point of a stub and not analyzed yet. | |
5508 | |
5509 2013-04-12 Thomas Quinot <quinot@adacore.com> | |
5510 | |
5511 * gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info, | |
5512 List_Record_Info): Also include scalar storage order information in | |
5513 output. | |
5514 | |
5515 2013-04-12 Yannick Moy <moy@adacore.com> | |
5516 | |
5517 * sem_ch6.adb (Process_Contract_Cases): Update code to apply to | |
5518 Contract_Cases instead of Contract_Case pragma. | |
5519 | |
5520 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5521 | |
5522 * a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting. | |
5523 | |
5524 2013-04-12 Yannick Moy <moy@adacore.com> | |
5525 | |
5526 * sem_attr.adb (Analyze_Attribute): Update analyse of | |
5527 Attribute_Old and Attribute_Result so they are allowed in the | |
5528 right-hand-side of an association in a Contract_Cases pragma. | |
5529 * sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of | |
5530 the expressions in a Contract_Cases pragma. | |
5531 | |
5532 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5533 | |
5534 * sem.ads, opt.ads: Minor comment edits. | |
5535 * sem_warn.adb, sem_ch6.adb: Minor reformatting. | |
5536 | |
5537 2013-04-12 Claire Dross <dross@adacore.com> | |
5538 | |
5539 * a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate, | |
5540 Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed, | |
5541 not suitable for formal analysis. | |
5542 | |
5543 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5544 | |
5545 * sem_prag.adb (Analyze_Abstract_State): Use Defining entity | |
5546 to locate package entity, which may be a child unit. | |
5547 | |
5548 2013-04-12 Thomas Quinot <quinot@adacore.com> | |
5549 | |
5550 * g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If | |
5551 the specified timeout is 0, do not attempt to determine whether the | |
5552 connection succeeded. | |
5553 | |
5554 2013-04-12 Doug Rupp <rupp@adacore.com> | |
5555 | |
5556 * s-fileio.adb (Form_RMS Context_Key): Fix some thinkos. | |
5557 | |
5558 2013-04-12 Doug Rupp <rupp@adacore.com> | |
5559 | |
5560 * s-fileio.adb: Minor reformatting. | |
5561 | |
5562 2013-04-12 Ed Schonberg <schonberg@adacore.com> | |
5563 | |
5564 * sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if | |
5565 the last statement in the analyzed loop is an unconditional | |
5566 exit statement. | |
5567 | |
5568 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5569 | |
5570 * opt.ads (Style_Check_Main): New switch. | |
5571 * sem.adb (Semantics): Set Style_Check flag properly for new | |
5572 unit to be analyzed. | |
5573 * sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check, | |
5574 the proper setting of this flag is now part of the Semantics | |
5575 procedure. | |
5576 * switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main | |
5577 for -gnatg and -gnaty | |
5578 | |
5579 2013-04-12 Doug Rupp <rupp@adacore.com> | |
5580 | |
5581 * s-crtl.ads (fopen, freopen): Add vms_form parameter | |
5582 * i-cstrea.ads (fopen, freopen): Likewise. | |
5583 * adaint.h (__gnat_fopen, __gnat_freopen): Likewise. | |
5584 * adaint.c (__gnat_fopen, __gnat_freopen): Likewise. | |
5585 [VMS]: Split out RMS keys and call CRTL function appropriately. | |
5586 * s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New | |
5587 subprograms. | |
5588 (Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with | |
5589 vms_form | |
5590 * gnat_rm.texi: Document implemented RMS keys. | |
5591 | |
5592 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5593 | |
5594 * sem_ch13.adb (Analyze_Aspect_Specifications): | |
5595 Insert the corresponding pragma for aspect Abstract_State at | |
5596 the top of the visible declarations of the related package. | |
5597 Previously this was only done when the package is a compilation | |
5598 unit. | |
5599 | |
5600 2013-04-12 Arnaud Charlet <charlet@adacore.com> | |
5601 | |
5602 * gnat_ugn.texi: Further menu clean ups. | |
5603 * sem_prag.adb, opt.ads: Minor reformatting. | |
5604 * sem_util.ads: Minor comment fix. | |
5605 | |
5606 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> | |
5607 | |
5608 * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect | |
5609 Depends is now a delayed aspect. The delay is required | |
5610 due to the interplay between aspects Depends and Global. | |
5611 (Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends. | |
5612 * sem_prag.adb: Reformat various error messages. | |
5613 (Add_Item): New subsidiary routine. | |
5614 (Analyze_Pragma): Add new variables | |
5615 Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The | |
5616 analysis of pragma Depends now has the capability to check | |
5617 the proper mode and usage of subprogram inputs and outputs. | |
5618 (Appears_In): New routine. | |
5619 (Check_Function_Return): New routine. | |
5620 (Check_Mode): New routine. | |
5621 (Check_Usage): New routine. | |
5622 (Collect_Subprogram_Inputs_Outputs): New routine. | |
5623 | |
5624 2013-04-12 Bob Duff <duff@adacore.com> | |
5625 | |
5626 * par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope | |
5627 stack entry. | |
5628 | |
5629 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5630 | |
5631 * switch-c.adb: Minor fix to wording of error message for | |
5632 -gnatet/eT. | |
5633 | |
5634 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5635 | |
5636 * impunit.adb: Add s-multip and s-mudido to list of impl defined | |
5637 system units. | |
5638 * gnat_rm.texi: Add documentation for | |
5639 System.Multiprocessors[.Dispatching_Domains]. | |
5640 | |
5641 2013-04-12 Ben Brosgol <brosgol@adacore.com> | |
5642 | |
5643 * gnat_ugn.texi: Completion of menu cleanups. | |
5644 | |
5645 2013-04-12 Arnaud Charlet <charlet@adacore.com> | |
5646 | |
5647 * sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules | |
5648 in Relaxed_RM_Semantics. | |
5649 | |
5650 2013-04-12 Arnaud Charlet <charlet@adacore.com> | |
5651 | |
5652 * set_targ.adb (elab code): Add support for non gcc back-ends | |
5653 where save_argv is null. | |
5654 | |
5655 2013-04-12 Robert Dewar <dewar@adacore.com> | |
5656 | |
5657 * gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name. | |
5658 * opt.ads (Target_Dependent_Info_Read): Add _Name, now an access | |
5659 type (Target_Dependent_Info_Write): Add _Name, now an access type. | |
5660 * set_targ.adb (Write_Target_Dependent_Values): Use name | |
5661 from -gnatet switch stored in Target_Dependent_Info_Write_Name | |
5662 (Read_Target_Dependent_Values): Use name from -gnateT switch | |
5663 stored in Target_Dependent_Info_Read_Name. | |
5664 * switch-c.adb: New form of -gnatet and -gnateT switches. | |
5665 * usage.adb: New form of -gnatet and -gnateT switches with | |
5666 file name. | |
5667 | |
5668 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> | |
5669 | |
5670 * gcc-interface/decl.c (elaborate_expression_1): Skip only constant | |
5671 arithmetics when looking for a read-only variable in the expression. | |
5672 | |
5673 2013-04-11 Javier Miranda <miranda@adacore.com> | |
5674 | |
5675 * check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in | |
5676 interface thunks since it is performed at the caller side. | |
5677 (Expand_Simple_Function_Return): No accessibility check needed in thunks | |
5678 since the check is done by the target routine. | |
5679 | |
5680 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
5681 | |
5682 * sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze | |
5683 expression with type Any_Priority. | |
5684 * exp_ch9.adb (Initialize_Protection): Check that the value | |
5685 of the priority expression is within the bounds of the proper | |
5686 priority type. | |
5687 | |
5688 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5689 | |
5690 * sem_prag.adb, prj-env.adb: Minor reformatting. | |
5691 | |
5692 2013-04-11 Ben Brosgol <brosgol@adacore.com> | |
5693 | |
5694 * gnat_ugn.texi: Clean ups. | |
5695 | |
5696 2013-04-11 Yannick Moy <moy@adacore.com> | |
5697 | |
5698 * set_targ.adb: Minor comment update. | |
5699 | |
5700 2013-04-11 Pascal Obry <obry@adacore.com> | |
5701 | |
5702 * gnat_ugn.texi: Remove obsolete comment about DLL calling | |
5703 convention. | |
5704 | |
5705 2013-04-11 Javier Miranda <miranda@adacore.com> | |
5706 | |
5707 * exp_ch6.adb (Expand_Call): For the call to the target primitive | |
5708 of an interface thunks do not compute the extra actuals; just | |
5709 propagate the extra actuals received by the thunk. | |
5710 * exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute | |
5711 Thunk_Entity. | |
5712 * sem_ch6.adb (Create_Extra_Formals): Do not generate extra | |
5713 formals in interface thunks whose target primitive has no extra | |
5714 formals. | |
5715 | |
5716 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
5717 | |
5718 * sem_prag.adb (Analyze_Pragma): Detect | |
5719 a renaming by looking at the Renamed_Object attribute. | |
5720 (Is_Renaming): Removed. | |
5721 | |
5722 2013-04-11 Vincent Celier <celier@adacore.com> | |
5723 | |
5724 * prj-env.adb (Initialize_Default_Project_Path): Take | |
5725 into account a project path file, specified by environment | |
5726 variable GPR_PROJECT_PATH_FILE, before taking into account | |
5727 GPR_PROJECT_PATH. | |
5728 * projects.texi: Add documentation for GPR_PROJECT_PATH_FILE | |
5729 | |
5730 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
5731 | |
5732 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb, | |
5733 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads, | |
5734 a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb, | |
5735 a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads, | |
5736 a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb, | |
5737 a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb, | |
5738 a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb, | |
5739 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads: | |
5740 Move Iterator operations from body to private part of spec. | |
5741 | |
5742 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> | |
5743 | |
5744 * ttypes.ads, get_targ.ads: More minor rewording of comments. | |
5745 | |
5746 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
5747 | |
5748 * debug.adb: Document use of switch -gnatd.Z. | |
5749 | |
5750 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
5751 | |
5752 * sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now | |
5753 support renamings of entire objects. Legal renamings are replaced by | |
5754 the object they rename. | |
5755 (Is_Renaming): New routine. | |
5756 | |
5757 2013-04-11 Yannick Moy <moy@adacore.com> | |
5758 | |
5759 * set_targ.adb, opt.ads: Minor changes in comments. | |
5760 | |
5761 2013-04-11 Ben Brosgol <brosgol@adacore.com> | |
5762 | |
5763 * gnat_ugn.texi: Minor clean ups. | |
5764 | |
5765 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5766 | |
5767 * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging | |
5768 function p from Nlists to Treepr. | |
5769 | |
5770 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
5771 | |
5772 * sem_disp.adb (Check_Dispatching_Context): If the context is | |
5773 a contract for a null procedure defer error reporting until | |
5774 postcondition body is created. | |
5775 * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a | |
5776 null procedure, complete the analysis of its contracts so that | |
5777 calls within classwide conditions are properly rewritten as | |
5778 dispatching calls. | |
5779 | |
5780 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
5781 | |
5782 * sem_ch10.adb, sem_ch12.adb: Minor reformatting. | |
5783 | |
5784 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5785 | |
5786 * exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting. | |
5787 | |
5788 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5789 | |
5790 * atree.adb, atree.ads (Node31): New function. | |
5791 (Set_Node31): New procedure. | |
5792 | |
5793 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5794 | |
5795 * errout.ads: Minor typo correction. | |
5796 | |
5797 2013-04-11 Javier Miranda <miranda@adacore.com> | |
5798 | |
5799 * einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute. | |
5800 | |
5801 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5802 | |
5803 * back_end.adb (Register_Back_End_Types): Moved to Get_Targ | |
5804 * back_end.ads (C_String): Moved to Get_Targ | |
5805 (Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types): | |
5806 Moved to Get_Targ. | |
5807 * cstand.adb (Register_Float_Type): New interface | |
5808 (Create_Back_End_Float_Types): Use entries in FPT_Mode_Table. | |
5809 * get_targ.adb (Register_Back_End_Types): Moved here from | |
5810 Back_End. | |
5811 * get_targ.ads (C_String): Moved here from Back_End | |
5812 (Register_Type_Proc): Moved here from Back_End | |
5813 (Register_Back_End_Types): here from Back_End. | |
5814 * gnat1drv.adb (GGnat11drv): Add call to | |
5815 Write_Target_Dependent_Values; | |
5816 * lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing | |
5817 obsolete target dependent info. | |
5818 * opt.ads (Generate_Target_Dependent_Info): | |
5819 Removed (Target_Dependent_Info_Read): New flag | |
5820 (Target_Dependent_Info_Write): New flag | |
5821 * output.adb: Minor comment change | |
5822 * s-os_lib.ads: Minor reformatting | |
5823 * set_targ.ads, set_targ.adb: Minor reformatting. | |
5824 * switch-c.adb (Scan_Switches.First_Ptr): New variable | |
5825 (Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first | |
5826 (Scan_Front_End_Switches): Handle -gnatet, -gnateT | |
5827 * ttypes.ads: Remove documentation section on target dependent | |
5828 info in ali file Remove four letter codes, no longer used Instead | |
5829 of using Get_Targ.Get_xxx, we use Set_Targ.xxx | |
5830 * usage.adb: Add usage lines for -gnatet/-gnateT | |
5831 * gcc-interface/Make-lang.in: Update dependencies. | |
5832 | |
5833 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
5834 | |
5835 * sem_ch4.adb: Update documentation. | |
5836 * sinfo.ads (N_Expression_With_Actions): Ditto. | |
5837 | |
5838 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
5839 | |
5840 * sem_ch13.adb (Analyze_Aspect_Specifications): | |
5841 Add a guard to prevent the double insertion of the same aspect | |
5842 into a rep item list. This previously led to a circularity. | |
5843 | |
5844 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
5845 | |
5846 * sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute | |
5847 reference if the prefix is the dereference of an anonymous access | |
5848 to subprogram type. | |
5849 * exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle | |
5850 properly a reference to the current instance of a protected type | |
5851 from within a protected subprogram. | |
5852 * sem_res.adb (Find_Unique_Access_Type): Treat | |
5853 Attribute_Access_Type like Allocator_Type when resolving an | |
5854 equality operator. | |
5855 | |
5856 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
5857 | |
5858 * xgnatugn.adb: Remove obsolete comments. | |
5859 | |
5860 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5861 | |
5862 * back_end.ads, back_end.adb: Minor reformatting. | |
5863 * set_targ.ads, set_targ.adb: New files. | |
5864 | |
5865 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
5866 | |
5867 * sem_case.adb (Check_Against_Predicate): New routine. | |
5868 (Check_Choices): When the type covered by the list of choices | |
5869 is a static subtype with a static predicate, check all choices | |
5870 agains the predicate. | |
5871 (Issue_Msg): All versions removed. | |
5872 (Missing_Choice): New routines. | |
5873 * sem_ch4.adb: Code and comment reformatting. | |
5874 (Analyze_Case_Expression): Do not check the choices when the case | |
5875 expression is being preanalyzed and the type of the expression | |
5876 is a subtype with a static predicate. | |
5877 (Has_Static_Predicate): New routine. | |
5878 * sem_ch13.adb: Code and comment reformatting. (Build_Range): | |
5879 Always build a range even if the low and hi bounds denote the | |
5880 same value. This is needed by the machinery in Check_Choices. | |
5881 (Build_Static_Predicate): Always build a range even if the low and | |
5882 hi bounds denote the same value. This is needed by the machinery | |
5883 in Check_Choices. | |
5884 | |
5885 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5886 | |
5887 * einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor | |
5888 reformatting. | |
5889 | |
5890 2013-04-11 Doug Rupp <rupp@adacore.com> | |
5891 | |
5892 * gnatlink.adb: Fold program basename to lower case on VMS for | |
5893 consistency. | |
5894 | |
5895 2013-04-11 Matthew Heaney <heaney@adacore.com> | |
5896 | |
5897 * a-rbtgbo.adb (Generic_Equal): Initialize Result variable before | |
5898 entering loop. | |
5899 | |
5900 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
5901 | |
5902 * xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear). | |
5903 | |
5904 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
5905 | |
5906 * gnat_ugn.texi: Remove some use of ifset in menus. Not strictly | |
5907 needed, and seems to confuse some versions of makeinfo. | |
5908 | |
5909 2013-04-11 Javier Miranda <miranda@adacore.com> | |
5910 | |
5911 * einfo.adb (Is_Thunk): Remove assertion. | |
5912 (Set_Is_Thunk): Add assertion. | |
5913 * einfo.ads (Is_Thunk): Complete documentation. | |
5914 * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup. | |
5915 * exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util | |
5916 (Is_Variable_Size_Record): Moved to sem_util | |
5917 * exp_ch6.adb (Expand_Call): Code cleanup. | |
5918 (Expand_N_Extended_Return_Statement): Code cleanup. | |
5919 (Expand_Simple_Function_Return): Code cleanup. | |
5920 * exp_disp.adb Remove dependency on exp_ch3 | |
5921 (Expand_Interface_Thunk): Add minimum decoration needed to set | |
5922 attribute Is_Thunk. | |
5923 * sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util | |
5924 * sem_util.ad[sb] (Is_Constant_Bound): Moved from | |
5925 sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3 | |
5926 (Is_Variable_Size_Record): Moved from exp_ch3 | |
5927 | |
5928 2013-04-11 Javier Miranda <miranda@adacore.com> | |
5929 | |
5930 * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do | |
5931 not add cleanup actions in thunks associated with interface types. | |
5932 * exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to | |
5933 the package spec. | |
5934 * exp_ch4.adb (Tagged_Conversion): Update call to | |
5935 Expand_Interface_Conversion since the parameter Is_Static is no | |
5936 longer needed. | |
5937 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding | |
5938 assertion to ensure that interface thunks are never handled by | |
5939 this routine. | |
5940 (Expand_N_Simple_Function_Return): Do not rewrite this statement | |
5941 as an extended return statement in interface thunks, and do not | |
5942 perform copy in the secondary stack if the return statement is | |
5943 located in a thunk. | |
5944 * exp_disp.adb (Expand_Dispatching_Call): No longer displace | |
5945 the pointer to the returned object in functions returning interface | |
5946 types. | |
5947 (Expand_Interface_Thunk): For functions returning interface types | |
5948 displace the pointer to the returned object. | |
5949 (Expand_Interface_Conversion): Remove formal | |
5950 Is_Static since this subprogram can now evaluate it locally. | |
5951 * sem_ch3.adb (Add_Internal_Interface_Entities): For functions | |
5952 propagate the type returned by the covered interface primitive to | |
5953 the internal interface entity. Needed by the thunk to generate | |
5954 the code which displaces "this" to reference the corresponding | |
5955 secondary dispatch table. | |
5956 * sem_disp.adb (Propagate_Tag): Update call to | |
5957 Expand_Interface_Conversion since the parameter Is_Static is no | |
5958 longer needed. | |
5959 * sem_res.adb (Resolve_Type_Conversion): Update calls to | |
5960 Expand_Interface_Conversion since the parameter Is_Static is no | |
5961 longer needed plus code cleanup. | |
5962 | |
5963 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> | |
5964 | |
5965 * init.c (RETURN_ADDR_OFFSET): Delete as unused. | |
5966 | |
5967 2013-04-11 Robert Dewar <dewar@adacore.com> | |
5968 | |
5969 * a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb, | |
5970 a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting. | |
5971 | |
5972 2013-04-11 Yannick Moy <moy@adacore.com> | |
5973 | |
5974 * exp_ch4.adb (Expand_N_Selected_Component): Do not expand | |
5975 discriminant check for Unchecked_Union. | |
5976 * sem_res.adb (Resolve_Selected_Component): Set flag | |
5977 Do_Discriminant_Check even when expansion is not performed. | |
5978 * sinfo.ads (Do_Discriminant_Check): Update documentation for the case | |
5979 of Unchecked_Union. | |
5980 | |
5981 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
5982 | |
5983 * sem_ch13.adb (Same_Representation): Two types with different scalar | |
5984 storage order never have the same representation. | |
5985 | |
5986 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
5987 | |
5988 * xgnatugn.adb (Push_Conditional): Simplify handling, | |
5989 no longer need to keep track of "excluding" sections. | |
5990 (Currently_Excluding): Removed. | |
5991 (Process_Source_File): | |
5992 Set unw/vms flag so that texinfo can do the whole handling of | |
5993 @ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear | |
5994 sections. | |
5995 * gnat_ugn.texi: Add a section on performing unassisted install | |
5996 on Windows. | |
5997 | |
5998 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
5999 | |
6000 * debug.adb: Document usage of -gnatd.Q switch. | |
6001 | |
6002 2013-04-11 Matthew Heaney <heaney@adacore.com> | |
6003 | |
6004 * a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks | |
6005 before element comparisons. | |
6006 (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint): | |
6007 Ditto. | |
6008 * a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before | |
6009 element comparisons. | |
6010 * a-rbtgso.adb (Difference, Intersection): Adjust locks | |
6011 before element comparisons. | |
6012 (Is_Subset, Overlap): Ditto | |
6013 (Symmetric_Difference, Union): Ditto | |
6014 * a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks | |
6015 before element comparisons. | |
6016 (Set_Subset, Set_Overlap): Ditto | |
6017 (Set_Symmetric_Difference, Set_Union): Ditto | |
6018 * a-coorse.adb, a-ciorse.adb, a-cborse.adb | |
6019 (Update_Element_Preserving_Key): Adjust locks before element | |
6020 comparisons (Replace_Element): Ditto | |
6021 | |
6022 2013-04-11 Pascal Obry <obry@adacore.com> | |
6023 | |
6024 * prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves | |
6025 attribute. | |
6026 | |
6027 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6028 | |
6029 * exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of | |
6030 Expand_N_Object_Declaration, used to construct an aggregate | |
6031 with static components whenever possible, so that objects of a | |
6032 discriminated type can be initialized without calling the init. | |
6033 proc for the type. | |
6034 | |
6035 2013-04-11 Vincent Celier <celier@adacore.com> | |
6036 | |
6037 * prj-makr.adb (Process_Directory): On VMS, always delete, | |
6038 then recreate the temporary file with Create_Output_Text_File, | |
6039 otherwise the output redirection does not work properly. | |
6040 | |
6041 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> | |
6042 | |
6043 * urealp.ads: Fix minor typo. | |
6044 | |
6045 2013-04-11 Fabien Chouteau <chouteau@adacore.com> | |
6046 | |
6047 * cio.c (mktemp): Don't use tmpnam function from the | |
6048 system on VxWorks in kernel mode. | |
6049 | |
6050 2013-04-11 Vincent Celier <celier@adacore.com> | |
6051 | |
6052 * make.adb (Compile): Clarify the error message reported | |
6053 when gnatmake refuses to compile a runtime source. | |
6054 (Start_Compile_If_Possible): Ditto. | |
6055 | |
6056 2013-04-11 Vincent Celier <celier@adacore.com> | |
6057 | |
6058 * gnat_ugn.texi: Add documentation about -gnatc and gnatmake. | |
6059 | |
6060 2013-04-11 Vincent Celier <celier@adacore.com> | |
6061 | |
6062 * switch-c.adb: Document internal switches. | |
6063 * usage.adb: Remove lines for internal switches: -gnatea, -gnateO, | |
6064 -gnatez and -gnateO. | |
6065 | |
6066 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6067 | |
6068 * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub. | |
6069 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on | |
6070 subprogram stubs. | |
6071 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated | |
6072 pre/post pragmas at once before analyzing the proper body. | |
6073 * sem_prag.adb (Chain_PPC): Handle pragma that comes from an | |
6074 aspect on a subprogram stub. | |
6075 * aspects.adb: Aspect specifications can appear on a | |
6076 subprogram_Body_Stub. | |
6077 | |
6078 2013-04-11 Vincent Celier <celier@adacore.com> | |
6079 | |
6080 * gnatname.adb: Minor comment fix. | |
6081 | |
6082 2013-04-11 Vincent Celier <celier@adacore.com> | |
6083 | |
6084 * prj-makr.adb (Process_Directory): Create a new temporary | |
6085 file for each invocation of the compiler, in directory pointed | |
6086 by environment variable TMPDIR if it exists. | |
6087 | |
6088 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6089 | |
6090 * gnat_ugn.texi: Minor editing/clean ups. | |
6091 | |
6092 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6093 | |
6094 * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly | |
6095 extracted from Analyze_Subprogram_Declaration, to handle null | |
6096 procedure declarations that in ada 2012 can be completions of | |
6097 previous declarations. | |
6098 | |
6099 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
6100 | |
6101 * sem_prag.adb (Entity_Of): Moved to Exp_Util. | |
6102 * exp_util.ads, exp_util.adb (Entity_Of): New routine. | |
6103 | |
6104 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6105 | |
6106 * g-spipat.ads: Minor comment fix. | |
6107 | |
6108 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6109 | |
6110 * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor | |
6111 reformatting. | |
6112 | |
6113 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6114 | |
6115 * exp_util.ads (Fully_Qualified_Name_String): Document that the | |
6116 constructed literal is the entity name in all upper case. | |
6117 | |
6118 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6119 | |
6120 * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of | |
6121 check for implementation defined identifiers. | |
6122 | |
6123 2013-04-11 Yannick Moy <moy@adacore.com> | |
6124 | |
6125 * checks.adb (Apply_Type_Conversion_Checks): Add an explanation | |
6126 of why range check and length are put on different nodes. | |
6127 * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks | |
6128 when doing their expansion. | |
6129 | |
6130 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6131 | |
6132 * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor): | |
6133 New function to implement the notion introduced in RM 7.3.1 | |
6134 (5.2/3): in a child unit, a derived type is within the derivation | |
6135 class of an ancestor declared in a parent unit, even if there | |
6136 is an intermediate derivation that does not see the full view | |
6137 of that ancestor. | |
6138 * sem_res.adb (Valid_Conversion): if all else fails, examine if an | |
6139 incomplete view of an ancestor makes a numeric conversion legal. | |
6140 | |
6141 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6142 | |
6143 * sem_ch6.adb: in Ada2012 operators can only have in | |
6144 parameters. | |
6145 | |
6146 2013-04-11 Vincent Celier <celier@adacore.com> | |
6147 | |
6148 * makeutl.adb (Create_Binder_Mapping_File): Do not put into | |
6149 the mapping file ALI files of sources that have been replaced. | |
6150 | |
6151 2013-04-11 Vincent Celier <celier@adacore.com> | |
6152 | |
6153 * projects.texi: Add subsection Duplicate Sources in Projects. | |
6154 | |
6155 2013-04-11 Vincent Celier <celier@adacore.com> | |
6156 | |
6157 * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/** | |
6158 | |
6159 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6160 | |
6161 * init.c (__gnat_install_handler): Only set up an alternate | |
6162 stack when installing a signal handler for SIGSEGV. | |
6163 | |
6164 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6165 | |
6166 * g-socket.adb (Connect_Socket, timeout version): Call | |
6167 underlying connect operation directly, not through the 2-argument | |
6168 Connect_Socket thick binding, in order to avoid raising a junk | |
6169 exception for the EINPROGRESS return. | |
6170 | |
6171 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6172 | |
6173 * a-cdlili.adb: Minor addition of pragma Warnings (Off). | |
6174 | |
6175 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6176 | |
6177 * hostparm.ads: Minor reformatting. | |
6178 | |
6179 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
6180 | |
6181 * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant | |
6182 tables. | |
6183 * elists.ads, elists.adb (Contains): New routine. | |
6184 * par-prag.adb: Pragma Depends does not need any special treatment | |
6185 by the parser. | |
6186 * sem_ch13.adb (Analyze_Aspect_Specifications): | |
6187 Transform aspect Depends into a corresponding pragma. | |
6188 (Check_Aspect_At_Freeze_Point): Aspect Depends does not need | |
6189 inspection at its freeze point. | |
6190 * sem_prag.adb (Analyze_Pragma): Perform analysis and | |
6191 normalization of pragma Depends. Remove the use of function | |
6192 Is_Duplicate_Item. Use End_Scope to uninstalle the formal | |
6193 parameters of a subprogram. Add a value for pragma Depends in | |
6194 table Sig_Flags. | |
6195 (Is_Duplicate_Item): Removed. | |
6196 * snames.ads-tmpl: Add predefined name for Depends as well as | |
6197 a pragma identifier. | |
6198 | |
6199 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6200 | |
6201 * gnat1drv.adb: Minor code clean up. | |
6202 | |
6203 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6204 | |
6205 * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause): | |
6206 Ignore enumeration rep clauses by default in CodePeer mode, unless | |
6207 -gnatd.I is specified. | |
6208 | |
6209 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6210 | |
6211 * sem_util.adb (Safe_To_Capture_Value): If the node belongs to | |
6212 an expression that has been attached to the else_actions of an | |
6213 if-expression, the capture is not safe. | |
6214 | |
6215 2013-04-11 Yannick Moy <moy@adacore.com> | |
6216 | |
6217 * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type | |
6218 conversion for arrays. | |
6219 | |
6220 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6221 | |
6222 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting. | |
6223 | |
6224 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
6225 | |
6226 * adabkend.adb: Minor comment addition. | |
6227 | |
6228 2013-04-11 Matthew Heaney <heaney@adacore.com> | |
6229 | |
6230 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment | |
6231 lock counts before entering loop. | |
6232 (Find): Ditto. | |
6233 (Is_Sorted, Merge, Sort): Ditto. | |
6234 (Reverse_Find): Ditto. | |
6235 (Splice_Internal): Internal operation to refactor splicing logic. | |
6236 (Splice): Some logic moved into Splice_Internal. | |
6237 | |
6238 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
6239 | |
6240 * adabkend.adb (Scan_Compiler_Arguments): Do not call | |
6241 Set_Output_Object_File_Name in Alfa_Mode | |
6242 * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account. | |
6243 * opt.ads: Fix documentation. | |
6244 | |
6245 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6246 | |
6247 * sem_res.adb: Minor code reorganization and comment fixes. | |
6248 * sem_type.adb: Minor reformatting. | |
6249 | |
6250 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
6251 | |
6252 * exp_ch4.adb (Process_Transient_Object): Add new | |
6253 local variable Fin_Call. Remove and explain ??? comment. Use the | |
6254 Actions of logical operators "and then" and "or else" to insert | |
6255 the generated finalization call. | |
6256 | |
6257 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> | |
6258 | |
6259 * gnat_rm.texi: Fix typo. | |
6260 | |
6261 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6262 | |
6263 * sem_res.adb: Minor reformatting. | |
6264 | |
6265 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6266 | |
6267 * atree.h: Add declarations for Flag255-Flag289 Fix declaration | |
6268 of Field30 (was wrong, but no effect, since not yet referenced by | |
6269 back end) Add declarations for Field31-Field35 Add declarations | |
6270 for Node31-Node35. | |
6271 * einfo.ads, einfo.adb (Has_Invariants): No longer applies to | |
6272 procedures. | |
6273 (Has_Predicates): No longer applies to functions. | |
6274 (Is_Predicate_Function): New flag. | |
6275 (Is_Predicate_Function_M): New flag. | |
6276 (Is_Invariant_Procedure): New flag. | |
6277 (Predicate_Function_M): New function. | |
6278 (Set_Predicate_Function_M): New procedure. | |
6279 * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special | |
6280 case of appearing in predicate used for membership test. | |
6281 * exp_ch3.adb (Insert_Component_Invariant_Checks): Set | |
6282 Is_Invariant_Procedure flag. | |
6283 * exp_ch4.adb (Expand_Op_In): Call special predicate function | |
6284 that takes care of raise_expression nodes in the predicate. | |
6285 * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for | |
6286 membership case. | |
6287 * sem_ch13.adb (Build_Predicate_Functions): New name for | |
6288 Build_Predicate_Function. Major rewrite to take care of raise | |
6289 expression in predicate for membership tests. | |
6290 * sem_res.adb (Resolve_Actuals): Include both predicate functions | |
6291 in defense against infinite predicate function loops. | |
6292 * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag. | |
6293 | |
6294 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6295 | |
6296 * sem_prag.adb: Minor reformatting. | |
6297 | |
6298 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6299 | |
6300 * lib-xref.adb: Generate reference for component of anonymous | |
6301 access type. | |
6302 | |
6303 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6304 | |
6305 * stand.ads: Minor reformatting. | |
6306 | |
6307 2013-04-11 Matthew Heaney <heaney@adacore.com> | |
6308 | |
6309 * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock | |
6310 counts before entering loop. | |
6311 (Find, Find_Index): Ditto. | |
6312 (Is_Sorted, Merge, Sort): Ditto. | |
6313 (Reverse_Find, Reverse_Find_Index): Ditto. | |
6314 | |
6315 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6316 | |
6317 * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure. | |
6318 * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression. | |
6319 * expander.adb: Add call to Expand_N_Raise_Expression. | |
6320 * par-ch11.adb (P_Raise_Expression): New procedure. | |
6321 * par-ch4.adb (P_Relation): Handle Raise_Expression. | |
6322 * par.adb (P_Raise_Expression): New procedure. | |
6323 * sem.adb: Add handling for N_Raise_Expression. | |
6324 * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure. | |
6325 * sem_res.adb (Resolve): Add handling for N_Raise_Expression. | |
6326 * sinfo.ads, sinfo.adb (N_Raise_Expression): New node. | |
6327 * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression. | |
6328 * stand.ads (Any_Type): Document use with N_Raise_Expression. | |
6329 | |
6330 2013-04-11 Vincent Celier <celier@adacore.com> | |
6331 | |
6332 * gnat_ugn.texi: Remove section "The Development Environments" | |
6333 now that all predefined attributes are documented, including | |
6334 those in package IDE. | |
6335 | |
6336 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6337 | |
6338 * sem_ch6.adb: Preserve parent link in copy of expression. | |
6339 | |
6340 2013-04-11 Vincent Celier <celier@adacore.com> | |
6341 | |
6342 * projects.texi: Complete rewrite of the subsection Attributes | |
6343 in section "Project file Reference". | |
6344 | |
6345 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6346 | |
6347 * exp_ch4.adb: Minor reformatting. | |
6348 | |
6349 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6350 | |
6351 * exp_ch4.adb (Expand_Concatenate): Remove wrapping in | |
6352 expression-with-actions node. No longer needed given fix to | |
6353 sem_prag and caused loss of some useful warnings. | |
6354 * sem.ads: Minor reformatting. | |
6355 * sem_prag.adb (Check_Disabled): Removed, to be replaced by not | |
6356 Check_Enabled. These two routines were curiously incompatible | |
6357 causing confusion. | |
6358 (Analyze_Pragma, case Check): Make sure we do | |
6359 not expand the string argument if the check is disabled. Avoid | |
6360 use of Check_Disabled, which resulted in missing analysis in | |
6361 some cases. | |
6362 * sem_prag.ads (Check_Disabled): Removed, to be replaced by not | |
6363 Check_Enabled. These two routines were curiously incompatible | |
6364 causing confusion. | |
6365 | |
6366 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
6367 | |
6368 * exp_ch4.adb (Process_Transient_Object): Use | |
6369 an unchecked conversion when associating a transient controlled | |
6370 object with its "hook". | |
6371 | |
6372 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6373 | |
6374 * sem_prag.adb (Analyze_Pragma, case | |
6375 Preelaborable_Initialization): The pragma is legal if it comes | |
6376 from an aspect on the private view of the type, even though its | |
6377 analysis point takes place later at the freeze point. | |
6378 | |
6379 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6380 | |
6381 * sem_ch6.adb: Minor reformatting. | |
6382 | |
6383 2013-04-11 Yannick Moy <moy@adacore.com> | |
6384 | |
6385 * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to | |
6386 read ALI files with No_Object=True in Alfa mode. | |
6387 * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether | |
6388 this is during frame condition generation of translation to Why. | |
6389 | |
6390 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6391 | |
6392 * exp_ch4.adb: Minor code reorganization | |
6393 * types.ads: Minor reformatting. | |
6394 | |
6395 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
6396 | |
6397 * opt.ads New global boolean Frame_Condition_Mode to avoid | |
6398 referring to command line switch. | |
6399 * gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G | |
6400 is present, and disable Code generation in that case. Disable | |
6401 ALI file generation when switch is *not* present. | |
6402 | |
6403 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6404 | |
6405 * sem_ch6.adb (Analyze_Expression_Function): Perform the | |
6406 pre-analysis on a copy of the expression, to prevent downstream | |
6407 visbility issues involving operators and instantiations. | |
6408 | |
6409 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
6410 | |
6411 * debug.adb: Reservation and documentation for -gnatd.G switch. | |
6412 * gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G | |
6413 switch, and set ALI file generation accordingly. | |
6414 | |
6415 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6416 | |
6417 * exp_ch4.adb, exp_dist.adb: Minor reformatting. | |
6418 * gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that | |
6419 check names introduced with pragma Check_Name are suppressed by -gnatp. | |
6420 | |
6421 2013-04-11 Vincent Celier <celier@adacore.com> | |
6422 | |
6423 * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project | |
6424 Files" from projects.texi to gnat_ugn.texi. | |
6425 | |
6426 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6427 | |
6428 * gcc-interface/Make-lang.in: Update dependencies. | |
6429 | |
6430 2013-04-11 Yannick Moy <moy@adacore.com> | |
6431 | |
6432 * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa | |
6433 mode. | |
6434 | |
6435 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> | |
6436 | |
6437 * exp_ch4.adb (Expand_N_Allocator): Detect the | |
6438 allocation of an anonymous controlled object where the type of | |
6439 the context is named. Use the pool and finalization master of | |
6440 the named access type to allocate the object. | |
6441 | |
6442 2013-04-11 Vincent Celier <celier@adacore.com> | |
6443 | |
6444 * gnat_ugn.texi: Remove most mentions of gprbuild. | |
6445 * projects.texi: Remove all mentions of asociative array | |
6446 attributes. | |
6447 | |
6448 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6449 | |
6450 * sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb, | |
6451 opt.ads, sem_ch13.adb: Minor reformatting. | |
6452 * debug.adb: Minor comment fix (remove junk .I doc). | |
6453 | |
6454 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6455 | |
6456 * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case | |
6457 PolyORB): Bump to 6. | |
6458 (Exp_Dist.PolyORB_Support): Replace TC_Build with | |
6459 Build_Complex_TC. | |
6460 | |
6461 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6462 | |
6463 * debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb, | |
6464 exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag. | |
6465 Enable this flag in CodePeer mode, and also via -gnatd.M. | |
6466 Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics. | |
6467 | |
6468 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6469 | |
6470 * sem_ch8.adb (Check_Constrained_Object): If a subtype is created | |
6471 from the renamed object in an object renaming declaration with | |
6472 an unconstrained nominal subtype, freeze the created subtype at | |
6473 once, to prevent order of elaboration issues in the backend. | |
6474 | |
6475 2013-04-11 Arnaud Charlet <charlet@adacore.com> | |
6476 | |
6477 * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size | |
6478 in particular in CodePeer mode. | |
6479 | |
6480 2013-04-11 Vincent Celier <celier@adacore.com> | |
6481 | |
6482 * gnat_ugn.texi: Add documentation for backup copies of project | |
6483 files for gnatname. | |
6484 | |
6485 2013-04-11 Tristan Gingold <gingold@adacore.com> | |
6486 | |
6487 * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile | |
6488 pragma list. | |
6489 | |
6490 2013-04-11 Vincent Celier <celier@adacore.com> | |
6491 | |
6492 * gnatname.adb (Scan_Args): Recognize new switch --no-backup | |
6493 (Usage): Add line for --no-backup. | |
6494 * opt.ads (No_Backup): New Boolean variable, initialized to False. | |
6495 (Ada_Version_Default): Switch to Ada 2012 by default. | |
6496 * prj-makr.adb (Initialize): Create a backup for an existing | |
6497 project file if gnatname is not invoked with --no-backup. | |
6498 | |
6499 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6500 | |
6501 * exp_ch4.adb: Minor code improvement: replace various calls to | |
6502 Make_If_Statement in expansion with Make_Implicit_If_Statement. | |
6503 | |
6504 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> | |
6505 | |
6506 * ali.adb: Fix minor typo. | |
6507 | |
6508 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6509 | |
6510 * exp_ch4.adb (Find_Enclosing_Context): Add missing case of | |
6511 N_Procedure_Call_Statement. | |
6512 | |
6513 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6514 | |
6515 * debug.adb: Minor comment fix. | |
6516 | |
6517 2013-04-11 Johannes Kanig <kanig@adacore.com> | |
6518 | |
6519 * debug.adb: Remove comment for -gnatd.G. | |
6520 | |
6521 2013-04-11 Thomas Quinot <quinot@adacore.com> | |
6522 | |
6523 * exp_ch4.adb (Expand_Record_Equality.Suitable_Element): | |
6524 Remove recursive routine, replace with... | |
6525 (Expand_Record_Equality.Element_To_Compare): New subroutine, | |
6526 implement iterative search for next element to compare. | |
6527 Add explanatory comment in the tagged case. | |
6528 | |
6529 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6530 | |
6531 * sem_ch5.adb: remove spurious warning from non-empty loop. | |
6532 * sem_ch8.adb (Enclosing_Instance): Make public to other routines | |
6533 in the package, in order to suppress redundant semantic checks | |
6534 on subprogram renamings in nested instantiations. | |
6535 | |
6536 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6537 | |
6538 * errout.ads: Minor reformatting. | |
6539 * sem_eval.adb (Why_Not_Static): Now issues continuation messages | |
6540 (Why_Not_Static): Test for aggregates behind string literals. | |
6541 * sem_eval.ads (Why_Not_Static): Now issues continuation messages. | |
6542 | |
6543 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6544 | |
6545 * exp_ch4.adb (Expand_Concatenation): Wrap expansion in | |
6546 Expressions_With_Actions. | |
6547 | |
6548 2013-04-11 Ed Schonberg <schonberg@adacore.com> | |
6549 | |
6550 * sem_ch6.adb (Base_Types_Match): For an actual type in an | |
6551 instance, the base type may itself be a subtype, so find true | |
6552 base type to determine compatibility. | |
6553 | |
6554 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6555 | |
6556 * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb. | |
6557 makeutl.adb, sem_ch8.adb: Minor reformatting. | |
6558 | |
6559 2013-04-11 Vincent Celier <celier@adacore.com> | |
6560 | |
6561 * gnat_ugn.texi: Minor fixes for VMS. | |
6562 * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?. | |
6563 | |
6564 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6565 | |
6566 * usage.adb (Usage): Minor edit to -gnatW message | |
6567 | |
6568 2013-04-11 Robert Dewar <dewar@adacore.com> | |
6569 | |
6570 * exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling | |
6571 others for string literal case. Also add big ??? comment about | |
6572 this new code, which should be redundant, but is not. | |
6573 * sem_eval.adb (Eval_Concatenation): Handle non-static case | |
6574 properly (Eval_String_Literal): Handle non-static literal properly | |
6575 | |
6576 2013-03-20 Tobias Burnus <burnus@net-b.de> | |
6577 | |
6578 * i-fortra.ads: Update comment, add Ada 2012's optional | |
6579 Star and Kind data types for enhanced interoperability. | |
6580 | |
6581 2013-03-16 Eric Botcazou <ebotcazou@adacore.com> | |
6582 | |
6583 * gnatvsn.ads (Library_Version): Bump to 4.9. | |
6584 | |
6585 2013-03-08 Cesar Strauss <cestrauss@gmail.com> | |
6586 | |
6587 PR ada/52123 | |
6588 * seh_init.c (Raise_From_Signal_Handler): Declare as no-return. | |
6589 (__gnat_SEH_error_handler): Likewise. Remove final return. | |
6590 | |
6591 2013-03-06 Eric Botcazou <ebotcazou@adacore.com> | |
6592 | |
6593 * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring | |
6594 out for an unimplemented attribute. | |
6595 | |
6596 2013-03-06 Eric Botcazou <ebotcazou@adacore.com> | |
6597 | |
6598 * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around | |
6599 a misaligned integral type if a size is specified for the field. | |
6600 | |
6601 2013-03-06 Eric Botcazou <ebotcazou@adacore.com> | |
6602 | |
6603 * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>: | |
6604 Record the unpadded type of the index type on the RCI stack. | |
6605 | |
6606 2013-03-06 Eric Botcazou <ebotcazou@adacore.com> | |
6607 | |
6608 * gcc-interface/trans.c (emit_range_check): Assert that the range type | |
6609 is a numerical type and remove useless local variables. | |
6610 | |
6611 2013-02-25 Eric Botcazou <ebotcazou@adacore.com> | |
6612 | |
6613 * gcc-interface/ada-tree.h: Back out change accidentally committed. | |
6614 | |
6615 2013-02-21 Jakub Jelinek <jakub@redhat.com> | |
6616 | |
6617 PR bootstrap/56258 | |
6618 * gnat-style.texi (@title): Remove @hfill. | |
6619 * projects.texi: Avoid line wrapping inside of @pxref or @xref. | |
6620 | |
6621 2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de> | |
6622 | |
6623 PR target/52123 | |
6624 * tracebak.c: Cast from pointer via FARPROC. | |
6625 | |
6626 2013-02-07 Simon Wright <simon@pushface.org> | |
6627 | |
6628 PR target/50678 | |
6629 * init.c (__darwin_major_version): New function for x86-64/Darwin. | |
6630 (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround | |
6631 on Darwin 12 and above. | |
6632 | |
6633 2013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de> | |
6634 | |
6635 PR target/52123 | |
6636 * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via | |
6637 SECURITY_DESCRIPTOR * | |
6638 (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE | |
6639 (__gnat_portable_spawn): Fix cast to char* const* | |
6640 (add_handle): Cast from pointer via void ** | |
6641 (add_handle): Cast from pointer via int * | |
6642 (__gnat_locate_exec_on_path): Cast from pointer via TCHAR * | |
6643 (__gnat_locate_exec_on_path): Cast from pointer via char * | |
6644 * initialize.c (append_arg): Cast from pointer via LPWSTR | |
6645 (__gnat_initialize): Cast from pointer via LPWSTR | |
6646 * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC | |
6647 | |
6648 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6649 | |
6650 * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations | |
6651 target pairs on VxWorks 5 only. | |
6652 | |
6653 2013-02-06 Arnaud Charlet <charlet@adacore.com> | |
6654 | |
6655 * gcc-interface/Make-lang.in: Update dependencies. | |
6656 | |
6657 2013-02-06 Vincent Celier <celier@adacore.com> | |
6658 | |
6659 * prj-proc.adb (Process_Aggregated_Projects): Use a new project | |
6660 node tree for each project tree rooted at an aggregated project. | |
6661 | |
6662 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6663 | |
6664 * sem_util.adb (Is_Interface_Conversion): New routine. | |
6665 (Object_Access_Level): Detect an interface conversion | |
6666 that has been rewritten into a different construct. Use the | |
6667 original form of the conversion to find the access level of | |
6668 the operand. | |
6669 | |
6670 2013-02-06 Eric Botcazou <ebotcazou@adacore.com> | |
6671 | |
6672 * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201. | |
6673 (Has_Pragma_No_Inline): Declare and mark as inline. | |
6674 (Set_Has_Pragma_No_Inline): Likewise. | |
6675 * einfo.adb (Has_Pragma_No_Inline): New function. | |
6676 (Set_Has_Pragma_No_Inline): New procedure. | |
6677 (Write_Entity_Flags): Handle Has_Pragma_No_Inline. | |
6678 * snames.ads-tmpl (Name_No_Inline): New pragma-related name. | |
6679 (Pragma_Id): Add Pragma_No_Inline value. | |
6680 * par-prag.adb (Prag): Handle Pragma_Inline. | |
6681 * sem_prag.adb (Inline_Status): New enumeration type. | |
6682 (Process_Inline): Change Active parameter | |
6683 to Inline_Status and add support for suppressed inlining. | |
6684 (Analyze_Pragma) <Pragma_Inline>: Adjust to above change. | |
6685 <Pragma_Inline_Always>: Likewise. | |
6686 <Pragma_No_Inline>: Implement new pragma No_Inline. | |
6687 (Sig_Flags): Add Pragma_No_Inline. | |
6688 * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline. | |
6689 * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline. | |
6690 | |
6691 2013-02-06 Pascal Obry <obry@adacore.com> | |
6692 | |
6693 * s-osprim-mingw.adb (Clock): Make sure we copy all data locally | |
6694 to avoid interleaved modifications that could happen from another | |
6695 task calling Get_Base_Data. | |
6696 (Get_Base_Data): Make it a critical section. Avoid updating if another | |
6697 task has already done it. | |
6698 | |
6699 2013-02-06 Eric Botcazou <ebotcazou@adacore.com> | |
6700 | |
6701 * sem_prag.adb: Minor reformatting. | |
6702 | |
6703 2013-02-06 Pascal Obry <obry@adacore.com> | |
6704 | |
6705 * s-tasloc.ads: Set System.Task_Lock to preelaborate. | |
6706 | |
6707 2013-02-06 Eric Botcazou <ebotcazou@adacore.com> | |
6708 | |
6709 * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll, | |
6710 Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related | |
6711 names. | |
6712 (Pragma_Id): Add Pragma_Loop_Optimize value. | |
6713 * par-prag.adb (Prag): Handle Pragma_Loop_Optimize. | |
6714 * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to... | |
6715 (Check_Loop_Pragma_Placement): ...this. | |
6716 (Analyze_Pragma) | |
6717 <Pragma_Loop_Invariant>: Adjust to above renaming. | |
6718 <Loop_Variant>: Likewise. | |
6719 <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize. | |
6720 (Sig_Flags): Add Pragma_Loop_Optimize. | |
6721 * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize. | |
6722 * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize. | |
6723 | |
6724 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6725 | |
6726 * osint.ads: Minor fix of typo. | |
6727 | |
6728 2013-02-06 Sergey Rybin <rybin@adacore.com frybin> | |
6729 | |
6730 * gnat_ugn.texi: gnatmetric: update the documentation of | |
6731 complexity metrics for Ada 2012. | |
6732 | |
6733 2013-02-06 Javier Miranda <miranda@adacore.com> | |
6734 | |
6735 * exp_disp.adb (Make_Secondary_DT): Code cleanup: | |
6736 remove useless initialization. | |
6737 | |
6738 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6739 | |
6740 * sem_ch3.adb (Build_Discriminant_Constraints): Do not | |
6741 generate overflow checks on a discriminant expression if the | |
6742 discriminant constraint is applied to a private type that has | |
6743 a full view, because the check will be applied when the full | |
6744 view is elaborated. Removing the redundant check is not just | |
6745 an optimization, but it prevents spurious assembler errors, | |
6746 because of the way the backend generates names for expressions | |
6747 that require overflow checking. | |
6748 | |
6749 2013-02-06 Pascal Obry <obry@adacore.com> | |
6750 | |
6751 * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker | |
6752 limitation on Windows. | |
6753 (DA): Removed. | |
6754 (LIA): Removed. | |
6755 (LLIA): Removed. | |
6756 (TFA): Removed. | |
6757 (BTA): Removed. | |
6758 (BMTA): Removed. | |
6759 (BCA): Removed. | |
6760 (BMCA): Removed. | |
6761 (BTiA): Removed. | |
6762 (Clock): Use variable corresponding to access. | |
6763 (Get_Base_Time): Likewise. | |
6764 (Monotonic_Clock): Likewise. | |
6765 | |
6766 2013-02-06 Vincent Celier <celier@adacore.com> | |
6767 | |
6768 * make.adb (Gnatmake): When gnatmake is called with a project | |
6769 file, do not invoke gnatbind with -I-. | |
6770 * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get | |
6771 the infos from all the sources. | |
6772 | |
6773 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6774 | |
6775 * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma | |
6776 Overriding_Renamings. | |
6777 * par-prag.adb: Recognize pragma Overriding_Renamings. | |
6778 * opt.ads (Overriding_Renamings): flag to control compatibility | |
6779 mode with Rational compiler, replaces Rational_Profile flag. | |
6780 * sem_ch8.adb (Analyze_Subprogram_Renaming): When | |
6781 Overriding_Renamings is enabled, accept renaming declarations | |
6782 where the new subprogram renames and overrides a locally inherited | |
6783 operation. Improve error message for some illegal renamings. | |
6784 * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings. | |
6785 (Set_Rational_Profile): The Rational_Profile enables | |
6786 Overriding_Renamings, Implicit_Packing, and Use_Vads_Size. | |
6787 | |
6788 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6789 | |
6790 * sem_util.adb: Set parent of copied aggregate component, to | |
6791 prevent infinite loop. | |
6792 | |
6793 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6794 | |
6795 * sem_ch3.adb, sem_ch10.adb: Minor reformatting. | |
6796 * exp_disp.adb: Minor comment update. | |
6797 * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of | |
6798 No_Return pragmas. | |
6799 | |
6800 2013-02-06 Thomas Quinot <quinot@adacore.com> | |
6801 | |
6802 * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target | |
6803 parameter, defaulted to False for now, indicates targets where | |
6804 non-default scalar storage order may be specified. | |
6805 | |
6806 2013-02-06 Thomas Quinot <quinot@adacore.com> | |
6807 | |
6808 * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private | |
6809 same as E_Record_Subtype. Display E_Class_Wide_Subtype as | |
6810 subtype, not type. | |
6811 | |
6812 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6813 | |
6814 * sem_ch3.adb (Complete_Private_Subtype): Inherit the | |
6815 Has_Unknown_Discriminants from the full view of the base type. | |
6816 | |
6817 2013-02-06 Tristan Gingold <gingold@adacore.com> | |
6818 | |
6819 * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h) | |
6820 Enclosing debugging functions within #ifndef inhibit_libc to | |
6821 support builds without full C headers. | |
6822 | |
6823 2013-02-06 Thomas Quinot <quinot@adacore.com> | |
6824 | |
6825 * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order. | |
6826 | |
6827 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6828 | |
6829 * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing | |
6830 check to detect a parent-child relationship between two units in | |
6831 order to correctly bypass the installation of a limited view. In | |
6832 other words, the comment on the intended usage of the check was | |
6833 correct, but the code itself did not reflect the behavior. | |
6834 | |
6835 2013-02-06 Javier Miranda <miranda@adacore.com> | |
6836 | |
6837 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the | |
6838 runtime check on assignment to tagged types if compiling with checks | |
6839 suppressed. | |
6840 | |
6841 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6842 | |
6843 * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb, | |
6844 s-os_lib.adb: Minor reformatting | |
6845 | |
6846 2013-02-06 Vincent Celier <celier@adacore.com> | |
6847 | |
6848 * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS. | |
6849 | |
6850 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6851 | |
6852 * snames.ads-tmpl: Add Name_Rational and pragma Rational. | |
6853 * par-prag.adb: Recognize pragma Rational. | |
6854 * opt.ads (Rational_Profile): flag to control compatibility mode | |
6855 with Rational compiler. | |
6856 * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile | |
6857 is enable, accept renaming declarations where the new subprogram | |
6858 and the renamed entity have the same name. | |
6859 * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize | |
6860 Rational as a profile. | |
6861 | |
6862 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6863 | |
6864 * exp_ch5.adb (Expand_Loop_Entry_Attributes): When | |
6865 dealing with a for loop that iterates over a subtype indication | |
6866 with a range, use the low and high bounds of the subtype. | |
6867 | |
6868 2013-02-06 Nicolas Roche <roche@adacore.com> | |
6869 | |
6870 * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should | |
6871 be quoted | |
6872 | |
6873 2013-02-06 Vincent Celier <celier@adacore.com> | |
6874 | |
6875 * prj-conf.adb (Process_Project_And_Apply_Config): New variable | |
6876 Conf_Project. New recursive procedure Check_Project to find a non | |
6877 aggregate project and put its Project_Id in Conf_Project. Fails if | |
6878 no such project can be found. | |
6879 (Get_Or_Create_Configuration_File): New parameter Conf_Project. | |
6880 (Do_Autoconf): Use project directory of project Conf_Project to store | |
6881 the generated configuration project file. | |
6882 * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter | |
6883 Conf_Project. | |
6884 | |
6885 2013-02-06 Javier Miranda <miranda@adacore.com> | |
6886 | |
6887 * sem_res.adb (Resolve_Actuals): Generate a read | |
6888 reference for out-mode parameters in the cases specified by | |
6889 RM 6.4.1(12). | |
6890 | |
6891 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6892 | |
6893 * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of | |
6894 Loop_Entry, instead wait until the attribute has been expanded. The | |
6895 delay ensures that any generated checks or temporaries are inserted | |
6896 before the relocated prefix. | |
6897 | |
6898 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6899 | |
6900 * sem_ch12.adb: Code clean up. | |
6901 | |
6902 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6903 | |
6904 * checks.adb (Apply_Discriminant_Check): Look for discriminant | |
6905 constraint in full view of private type when needed. | |
6906 * sem_ch12.adb (Validate_Array_Type_Instance): Specialize | |
6907 previous patch to components types that are private and without | |
6908 discriminants. | |
6909 | |
6910 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6911 | |
6912 * exp_ch4.adb (Find_Enclosing_Context): Recognize | |
6913 a simple return statement as one of the cases that require special | |
6914 processing with respect to temporary controlled function results. | |
6915 (Process_Transient_Object): Do attempt to finalize a temporary | |
6916 controlled function result when the associated context is | |
6917 a simple return statement. Instead, leave this task to the | |
6918 general finalization mechanism. | |
6919 | |
6920 2013-02-06 Thomas Quinot <quinot@adacore.com> | |
6921 | |
6922 * einfo.ads: Minor reformatting. | |
6923 (Status_Flag_Or_Transient_Decl): Add ??? comment. | |
6924 | |
6925 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> | |
6926 | |
6927 * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This | |
6928 routine should be able to properly detect controlled transient | |
6929 objects in its actions and generate the appropriate finalization | |
6930 actions. | |
6931 * exp_ch6.adb (Enclosing_Context): Removed. | |
6932 (Expand_Ctrl_Function_Call): Remove local subprogram and | |
6933 constant. Use routine Within_Case_Or_If_Expression to determine | |
6934 whether the lifetime of the function result must be extended to | |
6935 match that of the context. | |
6936 * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New | |
6937 routine. | |
6938 | |
6939 2013-02-06 Ed Schonberg <schonberg@adacore.com> | |
6940 | |
6941 * sem_ch12.adb (Validate_Array_Type_Instance): Extend check | |
6942 for subtype matching of component type of formal array type, | |
6943 to avoid spurious error when component type is a separate actual | |
6944 in the instance, and there may be a discrepancy between private | |
6945 and full view of component type. | |
6946 | |
6947 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6948 | |
6949 * s-dim.ads, clean.adb: Minor reformatting. | |
6950 | |
6951 2013-02-06 Javier Miranda <miranda@adacore.com> | |
6952 | |
6953 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch. | |
6954 (Can_Split_Unconstrained_Function): Only split the inlined function if | |
6955 the compiler generates the code of its body. | |
6956 | |
6957 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6958 | |
6959 * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb, | |
6960 exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for | |
6961 N_Pragma nodes. | |
6962 | |
6963 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6964 | |
6965 * gnat_rm.texi: Minor text updates for pragma Warning. | |
6966 | |
6967 2013-02-06 Geert Bosch <bosch@adacore.com> | |
6968 | |
6969 * s-multip.adb (Number_Of_CPUs): Short-circuit in case of | |
6970 CPU'Last = 1. | |
6971 | |
6972 2013-02-06 Vincent Celier <celier@adacore.com> | |
6973 | |
6974 * clean.adb (Delete): On VMS use host notation to delete all files. | |
6975 | |
6976 2013-02-06 Robert Dewar <dewar@adacore.com> | |
6977 | |
6978 * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor | |
6979 reformatting. | |
6980 | |
6981 2013-02-06 Gary Dismukes <dismukes@adacore.com> | |
6982 | |
6983 * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for | |
6984 the special case of a user-defined equality that overrides | |
6985 the predefined equality of a nonderived type declared in a | |
6986 declarative part. | |
6987 * sem_util.adb (Collect_Primitive_Operations): Add test for | |
6988 Is_Primitive when looping over the subprograms following a type, | |
6989 to catch the case of primitives such as a user-defined equality, | |
6990 which otherwise won't be found when the type is not a derived | |
6991 type and is declared in a declarative part. | |
6992 | |
6993 2013-02-06 Vincent Celier <celier@adacore.com> | |
6994 | |
6995 * prj-conf.adb (Check_Target): Always return True when Target | |
6996 is empty (Get_Or_Create_Configuration_File.Get_Project_Target): | |
6997 New procedure to get the value of attribute Target in the main | |
6998 project. | |
6999 (Get_Or_Create_Configuration_File.Do_Autoconf): No | |
7000 need to get the value of attribute Target in the main project. | |
7001 (Get_Or_Create_Configuration_File): Call Get_Project_Target and | |
7002 use the target fom this call. | |
7003 | |
7004 2013-02-06 Eric Botcazou <ebotcazou@adacore.com> | |
7005 | |
7006 * erroutc.adb (Validate_Specific_Warning): Do not issue the | |
7007 warning about an ineffective Pragma Warnings for -Wxxx warnings. | |
7008 * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings. | |
7009 * gnat_rm.texi (Pragma Warnings): Document coordination with | |
7010 warnings of the GCC back-end. | |
7011 | |
7012 2013-02-06 Javier Miranda <miranda@adacore.com> | |
7013 | |
7014 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body | |
7015 of an inlined function if we do not generate code for the function. | |
7016 | |
7017 2013-02-06 Pascal Obry <obry@adacore.com> | |
7018 | |
7019 * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname | |
7020 with Resolve_Links set to False. | |
7021 | |
7022 2013-02-03 Eric Botcazou <ebotcazou@adacore.com> | |
7023 | |
7024 * gcc-interface/decl.c: Include diagnostic-core.h. | |
7025 (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order | |
7026 is set on the entity. | |
7027 <E_Record_Type>: Likewise. | |
7028 * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H). | |
7029 | |
7030 2013-01-29 Ben Brosgol <brosgol@adacore.com> | |
7031 | |
7032 * gnat_rm.texi: Fixed typos. Minor edits. | |
7033 | |
7034 2013-01-29 Bob Duff <duff@adacore.com> | |
7035 | |
7036 * a-convec.adb: Minor reformatting. | |
7037 | |
7038 2013-01-29 Pascal Obry <obry@adacore.com> | |
7039 | |
7040 * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp | |
7041 directory. | |
7042 | |
7043 2013-01-29 Ed Schonberg <schonberg@adacore.com> | |
7044 | |
7045 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop | |
7046 identifier only if it comes from source. | |
7047 (Expand_N_Loop_Statement): If the domain of iteration is an | |
7048 enumeration type with a representation clause, remove from | |
7049 visibility the loop identifier before rewriting the loop as a | |
7050 block with a declaration for said identifier. | |
7051 * sem_util.adb (Remove_Homonym): Handle properly the default case. | |
7052 | |
7053 2013-01-29 Vincent Celier <celier@adacore.com> | |
7054 | |
7055 * prj-proc.adb: Minor comment spelling fix. | |
7056 | |
7057 2013-01-29 Pascal Obry <obry@adacore.com> | |
7058 | |
7059 * prj-proc.adb (Process_Expression_Variable_Decl): Prepend | |
7060 Project_Path to current environment. | |
7061 | |
7062 2013-01-29 Thomas Quinot <quinot@adacore.com> | |
7063 | |
7064 * sprint.adb (Sprint_Node_Actual): Output freeze nodes for | |
7065 itypes even if Dump_Freeze_Null is not set. | |
7066 | |
7067 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7068 | |
7069 * sem_util.adb: Minor reformatting. | |
7070 * s-rident.ads: Minor comment fixes. | |
7071 | |
7072 2013-01-29 Pascal Obry <obry@adacore.com> | |
7073 | |
7074 * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to | |
7075 control if the path is prepended or appended. | |
7076 | |
7077 2013-01-29 Ed Schonberg <schonberg@adacore.com> | |
7078 | |
7079 * sem_ch6.adb (Analyze_Expression_Function): An expression | |
7080 function declaration is not a subprogram declaration, and thus | |
7081 cannot appear in a protected definition. | |
7082 | |
7083 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com> | |
7084 | |
7085 * exp_util.adb (Insert_Actions): When new | |
7086 actions come from the expression of the expression with actions, | |
7087 then they must be added to the list of existing actions. | |
7088 | |
7089 2013-01-29 Eric Botcazou <ebotcazou@adacore.com> | |
7090 | |
7091 * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For | |
7092 the subtype of a constrained private type with discriminants | |
7093 that has got a full view, show that the completion is a clone | |
7094 of the full view. | |
7095 | |
7096 2013-01-29 Javier Miranda <miranda@adacore.com> | |
7097 | |
7098 * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram. | |
7099 * opt.ads (Warn_On_Overlap): Update documentation. | |
7100 * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate): | |
7101 Check function writable actuals. | |
7102 * sem_ch3.adb (Build_Derived_Record_Type, | |
7103 Record_Type_Declaration): Check function writable actuals. | |
7104 * sem_ch4.adb (Analyze_Range): Check function writable actuals. | |
7105 * sem_ch5.adb (Analyze_Assignment): Remove code of the initial | |
7106 implementation of AI05-0144. | |
7107 * sem_ch6.adb (Analyze_Function_Return, | |
7108 (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code | |
7109 of the initial implementation of AI05-0144. | |
7110 * sem_res.adb (Resolve): Remove code of the initial implementation. | |
7111 (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call | |
7112 of the initial implementation. | |
7113 (Resolve_Arithmetic_Op, Resolve_Logical_Op, | |
7114 Resolve_Membership_Op): Check function writable actuals. | |
7115 * sem_util.ad[sb] (Actuals_In_Call): Removed | |
7116 (Check_Order_Dependence): Removed (Save_Actual): Removed | |
7117 (Check_Function_Writable_Actuals): New subprogram. | |
7118 * usage.adb (Usage): Update documentation. | |
7119 * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when | |
7120 setting all warnings. | |
7121 | |
7122 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7123 | |
7124 * a-calend-vms.adb: Minor comment fix. | |
7125 | |
7126 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7127 | |
7128 * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash | |
7129 because of casing issues. | |
7130 * sem_util.ads: Minor comment fix. | |
7131 * style.adb (Check_Identifier): Set proper casing for entities | |
7132 in ASCII. | |
7133 * styleg.adb: Minor comment improvement. | |
7134 * stylesw.ads (Style_Check_Standard): Fix bad comments. | |
7135 | |
7136 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com> | |
7137 | |
7138 * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global. | |
7139 (Analyze_Pragma): Push the scope of the related subprogram and install | |
7140 its formals once before starting the analysis of the [moded] global | |
7141 list. | |
7142 | |
7143 2013-01-29 Pascal Obry <obry@adacore.com> | |
7144 | |
7145 * prj-proc.adb (Process_Expression_Variable_Decl): Always handle | |
7146 relative paths in Project_Path as relative to the aggregate | |
7147 project location. Note that this was what was documented. | |
7148 | |
7149 2013-01-29 Vincent Celier <celier@adacore.com> | |
7150 | |
7151 * gnatcmd.adb: For "gnat stub -P ...", do not check the naming | |
7152 scheme for Ada, when Ada is not a language for the project. | |
7153 | |
7154 2013-01-29 Ed Schonberg <schonberg@adacore.com> | |
7155 | |
7156 * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit | |
7157 Is_Generic_Actual_Type flag in a nested instance. | |
7158 * sem_ch12.adb (Restore_Private_Views): Preserve | |
7159 Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type | |
7160 of an enclosing instance. | |
7161 * sem_util.adb (Corresponding_Generic_Type): Handle generic actual | |
7162 which is an actual of an enclosing instance. | |
7163 * sem_type.adb (Real_Actual): If a generic_actual_type is the | |
7164 formal of an enclosing generic and thus renames the corresponding | |
7165 actual, use the actual of the enclosing instance to resolve | |
7166 spurious ambiguities in instantiations when two formals are | |
7167 instantiated with the same actual. | |
7168 | |
7169 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7170 | |
7171 * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as | |
7172 being available as implementation-defined pragmas in earlier | |
7173 versions of Ada. | |
7174 | |
7175 2013-01-29 Vincent Celier <celier@adacore.com> | |
7176 | |
7177 * clean.adb (Delete): On VMS, delete all versions of the file. | |
7178 | |
7179 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7180 | |
7181 * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure. | |
7182 * par-util.adb (No_Constraint): Undo special handling, moved | |
7183 to par-ch6.adb. | |
7184 | |
7185 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7186 | |
7187 * aspects.ads: Aspect Warnings is implementation defined Add | |
7188 some other missing entries to impl-defined list Mark Warnings | |
7189 as GNAT pragma in main list. | |
7190 * sem_ch8.adb: Process aspects for all cases of renaming | |
7191 declarations. | |
7192 | |
7193 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7194 | |
7195 * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag. | |
7196 * sem_elab.adb (Check_Internal_Call_Continue): Do not issue | |
7197 warnings about possible elaboration error if call is within | |
7198 an assertion. | |
7199 * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node. | |
7200 | |
7201 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7202 | |
7203 * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb, | |
7204 * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb, | |
7205 s-tasdeb-vms.adb: Replace pragma Interface by pragma Import. | |
7206 | |
7207 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7208 | |
7209 * opt.ads (Ignore_Style_Checks_Pragmas): New flag. | |
7210 * par-prag.adb (Par, case Style_Checks): Recognize | |
7211 Ignore_Style_Checks_Pragmas. | |
7212 * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize | |
7213 Ignore_Style_Checks_Pragmas. | |
7214 * switch-c.adb: Recognize -gnateY switch. | |
7215 * usage.adb: Add documentation for "-gnateY". | |
7216 * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY). | |
7217 | |
7218 2013-01-29 Vincent Celier <celier@adacore.com> | |
7219 | |
7220 * clean.adb (Clean_Executables): Add Sid component when calling | |
7221 Queue.Insert. | |
7222 * make.adb: When inserting in the Queue, add the Source_Id | |
7223 (Sid) when it is known (Start_Compile_If_Possible): When the | |
7224 Source_Id is known (Sid), get the path name of the ALI file | |
7225 (Full_Lib_File) from it, to avoid finding old ALI files in other | |
7226 object directories. | |
7227 * makeutl.ads (Source_Info): New Source_Id component Sid in | |
7228 Format_Gnatmake variant. | |
7229 | |
7230 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7231 | |
7232 * gnat_ugn.texi: Document -gnateY. | |
7233 | |
7234 2013-01-29 Doug Rupp <rupp@adacore.com> | |
7235 | |
7236 * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads, | |
7237 system-vms-ia64.ads: Replace pragma Interface by pragma Import. | |
7238 | |
7239 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7240 | |
7241 * atree.ads, atree.adb (Node30): New function. | |
7242 (Set_Node30): New procedure. | |
7243 (Num_Extension_Nodes): Change to 5 (activate new fields/flags). | |
7244 * atree.h: Add macros for Field30 and Node30. | |
7245 * einfo.ads, einfo.adb: Move some fields to avoid duplexing. | |
7246 * treepr.adb (Print_Entity_Information): Print fields 30-35. | |
7247 | |
7248 2013-01-29 Robert Dewar <dewar@adacore.com> | |
7249 | |
7250 * sem_prag.adb (Analyze_Pragma, case Interface): Consider to | |
7251 be a violation of No_Obsolescent_Features even in Ada 95. Also | |
7252 generates a warning in -gnatwj mode. | |
7253 (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj | |
7254 mode. | |
7255 * gnat_ugn.texi: Additional documentation on -gnatwj and pragma | |
7256 Interface[_Name]. | |
7257 | |
7258 2013-01-29 Vincent Celier <celier@adacore.com> | |
7259 | |
7260 * snames.ads-tmpl: Add new standard name Trailing_Switches. | |
7261 | |
7262 2013-01-29 Ed Schonberg <schonberg@adacore.com> | |
7263 | |
7264 * sem_disp.adb (Check_Controlling_Type): If a designated type T | |
7265 of an anonymous access type is a limited view of a tagged type, | |
7266 it can be a controlling type only if the subprogram is in the | |
7267 same scope as T. | |
7268 | |
7269 2013-01-29 Vincent Celier <celier@adacore.com> | |
7270 | |
7271 * gnatcmd.adb: Use the project where the config pragmas file is | |
7272 declared to get its path. | |
7273 | |
7274 2013-01-29 Vincent Celier <celier@adacore.com> | |
7275 | |
7276 * prj-attr.adb: New attribute Linker'Trailing_Switches. | |
7277 | |
7278 2013-01-22 Eric Botcazou <ebotcazou@adacore.com> | |
7279 | |
7280 * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do | |
7281 not translate the Etype of the node before translating the Actions. | |
7282 | |
7283 2013-01-22 Eric Botcazou <ebotcazou@adacore.com> | |
7284 | |
7285 * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size | |
7286 instead of optimize and adjust warning message. | |
7287 (Compilation_Unit_to_gnu): Process pragmas preceding the unit. | |
7288 | |
7289 2013-01-22 Tristan Gingold <gingold@adacore.com> | |
7290 | |
7291 * gcc-interface/gigi.h (ADT_unhandled_except_decl, | |
7292 ADT_unhandled_others_decl): New. | |
7293 (unhandled_others_decl, unhandled_except_decl): Define. | |
7294 * gcc-interface/trans.c: Include common/common-target.h. | |
7295 (gigi): Initialize them. | |
7296 (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main | |
7297 function in a try/catch clause. | |
7298 | |
7299 2013-01-11 Eric Botcazou <ebotcazou@adacore.com> | |
7300 | |
7301 * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata. | |
7302 (CHECKING_ADAFLAGS): New. | |
7303 (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS. | |
7304 | |
7305 2013-01-10 Eric Botcazou <ebotcazou@adacore.com> | |
7306 | |
7307 * gcc-interface/config-lang.in (boot_language_boot_flags): Delete. | |
7308 * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise. | |
7309 | |
7310 2013-01-07 Eric Botcazou <ebotcazou@adacore.com> | |
7311 | |
7312 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust | |
7313 comment about type extension with discriminants. | |
7314 <E_Record_Subtype>: Remove useless test and reorder conditions. | |
7315 (elaborate_entity) <E_Record_Subtype>: Likewise. | |
7316 | |
7317 2013-01-07 Richard Biener <rguenther@suse.de> | |
7318 | |
7319 PR ada/864 | |
7320 * gcc-interface/Make-lang.in (ada.install-common): Always apply | |
7321 program_transform_name. | |
7322 | |
7323 2013-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
7324 | |
7325 * gnatvsn.ads (Current_Year): Bump to 2013. | |
7326 | |
7327 2013-01-06 Olivier Hainque <hainque@adacore.com> | |
7328 | |
7329 * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized | |
7330 diagnostic for component size mismatch wrt volatile requirements. | |
7331 Add a gcc_unreachable() at the end of the checks for size. Split | |
7332 the check on volatile for positions into one check on atomic and | |
7333 a subsequent one on volatile. | |
7334 | |
7335 2013-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
7336 | |
7337 * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete. | |
7338 | |
7339 2013-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
7340 | |
7341 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not | |
7342 pack the field of the record type made for a misaligned type. | |
7343 | |
7344 2013-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
7345 | |
7346 * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared | |
7347 for discriminants inherited from parent record types. | |
7348 | |
7349 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7350 | |
7351 * warnsw.adb: Minor fixes to -gnatw.d handling. | |
7352 | |
7353 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7354 | |
7355 * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more | |
7356 fields. | |
7357 | |
7358 2013-01-04 Joel Brobecker <brobecker@adacore.com> | |
7359 | |
7360 * gnat_ugn.texi: Fix typo. | |
7361 | |
7362 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7363 | |
7364 * gnat_rm.texi: Document alignment choice for subtypes. | |
7365 | |
7366 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7367 | |
7368 * validsw.ads: Minor fix to comment. | |
7369 | |
7370 2013-01-04 Doug Rupp <rupp@adacore.com> | |
7371 | |
7372 * Makefile.rtl (GNATRTL_NONTASKING_OBJS, | |
7373 GNATRTL_ALTIVEC_OBJS): Factor g-al* objects. | |
7374 * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources. | |
7375 (GNATRTL_ALTIVEC_OBJS): Override to null for VMS. | |
7376 Rename leon vxworks toolchain as leon-wrs-vxworks. | |
7377 * gcc-interface/Make-lang.in: Update dependencies | |
7378 | |
7379 2013-01-04 Pascal Obry <obry@adacore.com> | |
7380 | |
7381 * prj.ads (For_Each_Source): Add Locally_Removed parameter. | |
7382 (Source_Iterator): Add Locally_Removed field. | |
7383 * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed. | |
7384 (Next): Likewise. | |
7385 | |
7386 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7387 | |
7388 * exp_attr.adb: Minor reformatting. | |
7389 | |
7390 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7391 | |
7392 * checks.adb (Insert_Valid_Check): Fix handling of renamed | |
7393 packed array element. | |
7394 * exp_ch4.adb (Expand_Concatenate): Fix some missing parent | |
7395 fields in generated code. | |
7396 * exp_util.adb (Side_Effect_Free): Improve detection of cases | |
7397 needing renaming. | |
7398 | |
7399 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7400 | |
7401 * sinfo.ads: Clean up order of N_xxx subtypes | |
7402 | |
7403 2013-01-04 Vincent Celier <celier@adacore.com> | |
7404 | |
7405 * prj-conf.adb (Check_Target): Allow --autoconf= with no target. | |
7406 | |
7407 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7408 | |
7409 * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting. | |
7410 | |
7411 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7412 | |
7413 * par-ch6.adb (P_Subprogram): Better handling of missing IS | |
7414 after expression function. | |
7415 * par-util.adb (No_Constraint): Improve handling to avoid bad warnings. | |
7416 | |
7417 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7418 | |
7419 * exp_util.ads, exp_util.adb (Insert_Actions): In expression with | |
7420 actions case, new actions are appended to the sequence rather than | |
7421 prepended. | |
7422 | |
7423 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7424 | |
7425 * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode). | |
7426 * usage.adb: Add lines for -gnatw.d/w.D switches. | |
7427 * warnsw.adb: Minor fixes (some missing cases of setting | |
7428 Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode. | |
7429 | |
7430 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7431 | |
7432 * exp_util.adb (Remove_Side_Effects): Make sure scope suppress | |
7433 is restored on exit. | |
7434 | |
7435 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7436 | |
7437 * usage.adb: Document -gnateF (check overflow for predefined Float). | |
7438 | |
7439 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7440 | |
7441 * sem_res.adb (Resolve_Type_Conversion): Remove incorrect | |
7442 prevention of call to Apply_Type_Conversion_Checks, which resulted | |
7443 in missing check flags in formal mode. | |
7444 | |
7445 2013-01-04 Vincent Celier <celier@adacore.com> | |
7446 | |
7447 * makeutl.ads (Db_Switch_Args): New table used by gprbuild. | |
7448 * prj-conf.adb (Check_Builder_Switches): Check for switches | |
7449 --config= (Get_Db_Switches): New procedure to get the --db | |
7450 switches so that they are used when invoking gprconfig in | |
7451 auto-configuration. | |
7452 (Do_Autoconf): When invoking gprconfig, use the --db switches, if any. | |
7453 | |
7454 2013-01-04 Pascal Obry <obry@adacore.com> | |
7455 | |
7456 * prj-nmsc.adb: Minor reformatting. | |
7457 | |
7458 2013-01-04 Vincent Celier <celier@adacore.com> | |
7459 | |
7460 * makeutl.ads (Root_Environment): New variable, moved rom | |
7461 gprbuild (Load_Standard_Base): New Boolean variable, moved | |
7462 from gprbuild. | |
7463 * prj-conf.adb (Check_Builder_Switches): New procedure to check | |
7464 for switch --RTS in package Builder. If a runtime specified | |
7465 by --RTS is a relative path name, but not a base name, then | |
7466 find the path on the Project Search Path. | |
7467 (Do_Autoconf): Call Check_Builder_Switches. | |
7468 (Locate_Runtime): New procedure, moved from gprbuild, to get the | |
7469 absolute paths of runtimes when they are not specified as a base name. | |
7470 * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild. | |
7471 | |
7472 2013-01-04 Ed Schonberg <schonberg@adacore.com> | |
7473 | |
7474 * sem_ch3.adb (Build_Private_Derived_Type): Set | |
7475 Has_Private_Ancestor on type derived from an untagged private | |
7476 type whose full view has discriminants | |
7477 * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension | |
7478 aggregate for untagged record type with private ancestor. | |
7479 | |
7480 2013-01-04 Thomas Quinot <quinot@adacore.com> | |
7481 | |
7482 * sem_elab.adb, sem_ch3.adb: Minor reformatting. | |
7483 | |
7484 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7485 | |
7486 * table.adb: Minor reformatting. | |
7487 | |
7488 2013-01-04 Ed Schonberg <schonberg@adacore.com> | |
7489 | |
7490 * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does | |
7491 not come from source does not generate a warning for redundant | |
7492 with_clauses. | |
7493 | |
7494 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com> | |
7495 | |
7496 * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables. | |
7497 * par-prag.adb: Add pragma Global to the list of pragmas that | |
7498 do not need special processing by the parser. | |
7499 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect | |
7500 Global into a pragma without any form of legality checks. The | |
7501 work is done by Analyze_Pragma. The aspect and pragma are both | |
7502 marked as needing delayed processing. Insert the corresponding | |
7503 pragma of aspect Abstract_State in the visible declarations of the | |
7504 related package. | |
7505 (Check_Aspect_At_Freeze_Point): Aspect Global | |
7506 does not need processing even though it is marked as delayed. | |
7507 Alphabetize the list on aspect names. | |
7508 * sem_prag.adb: Add a value for pragma Global in table Sig_Flags. | |
7509 (Analyze_Pragma): Add ??? comment about the grammar of pragma | |
7510 Abstract_State. Move the error location from the pragma to the | |
7511 state to improve the quality of error placement. Add legality | |
7512 checks for pragma Global. | |
7513 * snames.ads-tmpl Add the following specially recognized names | |
7514 | |
7515 2013-01-04 Eric Botcazou <ebotcazou@adacore.com> | |
7516 | |
7517 * sem_ch3.adb: Fix minor typo. | |
7518 | |
7519 2013-01-04 Ed Schonberg <schonberg@adacore.com> | |
7520 | |
7521 * par-ch13.adb (Aspect_Specifications_Present): In Strict mode, | |
7522 accept an aspect name followed by a comma, indicating a defaulted | |
7523 boolean aspect. | |
7524 | |
7525 2013-01-04 Joel Brobecker <brobecker@adacore.com> | |
7526 | |
7527 * gnat_ugn.texi: Document procedure to codesign GDB on Darwin. | |
7528 Update doc on gnattest --separates switch. | |
7529 | |
7530 2013-01-04 Thomas Quinot <quinot@adacore.com> | |
7531 | |
7532 * s-chepoo.ads: Minor reformatting. | |
7533 | |
7534 2013-01-04 Arnaud Charlet <charlet@adacore.com> | |
7535 | |
7536 * usage.adb: Remove mention of -gnatN in usage. | |
7537 | |
7538 2013-01-04 Robert Dewar <dewar@adacore.com> | |
7539 | |
7540 * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb, | |
7541 freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb, | |
7542 prj-conf.adb, sem_ch13.adb: Minor reformatting. | |
7543 | |
7544 2013-01-04 Thomas Quinot <quinot@adacore.com> | |
7545 | |
7546 * sinfo.ads: Minor documentation update. | |
7547 | |
7548 2013-01-04 Thomas Quinot <quinot@adacore.com> | |
7549 | |
7550 * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind | |
7551 before resolving initialization expression. | |
7552 | |
7553 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com> | |
7554 | |
7555 * checks.adb (Generate_Index_Checks): Delay the generation of | |
7556 the check for an indexed component where the prefix mentions | |
7557 Loop_Entry until the attribute has been properly expanded. | |
7558 * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor | |
7559 decoration of the constant that captures the value of Loop_Entry's | |
7560 prefix at the entry point into a loop. Generate index checks | |
7561 for an attribute reference that has been transformed into an | |
7562 indexed component. | |
7563 | |
7564 2013-01-04 Thomas Quinot <quinot@adacore.com> | |
7565 | |
7566 * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb, | |
7567 sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to | |
7568 do if Obj is already frozen. | |
7569 (Exp_Util.Find_Init_Call): Rename to... | |
7570 (Exp_Util.Remove_Init_Call): New subprogram, renamed from | |
7571 Find_Init_Call. Remove the initialization call from the enclosing | |
7572 list if found, and if it is from an Initialization_Statements | |
7573 attribute, reset it. | |
7574 (Exp_Util.Append_Freeze_Action): Minor code reorganization. | |
7575 (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been | |
7576 allocated (as is already done in Append_Freeze_Action). | |
7577 (Freeze.Freeze_Entity): For an object with captured | |
7578 Initialization_Statements and non-delayed freezeing, unwrap the | |
7579 initialization statements and insert and them directly in the | |
7580 enclosing list. | |
7581 (Sem_Ch13.Check_Address_Clause): For an object | |
7582 with Initialization_Statements and an address clause, unwrap the | |
7583 initialization statements when moving them to the freeze actions. | |
7584 | |
7585 2013-01-03 Pascal Obry <obry@adacore.com> | |
7586 | |
7587 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and | |
7588 corresponding attibutes. | |
7589 | |
7590 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7591 | |
7592 * exp_aggr.adb: Minor comment improvement. | |
7593 | |
7594 2013-01-03 Hristian Kirtchev <kirtchev@adacore.com> | |
7595 | |
7596 * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the | |
7597 relevant tables. | |
7598 * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to | |
7599 the description of fields (Abstract_States): New routine. | |
7600 (Integrity_Level): New routine. | |
7601 (Has_Property): New routine. | |
7602 (Is_Input_State): New routine. | |
7603 (Is_Null_State): New routine. | |
7604 (Is_Output_State): New routine. | |
7605 (Is_Volatile_State): New routine. | |
7606 (Refined_State): New routine. | |
7607 (Set_Abstract_States): New routine. | |
7608 (Set_Integrity_Level): New routine. | |
7609 (Set_Refined_State): New routine. | |
7610 (Write_Field8_Name): Add proper output for E_Abstract_State. | |
7611 (Write_Field9_Name): Add proper output for E_Abstract_State. | |
7612 (Write_Field25_Name): Add proper output for E_Package. | |
7613 * lib-xref.ads: Add new letter for an abstract state. | |
7614 * par-prag.adb: Add pragma Abstract_State to the list of pragma | |
7615 that do not need special processing by the parser. | |
7616 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert | |
7617 aspect Abstract_State into a pragma without any form | |
7618 of legality checks. The work is done by Analyze_Pragma. | |
7619 (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not | |
7620 require delayed analysis. | |
7621 * sem_prag.adb: Add a value for pragma Abstract_State in table | |
7622 Sig_Flags. | |
7623 (Analyze_Pragma): Add legality checks for pragma | |
7624 Abstract_State. Analysis of individual states introduces a state | |
7625 abstraction entity into the visibility chain. | |
7626 * snames.ads-tmpl: Add new names for abstract state and | |
7627 integrity. Add new pragma id for abstract state. | |
7628 | |
7629 2013-01-03 Bob Duff <duff@adacore.com> | |
7630 | |
7631 * table.adb (Reallocate): Calculate new Length in | |
7632 Long_Integer to avoid overflow. | |
7633 | |
7634 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7635 | |
7636 * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb | |
7637 (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that | |
7638 it is set properly when expanding the initialization expression. | |
7639 (Freeze.Check_Address_Clause): Transfer initialization expression | |
7640 to an assignment in the freeze actions, so that the object is | |
7641 initialized only after being elaborated by GIGI. | |
7642 (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow | |
7643 a Null_Statement as the expression in an Expression_With_Actions. | |
7644 (Exp_Aggr.Collect_Initialization_Statements): New subprogram | |
7645 shared by expansion of record and array aggregates, used to | |
7646 capture statements for an aggregate used to initalize an object | |
7647 into an Expression_With_Actions (which acts as a container for | |
7648 a list of actions). | |
7649 (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to | |
7650 capture initialization statements, instead of the previously | |
7651 existing loop which left freeze nodes out of the capturing | |
7652 construct (causing out of order elaboration crashes in GIGI). | |
7653 (Exp_Aggr.Expand_Array_Aggregate): Use the above to capture | |
7654 initialization statements (this was previously not done for | |
7655 arrays). Also do not unconditionally prevent in place expansion | |
7656 for an object with address clause. | |
7657 | |
7658 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7659 | |
7660 * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that | |
7661 a record extension has the same scalar storage order as the parent type. | |
7662 | |
7663 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7664 | |
7665 * exp_ch4.adb: Add comment. | |
7666 | |
7667 2013-01-03 Vincent Celier <celier@adacore.com> | |
7668 | |
7669 * prj.adb: Minor spelling error correction in comment. | |
7670 | |
7671 2013-01-03 Vincent Celier <celier@adacore.com> | |
7672 | |
7673 * gnatcmd.adb (GNATCmd): If a single main has been specified | |
7674 as an absolute path, use its simple file name to find specific | |
7675 switches, instead of the absolute path. | |
7676 | |
7677 2013-01-03 Javier Miranda <miranda@adacore.com> | |
7678 | |
7679 * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping | |
7680 parameters that are record types or array types generate warnings | |
7681 only compiling under -gnatw.i | |
7682 * opt.ads (Extensions_Allowed): Restore previous documentation. | |
7683 | |
7684 2013-01-03 Vincent Celier <celier@adacore.com> | |
7685 | |
7686 * prj-conf.adb (Do_Autoconf): If Target is specified in the | |
7687 main project, but not on the command line, use the Target in | |
7688 the project to invoke gprconfig in auto-configuration. | |
7689 * makeutl.ads (Default_Config_Name): New constant String. | |
7690 | |
7691 2013-01-03 Arnaud Charlet <charlet@adacore.com> | |
7692 | |
7693 * usage.adb: Minor: fix typo in usage. | |
7694 | |
7695 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7696 | |
7697 * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject | |
7698 an illegal component clause for an inherited component in a | |
7699 record extension. | |
7700 | |
7701 2013-01-03 Emmanuel Briot <briot@adacore.com> | |
7702 | |
7703 * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which | |
7704 have information in the ALI file for both the index and the component | |
7705 types. | |
7706 | |
7707 2013-01-03 Emmanuel Briot <briot@adacore.com> | |
7708 | |
7709 * projects.texi: Fix error in documenting the project path | |
7710 computed for an aggregate project. | |
7711 | |
7712 2013-01-03 Javier Miranda <miranda@adacore.com> | |
7713 | |
7714 * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation | |
7715 plus restricting the functionality of this routine to cover the | |
7716 cases described in the Ada 2012 reference manual. The previous | |
7717 extended support is now available under -gnatX. | |
7718 * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy | |
7719 variable to call Timed_Sleep. Required to avoid warning on | |
7720 overlapping out-mode actuals. | |
7721 * opt.ads (Extensions_Allowed): Update documentation. | |
7722 | |
7723 2013-01-03 Tristan Gingold <gingold@adacore.com> | |
7724 | |
7725 * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64. | |
7726 * arit64.c: Removed | |
7727 * gcc-interface/Makefile.in: Remove reference to arit64.c. | |
7728 | |
7729 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7730 | |
7731 * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must | |
7732 be generated at the start of the freeze actions for the entity, not | |
7733 before (or after) the freeze node. | |
7734 | |
7735 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7736 | |
7737 * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): | |
7738 Reorganize code to capture initialization statements in a block, | |
7739 so that freeze nodes are excluded from the captured block. | |
7740 | |
7741 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7742 | |
7743 * exp_ch11.adb: Minor reformatting. | |
7744 | |
7745 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7746 | |
7747 * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb, | |
7748 sem_ch13.adb (Einfo.Initialization_Statements, | |
7749 Einfo.Set_Initialization_Statements): New entity attribute | |
7750 for objects. | |
7751 (Exp_Util.Find_Init_Call): Handle case of an object initialized | |
7752 by an aggregate converted to a block of assignment statements. | |
7753 (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze | |
7754 even for objects that require a constant address, because the | |
7755 address expression might involve entities that have yet to be | |
7756 elaborated at the point of the object declaration. | |
7757 (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does | |
7758 not require a transient scope, capture the assignment statements | |
7759 in a block so that they can be moved down after elaboration of | |
7760 an address clause if needed. | |
7761 (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants, | |
7762 case N_Unchecked_Conversion): Do not replace operand subtype with | |
7763 its base type as this violates a GIGI invariant if the operand | |
7764 is an identifier (in which case the etype of the identifier | |
7765 is expected to be equal to that of the denoted entity). | |
7766 | |
7767 2013-01-03 Javier Miranda <miranda@adacore.com> | |
7768 | |
7769 * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the | |
7770 functionality of this routine to cover cases described in the Ada 2012 | |
7771 reference manual. | |
7772 | |
7773 2013-01-03 Ed Schonberg <schonberg@adacore.com> | |
7774 | |
7775 * sem_elab.adb (Set_Elaboration_Constraint): Handle properly | |
7776 a 'Access attribute reference when the subprogram is called | |
7777 Initialize. | |
7778 | |
7779 2013-01-03 Arnaud Charlet <charlet@adacore.com> | |
7780 | |
7781 * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a | |
7782 select statement may be called from a controlled (e.g. Initialize) | |
7783 operation and have abort always deferred. | |
7784 | |
7785 2013-01-03 Robert Dewar <dewar@adacore.com> | |
7786 | |
7787 * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization. | |
7788 | |
7789 2013-01-03 Javier Miranda <miranda@adacore.com> | |
7790 | |
7791 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude | |
7792 internal entities associated with interfaces and add minimum | |
7793 decoration to the defining entity of the generated wrapper to | |
7794 allow overriding interface primitives. | |
7795 * sem_disp.ads (Override_Dispatching_Operation): Addition of a | |
7796 new formal (Is_Wrapper). | |
7797 * sem_disp.adb (Override_Dispatching_Operation): When overriding | |
7798 interface primitives the new formal helps identifying that the | |
7799 new operation is not fully decorated. | |
7800 | |
7801 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7802 | |
7803 * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb, | |
7804 rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb | |
7805 (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit): | |
7806 Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and | |
7807 update spec accordingly (now also applies to root library units). | |
7808 (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag | |
7809 on root library units, not only child units. | |
7810 (Sem_Ch10.Install[_Limited]_Withed_Unit): Same. | |
7811 (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit | |
7812 even for root library units. | |
7813 (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is | |
7814 Standard is an expanded name for a root library unit. | |
7815 | |
7816 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7817 | |
7818 * exp_ch3.adb: Minor reformatting. | |
7819 | |
7820 2013-01-03 Olivier Hainque <hainque@adacore.com> | |
7821 | |
7822 * tracebak.c: Reinstate changes to support ppc-lynx178. | |
7823 | |
7824 2013-01-03 Ed Schonberg <schonberg@adacore.com> | |
7825 | |
7826 * atree.ads: Minor reformatting and documentation enhancement. | |
7827 | |
7828 2013-01-03 Ed Schonberg <schonberg@adacore.com> | |
7829 | |
7830 * exp_ch3.adb (Expand_N_Object_Declaration): If the object has | |
7831 a class-wide type and a renaming declaration is created for it, | |
7832 preserve entity chain, which already contains generated internal | |
7833 types. This ensures that freezing actions are properly generated | |
7834 for all objects declared subsequently in the same scope, and | |
7835 that debugging information is generated for them. | |
7836 * sem_util.adb, sem_util.ads (we): New debugging routine, to | |
7837 display entity chain of a given scope. | |
7838 | |
7839 2013-01-03 Robert Dewar <dewar@adacore.com> | |
7840 | |
7841 * exp_intr.adb: Minor reformatting. | |
7842 | |
7843 2013-01-03 Robert Dewar <dewar@adacore.com> | |
7844 | |
7845 * einfo.adb: Minor reformatting. | |
7846 | |
7847 2013-01-03 Pascal Obry <obry@adacore.com> | |
7848 | |
7849 * adaint.c, adaint.h (__gnat_get_module_name): Removed. | |
7850 (__gnat_is_module_name_supported): Removed. | |
7851 * s-win32.ads: Add some needed definitions. | |
7852 * g-trasym.ads: Update comments. | |
7853 | |
7854 2013-01-03 Robert Dewar <dewar@adacore.com> | |
7855 | |
7856 * layout.adb (Set_Composite_Alignment): Fix problems of | |
7857 interactions with Optimize_Alignment set to Space. | |
7858 | |
7859 2013-01-03 Thomas Quinot <quinot@adacore.com> | |
7860 | |
7861 * exp_disp.adb: Minor reformatting. | |
7862 | |
7863 2013-01-02 Richard Biener <rguenther@suse.de> | |
7864 | |
7865 PR bootstrap/55784 | |
7866 * gcc-interface/Makefile.in: Add $(GMPINC) to includes. | |
7867 | |
7868 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7869 | |
7870 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove | |
7871 side effects from Tag_Arg early, doing it too late may cause a | |
7872 crash due to inconsistent Parent link. | |
7873 * sem_ch8.adb, einfo.ads: Minor reformatting. | |
7874 | |
7875 2013-01-02 Robert Dewar <dewar@adacore.com> | |
7876 | |
7877 * einfo.ads, einfo.adb (Has_Independent_Components): New flag. | |
7878 * freeze.adb (Size_Known): We do not know the size of a packed | |
7879 record if it has atomic components, by reference type components, | |
7880 or independent components. | |
7881 * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new | |
7882 flag Has_Independent_Components. | |
7883 | |
7884 2013-01-02 Yannick Moy <moy@adacore.com> | |
7885 | |
7886 * opt.ads (Warn_On_Suspicious_Contract): Set to True by default. | |
7887 * usage.adb (Usage): Update usage message. | |
7888 | |
7889 2013-01-02 Pascal Obry <obry@adacore.com> | |
7890 | |
7891 * adaint.c (__gnat_is_module_name_supported): New constant. | |
7892 | |
7893 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
7894 | |
7895 * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an | |
7896 array whose component type does not have a completion. | |
7897 | |
7898 2013-01-02 Geert Bosch <bosch@adacore.com> | |
7899 | |
7900 * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure. | |
7901 | |
7902 2013-01-02 Robert Dewar <dewar@adacore.com> | |
7903 | |
7904 * par_sco.adb: Minor reformatting. | |
7905 | |
7906 2013-01-02 Javier Miranda <miranda@adacore.com> | |
7907 | |
7908 * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code. | |
7909 | |
7910 2013-01-02 Olivier Hainque <hainque@adacore.com> | |
7911 | |
7912 * a-exctra.ads (Get_PC): New function. | |
7913 | |
7914 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7915 | |
7916 * sem_ch8.adb: Minor reformatting. | |
7917 | |
7918 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7919 | |
7920 * sem_ch7.adb: Minor reformatting. | |
7921 | |
7922 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7923 | |
7924 * freeze.adb (Check_Component_Storage_Order): Do not crash on | |
7925 _Tag component. | |
7926 | |
7927 2013-01-02 Robert Dewar <dewar@adacore.com> | |
7928 | |
7929 * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add | |
7930 On_Target to Atomic_Sync_Default. | |
7931 | |
7932 2013-01-02 Robert Dewar <dewar@adacore.com> | |
7933 | |
7934 * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for | |
7935 comparison of attribute result with constant | |
7936 * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma | |
7937 Warnings (Off, ".."); | |
7938 | |
7939 2013-01-02 Yannick Moy <moy@adacore.com> | |
7940 | |
7941 * sem_prag.ads: Minor correction of comment. | |
7942 | |
7943 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7944 | |
7945 * par_sco.adb (Traverse_Package_Declaration): The first | |
7946 declaration in a nested package is dominated by the preceding | |
7947 declaration in the enclosing scope. | |
7948 | |
7949 2013-01-02 Pascal Obry <obry@adacore.com> | |
7950 | |
7951 * adaint.c, adaint.h (__gnat_get_module_name): Return the actual | |
7952 module containing a given address. | |
7953 | |
7954 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7955 | |
7956 * sem_ch3.adb: Minor reformatting. | |
7957 | |
7958 2013-01-02 Pascal Obry <obry@adacore.com> | |
7959 | |
7960 * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on | |
7961 Win64 and default to ftell on other platforms. | |
7962 (__gnat_fsek64): Likewise. | |
7963 * i-cstrea.ads: Add fssek64 and ftell64 specs. | |
7964 * s-crtl.ads: Likewise. | |
7965 * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required. | |
7966 (Set_Position): Likewise. | |
7967 | |
7968 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7969 | |
7970 * par_sco.adb: Generate X SCOs for default expressions in | |
7971 subprogram body stubs. Do not generate any SCO for package, | |
7972 task, or protected body stubs. | |
7973 | |
7974 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
7975 | |
7976 * sem_ch3.adb: Further improvement to ASIS mode for anonymous | |
7977 access to protected subprograms. | |
7978 | |
7979 2013-01-02 Robert Dewar <dewar@adacore.com> | |
7980 | |
7981 * par_sco.adb, vms_data.ads: Minor reformatting. | |
7982 | |
7983 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7984 | |
7985 * par_sco.adb (Traverse_Declarations_Or_Statement): Function | |
7986 form, returning value of Current_Dominant upon exit, for chaining | |
7987 purposes. | |
7988 (Traverse_Declarations_Or_Statement.Traverse_One, case | |
7989 N_Block_Statement): First statement is dominated by last declaration. | |
7990 (Traverse_Subprogram_Or_Task_Body): Ditto. | |
7991 (Traverse_Package_Declaration): First private | |
7992 declaration is dominated by last visible declaration. | |
7993 (Traverse_Sync_Definition): Ditto. | |
7994 | |
7995 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
7996 | |
7997 * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order | |
7998 matching Bit_Order to record types only, since array types do not | |
7999 have a Bit_Order. | |
8000 | |
8001 2013-01-02 Vincent Celier <celier@adacore.com> | |
8002 | |
8003 * gnat_ugn.texi: Remove documentation of -gnateO, which is an | |
8004 internal switch. | |
8005 * usage.adb: Indicate that -gnateO is an internal switch. | |
8006 | |
8007 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8008 | |
8009 * par_sco.adb: Add SCO generation for task types and single | |
8010 task declarations. | |
8011 * get_scos.adb: When adding an instance table entry for a | |
8012 non-nested instantiation, make sure the Enclosing_Instance is | |
8013 correctly set to 0. | |
8014 | |
8015 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com> | |
8016 | |
8017 * sem_attr.adb (Analyze_Attribute): Skip the special _Parent | |
8018 scope generated for subprogram inlining purposes while trying | |
8019 to locate the enclosing function. | |
8020 * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean | |
8021 expression of pragma Postcondition when the pragma comes from | |
8022 source and appears inside a subprogram body. | |
8023 | |
8024 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8025 | |
8026 * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation | |
8027 information in debug info unconditionally when using -fdump-scos, | |
8028 instead of relying on a separate command line switch -fdebug-instances. | |
8029 * gcc-interface/Make-lang.in: Update dependencies. | |
8030 | |
8031 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8032 | |
8033 * sem_ch12.adb: Additional refinement of predicate. | |
8034 | |
8035 2013-01-02 Vincent Celier <celier@adacore.com> | |
8036 | |
8037 * vms_data.ads: Remove incorrect spaces at end of descriptions | |
8038 of qualifiers for single switch. | |
8039 | |
8040 2013-01-02 Ben Brosgol <brosgol@adacore.com> | |
8041 | |
8042 * gnat_rm.texi: Minor edits / wordsmithing in section on pragma | |
8043 Check_Float_Overflow. | |
8044 | |
8045 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8046 | |
8047 * sprint.adb (Sprint_Node_Actual): Do not add extra parens for | |
8048 a conditional expression (CASE or IF expression) that already | |
8049 has parens. Also omit ELSE keyword for an IF expression without | |
8050 an ELSE part. | |
8051 | |
8052 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8053 | |
8054 * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end | |
8055 flag_debug_instances here, after front-end switches have been | |
8056 processed. | |
8057 | |
8058 2013-01-02 Vincent Celier <celier@adacore.com> | |
8059 | |
8060 * usage.adb: Minor reformatting. | |
8061 | |
8062 2013-01-02 Arnaud Charlet <charlet@adacore.com> | |
8063 | |
8064 * opt.ads: Fix typo. | |
8065 | |
8066 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8067 | |
8068 * par_sco.adb: Generate P decision SCOs for SPARK pragmas | |
8069 Assume and Loop_Invariant. | |
8070 | |
8071 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8072 | |
8073 * vms_data.ads: Add entry for Float_Check_Valid (-gnateF). | |
8074 * ug_words: Add entry for Float_Check_Overflow. | |
8075 * usage.adb: Minor reformatting. | |
8076 * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow). | |
8077 | |
8078 2013-01-02 Vincent Celier <celier@adacore.com> | |
8079 | |
8080 * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated, | |
8081 -gnateO=, -gnatet and -gnateV. | |
8082 * ug_words: Add qualifiers equivalent to -gnateA, -gnated, | |
8083 -gnatet and -gnateV. | |
8084 * usage.adb: Add lines for -gnatea, -gnateO and -gnatez. | |
8085 * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK | |
8086 (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated), | |
8087 /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO | |
8088 (-gnatet). | |
8089 | |
8090 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8091 | |
8092 * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow. | |
8093 * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config]. | |
8094 * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow. | |
8095 * sem_prag.adb: Implement pragma Check_Float_Overflow. | |
8096 * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow. | |
8097 * switch-c.adb: Recognize -gnateF switch. | |
8098 * tree_io.ads: Update ASIS version number. | |
8099 * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow. | |
8100 | |
8101 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8102 | |
8103 * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, | |
8104 exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb, | |
8105 freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb, | |
8106 par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb, | |
8107 sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb, | |
8108 sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages. | |
8109 * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates. | |
8110 | |
8111 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8112 | |
8113 * err_vars.ads: Minor comment fix. | |
8114 | |
8115 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8116 | |
8117 * sem_ch12.adb: Refine predicate. | |
8118 | |
8119 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8120 | |
8121 * errout.ads: Minor comment fixes. | |
8122 * opt.ads: Minor comment additions. | |
8123 * exp_aggr.adb: Add tags to warning messages | |
8124 * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb, | |
8125 sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb, | |
8126 sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb, | |
8127 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb, | |
8128 sem_warn.adb: Add tags to warning messages | |
8129 | |
8130 2013-01-02 Doug Rupp <rupp@adacore.com> | |
8131 | |
8132 * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E. | |
8133 | |
8134 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8135 | |
8136 * sem_ch12.adb: Recover source name for renamed packagea. | |
8137 | |
8138 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8139 | |
8140 * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing | |
8141 tests to fail if insertion sequence is at end of message string. | |
8142 * opt.ads: Minor comment fixes and additions. | |
8143 * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb, | |
8144 sem_ch12.adb, sem_ch13.adb: Add tags to warning messages. | |
8145 * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message | |
8146 tags. Add tags to warning messages. | |
8147 | |
8148 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8149 | |
8150 * err_vars.ads (Warning_Doc_Switch): New flag. | |
8151 * errout.adb (Error_Msg_Internal): Implement new warning flag | |
8152 doc tag stuff (Set_Msg_Insertion_Warning): New procedure. | |
8153 * errout.ads: Document new insertion sequences ?? ?x? ?.x? | |
8154 * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc | |
8155 tag stuff. | |
8156 * erroutc.ads (Warning_Msg_Char): New variable. | |
8157 (Warn_Chr): New field in error message object. | |
8158 * errutil.adb (Error_Msg): Set Warn_Chr in error message object. | |
8159 * sem_ch13.adb: Minor reformatting. | |
8160 * warnsw.adb: Add handling for -gnatw.d and -gnatw.D | |
8161 (Warning_Doc_Switch). | |
8162 * warnsw.ads: Add handling of -gnatw.d/.D switches (warning | |
8163 doc tag). | |
8164 | |
8165 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8166 | |
8167 * opt.ads: Minor reformatting. | |
8168 | |
8169 2013-01-02 Doug Rupp <rupp@adacore.com> | |
8170 | |
8171 * init.c: Reorganize VMS section. | |
8172 (scan_condtions): New function for scanning condition tables. | |
8173 (__gnat_handle_vms_condtion): Use actual exception name for imported | |
8174 exceptions vice IMPORTED_EXCEPTION. | |
8175 Move condition table scanning into separate function. Move formerly | |
8176 special handled conditions to system condition table. Use SYS$PUTMSG | |
8177 output to fill exception message field for formally special handled | |
8178 condtions, in particular HPARITH to provide more clues about cause and | |
8179 location then raised from the translated image. | |
8180 | |
8181 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8182 | |
8183 * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post | |
8184 aspect that applies to a library subprogram, prepend corresponding | |
8185 pragma to the Pragmas_After list, in order for split AND THEN | |
8186 sections to be processed in the expected order. | |
8187 | |
8188 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8189 | |
8190 * exp_prag.adb (Expand_Pragma_Check): The statements generated | |
8191 for the pragma must have the sloc of the pragma, not the | |
8192 sloc of the condition, otherwise this creates anomalies in the | |
8193 generated debug information that confuse coverage analysis tools. | |
8194 | |
8195 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8196 | |
8197 * sem_ch13.adb: Minor reformatting. | |
8198 | |
8199 2013-01-02 Arnaud Charlet <charlet@adacore.com> | |
8200 | |
8201 * g-excact.ads (Core_Dump): Clarify that this subprogram does | |
8202 not dump cores under Windows. | |
8203 | |
8204 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8205 | |
8206 * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed | |
8207 view of a subprogram has convention Intrnnsic, and a renaming | |
8208 of a prefixed view cannot be the prefix of an Access attribute. | |
8209 | |
8210 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8211 | |
8212 * restrict.adb: Minor reformatting. | |
8213 | |
8214 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8215 | |
8216 * exp_prag.adb: Minor reformatting. | |
8217 | |
8218 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8219 | |
8220 * sem_ch12.adb (Get_Associated_Node): If the node is an | |
8221 identifier that denotes an unconstrained array in an object | |
8222 declaration, it is rewritten as the name of an anonymous | |
8223 subtype whose bounds are given by the initial expression in the | |
8224 declaration. When checking whether that identifier is global | |
8225 reference, use the original node, not the local generated subtype. | |
8226 | |
8227 2013-01-02 Olivier Hainque <hainque@adacore.com> | |
8228 | |
8229 * tracebak.c: Revert previous change, incomplete. | |
8230 | |
8231 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8232 | |
8233 * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect | |
8234 appears on a subprogram body that acts as a spec, place the | |
8235 corresponding pragma in the declarations of the body, so that | |
8236 e.g. pre/postcondition checks can be generated appropriately. | |
8237 | |
8238 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8239 | |
8240 * sem_ch3.adb: Minor reformatting and code reorganization. | |
8241 | |
8242 2013-01-02 Vincent Celier <celier@adacore.com> | |
8243 | |
8244 * switch-m.adb (Normalize_Compiler_Switches): Record the | |
8245 complete switch -fstack-check=specific instead of its shorter | |
8246 alias -fstack-check. | |
8247 | |
8248 2013-01-02 Ed Schonberg <schonberg@adacore.com> | |
8249 | |
8250 * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8): | |
8251 if the derived type is a tagged generic formal type with | |
8252 unknown discriminants, the inherited operation has convention | |
8253 Intrinsic. As such, the 'Access attribute cannot be applied to it. | |
8254 | |
8255 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8256 | |
8257 * sem_attr.adb: Minor reformatting. | |
8258 | |
8259 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8260 | |
8261 * par_sco.adb: Add SCO generation for S of protected types and | |
8262 single protected object declarations. | |
8263 | |
8264 2013-01-02 Robert Dewar <dewar@adacore.com> | |
8265 | |
8266 * sem_eval.adb, osint.ads: Minor reformatting. | |
8267 | |
8268 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com> | |
8269 | |
8270 * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume. | |
8271 | |
8272 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8273 | |
8274 * sem_eval.adb (Compile_Time_Compare): For static operands, we | |
8275 can perform a compile time comparison even if in preanalysis mode. | |
8276 | |
8277 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8278 | |
8279 * par_sco.adb (SCO_Record): Always use | |
8280 Traverse_Declarations_Or_Statements to process the library level | |
8281 declaration, so that SCOs are properly generated for its aspects. | |
8282 | |
8283 2013-01-02 Thomas Quinot <quinot@adacore.com> | |
8284 | |
8285 * scos.ads (In_Decision): Add missing entry for 'a'. | |
8286 * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit | |
8287 call to Set_SCO_Pragma_Enabled for Invariant and Predicate. | |
8288 * sem_ch13.adb: Minor comment update. | |
8289 | |
8290 Copyright (C) 2013 Free Software Foundation, Inc. | |
8291 | |
8292 Copying and distribution of this file, with or without modification, | |
8293 are permitted in any medium without royalty provided the copyright | |
8294 notice and this notice are preserved. |